@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,156 @@
1
+ import addMonths from 'date-fns/addMonths';
2
+ import differenceInDays from 'date-fns/differenceInDays';
3
+ import endOfDay from 'date-fns/endOfDay';
4
+ import getDaysInMonth from 'date-fns/getDaysInMonth';
5
+ import isFirstDayOfMonth from 'date-fns/isFirstDayOfMonth';
6
+ import isLastDayOfMonth from 'date-fns/isLastDayOfMonth';
7
+ import isSameDay from 'date-fns/isSameDay';
8
+ import isSameMonth from 'date-fns/isSameMonth';
9
+ import isSameYear from 'date-fns/isSameYear';
10
+ import startOfDay from 'date-fns/startOfDay';
11
+ import { messages } from './messages';
12
+ const dateOptions = {
13
+ month: 'short',
14
+ day: 'numeric',
15
+ year: 'numeric'
16
+ };
17
+ const timeOptions = {
18
+ hour12: false,
19
+ hour: '2-digit',
20
+ minute: '2-digit'
21
+ };
22
+ const isDayRange = (startDate, endDate) => {
23
+ // Naivly, we could just check
24
+ // return startDate.getTime() === endDate.getTime();
25
+ return isSameYear(startDate, endDate) && isSameMonth(startDate, endDate) && isSameDay(startDate, endDate);
26
+ };
27
+ const isMonthRange = (startDate, endDate) => {
28
+ return isSameYear(startDate, endDate) && isSameMonth(startDate, endDate) && isFirstDayOfMonth(startDate) && isLastDayOfMonth(endDate);
29
+ };
30
+
31
+ /**
32
+ * Checks if the date range is a quarter range.
33
+ * A quarter range is a range of 3 months.
34
+ * The start date must be the first day of the month.
35
+ * The end date must be the last day of the month.
36
+ * Quarters can span across multiple years.
37
+ */
38
+ const isQuarterRange = (startDate, endDate) => {
39
+ // We need to add 1 to the difference in days
40
+ // because the differenceInDays method returns the number of full days between the two dates
41
+ // and we want to include the start and end dates
42
+ const diffDays = Math.abs(differenceInDays(startDate, endDate)) + 1;
43
+ const firstMonthDays = getDaysInMonth(startDate);
44
+ const secondMonthDays = getDaysInMonth(addMonths(startDate, 1));
45
+ const thirdMonthDays = getDaysInMonth(endDate);
46
+ return diffDays === firstMonthDays + secondMonthDays + thirdMonthDays && isFirstDayOfMonth(startDate) && isLastDayOfMonth(endDate);
47
+ };
48
+ const getDateScale = (startDate, endDate) => {
49
+ if (isDayRange(startDate, endDate)) {
50
+ // start: 2025-11-01
51
+ // end: 2025-11-01
52
+ return 'day';
53
+ }
54
+ if (isMonthRange(startDate, endDate)) {
55
+ // start: 2025-11-01
56
+ // end: 2025-11-30
57
+ return 'month';
58
+ }
59
+ if (isQuarterRange(startDate, endDate)) {
60
+ // start: 2025-11-01
61
+ // end: 2026-01-31
62
+ return 'quarter';
63
+ }
64
+
65
+ // start: 2025-11-02
66
+ // end: 2026-05-19
67
+ return 'full';
68
+ };
69
+
70
+ // I decided to reuse the same logic as we use currently in the date-time render type
71
+ // Alternatively, we could also use here `parseISO` from `date-fns`
72
+ const shiftUtcToLocal = dateString => {
73
+ // In some cases we get a value of `2023-12-20` which when parsed by JS assumes meantime timezone, causing the date
74
+ // to be one day off in some timezones. We want it to display the date without converting timezones and a solution
75
+ // is to replace the hyphens with slashes. So it should be 20th Dec regardless of the timezone in this case.
76
+ // See https://stackoverflow.com/a/31732581
77
+ const dateValue = /^\d{4}-\d{2}-\d{2}$/.exec(dateString) ? dateString.replace(/-/g, '/') : dateString;
78
+ return new Date(dateValue);
79
+ };
80
+ const isDateTimeString = dateString => {
81
+ return dateString.match(/^\d{4}-\d{2}-\d{2}/) !== null && dateString.includes('T');
82
+ };
83
+ export function getFormattedDateRange(startValue, endValue, formatDate, formatMessage) {
84
+ if (!startValue || !endValue) {
85
+ return '';
86
+ }
87
+ const isDateTime = isDateTimeString(startValue) && isDateTimeString(endValue);
88
+ const startDate = isDateTime ? new Date(startValue) : startOfDay(shiftUtcToLocal(startValue));
89
+ const endDate = isDateTime ? new Date(endValue) : endOfDay(shiftUtcToLocal(endValue));
90
+ if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {
91
+ return '';
92
+ }
93
+
94
+ // If startValue and endValue are valid ISO date strings, we consider it a full range
95
+ const dateScale = isDateTime ? 'full' : getDateScale(startDate, endDate);
96
+ switch (dateScale) {
97
+ case 'day':
98
+ // Nov 1, 2025
99
+ return formatDate(startDate, {
100
+ month: 'short',
101
+ day: 'numeric',
102
+ year: 'numeric'
103
+ });
104
+ case 'month':
105
+ // Nov 2025
106
+ return formatDate(startDate, {
107
+ month: 'short',
108
+ year: 'numeric'
109
+ });
110
+ case 'quarter':
111
+ {
112
+ // Jan-Mar, 2025
113
+ if (isSameYear(startDate, endDate)) {
114
+ return formatMessage(messages.quarterRange, {
115
+ startMonth: formatDate(startDate, {
116
+ month: 'short'
117
+ }),
118
+ endMonth: formatDate(endDate, {
119
+ month: 'short'
120
+ }),
121
+ year: formatDate(startDate, {
122
+ year: 'numeric'
123
+ })
124
+ });
125
+ }
126
+ // Dec-Feb, 2025-2026
127
+ return formatMessage(messages.quarterRangeOverYears, {
128
+ startMonth: formatDate(startDate, {
129
+ month: 'short'
130
+ }),
131
+ endMonth: formatDate(endDate, {
132
+ month: 'short'
133
+ }),
134
+ startYear: formatDate(startDate, {
135
+ year: 'numeric'
136
+ }),
137
+ endYear: formatDate(endDate, {
138
+ year: 'numeric'
139
+ })
140
+ });
141
+ }
142
+ case 'full':
143
+ // Nov 1, 2025 - May 19, 2026
144
+ // Jan 1, 2025, 00:00 - Mar 31, 2025, 23:59
145
+ return formatMessage(messages.fullRange, {
146
+ start: formatDate(startDate, {
147
+ ...dateOptions,
148
+ ...timeOptions
149
+ }),
150
+ end: formatDate(endDate, {
151
+ ...dateOptions,
152
+ ...timeOptions
153
+ })
154
+ });
155
+ }
156
+ }
@@ -1,163 +1,8 @@
1
1
  import React from 'react';
2
- import addMonths from 'date-fns/addMonths';
3
- import differenceInDays from 'date-fns/differenceInDays';
4
- import endOfDay from 'date-fns/endOfDay';
5
- import getDaysInMonth from 'date-fns/getDaysInMonth';
6
- import isFirstDayOfMonth from 'date-fns/isFirstDayOfMonth';
7
- import isLastDayOfMonth from 'date-fns/isLastDayOfMonth';
8
- import isSameDay from 'date-fns/isSameDay';
9
- import isSameMonth from 'date-fns/isSameMonth';
10
- import isSameYear from 'date-fns/isSameYear';
11
- import startOfDay from 'date-fns/startOfDay';
12
2
  import { useIntl } from 'react-intl';
13
3
  import { Text } from '@atlaskit/primitives/compiled';
14
- import { messages } from './messages';
4
+ import { getFormattedDateRange } from './getFormattedDateRange';
15
5
  export const DATERANGE_TYPE_TEST_ID = 'link-datasource-render-type--daterange';
16
- const dateOptions = {
17
- month: 'short',
18
- day: 'numeric',
19
- year: 'numeric'
20
- };
21
- const timeOptions = {
22
- hour12: false,
23
- hour: '2-digit',
24
- minute: '2-digit'
25
- };
26
- const isDayRange = (startDate, endDate) => {
27
- // Naivly, we could just check
28
- // return startDate.getTime() === endDate.getTime();
29
- return isSameYear(startDate, endDate) && isSameMonth(startDate, endDate) && isSameDay(startDate, endDate);
30
- };
31
- const isMonthRange = (startDate, endDate) => {
32
- return isSameYear(startDate, endDate) && isSameMonth(startDate, endDate) && isFirstDayOfMonth(startDate) && isLastDayOfMonth(endDate);
33
- };
34
-
35
- /**
36
- * Checks if the date range is a quarter range.
37
- * A quarter range is a range of 3 months.
38
- * The start date must be the first day of the month.
39
- * The end date must be the last day of the month.
40
- * Quarters can span across multiple years.
41
- */
42
- const isQuarterRange = (startDate, endDate) => {
43
- // We need to add 1 to the difference in days
44
- // because the differenceInDays method returns the number of full days between the two dates
45
- // and we want to include the start and end dates
46
- const diffDays = Math.abs(differenceInDays(startDate, endDate)) + 1;
47
- const firstMonthDays = getDaysInMonth(startDate);
48
- const secondMonthDays = getDaysInMonth(addMonths(startDate, 1));
49
- const thirdMonthDays = getDaysInMonth(endDate);
50
- return diffDays === firstMonthDays + secondMonthDays + thirdMonthDays && isFirstDayOfMonth(startDate) && isLastDayOfMonth(endDate);
51
- };
52
- const getDateScale = (startDate, endDate) => {
53
- if (isDayRange(startDate, endDate)) {
54
- // start: 2025-11-01
55
- // end: 2025-11-01
56
- return 'day';
57
- }
58
- if (isMonthRange(startDate, endDate)) {
59
- // start: 2025-11-01
60
- // end: 2025-11-30
61
- return 'month';
62
- }
63
- if (isQuarterRange(startDate, endDate)) {
64
- // start: 2025-11-01
65
- // end: 2026-01-31
66
- return 'quarter';
67
- }
68
-
69
- // start: 2025-11-02
70
- // end: 2026-05-19
71
- return 'full';
72
- };
73
-
74
- // I decided to reuse the same logic as we use currently in the date-time render type
75
- // Alternatively, we could also use here `parseISO` from `date-fns`
76
- const shiftUtcToLocal = dateString => {
77
- // In some cases we get a value of `2023-12-20` which when parsed by JS assumes meantime timezone, causing the date
78
- // to be one day off in some timezones. We want it to display the date without converting timezones and a solution
79
- // is to replace the hyphens with slashes. So it should be 20th Dec regardless of the timezone in this case.
80
- // See https://stackoverflow.com/a/31732581
81
- const dateValue = /^\d{4}-\d{2}-\d{2}$/.exec(dateString) ? dateString.replace(/-/g, '/') : dateString;
82
- return new Date(dateValue);
83
- };
84
- const isDateTimeString = dateString => {
85
- return dateString.match(/^\d{4}-\d{2}-\d{2}/) !== null && dateString.includes('T');
86
- };
87
- export function getFormattedDateRange(startValue, endValue, formatDate, formatMessage) {
88
- if (!startValue || !endValue) {
89
- return '';
90
- }
91
- const isDateTime = isDateTimeString(startValue) && isDateTimeString(endValue);
92
- const startDate = isDateTime ? new Date(startValue) : startOfDay(shiftUtcToLocal(startValue));
93
- const endDate = isDateTime ? new Date(endValue) : endOfDay(shiftUtcToLocal(endValue));
94
- if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {
95
- return '';
96
- }
97
-
98
- // If startValue and endValue are valid ISO date strings, we consider it a full range
99
- const dateScale = isDateTime ? 'full' : getDateScale(startDate, endDate);
100
- switch (dateScale) {
101
- case 'day':
102
- // Nov 1, 2025
103
- return formatDate(startDate, {
104
- month: 'short',
105
- day: 'numeric',
106
- year: 'numeric'
107
- });
108
- case 'month':
109
- // Nov 2025
110
- return formatDate(startDate, {
111
- month: 'short',
112
- year: 'numeric'
113
- });
114
- case 'quarter':
115
- {
116
- // Jan-Mar, 2025
117
- if (isSameYear(startDate, endDate)) {
118
- return formatMessage(messages.quarterRange, {
119
- startMonth: formatDate(startDate, {
120
- month: 'short'
121
- }),
122
- endMonth: formatDate(endDate, {
123
- month: 'short'
124
- }),
125
- year: formatDate(startDate, {
126
- year: 'numeric'
127
- })
128
- });
129
- }
130
- // Dec-Feb, 2025-2026
131
- return formatMessage(messages.quarterRangeOverYears, {
132
- startMonth: formatDate(startDate, {
133
- month: 'short'
134
- }),
135
- endMonth: formatDate(endDate, {
136
- month: 'short'
137
- }),
138
- startYear: formatDate(startDate, {
139
- year: 'numeric'
140
- }),
141
- endYear: formatDate(endDate, {
142
- year: 'numeric'
143
- })
144
- });
145
- }
146
- case 'full':
147
- // Nov 1, 2025 - May 19, 2026
148
- // Jan 1, 2025, 00:00 - Mar 31, 2025, 23:59
149
- return formatMessage(messages.fullRange, {
150
- start: formatDate(startDate, {
151
- ...dateOptions,
152
- ...timeOptions
153
- }),
154
- end: formatDate(endDate, {
155
- ...dateOptions,
156
- ...timeOptions
157
- })
158
- });
159
- }
160
- }
161
6
  const DateRangeRenderType = ({
162
7
  value,
163
8
  testId = DATERANGE_TYPE_TEST_ID
@@ -0,0 +1,31 @@
1
+ const dateOptions = {
2
+ month: 'short',
3
+ day: 'numeric',
4
+ year: 'numeric'
5
+ };
6
+ const timeOptions = {
7
+ hour12: false,
8
+ hour: '2-digit',
9
+ minute: '2-digit'
10
+ };
11
+ export function getFormattedDate(value, display = 'datetime', formatDate) {
12
+ /* In some cases we get a value of `2023-12-20` which when parsed by JS assumes meantime timezone, causing the date
13
+ to be one day off in some timezones. We want it to display the date without converting timezones and a solution
14
+ is to replace the hyphens with slashes. So it should be 20th Dec regardless of the timezone in this case.
15
+ See https://stackoverflow.com/a/31732581
16
+ */
17
+ const dateValue = /^\d{4}-\d{2}-\d{2}$/.exec(value) ? value.replace(/-/g, '/') : value;
18
+ const date = new Date(dateValue);
19
+ if (!value || isNaN(date.getTime())) {
20
+ return '';
21
+ }
22
+ const options = {
23
+ date: dateOptions,
24
+ time: timeOptions,
25
+ datetime: {
26
+ ...dateOptions,
27
+ ...timeOptions
28
+ }
29
+ };
30
+ return formatDate(date, options[display] || options['date']);
31
+ }
@@ -1,38 +1,8 @@
1
1
  import React from 'react';
2
2
  import { useIntl } from 'react-intl';
3
3
  import { Text } from '@atlaskit/primitives/compiled';
4
+ import { getFormattedDate } from './getFormattedDate';
4
5
  export const DATETIME_TYPE_TEST_ID = 'link-datasource-render-type--datetime';
5
- const dateOptions = {
6
- month: 'short',
7
- day: 'numeric',
8
- year: 'numeric'
9
- };
10
- const timeOptions = {
11
- hour12: false,
12
- hour: '2-digit',
13
- minute: '2-digit'
14
- };
15
- export function getFormattedDate(value, display = 'datetime', formatDate) {
16
- /* In some cases we get a value of `2023-12-20` which when parsed by JS assumes meantime timezone, causing the date
17
- to be one day off in some timezones. We want it to display the date without converting timezones and a solution
18
- is to replace the hyphens with slashes. So it should be 20th Dec regardless of the timezone in this case.
19
- See https://stackoverflow.com/a/31732581
20
- */
21
- const dateValue = /^\d{4}-\d{2}-\d{2}$/.exec(value) ? value.replace(/-/g, '/') : value;
22
- const date = new Date(dateValue);
23
- if (!value || isNaN(date.getTime())) {
24
- return '';
25
- }
26
- const options = {
27
- date: dateOptions,
28
- time: timeOptions,
29
- datetime: {
30
- ...dateOptions,
31
- ...timeOptions
32
- }
33
- };
34
- return formatDate(date, options[display] || options['date']);
35
- }
36
6
  const DateTimeRenderType = ({
37
7
  value,
38
8
  testId = DATETIME_TYPE_TEST_ID,
@@ -1,115 +1,10 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React from 'react';
3
- import BooleanRenderType from './boolean';
4
- import DateRangeRenderType, { getFormattedDateRange } from './date-range';
5
- import DateTimeRenderType, { getFormattedDate } from './date-time';
6
- import IconRenderType from './icon';
7
- import LinkRenderType from './link';
8
- import NumberRenderType from './number';
9
- import RichTextRenderType, { parseRichText } from './richtext';
10
- import StatusRenderType from './status';
11
- import TagRenderType from './tag';
12
- import StringRenderType from './text';
13
- import UserRenderType from './user';
14
- import { userTypeMessages } from './user/messages';
15
- export const stringifyType = ({
16
- type,
17
- value
18
- }, formatMessage, formatDate) => {
19
- switch (type) {
20
- case 'boolean':
21
- case 'number':
22
- return (value === null || value === void 0 ? void 0 : value.toString()) || '';
23
- case 'date':
24
- return getFormattedDate(value, 'date', formatDate);
25
- case 'datetime':
26
- return getFormattedDate(value, 'datetime', formatDate);
27
- case 'daterange':
28
- {
29
- return getFormattedDateRange(value.start, value.end, formatDate, formatMessage);
30
- }
31
- case 'time':
32
- return getFormattedDate(value, 'time', formatDate);
33
- case 'icon':
34
- return (value === null || value === void 0 ? void 0 : value.label) || '';
35
- case 'status':
36
- return (value === null || value === void 0 ? void 0 : value.text.toString()) || '';
37
- case 'string':
38
- return value;
39
- case 'tag':
40
- return (value === null || value === void 0 ? void 0 : value.text) || '';
41
- case 'user':
42
- return (value === null || value === void 0 ? void 0 : value.displayName) || formatMessage(userTypeMessages.userDefaultdisplayNameValue);
43
- case 'richtext':
44
- if (value.html && value.html.trim() !== '') {
45
- return '';
46
- } else {
47
- const adfPlainText = parseRichText(value);
48
- return adfPlainText || '';
49
- }
50
- case 'link':
51
- default:
52
- return '';
53
- }
54
- };
55
- export const renderType = item => {
56
- switch (item.type) {
57
- case 'boolean':
58
- return item.values.map(booleanValue => /*#__PURE__*/React.createElement(BooleanRenderType, {
59
- value: booleanValue
60
- }));
61
- case 'date':
62
- return item.values.map(dateValue => /*#__PURE__*/React.createElement(DateTimeRenderType, {
63
- value: dateValue,
64
- display: "date"
65
- }));
66
- case 'datetime':
67
- return item.values.map(datTimeValue => /*#__PURE__*/React.createElement(DateTimeRenderType, {
68
- value: datTimeValue,
69
- display: "datetime"
70
- }));
71
- case 'daterange':
72
- {
73
- return item.values.map(dateRangeValue => /*#__PURE__*/React.createElement(DateRangeRenderType, {
74
- value: dateRangeValue
75
- }));
76
- }
77
- case 'icon':
78
- return item.values.map(iconValue => /*#__PURE__*/React.createElement(IconRenderType, iconValue));
79
- case 'link':
80
- return item.values.map(linkValue => /*#__PURE__*/React.createElement(LinkRenderType, _extends({
81
- key: linkValue === null || linkValue === void 0 ? void 0 : linkValue.url
82
- }, linkValue)));
83
- case 'number':
84
- return item.values.map(numberValue => /*#__PURE__*/React.createElement(NumberRenderType, {
85
- number: numberValue
86
- }));
87
- case 'status':
88
- return item.values.map(statusValue => /*#__PURE__*/React.createElement(StatusRenderType, statusValue));
89
- case 'string':
90
- return item.values.map(stringValue => /*#__PURE__*/React.createElement(StringRenderType, {
91
- key: stringValue,
92
- text: stringValue
93
- }));
94
- case 'tag':
95
- return item.values.map(tagValue => /*#__PURE__*/React.createElement(TagRenderType, {
96
- key: (tagValue === null || tagValue === void 0 ? void 0 : tagValue.id) || (tagValue === null || tagValue === void 0 ? void 0 : tagValue.text),
97
- tag: tagValue
98
- }));
99
- case 'time':
100
- return item.values.map(timeValue => /*#__PURE__*/React.createElement(DateTimeRenderType, {
101
- value: timeValue,
102
- display: "time"
103
- }));
104
- case 'user':
105
- return /*#__PURE__*/React.createElement(UserRenderType, {
106
- users: item.values
107
- });
108
- case 'richtext':
109
- return item.values.map(richValue => /*#__PURE__*/React.createElement(RichTextRenderType, {
110
- value: richValue
111
- }));
112
- default:
113
- return /*#__PURE__*/React.createElement(React.Fragment, null);
114
- }
115
- };
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
+
3
+ /**
4
+ * @deprecated Use `import { stringifyType } from '@atlaskit/link-datasource/elements'` instead.
5
+ */
6
+ export { stringifyType } from './stringifyType';
7
+ /**
8
+ * @deprecated Use `import { renderType } from '@atlaskit/link-datasource/elements'` instead.
9
+ */
10
+ export { renderType } from './renderType';
@@ -0,0 +1,74 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import BooleanRenderType from './boolean';
4
+ import DateRangeRenderType from './date-range';
5
+ import DateTimeRenderType from './date-time';
6
+ import IconRenderType from './icon';
7
+ import LinkRenderType from './link';
8
+ import NumberRenderType from './number';
9
+ import RichTextRenderType from './richtext';
10
+ import StatusRenderType from './status';
11
+ import TagRenderType from './tag';
12
+ import StringRenderType from './text';
13
+ import UserRenderType from './user';
14
+ export const renderType = item => {
15
+ switch (item.type) {
16
+ case 'boolean':
17
+ return item.values.map(booleanValue => /*#__PURE__*/React.createElement(BooleanRenderType, {
18
+ value: booleanValue
19
+ }));
20
+ case 'date':
21
+ return item.values.map(dateValue => /*#__PURE__*/React.createElement(DateTimeRenderType, {
22
+ value: dateValue,
23
+ display: "date"
24
+ }));
25
+ case 'datetime':
26
+ return item.values.map(datTimeValue => /*#__PURE__*/React.createElement(DateTimeRenderType, {
27
+ value: datTimeValue,
28
+ display: "datetime"
29
+ }));
30
+ case 'daterange':
31
+ {
32
+ return item.values.map(dateRangeValue => /*#__PURE__*/React.createElement(DateRangeRenderType, {
33
+ value: dateRangeValue
34
+ }));
35
+ }
36
+ case 'icon':
37
+ return item.values.map(iconValue => /*#__PURE__*/React.createElement(IconRenderType, iconValue));
38
+ case 'link':
39
+ return item.values.map(linkValue => /*#__PURE__*/React.createElement(LinkRenderType, _extends({
40
+ key: linkValue === null || linkValue === void 0 ? void 0 : linkValue.url
41
+ }, linkValue)));
42
+ case 'number':
43
+ return item.values.map(numberValue => /*#__PURE__*/React.createElement(NumberRenderType, {
44
+ number: numberValue
45
+ }));
46
+ case 'status':
47
+ return item.values.map(statusValue => /*#__PURE__*/React.createElement(StatusRenderType, statusValue));
48
+ case 'string':
49
+ return item.values.map(stringValue => /*#__PURE__*/React.createElement(StringRenderType, {
50
+ key: stringValue,
51
+ text: stringValue
52
+ }));
53
+ case 'tag':
54
+ return item.values.map(tagValue => /*#__PURE__*/React.createElement(TagRenderType, {
55
+ key: (tagValue === null || tagValue === void 0 ? void 0 : tagValue.id) || (tagValue === null || tagValue === void 0 ? void 0 : tagValue.text),
56
+ tag: tagValue
57
+ }));
58
+ case 'time':
59
+ return item.values.map(timeValue => /*#__PURE__*/React.createElement(DateTimeRenderType, {
60
+ value: timeValue,
61
+ display: "time"
62
+ }));
63
+ case 'user':
64
+ return /*#__PURE__*/React.createElement(UserRenderType, {
65
+ users: item.values
66
+ });
67
+ case 'richtext':
68
+ return item.values.map(richValue => /*#__PURE__*/React.createElement(RichTextRenderType, {
69
+ value: richValue
70
+ }));
71
+ default:
72
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
73
+ }
74
+ };
@@ -4,42 +4,8 @@ import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { useMemo } from 'react';
6
6
  import dompurify from 'dompurify';
7
- import { defaultSchema } from '@atlaskit/adf-schema/schema-default';
8
- import { Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
7
+ import { parseRichText } from './parseRichText';
9
8
  const rootStyles = null;
10
- const smartLinkNodeToUrl = node => {
11
- var _node$attrs$url;
12
- return (_node$attrs$url = node.attrs.url) !== null && _node$attrs$url !== void 0 ? _node$attrs$url : '';
13
- };
14
- const schemaSmartLinkOverride = new Schema({
15
- nodes: defaultSchema.spec.nodes.update('inlineCard', {
16
- ...defaultSchema.spec.nodes.get('inlineCard'),
17
- leafText: smartLinkNodeToUrl
18
- }).update('blockCard', {
19
- ...defaultSchema.spec.nodes.get('blockCard'),
20
- leafText: smartLinkNodeToUrl
21
- }).update('embedCard', {
22
- ...defaultSchema.spec.nodes.get('embedCard'),
23
- leafText: smartLinkNodeToUrl
24
- }),
25
- marks: defaultSchema.spec.marks
26
- });
27
- export const parseRichText = value => {
28
- try {
29
- if (value.type === 'adf') {
30
- const adf = JSON.parse(value.text);
31
- return PMNode.fromJSON(schemaSmartLinkOverride, {
32
- ...adf,
33
- content: [...adf.content.slice(0, 2)]
34
- }).textContent;
35
- }
36
- return null;
37
- } catch (e) {
38
- // eslint-disable-next-line no-console
39
- console.error('error parsing adf', e);
40
- return null;
41
- }
42
- };
43
9
  const RichTextType = ({
44
10
  value
45
11
  }) => {
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+
6
+ import { defaultSchema } from '@atlaskit/adf-schema/schema-default';
7
+ import { Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
8
+ const smartLinkNodeToUrl = node => {
9
+ var _node$attrs$url;
10
+ return (_node$attrs$url = node.attrs.url) !== null && _node$attrs$url !== void 0 ? _node$attrs$url : '';
11
+ };
12
+ const schemaSmartLinkOverride = new Schema({
13
+ nodes: defaultSchema.spec.nodes.update('inlineCard', {
14
+ ...defaultSchema.spec.nodes.get('inlineCard'),
15
+ leafText: smartLinkNodeToUrl
16
+ }).update('blockCard', {
17
+ ...defaultSchema.spec.nodes.get('blockCard'),
18
+ leafText: smartLinkNodeToUrl
19
+ }).update('embedCard', {
20
+ ...defaultSchema.spec.nodes.get('embedCard'),
21
+ leafText: smartLinkNodeToUrl
22
+ }),
23
+ marks: defaultSchema.spec.marks
24
+ });
25
+ export const parseRichText = value => {
26
+ try {
27
+ if (value.type === 'adf') {
28
+ const adf = JSON.parse(value.text);
29
+ return PMNode.fromJSON(schemaSmartLinkOverride, {
30
+ ...adf,
31
+ content: [...adf.content.slice(0, 2)]
32
+ }).textContent;
33
+ }
34
+ return null;
35
+ } catch (e) {
36
+ // eslint-disable-next-line no-console
37
+ console.error('error parsing adf', e);
38
+ return null;
39
+ }
40
+ };