@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,779 @@
1
+ /* issue-like-data-table-view.tsx generated by @compiled/babel-plugin v2.0.0 */
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
5
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
6
+ import _extends from "@babel/runtime/helpers/extends";
7
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
8
+ var _excluded = ["as", "style"],
9
+ _excluded2 = ["as", "style"],
10
+ _excluded3 = ["as", "style"],
11
+ _excluded4 = ["as", "style"],
12
+ _excluded5 = ["as", "style"],
13
+ _excluded6 = ["as", "style"];
14
+ import "./issue-like-data-table-view.compiled.css";
15
+ import { forwardRef } from 'react';
16
+ import * as React from 'react';
17
+ import { ax, ix } from "@compiled/react/runtime";
18
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
19
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
+ /* eslint-disable @atlaskit/design-system/use-tokens-typography */
22
+
23
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
24
+ import { useIntl } from 'react-intl';
25
+ import invariant from 'tiny-invariant';
26
+ import Button from '@atlaskit/button/default/button';
27
+ import { FlagsProvider } from '@atlaskit/flag/flags-provider';
28
+ import SortAscendingIcon from '@atlaskit/icon/core/sort-ascending';
29
+ import SortDescendingIcon from '@atlaskit/icon/core/sort-descending';
30
+ import { Skeleton } from '@atlaskit/linking-common';
31
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
32
+ import { extractClosestEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge/extract-closest-edge';
33
+ import { reorderWithEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/util/reorder-with-edge';
34
+ import { autoScroller } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-autoscroll/auto-scroller';
35
+ import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter';
36
+ import { combine } from '@atlaskit/pragmatic-drag-and-drop/utils/combine';
37
+ import { Box, Inline } from '@atlaskit/primitives/compiled';
38
+ import Tooltip from '@atlaskit/tooltip/Tooltip';
39
+ import { startUfoExperience } from '../../analytics/ufoExperiences/startUfoExperience';
40
+ import { succeedUfoExperience } from '../../analytics/ufoExperiences/succeedUfoExperience';
41
+ import { useDatasourceExperienceId } from '../../contexts/datasource-experience-id/use-datasource-experience-id';
42
+ import { useIsInPDFRender } from '../../hooks/useIsInPDFRender';
43
+ import { NoResults } from '../common/error-state/no-results';
44
+ import { ColumnPicker } from './column-picker';
45
+ import { DragColumnPreview } from './drag-column-preview';
46
+ import { DraggableTableHeading } from './draggable-table-heading';
47
+ import { getFieldLabelById } from './get-field-label-by-id';
48
+ import { getOrderedColumns } from './get-ordered-columns';
49
+ import { getWidthCss } from './get-width-css';
50
+ import { issueLikeTableMessages } from './messages';
51
+ import { renderType } from './render-type/renderType';
52
+ import { TableCellContent } from './table-cell-content/table-cell-content';
53
+ import { TableSettingsMenu } from './table-settings-menu/TableSettingsMenu';
54
+ import { hasAvailableTableSettings } from './table-settings-menu/hasAvailableTableSettings';
55
+ import { useIsOnScreen } from './useIsOnScreen';
56
+ import { COLUMN_BASE_WIDTH } from './utils';
57
+ var tableSidePadding = "var(--ds-space-200, 16px)";
58
+ var columnPickerWidth = 80;
59
+ var columnPickerWithSettingsWidth = 95;
60
+ var tableHeadStyles = null;
61
+
62
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
63
+ var ColumnPickerHeader = forwardRef(function (_ref, __cmplr) {
64
+ var _ref$as = _ref.as,
65
+ C = _ref$as === void 0 ? "th" : _ref$as,
66
+ __cmpls = _ref.style,
67
+ __cmplp = _objectWithoutProperties(_ref, _excluded);
68
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
69
+ style: __cmpls,
70
+ ref: __cmplr,
71
+ 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])
72
+ }));
73
+ });
74
+
75
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- To migrate as part of go/ui-styling-standard
76
+ if (process.env.NODE_ENV !== 'production') {
77
+ ColumnPickerHeader.displayName = 'ColumnPickerHeader';
78
+ }
79
+ var ColumnPickerHeaderWithSettings = forwardRef(function (_ref2, __cmplr) {
80
+ var _ref2$as = _ref2.as,
81
+ C = _ref2$as === void 0 ? "th" : _ref2$as,
82
+ __cmpls = _ref2.style,
83
+ __cmplp = _objectWithoutProperties(_ref2, _excluded2);
84
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
85
+ style: __cmpls,
86
+ ref: __cmplr,
87
+ 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])
88
+ }));
89
+ });
90
+ if (process.env.NODE_ENV !== 'production') {
91
+ ColumnPickerHeaderWithSettings.displayName = 'ColumnPickerHeaderWithSettings';
92
+ }
93
+ var truncateStyles = null;
94
+ var wrappedStyles = null;
95
+ var richTextCellStyles = null;
96
+ var tableContainerStyles = null;
97
+
98
+ // The cell spans every column, so it is as wide as the scrollable table rather than the part of it
99
+ // that is on screen. Sticking to the left edge of the scrollport keeps the empty state centred on
100
+ // what the user can actually see while the headers still scroll behind it.
101
+ var noResultsCellContentStyles = null;
102
+ var getHorizontalScrollParent = function getHorizontalScrollParent(element) {
103
+ var current = element;
104
+ while (current) {
105
+ var _getComputedStyle = getComputedStyle(current),
106
+ overflowX = _getComputedStyle.overflowX;
107
+ if (overflowX === 'auto' || overflowX === 'scroll') {
108
+ return current;
109
+ }
110
+ current = current.parentElement;
111
+ }
112
+ };
113
+
114
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled
115
+ var Table = forwardRef(function (_ref3, __cmplr) {
116
+ var _ref3$as = _ref3.as,
117
+ C = _ref3$as === void 0 ? "table" : _ref3$as,
118
+ __cmpls = _ref3.style,
119
+ __cmplp = _objectWithoutProperties(_ref3, _excluded3);
120
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
121
+ style: __cmpls,
122
+ ref: __cmplr,
123
+ className: ax(["_1bsb1osq", __cmplp.className])
124
+ }));
125
+ });
126
+
127
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled
128
+ if (process.env.NODE_ENV !== 'production') {
129
+ Table.displayName = 'Table';
130
+ }
131
+ var TableHeading = forwardRef(function (_ref4, __cmplr) {
132
+ var _ref4$as = _ref4.as,
133
+ C = _ref4$as === void 0 ? "th" : _ref4$as,
134
+ __cmpls = _ref4.style,
135
+ __cmplp = _objectWithoutProperties(_ref4, _excluded4);
136
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
137
+ style: __cmpls,
138
+ ref: __cmplr,
139
+ 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])
140
+ }));
141
+ });
142
+
143
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled
144
+ if (process.env.NODE_ENV !== 'production') {
145
+ TableHeading.displayName = 'TableHeading';
146
+ }
147
+ var InlineEditableTableCell = forwardRef(function (_ref5, __cmplr) {
148
+ var _ref5$as = _ref5.as,
149
+ C = _ref5$as === void 0 ? "td" : _ref5$as,
150
+ __cmpls = _ref5.style,
151
+ __cmplp = _objectWithoutProperties(_ref5, _excluded5);
152
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
153
+ style: __cmpls,
154
+ ref: __cmplr,
155
+ 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])
156
+ }));
157
+ });
158
+
159
+ /**
160
+ * Following section deals with slight gradient shadows that we add
161
+ * on all four sides when there is more content in that direction.
162
+ *
163
+ * We do that by applying two gradients to the background -
164
+ * one is "static" ('local') and other is "sticky" ('scroll'). \
165
+ * "Static" one makes a white color gradient, that when window is at the end of scrollable area goes on top
166
+ * of "sticky" (gray) one, dominating and hence disabling sticky one.
167
+ */
168
+ if (process.env.NODE_ENV !== 'production') {
169
+ InlineEditableTableCell.displayName = 'InlineEditableTableCell';
170
+ }
171
+ var scrollableContainerStyles = null;
172
+ var tableStyles = null;
173
+
174
+ // By default tbody and thead have border-bottom: 2px ...
175
+ // This removes it, because for header we handle it via `th` styling and footer supply bottom border
176
+ var noDefaultBorderStyles = null;
177
+ var headerStyles = null;
178
+ var headingHoverEffectStyles = null;
179
+
180
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled -- Matches DraggableTableHeading button normalization.
181
+ var SortableHeaderParent = forwardRef(function (_ref6, __cmplr) {
182
+ var _ref6$as = _ref6.as,
183
+ C = _ref6$as === void 0 ? "div" : _ref6$as,
184
+ __cmpls = _ref6.style,
185
+ __cmplp = _objectWithoutProperties(_ref6, _excluded6);
186
+ return /*#__PURE__*/React.createElement(C, _extends({}, __cmplp, {
187
+ style: __cmpls,
188
+ ref: __cmplr,
189
+ className: ax(["_1e0c1txw _4cvr1h6o _o5721q9c _1wtnze3t _ficf1e5h _jq8g1wug _11lvze3t _yhjm1b66", __cmplp.className])
190
+ }));
191
+ });
192
+ if (process.env.NODE_ENV !== 'production') {
193
+ SortableHeaderParent.displayName = 'SortableHeaderParent';
194
+ }
195
+ function extractIndex(data) {
196
+ var index = data.index;
197
+ invariant(typeof index === 'number');
198
+ return index;
199
+ }
200
+ var DEFAULT_WIDTH = COLUMN_BASE_WIDTH * 22;
201
+ var keyBasedWidthMap = {
202
+ priority: COLUMN_BASE_WIDTH * 12.5,
203
+ // 100px
204
+ status: COLUMN_BASE_WIDTH * 12.5,
205
+ summary: COLUMN_BASE_WIDTH * 45,
206
+ description: COLUMN_BASE_WIDTH * 31,
207
+ type: COLUMN_BASE_WIDTH * 6,
208
+ issuetype: COLUMN_BASE_WIDTH * 6,
209
+ key: COLUMN_BASE_WIDTH * 15
210
+ };
211
+ function getDefaultColumnWidth(key, type) {
212
+ var keyBasedWidth = keyBasedWidthMap[key];
213
+ if (keyBasedWidth) {
214
+ return keyBasedWidth;
215
+ }
216
+ switch (type) {
217
+ case 'date':
218
+ return COLUMN_BASE_WIDTH * 16;
219
+ case 'icon':
220
+ return COLUMN_BASE_WIDTH * 7;
221
+ default:
222
+ return DEFAULT_WIDTH;
223
+ }
224
+ }
225
+ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref7) {
226
+ var _containerRef$current;
227
+ var testId = _ref7.testId,
228
+ onNextPage = _ref7.onNextPage,
229
+ onLoadDatasourceDetails = _ref7.onLoadDatasourceDetails,
230
+ items = _ref7.items,
231
+ itemIds = _ref7.itemIds,
232
+ columns = _ref7.columns,
233
+ _ref7$renderItem = _ref7.renderItem,
234
+ renderItem = _ref7$renderItem === void 0 ? renderType : _ref7$renderItem,
235
+ visibleColumnKeys = _ref7.visibleColumnKeys,
236
+ onVisibleColumnKeysChange = _ref7.onVisibleColumnKeysChange,
237
+ columnCustomSizes = _ref7.columnCustomSizes,
238
+ onColumnResize = _ref7.onColumnResize,
239
+ onColumnSort = _ref7.onColumnSort,
240
+ wrappedColumnKeys = _ref7.wrappedColumnKeys,
241
+ onWrappedColumnChange = _ref7.onWrappedColumnChange,
242
+ onWrappedColumnsChange = _ref7.onWrappedColumnsChange,
243
+ sortState = _ref7.sortState,
244
+ status = _ref7.status,
245
+ hasNextPage = _ref7.hasNextPage,
246
+ scrollableContainerHeight = _ref7.scrollableContainerHeight,
247
+ extensionKey = _ref7.extensionKey;
248
+ var _useIntl = useIntl(),
249
+ formatMessage = _useIntl.formatMessage;
250
+ var tableId = useMemo(function () {
251
+ return Symbol('unique-id');
252
+ }, []);
253
+ var experienceId = useDatasourceExperienceId();
254
+ var tableHeaderRowRef = useRef(null);
255
+ var _useState = useState(null),
256
+ _useState2 = _slicedToArray(_useState, 2),
257
+ lastRowElement = _useState2[0],
258
+ setLastRowElement = _useState2[1];
259
+ var _useState3 = useState(false),
260
+ _useState4 = _slicedToArray(_useState3, 2),
261
+ hasFullSchema = _useState4[0],
262
+ setHasFullSchema = _useState4[1];
263
+ var isInPDFRender = useIsInPDFRender();
264
+ var isBottomOfTableVisibleRaw = useIsOnScreen(lastRowElement) && !isInPDFRender;
265
+ var containerRef = useRef(null);
266
+ var _useState5 = useState(function () {
267
+ return getOrderedColumns(_toConsumableArray(columns), _toConsumableArray(visibleColumnKeys));
268
+ }),
269
+ _useState6 = _slicedToArray(_useState5, 2),
270
+ orderedColumns = _useState6[0],
271
+ setOrderedColumns = _useState6[1];
272
+ useEffect(function () {
273
+ if (orderedColumns.length !== columns.length) {
274
+ setOrderedColumns(getOrderedColumns(_toConsumableArray(columns), _toConsumableArray(visibleColumnKeys)));
275
+ }
276
+ }, [columns, visibleColumnKeys, orderedColumns]);
277
+ useEffect(function () {
278
+ if (experienceId && status === 'resolved') {
279
+ succeedUfoExperience({
280
+ name: 'datasource-rendered'
281
+ }, experienceId);
282
+ }
283
+ }, [experienceId, status]);
284
+ var visibleSortedColumns = useMemo(function () {
285
+ return visibleColumnKeys.map(function (visibleKey) {
286
+ return orderedColumns.find(function (_ref8) {
287
+ var key = _ref8.key;
288
+ return visibleKey === key;
289
+ });
290
+ }).filter(Boolean);
291
+ }, [orderedColumns, visibleColumnKeys]);
292
+ var isWrapTextSettingAvailable = Boolean(onWrappedColumnsChange) && fg('platform_lp_sllv_table_settings_menu');
293
+ var areAllVisibleColumnsWrapped = false;
294
+ if (isWrapTextSettingAvailable) {
295
+ areAllVisibleColumnsWrapped = visibleColumnKeys.length > 0 && visibleColumnKeys.every(function (columnKey) {
296
+ return wrappedColumnKeys === null || wrappedColumnKeys === void 0 ? void 0 : wrappedColumnKeys.includes(columnKey);
297
+ });
298
+ }
299
+ var handleWrapTextOnAllColumnsChange = useCallback(function () {
300
+ if (!onWrappedColumnsChange) {
301
+ return;
302
+ }
303
+ var nextWrappedColumnKeys = areAllVisibleColumnsWrapped ? (wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 ? wrappedColumnKeys : []).filter(function (columnKey) {
304
+ return !visibleColumnKeys.includes(columnKey);
305
+ }) : Array.from(new Set([].concat(_toConsumableArray(wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 ? wrappedColumnKeys : []), _toConsumableArray(visibleColumnKeys))));
306
+ onWrappedColumnsChange(nextWrappedColumnKeys);
307
+ }, [areAllVisibleColumnsWrapped, onWrappedColumnsChange, visibleColumnKeys, wrappedColumnKeys]);
308
+ var tableSettingsMenuProps = {
309
+ wrapTextSetting: isWrapTextSettingAvailable ? {
310
+ isChecked: areAllVisibleColumnsWrapped,
311
+ onChange: handleWrapTextOnAllColumnsChange
312
+ } : undefined
313
+ };
314
+ var shouldShowTableSettingsMenu = hasAvailableTableSettings(tableSettingsMenuProps);
315
+
316
+ // TODO seems like this component can't handle some combination of incremental data retrieval.
317
+ // If data comes first, then columns and then visibleColumnKeys it blows up,
318
+ // or some other combination.
319
+ var columnsWidthsSum = useMemo(function () {
320
+ return visibleSortedColumns.map(function (_ref9) {
321
+ var key = _ref9.key,
322
+ type = _ref9.type;
323
+ return (columnCustomSizes === null || columnCustomSizes === void 0 ? void 0 : columnCustomSizes[key]) || getDefaultColumnWidth(key, type);
324
+ }).reduce(function (sum, width) {
325
+ return width + sum;
326
+ }, 0) + (onVisibleColumnKeysChange && shouldShowTableSettingsMenu ? columnPickerWithSettingsWidth : onVisibleColumnKeysChange ? columnPickerWidth : 0);
327
+ }, [columnCustomSizes, onVisibleColumnKeysChange, shouldShowTableSettingsMenu, visibleSortedColumns]);
328
+ var shouldUseWidth = !!(onColumnResize || columnCustomSizes);
329
+ var tableContainerWidth = Math.ceil(((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.getBoundingClientRect().width) || 0);
330
+ var getColumnWidth = useCallback(function (key, type, isLastCell) {
331
+ if (isLastCell && shouldUseWidth && tableContainerWidth && tableContainerWidth > columnsWidthsSum) {
332
+ return undefined;
333
+ } else {
334
+ return (columnCustomSizes === null || columnCustomSizes === void 0 ? void 0 : columnCustomSizes[key]) || getDefaultColumnWidth(key, type);
335
+ }
336
+ }, [columnCustomSizes, columnsWidthsSum, shouldUseWidth, tableContainerWidth]);
337
+ var headerColumns = useMemo(function () {
338
+ return visibleSortedColumns.map(function (_ref0, index) {
339
+ var key = _ref0.key,
340
+ title = _ref0.title,
341
+ type = _ref0.type;
342
+ return {
343
+ key: key,
344
+ content: title,
345
+ shouldTruncate: true,
346
+ width: getColumnWidth(key, type, index === visibleSortedColumns.length - 1)
347
+ };
348
+ });
349
+ }, [getColumnWidth, visibleSortedColumns]);
350
+ var loadingRow = useMemo(function () {
351
+ return {
352
+ key: 'loading',
353
+ cells: headerColumns.map(function (column) {
354
+ return {
355
+ content: /*#__PURE__*/React.createElement(Box, {
356
+ paddingInline: "space.100"
357
+ }, /*#__PURE__*/React.createElement(Skeleton, {
358
+ borderRadius: "var(--ds-radius-large, 8px)",
359
+ width: "100%",
360
+ height: 14,
361
+ testId: "issues-table-row-loading"
362
+ })),
363
+ key: column.key,
364
+ width: column.width
365
+ };
366
+ })
367
+ };
368
+ }, [headerColumns]);
369
+ useEffect(function () {
370
+ if (isBottomOfTableVisibleRaw && hasNextPage && status === 'resolved') {
371
+ void onNextPage({
372
+ isSchemaFromData: false,
373
+ shouldForceRequest: true
374
+ });
375
+ }
376
+ }, [isBottomOfTableVisibleRaw, status, hasNextPage, onNextPage]);
377
+ useEffect(function () {
378
+ if (isInPDFRender && hasNextPage && status === 'resolved') {
379
+ setTimeout(function () {
380
+ onNextPage({
381
+ isSchemaFromData: false,
382
+ shouldRequestFirstPage: false
383
+ });
384
+ }, 10);
385
+ }
386
+ }, [isInPDFRender, onNextPage, status, hasNextPage]);
387
+ var hasData = items.length > 0;
388
+
389
+ // A resolved response with no items still carries column metadata, so the table can keep its
390
+ // headers and render the empty state where the rows would normally be.
391
+ var hasNoResults = status === 'resolved' && !hasData && fg('platform_lp_sllv_ux_improvements');
392
+ var _useState7 = useState(),
393
+ _useState8 = _slicedToArray(_useState7, 2),
394
+ noResultsWidth = _useState8[0],
395
+ setNoResultsWidth = _useState8[1];
396
+ useEffect(function () {
397
+ var container = containerRef.current;
398
+ if (!hasNoResults || !container) {
399
+ return;
400
+ }
401
+ var scrollport = getHorizontalScrollParent(container) || container;
402
+ var updateWidth = function updateWidth() {
403
+ return setNoResultsWidth(scrollport.clientWidth || undefined);
404
+ };
405
+ updateWidth();
406
+ if (typeof ResizeObserver === 'undefined') {
407
+ return;
408
+ }
409
+ var observer = new ResizeObserver(updateWidth);
410
+ observer.observe(scrollport);
411
+ return function () {
412
+ return observer.disconnect();
413
+ };
414
+ }, [hasNoResults]);
415
+
416
+ // This variable contains initial Y mouse coordinate, so we can restrict
417
+ // autoScroller in X axis only
418
+ var initialAutoScrollerClientY = useRef();
419
+ useEffect(function () {
420
+ if (!onVisibleColumnKeysChange || !hasData) {
421
+ return;
422
+ }
423
+ return combine(monitorForElements({
424
+ onDragStart: function onDragStart(_ref1) {
425
+ var location = _ref1.location,
426
+ source = _ref1.source;
427
+ initialAutoScrollerClientY.current = location.current.input.clientY;
428
+ if (source.data.type === 'table-header') {
429
+ var _containerRef$current2;
430
+ autoScroller.start({
431
+ input: _objectSpread(_objectSpread({}, location.current.input), {}, {
432
+ clientY:
433
+ // The goal is to have clientY the same and in the middle of the scrollable area
434
+ // Since clientY is taken from to of the viewport we need to plus that in order to get
435
+ // middle of the scrollable area in reference to the viewport
436
+ (initialAutoScrollerClientY.current || 0) + (((_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.offsetHeight) || 0) / 2
437
+ }),
438
+ behavior: 'container-only'
439
+ });
440
+ }
441
+ },
442
+ onDrag: function onDrag(_ref10) {
443
+ var location = _ref10.location,
444
+ source = _ref10.source;
445
+ if (source.data.type === 'table-header') {
446
+ var _containerRef$current3;
447
+ autoScroller.updateInput({
448
+ input: _objectSpread(_objectSpread({}, location.current.input), {}, {
449
+ clientY: (initialAutoScrollerClientY.current || 0) + (((_containerRef$current3 = containerRef.current) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.offsetHeight) || 0) / 2
450
+ })
451
+ });
452
+ }
453
+ },
454
+ onDrop: function onDrop(_ref11) {
455
+ var source = _ref11.source,
456
+ location = _ref11.location;
457
+ autoScroller.stop();
458
+ if (location.current.dropTargets.length === 0) {
459
+ return;
460
+ }
461
+ var target = location.current.dropTargets[0];
462
+ if (source.data.id === target.data.id) {
463
+ return;
464
+ }
465
+ if (source.data.type === 'table-header' && source.data.tableId === tableId) {
466
+ var closestEdgeOfTarget = extractClosestEdge(target.data);
467
+ invariant(closestEdgeOfTarget === 'left' || closestEdgeOfTarget === 'right');
468
+ var startIndex = extractIndex(source.data);
469
+ var indexOfTarget = extractIndex(target.data);
470
+ var newColumnKeyOrder = reorderWithEdge({
471
+ list: visibleColumnKeys,
472
+ closestEdgeOfTarget: closestEdgeOfTarget,
473
+ startIndex: startIndex,
474
+ indexOfTarget: indexOfTarget,
475
+ axis: 'horizontal'
476
+ });
477
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 || onVisibleColumnKeysChange(_toConsumableArray(newColumnKeyOrder));
478
+
479
+ // We sort columns (whole objects) according to their key order presented in newColumnKeyOrder
480
+ setOrderedColumns(function (columns) {
481
+ return getOrderedColumns(_toConsumableArray(columns), _toConsumableArray(newColumnKeyOrder));
482
+ });
483
+ }
484
+ }
485
+ }));
486
+ }, [visibleColumnKeys, onVisibleColumnKeysChange, tableId, hasData]);
487
+ var tableRows = useMemo(function () {
488
+ return itemIds.map(function (id, rowIndex) {
489
+ return {
490
+ key: id,
491
+ cells: visibleSortedColumns.map(function (_ref12, cellIndex) {
492
+ var key = _ref12.key,
493
+ type = _ref12.type,
494
+ title = _ref12.title;
495
+ return {
496
+ key: key,
497
+ columnKey: key,
498
+ type: type,
499
+ content: /*#__PURE__*/React.createElement(TableCellContent, {
500
+ id: id,
501
+ columnKey: key,
502
+ columnType: type,
503
+ columnTitle: title,
504
+ wrappedColumnKeys: wrappedColumnKeys,
505
+ renderItem: renderItem
506
+ }),
507
+ width: getColumnWidth(key, type, cellIndex === visibleSortedColumns.length - 1)
508
+ };
509
+ }),
510
+ ref: rowIndex === items.length - 1 ? function (el) {
511
+ return setLastRowElement(el);
512
+ } : undefined
513
+ };
514
+ });
515
+ }, [items, itemIds, renderItem, wrappedColumnKeys, visibleSortedColumns, getColumnWidth]);
516
+ var previousRealRowsCountRef = useRef(undefined);
517
+ useEffect(function () {
518
+ if (tableRows.length > 0) {
519
+ previousRealRowsCountRef.current = tableRows.length;
520
+ }
521
+ }, [tableRows.length]);
522
+ var rows = useMemo(function () {
523
+ if (fg('platform_lp_jira_sllv_renderer_column_sorting')) {
524
+ var hasPreviousRealRows = !!previousRealRowsCountRef.current;
525
+ var isLoadingState = status === 'loading' || status === 'empty' && hasPreviousRealRows;
526
+ if (!isLoadingState) {
527
+ return tableRows;
528
+ }
529
+ } else {
530
+ if (status !== 'loading') {
531
+ return tableRows;
532
+ }
533
+ }
534
+
535
+ // if there are table rows, only add 1 loading row
536
+ if (tableRows.length > 0) {
537
+ return [].concat(_toConsumableArray(tableRows), [_objectSpread(_objectSpread({}, loadingRow), {}, {
538
+ key: "loading-".concat(tableRows.length)
539
+ })]);
540
+ }
541
+ // if there are no table rows add 14 rows if it is compact (has scrollableContainerHeight or non-modal)
542
+ // add 10 rows if it is modal (no scrollableContainerHeight)
543
+ var loadingRowsCount = scrollableContainerHeight ? 14 : 10;
544
+ if (fg('platform_lp_jira_sllv_renderer_column_sorting')) {
545
+ var defaultLoadingRowsCount = scrollableContainerHeight ? 14 : 10;
546
+ var previousRealRowsCount = previousRealRowsCountRef.current;
547
+ loadingRowsCount = defaultLoadingRowsCount;
548
+ if (previousRealRowsCount && previousRealRowsCount < defaultLoadingRowsCount) {
549
+ loadingRowsCount = previousRealRowsCount;
550
+ }
551
+ }
552
+ return _toConsumableArray(Array(loadingRowsCount)).map(function (_, index) {
553
+ return _objectSpread(_objectSpread({}, loadingRow), {}, {
554
+ key: "loading-".concat(index)
555
+ });
556
+ });
557
+ }, [loadingRow, status, tableRows, scrollableContainerHeight]);
558
+ var onSelectedColumnKeysChange = useCallback(function (newSelectedColumnKeys) {
559
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 || onVisibleColumnKeysChange(newSelectedColumnKeys);
560
+ }, [onVisibleColumnKeysChange]);
561
+ var handlePickerOpen = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
562
+ var _t;
563
+ return _regeneratorRuntime.wrap(function (_context) {
564
+ while (1) switch (_context.prev = _context.next) {
565
+ case 0:
566
+ if (!hasFullSchema) {
567
+ _context.next = 1;
568
+ break;
569
+ }
570
+ return _context.abrupt("return");
571
+ case 1:
572
+ if (experienceId) {
573
+ startUfoExperience({
574
+ name: 'column-picker-rendered',
575
+ metadata: {
576
+ extensionKey: extensionKey !== null && extensionKey !== void 0 ? extensionKey : undefined
577
+ }
578
+ }, experienceId);
579
+ }
580
+ _context.prev = 2;
581
+ _context.next = 3;
582
+ return onLoadDatasourceDetails();
583
+ case 3:
584
+ setHasFullSchema(true);
585
+ _context.next = 5;
586
+ break;
587
+ case 4:
588
+ _context.prev = 4;
589
+ _t = _context["catch"](2);
590
+ setHasFullSchema(false);
591
+ case 5:
592
+ case "end":
593
+ return _context.stop();
594
+ }
595
+ }, _callee, null, [[2, 4]]);
596
+ })), [experienceId, extensionKey, hasFullSchema, onLoadDatasourceDetails]);
597
+ var isEditable = onVisibleColumnKeysChange && hasData;
598
+ // Sorting is enabled only when the table owns the header interaction (read-only mode).
599
+ // Editable tables reserve header interactions for drag/resize/wrap controls.
600
+ var shouldEnableColumnSort = !!onColumnSort && !onVisibleColumnKeysChange && !onColumnResize && !onWrappedColumnChange;
601
+ var orderedColumnsAreUpToDate = orderedColumns.length === columns.length;
602
+ var shouldDisplayColumnsInPicker = hasFullSchema && orderedColumnsAreUpToDate;
603
+ var view = /*#__PURE__*/React.createElement("div", {
604
+ /* There is required contentEditable={true} in editor-card-plugin
605
+ * But this brakes how DND works. We set contentEditable={false} to allow DND to work
606
+ * when dragging is initiated on top of a column label.
607
+ */
608
+ contentEditable: false,
609
+ ref: containerRef,
610
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
611
+ style: scrollableContainerHeight ? {
612
+ maxHeight: "".concat(scrollableContainerHeight, "px")
613
+ } : undefined,
614
+ "data-testid": 'issue-like-table-container',
615
+ className: ax(["_mrkbidpf _1o0zidpf _kqswh2mm", scrollableContainerHeight && "_1reo1wug _18m91wug _vchhusvi _bfhkchd4 _1itkhcjh _ouxlbac2 _12vemgnk _1lrw1sd4 _qmxj1c00"])
616
+ }, /*#__PURE__*/React.createElement(Table, {
617
+ "data-testid": testId
618
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
619
+ ,
620
+ style: shouldUseWidth ? {
621
+ tableLayout: 'fixed'
622
+ } : {},
623
+ className: ax(["_19pkidpf _2hwxidpf _otyridpf _18u0idpf _yq5hus1c _btyzidpf"])
624
+ }, /*#__PURE__*/React.createElement("thead", {
625
+ "data-testid": testId && "".concat(testId, "--head"),
626
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
627
+ className: ax(["_n7zlidpf", "_bfhkchd4 _kqsw1if8 _154iidpf _1pbyzo7u", !!onVisibleColumnKeysChange ? 'has-column-picker' : ''])
628
+ }, /*#__PURE__*/React.createElement("tr", {
629
+ ref: tableHeaderRowRef
630
+ }, headerColumns.map(function (_ref14, cellIndex) {
631
+ var key = _ref14.key,
632
+ content = _ref14.content,
633
+ width = _ref14.width;
634
+ var heading = /*#__PURE__*/React.createElement(Tooltip, {
635
+ content: content,
636
+ tag: "span",
637
+ position: "bottom-start",
638
+ testId: 'datasource-header-content'
639
+ }, /*#__PURE__*/React.createElement("span", {
640
+ id: getFieldLabelById(key),
641
+ className: ax(["_11c8wadc _k48p1wq8"])
642
+ }, content));
643
+ var isHeadingOutsideButton = !isEditable || !onWrappedColumnChange;
644
+ if (shouldEnableColumnSort) {
645
+ var sortedDirection = (sortState === null || sortState === void 0 ? void 0 : sortState.key) === key ? sortState.direction : undefined;
646
+ // Use directional icon only for the active sort column; keep width stable otherwise.
647
+ var SortIcon = sortedDirection ? sortedDirection === 'ASC' ? SortAscendingIcon : SortDescendingIcon : null;
648
+ var sortLabel = typeof content === 'string' ? content : key;
649
+ var sortButtonAriaLabel = sortedDirection === 'ASC' ? formatMessage(issueLikeTableMessages.sortByColumnDescendingAction, {
650
+ column: sortLabel
651
+ }) : formatMessage(issueLikeTableMessages.sortByColumnAscendingAction, {
652
+ column: sortLabel
653
+ });
654
+ heading = /*#__PURE__*/React.createElement(SortableHeaderParent, null, /*#__PURE__*/React.createElement(Button, _extends({
655
+ appearance: "subtle",
656
+ spacing: "compact",
657
+ shouldFitContainer: true,
658
+ testId: "".concat(key, "-column-sort-button"),
659
+ "aria-label": sortButtonAriaLabel
660
+ }, SortIcon ? {
661
+ iconAfter: function iconAfter(iconProps) {
662
+ return /*#__PURE__*/React.createElement(SortIcon, _extends({}, iconProps, {
663
+ size: "small"
664
+ }));
665
+ }
666
+ } : {}, {
667
+ onClick: function onClick() {
668
+ return onColumnSort === null || onColumnSort === void 0 ? void 0 : onColumnSort(key);
669
+ }
670
+ }), heading));
671
+ } else if (isHeadingOutsideButton) {
672
+ heading = /*#__PURE__*/React.createElement("div", {
673
+ className: ax(["_1e0c1txw _4cvr1h6o _o5721q9c _8vu418qm _irr3l4ek"])
674
+ }, heading);
675
+ }
676
+ if (isEditable) {
677
+ var _containerRef$current4;
678
+ var previewRows = tableRows.map(function (_ref15) {
679
+ var cells = _ref15.cells;
680
+ var cell = cells.find(function (_ref16) {
681
+ var cellKey = _ref16.key;
682
+ return cellKey === key;
683
+ });
684
+ if (cell) {
685
+ return cell.content;
686
+ }
687
+ }).slice(0, 5);
688
+ var dragPreview = /*#__PURE__*/React.createElement(DragColumnPreview, {
689
+ title: heading,
690
+ rows: previewRows
691
+ });
692
+ return /*#__PURE__*/React.createElement(DraggableTableHeading, {
693
+ tableId: tableId,
694
+ key: key,
695
+ id: key,
696
+ index: cellIndex,
697
+ width: width,
698
+ onWidthChange: onColumnResize === null || onColumnResize === void 0 ? void 0 : onColumnResize.bind(null, key),
699
+ dndPreviewHeight: ((_containerRef$current4 = containerRef.current) === null || _containerRef$current4 === void 0 ? void 0 : _containerRef$current4.offsetHeight) || 0,
700
+ dragPreview: dragPreview,
701
+ isWrapped: wrappedColumnKeys === null || wrappedColumnKeys === void 0 ? void 0 : wrappedColumnKeys.includes(key),
702
+ onIsWrappedChange: onWrappedColumnChange === null || onWrappedColumnChange === void 0 ? void 0 : onWrappedColumnChange.bind(null, key)
703
+ }, heading);
704
+ } else {
705
+ return /*#__PURE__*/React.createElement(TableHeading, _extends({
706
+ key: key,
707
+ "data-testid": "".concat(key, "-column-heading")
708
+ }, fg('platform_lp_jira_sllv_renderer_column_sorting') ? {
709
+ '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
710
+ } : {}, {
711
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
712
+ style: getWidthCss({
713
+ shouldUseWidth: shouldUseWidth,
714
+ width: width
715
+ })
716
+ }), heading);
717
+ }
718
+ }), onVisibleColumnKeysChange && (shouldShowTableSettingsMenu ? /*#__PURE__*/React.createElement(ColumnPickerHeaderWithSettings, null, /*#__PURE__*/React.createElement(Inline, {
719
+ alignBlock: "center",
720
+ alignInline: "end",
721
+ space: "space.050"
722
+ }, /*#__PURE__*/React.createElement(ColumnPicker, {
723
+ columns: shouldDisplayColumnsInPicker ? orderedColumns : [],
724
+ selectedColumnKeys: shouldDisplayColumnsInPicker ? visibleColumnKeys : [],
725
+ onSelectedColumnKeysChange: onSelectedColumnKeysChange,
726
+ onOpen: handlePickerOpen
727
+ }), /*#__PURE__*/React.createElement(TableSettingsMenu, {
728
+ wrapTextSetting: tableSettingsMenuProps.wrapTextSetting
729
+ }))) : /*#__PURE__*/React.createElement(ColumnPickerHeader, null, /*#__PURE__*/React.createElement(ColumnPicker, {
730
+ columns: shouldDisplayColumnsInPicker ? orderedColumns : [],
731
+ selectedColumnKeys: shouldDisplayColumnsInPicker ? visibleColumnKeys : [],
732
+ onSelectedColumnKeysChange: onSelectedColumnKeysChange,
733
+ onOpen: handlePickerOpen
734
+ }))))), /*#__PURE__*/React.createElement("tbody", {
735
+ "data-testid": testId && "".concat(testId, "--body"),
736
+ className: ax(["_n7zlidpf"])
737
+ }, hasNoResults && /*#__PURE__*/React.createElement("tr", {
738
+ "data-testid": testId && "".concat(testId, "--no-results-row")
739
+ }, /*#__PURE__*/React.createElement(InlineEditableTableCell, {
740
+ colSpan: Math.max(headerColumns.length + (onVisibleColumnKeysChange ? 1 : 0), 1)
741
+ }, /*#__PURE__*/React.createElement("div", {
742
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- width is measured from the scrollport at runtime
743
+ style: {
744
+ width: noResultsWidth
745
+ },
746
+ className: ax(["_kqsw1if8 _1ltvidpf _1e0c1txw _1bah1h6o"])
747
+ }, /*#__PURE__*/React.createElement(NoResults, {
748
+ isCompact: true
749
+ })))), rows.map(function (_ref17) {
750
+ var key = _ref17.key,
751
+ cells = _ref17.cells,
752
+ ref = _ref17.ref;
753
+ return /*#__PURE__*/React.createElement("tr", {
754
+ key: key,
755
+ "data-testid": testId && "".concat(testId, "--row-").concat(key),
756
+ ref: ref
757
+ }, cells.map(function (_ref18, cellIndex) {
758
+ var cellKey = _ref18.key,
759
+ cellType = _ref18.type,
760
+ content = _ref18.content,
761
+ width = _ref18.width;
762
+ var isLastCell = cellIndex === cells.length - 1;
763
+ var loadingRowStyle = getWidthCss({
764
+ shouldUseWidth: shouldUseWidth,
765
+ width: width
766
+ });
767
+ return /*#__PURE__*/React.createElement(InlineEditableTableCell, {
768
+ key: cellKey,
769
+ "data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
770
+ colSpan: isEditable && isLastCell ? 2 : undefined
771
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
772
+ ,
773
+ style: loadingRowStyle,
774
+ className: ax([wrappedColumnKeys !== null && wrappedColumnKeys !== void 0 && wrappedColumnKeys.includes(cellKey) ? "_o5724jg8" : "_1bto1l2s _o5721q9c", cellType === 'richtext' && fg('platform_lp_sllv_richtext_margin_reset') && "_s7n4jp4b"])
775
+ }, content);
776
+ }));
777
+ }))));
778
+ return /*#__PURE__*/React.createElement(FlagsProvider, null, view);
779
+ };