@atlaskit/teams-public 0.37.0 → 0.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @atlaskit/teams-public
2
2
 
3
+ ## 0.38.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#171543](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/171543)
8
+ [`8012f13429f1c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8012f13429f1c) -
9
+ Minor fix - adding analytics event name, update team links limit number
10
+ - Updated dependencies
11
+
12
+ ## 0.38.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [#170383](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/170383)
17
+ [`0b0a0dd43dca8`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0b0a0dd43dca8) -
18
+ NO-ISSUE Replace existing experiment gate with new feature gate:
19
+ enable_web_links_in_team_containers
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies
24
+
3
25
  ## 0.37.0
4
26
 
5
27
  ### Minor Changes
@@ -51,7 +51,7 @@ var useTeamLinksAndContainers = exports.useTeamLinksAndContainers = function use
51
51
  return [].concat((0, _toConsumableArray2.default)(teamContainers), (0, _toConsumableArray2.default)(webLinkContainers));
52
52
  }, [teamContainers, webLinkContainers]);
53
53
  var canAddMoreLink = (0, _react.useMemo)(function () {
54
- return allContainers.length <= MAX_LINKS_LIMIT;
54
+ return allContainers.length < MAX_LINKS_LIMIT;
55
55
  }, [allContainers.length]);
56
56
  var addTeamLink = (0, _react.useCallback)( /*#__PURE__*/function () {
57
57
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(containerOrWebLink) {
@@ -13,7 +13,6 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _reactIntlNext = require("react-intl-next");
14
14
  var _analyticsNext = require("@atlaskit/analytics-next");
15
15
  var _new = _interopRequireDefault(require("@atlaskit/button/new"));
16
- var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
17
16
  var _modalTransition = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-transition"));
18
17
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
19
18
  var _primitives = require("@atlaskit/primitives");
@@ -44,7 +43,6 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
44
43
  isDisplayedOnProfileCard = _ref.isDisplayedOnProfileCard,
45
44
  _ref$maxNumberOfConta = _ref.maxNumberOfContainersToShow,
46
45
  maxNumberOfContainersToShow = _ref$maxNumberOfConta === void 0 ? MAX_NUMBER_OF_CONTAINERS_TO_SHOW : _ref$maxNumberOfConta;
47
- var isSupportingAddWebLink = _featureGateJsClient.default.initializeCompleted() && _featureGateJsClient.default.getExperimentValue('team_and_container_web_link', 'isEnabled', false);
48
46
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
49
47
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
50
48
  var _useTeamContainers = (0, _useTeamContainers2.useTeamContainers)(teamId),
@@ -99,7 +97,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
99
97
  productPermissions = _useProductPermission.data,
100
98
  productPermissionIsLoading = _useProductPermission.loading;
101
99
  (0, _react.useEffect)(function () {
102
- if (isSupportingAddWebLink) {
100
+ if ((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers')) {
103
101
  if (isDisplayedOnProfileCard && filterContainerId) {
104
102
  setFilteredTeamLinks(teamLinks.filter(function (container) {
105
103
  return container.id !== filterContainerId;
@@ -116,9 +114,9 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
116
114
  setFilteredTeamContainers(teamContainers);
117
115
  }
118
116
  }
119
- }, [teamLinks, teamContainers, isSupportingAddWebLink, isDisplayedOnProfileCard, filterContainerId]);
117
+ }, [teamLinks, teamContainers, isDisplayedOnProfileCard, filterContainerId]);
120
118
  (0, _react.useEffect)(function () {
121
- var containersToCheck = isSupportingAddWebLink ? filteredTeamLinks : filteredTeamContainers;
119
+ var containersToCheck = (0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks : filteredTeamContainers;
122
120
  if (containersToCheck.length > maxNumberOfContainersToShow || isDisplayedOnProfileCard) {
123
121
  setShowAddContainer({
124
122
  Jira: false,
@@ -146,7 +144,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
146
144
  WebLink: !hasWebLink
147
145
  });
148
146
  }
149
- }, [isDisplayedOnProfileCard, productPermissions, isSupportingAddWebLink, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
147
+ }, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
150
148
  var handleShowMore = function handleShowMore() {
151
149
  setShowMore(!showMore);
152
150
  };
@@ -166,19 +164,19 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
166
164
  onEditContainerClick(container.id, container.link || '', container.name);
167
165
  }
168
166
  }, [onEditContainerClick]);
169
- var LinkedContainerCardComponent = (components === null || components === void 0 ? void 0 : components.ContainerCard) || (isSupportingAddWebLink ? _teamLinkCard.TeamLinkCard : _linkedContainerCard.LinkedContainerCard);
167
+ var LinkedContainerCardComponent = (components === null || components === void 0 ? void 0 : components.ContainerCard) || ((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? _teamLinkCard.TeamLinkCard : _linkedContainerCard.LinkedContainerCard);
170
168
  var handleDisconnect = (0, _react.useCallback)( /*#__PURE__*/function () {
171
169
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(containerId) {
172
170
  var removedContainer;
173
171
  return _regenerator.default.wrap(function _callee$(_context) {
174
172
  while (1) switch (_context.prev = _context.next) {
175
173
  case 0:
176
- removedContainer = isSupportingAddWebLink ? filteredTeamLinks.find(function (container) {
174
+ removedContainer = (0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.find(function (container) {
177
175
  return container.id === containerId;
178
176
  }) : filteredTeamContainers.find(function (container) {
179
177
  return container.id === containerId;
180
178
  });
181
- if (!(isSupportingAddWebLink && removedContainer)) {
179
+ if (!(removedContainer && (0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers'))) {
182
180
  _context.next = 6;
183
181
  break;
184
182
  }
@@ -219,14 +217,14 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
219
217
  return function (_x) {
220
218
  return _ref2.apply(this, arguments);
221
219
  };
222
- }(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, isSupportingAddWebLink, removeTeamLink, teamId, unlinkError]);
220
+ }(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
223
221
  var TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || _teamContainersSkeleton.TeamContainersSkeleton;
224
222
  if (loading || productPermissionIsLoading) {
225
223
  return /*#__PURE__*/_react.default.createElement(TeamContainersSkeletonComponent, {
226
224
  numberOfContainers: maxNumberOfContainersToShow
227
225
  });
228
226
  }
229
- if ((isSupportingAddWebLink ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && ((0, _controllers.hasProductPermission)(productPermissions, 'jira') || (0, _controllers.hasProductPermission)(productPermissions, 'confluence') || (0, _controllers.hasProductPermission)(productPermissions, 'loom'))))) {
227
+ if (((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && ((0, _controllers.hasProductPermission)(productPermissions, 'jira') || (0, _controllers.hasProductPermission)(productPermissions, 'confluence') || (0, _controllers.hasProductPermission)(productPermissions, 'loom'))))) {
230
228
  return /*#__PURE__*/_react.default.createElement(_noProductAccessEmptyState.NoProductAccessState, null);
231
229
  }
232
230
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
@@ -234,7 +232,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
234
232
  }, /*#__PURE__*/_react.default.createElement(_primitives.Grid, {
235
233
  templateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
236
234
  gap: isDisplayedOnProfileCard ? 'space.0' : 'space.100'
237
- }, isSupportingAddWebLink ? filteredTeamLinks.slice(0, maxNumberOfContainersToShow).map(function (container) {
235
+ }, (0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.slice(0, maxNumberOfContainersToShow).map(function (container) {
238
236
  return /*#__PURE__*/_react.default.createElement(LinkedContainerCardComponent, {
239
237
  key: container.id,
240
238
  containerType: container.type,
@@ -288,12 +286,12 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
288
286
  return _onAddAContainerClick(e, 'Loom');
289
287
  },
290
288
  containerType: "LoomSpace"
291
- }), isSupportingAddWebLink && showAddContainer.WebLink && /*#__PURE__*/_react.default.createElement(_addContainerCard.AddContainerCard, {
289
+ }), showAddContainer.WebLink && (0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') && /*#__PURE__*/_react.default.createElement(_addContainerCard.AddContainerCard, {
292
290
  onAddAContainerClick: function onAddAContainerClick(e) {
293
291
  return _onAddAContainerClick(e, 'WebLink');
294
292
  },
295
293
  containerType: "WebLink"
296
- }), showMore && isSupportingAddWebLink ? filteredTeamLinks.slice(maxNumberOfContainersToShow).map(function (container) {
294
+ }), showMore && (0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.slice(maxNumberOfContainersToShow).map(function (container) {
297
295
  return /*#__PURE__*/_react.default.createElement(LinkedContainerCardComponent, {
298
296
  key: container.id,
299
297
  containerType: container.type,
@@ -332,7 +330,7 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
332
330
  });
333
331
  }
334
332
  });
335
- })), (isSupportingAddWebLink ? filteredTeamLinks.length : filteredTeamContainers.length) > maxNumberOfContainersToShow && /*#__PURE__*/_react.default.createElement(_primitives.Inline, null, /*#__PURE__*/_react.default.createElement(_new.default, {
333
+ })), ((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.length : filteredTeamContainers.length) > maxNumberOfContainersToShow && /*#__PURE__*/_react.default.createElement(_primitives.Inline, null, /*#__PURE__*/_react.default.createElement(_new.default, {
336
334
  appearance: "subtle",
337
335
  onClick: handleShowMore
338
336
  }, showMore ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.showLess) : /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.showMore)))), /*#__PURE__*/_react.default.createElement(_modalTransition.default, null, isDisconnectDialogOpen && selectedContainerDetails && /*#__PURE__*/_react.default.createElement(_async.DisconnectDialogLazy, {
@@ -31,7 +31,7 @@ export const useTeamLinksAndContainers = (teamId, enableContainers = true) => {
31
31
  }, [getTeamWebLinks, teamId]);
32
32
  const webLinkContainers = useMemo(() => webLinksToContainers(links, linkIcons), [links, linkIcons]);
33
33
  const allContainers = useMemo(() => [...teamContainers, ...webLinkContainers], [teamContainers, webLinkContainers]);
34
- const canAddMoreLink = useMemo(() => allContainers.length <= MAX_LINKS_LIMIT, [allContainers.length]);
34
+ const canAddMoreLink = useMemo(() => allContainers.length < MAX_LINKS_LIMIT, [allContainers.length]);
35
35
  const addTeamLink = useCallback(async containerOrWebLink => {
36
36
  if (isNewTeamWebLink(containerOrWebLink)) {
37
37
  return await createTeamWebLink(teamId, containerOrWebLink);
@@ -2,7 +2,6 @@ import React, { useCallback, useEffect, useState } from 'react';
2
2
  import { defineMessages, FormattedMessage } from 'react-intl-next';
3
3
  import { useAnalyticsEvents } from '@atlaskit/analytics-next';
4
4
  import Button from '@atlaskit/button/new';
5
- import FeatureGates from '@atlaskit/feature-gate-js-client';
6
5
  import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
7
6
  import { fg } from '@atlaskit/platform-feature-flags';
8
7
  import { Grid, Inline, Stack } from '@atlaskit/primitives';
@@ -32,7 +31,6 @@ export const TeamContainers = ({
32
31
  isDisplayedOnProfileCard,
33
32
  maxNumberOfContainersToShow = MAX_NUMBER_OF_CONTAINERS_TO_SHOW
34
33
  }) => {
35
- const isSupportingAddWebLink = FeatureGates.initializeCompleted() && FeatureGates.getExperimentValue('team_and_container_web_link', 'isEnabled', false);
36
34
  const {
37
35
  createAnalyticsEvent
38
36
  } = useAnalyticsEvents();
@@ -71,7 +69,7 @@ export const TeamContainers = ({
71
69
  cloudId
72
70
  });
73
71
  useEffect(() => {
74
- if (isSupportingAddWebLink) {
72
+ if (fg('enable_web_links_in_team_containers')) {
75
73
  if (isDisplayedOnProfileCard && filterContainerId) {
76
74
  setFilteredTeamLinks(teamLinks.filter(container => container.id !== filterContainerId));
77
75
  } else {
@@ -84,9 +82,9 @@ export const TeamContainers = ({
84
82
  setFilteredTeamContainers(teamContainers);
85
83
  }
86
84
  }
87
- }, [teamLinks, teamContainers, isSupportingAddWebLink, isDisplayedOnProfileCard, filterContainerId]);
85
+ }, [teamLinks, teamContainers, isDisplayedOnProfileCard, filterContainerId]);
88
86
  useEffect(() => {
89
- const containersToCheck = isSupportingAddWebLink ? filteredTeamLinks : filteredTeamContainers;
87
+ const containersToCheck = fg('enable_web_links_in_team_containers') ? filteredTeamLinks : filteredTeamContainers;
90
88
  if (containersToCheck.length > maxNumberOfContainersToShow || isDisplayedOnProfileCard) {
91
89
  setShowAddContainer({
92
90
  Jira: false,
@@ -106,7 +104,7 @@ export const TeamContainers = ({
106
104
  WebLink: !hasWebLink
107
105
  });
108
106
  }
109
- }, [isDisplayedOnProfileCard, productPermissions, isSupportingAddWebLink, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
107
+ }, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
110
108
  const handleShowMore = () => {
111
109
  setShowMore(!showMore);
112
110
  };
@@ -126,10 +124,10 @@ export const TeamContainers = ({
126
124
  onEditContainerClick(container.id, container.link || '', container.name);
127
125
  }
128
126
  }, [onEditContainerClick]);
129
- const LinkedContainerCardComponent = (components === null || components === void 0 ? void 0 : components.ContainerCard) || (isSupportingAddWebLink ? TeamLinkCard : LinkedContainerCard);
127
+ const LinkedContainerCardComponent = (components === null || components === void 0 ? void 0 : components.ContainerCard) || (fg('enable_web_links_in_team_containers') ? TeamLinkCard : LinkedContainerCard);
130
128
  const handleDisconnect = useCallback(async containerId => {
131
- const removedContainer = isSupportingAddWebLink ? filteredTeamLinks.find(container => container.id === containerId) : filteredTeamContainers.find(container => container.id === containerId);
132
- if (isSupportingAddWebLink && removedContainer) {
129
+ const removedContainer = fg('enable_web_links_in_team_containers') ? filteredTeamLinks.find(container => container.id === containerId) : filteredTeamContainers.find(container => container.id === containerId);
130
+ if (removedContainer && fg('enable_web_links_in_team_containers')) {
133
131
  await removeTeamLink(removedContainer);
134
132
  } else {
135
133
  await actions.unlinkTeamContainers(teamId, containerId);
@@ -153,14 +151,14 @@ export const TeamContainers = ({
153
151
  }
154
152
  });
155
153
  }
156
- }, [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, isSupportingAddWebLink, removeTeamLink, teamId, unlinkError]);
154
+ }, [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
157
155
  const TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || TeamContainersSkeleton;
158
156
  if (loading || productPermissionIsLoading) {
159
157
  return /*#__PURE__*/React.createElement(TeamContainersSkeletonComponent, {
160
158
  numberOfContainers: maxNumberOfContainersToShow
161
159
  });
162
160
  }
163
- if ((isSupportingAddWebLink ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom'))))) {
161
+ if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom'))))) {
164
162
  return /*#__PURE__*/React.createElement(NoProductAccessState, null);
165
163
  }
166
164
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Stack, {
@@ -168,7 +166,7 @@ export const TeamContainers = ({
168
166
  }, /*#__PURE__*/React.createElement(Grid, {
169
167
  templateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
170
168
  gap: isDisplayedOnProfileCard ? 'space.0' : 'space.100'
171
- }, isSupportingAddWebLink ? filteredTeamLinks.slice(0, maxNumberOfContainersToShow).map(container => {
169
+ }, fg('enable_web_links_in_team_containers') ? filteredTeamLinks.slice(0, maxNumberOfContainersToShow).map(container => {
172
170
  return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
173
171
  key: container.id,
174
172
  containerType: container.type,
@@ -210,10 +208,10 @@ export const TeamContainers = ({
210
208
  }), showAddContainer.Loom && fg('loom_tab_in_container_linker_team_profile_page') && /*#__PURE__*/React.createElement(AddContainerCard, {
211
209
  onAddAContainerClick: e => onAddAContainerClick(e, 'Loom'),
212
210
  containerType: "LoomSpace"
213
- }), isSupportingAddWebLink && showAddContainer.WebLink && /*#__PURE__*/React.createElement(AddContainerCard, {
211
+ }), showAddContainer.WebLink && fg('enable_web_links_in_team_containers') && /*#__PURE__*/React.createElement(AddContainerCard, {
214
212
  onAddAContainerClick: e => onAddAContainerClick(e, 'WebLink'),
215
213
  containerType: "WebLink"
216
- }), showMore && isSupportingAddWebLink ? filteredTeamLinks.slice(maxNumberOfContainersToShow).map(container => {
214
+ }), showMore && fg('enable_web_links_in_team_containers') ? filteredTeamLinks.slice(maxNumberOfContainersToShow).map(container => {
217
215
  return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
218
216
  key: container.id,
219
217
  containerType: container.type,
@@ -246,7 +244,7 @@ export const TeamContainers = ({
246
244
  containerName: container.name
247
245
  })
248
246
  });
249
- })), (isSupportingAddWebLink ? filteredTeamLinks.length : filteredTeamContainers.length) > maxNumberOfContainersToShow && /*#__PURE__*/React.createElement(Inline, null, /*#__PURE__*/React.createElement(Button, {
247
+ })), (fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length : filteredTeamContainers.length) > maxNumberOfContainersToShow && /*#__PURE__*/React.createElement(Inline, null, /*#__PURE__*/React.createElement(Button, {
250
248
  appearance: "subtle",
251
249
  onClick: handleShowMore
252
250
  }, showMore ? /*#__PURE__*/React.createElement(FormattedMessage, messages.showLess) : /*#__PURE__*/React.createElement(FormattedMessage, messages.showMore)))), /*#__PURE__*/React.createElement(ModalTransition, null, isDisconnectDialogOpen && selectedContainerDetails && /*#__PURE__*/React.createElement(DisconnectDialogLazy, {
@@ -44,7 +44,7 @@ export var useTeamLinksAndContainers = function useTeamLinksAndContainers(teamId
44
44
  return [].concat(_toConsumableArray(teamContainers), _toConsumableArray(webLinkContainers));
45
45
  }, [teamContainers, webLinkContainers]);
46
46
  var canAddMoreLink = useMemo(function () {
47
- return allContainers.length <= MAX_LINKS_LIMIT;
47
+ return allContainers.length < MAX_LINKS_LIMIT;
48
48
  }, [allContainers.length]);
49
49
  var addTeamLink = useCallback( /*#__PURE__*/function () {
50
50
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(containerOrWebLink) {
@@ -5,7 +5,6 @@ import React, { useCallback, useEffect, useState } from 'react';
5
5
  import { defineMessages, FormattedMessage } from 'react-intl-next';
6
6
  import { useAnalyticsEvents } from '@atlaskit/analytics-next';
7
7
  import Button from '@atlaskit/button/new';
8
- import FeatureGates from '@atlaskit/feature-gate-js-client';
9
8
  import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
10
9
  import { fg } from '@atlaskit/platform-feature-flags';
11
10
  import { Grid, Inline, Stack } from '@atlaskit/primitives';
@@ -35,7 +34,6 @@ export var TeamContainers = function TeamContainers(_ref) {
35
34
  isDisplayedOnProfileCard = _ref.isDisplayedOnProfileCard,
36
35
  _ref$maxNumberOfConta = _ref.maxNumberOfContainersToShow,
37
36
  maxNumberOfContainersToShow = _ref$maxNumberOfConta === void 0 ? MAX_NUMBER_OF_CONTAINERS_TO_SHOW : _ref$maxNumberOfConta;
38
- var isSupportingAddWebLink = FeatureGates.initializeCompleted() && FeatureGates.getExperimentValue('team_and_container_web_link', 'isEnabled', false);
39
37
  var _useAnalyticsEvents = useAnalyticsEvents(),
40
38
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
41
39
  var _useTeamContainers = useTeamContainers(teamId),
@@ -90,7 +88,7 @@ export var TeamContainers = function TeamContainers(_ref) {
90
88
  productPermissions = _useProductPermission.data,
91
89
  productPermissionIsLoading = _useProductPermission.loading;
92
90
  useEffect(function () {
93
- if (isSupportingAddWebLink) {
91
+ if (fg('enable_web_links_in_team_containers')) {
94
92
  if (isDisplayedOnProfileCard && filterContainerId) {
95
93
  setFilteredTeamLinks(teamLinks.filter(function (container) {
96
94
  return container.id !== filterContainerId;
@@ -107,9 +105,9 @@ export var TeamContainers = function TeamContainers(_ref) {
107
105
  setFilteredTeamContainers(teamContainers);
108
106
  }
109
107
  }
110
- }, [teamLinks, teamContainers, isSupportingAddWebLink, isDisplayedOnProfileCard, filterContainerId]);
108
+ }, [teamLinks, teamContainers, isDisplayedOnProfileCard, filterContainerId]);
111
109
  useEffect(function () {
112
- var containersToCheck = isSupportingAddWebLink ? filteredTeamLinks : filteredTeamContainers;
110
+ var containersToCheck = fg('enable_web_links_in_team_containers') ? filteredTeamLinks : filteredTeamContainers;
113
111
  if (containersToCheck.length > maxNumberOfContainersToShow || isDisplayedOnProfileCard) {
114
112
  setShowAddContainer({
115
113
  Jira: false,
@@ -137,7 +135,7 @@ export var TeamContainers = function TeamContainers(_ref) {
137
135
  WebLink: !hasWebLink
138
136
  });
139
137
  }
140
- }, [isDisplayedOnProfileCard, productPermissions, isSupportingAddWebLink, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
138
+ }, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
141
139
  var handleShowMore = function handleShowMore() {
142
140
  setShowMore(!showMore);
143
141
  };
@@ -157,19 +155,19 @@ export var TeamContainers = function TeamContainers(_ref) {
157
155
  onEditContainerClick(container.id, container.link || '', container.name);
158
156
  }
159
157
  }, [onEditContainerClick]);
160
- var LinkedContainerCardComponent = (components === null || components === void 0 ? void 0 : components.ContainerCard) || (isSupportingAddWebLink ? TeamLinkCard : LinkedContainerCard);
158
+ var LinkedContainerCardComponent = (components === null || components === void 0 ? void 0 : components.ContainerCard) || (fg('enable_web_links_in_team_containers') ? TeamLinkCard : LinkedContainerCard);
161
159
  var handleDisconnect = useCallback( /*#__PURE__*/function () {
162
160
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(containerId) {
163
161
  var removedContainer;
164
162
  return _regeneratorRuntime.wrap(function _callee$(_context) {
165
163
  while (1) switch (_context.prev = _context.next) {
166
164
  case 0:
167
- removedContainer = isSupportingAddWebLink ? filteredTeamLinks.find(function (container) {
165
+ removedContainer = fg('enable_web_links_in_team_containers') ? filteredTeamLinks.find(function (container) {
168
166
  return container.id === containerId;
169
167
  }) : filteredTeamContainers.find(function (container) {
170
168
  return container.id === containerId;
171
169
  });
172
- if (!(isSupportingAddWebLink && removedContainer)) {
170
+ if (!(removedContainer && fg('enable_web_links_in_team_containers'))) {
173
171
  _context.next = 6;
174
172
  break;
175
173
  }
@@ -210,14 +208,14 @@ export var TeamContainers = function TeamContainers(_ref) {
210
208
  return function (_x) {
211
209
  return _ref2.apply(this, arguments);
212
210
  };
213
- }(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, isSupportingAddWebLink, removeTeamLink, teamId, unlinkError]);
211
+ }(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
214
212
  var TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || TeamContainersSkeleton;
215
213
  if (loading || productPermissionIsLoading) {
216
214
  return /*#__PURE__*/React.createElement(TeamContainersSkeletonComponent, {
217
215
  numberOfContainers: maxNumberOfContainersToShow
218
216
  });
219
217
  }
220
- if ((isSupportingAddWebLink ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom'))))) {
218
+ if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && (!productPermissions || !(productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom'))))) {
221
219
  return /*#__PURE__*/React.createElement(NoProductAccessState, null);
222
220
  }
223
221
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Stack, {
@@ -225,7 +223,7 @@ export var TeamContainers = function TeamContainers(_ref) {
225
223
  }, /*#__PURE__*/React.createElement(Grid, {
226
224
  templateColumns: "repeat(auto-fill, minmax(300px, 1fr))",
227
225
  gap: isDisplayedOnProfileCard ? 'space.0' : 'space.100'
228
- }, isSupportingAddWebLink ? filteredTeamLinks.slice(0, maxNumberOfContainersToShow).map(function (container) {
226
+ }, fg('enable_web_links_in_team_containers') ? filteredTeamLinks.slice(0, maxNumberOfContainersToShow).map(function (container) {
229
227
  return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
230
228
  key: container.id,
231
229
  containerType: container.type,
@@ -279,12 +277,12 @@ export var TeamContainers = function TeamContainers(_ref) {
279
277
  return _onAddAContainerClick(e, 'Loom');
280
278
  },
281
279
  containerType: "LoomSpace"
282
- }), isSupportingAddWebLink && showAddContainer.WebLink && /*#__PURE__*/React.createElement(AddContainerCard, {
280
+ }), showAddContainer.WebLink && fg('enable_web_links_in_team_containers') && /*#__PURE__*/React.createElement(AddContainerCard, {
283
281
  onAddAContainerClick: function onAddAContainerClick(e) {
284
282
  return _onAddAContainerClick(e, 'WebLink');
285
283
  },
286
284
  containerType: "WebLink"
287
- }), showMore && isSupportingAddWebLink ? filteredTeamLinks.slice(maxNumberOfContainersToShow).map(function (container) {
285
+ }), showMore && fg('enable_web_links_in_team_containers') ? filteredTeamLinks.slice(maxNumberOfContainersToShow).map(function (container) {
288
286
  return /*#__PURE__*/React.createElement(LinkedContainerCardComponent, {
289
287
  key: container.id,
290
288
  containerType: container.type,
@@ -323,7 +321,7 @@ export var TeamContainers = function TeamContainers(_ref) {
323
321
  });
324
322
  }
325
323
  });
326
- })), (isSupportingAddWebLink ? filteredTeamLinks.length : filteredTeamContainers.length) > maxNumberOfContainersToShow && /*#__PURE__*/React.createElement(Inline, null, /*#__PURE__*/React.createElement(Button, {
324
+ })), (fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length : filteredTeamContainers.length) > maxNumberOfContainersToShow && /*#__PURE__*/React.createElement(Inline, null, /*#__PURE__*/React.createElement(Button, {
327
325
  appearance: "subtle",
328
326
  onClick: handleShowMore
329
327
  }, showMore ? /*#__PURE__*/React.createElement(FormattedMessage, messages.showLess) : /*#__PURE__*/React.createElement(FormattedMessage, messages.showMore)))), /*#__PURE__*/React.createElement(ModalTransition, null, isDisconnectDialogOpen && selectedContainerDetails && /*#__PURE__*/React.createElement(DisconnectDialogLazy, {
package/package.json CHANGED
@@ -40,7 +40,7 @@
40
40
  "@atlaskit/icon": "^26.4.0",
41
41
  "@atlaskit/image": "^3.0.0",
42
42
  "@atlaskit/link": "^3.2.0",
43
- "@atlaskit/logo": "^19.0.0",
43
+ "@atlaskit/logo": "^19.1.0",
44
44
  "@atlaskit/modal-dialog": "^14.2.0",
45
45
  "@atlaskit/people-teams-ui-public": "^3.1.0",
46
46
  "@atlaskit/platform-feature-flags": "^1.1.0",
@@ -68,6 +68,7 @@
68
68
  "@af/visual-regression": "workspace:^",
69
69
  "@atlaskit/ssr": "workspace:^",
70
70
  "@atlaskit/visual-regression": "workspace:^",
71
+ "@atlassian/feature-flags-test-utils": "^0.3.0",
71
72
  "@testing-library/react": "^13.4.0",
72
73
  "@testing-library/react-hooks": "^8.0.1",
73
74
  "@testing-library/user-event": "^14.4.3",
@@ -113,7 +114,7 @@
113
114
  }
114
115
  },
115
116
  "name": "@atlaskit/teams-public",
116
- "version": "0.37.0",
117
+ "version": "0.38.1",
117
118
  "description": "Public components related to teams",
118
119
  "author": "Atlassian Pty Ltd",
119
120
  "license": "Apache-2.0",
@@ -132,6 +133,9 @@
132
133
  },
133
134
  "should-render-to-parent-should-be-true-people-and-": {
134
135
  "type": "boolean"
136
+ },
137
+ "enable_web_links_in_team_containers": {
138
+ "type": "boolean"
135
139
  }
136
140
  }
137
141
  }