@atlaskit/link-datasource 2.3.3 → 2.3.5

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 (202) hide show
  1. package/CHANGELOG.md +1201 -1192
  2. package/dist/cjs/contexts/datasource-experience-id/index.js +28 -0
  3. package/dist/cjs/contexts/user-interactions/index.js +42 -0
  4. package/dist/cjs/i18n/cs.js +15 -8
  5. package/dist/cjs/i18n/da.js +15 -8
  6. package/dist/cjs/i18n/de.js +15 -8
  7. package/dist/cjs/i18n/en.js +15 -8
  8. package/dist/cjs/i18n/en_GB.js +15 -8
  9. package/dist/cjs/i18n/en_ZZ.js +15 -8
  10. package/dist/cjs/i18n/es.js +15 -8
  11. package/dist/cjs/i18n/fi.js +15 -8
  12. package/dist/cjs/i18n/fr.js +15 -8
  13. package/dist/cjs/i18n/hu.js +15 -8
  14. package/dist/cjs/i18n/it.js +15 -8
  15. package/dist/cjs/i18n/ja.js +15 -8
  16. package/dist/cjs/i18n/ko.js +15 -8
  17. package/dist/cjs/i18n/nb.js +15 -8
  18. package/dist/cjs/i18n/nl.js +15 -8
  19. package/dist/cjs/i18n/pl.js +15 -8
  20. package/dist/cjs/i18n/pt_BR.js +15 -8
  21. package/dist/cjs/i18n/ru.js +15 -8
  22. package/dist/cjs/i18n/sv.js +15 -8
  23. package/dist/cjs/i18n/th.js +15 -8
  24. package/dist/cjs/i18n/tr.js +15 -8
  25. package/dist/cjs/i18n/uk.js +15 -8
  26. package/dist/cjs/i18n/vi.js +15 -8
  27. package/dist/cjs/i18n/zh.js +15 -8
  28. package/dist/cjs/i18n/zh_TW.js +15 -8
  29. package/dist/cjs/ui/assets-modal/modal/index.js +20 -18
  30. package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +2 -4
  31. package/dist/cjs/ui/assets-modal/search-container/aql-search-input/index.js +1 -0
  32. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +4 -1
  33. package/dist/cjs/ui/confluence-search-modal/modal/confluence-search-initial-state-svg.js +3 -1
  34. package/dist/cjs/ui/confluence-search-modal/modal/index.js +23 -21
  35. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +9 -9
  36. package/dist/cjs/ui/issue-like-table/column-picker/concatenated-menu-list.js +3 -1
  37. package/dist/cjs/ui/issue-like-table/column-picker/index.js +6 -5
  38. package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +1 -0
  39. package/dist/cjs/ui/issue-like-table/empty-state/index.js +19 -13
  40. package/dist/cjs/ui/issue-like-table/index.js +24 -14
  41. package/dist/cjs/ui/issue-like-table/render-type/icon/index.js +3 -1
  42. package/dist/cjs/ui/issue-like-table/render-type/link/index.js +3 -1
  43. package/dist/cjs/ui/jira-issues-modal/modal/index.js +31 -28
  44. package/dist/cjs/ui/table-footer/index.js +1 -0
  45. package/dist/cjs/ui/table-footer/powered-by-jsm-assets/index.js +2 -0
  46. package/dist/es2019/contexts/datasource-experience-id/index.js +19 -0
  47. package/dist/es2019/contexts/user-interactions/index.js +33 -0
  48. package/dist/es2019/i18n/cs.js +15 -8
  49. package/dist/es2019/i18n/da.js +15 -8
  50. package/dist/es2019/i18n/de.js +15 -8
  51. package/dist/es2019/i18n/en.js +15 -8
  52. package/dist/es2019/i18n/en_GB.js +15 -8
  53. package/dist/es2019/i18n/en_ZZ.js +15 -8
  54. package/dist/es2019/i18n/es.js +15 -8
  55. package/dist/es2019/i18n/fi.js +15 -8
  56. package/dist/es2019/i18n/fr.js +15 -8
  57. package/dist/es2019/i18n/hu.js +15 -8
  58. package/dist/es2019/i18n/it.js +15 -8
  59. package/dist/es2019/i18n/ja.js +15 -8
  60. package/dist/es2019/i18n/ko.js +15 -8
  61. package/dist/es2019/i18n/nb.js +15 -8
  62. package/dist/es2019/i18n/nl.js +15 -8
  63. package/dist/es2019/i18n/pl.js +15 -8
  64. package/dist/es2019/i18n/pt_BR.js +15 -8
  65. package/dist/es2019/i18n/ru.js +15 -8
  66. package/dist/es2019/i18n/sv.js +15 -8
  67. package/dist/es2019/i18n/th.js +15 -8
  68. package/dist/es2019/i18n/tr.js +15 -8
  69. package/dist/es2019/i18n/uk.js +15 -8
  70. package/dist/es2019/i18n/vi.js +15 -8
  71. package/dist/es2019/i18n/zh.js +15 -8
  72. package/dist/es2019/i18n/zh_TW.js +15 -8
  73. package/dist/es2019/ui/assets-modal/modal/index.js +18 -19
  74. package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +2 -4
  75. package/dist/es2019/ui/assets-modal/search-container/aql-search-input/index.js +1 -0
  76. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +4 -1
  77. package/dist/es2019/ui/confluence-search-modal/modal/confluence-search-initial-state-svg.js +3 -1
  78. package/dist/es2019/ui/confluence-search-modal/modal/index.js +21 -22
  79. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +7 -10
  80. package/dist/es2019/ui/issue-like-table/column-picker/concatenated-menu-list.js +3 -1
  81. package/dist/es2019/ui/issue-like-table/column-picker/index.js +6 -5
  82. package/dist/es2019/ui/issue-like-table/draggable-table-heading.js +2 -0
  83. package/dist/es2019/ui/issue-like-table/empty-state/index.js +6 -1
  84. package/dist/es2019/ui/issue-like-table/index.js +24 -14
  85. package/dist/es2019/ui/issue-like-table/render-type/icon/index.js +3 -1
  86. package/dist/es2019/ui/issue-like-table/render-type/link/index.js +3 -1
  87. package/dist/es2019/ui/jira-issues-modal/modal/index.js +28 -28
  88. package/dist/es2019/ui/table-footer/index.js +1 -0
  89. package/dist/es2019/ui/table-footer/powered-by-jsm-assets/index.js +2 -0
  90. package/dist/esm/contexts/datasource-experience-id/index.js +20 -0
  91. package/dist/esm/contexts/user-interactions/index.js +34 -0
  92. package/dist/esm/i18n/cs.js +15 -8
  93. package/dist/esm/i18n/da.js +15 -8
  94. package/dist/esm/i18n/de.js +15 -8
  95. package/dist/esm/i18n/en.js +15 -8
  96. package/dist/esm/i18n/en_GB.js +15 -8
  97. package/dist/esm/i18n/en_ZZ.js +15 -8
  98. package/dist/esm/i18n/es.js +15 -8
  99. package/dist/esm/i18n/fi.js +15 -8
  100. package/dist/esm/i18n/fr.js +15 -8
  101. package/dist/esm/i18n/hu.js +15 -8
  102. package/dist/esm/i18n/it.js +15 -8
  103. package/dist/esm/i18n/ja.js +15 -8
  104. package/dist/esm/i18n/ko.js +15 -8
  105. package/dist/esm/i18n/nb.js +15 -8
  106. package/dist/esm/i18n/nl.js +15 -8
  107. package/dist/esm/i18n/pl.js +15 -8
  108. package/dist/esm/i18n/pt_BR.js +15 -8
  109. package/dist/esm/i18n/ru.js +15 -8
  110. package/dist/esm/i18n/sv.js +15 -8
  111. package/dist/esm/i18n/th.js +15 -8
  112. package/dist/esm/i18n/tr.js +15 -8
  113. package/dist/esm/i18n/uk.js +15 -8
  114. package/dist/esm/i18n/vi.js +15 -8
  115. package/dist/esm/i18n/zh.js +15 -8
  116. package/dist/esm/i18n/zh_TW.js +15 -8
  117. package/dist/esm/ui/assets-modal/modal/index.js +20 -18
  118. package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +2 -4
  119. package/dist/esm/ui/assets-modal/search-container/aql-search-input/index.js +1 -0
  120. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/trigger.js +4 -1
  121. package/dist/esm/ui/confluence-search-modal/modal/confluence-search-initial-state-svg.js +3 -1
  122. package/dist/esm/ui/confluence-search-modal/modal/index.js +23 -21
  123. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +9 -9
  124. package/dist/esm/ui/issue-like-table/column-picker/concatenated-menu-list.js +3 -1
  125. package/dist/esm/ui/issue-like-table/column-picker/index.js +6 -5
  126. package/dist/esm/ui/issue-like-table/draggable-table-heading.js +1 -0
  127. package/dist/esm/ui/issue-like-table/empty-state/index.js +19 -13
  128. package/dist/esm/ui/issue-like-table/index.js +24 -14
  129. package/dist/esm/ui/issue-like-table/render-type/icon/index.js +3 -1
  130. package/dist/esm/ui/issue-like-table/render-type/link/index.js +3 -1
  131. package/dist/esm/ui/jira-issues-modal/modal/index.js +30 -27
  132. package/dist/esm/ui/table-footer/index.js +1 -0
  133. package/dist/esm/ui/table-footer/powered-by-jsm-assets/index.js +2 -0
  134. package/dist/types/contexts/datasource-experience-id/index.d.ts +4 -0
  135. package/dist/types/contexts/user-interactions/index.d.ts +15 -0
  136. package/dist/types/i18n/cs.d.ts +15 -8
  137. package/dist/types/i18n/da.d.ts +15 -8
  138. package/dist/types/i18n/de.d.ts +15 -8
  139. package/dist/types/i18n/en.d.ts +15 -8
  140. package/dist/types/i18n/en_GB.d.ts +15 -8
  141. package/dist/types/i18n/en_ZZ.d.ts +15 -8
  142. package/dist/types/i18n/es.d.ts +15 -8
  143. package/dist/types/i18n/fi.d.ts +15 -8
  144. package/dist/types/i18n/fr.d.ts +15 -8
  145. package/dist/types/i18n/hu.d.ts +15 -8
  146. package/dist/types/i18n/it.d.ts +15 -8
  147. package/dist/types/i18n/ja.d.ts +15 -8
  148. package/dist/types/i18n/ko.d.ts +15 -8
  149. package/dist/types/i18n/nb.d.ts +15 -8
  150. package/dist/types/i18n/nl.d.ts +15 -8
  151. package/dist/types/i18n/pl.d.ts +15 -8
  152. package/dist/types/i18n/pt_BR.d.ts +15 -8
  153. package/dist/types/i18n/ru.d.ts +15 -8
  154. package/dist/types/i18n/sv.d.ts +15 -8
  155. package/dist/types/i18n/th.d.ts +15 -8
  156. package/dist/types/i18n/tr.d.ts +15 -8
  157. package/dist/types/i18n/uk.d.ts +15 -8
  158. package/dist/types/i18n/vi.d.ts +15 -8
  159. package/dist/types/i18n/zh.d.ts +15 -8
  160. package/dist/types/i18n/zh_TW.d.ts +15 -8
  161. package/dist/types/ui/assets-modal/modal/render-assets-content/index.d.ts +0 -1
  162. package/dist/types/ui/issue-like-table/column-picker/index.d.ts +1 -1
  163. package/dist/types/ui/issue-like-table/column-picker/types.d.ts +0 -1
  164. package/dist/types/ui/issue-like-table/index.d.ts +1 -1
  165. package/dist/types/ui/issue-like-table/types.d.ts +0 -4
  166. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +0 -2
  167. package/dist/types-ts4.5/contexts/datasource-experience-id/index.d.ts +4 -0
  168. package/dist/types-ts4.5/contexts/user-interactions/index.d.ts +15 -0
  169. package/dist/types-ts4.5/i18n/cs.d.ts +15 -8
  170. package/dist/types-ts4.5/i18n/da.d.ts +15 -8
  171. package/dist/types-ts4.5/i18n/de.d.ts +15 -8
  172. package/dist/types-ts4.5/i18n/en.d.ts +15 -8
  173. package/dist/types-ts4.5/i18n/en_GB.d.ts +15 -8
  174. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +15 -8
  175. package/dist/types-ts4.5/i18n/es.d.ts +15 -8
  176. package/dist/types-ts4.5/i18n/fi.d.ts +15 -8
  177. package/dist/types-ts4.5/i18n/fr.d.ts +15 -8
  178. package/dist/types-ts4.5/i18n/hu.d.ts +15 -8
  179. package/dist/types-ts4.5/i18n/it.d.ts +15 -8
  180. package/dist/types-ts4.5/i18n/ja.d.ts +15 -8
  181. package/dist/types-ts4.5/i18n/ko.d.ts +15 -8
  182. package/dist/types-ts4.5/i18n/nb.d.ts +15 -8
  183. package/dist/types-ts4.5/i18n/nl.d.ts +15 -8
  184. package/dist/types-ts4.5/i18n/pl.d.ts +15 -8
  185. package/dist/types-ts4.5/i18n/pt_BR.d.ts +15 -8
  186. package/dist/types-ts4.5/i18n/ru.d.ts +15 -8
  187. package/dist/types-ts4.5/i18n/sv.d.ts +15 -8
  188. package/dist/types-ts4.5/i18n/th.d.ts +15 -8
  189. package/dist/types-ts4.5/i18n/tr.d.ts +15 -8
  190. package/dist/types-ts4.5/i18n/uk.d.ts +15 -8
  191. package/dist/types-ts4.5/i18n/vi.d.ts +15 -8
  192. package/dist/types-ts4.5/i18n/zh.d.ts +15 -8
  193. package/dist/types-ts4.5/i18n/zh_TW.d.ts +15 -8
  194. package/dist/types-ts4.5/ui/assets-modal/modal/render-assets-content/index.d.ts +0 -1
  195. package/dist/types-ts4.5/ui/issue-like-table/column-picker/index.d.ts +1 -1
  196. package/dist/types-ts4.5/ui/issue-like-table/column-picker/types.d.ts +0 -1
  197. package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +1 -1
  198. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +0 -4
  199. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +0 -2
  200. package/examples-helpers/buildIssueLikeTable.tsx +12 -9
  201. package/examples-helpers/buildJiraIssuesTable.tsx +8 -5
  202. package/package.json +4 -4
@@ -7,7 +7,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import { FormattedMessage } from 'react-intl-next';
10
- import { v4 as uuidv4 } from 'uuid';
11
10
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
12
11
  import Button from '@atlaskit/button/standard-button';
13
12
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
@@ -20,6 +19,8 @@ import { useColumnPickerRenderedFailedUfoExperience } from '../../../analytics/u
20
19
  import { useDataRenderedUfoExperience } from '../../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience';
21
20
  import { buildDatasourceAdf } from '../../../common/utils/adf';
22
21
  import { fetchMessagesForLocale } from '../../../common/utils/locale/fetch-messages-for-locale';
22
+ import { DatasourceExperienceIdProvider, useDatasourceExperienceId } from '../../../contexts/datasource-experience-id';
23
+ import { UserInteractionsProvider, useUserInteractions } from '../../../contexts/user-interactions';
23
24
  import { useAssetsClient } from '../../../hooks/useAssetsClient';
24
25
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
25
26
  import i18nEN from '../../../i18n/en';
@@ -35,6 +36,7 @@ import { MODAL_HEIGHT, RenderAssetsContent } from './render-assets-content';
35
36
  var modalBodyErrorWrapperStyles = css({
36
37
  alignItems: 'center',
37
38
  display: 'grid',
39
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values
38
40
  height: MODAL_HEIGHT
39
41
  });
40
42
  var AssetsModalTitle = jsx(ModalTitle, null, jsx(FormattedMessage, modalMessages.insertObjectsTitle));
@@ -66,8 +68,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
66
68
  setErrorState = _useState10[1];
67
69
  var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
68
70
  fireEvent = _useDatasourceAnalyti.fireEvent;
69
- var _useRef = useRef(uuidv4()),
70
- modalRenderInstanceId = _useRef.current;
71
+ var experienceId = useDatasourceExperienceId();
71
72
  var _useAssetsClient = useAssetsClient(initialParameters),
72
73
  workspaceId = _useAssetsClient.workspaceId,
73
74
  workspaceError = _useAssetsClient.workspaceError,
@@ -135,7 +136,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
135
136
 
136
137
  /* ------------------------------ OBSERVABILITY ------------------------------ */
137
138
  var searchCount = useRef(0);
138
- var userInteractionActions = useRef(new Set());
139
+ var userInteractions = useUserInteractions();
139
140
  var visibleColumnCount = useRef((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
140
141
  var isDataReady = (visibleColumnKeys || []).length > 0;
141
142
  var analyticsPayload = useMemo(function () {
@@ -176,17 +177,17 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
176
177
  if (shouldStartUfoExperience) {
177
178
  startUfoExperience({
178
179
  name: 'datasource-rendered'
179
- }, modalRenderInstanceId);
180
+ }, experienceId);
180
181
  }
181
- }, [modalRenderInstanceId, status]);
182
+ }, [experienceId, status]);
182
183
  useDataRenderedUfoExperience({
183
184
  status: status,
184
- experienceId: modalRenderInstanceId,
185
+ experienceId: experienceId,
185
186
  itemCount: responseItems.length,
186
187
  canBeLink: false,
187
188
  extensionKey: extensionKey
188
189
  });
189
- useColumnPickerRenderedFailedUfoExperience(status, modalRenderInstanceId);
190
+ useColumnPickerRenderedFailedUfoExperience(status, experienceId);
190
191
  /* ------------------------------ END OBSERVABILITY ------------------------------ */
191
192
 
192
193
  var onVisibleColumnKeysChange = useCallback(function (visibleColumnKeys) {
@@ -227,7 +228,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
227
228
  display: DatasourceDisplay.DATASOURCE_TABLE,
228
229
  searchCount: searchCount.current,
229
230
  searchMethod: DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
230
- actions: Array.from(userInteractionActions.current)
231
+ actions: userInteractions.get()
231
232
  }),
232
233
  eventType: 'ui'
233
234
  });
@@ -261,15 +262,15 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
261
262
  }]
262
263
  }), consumerEvent);
263
264
  }
264
- }, [aql, schemaId, workspaceId, analyticsPayload, totalCount, retrieveUrlForSmartCardRender, responseItems.length, onInsert, datasourceId, visibleColumnKeys]);
265
+ }, [aql, schemaId, workspaceId, analyticsPayload, totalCount, retrieveUrlForSmartCardRender, responseItems.length, onInsert, datasourceId, visibleColumnKeys, userInteractions]);
265
266
  var handleOnSearch = useCallback(function (searchAql, searchSchemaId) {
266
267
  if (schemaId !== searchSchemaId || aql !== searchAql || status === 'rejected') {
267
268
  searchCount.current++;
268
269
  if (schemaId !== searchSchemaId) {
269
- userInteractionActions.current.add(DatasourceAction.SCHEMA_UPDATED);
270
+ userInteractions.add(DatasourceAction.SCHEMA_UPDATED);
270
271
  }
271
272
  if (aql !== searchAql) {
272
- userInteractionActions.current.add(DatasourceAction.QUERY_UPDATED);
273
+ userInteractions.add(DatasourceAction.QUERY_UPDATED);
273
274
  }
274
275
  setAql(searchAql);
275
276
  setSchemaId(searchSchemaId);
@@ -280,7 +281,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
280
281
  shouldResetColumns: true
281
282
  });
282
283
  }
283
- }, [aql, reset, schemaId, status]);
284
+ }, [aql, reset, schemaId, status, userInteractions]);
284
285
  var renderErrorState = useCallback(function () {
285
286
  if (errorState) {
286
287
  switch (errorState) {
@@ -318,9 +319,9 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
318
319
  var getCancelButtonAnalyticsPayload = useCallback(function () {
319
320
  return _objectSpread(_objectSpread({}, analyticsPayload), {}, {
320
321
  searchCount: searchCount.current,
321
- actions: Array.from(userInteractionActions.current)
322
+ actions: userInteractions.get()
322
323
  });
323
- }, [analyticsPayload]);
324
+ }, [analyticsPayload, userInteractions]);
324
325
  return jsx(IntlMessagesProvider, {
325
326
  defaultMessages: i18nEN,
326
327
  loaderFn: fetchMessagesForLocale
@@ -343,8 +344,7 @@ var PlainAssetsConfigModal = function PlainAssetsConfigModal(props) {
343
344
  hasNextPage: hasNextPage,
344
345
  loadDatasourceDetails: loadDatasourceDetails,
345
346
  columns: columns,
346
- defaultVisibleColumnKeys: defaultVisibleColumnKeys,
347
- modalRenderInstanceId: modalRenderInstanceId
347
+ defaultVisibleColumnKeys: defaultVisibleColumnKeys
348
348
  })), jsx(ModalFooter, null, jsx(CancelButton, {
349
349
  onCancel: onCancel,
350
350
  getAnalyticsPayload: getCancelButtonAnalyticsPayload,
@@ -369,4 +369,6 @@ var analyticsContextData = _objectSpread(_objectSpread({}, componentMetadata.con
369
369
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
370
370
  attributes: _objectSpread({}, analyticsContextAttributes)
371
371
  });
372
- export var AssetsConfigModal = withAnalyticsContext(contextData)(PlainAssetsConfigModal);
372
+ export var AssetsConfigModal = withAnalyticsContext(contextData)(function (props) {
373
+ return jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainAssetsConfigModal, props)));
374
+ });
@@ -65,7 +65,6 @@ export var RenderAssetsContent = function RenderAssetsContent(props) {
65
65
  columns = props.columns,
66
66
  defaultVisibleColumnKeys = props.defaultVisibleColumnKeys,
67
67
  onVisibleColumnKeysChange = props.onVisibleColumnKeysChange,
68
- modalRenderInstanceId = props.modalRenderInstanceId,
69
68
  isFetchingInitialData = props.isFetchingInitialData;
70
69
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
71
70
  var issueLikeDataTableView = useMemo(function () {
@@ -80,10 +79,9 @@ export var RenderAssetsContent = function RenderAssetsContent(props) {
80
79
  visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
81
80
  onNextPage: onNextPage,
82
81
  onLoadDatasourceDetails: loadDatasourceDetails,
83
- onVisibleColumnKeysChange: onVisibleColumnKeysChange,
84
- parentContainerRenderInstanceId: modalRenderInstanceId
82
+ onVisibleColumnKeysChange: onVisibleColumnKeysChange
85
83
  }));
86
- }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys, modalRenderInstanceId]);
84
+ }, [columns, defaultVisibleColumnKeys, hasNextPage, loadDatasourceDetails, onNextPage, onVisibleColumnKeysChange, responseItems, status, visibleColumnKeys]);
87
85
  var renderAssetsContentView = useCallback(function () {
88
86
  if (isFetchingInitialData) {
89
87
  // Placing this check first as it's a priority before all others
@@ -78,6 +78,7 @@ export var AqlSearchInput = function AqlSearchInput(_ref) {
78
78
  var fieldProps = _ref2.fieldProps;
79
79
  return jsx(Fragment, null, jsx(Textfield, _extends({}, fieldProps, {
80
80
  elemBeforeInput: jsx("span", {
81
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
81
82
  style: {
82
83
  paddingLeft: "var(--ds-space-075, 6px)",
83
84
  width: 24
@@ -12,7 +12,10 @@ export var PopupTrigger = function PopupTrigger(_ref) {
12
12
  testId: 'confluence-search-modal--date-range-button',
13
13
  onClick: onClick,
14
14
  isSelected: isSelected,
15
- iconAfter: /*#__PURE__*/React.createElement("span", {
15
+ iconAfter:
16
+ /*#__PURE__*/
17
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
18
+ React.createElement("span", {
16
19
  style: {
17
20
  display: 'flex',
18
21
  alignItems: 'center'
@@ -100,7 +100,9 @@ export var ConfluenceSearchInitialStateSVG = function ConfluenceSearchInitialSta
100
100
  d: "M114.678 51.6186C110.935 54.7774 108.407 59.1306 107.525 63.9371C106.643 68.7435 107.46 73.706 109.838 77.9797C112.216 82.2534 116.008 85.574 120.567 87.3761C125.127 89.1783 130.173 89.3507 134.846 87.8638C139.519 86.377 143.53 83.3229 146.197 79.2215C148.863 75.1202 150.02 70.2251 149.47 65.3697C148.92 60.5144 146.698 55.9989 143.181 52.5921C139.665 49.1853 135.071 47.0979 130.183 46.6851C127.4 46.4461 124.596 46.7591 121.935 47.6059C119.273 48.4527 116.807 49.8165 114.678 51.6186Z",
101
101
  fill: "white"
102
102
  }), /*#__PURE__*/React.createElement("mask", {
103
- id: "mask0_1_10772",
103
+ id: "mask0_1_10772"
104
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
105
+ ,
104
106
  style: {
105
107
  maskType: 'alpha'
106
108
  },
@@ -7,7 +7,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
8
8
  import { jsx } from '@emotion/react';
9
9
  import { FormattedMessage, FormattedNumber } from 'react-intl-next';
10
- import { v4 as uuidv4 } from 'uuid';
11
10
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
12
11
  import Button from '@atlaskit/button/standard-button';
13
12
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
@@ -21,6 +20,8 @@ import { componentMetadata } from '../../../analytics/constants';
21
20
  import { DatasourceAction, DatasourceDisplay, DatasourceSearchMethod } from '../../../analytics/types';
22
21
  import { buildDatasourceAdf } from '../../../common/utils/adf';
23
22
  import { fetchMessagesForLocale } from '../../../common/utils/locale/fetch-messages-for-locale';
23
+ import { DatasourceExperienceIdProvider } from '../../../contexts/datasource-experience-id';
24
+ import { UserInteractionsProvider, useUserInteractions } from '../../../contexts/user-interactions';
24
25
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
25
26
  import i18nEN from '../../../i18n/en';
26
27
  import { useAvailableSites } from '../../../services/useAvailableSites';
@@ -52,8 +53,6 @@ var searchCountStyles = xcss({
52
53
  fontWeight: 600
53
54
  });
54
55
  export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConfigModal(props) {
55
- var _useRef = useRef(uuidv4()),
56
- modalRenderInstanceId = _useRef.current;
57
56
  var datasourceId = props.datasourceId,
58
57
  initialColumnCustomSizes = props.columnCustomSizes,
59
58
  initialWrappedColumnKeys = props.wrappedColumnKeys,
@@ -101,7 +100,7 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
101
100
 
102
101
  // analytics related parameters
103
102
  var searchCount = useRef(0);
104
- var userInteractionActions = useRef(new Set());
103
+ var userInteractions = useUserInteractions();
105
104
  var visibleColumnCount = useRef((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
106
105
  var parameters = useMemo(function () {
107
106
  return _objectSpread(_objectSpread({}, initialParameters), {}, {
@@ -164,7 +163,7 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
164
163
  // TODO: further refactoring in EDM-9573
165
164
  // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6829171
166
165
  var onSiteSelection = useCallback(function (site) {
167
- userInteractionActions.current.add(DatasourceAction.INSTANCE_UPDATED);
166
+ userInteractions.add(DatasourceAction.INSTANCE_UPDATED);
168
167
  setSearchString(undefined);
169
168
  setLastModified(undefined);
170
169
  setContributorAccountIds([]);
@@ -172,7 +171,7 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
172
171
  reset({
173
172
  shouldForceRequest: true
174
173
  });
175
- }, [reset]);
174
+ }, [reset, userInteractions]);
176
175
  useEffect(function () {
177
176
  var newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
178
177
  visibleColumnCount.current = newVisibleColumnKeys.length;
@@ -190,10 +189,10 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
190
189
  var handleVisibleColumnKeysChange = useCallback(function () {
191
190
  var newVisibleColumnKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
192
191
  var columnAction = getColumnAction(visibleColumnKeys || [], newVisibleColumnKeys);
193
- userInteractionActions.current.add(columnAction);
192
+ userInteractions.add(columnAction);
194
193
  visibleColumnCount.current = newVisibleColumnKeys.length;
195
194
  setVisibleColumnKeys(newVisibleColumnKeys);
196
- }, [visibleColumnKeys]);
195
+ }, [visibleColumnKeys, userInteractions]);
197
196
 
198
197
  // TODO: further refactoring in EDM-9573
199
198
  // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6798258
@@ -210,14 +209,13 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
210
209
  onNextPage: onNextPage,
211
210
  onLoadDatasourceDetails: loadDatasourceDetails,
212
211
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
213
- parentContainerRenderInstanceId: modalRenderInstanceId,
214
212
  extensionKey: extensionKey,
215
213
  columnCustomSizes: columnCustomSizes,
216
214
  onColumnResize: onColumnResize,
217
215
  wrappedColumnKeys: wrappedColumnKeys,
218
216
  onWrappedColumnChange: getBooleanFF('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
219
217
  }));
220
- }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, modalRenderInstanceId, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
218
+ }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
221
219
  var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
222
220
  var hasConfluenceSearchParams = selectedConfluenceSite && searchString;
223
221
  var selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
@@ -247,9 +245,9 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
247
245
  extensionKey: extensionKey,
248
246
  destinationObjectTypes: destinationObjectTypes,
249
247
  searchCount: searchCount.current,
250
- actions: Array.from(userInteractionActions.current)
248
+ actions: userInteractions.get()
251
249
  };
252
- }, [destinationObjectTypes, extensionKey]);
250
+ }, [destinationObjectTypes, extensionKey, userInteractions]);
253
251
  var isDataReady = (visibleColumnKeys || []).length > 0;
254
252
  var fireInlineViewedEvent = useCallback(function () {
255
253
  fireEvent('ui.link.viewed.count', _objectSpread(_objectSpread({}, analyticsPayload), {}, {
@@ -332,7 +330,7 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
332
330
  display: currentViewMode === 'inline' ? DatasourceDisplay.DATASOURCE_INLINE : DatasourceDisplay.DATASOURCE_TABLE,
333
331
  searchCount: searchCount.current,
334
332
  searchMethod: DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
335
- actions: Array.from(userInteractionActions.current)
333
+ actions: userInteractions.get()
336
334
  }),
337
335
  eventType: 'ui'
338
336
  });
@@ -369,14 +367,14 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
369
367
  }]
370
368
  }, confluenceSearchUrl), consumerEvent);
371
369
  }
372
- }, [isParametersSet, cloudId, analyticsPayload, totalCount, currentViewMode, onInsert, confluenceSearchUrl, datasourceId, parametersToSend, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys]);
370
+ }, [isParametersSet, cloudId, analyticsPayload, totalCount, currentViewMode, onInsert, confluenceSearchUrl, datasourceId, parametersToSend, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys, userInteractions]);
373
371
  var handleViewModeChange = function handleViewModeChange(selectedMode) {
374
- userInteractionActions.current.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
372
+ userInteractions.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
375
373
  setCurrentViewMode(selectedMode);
376
374
  };
377
375
  var onSearch = useCallback(function (newSearchString, filters) {
378
376
  searchCount.current++;
379
- userInteractionActions.current.add(DatasourceAction.QUERY_UPDATED);
377
+ userInteractions.add(DatasourceAction.QUERY_UPDATED);
380
378
  if (filters) {
381
379
  var editedOrCreatedBy = filters.editedOrCreatedBy,
382
380
  lastModifiedList = filters.lastModified;
@@ -403,16 +401,16 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
403
401
  reset({
404
402
  shouldForceRequest: true
405
403
  });
406
- }, [reset]);
404
+ }, [reset, userInteractions]);
407
405
  var isInsertDisabled = !isParametersSet || status === 'rejected' || status === 'unauthorized' || status === 'loading';
408
406
  var getCancelButtonAnalyticsPayload = useCallback(function () {
409
407
  return {
410
408
  extensionKey: extensionKey,
411
409
  destinationObjectTypes: destinationObjectTypes,
412
410
  searchCount: searchCount.current,
413
- actions: Array.from(userInteractionActions.current)
411
+ actions: userInteractions.get()
414
412
  };
415
- }, [destinationObjectTypes, extensionKey]);
413
+ }, [destinationObjectTypes, extensionKey, userInteractions]);
416
414
  return jsx(IntlMessagesProvider, {
417
415
  defaultMessages: i18nEN,
418
416
  loaderFn: fetchMessagesForLocale
@@ -444,7 +442,9 @@ export var PlainConfluenceSearchConfigModal = function PlainConfluenceSearchConf
444
442
  }, jsx(LinkUrl, {
445
443
  href: confluenceSearchUrl,
446
444
  target: "_blank",
447
- testId: "item-count-url",
445
+ testId: "item-count-url"
446
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
447
+ ,
448
448
  style: {
449
449
  color: "var(--ds-text-accent-gray, ".concat(N800, ")")
450
450
  }
@@ -474,4 +474,6 @@ var analyticsContextData = _objectSpread(_objectSpread({}, componentMetadata.con
474
474
  var contextData = _objectSpread(_objectSpread({}, analyticsContextData), {}, {
475
475
  attributes: _objectSpread({}, analyticsContextAttributes)
476
476
  });
477
- export var ConfluenceSearchConfigModal = withAnalyticsContext(contextData)(PlainConfluenceSearchConfigModal);
477
+ export var ConfluenceSearchConfigModal = withAnalyticsContext(contextData)(function (props) {
478
+ return jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainConfluenceSearchConfigModal, props)));
479
+ });
@@ -1,7 +1,6 @@
1
1
  /** @jsx jsx */
2
2
  import { useCallback, useEffect, useRef } from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
- import { v4 as uuidv4 } from 'uuid';
5
4
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
6
5
  import { IntlMessagesProvider } from '@atlaskit/intl-messages-provider';
7
6
  import { useDatasourceAnalyticsEvents } from '../../analytics';
@@ -10,6 +9,7 @@ import { startUfoExperience } from '../../analytics/ufoExperiences';
10
9
  import { useColumnPickerRenderedFailedUfoExperience } from '../../analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience';
11
10
  import { useDataRenderedUfoExperience } from '../../analytics/ufoExperiences/hooks/useDataRenderedUfoExperience';
12
11
  import { fetchMessagesForLocale } from '../../common/utils/locale/fetch-messages-for-locale';
12
+ import { DatasourceExperienceIdProvider, useDatasourceExperienceId } from '../../contexts/datasource-experience-id';
13
13
  import { useDatasourceTableState } from '../../hooks/useDatasourceTableState';
14
14
  import i18nEN from '../../i18n/en';
15
15
  import { ScrollableContainerHeight } from '../../ui/issue-like-table/styled';
@@ -54,8 +54,7 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
54
54
  authDetails = _useDatasourceTableSt.authDetails;
55
55
  var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
56
56
  fireEvent = _useDatasourceAnalyti.fireEvent;
57
- var _useRef = useRef(uuidv4()),
58
- tableRenderInstanceId = _useRef.current;
57
+ var experienceId = useDatasourceExperienceId();
59
58
  var visibleColumnCount = useRef((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
60
59
 
61
60
  /* Need this to make sure that the datasource in the editor gets updated new info if any edits are made in the modal
@@ -94,13 +93,13 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
94
93
  if (shouldStartUfoExperience) {
95
94
  startUfoExperience({
96
95
  name: 'datasource-rendered'
97
- }, tableRenderInstanceId);
96
+ }, experienceId);
98
97
  }
99
- }, [datasourceId, parameters, status, tableRenderInstanceId, visibleColumnKeys]);
100
- useColumnPickerRenderedFailedUfoExperience(status, tableRenderInstanceId);
98
+ }, [datasourceId, parameters, status, experienceId, visibleColumnKeys]);
99
+ useColumnPickerRenderedFailedUfoExperience(status, experienceId);
101
100
  useDataRenderedUfoExperience({
102
101
  status: status,
103
- experienceId: tableRenderInstanceId,
102
+ experienceId: experienceId,
104
103
  itemCount: responseItems.length,
105
104
  extensionKey: extensionKey
106
105
  });
@@ -164,7 +163,6 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
164
163
  wrappedColumnKeys: wrappedColumnKeys,
165
164
  onWrappedColumnChange: onWrappedColumnChange,
166
165
  scrollableContainerHeight: ScrollableContainerHeight,
167
- parentContainerRenderInstanceId: tableRenderInstanceId,
168
166
  extensionKey: extensionKey
169
167
  }) : jsx(EmptyState, {
170
168
  testId: "datasource-table-view-skeleton",
@@ -177,4 +175,6 @@ var DatasourceTableViewWithoutAnalytics = function DatasourceTableViewWithoutAna
177
175
  url: url
178
176
  })));
179
177
  };
180
- export var DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(DatasourceTableViewWithoutAnalytics);
178
+ export var DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(function (props) {
179
+ return jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props));
180
+ });
@@ -24,7 +24,9 @@ export var ConcatenatedMenuList = function ConcatenatedMenuList(_ref) {
24
24
  padding: "var(--ds-space-050, 4px)".concat(" ", "var(--ds-space-200, 16px)"),
25
25
  height: 'auto'
26
26
  };
27
- var maximumLimitReachedMessage = jsx("div", {
27
+ var maximumLimitReachedMessage =
28
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
29
+ jsx("div", {
28
30
  css: messageStyles,
29
31
  style: optionStyle
30
32
  }, jsx(FormattedMessage, _extends({
@@ -13,15 +13,16 @@ import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
13
13
  import { CheckboxOption, createFilter, PopupSelect } from '@atlaskit/select';
14
14
  import Tooltip from '@atlaskit/tooltip';
15
15
  import { succeedUfoExperience } from '../../../analytics/ufoExperiences';
16
+ import { useDatasourceExperienceId } from '../../../contexts/datasource-experience-id';
16
17
  import { ConcatenatedMenuList } from './concatenated-menu-list';
17
18
  import { columnPickerMessages } from './messages';
18
19
  export var ColumnPicker = function ColumnPicker(_ref) {
19
20
  var columns = _ref.columns,
20
21
  selectedColumnKeys = _ref.selectedColumnKeys,
21
22
  onSelectedColumnKeysChange = _ref.onSelectedColumnKeysChange,
22
- onOpen = _ref.onOpen,
23
- parentContainerRenderInstanceId = _ref.parentContainerRenderInstanceId;
23
+ onOpen = _ref.onOpen;
24
24
  var intl = useIntl();
25
+ var experienceId = useDatasourceExperienceId();
25
26
  var _useState = useState([]),
26
27
  _useState2 = _slicedToArray(_useState, 2),
27
28
  allOptions = _useState2[0],
@@ -100,13 +101,13 @@ export var ColumnPicker = function ColumnPicker(_ref) {
100
101
  }, [allOptions]);
101
102
  useEffect(function () {
102
103
  if (allOptions.length) {
103
- if (parentContainerRenderInstanceId) {
104
+ if (experienceId) {
104
105
  succeedUfoExperience({
105
106
  name: 'column-picker-rendered'
106
- }, parentContainerRenderInstanceId);
107
+ }, experienceId);
107
108
  }
108
109
  }
109
- }, [allOptions, parentContainerRenderInstanceId]);
110
+ }, [allOptions, experienceId]);
110
111
  return jsx(PopupSelect, {
111
112
  classNamePrefix: 'column-picker-popup',
112
113
  testId: 'column-picker-popup',
@@ -328,6 +328,7 @@ export var DraggableTableHeading = function DraggableTableHeading(_ref) {
328
328
  ref: mainHeaderCellRef,
329
329
  "data-testid": "".concat(id, "-column-heading"),
330
330
  style: _objectSpread({
331
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
331
332
  cursor: 'grab'
332
333
  }, getWidthCss({
333
334
  shouldUseWidth: resizeIsEnabled,
@@ -103,8 +103,11 @@ export default (function (_ref4) {
103
103
  style: {
104
104
  // the IssueLikeDataTableView wraps the table in a container with the styling below while modal doesn't
105
105
  // this maxHeight comes from scrollableContainerHeight
106
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
106
107
  maxHeight: ScrollableContainerHeight,
108
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
107
109
  padding: "var(--ds-space-0, 0px)",
110
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
108
111
  boxSizing: 'border-box'
109
112
  }
110
113
  }, jsx("table", {
@@ -117,19 +120,22 @@ export default (function (_ref4) {
117
120
  }, jsx("tr", null, columnsToRender.map(function (_ref5) {
118
121
  var key = _ref5.key,
119
122
  width = _ref5.width;
120
- return jsx(TableHeading, {
121
- key: key,
122
- style: {
123
- width: width,
124
- padding: padding
125
- }
126
- }, jsx(Skeleton, {
127
- appearance: "darkGray",
128
- borderRadius: 8,
129
- testId: "empty-state-skeleton",
130
- height: 12,
131
- width: width
132
- }));
123
+ return (
124
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
125
+ jsx(TableHeading, {
126
+ key: key,
127
+ style: {
128
+ width: width,
129
+ padding: padding
130
+ }
131
+ }, jsx(Skeleton, {
132
+ appearance: "darkGray",
133
+ borderRadius: 8,
134
+ testId: "empty-state-skeleton",
135
+ height: 12,
136
+ width: width
137
+ }))
138
+ );
133
139
  }))), jsx("tbody", {
134
140
  css: tableBodyStyles
135
141
  }, rows.map(function (row) {
@@ -26,6 +26,7 @@ import Tooltip from '@atlaskit/tooltip';
26
26
  import { WidthObserver } from '@atlaskit/width-detector';
27
27
  import { startUfoExperience, succeedUfoExperience } from '../../analytics/ufoExperiences';
28
28
  import { stickyTableHeadersIndex } from '../../common/zindex';
29
+ import { useDatasourceExperienceId } from '../../contexts/datasource-experience-id';
29
30
  import { ColumnPicker } from './column-picker';
30
31
  import { DragColumnPreview } from './drag-column-preview';
31
32
  import { DraggableTableHeading } from './draggable-table-heading';
@@ -283,12 +284,12 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
283
284
  status = _ref5.status,
284
285
  hasNextPage = _ref5.hasNextPage,
285
286
  scrollableContainerHeight = _ref5.scrollableContainerHeight,
286
- parentContainerRenderInstanceId = _ref5.parentContainerRenderInstanceId,
287
287
  extensionKey = _ref5.extensionKey;
288
288
  var tableId = useMemo(function () {
289
289
  return Symbol('unique-id');
290
290
  }, []);
291
291
  var intl = useIntl();
292
+ var experienceId = useDatasourceExperienceId();
292
293
  var tableHeaderRowRef = useRef(null);
293
294
  var _useState = useState(null),
294
295
  _useState2 = _slicedToArray(_useState, 2),
@@ -325,12 +326,12 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
325
326
  }
326
327
  }, [columns, visibleColumnKeys, hasFullSchema]);
327
328
  useEffect(function () {
328
- if (parentContainerRenderInstanceId && status === 'resolved') {
329
+ if (experienceId && status === 'resolved') {
329
330
  succeedUfoExperience({
330
331
  name: 'datasource-rendered'
331
- }, parentContainerRenderInstanceId);
332
+ }, experienceId);
332
333
  }
333
- }, [parentContainerRenderInstanceId, status]);
334
+ }, [experienceId, status]);
334
335
  var visibleSortedColumns = useMemo(function () {
335
336
  return visibleColumnKeys.map(function (visibleKey) {
336
337
  return orderedColumns.find(function (_ref6) {
@@ -543,13 +544,13 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
543
544
  }
544
545
  return _context.abrupt("return");
545
546
  case 2:
546
- if (parentContainerRenderInstanceId) {
547
+ if (experienceId) {
547
548
  startUfoExperience({
548
549
  name: 'column-picker-rendered',
549
550
  metadata: {
550
551
  extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
551
552
  }
552
- }, parentContainerRenderInstanceId);
553
+ }, experienceId);
553
554
  }
554
555
  _context.prev = 3;
555
556
  _context.next = 6;
@@ -567,7 +568,7 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
567
568
  return _context.stop();
568
569
  }
569
570
  }, _callee, null, [[3, 9]]);
570
- })), [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
571
+ })), [experienceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
571
572
  var isEditable = onVisibleColumnKeysChange && hasData;
572
573
  return jsx("div", {
573
574
  /* There is required contentEditable={true} in editor-card-plugin
@@ -576,7 +577,9 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
576
577
  */
577
578
  contentEditable: false,
578
579
  ref: containerRef,
579
- css: [tableContainerStyles, scrollableContainerHeight && scrollableContainerStyles],
580
+ css: [tableContainerStyles, scrollableContainerHeight && scrollableContainerStyles]
581
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
582
+ ,
580
583
  style: scrollableContainerHeight ? {
581
584
  maxHeight: "".concat(scrollableContainerHeight, "px")
582
585
  } : undefined,
@@ -585,13 +588,17 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
585
588
  setWidth: debounce(setTableContainerWidth, 100)
586
589
  }), jsx(Table, {
587
590
  css: tableStyles,
588
- "data-testid": testId,
591
+ "data-testid": testId
592
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
593
+ ,
589
594
  style: shouldUseWidth ? {
590
595
  tableLayout: 'fixed'
591
596
  } : {}
592
597
  }, jsx("thead", {
593
598
  "data-testid": testId && "".concat(testId, "--head"),
594
- css: [noDefaultBorderStyles, tableHeadStyles],
599
+ css: [noDefaultBorderStyles, tableHeadStyles]
600
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
601
+ ,
595
602
  className: !!onVisibleColumnKeysChange ? 'has-column-picker' : ''
596
603
  }, jsx("tr", {
597
604
  ref: tableHeaderRowRef
@@ -644,7 +651,9 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
644
651
  } else {
645
652
  return jsx(TableHeading, {
646
653
  key: key,
647
- "data-testid": "".concat(key, "-column-heading"),
654
+ "data-testid": "".concat(key, "-column-heading")
655
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
656
+ ,
648
657
  style: getWidthCss({
649
658
  shouldUseWidth: shouldUseWidth,
650
659
  width: width
@@ -655,8 +664,7 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
655
664
  columns: hasFullSchema ? orderedColumns : [],
656
665
  selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
657
666
  onSelectedColumnKeysChange: onSelectedColumnKeysChange,
658
- onOpen: handlePickerOpen,
659
- parentContainerRenderInstanceId: parentContainerRenderInstanceId
667
+ onOpen: handlePickerOpen
660
668
  })))), jsx("tbody", {
661
669
  css: noDefaultBorderStyles,
662
670
  "data-testid": testId && "".concat(testId, "--body")
@@ -686,7 +694,9 @@ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref5) {
686
694
  return jsx(TableCell, {
687
695
  key: cellKey,
688
696
  "data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
689
- colSpan: isEditable && isLastCell ? 2 : undefined,
697
+ colSpan: isEditable && isLastCell ? 2 : undefined
698
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
699
+ ,
690
700
  style: loadingRowStyle,
691
701
  css: [wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(cellKey) ? null : truncateStyles]
692
702
  }, content);
@@ -16,7 +16,9 @@ var IconRenderType = function IconRenderType(_ref) {
16
16
  return /*#__PURE__*/React.createElement(IconWrapper, null, /*#__PURE__*/React.createElement(Image, {
17
17
  src: source,
18
18
  alt: label,
19
- "data-testid": testId,
19
+ "data-testid": testId
20
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
21
+ ,
20
22
  style: {
21
23
  minWidth: '20px',
22
24
  maxWidth: '20px'