@atlaskit/link-datasource 2.3.3 → 2.3.4

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 (42) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/contexts/datasource-experience-id/index.js +28 -0
  3. package/dist/cjs/ui/assets-modal/modal/index.js +11 -10
  4. package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +2 -4
  5. package/dist/cjs/ui/confluence-search-modal/modal/index.js +8 -7
  6. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +9 -9
  7. package/dist/cjs/ui/issue-like-table/column-picker/index.js +6 -5
  8. package/dist/cjs/ui/issue-like-table/index.js +9 -9
  9. package/dist/cjs/ui/jira-issues-modal/modal/index.js +15 -13
  10. package/dist/es2019/contexts/datasource-experience-id/index.js +19 -0
  11. package/dist/es2019/ui/assets-modal/modal/index.js +9 -11
  12. package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +2 -4
  13. package/dist/es2019/ui/confluence-search-modal/modal/index.js +6 -8
  14. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +7 -10
  15. package/dist/es2019/ui/issue-like-table/column-picker/index.js +6 -5
  16. package/dist/es2019/ui/issue-like-table/index.js +9 -9
  17. package/dist/es2019/ui/jira-issues-modal/modal/index.js +12 -13
  18. package/dist/esm/contexts/datasource-experience-id/index.js +20 -0
  19. package/dist/esm/ui/assets-modal/modal/index.js +11 -10
  20. package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +2 -4
  21. package/dist/esm/ui/confluence-search-modal/modal/index.js +8 -7
  22. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +9 -9
  23. package/dist/esm/ui/issue-like-table/column-picker/index.js +6 -5
  24. package/dist/esm/ui/issue-like-table/index.js +9 -9
  25. package/dist/esm/ui/jira-issues-modal/modal/index.js +14 -12
  26. package/dist/types/contexts/datasource-experience-id/index.d.ts +4 -0
  27. package/dist/types/ui/assets-modal/modal/render-assets-content/index.d.ts +0 -1
  28. package/dist/types/ui/issue-like-table/column-picker/index.d.ts +1 -1
  29. package/dist/types/ui/issue-like-table/column-picker/types.d.ts +0 -1
  30. package/dist/types/ui/issue-like-table/index.d.ts +1 -1
  31. package/dist/types/ui/issue-like-table/types.d.ts +0 -4
  32. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +0 -2
  33. package/dist/types-ts4.5/contexts/datasource-experience-id/index.d.ts +4 -0
  34. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/index.d.ts +0 -1
  35. package/dist/types-ts4.5/ui/issue-like-table/column-picker/index.d.ts +1 -1
  36. package/dist/types-ts4.5/ui/issue-like-table/column-picker/types.d.ts +0 -1
  37. package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +1 -1
  38. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +0 -4
  39. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +0 -2
  40. package/examples-helpers/buildIssueLikeTable.tsx +12 -9
  41. package/examples-helpers/buildJiraIssuesTable.tsx +8 -5
  42. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 2.3.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#102451](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/102451)
8
+ [`52ef0e53ab4b`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/52ef0e53ab4b) -
9
+ Created a new `DatasourceExperienceIdProvider` and `useDatasourceExperienceId` for tracking UFO
10
+ experiences.
11
+
3
12
  ## 2.3.3
4
13
 
5
14
  ### Patch Changes
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useDatasourceExperienceId = exports.DatasourceExperienceIdProvider = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _uuid = require("uuid");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ var DatasourceExperienceIdContext = /*#__PURE__*/_react.default.createContext(undefined);
13
+ var DatasourceExperienceIdProvider = exports.DatasourceExperienceIdProvider = function DatasourceExperienceIdProvider(_ref) {
14
+ var children = _ref.children;
15
+ var value = (0, _react.useMemo)(function () {
16
+ return (0, _uuid.v4)();
17
+ }, []);
18
+ return /*#__PURE__*/_react.default.createElement(DatasourceExperienceIdContext.Provider, {
19
+ value: value
20
+ }, children);
21
+ };
22
+ var useDatasourceExperienceId = exports.useDatasourceExperienceId = function useDatasourceExperienceId() {
23
+ var context = (0, _react.useContext)(DatasourceExperienceIdContext);
24
+ if (!context) {
25
+ throw Error('useDatasourceExperienceId() must be wrapped in <DatasourceExperienceIdProvider>');
26
+ }
27
+ return context;
28
+ };
@@ -11,7 +11,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = require("react");
12
12
  var _react2 = require("@emotion/react");
13
13
  var _reactIntlNext = require("react-intl-next");
14
- var _uuid = require("uuid");
15
14
  var _analyticsNext = require("@atlaskit/analytics-next");
16
15
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
17
16
  var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
@@ -24,6 +23,7 @@ var _useColumnPickerRenderedFailedUfoExperience = require("../../../analytics/uf
24
23
  var _useDataRenderedUfoExperience = require("../../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience");
25
24
  var _adf = require("../../../common/utils/adf");
26
25
  var _fetchMessagesForLocale = require("../../../common/utils/locale/fetch-messages-for-locale");
26
+ var _datasourceExperienceId = require("../../../contexts/datasource-experience-id");
27
27
  var _useAssetsClient2 = require("../../../hooks/useAssetsClient");
28
28
  var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
29
29
  var _en = _interopRequireDefault(require("../../../i18n/en"));
@@ -41,6 +41,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
41
41
  var modalBodyErrorWrapperStyles = (0, _react2.css)({
42
42
  alignItems: 'center',
43
43
  display: 'grid',
44
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values
44
45
  height: _renderAssetsContent.MODAL_HEIGHT
45
46
  });
46
47
  var AssetsModalTitle = (0, _react2.jsx)(_modalDialog.ModalTitle, null, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.modalMessages.insertObjectsTitle));
@@ -72,8 +73,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
72
73
  setErrorState = _useState10[1];
73
74
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
74
75
  fireEvent = _useDatasourceAnalyti.fireEvent;
75
- var _useRef = (0, _react.useRef)((0, _uuid.v4)()),
76
- modalRenderInstanceId = _useRef.current;
76
+ var experienceId = (0, _datasourceExperienceId.useDatasourceExperienceId)();
77
77
  var _useAssetsClient = (0, _useAssetsClient2.useAssetsClient)(initialParameters),
78
78
  workspaceId = _useAssetsClient.workspaceId,
79
79
  workspaceError = _useAssetsClient.workspaceError,
@@ -182,17 +182,17 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
182
182
  if (shouldStartUfoExperience) {
183
183
  (0, _ufoExperiences.startUfoExperience)({
184
184
  name: 'datasource-rendered'
185
- }, modalRenderInstanceId);
185
+ }, experienceId);
186
186
  }
187
- }, [modalRenderInstanceId, status]);
187
+ }, [experienceId, status]);
188
188
  (0, _useDataRenderedUfoExperience.useDataRenderedUfoExperience)({
189
189
  status: status,
190
- experienceId: modalRenderInstanceId,
190
+ experienceId: experienceId,
191
191
  itemCount: responseItems.length,
192
192
  canBeLink: false,
193
193
  extensionKey: extensionKey
194
194
  });
195
- (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, modalRenderInstanceId);
195
+ (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, experienceId);
196
196
  /* ------------------------------ END OBSERVABILITY ------------------------------ */
197
197
 
198
198
  var onVisibleColumnKeysChange = (0, _react.useCallback)(function (visibleColumnKeys) {
@@ -349,8 +349,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
349
349
  hasNextPage: hasNextPage,
350
350
  loadDatasourceDetails: loadDatasourceDetails,
351
351
  columns: columns,
352
- defaultVisibleColumnKeys: defaultVisibleColumnKeys,
353
- modalRenderInstanceId: modalRenderInstanceId
352
+ defaultVisibleColumnKeys: defaultVisibleColumnKeys
354
353
  })), (0, _react2.jsx)(_modalDialog.ModalFooter, null, (0, _react2.jsx)(_cancelButton.CancelButton, {
355
354
  onCancel: onCancel,
356
355
  getAnalyticsPayload: getCancelButtonAnalyticsPayload,
@@ -375,4 +374,6 @@ var analyticsContextData = _objectSpread(_objectSpread({}, _constants.componentM
375
374
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
376
375
  attributes: _objectSpread({}, analyticsContextAttributes)
377
376
  });
378
- var AssetsConfigModal = exports.AssetsConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(PlainAssetsConfigModal);
377
+ var AssetsConfigModal = exports.AssetsConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
378
+ return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(PlainAssetsConfigModal, props));
379
+ });
@@ -72,7 +72,6 @@ var RenderAssetsContent = exports.RenderAssetsContent = function RenderAssetsCon
72
72
  columns = props.columns,
73
73
  defaultVisibleColumnKeys = props.defaultVisibleColumnKeys,
74
74
  onVisibleColumnKeysChange = props.onVisibleColumnKeysChange,
75
- modalRenderInstanceId = props.modalRenderInstanceId,
76
75
  isFetchingInitialData = props.isFetchingInitialData;
77
76
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
78
77
  var issueLikeDataTableView = (0, _react.useMemo)(function () {
@@ -87,10 +86,9 @@ var RenderAssetsContent = exports.RenderAssetsContent = function RenderAssetsCon
87
86
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
88
87
  onNextPage: onNextPage,
89
88
  onLoadDatasourceDetails: loadDatasourceDetails,
90
- onVisibleColumnKeysChange: onVisibleColumnKeysChange,
91
- parentContainerRenderInstanceId: modalRenderInstanceId
89
+ onVisibleColumnKeysChange: onVisibleColumnKeysChange
92
90
  }));
93
- }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys, modalRenderInstanceId]);
91
+ }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys]);
94
92
  var renderAssetsContentView = (0, _react.useCallback)(function () {
95
93
  if (isFetchingInitialData) {
96
94
  // Placing this check first as it's a priority before all others
@@ -11,7 +11,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = require("react");
12
12
  var _react2 = require("@emotion/react");
13
13
  var _reactIntlNext = require("react-intl-next");
14
- var _uuid = require("uuid");
15
14
  var _analyticsNext = require("@atlaskit/analytics-next");
16
15
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
17
16
  var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
@@ -25,6 +24,7 @@ var _constants = require("../../../analytics/constants");
25
24
  var _types = require("../../../analytics/types");
26
25
  var _adf = require("../../../common/utils/adf");
27
26
  var _fetchMessagesForLocale = require("../../../common/utils/locale/fetch-messages-for-locale");
27
+ var _datasourceExperienceId = require("../../../contexts/datasource-experience-id");
28
28
  var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
29
29
  var _en = _interopRequireDefault(require("../../../i18n/en"));
30
30
  var _useAvailableSites2 = require("../../../services/useAvailableSites");
@@ -58,8 +58,6 @@ var searchCountStyles = (0, _primitives.xcss)({
58
58
  fontWeight: 600
59
59
  });
60
60
  var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
61
- var _useRef = (0, _react.useRef)((0, _uuid.v4)()),
62
- modalRenderInstanceId = _useRef.current;
63
61
  var datasourceId = props.datasourceId,
64
62
  initialColumnCustomSizes = props.columnCustomSizes,
65
63
  initialWrappedColumnKeys = props.wrappedColumnKeys,
@@ -216,14 +214,13 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
216
214
  onNextPage: onNextPage,
217
215
  onLoadDatasourceDetails: loadDatasourceDetails,
218
216
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
219
- parentContainerRenderInstanceId: modalRenderInstanceId,
220
217
  extensionKey: extensionKey,
221
218
  columnCustomSizes: columnCustomSizes,
222
219
  onColumnResize: onColumnResize,
223
220
  wrappedColumnKeys: wrappedColumnKeys,
224
221
  onWrappedColumnChange: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
225
222
  }));
226
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, modalRenderInstanceId, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
223
+ }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
227
224
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
228
225
  var hasConfluenceSearchParams = selectedConfluenceSite && searchString;
229
226
  var selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
@@ -450,7 +447,9 @@ var PlainConfluenceSearchConfigModal = exports.PlainConfluenceSearchConfigModal
450
447
  }, (0, _react2.jsx)(_linkUrl.default, {
451
448
  href: confluenceSearchUrl,
452
449
  target: "_blank",
453
- testId: "item-count-url",
450
+ testId: "item-count-url"
451
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
452
+ ,
454
453
  style: {
455
454
  color: "var(--ds-text-accent-gray, ".concat(_colors.N800, ")")
456
455
  }
@@ -480,4 +479,6 @@ var analyticsContextData = _objectSpread(_objectSpread({}, _constants.componentM
480
479
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
481
480
  attributes: _objectSpread({}, analyticsContextAttributes)
482
481
  });
483
- var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(PlainConfluenceSearchConfigModal);
482
+ var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
483
+ return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(PlainConfluenceSearchConfigModal, props));
484
+ });
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.DatasourceTableView = void 0;
8
8
  var _react = require("react");
9
9
  var _react2 = require("@emotion/react");
10
- var _uuid = require("uuid");
11
10
  var _analyticsNext = require("@atlaskit/analytics-next");
12
11
  var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
13
12
  var _analytics = require("../../analytics");
@@ -16,6 +15,7 @@ var _ufoExperiences = require("../../analytics/ufoExperiences");
16
15
  var _useColumnPickerRenderedFailedUfoExperience = require("../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience");
17
16
  var _useDataRenderedUfoExperience = require("../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience");
18
17
  var _fetchMessagesForLocale = require("../../common/utils/locale/fetch-messages-for-locale");
18
+ var _datasourceExperienceId = require("../../contexts/datasource-experience-id");
19
19
  var _useDatasourceTableState = require("../../hooks/useDatasourceTableState");
20
20
  var _en = _interopRequireDefault(require("../../i18n/en"));
21
21
  var _styled = require("../../ui/issue-like-table/styled");
@@ -62,8 +62,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
62
62
  authDetails = _useDatasourceTableSt.authDetails;
63
63
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
64
64
  fireEvent = _useDatasourceAnalyti.fireEvent;
65
- var _useRef = (0, _react.useRef)((0, _uuid.v4)()),
66
- tableRenderInstanceId = _useRef.current;
65
+ var experienceId = (0, _datasourceExperienceId.useDatasourceExperienceId)();
67
66
  var visibleColumnCount = (0, _react.useRef)((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
68
67
 
69
68
  /* Need this to make sure that the datasource in the editor gets updated new info if any edits are made in the modal
@@ -102,13 +101,13 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
102
101
  if (shouldStartUfoExperience) {
103
102
  (0, _ufoExperiences.startUfoExperience)({
104
103
  name: 'datasource-rendered'
105
- }, tableRenderInstanceId);
104
+ }, experienceId);
106
105
  }
107
- }, [datasourceId, parameters, status, tableRenderInstanceId, visibleColumnKeys]);
108
- (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, tableRenderInstanceId);
106
+ }, [datasourceId, parameters, status, experienceId, visibleColumnKeys]);
107
+ (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, experienceId);
109
108
  (0, _useDataRenderedUfoExperience.useDataRenderedUfoExperience)({
110
109
  status: status,
111
- experienceId: tableRenderInstanceId,
110
+ experienceId: experienceId,
112
111
  itemCount: responseItems.length,
113
112
  extensionKey: extensionKey
114
113
  });
@@ -172,7 +171,6 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
172
171
  wrappedColumnKeys: wrappedColumnKeys,
173
172
  onWrappedColumnChange: onWrappedColumnChange,
174
173
  scrollableContainerHeight: _styled.ScrollableContainerHeight,
175
- parentContainerRenderInstanceId: tableRenderInstanceId,
176
174
  extensionKey: extensionKey
177
175
  }) : (0, _react2.jsx)(_emptyState.default, {
178
176
  testId: "datasource-table-view-skeleton",
@@ -185,4 +183,6 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
185
183
  url: url
186
184
  })));
187
185
  };
188
- var DatasourceTableView = exports.DatasourceTableView = (0, _analyticsNext.withAnalyticsContext)(_constants.componentMetadata.tableView)(DatasourceTableViewWithoutAnalytics);
186
+ var DatasourceTableView = exports.DatasourceTableView = (0, _analyticsNext.withAnalyticsContext)(_constants.componentMetadata.tableView)(function (props) {
187
+ return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(DatasourceTableViewWithoutAnalytics, props));
188
+ });
@@ -18,6 +18,7 @@ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-
18
18
  var _select = require("@atlaskit/select");
19
19
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
20
20
  var _ufoExperiences = require("../../../analytics/ufoExperiences");
21
+ var _datasourceExperienceId = require("../../../contexts/datasource-experience-id");
21
22
  var _concatenatedMenuList = require("./concatenated-menu-list");
22
23
  var _messages = require("./messages");
23
24
  var _excluded = ["isOpen"];
@@ -26,9 +27,9 @@ var ColumnPicker = exports.ColumnPicker = function ColumnPicker(_ref) {
26
27
  var columns = _ref.columns,
27
28
  selectedColumnKeys = _ref.selectedColumnKeys,
28
29
  onSelectedColumnKeysChange = _ref.onSelectedColumnKeysChange,
29
- onOpen = _ref.onOpen,
30
- parentContainerRenderInstanceId = _ref.parentContainerRenderInstanceId;
30
+ onOpen = _ref.onOpen;
31
31
  var intl = (0, _reactIntlNext.useIntl)();
32
+ var experienceId = (0, _datasourceExperienceId.useDatasourceExperienceId)();
32
33
  var _useState = (0, _react.useState)([]),
33
34
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
35
  allOptions = _useState2[0],
@@ -107,13 +108,13 @@ var ColumnPicker = exports.ColumnPicker = function ColumnPicker(_ref) {
107
108
  }, [allOptions]);
108
109
  (0, _react.useEffect)(function () {
109
110
  if (allOptions.length) {
110
- if (parentContainerRenderInstanceId) {
111
+ if (experienceId) {
111
112
  (0, _ufoExperiences.succeedUfoExperience)({
112
113
  name: 'column-picker-rendered'
113
- }, parentContainerRenderInstanceId);
114
+ }, experienceId);
114
115
  }
115
116
  }
116
- }, [allOptions, parentContainerRenderInstanceId]);
117
+ }, [allOptions, experienceId]);
117
118
  return (0, _react2.jsx)(_select.PopupSelect, {
118
119
  classNamePrefix: 'column-picker-popup',
119
120
  testId: 'column-picker-popup',
@@ -29,6 +29,7 @@ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
29
29
  var _widthDetector = require("@atlaskit/width-detector");
30
30
  var _ufoExperiences = require("../../analytics/ufoExperiences");
31
31
  var _zindex = require("../../common/zindex");
32
+ var _datasourceExperienceId = require("../../contexts/datasource-experience-id");
32
33
  var _columnPicker = require("./column-picker");
33
34
  var _dragColumnPreview = require("./drag-column-preview");
34
35
  var _draggableTableHeading = require("./draggable-table-heading");
@@ -290,12 +291,12 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
290
291
  status = _ref5.status,
291
292
  hasNextPage = _ref5.hasNextPage,
292
293
  scrollableContainerHeight = _ref5.scrollableContainerHeight,
293
- parentContainerRenderInstanceId = _ref5.parentContainerRenderInstanceId,
294
294
  extensionKey = _ref5.extensionKey;
295
295
  var tableId = (0, _react.useMemo)(function () {
296
296
  return Symbol('unique-id');
297
297
  }, []);
298
298
  var intl = (0, _reactIntlNext.useIntl)();
299
+ var experienceId = (0, _datasourceExperienceId.useDatasourceExperienceId)();
299
300
  var tableHeaderRowRef = (0, _react.useRef)(null);
300
301
  var _useState = (0, _react.useState)(null),
301
302
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -332,12 +333,12 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
332
333
  }
333
334
  }, [columns, visibleColumnKeys, hasFullSchema]);
334
335
  (0, _react.useEffect)(function () {
335
- if (parentContainerRenderInstanceId && status === 'resolved') {
336
+ if (experienceId && status === 'resolved') {
336
337
  (0, _ufoExperiences.succeedUfoExperience)({
337
338
  name: 'datasource-rendered'
338
- }, parentContainerRenderInstanceId);
339
+ }, experienceId);
339
340
  }
340
- }, [parentContainerRenderInstanceId, status]);
341
+ }, [experienceId, status]);
341
342
  var visibleSortedColumns = (0, _react.useMemo)(function () {
342
343
  return visibleColumnKeys.map(function (visibleKey) {
343
344
  return orderedColumns.find(function (_ref6) {
@@ -550,13 +551,13 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
550
551
  }
551
552
  return _context.abrupt("return");
552
553
  case 2:
553
- if (parentContainerRenderInstanceId) {
554
+ if (experienceId) {
554
555
  (0, _ufoExperiences.startUfoExperience)({
555
556
  name: 'column-picker-rendered',
556
557
  metadata: {
557
558
  extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
558
559
  }
559
- }, parentContainerRenderInstanceId);
560
+ }, experienceId);
560
561
  }
561
562
  _context.prev = 3;
562
563
  _context.next = 6;
@@ -574,7 +575,7 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
574
575
  return _context.stop();
575
576
  }
576
577
  }, _callee, null, [[3, 9]]);
577
- })), [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
578
+ })), [experienceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
578
579
  var isEditable = onVisibleColumnKeysChange && hasData;
579
580
  return (0, _react2.jsx)("div", {
580
581
  /* There is required contentEditable={true} in editor-card-plugin
@@ -662,8 +663,7 @@ var IssueLikeDataTableView = exports.IssueLikeDataTableView = function IssueLike
662
663
  columns: hasFullSchema ? orderedColumns : [],
663
664
  selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
664
665
  onSelectedColumnKeysChange: onSelectedColumnKeysChange,
665
- onOpen: handlePickerOpen,
666
- parentContainerRenderInstanceId: parentContainerRenderInstanceId
666
+ onOpen: handlePickerOpen
667
667
  })))), (0, _react2.jsx)("tbody", {
668
668
  css: noDefaultBorderStyles,
669
669
  "data-testid": testId && "".concat(testId, "--body")
@@ -4,14 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.PlainJiraIssuesConfigModal = exports.JiraIssuesConfigModal = void 0;
7
+ exports.JiraIssuesConfigModal = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = require("react");
12
12
  var _react2 = require("@emotion/react");
13
13
  var _reactIntlNext = require("react-intl-next");
14
- var _uuid = require("uuid");
15
14
  var _analyticsNext = require("@atlaskit/analytics-next");
16
15
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
17
16
  var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
@@ -28,6 +27,7 @@ var _useDataRenderedUfoExperience = require("../../../analytics/ufoExperiences/h
28
27
  var _utils = require("../../../analytics/utils");
29
28
  var _adf = require("../../../common/utils/adf");
30
29
  var _fetchMessagesForLocale = require("../../../common/utils/locale/fetch-messages-for-locale");
30
+ var _datasourceExperienceId = require("../../../contexts/datasource-experience-id");
31
31
  var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
32
32
  var _en = _interopRequireDefault(require("../../../i18n/en"));
33
33
  var _useAvailableSites2 = require("../../../services/useAvailableSites");
@@ -66,7 +66,7 @@ var getDisplayValue = function getDisplayValue(currentViewMode, itemCount) {
66
66
  return itemCount === 1 ? _types.DatasourceDisplay.INLINE : _types.DatasourceDisplay.DATASOURCE_INLINE;
67
67
  };
68
68
  var jqlSupportDocumentLink = 'https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/';
69
- var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
69
+ var PlainJiraIssuesConfigModal = function PlainJiraIssuesConfigModal(props) {
70
70
  var datasourceId = props.datasourceId,
71
71
  initialColumnCustomSizes = props.columnCustomSizes,
72
72
  initialWrappedColumnKeys = props.wrappedColumnKeys,
@@ -145,8 +145,7 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
145
145
  destinationObjectTypes = _useDatasourceTableSt.destinationObjectTypes;
146
146
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
147
147
  fireEvent = _useDatasourceAnalyti.fireEvent;
148
- var _useRef = (0, _react.useRef)((0, _uuid.v4)()),
149
- modalRenderInstanceId = _useRef.current;
148
+ var experienceId = (0, _datasourceExperienceId.useDatasourceExperienceId)();
150
149
  var analyticsPayload = (0, _react.useMemo)(function () {
151
150
  return {
152
151
  extensionKey: extensionKey,
@@ -172,12 +171,12 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
172
171
  if (shouldStartUfoExperience) {
173
172
  (0, _ufoExperiences.startUfoExperience)({
174
173
  name: 'datasource-rendered'
175
- }, modalRenderInstanceId);
174
+ }, experienceId);
176
175
  }
177
- }, [modalRenderInstanceId, status]);
176
+ }, [experienceId, status]);
178
177
  (0, _useDataRenderedUfoExperience.useDataRenderedUfoExperience)({
179
178
  status: status,
180
- experienceId: modalRenderInstanceId,
179
+ experienceId: experienceId,
181
180
  itemCount: responseItems.length,
182
181
  canBeLink: currentViewMode === 'inline',
183
182
  extensionKey: extensionKey
@@ -235,7 +234,7 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
235
234
  fireCountViewedEvent();
236
235
  }
237
236
  }, [currentViewMode, status, fireIssueViewAnalytics, fireCountViewedEvent]);
238
- (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, modalRenderInstanceId);
237
+ (0, _useColumnPickerRenderedFailedUfoExperience.useColumnPickerRenderedFailedUfoExperience)(status, experienceId);
239
238
  var onSearch = (0, _react.useCallback)(function (newParameters, _ref) {
240
239
  var searchMethod = _ref.searchMethod,
241
240
  basicFilterSelections = _ref.basicFilterSelections,
@@ -378,14 +377,13 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
378
377
  onNextPage: handleOnNextPage,
379
378
  onLoadDatasourceDetails: loadDatasourceDetails,
380
379
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
381
- parentContainerRenderInstanceId: modalRenderInstanceId,
382
380
  extensionKey: extensionKey,
383
381
  columnCustomSizes: columnCustomSizes,
384
382
  onColumnResize: onColumnResize,
385
383
  wrappedColumnKeys: wrappedColumnKeys,
386
384
  onWrappedColumnChange: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
387
385
  }));
388
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, handleOnNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, modalRenderInstanceId, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
386
+ }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, handleOnNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
389
387
  var renderCountModeContent = (0, _react.useCallback)(function () {
390
388
  var selectedJiraSiteUrl = selectedJiraSite === null || selectedJiraSite === void 0 ? void 0 : selectedJiraSite.url;
391
389
  if (status === 'unauthorized') {
@@ -488,7 +486,9 @@ var PlainJiraIssuesConfigModal = exports.PlainJiraIssuesConfigModal = function P
488
486
  }, (0, _react2.jsx)(_linkUrl.default, {
489
487
  href: jqlUrl,
490
488
  target: "_blank",
491
- testId: "item-count-url",
489
+ testId: "item-count-url"
490
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
491
+ ,
492
492
  style: {
493
493
  color: "var(--ds-text-accent-gray, ".concat(_colors.N800, ")")
494
494
  }
@@ -518,4 +518,6 @@ var analyticsContextData = _objectSpread(_objectSpread({}, _constants.componentM
518
518
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
519
519
  attributes: _objectSpread({}, analyticsContextAttributes)
520
520
  });
521
- var JiraIssuesConfigModal = exports.JiraIssuesConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(PlainJiraIssuesConfigModal);
521
+ var JiraIssuesConfigModal = exports.JiraIssuesConfigModal = (0, _analyticsNext.withAnalyticsContext)(contextData)(function (props) {
522
+ return (0, _react2.jsx)(_datasourceExperienceId.DatasourceExperienceIdProvider, null, (0, _react2.jsx)(PlainJiraIssuesConfigModal, props));
523
+ });
@@ -0,0 +1,19 @@
1
+ import React, { useContext, useMemo } from 'react';
2
+ import { v4 as uuidv4 } from 'uuid';
3
+ const DatasourceExperienceIdContext = /*#__PURE__*/React.createContext(undefined);
4
+ const DatasourceExperienceIdProvider = ({
5
+ children
6
+ }) => {
7
+ const value = useMemo(() => uuidv4(), []);
8
+ return /*#__PURE__*/React.createElement(DatasourceExperienceIdContext.Provider, {
9
+ value: value
10
+ }, children);
11
+ };
12
+ const useDatasourceExperienceId = () => {
13
+ const context = useContext(DatasourceExperienceIdContext);
14
+ if (!context) {
15
+ throw Error('useDatasourceExperienceId() must be wrapped in <DatasourceExperienceIdProvider>');
16
+ }
17
+ return context;
18
+ };
19
+ export { DatasourceExperienceIdProvider, useDatasourceExperienceId };
@@ -3,7 +3,6 @@ import _extends from "@babel/runtime/helpers/extends";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { css, jsx } from '@emotion/react';
5
5
  import { FormattedMessage } from 'react-intl-next';
6
- import { v4 as uuidv4 } from 'uuid';
7
6
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
8
7
  import Button from '@atlaskit/button/standard-button';
9
8
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
@@ -16,6 +15,7 @@ import { useColumnPickerRenderedFailedUfoExperience } from '../../../analytics/u
16
15
  import { useDataRenderedUfoExperience } from '../../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience';
17
16
  import { buildDatasourceAdf } from '../../../common/utils/adf';
18
17
  import { fetchMessagesForLocale } from '../../../common/utils/locale/fetch-messages-for-locale';
18
+ import { DatasourceExperienceIdProvider, useDatasourceExperienceId } from '../../../contexts/datasource-experience-id';
19
19
  import { useAssetsClient } from '../../../hooks/useAssetsClient';
20
20
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
21
21
  import i18nEN from '../../../i18n/en';
@@ -31,6 +31,7 @@ import { MODAL_HEIGHT, RenderAssetsContent } from './render-assets-content';
31
31
  const modalBodyErrorWrapperStyles = css({
32
32
  alignItems: 'center',
33
33
  display: 'grid',
34
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values
34
35
  height: MODAL_HEIGHT
35
36
  });
36
37
  const AssetsModalTitle = jsx(ModalTitle, null, jsx(FormattedMessage, modalMessages.insertObjectsTitle));
@@ -50,9 +51,7 @@ const PlainAssetsConfigModal = props => {
50
51
  const {
51
52
  fireEvent
52
53
  } = useDatasourceAnalyticsEvents();
53
- const {
54
- current: modalRenderInstanceId
55
- } = useRef(uuidv4());
54
+ const experienceId = useDatasourceExperienceId();
56
55
  const {
57
56
  workspaceId,
58
57
  workspaceError,
@@ -161,17 +160,17 @@ const PlainAssetsConfigModal = props => {
161
160
  if (shouldStartUfoExperience) {
162
161
  startUfoExperience({
163
162
  name: 'datasource-rendered'
164
- }, modalRenderInstanceId);
163
+ }, experienceId);
165
164
  }
166
- }, [modalRenderInstanceId, status]);
165
+ }, [experienceId, status]);
167
166
  useDataRenderedUfoExperience({
168
167
  status,
169
- experienceId: modalRenderInstanceId,
168
+ experienceId: experienceId,
170
169
  itemCount: responseItems.length,
171
170
  canBeLink: false,
172
171
  extensionKey
173
172
  });
174
- useColumnPickerRenderedFailedUfoExperience(status, modalRenderInstanceId);
173
+ useColumnPickerRenderedFailedUfoExperience(status, experienceId);
175
174
  /* ------------------------------ END OBSERVABILITY ------------------------------ */
176
175
 
177
176
  const onVisibleColumnKeysChange = useCallback(visibleColumnKeys => {
@@ -327,8 +326,7 @@ const PlainAssetsConfigModal = props => {
327
326
  hasNextPage: hasNextPage,
328
327
  loadDatasourceDetails: loadDatasourceDetails,
329
328
  columns: columns,
330
- defaultVisibleColumnKeys: defaultVisibleColumnKeys,
331
- modalRenderInstanceId: modalRenderInstanceId
329
+ defaultVisibleColumnKeys: defaultVisibleColumnKeys
332
330
  })), jsx(ModalFooter, null, jsx(CancelButton, {
333
331
  onCancel: onCancel,
334
332
  getAnalyticsPayload: getCancelButtonAnalyticsPayload,
@@ -357,4 +355,4 @@ const contextData = {
357
355
  ...analyticsContextAttributes
358
356
  }
359
357
  };
360
- export const AssetsConfigModal = withAnalyticsContext(contextData)(PlainAssetsConfigModal);
358
+ export const AssetsConfigModal = withAnalyticsContext(contextData)(props => jsx(DatasourceExperienceIdProvider, null, jsx(PlainAssetsConfigModal, props)));
@@ -56,7 +56,6 @@ export const RenderAssetsContent = props => {
56
56
  columns,
57
57
  defaultVisibleColumnKeys,
58
58
  onVisibleColumnKeysChange,
59
- modalRenderInstanceId,
60
59
  isFetchingInitialData
61
60
  } = props;
62
61
  const resolvedWithNoResults = status === 'resolved' && !responseItems.length;
@@ -71,9 +70,8 @@ export const RenderAssetsContent = props => {
71
70
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
72
71
  onNextPage: onNextPage,
73
72
  onLoadDatasourceDetails: loadDatasourceDetails,
74
- onVisibleColumnKeysChange: onVisibleColumnKeysChange,
75
- parentContainerRenderInstanceId: modalRenderInstanceId
76
- })), [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys, modalRenderInstanceId]);
73
+ onVisibleColumnKeysChange: onVisibleColumnKeysChange
74
+ })), [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys]);
77
75
  const renderAssetsContentView = useCallback(() => {
78
76
  if (isFetchingInitialData) {
79
77
  // Placing this check first as it's a priority before all others
@@ -3,7 +3,6 @@ import _extends from "@babel/runtime/helpers/extends";
3
3
  import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { jsx } from '@emotion/react';
5
5
  import { FormattedMessage, FormattedNumber } from 'react-intl-next';
6
- import { v4 as uuidv4 } from 'uuid';
7
6
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
8
7
  import Button from '@atlaskit/button/standard-button';
9
8
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
@@ -17,6 +16,7 @@ import { componentMetadata } from '../../../analytics/constants';
17
16
  import { DatasourceAction, DatasourceDisplay, DatasourceSearchMethod } from '../../../analytics/types';
18
17
  import { buildDatasourceAdf } from '../../../common/utils/adf';
19
18
  import { fetchMessagesForLocale } from '../../../common/utils/locale/fetch-messages-for-locale';
19
+ import { DatasourceExperienceIdProvider } from '../../../contexts/datasource-experience-id';
20
20
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
21
21
  import i18nEN from '../../../i18n/en';
22
22
  import { useAvailableSites } from '../../../services/useAvailableSites';
@@ -48,9 +48,6 @@ const searchCountStyles = xcss({
48
48
  fontWeight: 600
49
49
  });
50
50
  export const PlainConfluenceSearchConfigModal = props => {
51
- const {
52
- current: modalRenderInstanceId
53
- } = useRef(uuidv4());
54
51
  const {
55
52
  datasourceId,
56
53
  columnCustomSizes: initialColumnCustomSizes,
@@ -189,13 +186,12 @@ export const PlainConfluenceSearchConfigModal = props => {
189
186
  onNextPage: onNextPage,
190
187
  onLoadDatasourceDetails: loadDatasourceDetails,
191
188
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
192
- parentContainerRenderInstanceId: modalRenderInstanceId,
193
189
  extensionKey: extensionKey,
194
190
  columnCustomSizes: columnCustomSizes,
195
191
  onColumnResize: onColumnResize,
196
192
  wrappedColumnKeys: wrappedColumnKeys,
197
193
  onWrappedColumnChange: getBooleanFF('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
198
- })), [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, modalRenderInstanceId, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
194
+ })), [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
199
195
  const resolvedWithNoResults = status === 'resolved' && !responseItems.length;
200
196
  const hasConfluenceSearchParams = selectedConfluenceSite && searchString;
201
197
  const selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
@@ -424,7 +420,9 @@ export const PlainConfluenceSearchConfigModal = props => {
424
420
  }, jsx(LinkUrl, {
425
421
  href: confluenceSearchUrl,
426
422
  target: "_blank",
427
- testId: "item-count-url",
423
+ testId: "item-count-url"
424
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
425
+ ,
428
426
  style: {
429
427
  color: `var(--ds-text-accent-gray, ${N800})`
430
428
  }
@@ -458,4 +456,4 @@ const contextData = {
458
456
  ...analyticsContextAttributes
459
457
  }
460
458
  };
461
- export const ConfluenceSearchConfigModal = withAnalyticsContext(contextData)(PlainConfluenceSearchConfigModal);
459
+ export const ConfluenceSearchConfigModal = withAnalyticsContext(contextData)(props => jsx(DatasourceExperienceIdProvider, null, jsx(PlainConfluenceSearchConfigModal, props)));