@atlaskit/teams-public 0.70.4 → 0.70.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/common/ui/container-icon/index.compiled.css +0 -14
- package/dist/cjs/common/ui/container-icon/index.js +22 -54
- package/dist/cjs/ui/team-containers/add-container-card/index.js +8 -8
- package/dist/cjs/ui/team-containers/main.js +2 -4
- package/dist/cjs/ui/team-containers/team-link-card/index.js +3 -17
- package/dist/es2019/common/ui/container-icon/index.compiled.css +0 -14
- package/dist/es2019/common/ui/container-icon/index.js +15 -46
- package/dist/es2019/ui/team-containers/add-container-card/index.js +7 -7
- package/dist/es2019/ui/team-containers/main.js +2 -4
- package/dist/es2019/ui/team-containers/team-link-card/index.js +3 -17
- package/dist/esm/common/ui/container-icon/index.compiled.css +0 -14
- package/dist/esm/common/ui/container-icon/index.js +22 -54
- package/dist/esm/ui/team-containers/add-container-card/index.js +8 -8
- package/dist/esm/ui/team-containers/main.js +2 -4
- package/dist/esm/ui/team-containers/team-link-card/index.js +3 -17
- package/dist/types/common/ui/container-icon/index.d.ts +1 -1
- package/dist/types/ui/team-containers/add-container-card/index.d.ts +4 -4
- package/dist/types-ts4.5/common/ui/container-icon/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/team-containers/add-container-card/index.d.ts +4 -4
- package/package.json +2 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/teams-public
|
|
2
2
|
|
|
3
|
+
## 0.70.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`cf41ce07edce7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cf41ce07edce7) -
|
|
8
|
+
Clean up new_team_profile experiment
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 0.70.5
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [`f5d57d0bce900`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f5d57d0bce900) -
|
|
16
|
+
Clean up teams_app_auto_container_creation experiment
|
|
17
|
+
|
|
3
18
|
## 0.70.4
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
._2rko1mok{border-radius:var(--ds-radius-large,8px)}
|
|
3
|
-
._2rkolb4i{border-radius:var(--ds-radius-xsmall,2px)}._12ji1l7x{outline-color:var(--ds-border,#0b120e24)}
|
|
4
1
|
._18u0v77o{margin-left:var(--ds-space-025,2px)}
|
|
5
2
|
._19pkv77o{margin-top:var(--ds-space-025,2px)}
|
|
6
|
-
._1bah1h6o{justify-content:center}
|
|
7
|
-
._1bsb1tcg{width:24px}
|
|
8
|
-
._1bsb1u1b{width:34px}
|
|
9
|
-
._1e0c1txw{display:flex}
|
|
10
|
-
._1qu2nqa1{outline-style:solid}
|
|
11
|
-
._1ul91tcg{min-width:24px}
|
|
12
3
|
._2hwxv77o{margin-right:var(--ds-space-025,2px)}
|
|
13
|
-
._4cvr1h6o{align-items:center}
|
|
14
|
-
._4t3i1tcg{height:24px}
|
|
15
|
-
._4t3i1u1b{height:34px}
|
|
16
|
-
._bfhkhfxm{background-color:var(--ds-surface-sunken,#f8f8f8)}
|
|
17
|
-
._bfhkizff{background-color:var(--ds-skeleton,#0515240f)}
|
|
18
4
|
._otyrv77o{margin-bottom:var(--ds-space-025,2px)}
|
|
@@ -9,41 +9,22 @@ exports.ContainerIcon = void 0;
|
|
|
9
9
|
require("./index.compiled.css");
|
|
10
10
|
var _runtime = require("@compiled/react/runtime");
|
|
11
11
|
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
var _atlassianContext = require("@atlaskit/atlassian-context");
|
|
13
12
|
var _avatar = _interopRequireDefault(require("@atlaskit/avatar"));
|
|
14
13
|
var _new = require("@atlaskit/button/new");
|
|
15
14
|
var _css = require("@atlaskit/css");
|
|
16
|
-
var _globe = _interopRequireDefault(require("@atlaskit/icon/core/globe"));
|
|
17
15
|
var _link = _interopRequireDefault(require("@atlaskit/icon/core/link"));
|
|
18
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
19
16
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
20
17
|
var _loomAvatar = require("../loom-avatar");
|
|
21
18
|
var styles = {
|
|
22
|
-
|
|
23
|
-
globeIconWrapperSmall: "_2rkolb4i _1ul91tcg _4t3i1tcg _1e0c1txw _4cvr1h6o _1bah1h6o _19pkv77o _2hwxv77o _otyrv77o _18u0v77o _12ji1l7x _1qu2nqa1 _bfhkhfxm",
|
|
24
|
-
linkIconWrapperSmall: "_19pkv77o _2hwxv77o _otyrv77o _18u0v77o",
|
|
25
|
-
skeletonMedium: "_2rko1mok _bfhkizff _1bsb1u1b _4t3i1u1b",
|
|
26
|
-
skeletonSmall: "_2rkolb4i _bfhkizff _1bsb1tcg _4t3i1tcg"
|
|
19
|
+
linkIconWrapperSmall: "_19pkv77o _2hwxv77o _otyrv77o _18u0v77o"
|
|
27
20
|
};
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
};
|
|
35
|
-
var ContainerIcon = exports.ContainerIcon = function ContainerIcon(_ref2) {
|
|
36
|
-
var containerType = _ref2.containerType,
|
|
37
|
-
title = _ref2.title,
|
|
38
|
-
containerIcon = _ref2.containerIcon,
|
|
39
|
-
_ref2$size = _ref2.size,
|
|
40
|
-
size = _ref2$size === void 0 ? 'medium' : _ref2$size,
|
|
41
|
-
_ref2$iconsLoading = _ref2.iconsLoading,
|
|
42
|
-
iconsLoading = _ref2$iconsLoading === void 0 ? false : _ref2$iconsLoading,
|
|
43
|
-
_ref2$iconHasLoaded = _ref2.iconHasLoaded,
|
|
44
|
-
iconHasLoaded = _ref2$iconHasLoaded === void 0 ? true : _ref2$iconHasLoaded;
|
|
21
|
+
var ContainerIcon = exports.ContainerIcon = function ContainerIcon(_ref) {
|
|
22
|
+
var containerType = _ref.containerType,
|
|
23
|
+
title = _ref.title,
|
|
24
|
+
containerIcon = _ref.containerIcon,
|
|
25
|
+
_ref$size = _ref.size,
|
|
26
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size;
|
|
45
27
|
var isMedium = size === 'medium';
|
|
46
|
-
var isNewTeamProfilePageEnabled = !(0, _atlassianContext.isFedRamp)() || (0, _platformFeatureFlags.fg)('new_team_profile_fedramp');
|
|
47
28
|
if (containerType === 'LoomSpace') {
|
|
48
29
|
return /*#__PURE__*/_react.default.createElement(_loomAvatar.LoomSpaceAvatar, {
|
|
49
30
|
spaceName: title,
|
|
@@ -54,36 +35,23 @@ var ContainerIcon = exports.ContainerIcon = function ContainerIcon(_ref2) {
|
|
|
54
35
|
|
|
55
36
|
// This is a fallback icon for WebLink if the containerIcon is not present
|
|
56
37
|
if (containerType === 'WebLink' && !containerIcon) {
|
|
57
|
-
if (isNewTeamProfilePageEnabled) {
|
|
58
|
-
return /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
59
|
-
xcss: (0, _css.cx)(!isMedium && styles.linkIconWrapperSmall)
|
|
60
|
-
}, /*#__PURE__*/_react.default.createElement(_new.IconButton, {
|
|
61
|
-
label: "",
|
|
62
|
-
spacing: isMedium ? 'default' : 'compact',
|
|
63
|
-
appearance: "default",
|
|
64
|
-
"aria-hidden": "true" // Keeping this to be double sure icon isn't going to be focused
|
|
65
|
-
,
|
|
66
|
-
tabIndex: -1 // This is to prevent the icon from being focused
|
|
67
|
-
,
|
|
68
|
-
testId: "linked-container-WebLink-new-icon",
|
|
69
|
-
icon: function icon() {
|
|
70
|
-
return /*#__PURE__*/_react.default.createElement(_link.default, {
|
|
71
|
-
label: "",
|
|
72
|
-
size: isMedium ? 'medium' : 'small'
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
if (iconsLoading || !iconHasLoaded) {
|
|
78
|
-
return /*#__PURE__*/_react.default.createElement(IconSkeleton, {
|
|
79
|
-
size: size
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
38
|
return /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
83
|
-
xcss:
|
|
84
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
39
|
+
xcss: (0, _css.cx)(!isMedium && styles.linkIconWrapperSmall)
|
|
40
|
+
}, /*#__PURE__*/_react.default.createElement(_new.IconButton, {
|
|
85
41
|
label: "",
|
|
86
|
-
|
|
42
|
+
spacing: isMedium ? 'default' : 'compact',
|
|
43
|
+
appearance: "default",
|
|
44
|
+
"aria-hidden": "true" // Keeping this to be double sure icon isn't going to be focused
|
|
45
|
+
,
|
|
46
|
+
tabIndex: -1 // This is to prevent the icon from being focused
|
|
47
|
+
,
|
|
48
|
+
testId: "linked-container-WebLink-new-icon",
|
|
49
|
+
icon: function icon() {
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement(_link.default, {
|
|
51
|
+
label: "",
|
|
52
|
+
size: isMedium ? 'medium' : 'small'
|
|
53
|
+
});
|
|
54
|
+
}
|
|
87
55
|
}));
|
|
88
56
|
}
|
|
89
57
|
return /*#__PURE__*/_react.default.createElement(_avatar.default, {
|
|
@@ -51,8 +51,8 @@ var AddContainerCard = exports.AddContainerCard = function AddContainerCard(_ref
|
|
|
51
51
|
onAddAContainerClick = _ref2.onAddAContainerClick,
|
|
52
52
|
_ref2$isLoading = _ref2.isLoading,
|
|
53
53
|
isLoading = _ref2$isLoading === void 0 ? false : _ref2$isLoading,
|
|
54
|
-
_ref2$
|
|
55
|
-
|
|
54
|
+
_ref2$canCreateContai = _ref2.canCreateContainers,
|
|
55
|
+
canCreateContainers = _ref2$canCreateContai === void 0 ? false : _ref2$canCreateContai;
|
|
56
56
|
var _getContainerProperti = (0, _getContainerProperties.getContainerProperties)({
|
|
57
57
|
containerType: containerType,
|
|
58
58
|
iconSize: (0, _platformFeatureFlags.fg)('enable_medium_size_icons_for_team_link_cards') ? 'medium' : undefined,
|
|
@@ -86,7 +86,7 @@ var AddContainerCard = exports.AddContainerCard = function AddContainerCard(_ref
|
|
|
86
86
|
onAddAContainerClick(e);
|
|
87
87
|
e.stopPropagation();
|
|
88
88
|
}
|
|
89
|
-
})),
|
|
89
|
+
})), canCreateContainers ? /*#__PURE__*/_react.default.createElement(_addContainerCardButton.AddContainerCardButton, {
|
|
90
90
|
type: containerType
|
|
91
91
|
}) : /*#__PURE__*/_react.default.createElement(_compiled.Stack, (0, _platformFeatureFlags.fg)('enable_medium_size_icons_for_team_link_cards') ? {
|
|
92
92
|
space: 'space.025'
|
|
@@ -106,7 +106,7 @@ var getAddContainerCards = exports.getAddContainerCards = function getAddContain
|
|
|
106
106
|
var containers = _ref3.containers,
|
|
107
107
|
_onAddAContainerClick = _ref3.onAddAContainerClick,
|
|
108
108
|
CustomAddContainerCard = _ref3.CustomAddContainerCard,
|
|
109
|
-
|
|
109
|
+
canCreateContainers = _ref3.canCreateContainers;
|
|
110
110
|
var AddContainerCardComponent = CustomAddContainerCard !== null && CustomAddContainerCard !== void 0 ? CustomAddContainerCard : AddContainerCard;
|
|
111
111
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, containers.Jira.canAdd && /*#__PURE__*/_react.default.createElement(AddContainerCardComponent, {
|
|
112
112
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
@@ -114,26 +114,26 @@ var getAddContainerCards = exports.getAddContainerCards = function getAddContain
|
|
|
114
114
|
},
|
|
115
115
|
containerType: "JiraProject",
|
|
116
116
|
isLoading: containers.Jira.isLoading,
|
|
117
|
-
|
|
117
|
+
canCreateContainers: canCreateContainers
|
|
118
118
|
}), containers.Confluence.canAdd && /*#__PURE__*/_react.default.createElement(AddContainerCardComponent, {
|
|
119
119
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
120
120
|
return _onAddAContainerClick(e, 'Confluence');
|
|
121
121
|
},
|
|
122
122
|
containerType: "ConfluenceSpace",
|
|
123
123
|
isLoading: containers.Confluence.isLoading,
|
|
124
|
-
|
|
124
|
+
canCreateContainers: canCreateContainers
|
|
125
125
|
}), containers.Loom.canAdd && /*#__PURE__*/_react.default.createElement(AddContainerCardComponent, {
|
|
126
126
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
127
127
|
return _onAddAContainerClick(e, 'Loom');
|
|
128
128
|
},
|
|
129
129
|
containerType: "LoomSpace",
|
|
130
130
|
isLoading: containers.Loom.isLoading,
|
|
131
|
-
|
|
131
|
+
canCreateContainers: canCreateContainers
|
|
132
132
|
}), containers.WebLink.canAdd && /*#__PURE__*/_react.default.createElement(AddContainerCardComponent, {
|
|
133
133
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
134
134
|
return _onAddAContainerClick(e, 'WebLink');
|
|
135
135
|
},
|
|
136
136
|
containerType: "WebLink",
|
|
137
|
-
|
|
137
|
+
canCreateContainers: canCreateContainers
|
|
138
138
|
}));
|
|
139
139
|
};
|
|
@@ -12,7 +12,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _reactIntlNext = require("react-intl-next");
|
|
14
14
|
var _new = _interopRequireDefault(require("@atlaskit/button/new"));
|
|
15
|
-
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
16
15
|
var _modalTransition = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-transition"));
|
|
17
16
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
18
17
|
var _primitives = require("@atlaskit/primitives");
|
|
@@ -129,14 +128,13 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
129
128
|
(0, _useRefreshContainersOnContainerCreated.useRefreshOnContainerCreated)(teamId);
|
|
130
129
|
var hasPermissionToCreateContainer = (0, _react.useMemo)(function () {
|
|
131
130
|
if (!productPermissions) {
|
|
132
|
-
return
|
|
131
|
+
return false;
|
|
133
132
|
}
|
|
134
133
|
var getPermission = function getPermission(product, permission) {
|
|
135
134
|
return productPermissions && (0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, product, permission);
|
|
136
135
|
};
|
|
137
136
|
return getPermission('confluence', ['CREATE_SPACE']) || getPermission('jira', ['CREATE_PROJECT']) || getPermission('loom', ['write']);
|
|
138
137
|
}, [productPermissions]);
|
|
139
|
-
var createContainerExperimentEnabled = hasPermissionToCreateContainer && _featureGateJsClient.default.initializeCompleted() && _featureGateJsClient.default.getExperimentValue('teams_app_auto_container_creation', 'isEnabled', false);
|
|
140
138
|
(0, _react.useEffect)(function () {
|
|
141
139
|
if (isDisplayedOnProfileCard && filterContainerId) {
|
|
142
140
|
setFilteredTeamLinks(teamLinks.filter(function (container) {
|
|
@@ -334,7 +332,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
334
332
|
containers: availableContainers,
|
|
335
333
|
onAddAContainerClick: onAddAContainerClick,
|
|
336
334
|
CustomAddContainerCard: components === null || components === void 0 ? void 0 : components.AddContainerCard,
|
|
337
|
-
|
|
335
|
+
canCreateContainers: hasPermissionToCreateContainer
|
|
338
336
|
}), showMore && filteredTeamLinks.slice(maxNumberOfContainersToShow).map(function (container) {
|
|
339
337
|
return /*#__PURE__*/_react.default.createElement(LinkedContainerCardComponent, {
|
|
340
338
|
key: container.id,
|
|
@@ -15,7 +15,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
15
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
var _reactIntlNext = require("react-intl-next");
|
|
18
|
-
var _atlassianContext = require("@atlaskit/atlassian-context");
|
|
19
18
|
var _new = require("@atlaskit/button/new");
|
|
20
19
|
var _css = require("@atlaskit/css");
|
|
21
20
|
var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
|
|
@@ -104,8 +103,7 @@ var TeamLinkCard = exports.TeamLinkCard = function TeamLinkCard(_ref) {
|
|
|
104
103
|
formatMessage = _useIntl.formatMessage;
|
|
105
104
|
var _useAnalyticsEvents = (0, _teamsAppInternalAnalytics.useAnalyticsEvents)(),
|
|
106
105
|
fireEvent = _useAnalyticsEvents.fireEvent;
|
|
107
|
-
var
|
|
108
|
-
var isOpenWebLinkInNewTabEnabled = containerType === 'WebLink' && isNewTeamProfilePageEnabled;
|
|
106
|
+
var isOpenWebLinkInNewTabEnabled = containerType === 'WebLink';
|
|
109
107
|
var handleMouseEnter = function handleMouseEnter() {
|
|
110
108
|
if (isReadOnly) {
|
|
111
109
|
return;
|
|
@@ -201,13 +199,7 @@ var TeamLinkCard = exports.TeamLinkCard = function TeamLinkCard(_ref) {
|
|
|
201
199
|
}, !hideSubTextIcon ? icon : null, /*#__PURE__*/_react.default.createElement(_compiled.Inline, {
|
|
202
200
|
space: "space.050",
|
|
203
201
|
alignBlock: "center"
|
|
204
|
-
},
|
|
205
|
-
size: "small",
|
|
206
|
-
color: "color.text.subtle"
|
|
207
|
-
}, description), /*#__PURE__*/_react.default.createElement(_compiled.Text, {
|
|
208
|
-
size: "small",
|
|
209
|
-
color: "color.text.subtle"
|
|
210
|
-
}, containerTypeText))))), isOpenWebLinkInNewTabEnabled && /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
202
|
+
}, renderContainerTypeTextWithSeparator(containerTypeText, description)))), isOpenWebLinkInNewTabEnabled && /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
211
203
|
xcss: styles.externalLinkIconWrapper
|
|
212
204
|
}, /*#__PURE__*/_react.default.createElement(_linkExternal.default, {
|
|
213
205
|
label: formatMessage(messages.linkExternalIconLabel),
|
|
@@ -249,13 +241,7 @@ var TeamLinkCard = exports.TeamLinkCard = function TeamLinkCard(_ref) {
|
|
|
249
241
|
}, !hideSubTextIcon ? icon : null, /*#__PURE__*/_react.default.createElement(_compiled.Inline, {
|
|
250
242
|
space: "space.050",
|
|
251
243
|
alignBlock: "center"
|
|
252
|
-
},
|
|
253
|
-
size: "small",
|
|
254
|
-
color: "color.text.subtle"
|
|
255
|
-
}, description), /*#__PURE__*/_react.default.createElement(_compiled.Text, {
|
|
256
|
-
size: "small",
|
|
257
|
-
color: "color.text.subtle"
|
|
258
|
-
}, containerTypeText))))))), showCloseIcon && /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
244
|
+
}, renderContainerTypeTextWithSeparator(containerTypeText, description)))))), showCloseIcon && /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
259
245
|
xcss: styles.crossIconWrapper
|
|
260
246
|
}, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
261
247
|
content: formatMessage(messages.disconnectTooltip),
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
._2rko1mok{border-radius:var(--ds-radius-large,8px)}
|
|
3
|
-
._2rkolb4i{border-radius:var(--ds-radius-xsmall,2px)}._12ji1l7x{outline-color:var(--ds-border,#0b120e24)}
|
|
4
1
|
._18u0v77o{margin-left:var(--ds-space-025,2px)}
|
|
5
2
|
._19pkv77o{margin-top:var(--ds-space-025,2px)}
|
|
6
|
-
._1bah1h6o{justify-content:center}
|
|
7
|
-
._1bsb1tcg{width:24px}
|
|
8
|
-
._1bsb1u1b{width:34px}
|
|
9
|
-
._1e0c1txw{display:flex}
|
|
10
|
-
._1qu2nqa1{outline-style:solid}
|
|
11
|
-
._1ul91tcg{min-width:24px}
|
|
12
3
|
._2hwxv77o{margin-right:var(--ds-space-025,2px)}
|
|
13
|
-
._4cvr1h6o{align-items:center}
|
|
14
|
-
._4t3i1tcg{height:24px}
|
|
15
|
-
._4t3i1u1b{height:34px}
|
|
16
|
-
._bfhkhfxm{background-color:var(--ds-surface-sunken,#f8f8f8)}
|
|
17
|
-
._bfhkizff{background-color:var(--ds-skeleton,#0515240f)}
|
|
18
4
|
._otyrv77o{margin-bottom:var(--ds-space-025,2px)}
|
|
@@ -2,40 +2,22 @@
|
|
|
2
2
|
import "./index.compiled.css";
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import { isFedRamp } from '@atlaskit/atlassian-context';
|
|
6
5
|
import Avatar from '@atlaskit/avatar';
|
|
7
6
|
import { IconButton } from '@atlaskit/button/new';
|
|
8
7
|
import { cx } from '@atlaskit/css';
|
|
9
|
-
import GlobeIcon from '@atlaskit/icon/core/globe';
|
|
10
8
|
import LinkIcon from '@atlaskit/icon/core/link';
|
|
11
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
9
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
13
10
|
import { LoomSpaceAvatar } from '../loom-avatar';
|
|
14
11
|
const styles = {
|
|
15
|
-
|
|
16
|
-
globeIconWrapperSmall: "_2rkolb4i _1ul91tcg _4t3i1tcg _1e0c1txw _4cvr1h6o _1bah1h6o _19pkv77o _2hwxv77o _otyrv77o _18u0v77o _12ji1l7x _1qu2nqa1 _bfhkhfxm",
|
|
17
|
-
linkIconWrapperSmall: "_19pkv77o _2hwxv77o _otyrv77o _18u0v77o",
|
|
18
|
-
skeletonMedium: "_2rko1mok _bfhkizff _1bsb1u1b _4t3i1u1b",
|
|
19
|
-
skeletonSmall: "_2rkolb4i _bfhkizff _1bsb1tcg _4t3i1tcg"
|
|
20
|
-
};
|
|
21
|
-
const IconSkeleton = ({
|
|
22
|
-
size
|
|
23
|
-
}) => {
|
|
24
|
-
return /*#__PURE__*/React.createElement(Box, {
|
|
25
|
-
xcss: size === 'medium' ? styles.skeletonMedium : styles.skeletonSmall,
|
|
26
|
-
testId: "container-icon-skeleton"
|
|
27
|
-
});
|
|
12
|
+
linkIconWrapperSmall: "_19pkv77o _2hwxv77o _otyrv77o _18u0v77o"
|
|
28
13
|
};
|
|
29
14
|
export const ContainerIcon = ({
|
|
30
15
|
containerType,
|
|
31
16
|
title,
|
|
32
17
|
containerIcon,
|
|
33
|
-
size = 'medium'
|
|
34
|
-
iconsLoading = false,
|
|
35
|
-
iconHasLoaded = true
|
|
18
|
+
size = 'medium'
|
|
36
19
|
}) => {
|
|
37
20
|
const isMedium = size === 'medium';
|
|
38
|
-
const isNewTeamProfilePageEnabled = !isFedRamp() || fg('new_team_profile_fedramp');
|
|
39
21
|
if (containerType === 'LoomSpace') {
|
|
40
22
|
return /*#__PURE__*/React.createElement(LoomSpaceAvatar, {
|
|
41
23
|
spaceName: title,
|
|
@@ -46,34 +28,21 @@ export const ContainerIcon = ({
|
|
|
46
28
|
|
|
47
29
|
// This is a fallback icon for WebLink if the containerIcon is not present
|
|
48
30
|
if (containerType === 'WebLink' && !containerIcon) {
|
|
49
|
-
if (isNewTeamProfilePageEnabled) {
|
|
50
|
-
return /*#__PURE__*/React.createElement(Box, {
|
|
51
|
-
xcss: cx(!isMedium && styles.linkIconWrapperSmall)
|
|
52
|
-
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
53
|
-
label: "",
|
|
54
|
-
spacing: isMedium ? 'default' : 'compact',
|
|
55
|
-
appearance: "default",
|
|
56
|
-
"aria-hidden": "true" // Keeping this to be double sure icon isn't going to be focused
|
|
57
|
-
,
|
|
58
|
-
tabIndex: -1 // This is to prevent the icon from being focused
|
|
59
|
-
,
|
|
60
|
-
testId: "linked-container-WebLink-new-icon",
|
|
61
|
-
icon: () => /*#__PURE__*/React.createElement(LinkIcon, {
|
|
62
|
-
label: "",
|
|
63
|
-
size: isMedium ? 'medium' : 'small'
|
|
64
|
-
})
|
|
65
|
-
}));
|
|
66
|
-
}
|
|
67
|
-
if (iconsLoading || !iconHasLoaded) {
|
|
68
|
-
return /*#__PURE__*/React.createElement(IconSkeleton, {
|
|
69
|
-
size: size
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
31
|
return /*#__PURE__*/React.createElement(Box, {
|
|
73
|
-
xcss: isMedium
|
|
74
|
-
}, /*#__PURE__*/React.createElement(
|
|
32
|
+
xcss: cx(!isMedium && styles.linkIconWrapperSmall)
|
|
33
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
75
34
|
label: "",
|
|
76
|
-
|
|
35
|
+
spacing: isMedium ? 'default' : 'compact',
|
|
36
|
+
appearance: "default",
|
|
37
|
+
"aria-hidden": "true" // Keeping this to be double sure icon isn't going to be focused
|
|
38
|
+
,
|
|
39
|
+
tabIndex: -1 // This is to prevent the icon from being focused
|
|
40
|
+
,
|
|
41
|
+
testId: "linked-container-WebLink-new-icon",
|
|
42
|
+
icon: () => /*#__PURE__*/React.createElement(LinkIcon, {
|
|
43
|
+
label: "",
|
|
44
|
+
size: isMedium ? 'medium' : 'small'
|
|
45
|
+
})
|
|
77
46
|
}));
|
|
78
47
|
}
|
|
79
48
|
return /*#__PURE__*/React.createElement(Avatar, {
|
|
@@ -34,7 +34,7 @@ export const AddContainerCard = ({
|
|
|
34
34
|
containerType,
|
|
35
35
|
onAddAContainerClick,
|
|
36
36
|
isLoading = false,
|
|
37
|
-
|
|
37
|
+
canCreateContainers = false
|
|
38
38
|
}) => {
|
|
39
39
|
const {
|
|
40
40
|
description,
|
|
@@ -68,7 +68,7 @@ export const AddContainerCard = ({
|
|
|
68
68
|
onAddAContainerClick(e);
|
|
69
69
|
e.stopPropagation();
|
|
70
70
|
}
|
|
71
|
-
})),
|
|
71
|
+
})), canCreateContainers ? /*#__PURE__*/React.createElement(AddContainerCardButton, {
|
|
72
72
|
type: containerType
|
|
73
73
|
}) : /*#__PURE__*/React.createElement(Stack, fg('enable_medium_size_icons_for_team_link_cards') ? {
|
|
74
74
|
space: 'space.025'
|
|
@@ -88,27 +88,27 @@ export const getAddContainerCards = ({
|
|
|
88
88
|
containers,
|
|
89
89
|
onAddAContainerClick,
|
|
90
90
|
CustomAddContainerCard,
|
|
91
|
-
|
|
91
|
+
canCreateContainers
|
|
92
92
|
}) => {
|
|
93
93
|
const AddContainerCardComponent = CustomAddContainerCard !== null && CustomAddContainerCard !== void 0 ? CustomAddContainerCard : AddContainerCard;
|
|
94
94
|
return /*#__PURE__*/React.createElement(React.Fragment, null, containers.Jira.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
95
95
|
onAddAContainerClick: e => onAddAContainerClick(e, 'Jira'),
|
|
96
96
|
containerType: "JiraProject",
|
|
97
97
|
isLoading: containers.Jira.isLoading,
|
|
98
|
-
|
|
98
|
+
canCreateContainers: canCreateContainers
|
|
99
99
|
}), containers.Confluence.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
100
100
|
onAddAContainerClick: e => onAddAContainerClick(e, 'Confluence'),
|
|
101
101
|
containerType: "ConfluenceSpace",
|
|
102
102
|
isLoading: containers.Confluence.isLoading,
|
|
103
|
-
|
|
103
|
+
canCreateContainers: canCreateContainers
|
|
104
104
|
}), containers.Loom.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
105
105
|
onAddAContainerClick: e => onAddAContainerClick(e, 'Loom'),
|
|
106
106
|
containerType: "LoomSpace",
|
|
107
107
|
isLoading: containers.Loom.isLoading,
|
|
108
|
-
|
|
108
|
+
canCreateContainers: canCreateContainers
|
|
109
109
|
}), containers.WebLink.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
110
110
|
onAddAContainerClick: e => onAddAContainerClick(e, 'WebLink'),
|
|
111
111
|
containerType: "WebLink",
|
|
112
|
-
|
|
112
|
+
canCreateContainers: canCreateContainers
|
|
113
113
|
}));
|
|
114
114
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
2
|
import { defineMessages, FormattedMessage } from 'react-intl-next';
|
|
3
3
|
import Button from '@atlaskit/button/new';
|
|
4
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
5
4
|
import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
|
|
6
5
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
6
|
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
|
|
@@ -101,14 +100,13 @@ export const TeamContainers = ({
|
|
|
101
100
|
useRefreshOnContainerCreated(teamId);
|
|
102
101
|
const hasPermissionToCreateContainer = useMemo(() => {
|
|
103
102
|
if (!productPermissions) {
|
|
104
|
-
return
|
|
103
|
+
return false;
|
|
105
104
|
}
|
|
106
105
|
const getPermission = (product, permission) => {
|
|
107
106
|
return productPermissions && hasProductPermission(productPermissions, product, permission);
|
|
108
107
|
};
|
|
109
108
|
return getPermission('confluence', ['CREATE_SPACE']) || getPermission('jira', ['CREATE_PROJECT']) || getPermission('loom', ['write']);
|
|
110
109
|
}, [productPermissions]);
|
|
111
|
-
const createContainerExperimentEnabled = hasPermissionToCreateContainer && FeatureGates.initializeCompleted() && FeatureGates.getExperimentValue('teams_app_auto_container_creation', 'isEnabled', false);
|
|
112
110
|
useEffect(() => {
|
|
113
111
|
if (isDisplayedOnProfileCard && filterContainerId) {
|
|
114
112
|
setFilteredTeamLinks(teamLinks.filter(container => container.id !== filterContainerId));
|
|
@@ -272,7 +270,7 @@ export const TeamContainers = ({
|
|
|
272
270
|
containers: availableContainers,
|
|
273
271
|
onAddAContainerClick: onAddAContainerClick,
|
|
274
272
|
CustomAddContainerCard: components === null || components === void 0 ? void 0 : components.AddContainerCard,
|
|
275
|
-
|
|
273
|
+
canCreateContainers: hasPermissionToCreateContainer
|
|
276
274
|
}), showMore && filteredTeamLinks.slice(maxNumberOfContainersToShow).map(container => {
|
|
277
275
|
return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
|
|
278
276
|
key: container.id,
|
|
@@ -4,7 +4,6 @@ import "./index.compiled.css";
|
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import React, { useState } from 'react';
|
|
6
6
|
import { defineMessages, useIntl } from 'react-intl-next';
|
|
7
|
-
import { isFedRamp } from '@atlaskit/atlassian-context';
|
|
8
7
|
import { IconButton } from '@atlaskit/button/new';
|
|
9
8
|
import { cx } from '@atlaskit/css';
|
|
10
9
|
import DropdownMenu, { DropdownItem, DropdownItemGroup } from '@atlaskit/dropdown-menu';
|
|
@@ -78,8 +77,7 @@ export const TeamLinkCard = ({
|
|
|
78
77
|
const {
|
|
79
78
|
fireEvent
|
|
80
79
|
} = useAnalyticsEvents();
|
|
81
|
-
const
|
|
82
|
-
const isOpenWebLinkInNewTabEnabled = containerType === 'WebLink' && isNewTeamProfilePageEnabled;
|
|
80
|
+
const isOpenWebLinkInNewTabEnabled = containerType === 'WebLink';
|
|
83
81
|
const handleMouseEnter = () => {
|
|
84
82
|
if (isReadOnly) {
|
|
85
83
|
return;
|
|
@@ -176,13 +174,7 @@ export const TeamLinkCard = ({
|
|
|
176
174
|
}, !hideSubTextIcon ? icon : null, /*#__PURE__*/React.createElement(Inline, {
|
|
177
175
|
space: "space.050",
|
|
178
176
|
alignBlock: "center"
|
|
179
|
-
},
|
|
180
|
-
size: "small",
|
|
181
|
-
color: "color.text.subtle"
|
|
182
|
-
}, description), /*#__PURE__*/React.createElement(Text, {
|
|
183
|
-
size: "small",
|
|
184
|
-
color: "color.text.subtle"
|
|
185
|
-
}, containerTypeText))))), isOpenWebLinkInNewTabEnabled && /*#__PURE__*/React.createElement(Box, {
|
|
177
|
+
}, renderContainerTypeTextWithSeparator(containerTypeText, description)))), isOpenWebLinkInNewTabEnabled && /*#__PURE__*/React.createElement(Box, {
|
|
186
178
|
xcss: styles.externalLinkIconWrapper
|
|
187
179
|
}, /*#__PURE__*/React.createElement(LinkExternalIcon, {
|
|
188
180
|
label: formatMessage(messages.linkExternalIconLabel),
|
|
@@ -224,13 +216,7 @@ export const TeamLinkCard = ({
|
|
|
224
216
|
}, !hideSubTextIcon ? icon : null, /*#__PURE__*/React.createElement(Inline, {
|
|
225
217
|
space: "space.050",
|
|
226
218
|
alignBlock: "center"
|
|
227
|
-
},
|
|
228
|
-
size: "small",
|
|
229
|
-
color: "color.text.subtle"
|
|
230
|
-
}, description), /*#__PURE__*/React.createElement(Text, {
|
|
231
|
-
size: "small",
|
|
232
|
-
color: "color.text.subtle"
|
|
233
|
-
}, containerTypeText))))))), showCloseIcon && /*#__PURE__*/React.createElement(Box, {
|
|
219
|
+
}, renderContainerTypeTextWithSeparator(containerTypeText, description)))))), showCloseIcon && /*#__PURE__*/React.createElement(Box, {
|
|
234
220
|
xcss: styles.crossIconWrapper
|
|
235
221
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
236
222
|
content: formatMessage(messages.disconnectTooltip),
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
._2rko1mok{border-radius:var(--ds-radius-large,8px)}
|
|
3
|
-
._2rkolb4i{border-radius:var(--ds-radius-xsmall,2px)}._12ji1l7x{outline-color:var(--ds-border,#0b120e24)}
|
|
4
1
|
._18u0v77o{margin-left:var(--ds-space-025,2px)}
|
|
5
2
|
._19pkv77o{margin-top:var(--ds-space-025,2px)}
|
|
6
|
-
._1bah1h6o{justify-content:center}
|
|
7
|
-
._1bsb1tcg{width:24px}
|
|
8
|
-
._1bsb1u1b{width:34px}
|
|
9
|
-
._1e0c1txw{display:flex}
|
|
10
|
-
._1qu2nqa1{outline-style:solid}
|
|
11
|
-
._1ul91tcg{min-width:24px}
|
|
12
3
|
._2hwxv77o{margin-right:var(--ds-space-025,2px)}
|
|
13
|
-
._4cvr1h6o{align-items:center}
|
|
14
|
-
._4t3i1tcg{height:24px}
|
|
15
|
-
._4t3i1u1b{height:34px}
|
|
16
|
-
._bfhkhfxm{background-color:var(--ds-surface-sunken,#f8f8f8)}
|
|
17
|
-
._bfhkizff{background-color:var(--ds-skeleton,#0515240f)}
|
|
18
4
|
._otyrv77o{margin-bottom:var(--ds-space-025,2px)}
|
|
@@ -2,41 +2,22 @@
|
|
|
2
2
|
import "./index.compiled.css";
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import { isFedRamp } from '@atlaskit/atlassian-context';
|
|
6
5
|
import Avatar from '@atlaskit/avatar';
|
|
7
6
|
import { IconButton } from '@atlaskit/button/new';
|
|
8
7
|
import { cx } from '@atlaskit/css';
|
|
9
|
-
import GlobeIcon from '@atlaskit/icon/core/globe';
|
|
10
8
|
import LinkIcon from '@atlaskit/icon/core/link';
|
|
11
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
9
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
13
10
|
import { LoomSpaceAvatar } from '../loom-avatar';
|
|
14
11
|
var styles = {
|
|
15
|
-
|
|
16
|
-
globeIconWrapperSmall: "_2rkolb4i _1ul91tcg _4t3i1tcg _1e0c1txw _4cvr1h6o _1bah1h6o _19pkv77o _2hwxv77o _otyrv77o _18u0v77o _12ji1l7x _1qu2nqa1 _bfhkhfxm",
|
|
17
|
-
linkIconWrapperSmall: "_19pkv77o _2hwxv77o _otyrv77o _18u0v77o",
|
|
18
|
-
skeletonMedium: "_2rko1mok _bfhkizff _1bsb1u1b _4t3i1u1b",
|
|
19
|
-
skeletonSmall: "_2rkolb4i _bfhkizff _1bsb1tcg _4t3i1tcg"
|
|
12
|
+
linkIconWrapperSmall: "_19pkv77o _2hwxv77o _otyrv77o _18u0v77o"
|
|
20
13
|
};
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
28
|
-
export var ContainerIcon = function ContainerIcon(_ref2) {
|
|
29
|
-
var containerType = _ref2.containerType,
|
|
30
|
-
title = _ref2.title,
|
|
31
|
-
containerIcon = _ref2.containerIcon,
|
|
32
|
-
_ref2$size = _ref2.size,
|
|
33
|
-
size = _ref2$size === void 0 ? 'medium' : _ref2$size,
|
|
34
|
-
_ref2$iconsLoading = _ref2.iconsLoading,
|
|
35
|
-
iconsLoading = _ref2$iconsLoading === void 0 ? false : _ref2$iconsLoading,
|
|
36
|
-
_ref2$iconHasLoaded = _ref2.iconHasLoaded,
|
|
37
|
-
iconHasLoaded = _ref2$iconHasLoaded === void 0 ? true : _ref2$iconHasLoaded;
|
|
14
|
+
export var ContainerIcon = function ContainerIcon(_ref) {
|
|
15
|
+
var containerType = _ref.containerType,
|
|
16
|
+
title = _ref.title,
|
|
17
|
+
containerIcon = _ref.containerIcon,
|
|
18
|
+
_ref$size = _ref.size,
|
|
19
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size;
|
|
38
20
|
var isMedium = size === 'medium';
|
|
39
|
-
var isNewTeamProfilePageEnabled = !isFedRamp() || fg('new_team_profile_fedramp');
|
|
40
21
|
if (containerType === 'LoomSpace') {
|
|
41
22
|
return /*#__PURE__*/React.createElement(LoomSpaceAvatar, {
|
|
42
23
|
spaceName: title,
|
|
@@ -47,36 +28,23 @@ export var ContainerIcon = function ContainerIcon(_ref2) {
|
|
|
47
28
|
|
|
48
29
|
// This is a fallback icon for WebLink if the containerIcon is not present
|
|
49
30
|
if (containerType === 'WebLink' && !containerIcon) {
|
|
50
|
-
if (isNewTeamProfilePageEnabled) {
|
|
51
|
-
return /*#__PURE__*/React.createElement(Box, {
|
|
52
|
-
xcss: cx(!isMedium && styles.linkIconWrapperSmall)
|
|
53
|
-
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
54
|
-
label: "",
|
|
55
|
-
spacing: isMedium ? 'default' : 'compact',
|
|
56
|
-
appearance: "default",
|
|
57
|
-
"aria-hidden": "true" // Keeping this to be double sure icon isn't going to be focused
|
|
58
|
-
,
|
|
59
|
-
tabIndex: -1 // This is to prevent the icon from being focused
|
|
60
|
-
,
|
|
61
|
-
testId: "linked-container-WebLink-new-icon",
|
|
62
|
-
icon: function icon() {
|
|
63
|
-
return /*#__PURE__*/React.createElement(LinkIcon, {
|
|
64
|
-
label: "",
|
|
65
|
-
size: isMedium ? 'medium' : 'small'
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
if (iconsLoading || !iconHasLoaded) {
|
|
71
|
-
return /*#__PURE__*/React.createElement(IconSkeleton, {
|
|
72
|
-
size: size
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
31
|
return /*#__PURE__*/React.createElement(Box, {
|
|
76
|
-
xcss: isMedium
|
|
77
|
-
}, /*#__PURE__*/React.createElement(
|
|
32
|
+
xcss: cx(!isMedium && styles.linkIconWrapperSmall)
|
|
33
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
78
34
|
label: "",
|
|
79
|
-
|
|
35
|
+
spacing: isMedium ? 'default' : 'compact',
|
|
36
|
+
appearance: "default",
|
|
37
|
+
"aria-hidden": "true" // Keeping this to be double sure icon isn't going to be focused
|
|
38
|
+
,
|
|
39
|
+
tabIndex: -1 // This is to prevent the icon from being focused
|
|
40
|
+
,
|
|
41
|
+
testId: "linked-container-WebLink-new-icon",
|
|
42
|
+
icon: function icon() {
|
|
43
|
+
return /*#__PURE__*/React.createElement(LinkIcon, {
|
|
44
|
+
label: "",
|
|
45
|
+
size: isMedium ? 'medium' : 'small'
|
|
46
|
+
});
|
|
47
|
+
}
|
|
80
48
|
}));
|
|
81
49
|
}
|
|
82
50
|
return /*#__PURE__*/React.createElement(Avatar, {
|
|
@@ -42,8 +42,8 @@ export var AddContainerCard = function AddContainerCard(_ref2) {
|
|
|
42
42
|
onAddAContainerClick = _ref2.onAddAContainerClick,
|
|
43
43
|
_ref2$isLoading = _ref2.isLoading,
|
|
44
44
|
isLoading = _ref2$isLoading === void 0 ? false : _ref2$isLoading,
|
|
45
|
-
_ref2$
|
|
46
|
-
|
|
45
|
+
_ref2$canCreateContai = _ref2.canCreateContainers,
|
|
46
|
+
canCreateContainers = _ref2$canCreateContai === void 0 ? false : _ref2$canCreateContai;
|
|
47
47
|
var _getContainerProperti = getContainerProperties({
|
|
48
48
|
containerType: containerType,
|
|
49
49
|
iconSize: fg('enable_medium_size_icons_for_team_link_cards') ? 'medium' : undefined,
|
|
@@ -77,7 +77,7 @@ export var AddContainerCard = function AddContainerCard(_ref2) {
|
|
|
77
77
|
onAddAContainerClick(e);
|
|
78
78
|
e.stopPropagation();
|
|
79
79
|
}
|
|
80
|
-
})),
|
|
80
|
+
})), canCreateContainers ? /*#__PURE__*/React.createElement(AddContainerCardButton, {
|
|
81
81
|
type: containerType
|
|
82
82
|
}) : /*#__PURE__*/React.createElement(Stack, fg('enable_medium_size_icons_for_team_link_cards') ? {
|
|
83
83
|
space: 'space.025'
|
|
@@ -97,7 +97,7 @@ export var getAddContainerCards = function getAddContainerCards(_ref3) {
|
|
|
97
97
|
var containers = _ref3.containers,
|
|
98
98
|
_onAddAContainerClick = _ref3.onAddAContainerClick,
|
|
99
99
|
CustomAddContainerCard = _ref3.CustomAddContainerCard,
|
|
100
|
-
|
|
100
|
+
canCreateContainers = _ref3.canCreateContainers;
|
|
101
101
|
var AddContainerCardComponent = CustomAddContainerCard !== null && CustomAddContainerCard !== void 0 ? CustomAddContainerCard : AddContainerCard;
|
|
102
102
|
return /*#__PURE__*/React.createElement(React.Fragment, null, containers.Jira.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
103
103
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
@@ -105,26 +105,26 @@ export var getAddContainerCards = function getAddContainerCards(_ref3) {
|
|
|
105
105
|
},
|
|
106
106
|
containerType: "JiraProject",
|
|
107
107
|
isLoading: containers.Jira.isLoading,
|
|
108
|
-
|
|
108
|
+
canCreateContainers: canCreateContainers
|
|
109
109
|
}), containers.Confluence.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
110
110
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
111
111
|
return _onAddAContainerClick(e, 'Confluence');
|
|
112
112
|
},
|
|
113
113
|
containerType: "ConfluenceSpace",
|
|
114
114
|
isLoading: containers.Confluence.isLoading,
|
|
115
|
-
|
|
115
|
+
canCreateContainers: canCreateContainers
|
|
116
116
|
}), containers.Loom.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
117
117
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
118
118
|
return _onAddAContainerClick(e, 'Loom');
|
|
119
119
|
},
|
|
120
120
|
containerType: "LoomSpace",
|
|
121
121
|
isLoading: containers.Loom.isLoading,
|
|
122
|
-
|
|
122
|
+
canCreateContainers: canCreateContainers
|
|
123
123
|
}), containers.WebLink.canAdd && /*#__PURE__*/React.createElement(AddContainerCardComponent, {
|
|
124
124
|
onAddAContainerClick: function onAddAContainerClick(e) {
|
|
125
125
|
return _onAddAContainerClick(e, 'WebLink');
|
|
126
126
|
},
|
|
127
127
|
containerType: "WebLink",
|
|
128
|
-
|
|
128
|
+
canCreateContainers: canCreateContainers
|
|
129
129
|
}));
|
|
130
130
|
};
|
|
@@ -4,7 +4,6 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
4
4
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
5
5
|
import { defineMessages, FormattedMessage } from 'react-intl-next';
|
|
6
6
|
import Button from '@atlaskit/button/new';
|
|
7
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
8
7
|
import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
|
|
9
8
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
9
|
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
|
|
@@ -119,14 +118,13 @@ export var TeamContainers = function TeamContainers(_ref) {
|
|
|
119
118
|
useRefreshOnContainerCreated(teamId);
|
|
120
119
|
var hasPermissionToCreateContainer = useMemo(function () {
|
|
121
120
|
if (!productPermissions) {
|
|
122
|
-
return
|
|
121
|
+
return false;
|
|
123
122
|
}
|
|
124
123
|
var getPermission = function getPermission(product, permission) {
|
|
125
124
|
return productPermissions && hasProductPermission(productPermissions, product, permission);
|
|
126
125
|
};
|
|
127
126
|
return getPermission('confluence', ['CREATE_SPACE']) || getPermission('jira', ['CREATE_PROJECT']) || getPermission('loom', ['write']);
|
|
128
127
|
}, [productPermissions]);
|
|
129
|
-
var createContainerExperimentEnabled = hasPermissionToCreateContainer && FeatureGates.initializeCompleted() && FeatureGates.getExperimentValue('teams_app_auto_container_creation', 'isEnabled', false);
|
|
130
128
|
useEffect(function () {
|
|
131
129
|
if (isDisplayedOnProfileCard && filterContainerId) {
|
|
132
130
|
setFilteredTeamLinks(teamLinks.filter(function (container) {
|
|
@@ -324,7 +322,7 @@ export var TeamContainers = function TeamContainers(_ref) {
|
|
|
324
322
|
containers: availableContainers,
|
|
325
323
|
onAddAContainerClick: onAddAContainerClick,
|
|
326
324
|
CustomAddContainerCard: components === null || components === void 0 ? void 0 : components.AddContainerCard,
|
|
327
|
-
|
|
325
|
+
canCreateContainers: hasPermissionToCreateContainer
|
|
328
326
|
}), showMore && filteredTeamLinks.slice(maxNumberOfContainersToShow).map(function (container) {
|
|
329
327
|
return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
|
|
330
328
|
key: container.id,
|
|
@@ -10,7 +10,6 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
10
10
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
11
|
import React, { useState } from 'react';
|
|
12
12
|
import { defineMessages, useIntl } from 'react-intl-next';
|
|
13
|
-
import { isFedRamp } from '@atlaskit/atlassian-context';
|
|
14
13
|
import { IconButton } from '@atlaskit/button/new';
|
|
15
14
|
import { cx } from '@atlaskit/css';
|
|
16
15
|
import DropdownMenu, { DropdownItem, DropdownItemGroup } from '@atlaskit/dropdown-menu';
|
|
@@ -95,8 +94,7 @@ export var TeamLinkCard = function TeamLinkCard(_ref) {
|
|
|
95
94
|
formatMessage = _useIntl.formatMessage;
|
|
96
95
|
var _useAnalyticsEvents = useAnalyticsEvents(),
|
|
97
96
|
fireEvent = _useAnalyticsEvents.fireEvent;
|
|
98
|
-
var
|
|
99
|
-
var isOpenWebLinkInNewTabEnabled = containerType === 'WebLink' && isNewTeamProfilePageEnabled;
|
|
97
|
+
var isOpenWebLinkInNewTabEnabled = containerType === 'WebLink';
|
|
100
98
|
var handleMouseEnter = function handleMouseEnter() {
|
|
101
99
|
if (isReadOnly) {
|
|
102
100
|
return;
|
|
@@ -192,13 +190,7 @@ export var TeamLinkCard = function TeamLinkCard(_ref) {
|
|
|
192
190
|
}, !hideSubTextIcon ? icon : null, /*#__PURE__*/React.createElement(Inline, {
|
|
193
191
|
space: "space.050",
|
|
194
192
|
alignBlock: "center"
|
|
195
|
-
},
|
|
196
|
-
size: "small",
|
|
197
|
-
color: "color.text.subtle"
|
|
198
|
-
}, description), /*#__PURE__*/React.createElement(Text, {
|
|
199
|
-
size: "small",
|
|
200
|
-
color: "color.text.subtle"
|
|
201
|
-
}, containerTypeText))))), isOpenWebLinkInNewTabEnabled && /*#__PURE__*/React.createElement(Box, {
|
|
193
|
+
}, renderContainerTypeTextWithSeparator(containerTypeText, description)))), isOpenWebLinkInNewTabEnabled && /*#__PURE__*/React.createElement(Box, {
|
|
202
194
|
xcss: styles.externalLinkIconWrapper
|
|
203
195
|
}, /*#__PURE__*/React.createElement(LinkExternalIcon, {
|
|
204
196
|
label: formatMessage(messages.linkExternalIconLabel),
|
|
@@ -240,13 +232,7 @@ export var TeamLinkCard = function TeamLinkCard(_ref) {
|
|
|
240
232
|
}, !hideSubTextIcon ? icon : null, /*#__PURE__*/React.createElement(Inline, {
|
|
241
233
|
space: "space.050",
|
|
242
234
|
alignBlock: "center"
|
|
243
|
-
},
|
|
244
|
-
size: "small",
|
|
245
|
-
color: "color.text.subtle"
|
|
246
|
-
}, description), /*#__PURE__*/React.createElement(Text, {
|
|
247
|
-
size: "small",
|
|
248
|
-
color: "color.text.subtle"
|
|
249
|
-
}, containerTypeText))))))), showCloseIcon && /*#__PURE__*/React.createElement(Box, {
|
|
235
|
+
}, renderContainerTypeTextWithSeparator(containerTypeText, description)))))), showCloseIcon && /*#__PURE__*/React.createElement(Box, {
|
|
250
236
|
xcss: styles.crossIconWrapper
|
|
251
237
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
|
252
238
|
content: formatMessage(messages.disconnectTooltip),
|
|
@@ -9,4 +9,4 @@ export interface ContainerIconProps {
|
|
|
9
9
|
iconsLoading?: boolean;
|
|
10
10
|
iconHasLoaded?: boolean;
|
|
11
11
|
}
|
|
12
|
-
export declare const ContainerIcon: ({ containerType, title, containerIcon, size,
|
|
12
|
+
export declare const ContainerIcon: ({ containerType, title, containerIcon, size, }: ContainerIconProps) => React.JSX.Element;
|
|
@@ -4,9 +4,9 @@ export interface AddContainerCardProps {
|
|
|
4
4
|
containerType: ContainerTypes;
|
|
5
5
|
onAddAContainerClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
6
6
|
isLoading?: boolean;
|
|
7
|
-
|
|
7
|
+
canCreateContainers?: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare const AddContainerCard: ({ containerType, onAddAContainerClick, isLoading,
|
|
9
|
+
export declare const AddContainerCard: ({ containerType, onAddAContainerClick, isLoading, canCreateContainers, }: AddContainerCardProps) => React.JSX.Element;
|
|
10
10
|
type Container = {
|
|
11
11
|
canAdd: boolean;
|
|
12
12
|
isLoading: boolean;
|
|
@@ -20,7 +20,7 @@ type GetAddContainerCardsProps = {
|
|
|
20
20
|
};
|
|
21
21
|
onAddAContainerClick: (e: React.MouseEvent<HTMLButtonElement>, containerType: 'Confluence' | 'Jira' | 'Loom' | 'WebLink') => void;
|
|
22
22
|
CustomAddContainerCard?: React.ComponentType<AddContainerCardProps>;
|
|
23
|
-
|
|
23
|
+
canCreateContainers?: boolean;
|
|
24
24
|
};
|
|
25
|
-
export declare const getAddContainerCards: ({ containers, onAddAContainerClick, CustomAddContainerCard,
|
|
25
|
+
export declare const getAddContainerCards: ({ containers, onAddAContainerClick, CustomAddContainerCard, canCreateContainers, }: GetAddContainerCardsProps) => React.JSX.Element;
|
|
26
26
|
export {};
|
|
@@ -9,4 +9,4 @@ export interface ContainerIconProps {
|
|
|
9
9
|
iconsLoading?: boolean;
|
|
10
10
|
iconHasLoaded?: boolean;
|
|
11
11
|
}
|
|
12
|
-
export declare const ContainerIcon: ({ containerType, title, containerIcon, size,
|
|
12
|
+
export declare const ContainerIcon: ({ containerType, title, containerIcon, size, }: ContainerIconProps) => React.JSX.Element;
|
|
@@ -4,9 +4,9 @@ export interface AddContainerCardProps {
|
|
|
4
4
|
containerType: ContainerTypes;
|
|
5
5
|
onAddAContainerClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
6
6
|
isLoading?: boolean;
|
|
7
|
-
|
|
7
|
+
canCreateContainers?: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare const AddContainerCard: ({ containerType, onAddAContainerClick, isLoading,
|
|
9
|
+
export declare const AddContainerCard: ({ containerType, onAddAContainerClick, isLoading, canCreateContainers, }: AddContainerCardProps) => React.JSX.Element;
|
|
10
10
|
type Container = {
|
|
11
11
|
canAdd: boolean;
|
|
12
12
|
isLoading: boolean;
|
|
@@ -20,7 +20,7 @@ type GetAddContainerCardsProps = {
|
|
|
20
20
|
};
|
|
21
21
|
onAddAContainerClick: (e: React.MouseEvent<HTMLButtonElement>, containerType: 'Confluence' | 'Jira' | 'Loom' | 'WebLink') => void;
|
|
22
22
|
CustomAddContainerCard?: React.ComponentType<AddContainerCardProps>;
|
|
23
|
-
|
|
23
|
+
canCreateContainers?: boolean;
|
|
24
24
|
};
|
|
25
|
-
export declare const getAddContainerCards: ({ containers, onAddAContainerClick, CustomAddContainerCard,
|
|
25
|
+
export declare const getAddContainerCards: ({ containers, onAddAContainerClick, CustomAddContainerCard, canCreateContainers, }: GetAddContainerCardsProps) => React.JSX.Element;
|
|
26
26
|
export {};
|
package/package.json
CHANGED
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@atlaskit/afm-i18n-platform-people-and-teams-teams-public": "2.39.0",
|
|
28
28
|
"@atlaskit/analytics-next": "^11.1.0",
|
|
29
|
-
"@atlaskit/atlassian-context": "^0.6.0",
|
|
30
29
|
"@atlaskit/avatar": "^25.8.0",
|
|
31
30
|
"@atlaskit/button": "^23.10.0",
|
|
32
31
|
"@atlaskit/css": "^0.19.0",
|
|
@@ -50,7 +49,7 @@
|
|
|
50
49
|
"@atlaskit/tokens": "^11.0.0",
|
|
51
50
|
"@atlaskit/tooltip": "^20.14.0",
|
|
52
51
|
"@babel/runtime": "^7.0.0",
|
|
53
|
-
"@compiled/react": "^0.
|
|
52
|
+
"@compiled/react": "^0.20.0",
|
|
54
53
|
"@types/string-hash": "^1.1.3",
|
|
55
54
|
"graphql": "^15.8.0",
|
|
56
55
|
"graphql-tag": "^2.10.1",
|
|
@@ -111,7 +110,7 @@
|
|
|
111
110
|
}
|
|
112
111
|
},
|
|
113
112
|
"name": "@atlaskit/teams-public",
|
|
114
|
-
"version": "0.70.
|
|
113
|
+
"version": "0.70.6",
|
|
115
114
|
"description": "Public components related to teams",
|
|
116
115
|
"author": "Atlassian Pty Ltd",
|
|
117
116
|
"license": "Apache-2.0",
|
|
@@ -143,9 +142,6 @@
|
|
|
143
142
|
},
|
|
144
143
|
"ptc-missed-analytics-migration-events": {
|
|
145
144
|
"type": "boolean"
|
|
146
|
-
},
|
|
147
|
-
"new_team_profile_fedramp": {
|
|
148
|
-
"type": "boolean"
|
|
149
145
|
}
|
|
150
146
|
}
|
|
151
147
|
}
|