@atlaskit/share 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/clients/package.json +7 -0
  3. package/dist/cjs/clients/index.js +13 -0
  4. package/dist/cjs/components/CopyLinkButton.js +4 -8
  5. package/dist/cjs/components/IntegrationForm.js +5 -2
  6. package/dist/cjs/components/LazyShareForm/LazyShareForm.js +105 -0
  7. package/dist/cjs/components/LazyShareForm/index.js +15 -0
  8. package/dist/cjs/components/LazyShareForm/lazy.js +53 -0
  9. package/dist/cjs/components/LazyShareForm/styled.js +28 -0
  10. package/dist/cjs/components/ShareDialogWithTrigger.js +35 -36
  11. package/dist/cjs/components/ShareForm.js +38 -14
  12. package/dist/cjs/components/ShareFormWrapper/ShareFormWrapper.js +29 -0
  13. package/dist/cjs/components/ShareFormWrapper/index.js +15 -0
  14. package/dist/cjs/components/ShareFormWrapper/styled.js +31 -0
  15. package/dist/cjs/components/analytics.js +7 -1
  16. package/dist/cjs/components/styles.js +1 -20
  17. package/dist/cjs/i18n/cs.js +3 -0
  18. package/dist/cjs/i18n/da.js +4 -0
  19. package/dist/cjs/i18n/de.js +3 -0
  20. package/dist/cjs/i18n/en_ZZ.js +4 -0
  21. package/dist/cjs/i18n/es.js +4 -0
  22. package/dist/cjs/i18n/fi.js +4 -0
  23. package/dist/cjs/i18n/fr.js +3 -0
  24. package/dist/cjs/i18n/hu.js +4 -0
  25. package/dist/cjs/i18n/it.js +5 -1
  26. package/dist/cjs/i18n/ja.js +4 -0
  27. package/dist/cjs/i18n/ko.js +4 -0
  28. package/dist/cjs/i18n/nb.js +4 -0
  29. package/dist/cjs/i18n/nl.js +4 -0
  30. package/dist/cjs/i18n/pl.js +3 -0
  31. package/dist/cjs/i18n/pt_BR.js +3 -0
  32. package/dist/cjs/i18n/ru.js +3 -0
  33. package/dist/cjs/i18n/sv.js +4 -0
  34. package/dist/cjs/i18n/th.js +4 -0
  35. package/dist/cjs/i18n/tr.js +3 -0
  36. package/dist/cjs/i18n/uk.js +4 -0
  37. package/dist/cjs/i18n/vi.js +3 -0
  38. package/dist/cjs/i18n/zh.js +4 -0
  39. package/dist/cjs/i18n/zh_TW.js +3 -0
  40. package/dist/cjs/i18n.js +10 -0
  41. package/dist/cjs/index.js +0 -8
  42. package/dist/cjs/types/ShareDialogContainer.js +5 -0
  43. package/dist/cjs/types/ShareForm.js +5 -0
  44. package/dist/cjs/version.json +1 -1
  45. package/dist/es2019/clients/index.js +1 -0
  46. package/dist/es2019/components/CopyLinkButton.js +2 -1
  47. package/dist/es2019/components/IntegrationForm.js +2 -2
  48. package/dist/es2019/components/LazyShareForm/LazyShareForm.js +92 -0
  49. package/dist/es2019/components/LazyShareForm/index.js +1 -0
  50. package/dist/es2019/components/LazyShareForm/lazy.js +26 -0
  51. package/dist/es2019/components/LazyShareForm/styled.js +16 -0
  52. package/dist/es2019/components/ShareDialogWithTrigger.js +37 -37
  53. package/dist/es2019/components/ShareForm.js +31 -9
  54. package/dist/es2019/components/ShareFormWrapper/ShareFormWrapper.js +14 -0
  55. package/dist/es2019/components/ShareFormWrapper/index.js +1 -0
  56. package/dist/es2019/components/ShareFormWrapper/styled.js +15 -0
  57. package/dist/es2019/components/analytics.js +1 -0
  58. package/dist/es2019/components/styles.js +1 -15
  59. package/dist/es2019/i18n/cs.js +3 -0
  60. package/dist/es2019/i18n/da.js +4 -0
  61. package/dist/es2019/i18n/de.js +3 -0
  62. package/dist/es2019/i18n/en_ZZ.js +4 -0
  63. package/dist/es2019/i18n/es.js +4 -0
  64. package/dist/es2019/i18n/fi.js +4 -0
  65. package/dist/es2019/i18n/fr.js +3 -0
  66. package/dist/es2019/i18n/hu.js +4 -0
  67. package/dist/es2019/i18n/it.js +5 -1
  68. package/dist/es2019/i18n/ja.js +4 -0
  69. package/dist/es2019/i18n/ko.js +4 -0
  70. package/dist/es2019/i18n/nb.js +4 -0
  71. package/dist/es2019/i18n/nl.js +4 -0
  72. package/dist/es2019/i18n/pl.js +3 -0
  73. package/dist/es2019/i18n/pt_BR.js +3 -0
  74. package/dist/es2019/i18n/ru.js +3 -0
  75. package/dist/es2019/i18n/sv.js +4 -0
  76. package/dist/es2019/i18n/th.js +4 -0
  77. package/dist/es2019/i18n/tr.js +3 -0
  78. package/dist/es2019/i18n/uk.js +4 -0
  79. package/dist/es2019/i18n/vi.js +3 -0
  80. package/dist/es2019/i18n/zh.js +4 -0
  81. package/dist/es2019/i18n/zh_TW.js +3 -0
  82. package/dist/es2019/i18n.js +10 -0
  83. package/dist/es2019/index.js +0 -1
  84. package/dist/es2019/types/ShareDialogContainer.js +1 -0
  85. package/dist/es2019/types/ShareForm.js +1 -0
  86. package/dist/es2019/version.json +1 -1
  87. package/dist/esm/clients/index.js +1 -0
  88. package/dist/esm/components/CopyLinkButton.js +2 -1
  89. package/dist/esm/components/IntegrationForm.js +5 -2
  90. package/dist/esm/components/LazyShareForm/LazyShareForm.js +87 -0
  91. package/dist/esm/components/LazyShareForm/index.js +1 -0
  92. package/dist/esm/components/LazyShareForm/lazy.js +31 -0
  93. package/dist/esm/components/LazyShareForm/styled.js +9 -0
  94. package/dist/esm/components/ShareDialogWithTrigger.js +38 -33
  95. package/dist/esm/components/ShareForm.js +38 -13
  96. package/dist/esm/components/ShareFormWrapper/ShareFormWrapper.js +17 -0
  97. package/dist/esm/components/ShareFormWrapper/index.js +1 -0
  98. package/dist/esm/components/ShareFormWrapper/styled.js +15 -0
  99. package/dist/esm/components/analytics.js +3 -0
  100. package/dist/esm/components/styles.js +1 -16
  101. package/dist/esm/i18n/cs.js +3 -0
  102. package/dist/esm/i18n/da.js +4 -0
  103. package/dist/esm/i18n/de.js +3 -0
  104. package/dist/esm/i18n/en_ZZ.js +4 -0
  105. package/dist/esm/i18n/es.js +4 -0
  106. package/dist/esm/i18n/fi.js +4 -0
  107. package/dist/esm/i18n/fr.js +3 -0
  108. package/dist/esm/i18n/hu.js +4 -0
  109. package/dist/esm/i18n/it.js +5 -1
  110. package/dist/esm/i18n/ja.js +4 -0
  111. package/dist/esm/i18n/ko.js +4 -0
  112. package/dist/esm/i18n/nb.js +4 -0
  113. package/dist/esm/i18n/nl.js +4 -0
  114. package/dist/esm/i18n/pl.js +3 -0
  115. package/dist/esm/i18n/pt_BR.js +3 -0
  116. package/dist/esm/i18n/ru.js +3 -0
  117. package/dist/esm/i18n/sv.js +4 -0
  118. package/dist/esm/i18n/th.js +4 -0
  119. package/dist/esm/i18n/tr.js +3 -0
  120. package/dist/esm/i18n/uk.js +4 -0
  121. package/dist/esm/i18n/vi.js +3 -0
  122. package/dist/esm/i18n/zh.js +4 -0
  123. package/dist/esm/i18n/zh_TW.js +3 -0
  124. package/dist/esm/i18n.js +10 -0
  125. package/dist/esm/index.js +0 -1
  126. package/dist/esm/types/ShareDialogContainer.js +1 -0
  127. package/dist/esm/types/ShareForm.js +1 -0
  128. package/dist/esm/version.json +1 -1
  129. package/dist/types/clients/index.d.ts +2 -0
  130. package/dist/types/components/IntegrationForm.d.ts +4 -5
  131. package/dist/types/components/LazyShareForm/LazyShareForm.d.ts +19 -0
  132. package/dist/types/components/LazyShareForm/index.d.ts +1 -0
  133. package/dist/types/components/LazyShareForm/lazy.d.ts +4 -0
  134. package/dist/types/components/LazyShareForm/styled.d.ts +4 -0
  135. package/dist/types/components/ShareDialogContainer.d.ts +10 -148
  136. package/dist/types/components/ShareDialogWithTrigger.d.ts +11 -71
  137. package/dist/types/components/ShareForm.d.ts +3 -42
  138. package/dist/types/components/ShareFormWrapper/ShareFormWrapper.d.ts +9 -0
  139. package/dist/types/components/ShareFormWrapper/index.d.ts +1 -0
  140. package/dist/types/components/ShareFormWrapper/styled.d.ts +9 -0
  141. package/dist/types/components/analytics.d.ts +2 -0
  142. package/dist/types/components/styles.d.ts +0 -7
  143. package/dist/types/i18n/cs.d.ts +3 -0
  144. package/dist/types/i18n/da.d.ts +4 -0
  145. package/dist/types/i18n/de.d.ts +3 -0
  146. package/dist/types/i18n/en_ZZ.d.ts +4 -0
  147. package/dist/types/i18n/es.d.ts +4 -0
  148. package/dist/types/i18n/fi.d.ts +4 -0
  149. package/dist/types/i18n/fr.d.ts +3 -0
  150. package/dist/types/i18n/hu.d.ts +4 -0
  151. package/dist/types/i18n/it.d.ts +4 -0
  152. package/dist/types/i18n/ja.d.ts +4 -0
  153. package/dist/types/i18n/ko.d.ts +4 -0
  154. package/dist/types/i18n/nb.d.ts +4 -0
  155. package/dist/types/i18n/nl.d.ts +4 -0
  156. package/dist/types/i18n/pl.d.ts +3 -0
  157. package/dist/types/i18n/pt_BR.d.ts +3 -0
  158. package/dist/types/i18n/ru.d.ts +3 -0
  159. package/dist/types/i18n/sv.d.ts +4 -0
  160. package/dist/types/i18n/th.d.ts +4 -0
  161. package/dist/types/i18n/tr.d.ts +3 -0
  162. package/dist/types/i18n/uk.d.ts +4 -0
  163. package/dist/types/i18n/vi.d.ts +3 -0
  164. package/dist/types/i18n/zh.d.ts +4 -0
  165. package/dist/types/i18n/zh_TW.d.ts +3 -0
  166. package/dist/types/i18n.d.ts +10 -0
  167. package/dist/types/index.d.ts +1 -4
  168. package/dist/types/types/ShareContentState.d.ts +2 -2
  169. package/dist/types/types/ShareDialogContainer.d.ts +147 -0
  170. package/dist/types/types/ShareDialogWithTrigger.d.ts +30 -3
  171. package/dist/types/types/ShareForm.d.ts +31 -0
  172. package/dist/types/types/index.d.ts +4 -2
  173. package/package.json +6 -3
@@ -0,0 +1,92 @@
1
+ import React from 'react';
2
+ import { AnalyticsContext } from '@atlaskit/analytics-next';
3
+ import { ShareForm } from '../ShareForm';
4
+ import { ANALYTICS_SOURCE } from '../analytics';
5
+ import { IntegrationForm } from '../IntegrationForm';
6
+ import { BottomMessageWrapper, CustomFooterWrapper } from './styled';
7
+ import { ShareFormWrapper } from '../ShareFormWrapper';
8
+
9
+ /**
10
+ * A Share form content which is lazy-loaded.
11
+ * Make sure this component is not exported inside main entry points `src/index.ts`
12
+ */
13
+ function LazyShareForm(props) {
14
+ const {
15
+ copyLink,
16
+ config,
17
+ isFetchingConfig,
18
+ loadOptions,
19
+ shareFormTitle,
20
+ shareFormHelperMessage,
21
+ bottomMessage,
22
+ submitButtonLabel,
23
+ product,
24
+ customFooter,
25
+ enableSmartUserPicker,
26
+ loggedInAccountId,
27
+ cloudId,
28
+ shareFieldsFooter,
29
+ onUserSelectionChange,
30
+ isPublicLink,
31
+ copyTooltipText,
32
+ shareIntegrations,
33
+ integrationMode,
34
+ // actions
35
+ onLinkCopy,
36
+ onDismiss,
37
+ onSubmit,
38
+ onDialogClose,
39
+ // ref
40
+ selectPortalRef,
41
+ // props from states of parent:
42
+ showIntegrationForm,
43
+ selectedIntegration,
44
+ isSharing,
45
+ shareError,
46
+ defaultValue,
47
+ showTitle
48
+ } = props;
49
+ const footer = /*#__PURE__*/React.createElement("div", null, bottomMessage ? /*#__PURE__*/React.createElement(BottomMessageWrapper, null, bottomMessage) : null, customFooter && /*#__PURE__*/React.createElement(CustomFooterWrapper, null, customFooter));
50
+ return /*#__PURE__*/React.createElement(AnalyticsContext, {
51
+ data: {
52
+ source: ANALYTICS_SOURCE
53
+ }
54
+ }, /*#__PURE__*/React.createElement(ShareFormWrapper, {
55
+ footer: footer // form title will be determined by `title` and `showTitle` prop passed to `ShareForm`,
56
+ // so we don't need to show title via ShareFormWrapper
57
+ ,
58
+ shouldShowTitle: false
59
+ }, showIntegrationForm && selectedIntegration !== null ? /*#__PURE__*/React.createElement(IntegrationForm, {
60
+ Content: selectedIntegration.Content,
61
+ onIntegrationClose: onDialogClose
62
+ }) : /*#__PURE__*/React.createElement(ShareForm, {
63
+ copyLink: copyLink,
64
+ loadOptions: loadOptions,
65
+ title: shareFormTitle,
66
+ showTitle: showTitle,
67
+ helperMessage: shareFormHelperMessage,
68
+ shareError: shareError,
69
+ defaultValue: defaultValue,
70
+ config: config,
71
+ submitButtonLabel: submitButtonLabel,
72
+ product: product,
73
+ enableSmartUserPicker: enableSmartUserPicker,
74
+ loggedInAccountId: loggedInAccountId,
75
+ cloudId: cloudId,
76
+ fieldsFooter: shareFieldsFooter,
77
+ selectPortalRef: selectPortalRef,
78
+ copyTooltipText: copyTooltipText,
79
+ integrationMode: integrationMode,
80
+ shareIntegrations: shareIntegrations,
81
+ isSharing: isSharing,
82
+ isFetchingConfig: isFetchingConfig,
83
+ isPublicLink: isPublicLink,
84
+ onSubmit: onSubmit,
85
+ onDismiss: onDismiss,
86
+ onLinkCopy: onLinkCopy,
87
+ onUserSelectionChange: onUserSelectionChange,
88
+ handleCloseDialog: onDialogClose
89
+ })));
90
+ }
91
+
92
+ export default LazyShareForm;
@@ -0,0 +1 @@
1
+ export { default } from './LazyShareForm';
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { LazySuspense, lazyForPaint } from 'react-loosely-lazy';
3
+ import Spinner from '@atlaskit/spinner';
4
+ import { SpinnerWrapper } from './styled';
5
+ import { ShareFormWrapper } from '../ShareFormWrapper';
6
+ const LazyShareFormLazy = lazyForPaint(() => import(
7
+ /* webpackChunkName: "@atlaskit-internal_share-form" */
8
+ './LazyShareForm'), {
9
+ ssr: false
10
+ });
11
+
12
+ const LoadingDialog = ({
13
+ shareFormTitle,
14
+ showTitle
15
+ }) => /*#__PURE__*/React.createElement(ShareFormWrapper, {
16
+ shareFormTitle: shareFormTitle // if `showTitle` is passed, we use it. Otherwise, we will show title for loading dialog.
17
+ ,
18
+ shouldShowTitle: typeof showTitle === 'boolean' ? showTitle : true
19
+ }, /*#__PURE__*/React.createElement(SpinnerWrapper, null, /*#__PURE__*/React.createElement(Spinner, null)));
20
+
21
+ export default (props => /*#__PURE__*/React.createElement(LazySuspense, {
22
+ fallback: /*#__PURE__*/React.createElement(LoadingDialog, {
23
+ shareFormTitle: props.shareFormTitle,
24
+ showTitle: props.showTitle
25
+ })
26
+ }, /*#__PURE__*/React.createElement(LazyShareFormLazy, props)));
@@ -0,0 +1,16 @@
1
+ import styled from 'styled-components';
2
+ import { gridSize } from '@atlaskit/theme/constants';
3
+ export const BottomMessageWrapper = styled.div`
4
+ width: ${gridSize() * 44}px;
5
+ `;
6
+ export const CustomFooterWrapper = styled.div`
7
+ /* Must match inline dialog padding. */
8
+ margin: 0 ${-gridSize() * 3}px ${-gridSize() * 2}px ${-gridSize() * 3}px;
9
+ `;
10
+ export const SpinnerWrapper = styled.div`
11
+ widht: 100%;
12
+ height: 100%;
13
+ display: flex;
14
+ justify-content: center;
15
+ align-content: center;
16
+ `;
@@ -1,37 +1,25 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import { AnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';
3
+ import React from 'react';
4
+ import { withAnalyticsEvents } from '@atlaskit/analytics-next';
4
5
  import SplitButton from './SplitButton';
5
6
  import ShareIcon from '@atlaskit/icon/glyph/share';
6
7
  import Popup from '@atlaskit/popup';
7
8
  import Portal from '@atlaskit/portal';
8
9
  import Aktooltip from '@atlaskit/tooltip';
9
- import { gridSize, layers } from '@atlaskit/theme/constants';
10
- import React from 'react';
10
+ import { layers } from '@atlaskit/theme/constants';
11
11
  import { FormattedMessage, injectIntl } from 'react-intl-next';
12
12
  import styled from 'styled-components';
13
13
  import { messages } from '../i18n';
14
14
  import { OBJECT_SHARED } from '../types';
15
- import { cancelShare, CHANNEL_ID, copyLinkButtonClicked, formShareSubmitted, screenEvent, shareTriggerButtonClicked, shareSplitButtonEvent, ANALYTICS_SOURCE } from './analytics';
15
+ import { cancelShare, CHANNEL_ID, copyLinkButtonClicked, screenEvent, shareTriggerButtonClicked, shareSplitButtonEvent, shareTabClicked, formShareSubmitted } from './analytics';
16
16
  import ShareButton from './ShareButton';
17
- import { ShareForm } from './ShareForm';
18
17
  import { generateSelectZIndex } from './utils';
19
- import { InlineDialogContentWrapper } from './styles';
20
- import { IntegrationForm } from './IntegrationForm';
18
+ import LazyShareFormLazy from './LazyShareForm/lazy';
21
19
  const ShareButtonWrapper = styled.div`
22
20
  display: inline-flex;
23
21
  outline: none;
24
22
  `;
25
- const InlineDialogFormWrapper = styled.div`
26
- width: 352px;
27
- `;
28
- const BottomMessageWrapper = styled.div`
29
- width: 352px;
30
- `;
31
- const CustomFooterWrapper = styled.div`
32
- /* Must match inline dialog padding. */
33
- margin: 0 ${-gridSize() * 3}px ${-gridSize() * 2}px ${-gridSize() * 3}px;
34
- `;
35
23
  export const defaultShareContentState = {
36
24
  users: [],
37
25
  comment: {
@@ -97,6 +85,16 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
97
85
  }
98
86
  });
99
87
 
88
+ _defineProperty(this, "onTabChange", index => {
89
+ let subjectId = 'shareTab';
90
+
91
+ if (index === 1) {
92
+ subjectId = 'shareToSlackTab';
93
+ }
94
+
95
+ this.createAndFireEvent(shareTabClicked(subjectId));
96
+ });
97
+
100
98
  _defineProperty(this, "getFlags", () => {
101
99
  const {
102
100
  intl: {
@@ -415,46 +413,48 @@ export class ShareDialogWithTriggerInternal extends React.PureComponent {
415
413
  onKeyDown: this.handleKeyDown,
416
414
  style: style
417
415
  }, /*#__PURE__*/React.createElement(Popup, {
418
- content: () => /*#__PURE__*/React.createElement(AnalyticsContext, {
419
- data: {
420
- source: ANALYTICS_SOURCE
421
- }
422
- }, /*#__PURE__*/React.createElement(InlineDialogContentWrapper, {
423
- innerRef: this.containerRef
424
- }, showIntegrationForm && selectedIntegration !== null ? /*#__PURE__*/React.createElement(InlineDialogFormWrapper, null, /*#__PURE__*/React.createElement(IntegrationForm, {
425
- Content: selectedIntegration.Content,
426
- onIntegrationClose: this.handleCloseDialog
427
- })) : /*#__PURE__*/React.createElement(InlineDialogFormWrapper, null, /*#__PURE__*/React.createElement(ShareForm, {
416
+ content: () => /*#__PURE__*/React.createElement("div", {
417
+ ref: this.containerRef
418
+ }, /*#__PURE__*/React.createElement(LazyShareFormLazy, {
419
+ Content: selectedIntegration && selectedIntegration.Content,
420
+ selectedIntegration: selectedIntegration,
428
421
  copyLink: copyLink,
422
+ showIntegrationForm: showIntegrationForm,
423
+ bottomMessage: bottomMessage,
424
+ customFooter: customFooter,
429
425
  loadOptions: loadUserOptions,
430
426
  isSharing: isSharing,
431
- onSubmit: this.handleShareSubmit,
432
- title: shareFormTitle,
427
+ shareFormTitle: shareFormTitle,
433
428
  showTitle: integrationMode !== 'tabs' || !shareIntegrations || !shareIntegrations.length,
434
- helperMessage: shareFormHelperMessage,
429
+ shareFormHelperMessage: shareFormHelperMessage,
435
430
  shareError: shareError,
436
- onDismiss: this.handleFormDismiss,
437
431
  defaultValue: defaultValue,
438
432
  config: config,
439
433
  isFetchingConfig: isFetchingConfig,
440
- onLinkCopy: this.handleCopyLink,
441
434
  submitButtonLabel: submitButtonLabel,
442
435
  product: product,
443
436
  enableSmartUserPicker: enableSmartUserPicker,
444
437
  loggedInAccountId: loggedInAccountId,
445
438
  cloudId: cloudId,
446
439
  onUserSelectionChange: onUserSelectionChange,
447
- fieldsFooter: shareFieldsFooter,
448
- selectPortalRef: this.selectPortalRef,
440
+ shareFieldsFooter: shareFieldsFooter,
449
441
  isPublicLink: isPublicLink,
450
442
  copyTooltipText: copyTooltipText,
451
443
  integrationMode: integrationMode,
452
- shareIntegrations: shareIntegrations
453
- })), bottomMessage ? /*#__PURE__*/React.createElement(BottomMessageWrapper, null, bottomMessage) : null, customFooter && /*#__PURE__*/React.createElement(CustomFooterWrapper, null, customFooter))),
444
+ shareIntegrations: shareIntegrations // actions
445
+ ,
446
+ onLinkCopy: this.handleCopyLink,
447
+ onSubmit: this.handleShareSubmit,
448
+ onDismiss: this.handleFormDismiss,
449
+ onDialogClose: this.handleCloseDialog,
450
+ onTabChange: this.onTabChange //ref
451
+ ,
452
+ selectPortalRef: this.selectPortalRef
453
+ })),
454
454
  isOpen: isDialogOpen,
455
455
  onClose: this.handleCloseDialog,
456
456
  placement: dialogPlacement,
457
- trigger: triggerProps => this.renderShareTriggerButton(triggerProps),
457
+ trigger: this.renderShareTriggerButton,
458
458
  zIndex: dialogZIndex
459
459
  }), /*#__PURE__*/React.createElement(Portal, {
460
460
  zIndex: generateSelectZIndex(dialogZIndex)
@@ -1,5 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
+ import React from 'react';
3
4
  import Button from '@atlaskit/button/custom-theme-button';
4
5
  import Form from '@atlaskit/form';
5
6
  import ErrorIcon from '@atlaskit/icon/glyph/error';
@@ -7,7 +8,6 @@ import { R400 } from '@atlaskit/theme/colors';
7
8
  import { gridSize } from '@atlaskit/theme/constants';
8
9
  import Tooltip from '@atlaskit/tooltip';
9
10
  import Tabs, { Tab, TabList, TabPanel } from '@atlaskit/tabs';
10
- import React from 'react';
11
11
  import { FormattedMessage, injectIntl } from 'react-intl-next';
12
12
  import styled from 'styled-components';
13
13
  import { messages } from '../i18n';
@@ -97,7 +97,7 @@ class InternalForm extends React.PureComponent {
97
97
  defaultValue: defaultValue && defaultValue.users,
98
98
  config: config,
99
99
  isLoading: isFetchingConfig,
100
- product: product,
100
+ product: product || 'confluence',
101
101
  enableSmartUserPicker: enableSmartUserPicker,
102
102
  loggedInAccountId: loggedInAccountId,
103
103
  cloudId: cloudId,
@@ -144,6 +144,26 @@ class InternalForm extends React.PureComponent {
144
144
  isDisabled: isDisabled
145
145
  }, /*#__PURE__*/React.createElement(ButtonLabelWrapper, null, submitButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, buttonLabel))));
146
146
  });
147
+
148
+ _defineProperty(this, "renderMainTabTitle", () => {
149
+ const {
150
+ title,
151
+ product
152
+ } = this.props;
153
+
154
+ if (title) {
155
+ return title;
156
+ }
157
+
158
+ if (!product) {
159
+ return /*#__PURE__*/React.createElement(FormattedMessage, messages.formTitle);
160
+ }
161
+
162
+ const productShareType = product === 'jira' ? { ...messages.shareMainTabTextJira
163
+ } : { ...messages.shareMainTabTextConfluence
164
+ };
165
+ return /*#__PURE__*/React.createElement(FormattedMessage, productShareType);
166
+ });
147
167
  }
148
168
 
149
169
  componentWillUnmount() {
@@ -159,9 +179,10 @@ class InternalForm extends React.PureComponent {
159
179
 
160
180
  render() {
161
181
  const {
162
- title,
163
182
  integrationMode = 'off',
164
- shareIntegrations
183
+ shareIntegrations,
184
+ onTabChange,
185
+ handleCloseDialog
165
186
  } = this.props;
166
187
 
167
188
  if (integrationMode === 'off' || !shareIntegrations || !shareIntegrations.length) {
@@ -172,10 +193,13 @@ class InternalForm extends React.PureComponent {
172
193
 
173
194
  if (integrationMode === 'tabs') {
174
195
  return /*#__PURE__*/React.createElement(Tabs, {
175
- id: "ShareForm-Tabs-Integrations"
196
+ id: "ShareForm-Tabs-Integrations",
197
+ onChange: index => {
198
+ onTabChange === null || onTabChange === void 0 ? void 0 : onTabChange(index);
199
+ }
176
200
  }, /*#__PURE__*/React.createElement(TabList, null, /*#__PURE__*/React.createElement(Tab, {
177
201
  key: `share-tab-default`
178
- }, title || /*#__PURE__*/React.createElement(FormattedMessage, messages.formTitle)), /*#__PURE__*/React.createElement(Tab, {
202
+ }, this.renderMainTabTitle()), /*#__PURE__*/React.createElement(Tab, {
179
203
  key: `share-tab-${firstIntegration.type}`
180
204
  }, /*#__PURE__*/React.createElement(IntegrationWrapper, null, /*#__PURE__*/React.createElement(IntegrationIconWrapper, null, /*#__PURE__*/React.createElement(firstIntegration.Icon, null)), integrationTabText(firstIntegration.type)))), /*#__PURE__*/React.createElement(TabPanel, {
181
205
  key: `share-tabPanel-default`
@@ -187,9 +211,7 @@ class InternalForm extends React.PureComponent {
187
211
  isMainShare: false
188
212
  }, /*#__PURE__*/React.createElement(IntegrationForm, {
189
213
  Content: firstIntegration.Content,
190
- onIntegrationClose: () => {
191
- return null;
192
- }
214
+ onIntegrationClose: () => handleCloseDialog === null || handleCloseDialog === void 0 ? void 0 : handleCloseDialog()
193
215
  }))));
194
216
  }
195
217
 
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { InlineDialogFormWrapper, InlineDialogContentWrapper } from './styled';
3
+ import { ShareHeader } from '../ShareHeader';
4
+
5
+ const ShareFormWrapper = ({
6
+ shareFormTitle,
7
+ shouldShowTitle,
8
+ children = null,
9
+ footer = null
10
+ }) => /*#__PURE__*/React.createElement(InlineDialogContentWrapper, null, /*#__PURE__*/React.createElement(InlineDialogFormWrapper, null, shouldShowTitle && /*#__PURE__*/React.createElement(ShareHeader, {
11
+ title: shareFormTitle
12
+ }), children), footer);
13
+
14
+ export default ShareFormWrapper;
@@ -0,0 +1 @@
1
+ export { default as ShareFormWrapper } from './ShareFormWrapper';
@@ -0,0 +1,15 @@
1
+ import styled from 'styled-components';
2
+ import { gridSize } from '@atlaskit/theme/constants';
3
+ export const InlineDialogFormWrapper = styled.div`
4
+ width: ${gridSize() * 44}px;
5
+ `;
6
+ /**
7
+ * Apply the same styling, as previous @atlaskit/inline-dialog had,
8
+ * compared to the @atlaskit/popup we are now using.
9
+ *
10
+ * packages/design-system/inline-dialog/src/InlineDialog/styled.ts:20:3
11
+ */
12
+
13
+ export const InlineDialogContentWrapper = styled.div`
14
+ padding: ${gridSize() * 2}px ${gridSize() * 3}px;
15
+ `;
@@ -39,6 +39,7 @@ export const errorEncountered = (actionSubjectId, attributes = {}) => createEven
39
39
  }); // = share dialog invoked. Not to be confused with "share submitted"
40
40
 
41
41
  export const shareTriggerButtonClicked = () => createEvent('ui', ANALYTICS_SOURCE, 'clicked', 'button', 'share');
42
+ export const shareTabClicked = subjectId => createEvent('ui', ANALYTICS_SOURCE, 'clicked', 'tab', subjectId || 'shareTab');
42
43
  export const cancelShare = start => createEvent('ui', ANALYTICS_SOURCE, 'pressed', 'keyboardShortcut', 'cancelShare', {
43
44
  source: ANALYTICS_SOURCE,
44
45
  duration: duration(start)
@@ -1,21 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React from 'react'; // AFP-2532 TODO: Fix automatic suppressions below
3
- // eslint-disable-next-line @atlassian/tangerine/import/entry-points
4
-
5
- import { gridSize } from '@atlaskit/theme/constants';
2
+ import React from 'react';
6
3
  import Button from '@atlaskit/button/custom-theme-button';
7
- import styled from 'styled-components';
8
4
  export const MAX_PICKER_HEIGHT = 102;
9
- /**
10
- * Apply the same styling, as previous @atlaskit/inline-dialog had,
11
- * compared to the @atlaskit/popup we are now using.
12
- *
13
- * packages/design-system/inline-dialog/src/InlineDialog/styled.ts:20:3
14
- */
15
-
16
- export const InlineDialogContentWrapper = styled.div`
17
- padding: ${gridSize() * 2}px ${gridSize() * 3}px;
18
- `;
19
5
  const StyledButton = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(Button, _extends({
20
6
  ref: ref
21
7
  }, props, {
@@ -26,8 +26,11 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Zadejte jméno nebo tým',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Zadejte jméno, skupinu, tým nebo e-mail',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Zadejte jméno, tým nebo e-mail',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Zadejte jméno, skupinu nebo tým.',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Vyberte alespoň jednoho uživatele, skupinu, tým nebo e-mail.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Vyberte alespoň jednoho uživatele, skupinu nebo tým.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Vyberte alespoň jednoho uživatele, tým nebo e-mail.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Vyberte alespoň jednoho uživatele nebo tým.',
31
34
  'fabric.elements.share.success.message': '{object, select, blogpost {Příspěvek na blogu je sdílen} board {Board je sdílen} calendar {Kalendář je sdílen} draft {Koncept je sdílen} filter {Filtr je sdílen} issue {Požadavek je sdílen} media {Multimediální soubor je sdílen} page {Stránka je sdílena} project {Projekt je sdílen} pullrequest {Pull request je sdílen} question {Otázka je sdílena} report {Sestava je sdílena} repository {Repozitář je sdílen} request {Žádost je sdílena} roadmap {Plán je sdílen} site {Web je sdílen} space {Prostor je sdílen} other {Odkaz je sdílen}}',
32
35
  'fabric.elements.share.to.integration.button': 'Sdílet ve službě {integrationName}',
33
36
  'fabric.elements.share.trigger.button.icon.label': 'Ikona sdílení',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Indtast navn eller team',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Indtast navn, gruppe, team eller e-mail',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Indtast navn, team eller e-mailadresse',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Indtast navn, gruppe eller team',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Vælg mindst én bruger, én gruppe, ét team eller én e-mail.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Vælg mindst én bruger, én gruppe eller ét team.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Vælg mindst én bruger, ét team eller én e-mailadresse.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Vælg mindst én bruger eller ét team.',
34
+ 'fabric.elements.share.in.integration.button': 'Del i {integrationName}',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {Blogindlæg blev delt} board {Tavle blev delt} calendar {Kalender blev delt} draft {Kladde blev delt} filter {Filter blev delt} issue {Sag blev delt} media {Medie blev delt} page {Side blev delt} project {Projekt blev delt} pullrequest {Pullanmodning blev delt} question {Spørgsmål blev delt} report {Rapport blev delt} repository {Lager blev delt} request {Anmodning blev delt} roadmap {Oversigt blev delt} site {Side blev delt} space {Område blev delt} other {Link blev delt}}',
32
36
  'fabric.elements.share.to.integration.button': 'Del med {integrationName}',
33
37
  'fabric.elements.share.trigger.button.icon.label': 'Del ikon',
@@ -26,8 +26,11 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Namen oder Team eingeben',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Namen, Gruppe, Team oder E-Mail-Adresse eingeben',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Namen, Team oder E-Mail-Adresse eingeben',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Namen, Gruppe oder Team eingeben',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Wählen Sie mindestens einen Benutzer, eine Gruppe, ein Team oder eine E-Mail-Adresse aus.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Wählen Sie mindestens einen Benutzer, eine Gruppe oder ein Team aus.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Bitte wählen Sie mindestens einen Benutzer, ein Team oder eine E-Mail-Adresse aus.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Wählen Sie mindestens einen Benutzer oder ein Team aus.',
31
34
  'fabric.elements.share.success.message': '{object, select, blogpost {Geteilter Blogpost} board {Geteiltes Board} calendar {Geteilter Kalender} draft {Geteilter Entwurf} filter {Geteilter Filter} issue {Geteilter Vorgang} media {Geteilte Medien} page {Geteilte Seite} project {Geteiltes Projekt} pullrequest {Geteilte Pull-Anfrage} question {Geteilte Frage} report {Geteilter Bericht} repository {Geteiltes Repository} request {Geteilte Anfrage} roadmap {Geteilte Roadmap} site {Geteilte Site} space {Geteilter Bereich} other {Geteilter Link}}',
32
35
  'fabric.elements.share.to.integration.button': 'Mit {integrationName} teilen',
33
36
  'fabric.elements.share.trigger.button.icon.label': 'Teilen-Symbol',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': '⁣⁢Enter name or team⁡‍؜‍؜⁠‌⁡⁣⁤',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': '⁣⁢Enter name, group, team or email⁡؜‌‍؜؜‍⁣⁤',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': '⁣⁢Enter name, team or email‌‍⁠‌‌⁡⁠⁡؜‍؜⁣⁤',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': '⁣⁢Enter name, group or team‍‌‍⁠⁡‌⁡⁠‍⁡⁠⁠⁡⁣⁤',
29
30
  'fabric.elements.share.form.user-picker.validation.required': '⁣⁢Select at least one user, group, team or email.⁡⁡؜‌‍‌⁠؜⁣⁤',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': '⁣⁢Select at least one user, group or team.‍‌⁠⁡؜‌⁠⁠‌⁡‍‍⁣⁤',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': '⁣⁢Select at least one user, team or email.؜⁠‍؜‍‍‌⁠⁠⁣⁤',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': '⁣⁢Select at least one user or team.‌؜⁠‌‍⁡؜‌‍⁡‌⁠⁡⁣⁤',
34
+ 'fabric.elements.share.in.integration.button': '⁣⁢Share in {integrationName}⁠؜⁡⁡‌⁡؜‌‌‌⁣⁤',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {⁣⁢Blog post shared⁡‌‍⁡⁠⁠⁡⁠⁡⁠⁣⁤} board {⁣⁢Board shared‍⁡‍؜⁠⁠‌⁣⁤} calendar {⁣⁢Calendar shared‌⁡⁠⁡⁡‍؜⁠⁠⁣⁤} draft {⁣⁢Draft shared⁠‌‍⁠‍‍‍؜‍⁠؜⁣⁤} filter {⁣⁢Filter shared‍؜؜‍؜⁡‍⁣⁤} issue {⁣⁢Issue shared⁡⁡‍⁡⁡‍⁠؜⁡⁠‌⁣⁤} media {⁣⁢Media shared؜‌‍‌⁠⁠⁣⁤} page {⁣⁢Page shared‍⁡‍‍‌؜‌؜‍⁣⁤} project {⁣⁢Project shared⁡‍⁠⁡‍؜⁡‍‌‌⁡⁣⁤} pullrequest {⁣⁢Pull Request shared‌⁡⁡؜⁠⁡؜‍⁠؜‌⁠؜⁣⁤} question {⁣⁢Question shared⁠‍⁠‍⁠؜‌‌⁣⁤} report {⁣⁢Report shared‍؜⁡⁠‍⁡⁠‍⁠‌⁣⁤} repository {⁣⁢Repository shared‍‌‌‌⁡⁡؜⁣⁤} request {⁣⁢Request shared⁡‌⁡⁡؜‍‌‌‌؜‌⁡⁣⁤} roadmap {⁣⁢Roadmap shared‍‍‌⁡⁡؜⁠⁡‌⁣⁤} site {⁣⁢Site shared؜⁡⁡؜⁡؜؜⁡؜⁠‍⁣⁤} space {⁣⁢Space shared⁡‍‍‍؜؜⁡⁡⁡⁣⁤} other {⁣⁢Link Shared‌‌‍‌‍⁡⁣⁤}}',
32
36
  'fabric.elements.share.to.integration.button': '⁣⁢Share to {integrationName}‌⁡‌⁠⁡⁡⁡⁠‍‍؜‌⁡⁣⁤',
33
37
  'fabric.elements.share.trigger.button.icon.label': '⁣⁢Share icon‌‍؜‍‍؜‌⁡⁣⁤',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Introduce un nombre o equipo',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Introduce un nombre, grupo, equipo o correo electrónico',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Introducir nombre, equipo o correo electrónico',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Introduce el nombre, el grupo o el equipo',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Selecciona al menos un usuario, grupo, equipo o correo electrónico.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Selecciona al menos un usuario, grupo o equipo.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Selecciona al menos un usuario, equipo o correo electrónico.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Selecciona al menos un usuario o equipo.',
34
+ 'fabric.elements.share.in.integration.button': 'Compartir en {integrationName}',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {Entrada de blog compartida} board {Tablero compartido} calendar {Calendario compartido} draft {Borrador compartido} filter {Filtro compartido} issue {Incidencia compartida} media {Soportes compartidos} page {Página compartida} project {Proyecto compartido} pullrequest {Solicitud de extracción compartida} question {Pregunta compartida} report {Informe compartido} repository {Repositorio compartido} request {Solicitud compartida} roadmap {Hoja de ruta compartida} site {Sitio compartido} space {Espacio compartido} other {Enlace compartido}}',
32
36
  'fabric.elements.share.to.integration.button': 'Compartir en {integrationName}',
33
37
  'fabric.elements.share.trigger.button.icon.label': 'Icono de compartir',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Anna nimi tai tiimi',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Syötä nimi, ryhmä, tiimi tai sähköpostiosoite',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Syötä nimi, tiimi tai sähköpostiosoite',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Syötä nimi, ryhmä tai tiimi',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Valitse vähintään yksi käyttäjä, ryhmä, tiimi tai sähköpostiosoite.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Valitse vähintään yksi käyttäjä, ryhmä tai tiimi.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Valitse vähintään yksi käyttäjä, tiimi tai sähköpostiosoite.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Valitse vähintään yksi käyttäjä tai tiimi.',
34
+ 'fabric.elements.share.in.integration.button': 'Jaa sovelluksessa {integrationName}',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {Blogijulkaisu jaettu} board {Taulu jaettu} calendar {Kalenteri jaettu} draft {Luonnos jaettu} filter {Suodatin jaettu} issue {Asia jaettu} media {Media jaettu} page {Sivu jaettu} project {Projekti jaettu} pullrequest {Pull-pyyntö jaettu} question {Kysymys jaettu} report {Raportti jaettu} repository {Säilö jaettu} request {Pyyntö jaettu} roadmap {Etenemissuunnitelma jaettu} site {Sivusto jaettu} space {Työtila jaettu} other {Linkki jaettu}}',
32
36
  'fabric.elements.share.to.integration.button': 'Jaa kohteeseen {integrationName}',
33
37
  'fabric.elements.share.trigger.button.icon.label': 'Jaa kuvake',
@@ -26,8 +26,11 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Saisir un nom ou une équipe',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Saisir un nom, un groupe, une équipe ou une adresse e-mail',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Saisissez un nom, une équipe ou une adresse e-mail',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Saisissez un nom, un groupe ou une équipe',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Sélectionnez au moins un utilisateur, un groupe, une équipe ou une adresse e-mail.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Sélectionnez au moins un utilisateur, un groupe ou une équipe.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Sélectionnez au moins un utilisateur, une équipe ou une adresse e-mail.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Sélectionnez au moins un utilisateur ou une équipe.',
31
34
  'fabric.elements.share.success.message': '{object, select, blogpost {Billet de blog partagé} board {Tableau partagé} calendar {Calendrier partagé} draft {Brouillon partagé} filter {Filtre partagé} issue {Ticket partagé} media {Support partagé} page {Page partagée} project {Projet partagé} pullrequest {Pull request partagée} question {Question partagée} report {Rapport partagé} repository {Dépôt partagé} request {Demande partagée} roadmap {Feuille de route partagée} site {Site partagé} space {Espace partagé} other {Lien partagé}}',
32
35
  'fabric.elements.share.to.integration.button': 'Partager avec {integrationName}',
33
36
  'fabric.elements.share.trigger.button.icon.label': 'Icône de partage',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Add meg a nevet vagy csapatot',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Név, csoport, csapat vagy e-mail-cím megadása',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Írd be a nevet, a csapatot vagy az e-mail-címet',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Add meg a nevet, csoportot vagy csapatot',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Válassz ki legalább egy felhasználót, csoportot, csapatot vagy e-mail-címet.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Válassz ki legalább egy felhasználót, csoportot vagy csapatot.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Válassz ki legalább egy felhasználót, csapatot vagy e-mail-címet.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Válassz ki legalább egy felhasználót vagy csapatot.',
34
+ 'fabric.elements.share.in.integration.button': 'Megosztás itt: {integrationName}',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {Blogposzt megosztva} board {Tábla megosztva} calendar {Naptár megosztva} draft {Piszkozat megosztva} filter {Szűrő megosztva} issue {Ügy megosztva} media {Médiatartalom megosztva} page {Oldal megosztva} project {Projekt megosztva} pullrequest {Pull-kérelem megosztva} question {Kérdés megosztva} report {Jelentés megosztva} repository {Adattár megosztva} request {Kérés megosztva} roadmap {Útvonalterv megosztva} site {Webhely megosztva} space {Munkatér megosztva} other {Link megosztva}}',
32
36
  'fabric.elements.share.to.integration.button': 'Megosztás itt: {integrationName}',
33
37
  'fabric.elements.share.trigger.button.icon.label': 'Ikon megosztása',
@@ -25,9 +25,13 @@ export default {
25
25
  'fabric.elements.share.form.user-picker.no-options.generic': 'Nessun risultato trovato per “{inputValue}”. Invita le persone inserendo il loro indirizzo e-mail.',
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Inserisci nome o team',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Inserisci nome, gruppo, team o e-mail',
28
- 'fabric.elements.share.form.user-picker.placeholder.jira': 'Immetti nome, team o indirizzo e-mail',
28
+ 'fabric.elements.share.form.user-picker.placeholder.jira': 'Inserisci nome, team o indirizzo e-mail',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Inserisci il nome, il gruppo o il team',
29
30
  'fabric.elements.share.form.user-picker.validation.required': "Seleziona almeno un utente, un gruppo, un team o un'e-mail.",
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Seleziona almeno un utente, un gruppo o un team.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Seleziona almeno un utente, un team o un indirizzo e-mail.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Seleziona almeno un utente o un team.',
34
+ 'fabric.elements.share.in.integration.button': 'Condividi in {integrationName}',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {Post del blog condiviso} board {Board condivisa} calendar {Calendario condiviso} draft {Bozza condivisa} filter {Filtro condiviso} issue {Ticket condiviso} media {File multimediale condiviso} page {Pagina condivisa} project {Progetto condiviso} pullrequest {Richiesta di pull condivisa} question {Domanda condivisa} report {Report condiviso} repository {Repository condiviso} request {Richiesta condivisa} roadmap {Roadmap condivisa} site {Sito condiviso} space {Spazio condiviso} other {Collegamento condiviso}}',
32
36
  'fabric.elements.share.to.integration.button': 'Condividi in {integrationName}',
33
37
  'fabric.elements.share.trigger.button.icon.label': 'Icona Condividi',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': '名前またはチームを入力',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': '名前、グループ、チーム、メールを入力',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': '名前、チーム、メールアドレスを入力',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': '名前、グループ、またはチームを入力',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'ユーザー、グループ、チーム、メールを少なくとも 1 つ選択してください。',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'ユーザー、グループ、またはチームのいずれかを少なくとも 1 つ選択してください。',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'ユーザー、チーム、メールを少なくとも 1 つ選択してください。',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'ユーザーまたはチームを少なくとも 1 つ選択してください。',
34
+ 'fabric.elements.share.in.integration.button': '{integrationName} で共有',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {ブログ投稿が共有されました} board {ボードが共有されました} calendar {カレンダーが共有されました} draft {下書きが共有されました} filter {フィルターが共有されました} issue {課題が共有されました} media {メディアが共有されました} page {ページが共有されました} project {プロジェクトが共有されました} pullrequest {プル リクエストが共有されました} question {質問が共有されました} report {レポートが共有されました} repository {リポジトリが共有されました} request {リクエストが共有されました} roadmap {ロードマップが共有されました} site {サイトが共有されました} space {スペースが共有されました} other {リンクが共有されました}}',
32
36
  'fabric.elements.share.to.integration.button': '{integrationName} と共有',
33
37
  'fabric.elements.share.trigger.button.icon.label': '共有アイコン',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': '이름 또는 팀 입력',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': '이름, 그룹, 팀 또는 이메일 입력',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': '이름, 팀 또는 이메일 입력',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': '이름, 그룹 또는 팀 입력',
29
30
  'fabric.elements.share.form.user-picker.validation.required': '사용자, 그룹, 팀 또는 이메일을 하나 이상 선택하세요.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': '사용자, 그룹 또는 팀을 하나 이상 선택하세요.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': '사용자, 팀 또는 이메일을 하나 이상 선택하세요.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': '사용자 또는 팀을 하나 이상 선택하세요.',
34
+ 'fabric.elements.share.in.integration.button': '{integrationName}에서 공유',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {블로그 게시물 공유됨} board {보드 공유됨} calendar {캘린더 공유됨} draft {초안 공유됨} filter {필터 공유됨} issue {이슈 공유됨} media {미디어 공유됨} page {페이지 공유됨} project {프로젝트 공유됨} pullrequest {풀 리퀘스트 공유됨} question {질문 공유됨} report {보고서 공유됨} repository {리포지토리 공유됨} request {요청 공유됨} roadmap {로드맵 공유됨} site {사이트 공유됨} space {스페이스 공유됨} other {링크 공유됨}}',
32
36
  'fabric.elements.share.to.integration.button': '{integrationName}에 공유',
33
37
  'fabric.elements.share.trigger.button.icon.label': '공유 아이콘',
@@ -26,8 +26,12 @@ export default {
26
26
  'fabric.elements.share.form.user-picker.placeholder.existingUserOnly': 'Skriv inn navn eller team',
27
27
  'fabric.elements.share.form.user-picker.placeholder.generic': 'Skriv inn navn, gruppe, team eller e-post',
28
28
  'fabric.elements.share.form.user-picker.placeholder.jira': 'Skriv inn navn, team eller e-postadresse',
29
+ 'fabric.elements.share.form.user-picker.placholder.generic.existingUserOnly': 'Angi navn, gruppe eller team',
29
30
  'fabric.elements.share.form.user-picker.validation.required': 'Velg minst én bruker, gruppe eller e-post eller minst ett team.',
31
+ 'fabric.elements.share.form.user-picker.validation.required.existingUserOnly': 'Velg minst én bruker, gruppe eller ett team.',
30
32
  'fabric.elements.share.form.user-picker.validation.required.jira': 'Velg minst én bruker, arbeidsgruppe eller e-postadresse.',
33
+ 'fabric.elements.share.form.user-picker.validation.required.jira.existingUserOnly': 'Velg minst én bruker eller ett team.',
34
+ 'fabric.elements.share.in.integration.button': 'Del i {integrationName}',
31
35
  'fabric.elements.share.success.message': '{object, select, blogpost {Blogginnlegg delt} board {Tavle delt} calendar {Kalender delt} draft {Utkast delt} filter {Filter delt} issue {Sak delt} media {Media delt} page {Side delt} project {Prosjekt delt} pullrequest {Pull-forespørsel delt} question {Spørsmål delt} report {Rapport delt} repository {Repositorium delt} request {Forespørsel delt} roadmap {Veikart delt} site {Side delt} space {Område delt} other {Kobling delt}}',
32
36
  'fabric.elements.share.to.integration.button': 'Del til {integrationName}',
33
37
  'fabric.elements.share.trigger.button.icon.label': 'Dele-ikon',