@atlaskit/link-datasource 6.8.0 → 6.10.0

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 (661) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/analytics/render-failed/package.json +4 -4
  3. package/assets-config-modal-with-wrappers/package.json +10 -0
  4. package/assets-modal/package.json +4 -4
  5. package/assets-modal/types/package.json +4 -4
  6. package/confluence-search-config-modal-with-wrappers/package.json +10 -0
  7. package/confluence-search-modal/package.json +4 -4
  8. package/confluence-search-modal/types/package.json +4 -4
  9. package/datasource-table-view/package.json +4 -4
  10. package/datasource-table-view-with-wrappers/package.json +10 -0
  11. package/dist/cjs/analytics/index.js +0 -7
  12. package/dist/cjs/analytics/ufoExperiences/addMetadataToExperience.js +12 -0
  13. package/dist/cjs/analytics/ufoExperiences/columnPickerCustomExperienceConfig.js +14 -0
  14. package/dist/cjs/analytics/ufoExperiences/datasourcePageSegmentLoadExperienceConfig.js +14 -0
  15. package/dist/cjs/analytics/ufoExperiences/failUfoExperience.js +15 -0
  16. package/dist/cjs/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.js +2 -2
  17. package/dist/cjs/analytics/ufoExperiences/hooks/useDataRenderedUfoExperience.js +6 -4
  18. package/dist/cjs/analytics/ufoExperiences/inlineEditCustomExperienceConfig.js +14 -0
  19. package/dist/cjs/analytics/ufoExperiences/startUfoExperience.js +16 -0
  20. package/dist/cjs/analytics/ufoExperiences/succeedUfoExperience.js +15 -0
  21. package/dist/cjs/analytics/ufoExperiences/ufoExperiences.js +15 -0
  22. package/dist/cjs/analytics/wrappers/render-failed/datasourceRenderFailedAnalyticsWrapper.js +2 -2
  23. package/dist/cjs/contexts/datasource-experience-id/datasource-experience-id-context.js +9 -0
  24. package/dist/cjs/contexts/datasource-experience-id/{index.js → datasource-experience-id-provider.js} +3 -10
  25. package/dist/cjs/contexts/datasource-experience-id/use-datasource-experience-id.js +15 -0
  26. package/dist/cjs/contexts/user-interactions/use-user-interactions.js +21 -0
  27. package/dist/cjs/contexts/user-interactions/user-interactions-context.js +9 -0
  28. package/dist/cjs/contexts/user-interactions/{index.js → user-interactions-provider.js} +3 -17
  29. package/dist/cjs/hooks/logToSentry.js +20 -0
  30. package/dist/cjs/hooks/useAssetsClient.js +9 -6
  31. package/dist/cjs/hooks/useDatasourceTableState.js +3 -3
  32. package/dist/cjs/hooks/useErrorLogger.js +3 -16
  33. package/dist/cjs/hooks/useObjectSchemas.js +2 -2
  34. package/dist/cjs/hooks/useValidateAqlText.js +2 -2
  35. package/dist/cjs/services/FetchError.js +27 -0
  36. package/dist/cjs/services/{cmdbService.utils.js → PermissionError.js} +1 -37
  37. package/dist/cjs/services/__clearMetaCacheForTests.js +13 -0
  38. package/dist/cjs/services/cmdbService.js +1 -205
  39. package/dist/cjs/services/fetchObjectSchema.js +51 -0
  40. package/dist/cjs/services/fetchObjectSchemas.js +55 -0
  41. package/dist/cjs/services/getMeta.js +2 -9
  42. package/dist/cjs/services/getStatusCodeGroup.js +25 -0
  43. package/dist/cjs/services/getWorkspaceId.js +58 -0
  44. package/dist/cjs/services/mapFetchErrors.js +13 -0
  45. package/dist/cjs/services/resolvePrimaryWorkspace.js +45 -0
  46. package/dist/cjs/services/validateAql.js +54 -0
  47. package/dist/cjs/state/actions/index.js +6 -150
  48. package/dist/cjs/state/actions/useDiscoverActions.js +26 -0
  49. package/dist/cjs/state/actions/useExecuteAtomicAction.js +139 -0
  50. package/dist/cjs/ui/assets-modal/AssetsConfigModalWithWrappers.js +26 -0
  51. package/dist/cjs/ui/assets-modal/index.js +24 -22
  52. package/dist/cjs/ui/assets-modal/modal/index.js +16 -14
  53. package/dist/cjs/ui/assets-modal/modal/render-assets-content/index.js +2 -1
  54. package/dist/cjs/ui/common/modal/count-view-smart-link/{index.js → smart-card-placeholder.js} +3 -12
  55. package/dist/cjs/ui/common/modal/count-view-smart-link/smart-link.compiled.css +1 -0
  56. package/dist/cjs/ui/common/modal/count-view-smart-link/smart-link.js +24 -0
  57. package/dist/cjs/ui/common/modal/datasource-context/DatasourceContext.js +9 -0
  58. package/dist/cjs/ui/common/modal/datasource-context/{index.js → DatasourceContextProvider.js} +3 -10
  59. package/dist/cjs/ui/common/modal/datasource-context/useDatasourceContext.js +15 -0
  60. package/dist/cjs/ui/common/modal/datasource-modal/createDatasourceModal.js +6 -6
  61. package/dist/cjs/ui/common/modal/datasources-table-in-modal-preview/index.js +6 -6
  62. package/dist/cjs/ui/common/modal/datasources-table-in-modal-preview/use-column-visibility/index.js +4 -4
  63. package/dist/cjs/ui/common/modal/insert-button/index.js +6 -6
  64. package/dist/cjs/ui/common/modal/mode-switcher/DatasourceViewModeDropDown.js +33 -0
  65. package/dist/cjs/ui/common/modal/mode-switcher/DatasourceViewModeProvider.js +31 -0
  66. package/dist/cjs/ui/common/modal/mode-switcher/{index.js → ModeSwitcher.js} +3 -25
  67. package/dist/cjs/ui/common/modal/mode-switcher/useViewModeContext.js +3 -26
  68. package/dist/cjs/ui/common/modal/popup-select/CustomControl.js +39 -0
  69. package/dist/cjs/ui/common/modal/popup-select/control.js +3 -35
  70. package/dist/cjs/ui/common/modal/search-count/AssetsItemCount.js +30 -0
  71. package/dist/cjs/ui/common/modal/search-count/ItemCountWrapper.js +39 -0
  72. package/dist/cjs/ui/common/modal/search-count/index.js +11 -60
  73. package/dist/cjs/ui/confluence-search-modal/ConfluenceSearchConfigModalWithWrappers.js +26 -0
  74. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/getCurrentOptionLabel.js +32 -0
  75. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/getDropdownLabel.js +21 -0
  76. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +7 -5
  77. package/dist/cjs/ui/confluence-search-modal/basic-filters/filters/date-range-picker/{utils.js → useInvalidDateRange.js} +1 -39
  78. package/dist/cjs/ui/confluence-search-modal/index.js +24 -22
  79. package/dist/cjs/ui/confluence-search-modal/modal/ConfluenceSearchConfigModal.js +35 -0
  80. package/dist/cjs/ui/confluence-search-modal/modal/{index.js → PlainConfluenceSearchConfigModal.js} +13 -34
  81. package/dist/cjs/ui/datasource-table-view/DatasourceTableViewWithWrappers.js +26 -0
  82. package/dist/cjs/ui/datasource-table-view/datasourceTableView.js +11 -10
  83. package/dist/cjs/ui/datasource-table-view/index.js +21 -21
  84. package/dist/cjs/ui/issue-like-table/column-picker/concatenated-menu-list.compiled.css +1 -7
  85. package/dist/cjs/ui/issue-like-table/column-picker/concatenated-menu-list.js +2 -14
  86. package/dist/cjs/ui/issue-like-table/column-picker/index.js +12 -5
  87. package/dist/cjs/ui/issue-like-table/column-picker/menu-item.compiled.css +5 -0
  88. package/dist/cjs/ui/issue-like-table/column-picker/menu-item.js +27 -0
  89. package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +12 -9
  90. package/dist/cjs/ui/issue-like-table/edit-type/editType.js +91 -0
  91. package/dist/cjs/ui/issue-like-table/edit-type/icon/index.js +8 -7
  92. package/dist/cjs/ui/issue-like-table/edit-type/index.js +2 -97
  93. package/dist/cjs/ui/issue-like-table/edit-type/isEditTypeSelectable.js +10 -0
  94. package/dist/cjs/ui/issue-like-table/edit-type/isEditTypeSupported.js +10 -0
  95. package/dist/cjs/ui/issue-like-table/edit-type/status/index.js +8 -7
  96. package/dist/cjs/ui/issue-like-table/edit-type/text/index.js +4 -4
  97. package/dist/cjs/ui/issue-like-table/edit-type/toValueType.js +10 -0
  98. package/dist/cjs/ui/issue-like-table/edit-type/user/index.js +8 -7
  99. package/dist/cjs/ui/issue-like-table/get-cleaned-select-props.js +18 -0
  100. package/dist/cjs/ui/issue-like-table/get-column-action.js +22 -0
  101. package/dist/cjs/ui/issue-like-table/get-column-min-width.js +18 -0
  102. package/dist/cjs/ui/issue-like-table/get-field-label-by-id.js +12 -0
  103. package/dist/cjs/ui/issue-like-table/get-ordered-columns.js +30 -0
  104. package/dist/cjs/ui/issue-like-table/get-width-css.js +31 -0
  105. package/dist/cjs/ui/issue-like-table/glyph-placeholder.js +17 -0
  106. package/dist/cjs/ui/issue-like-table/index.js +3 -785
  107. package/dist/cjs/ui/issue-like-table/issue-like-data-table-view.js +786 -0
  108. package/dist/cjs/ui/issue-like-table/render-type/date-range/getFormattedDateRange.js +160 -0
  109. package/dist/cjs/ui/issue-like-table/render-type/date-range/index.js +2 -155
  110. package/dist/cjs/ui/issue-like-table/render-type/date-time/getFormattedDate.js +40 -0
  111. package/dist/cjs/ui/issue-like-table/render-type/date-time/index.js +2 -35
  112. package/dist/cjs/ui/issue-like-table/render-type/index.js +12 -140
  113. package/dist/cjs/ui/issue-like-table/render-type/renderType.js +105 -0
  114. package/dist/cjs/ui/issue-like-table/render-type/richtext/index.js +3 -37
  115. package/dist/cjs/ui/issue-like-table/render-type/richtext/parseRichText.js +45 -0
  116. package/dist/cjs/ui/issue-like-table/render-type/stringifyType.js +49 -0
  117. package/dist/cjs/ui/issue-like-table/table-cell-content/get-issue-link-data.js +16 -0
  118. package/dist/cjs/ui/issue-like-table/table-cell-content/get-linked-cell-content.js +28 -0
  119. package/dist/cjs/ui/issue-like-table/table-cell-content/inline-edit.js +10 -41
  120. package/dist/cjs/ui/issue-like-table/table-cell-content/is-issue-type-column-fn.js +9 -0
  121. package/dist/cjs/ui/issue-like-table/table-cell-content/linked-cell-content-wrapped.js +25 -0
  122. package/dist/cjs/ui/issue-like-table/table-cell-content/new-get-backend-update-value.js +38 -0
  123. package/dist/cjs/ui/issue-like-table/table-cell-content/read-only-cell.js +50 -0
  124. package/dist/cjs/ui/issue-like-table/table-cell-content/table-cell-content-props.js +5 -0
  125. package/dist/cjs/ui/issue-like-table/table-cell-content/table-cell-content.js +151 -0
  126. package/dist/cjs/ui/issue-like-table/table-cell-content/tooltip-wrapper.js +37 -0
  127. package/dist/cjs/ui/issue-like-table/table-settings-menu/{index.js → TableSettingsMenu.js} +7 -10
  128. package/dist/cjs/ui/issue-like-table/table-settings-menu/hasAvailableTableSettings.js +15 -0
  129. package/dist/cjs/ui/issue-like-table/{custom-icons.js → unwrap-text-icon.js} +1 -24
  130. package/dist/cjs/ui/issue-like-table/utils.js +2 -76
  131. package/dist/cjs/ui/issue-like-table/wrap-text-icon.js +22 -0
  132. package/dist/cjs/ui/jira-issues-modal/JiraIssuesConfigModalWithWrappers.js +26 -0
  133. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/getAssigneeUnassignedFilterOption.js +14 -0
  134. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.js +9 -14
  135. package/dist/cjs/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +6 -6
  136. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/checkAndConvertToAbsoluteUrl.js +15 -0
  137. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/getLozengeAppearance.js +13 -0
  138. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/isClauseTooComplex.js +3 -9
  139. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/isColorName.js +10 -0
  140. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/isNonNullSelectOption.js +9 -0
  141. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToFilterOptions.js +22 -0
  142. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToPageCursor.js +11 -0
  143. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToTotalCount.js +11 -0
  144. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/mapHydrateResponseData.js +32 -0
  145. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/mapNodeToOption.js +66 -0
  146. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/removeFuzzyCharacter.js +13 -0
  147. package/dist/cjs/ui/jira-issues-modal/index.js +24 -22
  148. package/dist/cjs/ui/jira-issues-modal/jira-search-container/index.js +4 -4
  149. package/dist/cjs/ui/jira-issues-modal/modal/index.js +14 -13
  150. package/dist/cjs/ui/table-footer/index.js +3 -2
  151. package/dist/es2019/analytics/index.js +0 -1
  152. package/dist/es2019/analytics/ufoExperiences/addMetadataToExperience.js +7 -0
  153. package/dist/es2019/analytics/ufoExperiences/columnPickerCustomExperienceConfig.js +8 -0
  154. package/dist/es2019/analytics/ufoExperiences/datasourcePageSegmentLoadExperienceConfig.js +8 -0
  155. package/dist/es2019/analytics/ufoExperiences/failUfoExperience.js +10 -0
  156. package/dist/es2019/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.js +1 -1
  157. package/dist/es2019/analytics/ufoExperiences/hooks/useDataRenderedUfoExperience.js +3 -1
  158. package/dist/es2019/analytics/ufoExperiences/inlineEditCustomExperienceConfig.js +8 -0
  159. package/dist/es2019/analytics/ufoExperiences/startUfoExperience.js +11 -0
  160. package/dist/es2019/analytics/ufoExperiences/succeedUfoExperience.js +10 -0
  161. package/dist/es2019/analytics/ufoExperiences/ufoExperiences.js +9 -0
  162. package/dist/es2019/analytics/wrappers/render-failed/datasourceRenderFailedAnalyticsWrapper.js +1 -1
  163. package/dist/es2019/contexts/datasource-experience-id/datasource-experience-id-context.js +2 -0
  164. package/dist/es2019/contexts/datasource-experience-id/datasource-experience-id-provider.js +14 -0
  165. package/dist/es2019/contexts/datasource-experience-id/use-datasource-experience-id.js +9 -0
  166. package/dist/es2019/contexts/user-interactions/use-user-interactions.js +15 -0
  167. package/dist/es2019/contexts/user-interactions/user-interactions-context.js +2 -0
  168. package/dist/es2019/contexts/user-interactions/user-interactions-provider.js +18 -0
  169. package/dist/es2019/hooks/logToSentry.js +11 -0
  170. package/dist/es2019/hooks/useAssetsClient.js +4 -1
  171. package/dist/es2019/hooks/useDatasourceTableState.js +2 -2
  172. package/dist/es2019/hooks/useErrorLogger.js +1 -11
  173. package/dist/es2019/hooks/useObjectSchemas.js +1 -1
  174. package/dist/es2019/hooks/useValidateAqlText.js +1 -1
  175. package/dist/es2019/services/FetchError.js +7 -0
  176. package/dist/es2019/services/PermissionError.js +6 -0
  177. package/dist/es2019/services/__clearMetaCacheForTests.js +8 -0
  178. package/dist/es2019/services/cmdbService.js +1 -106
  179. package/dist/es2019/services/fetchObjectSchema.js +24 -0
  180. package/dist/es2019/services/fetchObjectSchemas.js +28 -0
  181. package/dist/es2019/services/getMeta.js +1 -8
  182. package/dist/es2019/services/getStatusCodeGroup.js +21 -0
  183. package/dist/es2019/services/getWorkspaceId.js +29 -0
  184. package/dist/es2019/services/mapFetchErrors.js +7 -0
  185. package/dist/es2019/services/resolvePrimaryWorkspace.js +16 -0
  186. package/dist/es2019/services/validateAql.js +27 -0
  187. package/dist/es2019/state/actions/index.js +2 -152
  188. package/dist/es2019/state/actions/useDiscoverActions.js +21 -0
  189. package/dist/es2019/state/actions/useExecuteAtomicAction.js +134 -0
  190. package/dist/es2019/ui/assets-modal/AssetsConfigModalWithWrappers.js +11 -0
  191. package/dist/es2019/ui/assets-modal/index.js +13 -12
  192. package/dist/es2019/ui/assets-modal/modal/index.js +8 -5
  193. package/dist/es2019/ui/assets-modal/modal/render-assets-content/index.js +2 -1
  194. package/dist/es2019/ui/common/modal/count-view-smart-link/{index.js → smart-card-placeholder.js} +3 -11
  195. package/dist/es2019/ui/common/modal/count-view-smart-link/smart-link.compiled.css +1 -0
  196. package/dist/es2019/ui/common/modal/count-view-smart-link/smart-link.js +16 -0
  197. package/dist/es2019/ui/common/modal/datasource-context/DatasourceContext.js +2 -0
  198. package/dist/es2019/ui/common/modal/datasource-context/{index.js → DatasourceContextProvider.js} +2 -9
  199. package/dist/es2019/ui/common/modal/datasource-context/useDatasourceContext.js +9 -0
  200. package/dist/es2019/ui/common/modal/datasource-modal/createDatasourceModal.js +4 -4
  201. package/dist/es2019/ui/common/modal/datasources-table-in-modal-preview/index.js +3 -3
  202. package/dist/es2019/ui/common/modal/datasources-table-in-modal-preview/use-column-visibility/index.js +2 -2
  203. package/dist/es2019/ui/common/modal/insert-button/index.js +3 -3
  204. package/dist/es2019/ui/common/modal/mode-switcher/DatasourceViewModeDropDown.js +26 -0
  205. package/dist/es2019/ui/common/modal/mode-switcher/DatasourceViewModeProvider.js +17 -0
  206. package/dist/es2019/ui/common/modal/mode-switcher/{index.js → ModeSwitcher.js} +2 -25
  207. package/dist/es2019/ui/common/modal/mode-switcher/useViewModeContext.js +2 -17
  208. package/dist/es2019/ui/common/modal/popup-select/CustomControl.js +27 -0
  209. package/dist/es2019/ui/common/modal/popup-select/control.js +1 -27
  210. package/dist/es2019/ui/common/modal/search-count/AssetsItemCount.js +24 -0
  211. package/dist/es2019/ui/common/modal/search-count/ItemCountWrapper.js +30 -0
  212. package/dist/es2019/ui/common/modal/search-count/index.js +2 -50
  213. package/dist/es2019/ui/confluence-search-modal/ConfluenceSearchConfigModalWithWrappers.js +11 -0
  214. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/getCurrentOptionLabel.js +26 -0
  215. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/getDropdownLabel.js +13 -0
  216. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +4 -2
  217. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/useInvalidDateRange.js +23 -0
  218. package/dist/es2019/ui/confluence-search-modal/index.js +13 -12
  219. package/dist/es2019/ui/confluence-search-modal/modal/ConfluenceSearchConfigModal.js +24 -0
  220. package/dist/es2019/ui/confluence-search-modal/modal/{index.js → PlainConfluenceSearchConfigModal.js} +7 -27
  221. package/dist/es2019/ui/datasource-table-view/DatasourceTableViewWithWrappers.js +11 -0
  222. package/dist/es2019/ui/datasource-table-view/datasourceTableView.js +7 -6
  223. package/dist/es2019/ui/datasource-table-view/index.js +13 -12
  224. package/dist/es2019/ui/issue-like-table/column-picker/concatenated-menu-list.compiled.css +1 -7
  225. package/dist/es2019/ui/issue-like-table/column-picker/concatenated-menu-list.js +0 -12
  226. package/dist/es2019/ui/issue-like-table/column-picker/index.js +10 -3
  227. package/dist/es2019/ui/issue-like-table/column-picker/menu-item.compiled.css +5 -0
  228. package/dist/es2019/ui/issue-like-table/column-picker/menu-item.js +17 -0
  229. package/dist/es2019/ui/issue-like-table/draggable-table-heading.js +7 -4
  230. package/dist/es2019/ui/issue-like-table/edit-type/editType.js +76 -0
  231. package/dist/es2019/ui/issue-like-table/edit-type/icon/index.js +4 -3
  232. package/dist/es2019/ui/issue-like-table/edit-type/index.js +1 -88
  233. package/dist/es2019/ui/issue-like-table/edit-type/isEditTypeSelectable.js +4 -0
  234. package/dist/es2019/ui/issue-like-table/edit-type/isEditTypeSupported.js +4 -0
  235. package/dist/es2019/ui/issue-like-table/edit-type/status/index.js +4 -3
  236. package/dist/es2019/ui/issue-like-table/edit-type/text/index.js +2 -2
  237. package/dist/es2019/ui/issue-like-table/edit-type/toValueType.js +4 -0
  238. package/dist/es2019/ui/issue-like-table/edit-type/user/index.js +4 -3
  239. package/dist/es2019/ui/issue-like-table/get-cleaned-select-props.js +11 -0
  240. package/dist/es2019/ui/issue-like-table/get-column-action.js +17 -0
  241. package/dist/es2019/ui/issue-like-table/get-column-min-width.js +12 -0
  242. package/dist/es2019/ui/issue-like-table/get-field-label-by-id.js +4 -0
  243. package/dist/es2019/ui/issue-like-table/get-ordered-columns.js +18 -0
  244. package/dist/es2019/ui/issue-like-table/get-width-css.js +26 -0
  245. package/dist/es2019/ui/issue-like-table/glyph-placeholder.js +8 -0
  246. package/dist/es2019/ui/issue-like-table/index.js +3 -710
  247. package/dist/es2019/ui/issue-like-table/issue-like-data-table-view.js +708 -0
  248. package/dist/es2019/ui/issue-like-table/render-type/date-range/getFormattedDateRange.js +156 -0
  249. package/dist/es2019/ui/issue-like-table/render-type/date-range/index.js +1 -156
  250. package/dist/es2019/ui/issue-like-table/render-type/date-time/getFormattedDate.js +31 -0
  251. package/dist/es2019/ui/issue-like-table/render-type/date-time/index.js +1 -31
  252. package/dist/es2019/ui/issue-like-table/render-type/index.js +10 -115
  253. package/dist/es2019/ui/issue-like-table/render-type/renderType.js +74 -0
  254. package/dist/es2019/ui/issue-like-table/render-type/richtext/index.js +1 -35
  255. package/dist/es2019/ui/issue-like-table/render-type/richtext/parseRichText.js +40 -0
  256. package/dist/es2019/ui/issue-like-table/render-type/stringifyType.js +44 -0
  257. package/dist/es2019/ui/issue-like-table/table-cell-content/get-issue-link-data.js +10 -0
  258. package/dist/es2019/ui/issue-like-table/table-cell-content/get-linked-cell-content.js +23 -0
  259. package/dist/es2019/ui/issue-like-table/table-cell-content/inline-edit.js +5 -42
  260. package/dist/es2019/ui/issue-like-table/table-cell-content/is-issue-type-column-fn.js +3 -0
  261. package/dist/es2019/ui/issue-like-table/table-cell-content/linked-cell-content-wrapped.js +20 -0
  262. package/dist/es2019/ui/issue-like-table/table-cell-content/new-get-backend-update-value.js +38 -0
  263. package/dist/es2019/ui/issue-like-table/table-cell-content/read-only-cell.js +43 -0
  264. package/dist/es2019/ui/issue-like-table/table-cell-content/table-cell-content.js +150 -0
  265. package/dist/es2019/ui/issue-like-table/table-cell-content/tooltip-wrapper.js +28 -0
  266. package/dist/es2019/ui/issue-like-table/table-settings-menu/{index.js → TableSettingsMenu.js} +3 -5
  267. package/dist/es2019/ui/issue-like-table/table-settings-menu/hasAvailableTableSettings.js +8 -0
  268. package/dist/es2019/ui/issue-like-table/{custom-icons.js → unwrap-text-icon.js} +0 -19
  269. package/dist/es2019/ui/issue-like-table/utils.js +1 -73
  270. package/dist/es2019/ui/issue-like-table/wrap-text-icon.js +13 -0
  271. package/dist/es2019/ui/jira-issues-modal/JiraIssuesConfigModalWithWrappers.js +11 -0
  272. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/getAssigneeUnassignedFilterOption.js +6 -0
  273. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.js +4 -7
  274. package/dist/es2019/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +3 -3
  275. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/checkAndConvertToAbsoluteUrl.js +9 -0
  276. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/getLozengeAppearance.js +7 -0
  277. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/isClauseTooComplex.js +1 -7
  278. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/isColorName.js +4 -0
  279. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/isNonNullSelectOption.js +3 -0
  280. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToFilterOptions.js +12 -0
  281. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToPageCursor.js +6 -0
  282. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToTotalCount.js +6 -0
  283. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/mapHydrateResponseData.js +26 -0
  284. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/mapNodeToOption.js +62 -0
  285. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/removeFuzzyCharacter.js +7 -0
  286. package/dist/es2019/ui/jira-issues-modal/index.js +13 -12
  287. package/dist/es2019/ui/jira-issues-modal/jira-search-container/index.js +2 -2
  288. package/dist/es2019/ui/jira-issues-modal/modal/index.js +8 -6
  289. package/dist/es2019/ui/table-footer/index.js +2 -1
  290. package/dist/esm/analytics/index.js +0 -1
  291. package/dist/esm/analytics/ufoExperiences/addMetadataToExperience.js +6 -0
  292. package/dist/esm/analytics/ufoExperiences/columnPickerCustomExperienceConfig.js +8 -0
  293. package/dist/esm/analytics/ufoExperiences/datasourcePageSegmentLoadExperienceConfig.js +8 -0
  294. package/dist/esm/analytics/ufoExperiences/failUfoExperience.js +9 -0
  295. package/dist/esm/analytics/ufoExperiences/hooks/useColumnPickerRenderedFailedUfoExperience.js +1 -1
  296. package/dist/esm/analytics/ufoExperiences/hooks/useDataRenderedUfoExperience.js +3 -1
  297. package/dist/esm/analytics/ufoExperiences/inlineEditCustomExperienceConfig.js +8 -0
  298. package/dist/esm/analytics/ufoExperiences/startUfoExperience.js +10 -0
  299. package/dist/esm/analytics/ufoExperiences/succeedUfoExperience.js +9 -0
  300. package/dist/esm/analytics/ufoExperiences/ufoExperiences.js +9 -0
  301. package/dist/esm/analytics/wrappers/render-failed/datasourceRenderFailedAnalyticsWrapper.js +1 -1
  302. package/dist/esm/contexts/datasource-experience-id/datasource-experience-id-context.js +2 -0
  303. package/dist/esm/contexts/datasource-experience-id/datasource-experience-id-provider.js +15 -0
  304. package/dist/esm/contexts/datasource-experience-id/use-datasource-experience-id.js +9 -0
  305. package/dist/esm/contexts/user-interactions/use-user-interactions.js +15 -0
  306. package/dist/esm/contexts/user-interactions/user-interactions-context.js +2 -0
  307. package/dist/esm/contexts/user-interactions/user-interactions-provider.js +19 -0
  308. package/dist/esm/hooks/logToSentry.js +14 -0
  309. package/dist/esm/hooks/useAssetsClient.js +4 -1
  310. package/dist/esm/hooks/useDatasourceTableState.js +2 -2
  311. package/dist/esm/hooks/useErrorLogger.js +1 -14
  312. package/dist/esm/hooks/useObjectSchemas.js +1 -1
  313. package/dist/esm/hooks/useValidateAqlText.js +1 -1
  314. package/dist/esm/services/FetchError.js +20 -0
  315. package/dist/esm/services/{cmdbService.utils.js → PermissionError.js} +0 -36
  316. package/dist/esm/services/__clearMetaCacheForTests.js +8 -0
  317. package/dist/esm/services/cmdbService.js +1 -202
  318. package/dist/esm/services/fetchObjectSchema.js +44 -0
  319. package/dist/esm/services/fetchObjectSchemas.js +48 -0
  320. package/dist/esm/services/getMeta.js +1 -8
  321. package/dist/esm/services/getStatusCodeGroup.js +19 -0
  322. package/dist/esm/services/getWorkspaceId.js +51 -0
  323. package/dist/esm/services/mapFetchErrors.js +7 -0
  324. package/dist/esm/services/resolvePrimaryWorkspace.js +38 -0
  325. package/dist/esm/services/validateAql.js +47 -0
  326. package/dist/esm/state/actions/index.js +6 -150
  327. package/dist/esm/state/actions/useDiscoverActions.js +20 -0
  328. package/dist/esm/state/actions/useExecuteAtomicAction.js +132 -0
  329. package/dist/esm/ui/assets-modal/AssetsConfigModalWithWrappers.js +15 -0
  330. package/dist/esm/ui/assets-modal/index.js +13 -16
  331. package/dist/esm/ui/assets-modal/modal/index.js +8 -5
  332. package/dist/esm/ui/assets-modal/modal/render-assets-content/index.js +2 -1
  333. package/dist/esm/ui/common/modal/count-view-smart-link/{index.js → smart-card-placeholder.js} +2 -11
  334. package/dist/esm/ui/common/modal/count-view-smart-link/smart-link.compiled.css +1 -0
  335. package/dist/esm/ui/common/modal/count-view-smart-link/smart-link.js +17 -0
  336. package/dist/esm/ui/common/modal/datasource-context/DatasourceContext.js +2 -0
  337. package/dist/esm/ui/common/modal/datasource-context/{index.js → DatasourceContextProvider.js} +2 -9
  338. package/dist/esm/ui/common/modal/datasource-context/DatasourceContextValue.js +1 -0
  339. package/dist/esm/ui/common/modal/datasource-context/useDatasourceContext.js +9 -0
  340. package/dist/esm/ui/common/modal/datasource-modal/createDatasourceModal.js +4 -4
  341. package/dist/esm/ui/common/modal/datasources-table-in-modal-preview/index.js +3 -3
  342. package/dist/esm/ui/common/modal/datasources-table-in-modal-preview/use-column-visibility/index.js +2 -2
  343. package/dist/esm/ui/common/modal/insert-button/index.js +3 -3
  344. package/dist/esm/ui/common/modal/mode-switcher/DatasourceViewModeDropDown.js +25 -0
  345. package/dist/esm/ui/common/modal/mode-switcher/DatasourceViewModeProvider.js +22 -0
  346. package/dist/esm/ui/common/modal/mode-switcher/{index.js → ModeSwitcher.js} +2 -24
  347. package/dist/esm/ui/common/modal/mode-switcher/useViewModeContext.js +2 -22
  348. package/dist/esm/ui/common/modal/popup-select/CustomControl.js +32 -0
  349. package/dist/esm/ui/common/modal/popup-select/control.js +1 -32
  350. package/dist/esm/ui/common/modal/search-count/AssetsItemCount.js +23 -0
  351. package/dist/esm/ui/common/modal/search-count/ItemCountWrapper.js +32 -0
  352. package/dist/esm/ui/common/modal/search-count/index.js +8 -57
  353. package/dist/esm/ui/confluence-search-modal/ConfluenceSearchConfigModalWithWrappers.js +15 -0
  354. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/getCurrentOptionLabel.js +26 -0
  355. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/getDropdownLabel.js +15 -0
  356. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/index.js +4 -2
  357. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/useInvalidDateRange.js +23 -0
  358. package/dist/esm/ui/confluence-search-modal/index.js +13 -16
  359. package/dist/esm/ui/confluence-search-modal/modal/ConfluenceSearchConfigModal.js +28 -0
  360. package/dist/esm/ui/confluence-search-modal/modal/{index.js → PlainConfluenceSearchConfigModal.js} +7 -28
  361. package/dist/esm/ui/datasource-table-view/DatasourceTableViewWithWrappers.js +15 -0
  362. package/dist/esm/ui/datasource-table-view/datasourceTableView.js +7 -6
  363. package/dist/esm/ui/datasource-table-view/index.js +13 -16
  364. package/dist/esm/ui/issue-like-table/column-picker/concatenated-menu-list.compiled.css +1 -7
  365. package/dist/esm/ui/issue-like-table/column-picker/concatenated-menu-list.js +1 -13
  366. package/dist/esm/ui/issue-like-table/column-picker/index.js +10 -3
  367. package/dist/esm/ui/issue-like-table/column-picker/menu-item.compiled.css +5 -0
  368. package/dist/esm/ui/issue-like-table/column-picker/menu-item.js +18 -0
  369. package/dist/esm/ui/issue-like-table/draggable-table-heading.js +7 -4
  370. package/dist/esm/ui/issue-like-table/edit-type/editType.js +84 -0
  371. package/dist/esm/ui/issue-like-table/edit-type/icon/index.js +4 -3
  372. package/dist/esm/ui/issue-like-table/edit-type/index.js +1 -96
  373. package/dist/esm/ui/issue-like-table/edit-type/isEditTypeSelectable.js +4 -0
  374. package/dist/esm/ui/issue-like-table/edit-type/isEditTypeSupported.js +4 -0
  375. package/dist/esm/ui/issue-like-table/edit-type/status/index.js +4 -3
  376. package/dist/esm/ui/issue-like-table/edit-type/text/index.js +2 -2
  377. package/dist/esm/ui/issue-like-table/edit-type/toValueType.js +4 -0
  378. package/dist/esm/ui/issue-like-table/edit-type/user/index.js +4 -3
  379. package/dist/esm/ui/issue-like-table/get-cleaned-select-props.js +11 -0
  380. package/dist/esm/ui/issue-like-table/get-column-action.js +17 -0
  381. package/dist/esm/ui/issue-like-table/get-column-min-width.js +12 -0
  382. package/dist/esm/ui/issue-like-table/get-field-label-by-id.js +6 -0
  383. package/dist/esm/ui/issue-like-table/get-ordered-columns.js +23 -0
  384. package/dist/esm/ui/issue-like-table/get-width-css.js +25 -0
  385. package/dist/esm/ui/issue-like-table/glyph-placeholder.js +10 -0
  386. package/dist/esm/ui/issue-like-table/index.js +3 -785
  387. package/dist/esm/ui/issue-like-table/issue-like-data-table-view.js +779 -0
  388. package/dist/esm/ui/issue-like-table/render-type/date-range/getFormattedDateRange.js +153 -0
  389. package/dist/esm/ui/issue-like-table/render-type/date-range/index.js +1 -153
  390. package/dist/esm/ui/issue-like-table/render-type/date-time/getFormattedDate.js +33 -0
  391. package/dist/esm/ui/issue-like-table/render-type/date-time/index.js +1 -33
  392. package/dist/esm/ui/issue-like-table/render-type/index.js +10 -138
  393. package/dist/esm/ui/issue-like-table/render-type/renderType.js +98 -0
  394. package/dist/esm/ui/issue-like-table/render-type/richtext/index.js +1 -35
  395. package/dist/esm/ui/issue-like-table/render-type/richtext/parseRichText.js +40 -0
  396. package/dist/esm/ui/issue-like-table/render-type/stringifyType.js +43 -0
  397. package/dist/esm/ui/issue-like-table/table-cell-content/get-issue-link-data.js +10 -0
  398. package/dist/esm/ui/issue-like-table/table-cell-content/get-linked-cell-content.js +22 -0
  399. package/dist/esm/ui/issue-like-table/table-cell-content/inline-edit.js +5 -36
  400. package/dist/esm/ui/issue-like-table/table-cell-content/is-issue-type-column-fn.js +3 -0
  401. package/dist/esm/ui/issue-like-table/table-cell-content/linked-cell-content-wrapped.js +18 -0
  402. package/dist/esm/ui/issue-like-table/table-cell-content/new-get-backend-update-value.js +32 -0
  403. package/dist/esm/ui/issue-like-table/table-cell-content/read-only-cell.js +43 -0
  404. package/dist/esm/ui/issue-like-table/table-cell-content/table-cell-content-props.js +1 -0
  405. package/dist/esm/ui/issue-like-table/table-cell-content/table-cell-content.js +144 -0
  406. package/dist/esm/ui/issue-like-table/table-cell-content/tooltip-wrapper.js +30 -0
  407. package/dist/esm/ui/issue-like-table/table-settings-menu/{index.js → TableSettingsMenu.js} +5 -8
  408. package/dist/esm/ui/issue-like-table/table-settings-menu/hasAvailableTableSettings.js +9 -0
  409. package/dist/esm/ui/issue-like-table/{custom-icons.js → unwrap-text-icon.js} +0 -23
  410. package/dist/esm/ui/issue-like-table/utils.js +1 -74
  411. package/dist/esm/ui/issue-like-table/wrap-text-icon.js +15 -0
  412. package/dist/esm/ui/jira-issues-modal/JiraIssuesConfigModalWithWrappers.js +15 -0
  413. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/getAssigneeUnassignedFilterOption.js +8 -0
  414. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.js +4 -9
  415. package/dist/esm/ui/jira-issues-modal/basic-filters/hooks/useHydrateJqlQuery.js +3 -3
  416. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/checkAndConvertToAbsoluteUrl.js +9 -0
  417. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/getLozengeAppearance.js +7 -0
  418. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/isClauseTooComplex.js +1 -7
  419. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/isColorName.js +4 -0
  420. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/isNonNullSelectOption.js +3 -0
  421. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToFilterOptions.js +15 -0
  422. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToPageCursor.js +5 -0
  423. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToTotalCount.js +5 -0
  424. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/mapHydrateResponseData.js +26 -0
  425. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/mapNodeToOption.js +59 -0
  426. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/removeFuzzyCharacter.js +7 -0
  427. package/dist/esm/ui/jira-issues-modal/index.js +13 -16
  428. package/dist/esm/ui/jira-issues-modal/jira-search-container/index.js +2 -2
  429. package/dist/esm/ui/jira-issues-modal/modal/index.js +8 -6
  430. package/dist/esm/ui/table-footer/index.js +2 -1
  431. package/dist/types/analytics/index.d.ts +0 -1
  432. package/dist/types/analytics/ufoExperiences/addMetadataToExperience.d.ts +2 -0
  433. package/dist/types/analytics/ufoExperiences/columnPickerCustomExperienceConfig.d.ts +1 -0
  434. package/dist/types/analytics/ufoExperiences/datasourcePageSegmentLoadExperienceConfig.d.ts +1 -0
  435. package/dist/types/analytics/ufoExperiences/failUfoExperience.d.ts +2 -0
  436. package/dist/types/analytics/ufoExperiences/inlineEditCustomExperienceConfig.d.ts +1 -0
  437. package/dist/types/analytics/ufoExperiences/startUfoExperience.d.ts +2 -0
  438. package/dist/types/analytics/ufoExperiences/succeedUfoExperience.d.ts +2 -0
  439. package/dist/types/analytics/ufoExperiences/ufoExperiences.d.ts +3 -0
  440. package/dist/types/contexts/datasource-experience-id/datasource-experience-id-context.d.ts +2 -0
  441. package/dist/types/contexts/datasource-experience-id/datasource-experience-id-provider.d.ts +2 -0
  442. package/dist/types/contexts/datasource-experience-id/use-datasource-experience-id.d.ts +1 -0
  443. package/dist/types/contexts/user-interactions/types.d.ts +5 -0
  444. package/dist/types/contexts/user-interactions/use-user-interactions.d.ts +8 -0
  445. package/dist/types/contexts/user-interactions/user-interactions-context.d.ts +3 -0
  446. package/dist/types/contexts/user-interactions/user-interactions-provider.d.ts +2 -0
  447. package/dist/types/hooks/logToSentry.d.ts +9 -0
  448. package/dist/types/hooks/useErrorLogger.d.ts +0 -8
  449. package/dist/types/services/FetchError.d.ts +4 -0
  450. package/dist/types/services/PermissionError.d.ts +3 -0
  451. package/dist/types/services/__clearMetaCacheForTests.d.ts +4 -0
  452. package/dist/types/services/cmdbService.d.ts +1 -12
  453. package/dist/types/services/fetchObjectSchema.d.ts +3 -0
  454. package/dist/types/services/fetchObjectSchemas.d.ts +3 -0
  455. package/dist/types/services/getMeta.d.ts +4 -3
  456. package/dist/types/services/getStatusCodeGroup.d.ts +1 -0
  457. package/dist/types/services/getWorkspaceId.d.ts +2 -0
  458. package/dist/types/services/mapFetchErrors.d.ts +1 -0
  459. package/dist/types/services/resolvePrimaryWorkspace.d.ts +3 -0
  460. package/dist/types/services/validateAql.d.ts +5 -0
  461. package/dist/types/state/actions/index.d.ts +2 -28
  462. package/dist/types/state/actions/useDiscoverActions.d.ts +13 -0
  463. package/dist/types/state/actions/useExecuteAtomicAction.d.ts +21 -0
  464. package/dist/types/ui/assets-modal/AssetsConfigModalWithWrappers.d.ts +3 -0
  465. package/dist/types/ui/assets-modal/index.d.ts +9 -3
  466. package/dist/types/ui/assets-modal/modal/render-assets-content/index.d.ts +4 -0
  467. package/dist/types/ui/common/modal/count-view-smart-link/{index.d.ts → smart-card-placeholder.d.ts} +0 -3
  468. package/dist/types/ui/common/modal/count-view-smart-link/smart-link.d.ts +4 -0
  469. package/dist/types/ui/common/modal/datasource-context/DatasourceContext.d.ts +3 -0
  470. package/dist/types/ui/common/modal/datasource-context/DatasourceContextProvider.d.ts +4 -0
  471. package/dist/types/ui/common/modal/datasource-context/DatasourceContextProviderProps.d.ts +14 -0
  472. package/dist/types/ui/common/modal/datasource-context/DatasourceContextValue.d.ts +13 -0
  473. package/dist/types/ui/common/modal/datasource-context/useDatasourceContext.d.ts +3 -0
  474. package/dist/types/ui/common/modal/mode-switcher/DatasourceViewModeDropDown.d.ts +5 -0
  475. package/dist/types/ui/common/modal/mode-switcher/DatasourceViewModeProvider.d.ts +7 -0
  476. package/dist/types/ui/common/modal/mode-switcher/{index.d.ts → ModeSwitcher.d.ts} +5 -2
  477. package/dist/types/ui/common/modal/mode-switcher/useViewModeContext.d.ts +1 -5
  478. package/dist/types/ui/common/modal/popup-select/CustomControl.d.ts +4 -0
  479. package/dist/types/ui/common/modal/popup-select/control.d.ts +1 -4
  480. package/dist/types/ui/common/modal/search-count/AssetsItemCount.d.ts +3 -0
  481. package/dist/types/ui/common/modal/search-count/ItemCountWrapper.d.ts +5 -0
  482. package/dist/types/ui/common/modal/search-count/index.d.ts +1 -2
  483. package/dist/types/ui/confluence-search-modal/ConfluenceSearchConfigModalWithWrappers.d.ts +3 -0
  484. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/{utils.d.ts → getCurrentOptionLabel.d.ts} +0 -3
  485. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/getDropdownLabel.d.ts +3 -0
  486. package/dist/types/ui/confluence-search-modal/basic-filters/filters/date-range-picker/useInvalidDateRange.d.ts +2 -0
  487. package/dist/types/ui/confluence-search-modal/index.d.ts +9 -3
  488. package/dist/types/ui/confluence-search-modal/modal/ConfluenceSearchConfigModal.d.ts +3 -0
  489. package/dist/types/ui/confluence-search-modal/modal/PlainConfluenceSearchConfigModal.d.ts +3 -0
  490. package/dist/types/ui/datasource-table-view/DatasourceTableViewWithWrappers.d.ts +3 -0
  491. package/dist/types/ui/datasource-table-view/datasource-column-sort.d.ts +0 -1
  492. package/dist/types/ui/datasource-table-view/index.d.ts +9 -3
  493. package/dist/types/ui/issue-like-table/column-picker/concatenated-menu-list.d.ts +5 -2
  494. package/dist/types/ui/issue-like-table/column-picker/menu-item.d.ts +6 -0
  495. package/dist/types/ui/issue-like-table/edit-type/editType.d.ts +11 -0
  496. package/dist/types/ui/issue-like-table/edit-type/index.d.ts +1 -15
  497. package/dist/types/ui/issue-like-table/edit-type/isEditTypeSelectable.d.ts +2 -0
  498. package/dist/types/ui/issue-like-table/edit-type/isEditTypeSupported.d.ts +2 -0
  499. package/dist/types/ui/issue-like-table/edit-type/toValueType.d.ts +2 -0
  500. package/dist/types/ui/issue-like-table/get-cleaned-select-props.d.ts +17 -0
  501. package/dist/types/ui/issue-like-table/get-column-action.d.ts +6 -0
  502. package/dist/types/ui/issue-like-table/get-column-min-width.d.ts +1 -0
  503. package/dist/types/ui/issue-like-table/get-field-label-by-id.d.ts +4 -0
  504. package/dist/types/ui/issue-like-table/get-ordered-columns.d.ts +6 -0
  505. package/dist/types/ui/issue-like-table/get-width-css.d.ts +11 -0
  506. package/dist/types/ui/issue-like-table/{custom-icons.d.ts → glyph-placeholder.d.ts} +0 -2
  507. package/dist/types/ui/issue-like-table/index.d.ts +4 -4
  508. package/dist/types/ui/issue-like-table/issue-like-data-table-view.d.ts +6 -0
  509. package/dist/types/ui/issue-like-table/render-type/date-range/getFormattedDateRange.d.ts +2 -0
  510. package/dist/types/ui/issue-like-table/render-type/date-range/index.d.ts +0 -2
  511. package/dist/types/ui/issue-like-table/render-type/date-time/getFormattedDate.d.ts +2 -0
  512. package/dist/types/ui/issue-like-table/render-type/date-time/index.d.ts +0 -2
  513. package/dist/types/ui/issue-like-table/render-type/index.d.ts +8 -5
  514. package/dist/types/ui/issue-like-table/render-type/renderType.d.ts +2 -0
  515. package/dist/types/ui/issue-like-table/render-type/richtext/index.d.ts +4 -1
  516. package/dist/types/ui/issue-like-table/render-type/richtext/parseRichText.d.ts +6 -0
  517. package/dist/types/ui/issue-like-table/render-type/stringifyType.d.ts +3 -0
  518. package/dist/types/ui/issue-like-table/table-cell-content/get-issue-link-data.d.ts +7 -0
  519. package/dist/types/ui/issue-like-table/table-cell-content/get-linked-cell-content.d.ts +7 -0
  520. package/dist/types/ui/issue-like-table/table-cell-content/inline-edit.d.ts +0 -5
  521. package/dist/types/ui/issue-like-table/table-cell-content/is-issue-type-column-fn.d.ts +1 -0
  522. package/dist/types/ui/issue-like-table/table-cell-content/linked-cell-content-wrapped.d.ts +6 -0
  523. package/dist/types/ui/issue-like-table/table-cell-content/new-get-backend-update-value.d.ts +6 -0
  524. package/dist/types/ui/issue-like-table/table-cell-content/read-only-cell.d.ts +3 -0
  525. package/dist/types/ui/issue-like-table/table-cell-content/{index.d.ts → table-cell-content-props.d.ts} +1 -5
  526. package/dist/types/ui/issue-like-table/table-cell-content/table-cell-content.d.ts +2 -0
  527. package/dist/types/ui/issue-like-table/table-cell-content/tooltip-wrapper.d.ts +1 -0
  528. package/dist/types/ui/issue-like-table/table-settings-menu/{index.d.ts → TableSettingsMenu.d.ts} +5 -2
  529. package/dist/types/ui/issue-like-table/table-settings-menu/hasAvailableTableSettings.d.ts +6 -0
  530. package/dist/types/ui/issue-like-table/unwrap-text-icon.d.ts +2 -0
  531. package/dist/types/ui/issue-like-table/utils.d.ts +0 -38
  532. package/dist/types/ui/issue-like-table/wrap-text-icon.d.ts +2 -0
  533. package/dist/types/ui/jira-issues-modal/JiraIssuesConfigModalWithWrappers.d.ts +3 -0
  534. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/getAssigneeUnassignedFilterOption.d.ts +3 -0
  535. package/dist/types/ui/jira-issues-modal/basic-filters/hooks/useFilterOptions.d.ts +1 -3
  536. package/dist/types/ui/jira-issues-modal/basic-filters/utils/checkAndConvertToAbsoluteUrl.d.ts +1 -0
  537. package/dist/types/ui/jira-issues-modal/basic-filters/utils/getLozengeAppearance.d.ts +2 -0
  538. package/dist/types/ui/jira-issues-modal/basic-filters/utils/isClauseTooComplex.d.ts +0 -1
  539. package/dist/types/ui/jira-issues-modal/basic-filters/utils/isColorName.d.ts +2 -0
  540. package/dist/types/ui/jira-issues-modal/basic-filters/utils/isNonNullSelectOption.d.ts +2 -0
  541. package/dist/types/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToFilterOptions.d.ts +5 -0
  542. package/dist/types/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToPageCursor.d.ts +2 -0
  543. package/dist/types/ui/jira-issues-modal/basic-filters/utils/mapFieldValuesToTotalCount.d.ts +2 -0
  544. package/dist/types/ui/jira-issues-modal/basic-filters/utils/mapHydrateResponseData.d.ts +2 -0
  545. package/dist/types/ui/jira-issues-modal/basic-filters/utils/mapNodeToOption.d.ts +5 -0
  546. package/dist/types/ui/jira-issues-modal/basic-filters/utils/removeFuzzyCharacter.d.ts +1 -0
  547. package/dist/types/ui/jira-issues-modal/index.d.ts +9 -3
  548. package/dist/types/ui/jira-issues-modal/jira-search-container/index.d.ts +4 -0
  549. package/dist/types/ui/table-footer/index.d.ts +4 -0
  550. package/elements/package.json +4 -4
  551. package/elements/render-type/package.json +4 -4
  552. package/examples-helpers/buildIssueLikeTable.tsx +3 -2
  553. package/examples-helpers/buildIssueLikeTableLoadingError.tsx +1 -1
  554. package/examples-helpers/buildJiraIssuesTable.tsx +1 -1
  555. package/jira-issues-config-modal-with-wrappers/package.json +10 -0
  556. package/jira-issues-modal/package.json +4 -4
  557. package/jira-issues-modal/types/package.json +4 -4
  558. package/package.json +8 -36
  559. package/types/package.json +4 -4
  560. package/ui/issue-like-table/render-type/render-type/package.json +10 -0
  561. package/ui/issue-like-table/render-type/stringify-type/package.json +10 -0
  562. package/utils/schema/package.json +4 -4
  563. package/dist/cjs/analytics/ufoExperiences/index.js +0 -64
  564. package/dist/cjs/elements.js +0 -12
  565. package/dist/cjs/entry-points/analytics-render-failed.js +0 -12
  566. package/dist/cjs/entry-points/assets-modal.js +0 -20
  567. package/dist/cjs/entry-points/confluence-search-modal.js +0 -20
  568. package/dist/cjs/entry-points/datasource-table-view.js +0 -13
  569. package/dist/cjs/entry-points/elements-render-type.js +0 -12
  570. package/dist/cjs/entry-points/jira-issues-modal.js +0 -20
  571. package/dist/cjs/entry-points/types.js +0 -1
  572. package/dist/cjs/entry-points/utils-schema.js +0 -12
  573. package/dist/cjs/ui/issue-like-table/table-cell-content/index.js +0 -259
  574. package/dist/cjs/ui/jira-issues-modal/basic-filters/index.js +0 -13
  575. package/dist/cjs/ui/jira-issues-modal/basic-filters/utils/transformers.js +0 -132
  576. package/dist/es2019/analytics/ufoExperiences/index.js +0 -62
  577. package/dist/es2019/contexts/datasource-experience-id/index.js +0 -22
  578. package/dist/es2019/contexts/user-interactions/index.js +0 -33
  579. package/dist/es2019/elements.js +0 -2
  580. package/dist/es2019/entry-points/analytics-render-failed.js +0 -1
  581. package/dist/es2019/entry-points/assets-modal.js +0 -1
  582. package/dist/es2019/entry-points/confluence-search-modal.js +0 -1
  583. package/dist/es2019/entry-points/datasource-table-view.js +0 -1
  584. package/dist/es2019/entry-points/elements-render-type.js +0 -1
  585. package/dist/es2019/entry-points/jira-issues-modal.js +0 -1
  586. package/dist/es2019/entry-points/types.js +0 -0
  587. package/dist/es2019/entry-points/utils-schema.js +0 -1
  588. package/dist/es2019/services/cmdbService.utils.js +0 -39
  589. package/dist/es2019/ui/confluence-search-modal/basic-filters/filters/date-range-picker/utils.js +0 -59
  590. package/dist/es2019/ui/issue-like-table/table-cell-content/index.js +0 -259
  591. package/dist/es2019/ui/jira-issues-modal/basic-filters/index.js +0 -1
  592. package/dist/es2019/ui/jira-issues-modal/basic-filters/utils/transformers.js +0 -127
  593. package/dist/esm/analytics/ufoExperiences/index.js +0 -58
  594. package/dist/esm/contexts/datasource-experience-id/index.js +0 -23
  595. package/dist/esm/contexts/user-interactions/index.js +0 -34
  596. package/dist/esm/elements.js +0 -2
  597. package/dist/esm/entry-points/analytics-render-failed.js +0 -1
  598. package/dist/esm/entry-points/assets-modal.js +0 -1
  599. package/dist/esm/entry-points/confluence-search-modal.js +0 -1
  600. package/dist/esm/entry-points/datasource-table-view.js +0 -1
  601. package/dist/esm/entry-points/elements-render-type.js +0 -1
  602. package/dist/esm/entry-points/jira-issues-modal.js +0 -1
  603. package/dist/esm/entry-points/types.js +0 -0
  604. package/dist/esm/entry-points/utils-schema.js +0 -1
  605. package/dist/esm/ui/confluence-search-modal/basic-filters/filters/date-range-picker/utils.js +0 -61
  606. package/dist/esm/ui/issue-like-table/table-cell-content/index.js +0 -252
  607. package/dist/esm/ui/jira-issues-modal/basic-filters/index.js +0 -1
  608. package/dist/esm/ui/jira-issues-modal/basic-filters/utils/transformers.js +0 -122
  609. package/dist/types/analytics/ufoExperiences/index.d.ts +0 -5
  610. package/dist/types/contexts/datasource-experience-id/index.d.ts +0 -4
  611. package/dist/types/contexts/user-interactions/index.d.ts +0 -15
  612. package/dist/types/elements.d.ts +0 -2
  613. package/dist/types/entry-points/analytics-render-failed.d.ts +0 -1
  614. package/dist/types/entry-points/assets-modal-types.d.ts +0 -1
  615. package/dist/types/entry-points/assets-modal.d.ts +0 -1
  616. package/dist/types/entry-points/confluence-search-modal-types.d.ts +0 -1
  617. package/dist/types/entry-points/confluence-search-modal.d.ts +0 -1
  618. package/dist/types/entry-points/datasource-table-view.d.ts +0 -1
  619. package/dist/types/entry-points/elements-render-type.d.ts +0 -1
  620. package/dist/types/entry-points/jira-issues-modal-types.d.ts +0 -1
  621. package/dist/types/entry-points/jira-issues-modal.d.ts +0 -1
  622. package/dist/types/entry-points/types.d.ts +0 -1
  623. package/dist/types/entry-points/utils-schema.d.ts +0 -1
  624. package/dist/types/services/cmdbService.utils.d.ts +0 -9
  625. package/dist/types/ui/common/modal/datasource-context/index.d.ts +0 -27
  626. package/dist/types/ui/confluence-search-modal/modal/index.d.ts +0 -4
  627. package/dist/types/ui/jira-issues-modal/basic-filters/index.d.ts +0 -1
  628. package/dist/types/ui/jira-issues-modal/basic-filters/utils/transformers.d.ts +0 -8
  629. /package/dist/cjs/{entry-points/assets-modal-types.js → contexts/user-interactions/types.js} +0 -0
  630. /package/dist/cjs/ui/common/modal/count-view-smart-link/{index.compiled.css → smart-card-placeholder.compiled.css} +0 -0
  631. /package/dist/cjs/{entry-points/confluence-search-modal-types.js → ui/common/modal/datasource-context/DatasourceContextProviderProps.js} +0 -0
  632. /package/dist/cjs/{entry-points/jira-issues-modal-types.js → ui/common/modal/datasource-context/DatasourceContextValue.js} +0 -0
  633. /package/dist/cjs/ui/common/modal/mode-switcher/{index.compiled.css → ModeSwitcher.compiled.css} +0 -0
  634. /package/dist/cjs/ui/common/modal/popup-select/{control.compiled.css → CustomControl.compiled.css} +0 -0
  635. /package/dist/cjs/ui/common/modal/search-count/{index.compiled.css → ItemCountWrapper.compiled.css} +0 -0
  636. /package/dist/cjs/ui/confluence-search-modal/modal/{index.compiled.css → PlainConfluenceSearchConfigModal.compiled.css} +0 -0
  637. /package/dist/cjs/ui/issue-like-table/{index.compiled.css → issue-like-data-table-view.compiled.css} +0 -0
  638. /package/dist/cjs/ui/issue-like-table/table-cell-content/{index.compiled.css → table-cell-content.compiled.css} +0 -0
  639. /package/dist/cjs/ui/issue-like-table/table-settings-menu/{index.compiled.css → TableSettingsMenu.compiled.css} +0 -0
  640. /package/dist/es2019/{entry-points/assets-modal-types.js → contexts/user-interactions/types.js} +0 -0
  641. /package/dist/es2019/ui/common/modal/count-view-smart-link/{index.compiled.css → smart-card-placeholder.compiled.css} +0 -0
  642. /package/dist/es2019/{entry-points/confluence-search-modal-types.js → ui/common/modal/datasource-context/DatasourceContextProviderProps.js} +0 -0
  643. /package/dist/es2019/{entry-points/jira-issues-modal-types.js → ui/common/modal/datasource-context/DatasourceContextValue.js} +0 -0
  644. /package/dist/es2019/ui/common/modal/mode-switcher/{index.compiled.css → ModeSwitcher.compiled.css} +0 -0
  645. /package/dist/es2019/ui/common/modal/popup-select/{control.compiled.css → CustomControl.compiled.css} +0 -0
  646. /package/dist/es2019/ui/common/modal/search-count/{index.compiled.css → ItemCountWrapper.compiled.css} +0 -0
  647. /package/dist/es2019/ui/confluence-search-modal/modal/{index.compiled.css → PlainConfluenceSearchConfigModal.compiled.css} +0 -0
  648. /package/dist/es2019/ui/issue-like-table/{index.compiled.css → issue-like-data-table-view.compiled.css} +0 -0
  649. /package/dist/{esm/entry-points/assets-modal-types.js → es2019/ui/issue-like-table/table-cell-content/table-cell-content-props.js} +0 -0
  650. /package/dist/es2019/ui/issue-like-table/table-cell-content/{index.compiled.css → table-cell-content.compiled.css} +0 -0
  651. /package/dist/es2019/ui/issue-like-table/table-settings-menu/{index.compiled.css → TableSettingsMenu.compiled.css} +0 -0
  652. /package/dist/esm/{entry-points/confluence-search-modal-types.js → contexts/user-interactions/types.js} +0 -0
  653. /package/dist/esm/ui/common/modal/count-view-smart-link/{index.compiled.css → smart-card-placeholder.compiled.css} +0 -0
  654. /package/dist/esm/{entry-points/jira-issues-modal-types.js → ui/common/modal/datasource-context/DatasourceContextProviderProps.js} +0 -0
  655. /package/dist/esm/ui/common/modal/mode-switcher/{index.compiled.css → ModeSwitcher.compiled.css} +0 -0
  656. /package/dist/esm/ui/common/modal/popup-select/{control.compiled.css → CustomControl.compiled.css} +0 -0
  657. /package/dist/esm/ui/common/modal/search-count/{index.compiled.css → ItemCountWrapper.compiled.css} +0 -0
  658. /package/dist/esm/ui/confluence-search-modal/modal/{index.compiled.css → PlainConfluenceSearchConfigModal.compiled.css} +0 -0
  659. /package/dist/esm/ui/issue-like-table/{index.compiled.css → issue-like-data-table-view.compiled.css} +0 -0
  660. /package/dist/esm/ui/issue-like-table/table-cell-content/{index.compiled.css → table-cell-content.compiled.css} +0 -0
  661. /package/dist/esm/ui/issue-like-table/table-settings-menu/{index.compiled.css → TableSettingsMenu.compiled.css} +0 -0
@@ -0,0 +1,708 @@
1
+ /* issue-like-data-table-view.tsx generated by @compiled/babel-plugin v2.0.0 */
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import "./issue-like-data-table-view.compiled.css";
4
+ import { forwardRef } from 'react';
5
+ import * as React from 'react';
6
+ import { ax, ix } from "@compiled/react/runtime";
7
+ /* eslint-disable @atlaskit/design-system/use-tokens-typography */
8
+
9
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
10
+ import { useIntl } from 'react-intl';
11
+ import invariant from 'tiny-invariant';
12
+ import Button from '@atlaskit/button/default/button';
13
+ import { FlagsProvider } from '@atlaskit/flag/flags-provider';
14
+ import SortAscendingIcon from '@atlaskit/icon/core/sort-ascending';
15
+ import SortDescendingIcon from '@atlaskit/icon/core/sort-descending';
16
+ import { Skeleton } from '@atlaskit/linking-common';
17
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
18
+ import { extractClosestEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge/extract-closest-edge';
19
+ import { reorderWithEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/util/reorder-with-edge';
20
+ import { autoScroller } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll/auto-scroller';
21
+ import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter';
22
+ import { combine } from '@atlaskit/pragmatic-drag-and-drop/utils/combine';
23
+ import { Box, Inline } from '@atlaskit/primitives/compiled';
24
+ import Tooltip from '@atlaskit/tooltip/Tooltip';
25
+ import { startUfoExperience } from '../../analytics/ufoExperiences/startUfoExperience';
26
+ import { succeedUfoExperience } from '../../analytics/ufoExperiences/succeedUfoExperience';
27
+ import { useDatasourceExperienceId } from '../../contexts/datasource-experience-id/use-datasource-experience-id';
28
+ import { useIsInPDFRender } from '../../hooks/useIsInPDFRender';
29
+ import { NoResults } from '../common/error-state/no-results';
30
+ import { ColumnPicker } from './column-picker';
31
+ import { DragColumnPreview } from './drag-column-preview';
32
+ import { DraggableTableHeading } from './draggable-table-heading';
33
+ import { getFieldLabelById } from './get-field-label-by-id';
34
+ import { getOrderedColumns } from './get-ordered-columns';
35
+ import { getWidthCss } from './get-width-css';
36
+ import { issueLikeTableMessages } from './messages';
37
+ import { renderType } from './render-type/renderType';
38
+ import { TableCellContent } from './table-cell-content/table-cell-content';
39
+ import { TableSettingsMenu } from './table-settings-menu/TableSettingsMenu';
40
+ import { hasAvailableTableSettings } from './table-settings-menu/hasAvailableTableSettings';
41
+ import { useIsOnScreen } from './useIsOnScreen';
42
+ import { COLUMN_BASE_WIDTH } from './utils';
43
+ const tableSidePadding = "var(--ds-space-200, 16px)";
44
+ const columnPickerWidth = 80;
45
+ const columnPickerWithSettingsWidth = 95;
46
+ const tableHeadStyles = null;
47
+
48
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
49
+ const ColumnPickerHeader = forwardRef(({
50
+ as: C = "th",
51
+ style: __cmpls,
52
+ ...__cmplp
53
+ }, __cmplr) => {
54
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
55
+ style: __cmpls,
56
+ ref: __cmplr,
57
+ className: ax(["_1bqmidpf _2eacidpf _1rmlidpf _13xs13hi _19xw13hi _ex0g13hi _1rag1uh4 _1ul51uh4 _12ch1uh4 _12ruusvi _1pmsusvi _7okwusvi _mgulys9h _2k51ys9h _efqoys9h _1xzrzo7u _1ejpzo7u _1fmczo7u _77i31if8 _zjk41if8 _7s0n1if8 _3t471vc6 _9g2k1vc6 _1h0z1vc6 _1o59pxbi _1l3vpxbi _gdprpxbi _ml92nkob _1nfwnkob _11ljnkob _1ixkusic _s1peusic _mowjusic", __cmplp.className])
58
+ }));
59
+ });
60
+
61
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
62
+ if (process.env.NODE_ENV !== 'production') {
63
+ ColumnPickerHeader.displayName = 'ColumnPickerHeader';
64
+ }
65
+ const ColumnPickerHeaderWithSettings = forwardRef(({
66
+ as: C = "th",
67
+ style: __cmpls,
68
+ ...__cmplp
69
+ }, __cmplr) => {
70
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
71
+ style: __cmpls,
72
+ ref: __cmplr,
73
+ className: ax(["_1bqmidpf _2eacidpf _1rmlidpf _13xs13hi _19xw13hi _ex0g13hi _1rag1uh4 _1ul51uh4 _12ch1uh4 _12ruusvi _1pmsusvi _7okwusvi _mgul14em _2k5114em _efqo14em _1xzrzo7u _1ejpzo7u _1fmczo7u _77i31if8 _zjk41if8 _7s0n1if8 _3t471vc6 _9g2k1vc6 _1h0z1vc6 _1o59pxbi _1l3vpxbi _gdprpxbi _ml92nkob _1nfwnkob _11ljnkob _1ixkusic _s1peusic _mowjusic", __cmplp.className])
74
+ }));
75
+ });
76
+ if (process.env.NODE_ENV !== 'production') {
77
+ ColumnPickerHeaderWithSettings.displayName = 'ColumnPickerHeaderWithSettings';
78
+ }
79
+ const truncateStyles = null;
80
+ const wrappedStyles = null;
81
+ const richTextCellStyles = null;
82
+ const tableContainerStyles = null;
83
+
84
+ // The cell spans every column, so it is as wide as the scrollable table rather than the part of it
85
+ // that is on screen. Sticking to the left edge of the scrollport keeps the empty state centred on
86
+ // what the user can actually see while the headers still scroll behind it.
87
+ const noResultsCellContentStyles = null;
88
+ const getHorizontalScrollParent = element => {
89
+ let current = element;
90
+ while (current) {
91
+ const {
92
+ overflowX
93
+ } = getComputedStyle(current);
94
+ if (overflowX === 'auto' || overflowX === 'scroll') {
95
+ return current;
96
+ }
97
+ current = current.parentElement;
98
+ }
99
+ };
100
+
101
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled
102
+ const Table = forwardRef(({
103
+ as: C = "table",
104
+ style: __cmpls,
105
+ ...__cmplp
106
+ }, __cmplr) => {
107
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
108
+ style: __cmpls,
109
+ ref: __cmplr,
110
+ className: ax(["_1bsb1osq", __cmplp.className])
111
+ }));
112
+ });
113
+
114
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled
115
+ if (process.env.NODE_ENV !== 'production') {
116
+ Table.displayName = 'Table';
117
+ }
118
+ const TableHeading = forwardRef(({
119
+ as: C = "th",
120
+ style: __cmpls,
121
+ ...__cmplp
122
+ }, __cmplr) => {
123
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
124
+ style: __cmpls,
125
+ ref: __cmplr,
126
+ className: ax(["_19itidpf _aks5idpf _1u3bidpf _1s7z1gk9 _1o9m1gk9 _1oup1gk9 _n7zl1uh4 _1fqk1uh4 _1vvv1uh4 _kqswh2mm _rc4eh2mm _q46wh2mm _vchhusvi _1wwnusvi _1gbausvi _vwz41tcg _s99e1tcg _3mvc1tcg _ca0qv77o _7cz2v77o _pcwyv77o _u5f31b66 _1pmc1b66 _11ep1b66 _n3tdv77o _6dd7v77o _191qv77o _19bv1b66 _9iya1b66 _15hu1b66 _4t3iqagn _qccgqagn _xo89qagn _s7n4yfq0 _ntwryfq0 _3eneyfq0 _bfhkchd4 _i7olchd4 _1oe6chd4 _12pn15vq _198v15vq _lura1osq _11681tcg _ab8av77o _11j11b66 _1xanv77o _8lvj1b66 _iscccj1k _1nd0cs5v _1t0u1e54 _1eqz4jg8 _95ex1hna _1hkzidpf _1r3pidpf _10i2idpf _1ls2idpf _ocbzidpf _3tfiidpf _1lhc1b66 _n2z81b66 _3ixo1b66", __cmplp.className])
127
+ }));
128
+ });
129
+
130
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled
131
+ if (process.env.NODE_ENV !== 'production') {
132
+ TableHeading.displayName = 'TableHeading';
133
+ }
134
+ const InlineEditableTableCell = forwardRef(({
135
+ as: C = "td",
136
+ style: __cmpls,
137
+ ...__cmplp
138
+ }, __cmplr) => {
139
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
140
+ style: __cmpls,
141
+ ref: __cmplr,
142
+ className: ax(["_11c8fhey _1otxfhey _1wi1fhey _19itidpf _1i5zidpf _aifmidpf _1s7zia51 _1xqpia51 _mxouia51 _n7zlia51 _15lria51 _itmmia51 _ca0qze3t _7jflze3t _1ikkze3t _u5f3ze3t _1cngze3t _1h12ze3t _n3tdze3t _v6nkze3t _jivqze3t _19bvze3t _krvdze3t _1w1yze3t _1ul91wug _1lkc1wug _1jcm1wug _4t3i1ylp _1ugg1ylp _lt6w1ylp _s7n41kw7 _11nx1kw7 _18a21kw7 _vchh1ntv _16601ntv _1qd91ntv _1ls2idpf _1ho1idpf _1y4pidpf _1cimn7od _124in7od", __cmplp.className])
143
+ }));
144
+ });
145
+
146
+ /**
147
+ * Following section deals with slight gradient shadows that we add
148
+ * on all four sides when there is more content in that direction.
149
+ *
150
+ * We do that by applying two gradients to the background -
151
+ * one is "static" ('local') and other is "sticky" ('scroll'). \
152
+ * "Static" one makes a white color gradient, that when window is at the end of scrollable area goes on top
153
+ * of "sticky" (gray) one, dominating and hence disabling sticky one.
154
+ */
155
+ if (process.env.NODE_ENV !== 'production') {
156
+ InlineEditableTableCell.displayName = 'InlineEditableTableCell';
157
+ }
158
+ const scrollableContainerStyles = null;
159
+ const tableStyles = null;
160
+
161
+ // By default tbody and thead have border-bottom: 2px ...
162
+ // This removes it, because for header we handle it via `th` styling and footer supply bottom border
163
+ const noDefaultBorderStyles = null;
164
+ const headerStyles = null;
165
+ const headingHoverEffectStyles = null;
166
+
167
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- Matches DraggableTableHeading button normalization.
168
+ const SortableHeaderParent = forwardRef(({
169
+ as: C = "div",
170
+ style: __cmpls,
171
+ ...__cmplp
172
+ }, __cmplr) => {
173
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
174
+ style: __cmpls,
175
+ ref: __cmplr,
176
+ className: ax(["_1e0c1txw _4cvr1h6o _o5721q9c _1wtnze3t _ficf1e5h _jq8g1wug _11lvze3t _yhjm1b66", __cmplp.className])
177
+ }));
178
+ });
179
+ if (process.env.NODE_ENV !== 'production') {
180
+ SortableHeaderParent.displayName = 'SortableHeaderParent';
181
+ }
182
+ function extractIndex(data) {
183
+ const {
184
+ index
185
+ } = data;
186
+ invariant(typeof index === 'number');
187
+ return index;
188
+ }
189
+ const DEFAULT_WIDTH = COLUMN_BASE_WIDTH * 22;
190
+ const keyBasedWidthMap = {
191
+ priority: COLUMN_BASE_WIDTH * 12.5,
192
+ // 100px
193
+ status: COLUMN_BASE_WIDTH * 12.5,
194
+ summary: COLUMN_BASE_WIDTH * 45,
195
+ description: COLUMN_BASE_WIDTH * 31,
196
+ type: COLUMN_BASE_WIDTH * 6,
197
+ issuetype: COLUMN_BASE_WIDTH * 6,
198
+ key: COLUMN_BASE_WIDTH * 15
199
+ };
200
+ function getDefaultColumnWidth(key, type) {
201
+ const keyBasedWidth = keyBasedWidthMap[key];
202
+ if (keyBasedWidth) {
203
+ return keyBasedWidth;
204
+ }
205
+ switch (type) {
206
+ case 'date':
207
+ return COLUMN_BASE_WIDTH * 16;
208
+ case 'icon':
209
+ return COLUMN_BASE_WIDTH * 7;
210
+ default:
211
+ return DEFAULT_WIDTH;
212
+ }
213
+ }
214
+ export const IssueLikeDataTableView = ({
215
+ testId,
216
+ onNextPage,
217
+ onLoadDatasourceDetails,
218
+ items,
219
+ itemIds,
220
+ columns,
221
+ renderItem = renderType,
222
+ visibleColumnKeys,
223
+ onVisibleColumnKeysChange,
224
+ columnCustomSizes,
225
+ onColumnResize,
226
+ onColumnSort,
227
+ wrappedColumnKeys,
228
+ onWrappedColumnChange,
229
+ onWrappedColumnsChange,
230
+ sortState,
231
+ status,
232
+ hasNextPage,
233
+ scrollableContainerHeight,
234
+ extensionKey
235
+ }) => {
236
+ var _containerRef$current;
237
+ const {
238
+ formatMessage
239
+ } = useIntl();
240
+ const tableId = useMemo(() => Symbol('unique-id'), []);
241
+ const experienceId = useDatasourceExperienceId();
242
+ const tableHeaderRowRef = useRef(null);
243
+ const [lastRowElement, setLastRowElement] = useState(null);
244
+ const [hasFullSchema, setHasFullSchema] = useState(false);
245
+ const isInPDFRender = useIsInPDFRender();
246
+ const isBottomOfTableVisibleRaw = useIsOnScreen(lastRowElement) && !isInPDFRender;
247
+ const containerRef = useRef(null);
248
+ const [orderedColumns, setOrderedColumns] = useState(() => getOrderedColumns([...columns], [...visibleColumnKeys]));
249
+ useEffect(() => {
250
+ if (orderedColumns.length !== columns.length) {
251
+ setOrderedColumns(getOrderedColumns([...columns], [...visibleColumnKeys]));
252
+ }
253
+ }, [columns, visibleColumnKeys, orderedColumns]);
254
+ useEffect(() => {
255
+ if (experienceId && status === 'resolved') {
256
+ succeedUfoExperience({
257
+ name: 'datasource-rendered'
258
+ }, experienceId);
259
+ }
260
+ }, [experienceId, status]);
261
+ const visibleSortedColumns = useMemo(() => visibleColumnKeys.map(visibleKey => orderedColumns.find(({
262
+ key
263
+ }) => visibleKey === key)).filter(Boolean), [orderedColumns, visibleColumnKeys]);
264
+ const isWrapTextSettingAvailable = Boolean(onWrappedColumnsChange) && fg('platform_lp_sllv_table_settings_menu');
265
+ let areAllVisibleColumnsWrapped = false;
266
+ if (isWrapTextSettingAvailable) {
267
+ areAllVisibleColumnsWrapped = visibleColumnKeys.length > 0 && visibleColumnKeys.every(columnKey => wrappedColumnKeys === null || wrappedColumnKeys === void 0 ? void 0 : wrappedColumnKeys.includes(columnKey));
268
+ }
269
+ const handleWrapTextOnAllColumnsChange = useCallback(() => {
270
+ if (!onWrappedColumnsChange) {
271
+ return;
272
+ }
273
+ const nextWrappedColumnKeys = areAllVisibleColumnsWrapped ? (wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 ? wrappedColumnKeys : []).filter(columnKey => !visibleColumnKeys.includes(columnKey)) : Array.from(new Set([...(wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 ? wrappedColumnKeys : []), ...visibleColumnKeys]));
274
+ onWrappedColumnsChange(nextWrappedColumnKeys);
275
+ }, [areAllVisibleColumnsWrapped, onWrappedColumnsChange, visibleColumnKeys, wrappedColumnKeys]);
276
+ const tableSettingsMenuProps = {
277
+ wrapTextSetting: isWrapTextSettingAvailable ? {
278
+ isChecked: areAllVisibleColumnsWrapped,
279
+ onChange: handleWrapTextOnAllColumnsChange
280
+ } : undefined
281
+ };
282
+ const shouldShowTableSettingsMenu = hasAvailableTableSettings(tableSettingsMenuProps);
283
+
284
+ // TODO seems like this component can't handle some combination of incremental data retrieval.
285
+ // If data comes first, then columns and then visibleColumnKeys it blows up,
286
+ // or some other combination.
287
+ const columnsWidthsSum = useMemo(() => visibleSortedColumns.map(({
288
+ key,
289
+ type
290
+ }) => (columnCustomSizes === null || columnCustomSizes === void 0 ? void 0 : columnCustomSizes[key]) || getDefaultColumnWidth(key, type)).reduce((sum, width) => width + sum, 0) + (onVisibleColumnKeysChange && shouldShowTableSettingsMenu ? columnPickerWithSettingsWidth : onVisibleColumnKeysChange ? columnPickerWidth : 0), [columnCustomSizes, onVisibleColumnKeysChange, shouldShowTableSettingsMenu, visibleSortedColumns]);
291
+ const shouldUseWidth = !!(onColumnResize || columnCustomSizes);
292
+ const tableContainerWidth = Math.ceil(((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.getBoundingClientRect().width) || 0);
293
+ const getColumnWidth = useCallback((key, type, isLastCell) => {
294
+ if (isLastCell && shouldUseWidth && tableContainerWidth && tableContainerWidth > columnsWidthsSum) {
295
+ return undefined;
296
+ } else {
297
+ return (columnCustomSizes === null || columnCustomSizes === void 0 ? void 0 : columnCustomSizes[key]) || getDefaultColumnWidth(key, type);
298
+ }
299
+ }, [columnCustomSizes, columnsWidthsSum, shouldUseWidth, tableContainerWidth]);
300
+ const headerColumns = useMemo(() => visibleSortedColumns.map(({
301
+ key,
302
+ title,
303
+ type
304
+ }, index) => ({
305
+ key,
306
+ content: title,
307
+ shouldTruncate: true,
308
+ width: getColumnWidth(key, type, index === visibleSortedColumns.length - 1)
309
+ })), [getColumnWidth, visibleSortedColumns]);
310
+ const loadingRow = useMemo(() => ({
311
+ key: 'loading',
312
+ cells: headerColumns.map(column => ({
313
+ content: /*#__PURE__*/React.createElement(Box, {
314
+ paddingInline: "space.100"
315
+ }, /*#__PURE__*/React.createElement(Skeleton, {
316
+ borderRadius: "var(--ds-radius-large, 8px)",
317
+ width: "100%",
318
+ height: 14,
319
+ testId: "issues-table-row-loading"
320
+ })),
321
+ key: column.key,
322
+ width: column.width
323
+ }))
324
+ }), [headerColumns]);
325
+ useEffect(() => {
326
+ if (isBottomOfTableVisibleRaw && hasNextPage && status === 'resolved') {
327
+ void onNextPage({
328
+ isSchemaFromData: false,
329
+ shouldForceRequest: true
330
+ });
331
+ }
332
+ }, [isBottomOfTableVisibleRaw, status, hasNextPage, onNextPage]);
333
+ useEffect(() => {
334
+ if (isInPDFRender && hasNextPage && status === 'resolved') {
335
+ setTimeout(() => {
336
+ onNextPage({
337
+ isSchemaFromData: false,
338
+ shouldRequestFirstPage: false
339
+ });
340
+ }, 10);
341
+ }
342
+ }, [isInPDFRender, onNextPage, status, hasNextPage]);
343
+ const hasData = items.length > 0;
344
+
345
+ // A resolved response with no items still carries column metadata, so the table can keep its
346
+ // headers and render the empty state where the rows would normally be.
347
+ const hasNoResults = status === 'resolved' && !hasData && fg('platform_lp_sllv_ux_improvements');
348
+ const [noResultsWidth, setNoResultsWidth] = useState();
349
+ useEffect(() => {
350
+ const container = containerRef.current;
351
+ if (!hasNoResults || !container) {
352
+ return;
353
+ }
354
+ const scrollport = getHorizontalScrollParent(container) || container;
355
+ const updateWidth = () => setNoResultsWidth(scrollport.clientWidth || undefined);
356
+ updateWidth();
357
+ if (typeof ResizeObserver === 'undefined') {
358
+ return;
359
+ }
360
+ const observer = new ResizeObserver(updateWidth);
361
+ observer.observe(scrollport);
362
+ return () => observer.disconnect();
363
+ }, [hasNoResults]);
364
+
365
+ // This variable contains initial Y mouse coordinate, so we can restrict
366
+ // autoScroller in X axis only
367
+ const initialAutoScrollerClientY = useRef();
368
+ useEffect(() => {
369
+ if (!onVisibleColumnKeysChange || !hasData) {
370
+ return;
371
+ }
372
+ return combine(monitorForElements({
373
+ onDragStart: ({
374
+ location,
375
+ source
376
+ }) => {
377
+ initialAutoScrollerClientY.current = location.current.input.clientY;
378
+ if (source.data.type === 'table-header') {
379
+ var _containerRef$current2;
380
+ autoScroller.start({
381
+ input: {
382
+ ...location.current.input,
383
+ clientY:
384
+ // The goal is to have clientY the same and in the middle of the scrollable area
385
+ // Since clientY is taken from to of the viewport we need to plus that in order to get
386
+ // middle of the scrollable area in reference to the viewport
387
+ (initialAutoScrollerClientY.current || 0) + (((_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.offsetHeight) || 0) / 2
388
+ },
389
+ behavior: 'container-only'
390
+ });
391
+ }
392
+ },
393
+ onDrag: ({
394
+ location,
395
+ source
396
+ }) => {
397
+ if (source.data.type === 'table-header') {
398
+ var _containerRef$current3;
399
+ autoScroller.updateInput({
400
+ input: {
401
+ ...location.current.input,
402
+ clientY: (initialAutoScrollerClientY.current || 0) + (((_containerRef$current3 = containerRef.current) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.offsetHeight) || 0) / 2
403
+ }
404
+ });
405
+ }
406
+ },
407
+ onDrop({
408
+ source,
409
+ location
410
+ }) {
411
+ autoScroller.stop();
412
+ if (location.current.dropTargets.length === 0) {
413
+ return;
414
+ }
415
+ const target = location.current.dropTargets[0];
416
+ if (source.data.id === target.data.id) {
417
+ return;
418
+ }
419
+ if (source.data.type === 'table-header' && source.data.tableId === tableId) {
420
+ const closestEdgeOfTarget = extractClosestEdge(target.data);
421
+ invariant(closestEdgeOfTarget === 'left' || closestEdgeOfTarget === 'right');
422
+ const startIndex = extractIndex(source.data);
423
+ const indexOfTarget = extractIndex(target.data);
424
+ const newColumnKeyOrder = reorderWithEdge({
425
+ list: visibleColumnKeys,
426
+ closestEdgeOfTarget,
427
+ startIndex,
428
+ indexOfTarget,
429
+ axis: 'horizontal'
430
+ });
431
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange([...newColumnKeyOrder]);
432
+
433
+ // We sort columns (whole objects) according to their key order presented in newColumnKeyOrder
434
+ setOrderedColumns(columns => getOrderedColumns([...columns], [...newColumnKeyOrder]));
435
+ }
436
+ }
437
+ }));
438
+ }, [visibleColumnKeys, onVisibleColumnKeysChange, tableId, hasData]);
439
+ const tableRows = useMemo(() => itemIds.map((id, rowIndex) => {
440
+ return {
441
+ key: id,
442
+ cells: visibleSortedColumns.map(({
443
+ key,
444
+ type,
445
+ title
446
+ }, cellIndex) => {
447
+ return {
448
+ key,
449
+ columnKey: key,
450
+ type,
451
+ content: /*#__PURE__*/React.createElement(TableCellContent, {
452
+ id: id,
453
+ columnKey: key,
454
+ columnType: type,
455
+ columnTitle: title,
456
+ wrappedColumnKeys: wrappedColumnKeys,
457
+ renderItem: renderItem
458
+ }),
459
+ width: getColumnWidth(key, type, cellIndex === visibleSortedColumns.length - 1)
460
+ };
461
+ }),
462
+ ref: rowIndex === items.length - 1 ? el => setLastRowElement(el) : undefined
463
+ };
464
+ }), [items, itemIds, renderItem, wrappedColumnKeys, visibleSortedColumns, getColumnWidth]);
465
+ const previousRealRowsCountRef = useRef(undefined);
466
+ useEffect(() => {
467
+ if (tableRows.length > 0) {
468
+ previousRealRowsCountRef.current = tableRows.length;
469
+ }
470
+ }, [tableRows.length]);
471
+ const rows = useMemo(() => {
472
+ if (fg('platform_lp_jira_sllv_renderer_column_sorting')) {
473
+ const hasPreviousRealRows = !!previousRealRowsCountRef.current;
474
+ const isLoadingState = status === 'loading' || status === 'empty' && hasPreviousRealRows;
475
+ if (!isLoadingState) {
476
+ return tableRows;
477
+ }
478
+ } else {
479
+ if (status !== 'loading') {
480
+ return tableRows;
481
+ }
482
+ }
483
+
484
+ // if there are table rows, only add 1 loading row
485
+ if (tableRows.length > 0) {
486
+ return [...tableRows, {
487
+ ...loadingRow,
488
+ key: `loading-${tableRows.length}`
489
+ }];
490
+ }
491
+ // if there are no table rows add 14 rows if it is compact (has scrollableContainerHeight or non-modal)
492
+ // add 10 rows if it is modal (no scrollableContainerHeight)
493
+ let loadingRowsCount = scrollableContainerHeight ? 14 : 10;
494
+ if (fg('platform_lp_jira_sllv_renderer_column_sorting')) {
495
+ const defaultLoadingRowsCount = scrollableContainerHeight ? 14 : 10;
496
+ const previousRealRowsCount = previousRealRowsCountRef.current;
497
+ loadingRowsCount = defaultLoadingRowsCount;
498
+ if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
499
+ loadingRowsCount = previousRealRowsCount;
500
+ }
501
+ }
502
+ return [...Array(loadingRowsCount)].map((_, index) => ({
503
+ ...loadingRow,
504
+ key: `loading-${index}`
505
+ }));
506
+ }, [loadingRow, status, tableRows, scrollableContainerHeight]);
507
+ const onSelectedColumnKeysChange = useCallback(newSelectedColumnKeys => {
508
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange(newSelectedColumnKeys);
509
+ }, [onVisibleColumnKeysChange]);
510
+ const handlePickerOpen = useCallback(async () => {
511
+ if (hasFullSchema) {
512
+ return;
513
+ }
514
+ if (experienceId) {
515
+ startUfoExperience({
516
+ name: 'column-picker-rendered',
517
+ metadata: {
518
+ extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
519
+ }
520
+ }, experienceId);
521
+ }
522
+ try {
523
+ await onLoadDatasourceDetails();
524
+ setHasFullSchema(true);
525
+ } catch {
526
+ setHasFullSchema(false);
527
+ }
528
+ }, [experienceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
529
+ const isEditable = onVisibleColumnKeysChange && hasData;
530
+ // Sorting is enabled only when the table owns the header interaction (read-only mode).
531
+ // Editable tables reserve header interactions for drag/resize/wrap controls.
532
+ const shouldEnableColumnSort = !!onColumnSort && !onVisibleColumnKeysChange && !onColumnResize && !onWrappedColumnChange;
533
+ const orderedColumnsAreUpToDate = orderedColumns.length === columns.length;
534
+ const shouldDisplayColumnsInPicker = hasFullSchema && orderedColumnsAreUpToDate;
535
+ const view = /*#__PURE__*/React.createElement("div", {
536
+ /* There is required contentEditable={true} in editor-card-plugin
537
+ * But this brakes how DND works. We set contentEditable={false} to allow DND to work
538
+ * when dragging is initiated on top of a column label.
539
+ */
540
+ contentEditable: false,
541
+ ref: containerRef,
542
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
543
+ style: scrollableContainerHeight ? {
544
+ maxHeight: `${scrollableContainerHeight}px`
545
+ } : undefined,
546
+ "data-testid": 'issue-like-table-container',
547
+ className: ax(["_mrkbidpf _1o0zidpf _kqswh2mm", scrollableContainerHeight && "_1reo1wug _18m91wug _vchhusvi _bfhkchd4 _1itkhcjh _ouxlbac2 _12vemgnk _1lrw1sd4 _qmxj1c00"])
548
+ }, /*#__PURE__*/React.createElement(Table, {
549
+ "data-testid": testId
550
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
551
+ ,
552
+ style: shouldUseWidth ? {
553
+ tableLayout: 'fixed'
554
+ } : {},
555
+ className: ax(["_19pkidpf _2hwxidpf _otyridpf _18u0idpf _yq5hus1c _btyzidpf"])
556
+ }, /*#__PURE__*/React.createElement("thead", {
557
+ "data-testid": testId && `${testId}--head`,
558
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
559
+ className: ax(["_n7zlidpf", "_bfhkchd4 _kqsw1if8 _154iidpf _1pbyzo7u", !!onVisibleColumnKeysChange ? 'has-column-picker' : ''])
560
+ }, /*#__PURE__*/React.createElement("tr", {
561
+ ref: tableHeaderRowRef
562
+ }, headerColumns.map(({
563
+ key,
564
+ content,
565
+ width
566
+ }, cellIndex) => {
567
+ let heading = /*#__PURE__*/React.createElement(Tooltip, {
568
+ content: content,
569
+ tag: "span",
570
+ position: "bottom-start",
571
+ testId: 'datasource-header-content'
572
+ }, /*#__PURE__*/React.createElement("span", {
573
+ id: getFieldLabelById(key),
574
+ className: ax(["_11c8wadc _k48p1wq8"])
575
+ }, content));
576
+ const isHeadingOutsideButton = !isEditable || !onWrappedColumnChange;
577
+ if (shouldEnableColumnSort) {
578
+ const sortedDirection = (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key ? sortState.direction : undefined;
579
+ // Use directional icon only for the active sort column; keep width stable otherwise.
580
+ const SortIcon = sortedDirection ? sortedDirection === 'ASC' ? SortAscendingIcon : SortDescendingIcon : null;
581
+ const sortLabel = typeof content === 'string' ? content : key;
582
+ const sortButtonAriaLabel = sortedDirection === 'ASC' ? formatMessage(issueLikeTableMessages.sortByColumnDescendingAction, {
583
+ column: sortLabel
584
+ }) : formatMessage(issueLikeTableMessages.sortByColumnAscendingAction, {
585
+ column: sortLabel
586
+ });
587
+ heading = /*#__PURE__*/React.createElement(SortableHeaderParent, null, /*#__PURE__*/React.createElement(Button, _extends({
588
+ appearance: "subtle",
589
+ spacing: "compact",
590
+ shouldFitContainer: true,
591
+ testId: `${key}-column-sort-button`,
592
+ "aria-label": sortButtonAriaLabel
593
+ }, SortIcon ? {
594
+ iconAfter: iconProps => /*#__PURE__*/React.createElement(SortIcon, _extends({}, iconProps, {
595
+ size: "small"
596
+ }))
597
+ } : {}, {
598
+ onClick: () => onColumnSort === null || onColumnSort === void 0 ? void 0 : onColumnSort(key)
599
+ }), heading));
600
+ } else if (isHeadingOutsideButton) {
601
+ heading = /*#__PURE__*/React.createElement("div", {
602
+ className: ax(["_1e0c1txw _4cvr1h6o _o5721q9c _8vu418qm _irr3l4ek"])
603
+ }, heading);
604
+ }
605
+ if (isEditable) {
606
+ var _containerRef$current4;
607
+ const previewRows = tableRows.map(({
608
+ cells
609
+ }) => {
610
+ const cell = cells.find(({
611
+ key: cellKey
612
+ }) => cellKey === key);
613
+ if (cell) {
614
+ return cell.content;
615
+ }
616
+ }).slice(0, 5);
617
+ const dragPreview = /*#__PURE__*/React.createElement(DragColumnPreview, {
618
+ title: heading,
619
+ rows: previewRows
620
+ });
621
+ return /*#__PURE__*/React.createElement(DraggableTableHeading, {
622
+ tableId: tableId,
623
+ key: key,
624
+ id: key,
625
+ index: cellIndex,
626
+ width: width,
627
+ onWidthChange: onColumnResize === null || onColumnResize === void 0 ? void 0 : onColumnResize.bind(null, key),
628
+ dndPreviewHeight: ((_containerRef$current4 = containerRef.current) === null || _containerRef$current4 === void 0 ? void 0 : _containerRef$current4.offsetHeight) || 0,
629
+ dragPreview: dragPreview,
630
+ isWrapped: wrappedColumnKeys === null || wrappedColumnKeys === void 0 ? void 0 : wrappedColumnKeys.includes(key),
631
+ onIsWrappedChange: onWrappedColumnChange === null || onWrappedColumnChange === void 0 ? void 0 : onWrappedColumnChange.bind(null, key)
632
+ }, heading);
633
+ } else {
634
+ return /*#__PURE__*/React.createElement(TableHeading, _extends({
635
+ key: key,
636
+ "data-testid": `${key}-column-heading`
637
+ }, fg('platform_lp_jira_sllv_renderer_column_sorting') ? {
638
+ 'aria-sort': (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'ASC' ? 'ascending' : (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key && sortState.direction === 'DESC' ? 'descending' : undefined
639
+ } : {}, {
640
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
641
+ style: getWidthCss({
642
+ shouldUseWidth,
643
+ width
644
+ })
645
+ }), heading);
646
+ }
647
+ }), onVisibleColumnKeysChange && (shouldShowTableSettingsMenu ? /*#__PURE__*/React.createElement(ColumnPickerHeaderWithSettings, null, /*#__PURE__*/React.createElement(Inline, {
648
+ alignBlock: "center",
649
+ alignInline: "end",
650
+ space: "space.050"
651
+ }, /*#__PURE__*/React.createElement(ColumnPicker, {
652
+ columns: shouldDisplayColumnsInPicker ? orderedColumns : [],
653
+ selectedColumnKeys: shouldDisplayColumnsInPicker ? visibleColumnKeys : [],
654
+ onSelectedColumnKeysChange: onSelectedColumnKeysChange,
655
+ onOpen: handlePickerOpen
656
+ }), /*#__PURE__*/React.createElement(TableSettingsMenu, {
657
+ wrapTextSetting: tableSettingsMenuProps.wrapTextSetting
658
+ }))) : /*#__PURE__*/React.createElement(ColumnPickerHeader, null, /*#__PURE__*/React.createElement(ColumnPicker, {
659
+ columns: shouldDisplayColumnsInPicker ? orderedColumns : [],
660
+ selectedColumnKeys: shouldDisplayColumnsInPicker ? visibleColumnKeys : [],
661
+ onSelectedColumnKeysChange: onSelectedColumnKeysChange,
662
+ onOpen: handlePickerOpen
663
+ }))))), /*#__PURE__*/React.createElement("tbody", {
664
+ "data-testid": testId && `${testId}--body`,
665
+ className: ax(["_n7zlidpf"])
666
+ }, hasNoResults && /*#__PURE__*/React.createElement("tr", {
667
+ "data-testid": testId && `${testId}--no-results-row`
668
+ }, /*#__PURE__*/React.createElement(InlineEditableTableCell, {
669
+ colSpan: Math.max(headerColumns.length + (onVisibleColumnKeysChange ? 1 : 0), 1)
670
+ }, /*#__PURE__*/React.createElement("div", {
671
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- width is measured from the scrollport at runtime
672
+ style: {
673
+ width: noResultsWidth
674
+ },
675
+ className: ax(["_kqsw1if8 _1ltvidpf _1e0c1txw _1bah1h6o"])
676
+ }, /*#__PURE__*/React.createElement(NoResults, {
677
+ isCompact: true
678
+ })))), rows.map(({
679
+ key,
680
+ cells,
681
+ ref
682
+ }) => /*#__PURE__*/React.createElement("tr", {
683
+ key: key,
684
+ "data-testid": testId && `${testId}--row-${key}`,
685
+ ref: ref
686
+ }, cells.map(({
687
+ key: cellKey,
688
+ type: cellType,
689
+ content,
690
+ width
691
+ }, cellIndex) => {
692
+ const isLastCell = cellIndex === cells.length - 1;
693
+ let loadingRowStyle = getWidthCss({
694
+ shouldUseWidth,
695
+ width
696
+ });
697
+ return /*#__PURE__*/React.createElement(InlineEditableTableCell, {
698
+ key: cellKey,
699
+ "data-testid": testId && `${testId}--cell-${cellIndex}`,
700
+ colSpan: isEditable && isLastCell ? 2 : undefined
701
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
702
+ ,
703
+ style: loadingRowStyle,
704
+ className: ax([wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(cellKey) ? "_o5724jg8" : "_1bto1l2s _o5721q9c", cellType === 'richtext' && fg('platform_lp_sllv_richtext_margin_reset') && "_s7n4jp4b"])
705
+ }, content);
706
+ }))))));
707
+ return /*#__PURE__*/React.createElement(FlagsProvider, null, view);
708
+ };