@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
@@ -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,8 @@ 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
+ import { UserInteractionsProvider, useUserInteractions } from '../../../contexts/user-interactions';
19
20
  import { useAssetsClient } from '../../../hooks/useAssetsClient';
20
21
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
21
22
  import i18nEN from '../../../i18n/en';
@@ -31,6 +32,7 @@ import { MODAL_HEIGHT, RenderAssetsContent } from './render-assets-content';
31
32
  const modalBodyErrorWrapperStyles = css({
32
33
  alignItems: 'center',
33
34
  display: 'grid',
35
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values
34
36
  height: MODAL_HEIGHT
35
37
  });
36
38
  const AssetsModalTitle = jsx(ModalTitle, null, jsx(FormattedMessage, modalMessages.insertObjectsTitle));
@@ -50,9 +52,7 @@ const PlainAssetsConfigModal = props => {
50
52
  const {
51
53
  fireEvent
52
54
  } = useDatasourceAnalyticsEvents();
53
- const {
54
- current: modalRenderInstanceId
55
- } = useRef(uuidv4());
55
+ const experienceId = useDatasourceExperienceId();
56
56
  const {
57
57
  workspaceId,
58
58
  workspaceError,
@@ -119,7 +119,7 @@ const PlainAssetsConfigModal = props => {
119
119
 
120
120
  /* ------------------------------ OBSERVABILITY ------------------------------ */
121
121
  const searchCount = useRef(0);
122
- const userInteractionActions = useRef(new Set());
122
+ const userInteractions = useUserInteractions();
123
123
  const visibleColumnCount = useRef((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
124
124
  const isDataReady = (visibleColumnKeys || []).length > 0;
125
125
  const analyticsPayload = useMemo(() => {
@@ -161,17 +161,17 @@ const PlainAssetsConfigModal = props => {
161
161
  if (shouldStartUfoExperience) {
162
162
  startUfoExperience({
163
163
  name: 'datasource-rendered'
164
- }, modalRenderInstanceId);
164
+ }, experienceId);
165
165
  }
166
- }, [modalRenderInstanceId, status]);
166
+ }, [experienceId, status]);
167
167
  useDataRenderedUfoExperience({
168
168
  status,
169
- experienceId: modalRenderInstanceId,
169
+ experienceId: experienceId,
170
170
  itemCount: responseItems.length,
171
171
  canBeLink: false,
172
172
  extensionKey
173
173
  });
174
- useColumnPickerRenderedFailedUfoExperience(status, modalRenderInstanceId);
174
+ useColumnPickerRenderedFailedUfoExperience(status, experienceId);
175
175
  /* ------------------------------ END OBSERVABILITY ------------------------------ */
176
176
 
177
177
  const onVisibleColumnKeysChange = useCallback(visibleColumnKeys => {
@@ -212,7 +212,7 @@ const PlainAssetsConfigModal = props => {
212
212
  display: DatasourceDisplay.DATASOURCE_TABLE,
213
213
  searchCount: searchCount.current,
214
214
  searchMethod: DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
215
- actions: Array.from(userInteractionActions.current)
215
+ actions: userInteractions.get()
216
216
  },
217
217
  eventType: 'ui'
218
218
  });
@@ -244,15 +244,15 @@ const PlainAssetsConfigModal = props => {
244
244
  }]
245
245
  }), consumerEvent);
246
246
  }
247
- }, [aql, schemaId, workspaceId, analyticsPayload, totalCount, retrieveUrlForSmartCardRender, responseItems.length, onInsert, datasourceId, visibleColumnKeys]);
247
+ }, [aql, schemaId, workspaceId, analyticsPayload, totalCount, retrieveUrlForSmartCardRender, responseItems.length, onInsert, datasourceId, visibleColumnKeys, userInteractions]);
248
248
  const handleOnSearch = useCallback((searchAql, searchSchemaId) => {
249
249
  if (schemaId !== searchSchemaId || aql !== searchAql || status === 'rejected') {
250
250
  searchCount.current++;
251
251
  if (schemaId !== searchSchemaId) {
252
- userInteractionActions.current.add(DatasourceAction.SCHEMA_UPDATED);
252
+ userInteractions.add(DatasourceAction.SCHEMA_UPDATED);
253
253
  }
254
254
  if (aql !== searchAql) {
255
- userInteractionActions.current.add(DatasourceAction.QUERY_UPDATED);
255
+ userInteractions.add(DatasourceAction.QUERY_UPDATED);
256
256
  }
257
257
  setAql(searchAql);
258
258
  setSchemaId(searchSchemaId);
@@ -263,7 +263,7 @@ const PlainAssetsConfigModal = props => {
263
263
  shouldResetColumns: true
264
264
  });
265
265
  }
266
- }, [aql, reset, schemaId, status]);
266
+ }, [aql, reset, schemaId, status, userInteractions]);
267
267
  const renderErrorState = useCallback(() => {
268
268
  if (errorState) {
269
269
  switch (errorState) {
@@ -302,9 +302,9 @@ const PlainAssetsConfigModal = props => {
302
302
  return {
303
303
  ...analyticsPayload,
304
304
  searchCount: searchCount.current,
305
- actions: Array.from(userInteractionActions.current)
305
+ actions: userInteractions.get()
306
306
  };
307
- }, [analyticsPayload]);
307
+ }, [analyticsPayload, userInteractions]);
308
308
  return jsx(IntlMessagesProvider, {
309
309
  defaultMessages: i18nEN,
310
310
  loaderFn: fetchMessagesForLocale
@@ -327,8 +327,7 @@ const PlainAssetsConfigModal = props => {
327
327
  hasNextPage: hasNextPage,
328
328
  loadDatasourceDetails: loadDatasourceDetails,
329
329
  columns: columns,
330
- defaultVisibleColumnKeys: defaultVisibleColumnKeys,
331
- modalRenderInstanceId: modalRenderInstanceId
330
+ defaultVisibleColumnKeys: defaultVisibleColumnKeys
332
331
  })), jsx(ModalFooter, null, jsx(CancelButton, {
333
332
  onCancel: onCancel,
334
333
  getAnalyticsPayload: getCancelButtonAnalyticsPayload,
@@ -357,4 +356,4 @@ const contextData = {
357
356
  ...analyticsContextAttributes
358
357
  }
359
358
  };
360
- export const AssetsConfigModal = withAnalyticsContext(contextData)(PlainAssetsConfigModal);
359
+ export const AssetsConfigModal = withAnalyticsContext(contextData)(props => jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, 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
@@ -80,6 +80,7 @@ export const AqlSearchInput = ({
80
80
  fieldProps
81
81
  }) => jsx(Fragment, null, jsx(Textfield, _extends({}, fieldProps, {
82
82
  elemBeforeInput: jsx("span", {
83
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
83
84
  style: {
84
85
  paddingLeft: "var(--ds-space-075, 6px)",
85
86
  width: 24
@@ -13,7 +13,10 @@ export const PopupTrigger = ({
13
13
  testId: 'confluence-search-modal--date-range-button',
14
14
  onClick: onClick,
15
15
  isSelected: isSelected,
16
- iconAfter: /*#__PURE__*/React.createElement("span", {
16
+ iconAfter:
17
+ /*#__PURE__*/
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
19
+ React.createElement("span", {
17
20
  style: {
18
21
  display: 'flex',
19
22
  alignItems: 'center'
@@ -99,7 +99,9 @@ export const ConfluenceSearchInitialStateSVG = () => /*#__PURE__*/React.createEl
99
99
  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",
100
100
  fill: "white"
101
101
  }), /*#__PURE__*/React.createElement("mask", {
102
- id: "mask0_1_10772",
102
+ id: "mask0_1_10772"
103
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
104
+ ,
103
105
  style: {
104
106
  maskType: 'alpha'
105
107
  },
@@ -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,8 @@ 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
+ import { UserInteractionsProvider, useUserInteractions } from '../../../contexts/user-interactions';
20
21
  import { useDatasourceTableState } from '../../../hooks/useDatasourceTableState';
21
22
  import i18nEN from '../../../i18n/en';
22
23
  import { useAvailableSites } from '../../../services/useAvailableSites';
@@ -48,9 +49,6 @@ const searchCountStyles = xcss({
48
49
  fontWeight: 600
49
50
  });
50
51
  export const PlainConfluenceSearchConfigModal = props => {
51
- const {
52
- current: modalRenderInstanceId
53
- } = useRef(uuidv4());
54
52
  const {
55
53
  datasourceId,
56
54
  columnCustomSizes: initialColumnCustomSizes,
@@ -81,7 +79,7 @@ export const PlainConfluenceSearchConfigModal = props => {
81
79
 
82
80
  // analytics related parameters
83
81
  const searchCount = useRef(0);
84
- const userInteractionActions = useRef(new Set());
82
+ const userInteractions = useUserInteractions();
85
83
  const visibleColumnCount = useRef((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
86
84
  const parameters = useMemo(() => ({
87
85
  ...initialParameters,
@@ -143,7 +141,7 @@ export const PlainConfluenceSearchConfigModal = props => {
143
141
  // TODO: further refactoring in EDM-9573
144
142
  // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6829171
145
143
  const onSiteSelection = useCallback(site => {
146
- userInteractionActions.current.add(DatasourceAction.INSTANCE_UPDATED);
144
+ userInteractions.add(DatasourceAction.INSTANCE_UPDATED);
147
145
  setSearchString(undefined);
148
146
  setLastModified(undefined);
149
147
  setContributorAccountIds([]);
@@ -151,7 +149,7 @@ export const PlainConfluenceSearchConfigModal = props => {
151
149
  reset({
152
150
  shouldForceRequest: true
153
151
  });
154
- }, [reset]);
152
+ }, [reset, userInteractions]);
155
153
  useEffect(() => {
156
154
  const newVisibleColumnKeys = !initialVisibleColumnKeys || (initialVisibleColumnKeys || []).length === 0 ? defaultVisibleColumnKeys : initialVisibleColumnKeys;
157
155
  visibleColumnCount.current = newVisibleColumnKeys.length;
@@ -170,10 +168,10 @@ export const PlainConfluenceSearchConfigModal = props => {
170
168
  // TODO: common functionality of all modals refactor in EDM-9573
171
169
  const handleVisibleColumnKeysChange = useCallback((newVisibleColumnKeys = []) => {
172
170
  const columnAction = getColumnAction(visibleColumnKeys || [], newVisibleColumnKeys);
173
- userInteractionActions.current.add(columnAction);
171
+ userInteractions.add(columnAction);
174
172
  visibleColumnCount.current = newVisibleColumnKeys.length;
175
173
  setVisibleColumnKeys(newVisibleColumnKeys);
176
- }, [visibleColumnKeys]);
174
+ }, [visibleColumnKeys, userInteractions]);
177
175
 
178
176
  // TODO: further refactoring in EDM-9573
179
177
  // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6798258
@@ -189,13 +187,12 @@ export const PlainConfluenceSearchConfigModal = props => {
189
187
  onNextPage: onNextPage,
190
188
  onLoadDatasourceDetails: loadDatasourceDetails,
191
189
  onVisibleColumnKeysChange: handleVisibleColumnKeysChange,
192
- parentContainerRenderInstanceId: modalRenderInstanceId,
193
190
  extensionKey: extensionKey,
194
191
  columnCustomSizes: columnCustomSizes,
195
192
  onColumnResize: onColumnResize,
196
193
  wrappedColumnKeys: wrappedColumnKeys,
197
194
  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]);
195
+ })), [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, handleVisibleColumnKeysChange, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
199
196
  const resolvedWithNoResults = status === 'resolved' && !responseItems.length;
200
197
  const hasConfluenceSearchParams = selectedConfluenceSite && searchString;
201
198
  const selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
@@ -224,8 +221,8 @@ export const PlainConfluenceSearchConfigModal = props => {
224
221
  extensionKey,
225
222
  destinationObjectTypes,
226
223
  searchCount: searchCount.current,
227
- actions: Array.from(userInteractionActions.current)
228
- }), [destinationObjectTypes, extensionKey]);
224
+ actions: userInteractions.get()
225
+ }), [destinationObjectTypes, extensionKey, userInteractions]);
229
226
  const isDataReady = (visibleColumnKeys || []).length > 0;
230
227
  const fireInlineViewedEvent = useCallback(() => {
231
228
  fireEvent('ui.link.viewed.count', {
@@ -311,7 +308,7 @@ export const PlainConfluenceSearchConfigModal = props => {
311
308
  display: currentViewMode === 'inline' ? DatasourceDisplay.DATASOURCE_INLINE : DatasourceDisplay.DATASOURCE_TABLE,
312
309
  searchCount: searchCount.current,
313
310
  searchMethod: DatasourceSearchMethod.DATASOURCE_SEARCH_QUERY,
314
- actions: Array.from(userInteractionActions.current)
311
+ actions: userInteractions.get()
315
312
  },
316
313
  eventType: 'ui'
317
314
  });
@@ -351,14 +348,14 @@ export const PlainConfluenceSearchConfigModal = props => {
351
348
  }]
352
349
  }, confluenceSearchUrl), consumerEvent);
353
350
  }
354
- }, [isParametersSet, cloudId, analyticsPayload, totalCount, currentViewMode, onInsert, confluenceSearchUrl, datasourceId, parametersToSend, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys]);
351
+ }, [isParametersSet, cloudId, analyticsPayload, totalCount, currentViewMode, onInsert, confluenceSearchUrl, datasourceId, parametersToSend, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys, userInteractions]);
355
352
  const handleViewModeChange = selectedMode => {
356
- userInteractionActions.current.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
353
+ userInteractions.add(DatasourceAction.DISPLAY_VIEW_CHANGED);
357
354
  setCurrentViewMode(selectedMode);
358
355
  };
359
356
  const onSearch = useCallback((newSearchString, filters) => {
360
357
  searchCount.current++;
361
- userInteractionActions.current.add(DatasourceAction.QUERY_UPDATED);
358
+ userInteractions.add(DatasourceAction.QUERY_UPDATED);
362
359
  if (filters) {
363
360
  const {
364
361
  editedOrCreatedBy,
@@ -383,16 +380,16 @@ export const PlainConfluenceSearchConfigModal = props => {
383
380
  reset({
384
381
  shouldForceRequest: true
385
382
  });
386
- }, [reset]);
383
+ }, [reset, userInteractions]);
387
384
  const isInsertDisabled = !isParametersSet || status === 'rejected' || status === 'unauthorized' || status === 'loading';
388
385
  const getCancelButtonAnalyticsPayload = useCallback(() => {
389
386
  return {
390
387
  extensionKey,
391
388
  destinationObjectTypes,
392
389
  searchCount: searchCount.current,
393
- actions: Array.from(userInteractionActions.current)
390
+ actions: userInteractions.get()
394
391
  };
395
- }, [destinationObjectTypes, extensionKey]);
392
+ }, [destinationObjectTypes, extensionKey, userInteractions]);
396
393
  return jsx(IntlMessagesProvider, {
397
394
  defaultMessages: i18nEN,
398
395
  loaderFn: fetchMessagesForLocale
@@ -424,7 +421,9 @@ export const PlainConfluenceSearchConfigModal = props => {
424
421
  }, jsx(LinkUrl, {
425
422
  href: confluenceSearchUrl,
426
423
  target: "_blank",
427
- testId: "item-count-url",
424
+ testId: "item-count-url"
425
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
426
+ ,
428
427
  style: {
429
428
  color: `var(--ds-text-accent-gray, ${N800})`
430
429
  }
@@ -458,4 +457,4 @@ const contextData = {
458
457
  ...analyticsContextAttributes
459
458
  }
460
459
  };
461
- export const ConfluenceSearchConfigModal = withAnalyticsContext(contextData)(PlainConfluenceSearchConfigModal);
460
+ export const ConfluenceSearchConfigModal = withAnalyticsContext(contextData)(props => jsx(DatasourceExperienceIdProvider, null, jsx(UserInteractionsProvider, null, jsx(PlainConfluenceSearchConfigModal, props))));
@@ -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';
@@ -56,9 +56,7 @@ const DatasourceTableViewWithoutAnalytics = ({
56
56
  const {
57
57
  fireEvent
58
58
  } = useDatasourceAnalyticsEvents();
59
- const {
60
- current: tableRenderInstanceId
61
- } = useRef(uuidv4());
59
+ const experienceId = useDatasourceExperienceId();
62
60
  const visibleColumnCount = useRef((visibleColumnKeys === null || visibleColumnKeys === void 0 ? void 0 : visibleColumnKeys.length) || 0);
63
61
 
64
62
  /* Need this to make sure that the datasource in the editor gets updated new info if any edits are made in the modal
@@ -97,13 +95,13 @@ const DatasourceTableViewWithoutAnalytics = ({
97
95
  if (shouldStartUfoExperience) {
98
96
  startUfoExperience({
99
97
  name: 'datasource-rendered'
100
- }, tableRenderInstanceId);
98
+ }, experienceId);
101
99
  }
102
- }, [datasourceId, parameters, status, tableRenderInstanceId, visibleColumnKeys]);
103
- useColumnPickerRenderedFailedUfoExperience(status, tableRenderInstanceId);
100
+ }, [datasourceId, parameters, status, experienceId, visibleColumnKeys]);
101
+ useColumnPickerRenderedFailedUfoExperience(status, experienceId);
104
102
  useDataRenderedUfoExperience({
105
103
  status,
106
- experienceId: tableRenderInstanceId,
104
+ experienceId: experienceId,
107
105
  itemCount: responseItems.length,
108
106
  extensionKey
109
107
  });
@@ -167,7 +165,6 @@ const DatasourceTableViewWithoutAnalytics = ({
167
165
  wrappedColumnKeys: wrappedColumnKeys,
168
166
  onWrappedColumnChange: onWrappedColumnChange,
169
167
  scrollableContainerHeight: ScrollableContainerHeight,
170
- parentContainerRenderInstanceId: tableRenderInstanceId,
171
168
  extensionKey: extensionKey
172
169
  }) : jsx(EmptyState, {
173
170
  testId: "datasource-table-view-skeleton",
@@ -180,4 +177,4 @@ const DatasourceTableViewWithoutAnalytics = ({
180
177
  url: url
181
178
  })));
182
179
  };
183
- export const DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(DatasourceTableViewWithoutAnalytics);
180
+ export const DatasourceTableView = withAnalyticsContext(componentMetadata.tableView)(props => jsx(DatasourceExperienceIdProvider, null, jsx(DatasourceTableViewWithoutAnalytics, props)));
@@ -23,7 +23,9 @@ export const ConcatenatedMenuList = ({
23
23
  padding: `${"var(--ds-space-050, 4px)"} ${"var(--ds-space-200, 16px)"}`,
24
24
  height: 'auto'
25
25
  };
26
- const maximumLimitReachedMessage = jsx("div", {
26
+ const maximumLimitReachedMessage =
27
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
28
+ jsx("div", {
27
29
  css: messageStyles,
28
30
  style: optionStyle
29
31
  }, jsx(FormattedMessage, _extends({
@@ -9,16 +9,17 @@ import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';
9
9
  import { CheckboxOption, createFilter, PopupSelect } from '@atlaskit/select';
10
10
  import Tooltip from '@atlaskit/tooltip';
11
11
  import { succeedUfoExperience } from '../../../analytics/ufoExperiences';
12
+ import { useDatasourceExperienceId } from '../../../contexts/datasource-experience-id';
12
13
  import { ConcatenatedMenuList } from './concatenated-menu-list';
13
14
  import { columnPickerMessages } from './messages';
14
15
  export const ColumnPicker = ({
15
16
  columns,
16
17
  selectedColumnKeys,
17
18
  onSelectedColumnKeysChange,
18
- onOpen,
19
- parentContainerRenderInstanceId
19
+ onOpen
20
20
  }) => {
21
21
  const intl = useIntl();
22
+ const experienceId = useDatasourceExperienceId();
22
23
  const [allOptions, setAllOptions] = useState([]);
23
24
  const pickerRef = useRef(null);
24
25
  const mapColumnToOption = useCallback(({
@@ -82,13 +83,13 @@ export const ColumnPicker = ({
82
83
  }, [allOptions]);
83
84
  useEffect(() => {
84
85
  if (allOptions.length) {
85
- if (parentContainerRenderInstanceId) {
86
+ if (experienceId) {
86
87
  succeedUfoExperience({
87
88
  name: 'column-picker-rendered'
88
- }, parentContainerRenderInstanceId);
89
+ }, experienceId);
89
90
  }
90
91
  }
91
- }, [allOptions, parentContainerRenderInstanceId]);
92
+ }, [allOptions, experienceId]);
92
93
  return jsx(PopupSelect, {
93
94
  classNamePrefix: 'column-picker-popup',
94
95
  testId: 'column-picker-popup',
@@ -306,7 +306,9 @@ export const DraggableTableHeading = ({
306
306
  ref: mainHeaderCellRef,
307
307
  "data-testid": `${id}-column-heading`,
308
308
  style: {
309
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
309
310
  cursor: 'grab',
311
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
310
312
  ...getWidthCss({
311
313
  shouldUseWidth: resizeIsEnabled,
312
314
  width
@@ -103,8 +103,11 @@ export default (({
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,7 +120,9 @@ export default (({
117
120
  }, jsx("tr", null, columnsToRender.map(({
118
121
  key,
119
122
  width
120
- }) => jsx(TableHeading, {
123
+ }) =>
124
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
125
+ jsx(TableHeading, {
121
126
  key: key,
122
127
  style: {
123
128
  width,
@@ -18,6 +18,7 @@ import Tooltip from '@atlaskit/tooltip';
18
18
  import { WidthObserver } from '@atlaskit/width-detector';
19
19
  import { startUfoExperience, succeedUfoExperience } from '../../analytics/ufoExperiences';
20
20
  import { stickyTableHeadersIndex } from '../../common/zindex';
21
+ import { useDatasourceExperienceId } from '../../contexts/datasource-experience-id';
21
22
  import { ColumnPicker } from './column-picker';
22
23
  import { DragColumnPreview } from './drag-column-preview';
23
24
  import { DraggableTableHeading } from './draggable-table-heading';
@@ -317,11 +318,11 @@ export const IssueLikeDataTableView = ({
317
318
  status,
318
319
  hasNextPage,
319
320
  scrollableContainerHeight,
320
- parentContainerRenderInstanceId,
321
321
  extensionKey
322
322
  }) => {
323
323
  const tableId = useMemo(() => Symbol('unique-id'), []);
324
324
  const intl = useIntl();
325
+ const experienceId = useDatasourceExperienceId();
325
326
  const tableHeaderRowRef = useRef(null);
326
327
  const [lastRowElement, setLastRowElement] = useState(null);
327
328
  const [hasFullSchema, setHasFullSchema] = useState(false);
@@ -346,12 +347,12 @@ export const IssueLikeDataTableView = ({
346
347
  }
347
348
  }, [columns, visibleColumnKeys, hasFullSchema]);
348
349
  useEffect(() => {
349
- if (parentContainerRenderInstanceId && status === 'resolved') {
350
+ if (experienceId && status === 'resolved') {
350
351
  succeedUfoExperience({
351
352
  name: 'datasource-rendered'
352
- }, parentContainerRenderInstanceId);
353
+ }, experienceId);
353
354
  }
354
- }, [parentContainerRenderInstanceId, status]);
355
+ }, [experienceId, status]);
355
356
  const visibleSortedColumns = useMemo(() => visibleColumnKeys.map(visibleKey => orderedColumns.find(({
356
357
  key
357
358
  }) => visibleKey === key)).filter(Boolean), [orderedColumns, visibleColumnKeys]);
@@ -536,13 +537,13 @@ export const IssueLikeDataTableView = ({
536
537
  if (hasFullSchema) {
537
538
  return;
538
539
  }
539
- if (parentContainerRenderInstanceId) {
540
+ if (experienceId) {
540
541
  startUfoExperience({
541
542
  name: 'column-picker-rendered',
542
543
  metadata: {
543
544
  extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
544
545
  }
545
- }, parentContainerRenderInstanceId);
546
+ }, experienceId);
546
547
  }
547
548
  try {
548
549
  await onLoadDatasourceDetails();
@@ -550,7 +551,7 @@ export const IssueLikeDataTableView = ({
550
551
  } catch (e) {
551
552
  setHasFullSchema(false);
552
553
  }
553
- }, [parentContainerRenderInstanceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
554
+ }, [experienceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
554
555
  const isEditable = onVisibleColumnKeysChange && hasData;
555
556
  return jsx("div", {
556
557
  /* There is required contentEditable={true} in editor-card-plugin
@@ -559,7 +560,9 @@ export const IssueLikeDataTableView = ({
559
560
  */
560
561
  contentEditable: false,
561
562
  ref: containerRef,
562
- css: [tableContainerStyles, scrollableContainerHeight && scrollableContainerStyles],
563
+ css: [tableContainerStyles, scrollableContainerHeight && scrollableContainerStyles]
564
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
565
+ ,
563
566
  style: scrollableContainerHeight ? {
564
567
  maxHeight: `${scrollableContainerHeight}px`
565
568
  } : undefined,
@@ -568,13 +571,17 @@ export const IssueLikeDataTableView = ({
568
571
  setWidth: debounce(setTableContainerWidth, 100)
569
572
  }), jsx(Table, {
570
573
  css: tableStyles,
571
- "data-testid": testId,
574
+ "data-testid": testId
575
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
576
+ ,
572
577
  style: shouldUseWidth ? {
573
578
  tableLayout: 'fixed'
574
579
  } : {}
575
580
  }, jsx("thead", {
576
581
  "data-testid": testId && `${testId}--head`,
577
- css: [noDefaultBorderStyles, tableHeadStyles],
582
+ css: [noDefaultBorderStyles, tableHeadStyles]
583
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
584
+ ,
578
585
  className: !!onVisibleColumnKeysChange ? 'has-column-picker' : ''
579
586
  }, jsx("tr", {
580
587
  ref: tableHeaderRowRef
@@ -628,7 +635,9 @@ export const IssueLikeDataTableView = ({
628
635
  } else {
629
636
  return jsx(TableHeading, {
630
637
  key: key,
631
- "data-testid": `${key}-column-heading`,
638
+ "data-testid": `${key}-column-heading`
639
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
640
+ ,
632
641
  style: getWidthCss({
633
642
  shouldUseWidth,
634
643
  width
@@ -639,8 +648,7 @@ export const IssueLikeDataTableView = ({
639
648
  columns: hasFullSchema ? orderedColumns : [],
640
649
  selectedColumnKeys: hasFullSchema ? visibleColumnKeys : [],
641
650
  onSelectedColumnKeysChange: onSelectedColumnKeysChange,
642
- onOpen: handlePickerOpen,
643
- parentContainerRenderInstanceId: parentContainerRenderInstanceId
651
+ onOpen: handlePickerOpen
644
652
  })))), jsx("tbody", {
645
653
  css: noDefaultBorderStyles,
646
654
  "data-testid": testId && `${testId}--body`
@@ -672,7 +680,9 @@ export const IssueLikeDataTableView = ({
672
680
  return jsx(TableCell, {
673
681
  key: cellKey,
674
682
  "data-testid": testId && `${testId}--cell-${cellIndex}`,
675
- colSpan: isEditable && isLastCell ? 2 : undefined,
683
+ colSpan: isEditable && isLastCell ? 2 : undefined
684
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
685
+ ,
676
686
  style: loadingRowStyle,
677
687
  css: [wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(cellKey) ? null : truncateStyles]
678
688
  }, content);
@@ -16,7 +16,9 @@ const IconRenderType = ({
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'
@@ -26,7 +26,9 @@ const LinkRenderType = ({
26
26
  const anchor = useMemo(() => /*#__PURE__*/React.createElement(HoverCard, {
27
27
  url: url
28
28
  }, /*#__PURE__*/React.createElement(LinkUrl, {
29
- href: url,
29
+ href: url
30
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
31
+ ,
30
32
  style: {
31
33
  ...linkStyle,
32
34
  fontSize: fieldTextFontSize