@atlaskit/smart-card 38.9.0 → 38.9.2

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 (94) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/extractors/common/context/index.js +2 -1
  3. package/dist/cjs/extractors/embed/index.js +4 -16
  4. package/dist/cjs/extractors/flexible/extract-link-title.js +2 -4
  5. package/dist/cjs/extractors/flexible/index.js +12 -14
  6. package/dist/cjs/extractors/inline/index.js +7 -18
  7. package/dist/cjs/state/hooks/use-resolve/index.js +1 -2
  8. package/dist/cjs/state/hooks/useSmartLink.js +4 -4
  9. package/dist/cjs/utils/analytics/analytics.js +1 -1
  10. package/dist/cjs/view/BlockCard/views/ForbiddenView.js +1 -1
  11. package/dist/cjs/view/BlockCard/views/NotFoundView.js +1 -1
  12. package/dist/cjs/view/BlockCard/views/UnauthorisedView.js +2 -3
  13. package/dist/cjs/view/CardWithUrl/component.js +10 -9
  14. package/dist/cjs/view/FlexibleCard/components/elements/common/base-badge-element/index.js +2 -7
  15. package/dist/cjs/view/FlexibleCard/components/elements/index.js +225 -189
  16. package/dist/cjs/view/FlexibleCard/utils.js +5 -8
  17. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +1 -2
  18. package/dist/cjs/view/HoverCard/components/ImagePreview.js +2 -15
  19. package/dist/cjs/view/HoverCard/components/views/forbidden/index.js +3 -4
  20. package/dist/cjs/view/HoverCard/components/views/unauthorised/index.js +2 -3
  21. package/dist/cjs/view/InlineCard/index.js +3 -5
  22. package/dist/cjs/view/LinkUrl/index.js +1 -1
  23. package/dist/es2019/extractors/common/context/index.js +2 -1
  24. package/dist/es2019/extractors/embed/index.js +6 -19
  25. package/dist/es2019/extractors/flexible/extract-link-title.js +3 -5
  26. package/dist/es2019/extractors/flexible/index.js +15 -15
  27. package/dist/es2019/extractors/inline/index.js +8 -22
  28. package/dist/es2019/state/hooks/use-resolve/index.js +1 -2
  29. package/dist/es2019/state/hooks/useSmartLink.js +4 -4
  30. package/dist/es2019/utils/analytics/analytics.js +1 -1
  31. package/dist/es2019/view/BlockCard/views/ForbiddenView.js +2 -2
  32. package/dist/es2019/view/BlockCard/views/NotFoundView.js +2 -2
  33. package/dist/es2019/view/BlockCard/views/UnauthorisedView.js +3 -4
  34. package/dist/es2019/view/CardWithUrl/component.js +10 -9
  35. package/dist/es2019/view/FlexibleCard/components/elements/common/base-badge-element/index.js +2 -7
  36. package/dist/es2019/view/FlexibleCard/components/elements/index.js +32 -183
  37. package/dist/es2019/view/FlexibleCard/utils.js +7 -8
  38. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +1 -2
  39. package/dist/es2019/view/HoverCard/components/ImagePreview.js +2 -15
  40. package/dist/es2019/view/HoverCard/components/views/forbidden/index.js +4 -5
  41. package/dist/es2019/view/HoverCard/components/views/unauthorised/index.js +3 -4
  42. package/dist/es2019/view/InlineCard/index.js +5 -7
  43. package/dist/es2019/view/LinkUrl/index.js +1 -1
  44. package/dist/esm/extractors/common/context/index.js +2 -1
  45. package/dist/esm/extractors/embed/index.js +6 -18
  46. package/dist/esm/extractors/flexible/extract-link-title.js +3 -5
  47. package/dist/esm/extractors/flexible/index.js +15 -15
  48. package/dist/esm/extractors/inline/index.js +8 -21
  49. package/dist/esm/state/hooks/use-resolve/index.js +1 -2
  50. package/dist/esm/state/hooks/useSmartLink.js +4 -4
  51. package/dist/esm/utils/analytics/analytics.js +1 -1
  52. package/dist/esm/view/BlockCard/views/ForbiddenView.js +2 -2
  53. package/dist/esm/view/BlockCard/views/NotFoundView.js +2 -2
  54. package/dist/esm/view/BlockCard/views/UnauthorisedView.js +3 -4
  55. package/dist/esm/view/CardWithUrl/component.js +10 -9
  56. package/dist/esm/view/FlexibleCard/components/elements/common/base-badge-element/index.js +2 -7
  57. package/dist/esm/view/FlexibleCard/components/elements/index.js +32 -183
  58. package/dist/esm/view/FlexibleCard/utils.js +7 -8
  59. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +1 -2
  60. package/dist/esm/view/HoverCard/components/ImagePreview.js +2 -15
  61. package/dist/esm/view/HoverCard/components/views/forbidden/index.js +4 -5
  62. package/dist/esm/view/HoverCard/components/views/unauthorised/index.js +3 -4
  63. package/dist/esm/view/InlineCard/index.js +5 -7
  64. package/dist/esm/view/LinkUrl/index.js +1 -1
  65. package/dist/types/extractors/flexible/extract-link-title.d.ts +2 -2
  66. package/dist/types/state/hooks/useSmartLink.d.ts +3 -3
  67. package/dist/types/utils/analytics/types.d.ts +1 -1
  68. package/dist/types/view/Card/types.d.ts +1 -0
  69. package/dist/types/view/FlexibleCard/components/elements/attachment-count-element/index.d.ts +1 -1
  70. package/dist/types/view/FlexibleCard/components/elements/common/base-atlaskit-badge-element/index.d.ts +1 -1
  71. package/dist/types/view/FlexibleCard/components/elements/common/base-text-element/index.d.ts +1 -1
  72. package/dist/types/view/FlexibleCard/components/elements/index.d.ts +32 -176
  73. package/dist/types/view/FlexibleCard/components/elements/programming-language-element/index.d.ts +1 -1
  74. package/dist/types/view/FlexibleCard/components/elements/provider-element/index.d.ts +1 -1
  75. package/dist/types/view/FlexibleCard/components/elements/view-count-element/index.d.ts +1 -1
  76. package/dist/types/view/FlexibleCard/external.d.ts +2 -2
  77. package/dist/types-ts4.5/extractors/flexible/extract-link-title.d.ts +2 -2
  78. package/dist/types-ts4.5/state/hooks/useSmartLink.d.ts +3 -3
  79. package/dist/types-ts4.5/utils/analytics/types.d.ts +1 -1
  80. package/dist/types-ts4.5/view/Card/types.d.ts +1 -0
  81. package/dist/types-ts4.5/view/FlexibleCard/components/elements/attachment-count-element/index.d.ts +1 -1
  82. package/dist/types-ts4.5/view/FlexibleCard/components/elements/common/base-atlaskit-badge-element/index.d.ts +1 -1
  83. package/dist/types-ts4.5/view/FlexibleCard/components/elements/common/base-text-element/index.d.ts +1 -1
  84. package/dist/types-ts4.5/view/FlexibleCard/components/elements/index.d.ts +32 -176
  85. package/dist/types-ts4.5/view/FlexibleCard/components/elements/programming-language-element/index.d.ts +1 -1
  86. package/dist/types-ts4.5/view/FlexibleCard/components/elements/provider-element/index.d.ts +1 -1
  87. package/dist/types-ts4.5/view/FlexibleCard/components/elements/view-count-element/index.d.ts +1 -1
  88. package/dist/types-ts4.5/view/FlexibleCard/external.d.ts +2 -2
  89. package/package.json +3 -6
  90. package/dist/cjs/view/FlexibleCard/components/elements/utils.js +0 -302
  91. package/dist/es2019/view/FlexibleCard/components/elements/utils.js +0 -327
  92. package/dist/esm/view/FlexibleCard/components/elements/utils.js +0 -294
  93. package/dist/types/view/FlexibleCard/components/elements/utils.d.ts +0 -6
  94. package/dist/types-ts4.5/view/FlexibleCard/components/elements/utils.d.ts +0 -6
@@ -1,302 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createElement = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- var _react = _interopRequireWildcard(require("react"));
13
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
- var _constants = require("../../../../constants");
15
- var _messages = require("../../../../messages");
16
- var _flexibleUiContext = require("../../../../state/flexible-ui-context");
17
- var _appliedToComponentsCountElement = _interopRequireDefault(require("./applied-to-components-count-element"));
18
- var _assignedToElement = _interopRequireDefault(require("./assigned-to-element"));
19
- var _assignedToGroupElement = _interopRequireDefault(require("./assigned-to-group-element"));
20
- var _attachmentCountElement = _interopRequireDefault(require("./attachment-count-element"));
21
- var _authorGroupElement = _interopRequireDefault(require("./author-group-element"));
22
- var _checklistProgressElement = _interopRequireDefault(require("./checklist-progress-element"));
23
- var _collaboratorGroupElement = _interopRequireDefault(require("./collaborator-group-element"));
24
- var _commentCountElement = _interopRequireDefault(require("./comment-count-element"));
25
- var _common = require("./common");
26
- var _createdByElement = _interopRequireDefault(require("./created-by-element"));
27
- var _createdOnElement = _interopRequireDefault(require("./created-on-element"));
28
- var _dueOnElement = _interopRequireDefault(require("./due-on-element"));
29
- var _latestCommitElement = _interopRequireDefault(require("./latest-commit-element"));
30
- var _linkIconElement = _interopRequireDefault(require("./link-icon-element"));
31
- var _locationElement = _interopRequireDefault(require("./location-element"));
32
- var _mediaElement = _interopRequireDefault(require("./media-element"));
33
- var _modifiedByElement = _interopRequireDefault(require("./modified-by-element"));
34
- var _modifiedOnElement = _interopRequireDefault(require("./modified-on-element"));
35
- var _ownedByElement = _interopRequireDefault(require("./owned-by-element"));
36
- var _ownedByGroupElement = _interopRequireDefault(require("./owned-by-group-element"));
37
- var _previewElement = _interopRequireDefault(require("./preview-element"));
38
- var _priorityElement = _interopRequireDefault(require("./priority-element"));
39
- var _programmingLanguageElement = _interopRequireDefault(require("./programming-language-element"));
40
- var _providerElement = _interopRequireDefault(require("./provider-element"));
41
- var _reactCountElement = _interopRequireDefault(require("./react-count-element"));
42
- var _readTimeElement = _interopRequireDefault(require("./read-time-element"));
43
- var _sentOnElement = _interopRequireDefault(require("./sent-on-element"));
44
- var _sourceBranchElement = _interopRequireDefault(require("./source-branch-element"));
45
- var _stateElement = _interopRequireDefault(require("./state-element"));
46
- var _storyPointsElement = _interopRequireDefault(require("./story-points-element"));
47
- var _subTasksProgressElement = _interopRequireDefault(require("./sub-tasks-progress-element"));
48
- var _subscriberCountElement = _interopRequireDefault(require("./subscriber-count-element"));
49
- var _targetBranchElement = _interopRequireDefault(require("./target-branch-element"));
50
- var _titleElement = _interopRequireDefault(require("./title-element"));
51
- var _viewCountElement = _interopRequireDefault(require("./view-count-element"));
52
- var _voteCountElement = _interopRequireDefault(require("./vote-count-element"));
53
- var _elementMappings;
54
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
55
- /**
56
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
57
- */
58
-
59
- /**
60
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
61
- */
62
- var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_elementMappings, _constants.ElementName.AppliedToComponentsCount, {
63
- component: _appliedToComponentsCountElement.default,
64
- props: {
65
- icon: _constants.IconType.Component
66
- }
67
- }), _constants.ElementName.AttachmentCount, {
68
- component: _common.BaseBadgeElement,
69
- props: {
70
- icon: _constants.IconType.Attachment
71
- },
72
- newComponent: _attachmentCountElement.default
73
- }), _constants.ElementName.AuthorGroup, {
74
- component: _common.BaseAvatarGroupElement,
75
- newComponent: _authorGroupElement.default
76
- }), _constants.ElementName.ChecklistProgress, {
77
- component: _common.BaseBadgeElement,
78
- props: {
79
- icon: _constants.IconType.CheckItem
80
- },
81
- newComponent: _checklistProgressElement.default
82
- }), _constants.ElementName.CollaboratorGroup, {
83
- component: _common.BaseAvatarGroupElement,
84
- newComponent: _collaboratorGroupElement.default
85
- }), _constants.ElementName.CommentCount, {
86
- component: _common.BaseBadgeElement,
87
- props: {
88
- icon: _constants.IconType.Comment
89
- },
90
- newComponent: _commentCountElement.default
91
- }), _constants.ElementName.ViewCount, {
92
- component: _common.BaseBadgeElement,
93
- props: {
94
- icon: _constants.IconType.View
95
- },
96
- newComponent: _viewCountElement.default
97
- }), _constants.ElementName.ReactCount, {
98
- component: _common.BaseBadgeElement,
99
- props: {
100
- icon: _constants.IconType.React
101
- },
102
- newComponent: _reactCountElement.default
103
- }), _constants.ElementName.VoteCount, {
104
- component: _common.BaseBadgeElement,
105
- props: {
106
- icon: _constants.IconType.Vote
107
- },
108
- newComponent: _voteCountElement.default
109
- }), _constants.ElementName.CreatedBy, {
110
- component: _common.BaseTextElement,
111
- newComponent: _createdByElement.default
112
- }), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_elementMappings, _constants.ElementName.OwnedBy, {
113
- component: _common.BaseTextElement,
114
- newComponent: _ownedByElement.default
115
- }), _constants.ElementName.AssignedTo, {
116
- component: _common.BaseTextElement,
117
- newComponent: _assignedToElement.default
118
- }), _constants.ElementName.AssignedToGroup, {
119
- component: _common.BaseAvatarGroupElement,
120
- newComponent: _assignedToGroupElement.default
121
- }), _constants.ElementName.OwnedByGroup, {
122
- component: _common.BaseAvatarGroupElement,
123
- newComponent: _ownedByGroupElement.default
124
- }), _constants.ElementName.CreatedOn, {
125
- component: _common.BaseDateTimeElement,
126
- newComponent: _createdOnElement.default
127
- }), _constants.ElementName.DueOn, {
128
- component: _common.BaseLozengeElement,
129
- newComponent: _dueOnElement.default
130
- }), _constants.ElementName.LatestCommit, {
131
- component: _common.BaseBadgeElement,
132
- props: {
133
- icon: _constants.IconType.Commit
134
- },
135
- newComponent: _latestCommitElement.default
136
- }), _constants.ElementName.LinkIcon, {
137
- component: _common.BaseIconElement,
138
- newComponent: _linkIconElement.default
139
- }), _constants.ElementName.ModifiedBy, {
140
- component: _common.BaseTextElement,
141
- newComponent: _modifiedByElement.default
142
- }), _constants.ElementName.ModifiedOn, {
143
- component: _common.BaseDateTimeElement,
144
- newComponent: _modifiedOnElement.default
145
- }), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Preview, {
146
- component: _mediaElement.default,
147
- newComponent: _previewElement.default
148
- }), _constants.ElementName.Priority, {
149
- component: _common.BaseBadgeElement,
150
- newComponent: _priorityElement.default
151
- }), _constants.ElementName.ProgrammingLanguage, {
152
- component: _common.BaseBadgeElement,
153
- props: {
154
- icon: _constants.IconType.ProgrammingLanguage
155
- },
156
- newComponent: _programmingLanguageElement.default
157
- }), _constants.ElementName.Provider, {
158
- component: _common.BaseBadgeElement,
159
- newComponent: _providerElement.default
160
- }), _constants.ElementName.ReadTime, {
161
- component: _common.BaseTextElement,
162
- newComponent: _readTimeElement.default
163
- }), _constants.ElementName.SentOn, {
164
- component: _common.BaseDateTimeElement,
165
- newComponent: _sentOnElement.default
166
- }), _constants.ElementName.SourceBranch, {
167
- component: _common.BaseTextElement,
168
- newComponent: _sourceBranchElement.default
169
- }), _constants.ElementName.State, {
170
- component: _common.BaseLozengeElement,
171
- newComponent: _stateElement.default
172
- }), _constants.ElementName.SubscriberCount, {
173
- component: _common.BaseBadgeElement,
174
- props: {
175
- icon: _constants.IconType.Subscriber
176
- },
177
- newComponent: _subscriberCountElement.default
178
- }), _constants.ElementName.SubTasksProgress, {
179
- component: _common.BaseBadgeElement,
180
- props: {
181
- icon: _constants.IconType.SubTasksProgress
182
- },
183
- newComponent: _subTasksProgressElement.default
184
- }), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_elementMappings, _constants.ElementName.StoryPoints, {
185
- component: _common.BaseAtlaskitBadgeElement,
186
- newComponent: _storyPointsElement.default
187
- }), _constants.ElementName.TargetBranch, {
188
- component: _common.BaseTextElement,
189
- newComponent: _targetBranchElement.default
190
- }), _constants.ElementName.Title, {
191
- component: _common.BaseLinkElement,
192
- newComponent: _titleElement.default
193
- }), _constants.ElementName.Location, {
194
- component: _common.BaseLinkElement,
195
- props: {
196
- theme: _constants.SmartLinkInternalTheme.Grey
197
- },
198
- newComponent: _locationElement.default
199
- }));
200
-
201
- /**
202
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
203
- */
204
- var getContextKey = function getContextKey(name) {
205
- // Attempt to predict context prop name in advance to reduce the amount of
206
- // code run during runtime
207
- return name.length > 0 ? name.charAt(0).toLowerCase() + name.slice(1) : undefined;
208
- };
209
-
210
- /**
211
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
212
- */
213
- var getData = function getData(elementName, contextKey, context) {
214
- if (!context) {
215
- return undefined;
216
- }
217
- var data = context[contextKey];
218
- switch (elementName) {
219
- case _constants.ElementName.AssignedToGroup:
220
- case _constants.ElementName.AuthorGroup:
221
- case _constants.ElementName.CollaboratorGroup:
222
- case _constants.ElementName.OwnedByGroup:
223
- var AvatarGroupsWithFallback = [_constants.ElementName.AssignedToGroup];
224
- var showFallbackAvatar = AvatarGroupsWithFallback.includes(elementName);
225
- return (0, _common.toAvatarGroupProps)(data, showFallbackAvatar);
226
- case _constants.ElementName.AppliedToComponentsCount:
227
- case _constants.ElementName.AttachmentCount:
228
- case _constants.ElementName.ChecklistProgress:
229
- case _constants.ElementName.CommentCount:
230
- case _constants.ElementName.ViewCount:
231
- case _constants.ElementName.ReactCount:
232
- case _constants.ElementName.VoteCount:
233
- case _constants.ElementName.ProgrammingLanguage:
234
- case _constants.ElementName.SubscriberCount:
235
- case _constants.ElementName.LatestCommit:
236
- case _constants.ElementName.SubTasksProgress:
237
- return (0, _common.toBadgeProps)(data);
238
- case _constants.ElementName.StoryPoints:
239
- return (0, _common.toAtlaskitBadgeProps)(data);
240
- case _constants.ElementName.CreatedBy:
241
- return (0, _common.toFormattedTextProps)(_messages.messages.created_by, context.createdBy);
242
- case _constants.ElementName.AssignedTo:
243
- return (0, _common.toFormattedTextProps)(_messages.messages.assigned_to, context.assignedTo);
244
- case _constants.ElementName.OwnedBy:
245
- return (0, _common.toFormattedTextProps)(_messages.messages.owned_by, context.ownedBy);
246
- case _constants.ElementName.CreatedOn:
247
- return (0, _common.toDateTimeProps)('created', context.createdOn);
248
- case _constants.ElementName.DueOn:
249
- return (0, _common.toDateLozengeProps)(context.dueOn);
250
- case _constants.ElementName.ModifiedBy:
251
- return (0, _common.toFormattedTextProps)(_messages.messages.modified_by, context.modifiedBy);
252
- case _constants.ElementName.ModifiedOn:
253
- return (0, _common.toDateTimeProps)('modified', context.modifiedOn);
254
- case _constants.ElementName.SentOn:
255
- return (0, _common.toDateTimeProps)('sent', context.sentOn);
256
- case _constants.ElementName.ReadTime:
257
- return (0, _common.toFormattedTextProps)(_messages.messages.read_time, data);
258
- case _constants.ElementName.SourceBranch:
259
- case _constants.ElementName.TargetBranch:
260
- return (0, _common.toTextProps)(data);
261
- case _constants.ElementName.Title:
262
- if ((0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context')) {
263
- return context.linkTitle;
264
- }
265
- return (0, _common.toLinkProps)(context.title, context.url);
266
- case _constants.ElementName.LinkIcon:
267
- if ((0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2')) {
268
- return (0, _common.toLinkIconProps)(data, context.type);
269
- }
270
- return (0, _typeof2.default)(data) === 'object' ? data : undefined;
271
- default:
272
- return (0, _typeof2.default)(data) === 'object' ? data : undefined;
273
- }
274
- };
275
-
276
- /**
277
- * @deprecated remove on FG platform-linking-flexible-card-elements-refactor clean up
278
- */
279
- var createElement = exports.createElement = function createElement(name) {
280
- var _ref = elementMappings[name] || {},
281
- BaseElement = _ref.component,
282
- props = _ref.props,
283
- newComponent = _ref.newComponent;
284
- if (newComponent && (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-elements-refactor')) {
285
- return newComponent;
286
- }
287
- var contextKey = getContextKey(name);
288
- if (!BaseElement) {
289
- throw Error("Element ".concat(name, " does not exist."));
290
- }
291
- return function (overrides) {
292
- var context = (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ?
293
- // eslint-disable-next-line react-hooks/rules-of-hooks
294
- (0, _flexibleUiContext.useFlexibleUiContext)() :
295
- // eslint-disable-next-line react-hooks/rules-of-hooks
296
- (0, _react.useContext)(_flexibleUiContext.FlexibleUiContext);
297
- var data = getData(name, contextKey, context);
298
- return data ? /*#__PURE__*/_react.default.createElement(BaseElement, (0, _extends2.default)({}, props, data, overrides, {
299
- name: name
300
- })) : null;
301
- };
302
- };
@@ -1,327 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useContext } from 'react';
3
- import { fg } from '@atlaskit/platform-feature-flags';
4
- import { ElementName, IconType, SmartLinkInternalTheme } from '../../../../constants';
5
- import { messages } from '../../../../messages';
6
- import { FlexibleUiContext, useFlexibleUiContext } from '../../../../state/flexible-ui-context';
7
- import AppliedToComponentsCount from './applied-to-components-count-element';
8
- import assignedToElement from './assigned-to-element';
9
- import assignedToGroupElement from './assigned-to-group-element';
10
- import attachmentCountElement from './attachment-count-element';
11
- import authorGroupElement from './author-group-element';
12
- import checklistProgressElement from './checklist-progress-element';
13
- import collaboratorGroupElement from './collaborator-group-element';
14
- import commentCountElement from './comment-count-element';
15
- import { BaseAtlaskitBadgeElement, BaseAvatarGroupElement, BaseBadgeElement, BaseDateTimeElement, BaseIconElement, BaseLinkElement, BaseLozengeElement, BaseTextElement, toAtlaskitBadgeProps, toAvatarGroupProps, toBadgeProps, toDateLozengeProps, toDateTimeProps, toFormattedTextProps, toLinkIconProps, toLinkProps, toTextProps } from './common';
16
- import createdByElement from './created-by-element';
17
- import createdOnElement from './created-on-element';
18
- import dueOnElement from './due-on-element';
19
- import latestCommitElement from './latest-commit-element';
20
- import linkIconElement from './link-icon-element';
21
- import locationElement from './location-element';
22
- import MediaElement from './media-element';
23
- import modifiedByElement from './modified-by-element';
24
- import modifiedOnElement from './modified-on-element';
25
- import ownedByElement from './owned-by-element';
26
- import ownedByGroupElement from './owned-by-group-element';
27
- import previewElement from './preview-element';
28
- import priorityElement from './priority-element';
29
- import programmingLanguageElement from './programming-language-element';
30
- import providerElement from './provider-element';
31
- import reactCountElement from './react-count-element';
32
- import readTimeElement from './read-time-element';
33
- import sentOnElement from './sent-on-element';
34
- import sourceBranchElement from './source-branch-element';
35
- import stateElement from './state-element';
36
- import storyPointsElement from './story-points-element';
37
- import subTasksProgressElement from './sub-tasks-progress-element';
38
- import subscriberCountElement from './subscriber-count-element';
39
- import targetBranchElement from './target-branch-element';
40
- import titleElement from './title-element';
41
- import viewCountElement from './view-count-element';
42
- import voteCountElement from './vote-count-element';
43
-
44
- /**
45
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
46
- */
47
-
48
- /**
49
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
50
- */
51
- const elementMappings = {
52
- [ElementName.AppliedToComponentsCount]: {
53
- component: AppliedToComponentsCount,
54
- props: {
55
- icon: IconType.Component
56
- }
57
- },
58
- [ElementName.AttachmentCount]: {
59
- component: BaseBadgeElement,
60
- props: {
61
- icon: IconType.Attachment
62
- },
63
- newComponent: attachmentCountElement
64
- },
65
- [ElementName.AuthorGroup]: {
66
- component: BaseAvatarGroupElement,
67
- newComponent: authorGroupElement
68
- },
69
- [ElementName.ChecklistProgress]: {
70
- component: BaseBadgeElement,
71
- props: {
72
- icon: IconType.CheckItem
73
- },
74
- newComponent: checklistProgressElement
75
- },
76
- [ElementName.CollaboratorGroup]: {
77
- component: BaseAvatarGroupElement,
78
- newComponent: collaboratorGroupElement
79
- },
80
- [ElementName.CommentCount]: {
81
- component: BaseBadgeElement,
82
- props: {
83
- icon: IconType.Comment
84
- },
85
- newComponent: commentCountElement
86
- },
87
- [ElementName.ViewCount]: {
88
- component: BaseBadgeElement,
89
- props: {
90
- icon: IconType.View
91
- },
92
- newComponent: viewCountElement
93
- },
94
- [ElementName.ReactCount]: {
95
- component: BaseBadgeElement,
96
- props: {
97
- icon: IconType.React
98
- },
99
- newComponent: reactCountElement
100
- },
101
- [ElementName.VoteCount]: {
102
- component: BaseBadgeElement,
103
- props: {
104
- icon: IconType.Vote
105
- },
106
- newComponent: voteCountElement
107
- },
108
- [ElementName.CreatedBy]: {
109
- component: BaseTextElement,
110
- newComponent: createdByElement
111
- },
112
- [ElementName.OwnedBy]: {
113
- component: BaseTextElement,
114
- newComponent: ownedByElement
115
- },
116
- [ElementName.AssignedTo]: {
117
- component: BaseTextElement,
118
- newComponent: assignedToElement
119
- },
120
- [ElementName.AssignedToGroup]: {
121
- component: BaseAvatarGroupElement,
122
- newComponent: assignedToGroupElement
123
- },
124
- [ElementName.OwnedByGroup]: {
125
- component: BaseAvatarGroupElement,
126
- newComponent: ownedByGroupElement
127
- },
128
- [ElementName.CreatedOn]: {
129
- component: BaseDateTimeElement,
130
- newComponent: createdOnElement
131
- },
132
- [ElementName.DueOn]: {
133
- component: BaseLozengeElement,
134
- newComponent: dueOnElement
135
- },
136
- [ElementName.LatestCommit]: {
137
- component: BaseBadgeElement,
138
- props: {
139
- icon: IconType.Commit
140
- },
141
- newComponent: latestCommitElement
142
- },
143
- [ElementName.LinkIcon]: {
144
- component: BaseIconElement,
145
- newComponent: linkIconElement
146
- },
147
- [ElementName.ModifiedBy]: {
148
- component: BaseTextElement,
149
- newComponent: modifiedByElement
150
- },
151
- [ElementName.ModifiedOn]: {
152
- component: BaseDateTimeElement,
153
- newComponent: modifiedOnElement
154
- },
155
- [ElementName.Preview]: {
156
- component: MediaElement,
157
- newComponent: previewElement
158
- },
159
- [ElementName.Priority]: {
160
- component: BaseBadgeElement,
161
- newComponent: priorityElement
162
- },
163
- [ElementName.ProgrammingLanguage]: {
164
- component: BaseBadgeElement,
165
- props: {
166
- icon: IconType.ProgrammingLanguage
167
- },
168
- newComponent: programmingLanguageElement
169
- },
170
- [ElementName.Provider]: {
171
- component: BaseBadgeElement,
172
- newComponent: providerElement
173
- },
174
- [ElementName.ReadTime]: {
175
- component: BaseTextElement,
176
- newComponent: readTimeElement
177
- },
178
- [ElementName.SentOn]: {
179
- component: BaseDateTimeElement,
180
- newComponent: sentOnElement
181
- },
182
- [ElementName.SourceBranch]: {
183
- component: BaseTextElement,
184
- newComponent: sourceBranchElement
185
- },
186
- [ElementName.State]: {
187
- component: BaseLozengeElement,
188
- newComponent: stateElement
189
- },
190
- [ElementName.SubscriberCount]: {
191
- component: BaseBadgeElement,
192
- props: {
193
- icon: IconType.Subscriber
194
- },
195
- newComponent: subscriberCountElement
196
- },
197
- [ElementName.SubTasksProgress]: {
198
- component: BaseBadgeElement,
199
- props: {
200
- icon: IconType.SubTasksProgress
201
- },
202
- newComponent: subTasksProgressElement
203
- },
204
- [ElementName.StoryPoints]: {
205
- component: BaseAtlaskitBadgeElement,
206
- newComponent: storyPointsElement
207
- },
208
- [ElementName.TargetBranch]: {
209
- component: BaseTextElement,
210
- newComponent: targetBranchElement
211
- },
212
- [ElementName.Title]: {
213
- component: BaseLinkElement,
214
- newComponent: titleElement
215
- },
216
- [ElementName.Location]: {
217
- component: BaseLinkElement,
218
- props: {
219
- theme: SmartLinkInternalTheme.Grey
220
- },
221
- newComponent: locationElement
222
- }
223
- };
224
-
225
- /**
226
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
227
- */
228
- const getContextKey = name => {
229
- // Attempt to predict context prop name in advance to reduce the amount of
230
- // code run during runtime
231
- return name.length > 0 ? name.charAt(0).toLowerCase() + name.slice(1) : undefined;
232
- };
233
-
234
- /**
235
- * @deprecated remove on FG clean up platform-linking-flexible-card-elements-refactor
236
- */
237
- const getData = (elementName, contextKey, context) => {
238
- if (!context) {
239
- return undefined;
240
- }
241
- const data = context[contextKey];
242
- switch (elementName) {
243
- case ElementName.AssignedToGroup:
244
- case ElementName.AuthorGroup:
245
- case ElementName.CollaboratorGroup:
246
- case ElementName.OwnedByGroup:
247
- const AvatarGroupsWithFallback = [ElementName.AssignedToGroup];
248
- const showFallbackAvatar = AvatarGroupsWithFallback.includes(elementName);
249
- return toAvatarGroupProps(data, showFallbackAvatar);
250
- case ElementName.AppliedToComponentsCount:
251
- case ElementName.AttachmentCount:
252
- case ElementName.ChecklistProgress:
253
- case ElementName.CommentCount:
254
- case ElementName.ViewCount:
255
- case ElementName.ReactCount:
256
- case ElementName.VoteCount:
257
- case ElementName.ProgrammingLanguage:
258
- case ElementName.SubscriberCount:
259
- case ElementName.LatestCommit:
260
- case ElementName.SubTasksProgress:
261
- return toBadgeProps(data);
262
- case ElementName.StoryPoints:
263
- return toAtlaskitBadgeProps(data);
264
- case ElementName.CreatedBy:
265
- return toFormattedTextProps(messages.created_by, context.createdBy);
266
- case ElementName.AssignedTo:
267
- return toFormattedTextProps(messages.assigned_to, context.assignedTo);
268
- case ElementName.OwnedBy:
269
- return toFormattedTextProps(messages.owned_by, context.ownedBy);
270
- case ElementName.CreatedOn:
271
- return toDateTimeProps('created', context.createdOn);
272
- case ElementName.DueOn:
273
- return toDateLozengeProps(context.dueOn);
274
- case ElementName.ModifiedBy:
275
- return toFormattedTextProps(messages.modified_by, context.modifiedBy);
276
- case ElementName.ModifiedOn:
277
- return toDateTimeProps('modified', context.modifiedOn);
278
- case ElementName.SentOn:
279
- return toDateTimeProps('sent', context.sentOn);
280
- case ElementName.ReadTime:
281
- return toFormattedTextProps(messages.read_time, data);
282
- case ElementName.SourceBranch:
283
- case ElementName.TargetBranch:
284
- return toTextProps(data);
285
- case ElementName.Title:
286
- if (fg('platform-linking-flexible-card-context')) {
287
- return context.linkTitle;
288
- }
289
- return toLinkProps(context.title, context.url);
290
- case ElementName.LinkIcon:
291
- if (fg('platform-linking-visual-refresh-v2')) {
292
- return toLinkIconProps(data, context.type);
293
- }
294
- return typeof data === 'object' ? data : undefined;
295
- default:
296
- return typeof data === 'object' ? data : undefined;
297
- }
298
- };
299
-
300
- /**
301
- * @deprecated remove on FG platform-linking-flexible-card-elements-refactor clean up
302
- */
303
- export const createElement = name => {
304
- const {
305
- component: BaseElement,
306
- props,
307
- newComponent
308
- } = elementMappings[name] || {};
309
- if (newComponent && fg('platform-linking-flexible-card-elements-refactor')) {
310
- return newComponent;
311
- }
312
- const contextKey = getContextKey(name);
313
- if (!BaseElement) {
314
- throw Error(`Element ${name} does not exist.`);
315
- }
316
- return overrides => {
317
- const context = fg('platform-linking-flexible-card-context') ?
318
- // eslint-disable-next-line react-hooks/rules-of-hooks
319
- useFlexibleUiContext() :
320
- // eslint-disable-next-line react-hooks/rules-of-hooks
321
- useContext(FlexibleUiContext);
322
- const data = getData(name, contextKey, context);
323
- return data ? /*#__PURE__*/React.createElement(BaseElement, _extends({}, props, data, overrides, {
324
- name: name
325
- })) : null;
326
- };
327
- };