@atlaskit/link-datasource 0.14.4

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 (245) hide show
  1. package/CHANGELOG.md +233 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/hooks/useDatasourceTableState.js +133 -0
  4. package/dist/cjs/index.js +19 -0
  5. package/dist/cjs/services/getAvailableJiraSites.js +65 -0
  6. package/dist/cjs/services/makeGetJqlAutocompleteData.js +66 -0
  7. package/dist/cjs/services/makeGetJqlSuggestionsData.js +55 -0
  8. package/dist/cjs/ui/issue-like-table/column-picker/index.js +93 -0
  9. package/dist/cjs/ui/issue-like-table/column-picker/types.js +5 -0
  10. package/dist/cjs/ui/issue-like-table/draggable-table-heading.js +182 -0
  11. package/dist/cjs/ui/issue-like-table/empty-state/index.js +127 -0
  12. package/dist/cjs/ui/issue-like-table/empty-state/priority.js +28 -0
  13. package/dist/cjs/ui/issue-like-table/empty-state/type.js +51 -0
  14. package/dist/cjs/ui/issue-like-table/empty-state/types.js +5 -0
  15. package/dist/cjs/ui/issue-like-table/index.js +300 -0
  16. package/dist/cjs/ui/issue-like-table/render-type/boolean/index.js +30 -0
  17. package/dist/cjs/ui/issue-like-table/render-type/boolean/messages.js +20 -0
  18. package/dist/cjs/ui/issue-like-table/render-type/date-time/index.js +47 -0
  19. package/dist/cjs/ui/issue-like-table/render-type/icon/index.js +34 -0
  20. package/dist/cjs/ui/issue-like-table/render-type/index.js +63 -0
  21. package/dist/cjs/ui/issue-like-table/render-type/link/index.js +56 -0
  22. package/dist/cjs/ui/issue-like-table/render-type/number/index.js +24 -0
  23. package/dist/cjs/ui/issue-like-table/render-type/status/index.js +28 -0
  24. package/dist/cjs/ui/issue-like-table/render-type/tag/index.js +27 -0
  25. package/dist/cjs/ui/issue-like-table/render-type/text/index.js +23 -0
  26. package/dist/cjs/ui/issue-like-table/render-type/user/index.js +36 -0
  27. package/dist/cjs/ui/issue-like-table/render-type/user/messages.js +15 -0
  28. package/dist/cjs/ui/issue-like-table/styled.js +12 -0
  29. package/dist/cjs/ui/issue-like-table/types.js +5 -0
  30. package/dist/cjs/ui/issue-like-table/useIsOnScreen.js +32 -0
  31. package/dist/cjs/ui/jira-issues/modal/basic-search-input/index.js +52 -0
  32. package/dist/cjs/ui/jira-issues/modal/basic-search-input/messages.js +15 -0
  33. package/dist/cjs/ui/jira-issues/modal/index.js +267 -0
  34. package/dist/cjs/ui/jira-issues/modal/jira-search-container/buildJQL.js +27 -0
  35. package/dist/cjs/ui/jira-issues/modal/jira-search-container/index.js +116 -0
  36. package/dist/cjs/ui/jira-issues/modal/jira-search-container/messages.js +15 -0
  37. package/dist/cjs/ui/jira-issues/modal/jql-editor/index.js +41 -0
  38. package/dist/cjs/ui/jira-issues/modal/messages.js +45 -0
  39. package/dist/cjs/ui/jira-issues/modal/mode-switcher/index.js +97 -0
  40. package/dist/cjs/ui/jira-issues/modal/site-selector/index.js +55 -0
  41. package/dist/cjs/ui/jira-issues/modal/site-selector/messages.js +20 -0
  42. package/dist/cjs/ui/jira-issues/table-footer/index.js +68 -0
  43. package/dist/cjs/ui/jira-issues/table-footer/messages.js +25 -0
  44. package/dist/cjs/ui/jira-issues/table-footer/sync-info/index.js +79 -0
  45. package/dist/cjs/ui/jira-issues/table-footer/sync-info/messages.js +20 -0
  46. package/dist/cjs/ui/jira-issues/tableView.js +64 -0
  47. package/dist/cjs/ui/jira-issues/types.js +5 -0
  48. package/dist/cjs/version.json +5 -0
  49. package/dist/es2019/hooks/useDatasourceTableState.js +77 -0
  50. package/dist/es2019/index.js +2 -0
  51. package/dist/es2019/services/getAvailableJiraSites.js +20 -0
  52. package/dist/es2019/services/makeGetJqlAutocompleteData.js +19 -0
  53. package/dist/es2019/services/makeGetJqlSuggestionsData.js +11 -0
  54. package/dist/es2019/ui/issue-like-table/column-picker/index.js +77 -0
  55. package/dist/es2019/ui/issue-like-table/column-picker/types.js +1 -0
  56. package/dist/es2019/ui/issue-like-table/draggable-table-heading.js +166 -0
  57. package/dist/es2019/ui/issue-like-table/empty-state/index.js +113 -0
  58. package/dist/es2019/ui/issue-like-table/empty-state/priority.js +32 -0
  59. package/dist/es2019/ui/issue-like-table/empty-state/type.js +46 -0
  60. package/dist/es2019/ui/issue-like-table/empty-state/types.js +1 -0
  61. package/dist/es2019/ui/issue-like-table/index.js +259 -0
  62. package/dist/es2019/ui/issue-like-table/render-type/boolean/index.js +21 -0
  63. package/dist/es2019/ui/issue-like-table/render-type/boolean/messages.js +13 -0
  64. package/dist/es2019/ui/issue-like-table/render-type/date-time/index.js +37 -0
  65. package/dist/es2019/ui/issue-like-table/render-type/icon/index.js +27 -0
  66. package/dist/es2019/ui/issue-like-table/render-type/index.js +55 -0
  67. package/dist/es2019/ui/issue-like-table/render-type/link/index.js +38 -0
  68. package/dist/es2019/ui/issue-like-table/render-type/number/index.js +15 -0
  69. package/dist/es2019/ui/issue-like-table/render-type/status/index.js +19 -0
  70. package/dist/es2019/ui/issue-like-table/render-type/tag/index.js +18 -0
  71. package/dist/es2019/ui/issue-like-table/render-type/text/index.js +14 -0
  72. package/dist/es2019/ui/issue-like-table/render-type/user/index.js +29 -0
  73. package/dist/es2019/ui/issue-like-table/render-type/user/messages.js +8 -0
  74. package/dist/es2019/ui/issue-like-table/styled.js +6 -0
  75. package/dist/es2019/ui/issue-like-table/types.js +1 -0
  76. package/dist/es2019/ui/issue-like-table/useIsOnScreen.js +17 -0
  77. package/dist/es2019/ui/jira-issues/modal/basic-search-input/index.js +42 -0
  78. package/dist/es2019/ui/jira-issues/modal/basic-search-input/messages.js +8 -0
  79. package/dist/es2019/ui/jira-issues/modal/index.js +227 -0
  80. package/dist/es2019/ui/jira-issues/modal/jira-search-container/buildJQL.js +20 -0
  81. package/dist/es2019/ui/jira-issues/modal/jira-search-container/index.js +90 -0
  82. package/dist/es2019/ui/jira-issues/modal/jira-search-container/messages.js +8 -0
  83. package/dist/es2019/ui/jira-issues/modal/jql-editor/index.js +33 -0
  84. package/dist/es2019/ui/jira-issues/modal/messages.js +38 -0
  85. package/dist/es2019/ui/jira-issues/modal/mode-switcher/index.js +90 -0
  86. package/dist/es2019/ui/jira-issues/modal/site-selector/index.js +43 -0
  87. package/dist/es2019/ui/jira-issues/modal/site-selector/messages.js +13 -0
  88. package/dist/es2019/ui/jira-issues/table-footer/index.js +78 -0
  89. package/dist/es2019/ui/jira-issues/table-footer/messages.js +18 -0
  90. package/dist/es2019/ui/jira-issues/table-footer/sync-info/index.js +59 -0
  91. package/dist/es2019/ui/jira-issues/table-footer/sync-info/messages.js +13 -0
  92. package/dist/es2019/ui/jira-issues/tableView.js +57 -0
  93. package/dist/es2019/ui/jira-issues/types.js +1 -0
  94. package/dist/es2019/version.json +5 -0
  95. package/dist/esm/hooks/useDatasourceTableState.js +125 -0
  96. package/dist/esm/index.js +2 -0
  97. package/dist/esm/services/getAvailableJiraSites.js +57 -0
  98. package/dist/esm/services/makeGetJqlAutocompleteData.js +58 -0
  99. package/dist/esm/services/makeGetJqlSuggestionsData.js +47 -0
  100. package/dist/esm/ui/issue-like-table/column-picker/index.js +85 -0
  101. package/dist/esm/ui/issue-like-table/column-picker/types.js +1 -0
  102. package/dist/esm/ui/issue-like-table/draggable-table-heading.js +173 -0
  103. package/dist/esm/ui/issue-like-table/empty-state/index.js +118 -0
  104. package/dist/esm/ui/issue-like-table/empty-state/priority.js +20 -0
  105. package/dist/esm/ui/issue-like-table/empty-state/type.js +43 -0
  106. package/dist/esm/ui/issue-like-table/empty-state/types.js +1 -0
  107. package/dist/esm/ui/issue-like-table/index.js +292 -0
  108. package/dist/esm/ui/issue-like-table/render-type/boolean/index.js +21 -0
  109. package/dist/esm/ui/issue-like-table/render-type/boolean/messages.js +13 -0
  110. package/dist/esm/ui/issue-like-table/render-type/date-time/index.js +38 -0
  111. package/dist/esm/ui/issue-like-table/render-type/icon/index.js +25 -0
  112. package/dist/esm/ui/issue-like-table/render-type/index.js +55 -0
  113. package/dist/esm/ui/issue-like-table/render-type/link/index.js +44 -0
  114. package/dist/esm/ui/issue-like-table/render-type/number/index.js +15 -0
  115. package/dist/esm/ui/issue-like-table/render-type/status/index.js +19 -0
  116. package/dist/esm/ui/issue-like-table/render-type/tag/index.js +18 -0
  117. package/dist/esm/ui/issue-like-table/render-type/text/index.js +14 -0
  118. package/dist/esm/ui/issue-like-table/render-type/user/index.js +27 -0
  119. package/dist/esm/ui/issue-like-table/render-type/user/messages.js +8 -0
  120. package/dist/esm/ui/issue-like-table/styled.js +4 -0
  121. package/dist/esm/ui/issue-like-table/types.js +1 -0
  122. package/dist/esm/ui/issue-like-table/useIsOnScreen.js +25 -0
  123. package/dist/esm/ui/jira-issues/modal/basic-search-input/index.js +43 -0
  124. package/dist/esm/ui/jira-issues/modal/basic-search-input/messages.js +8 -0
  125. package/dist/esm/ui/jira-issues/modal/index.js +255 -0
  126. package/dist/esm/ui/jira-issues/modal/jira-search-container/buildJQL.js +20 -0
  127. package/dist/esm/ui/jira-issues/modal/jira-search-container/index.js +104 -0
  128. package/dist/esm/ui/jira-issues/modal/jira-search-container/messages.js +8 -0
  129. package/dist/esm/ui/jira-issues/modal/jql-editor/index.js +31 -0
  130. package/dist/esm/ui/jira-issues/modal/messages.js +38 -0
  131. package/dist/esm/ui/jira-issues/modal/mode-switcher/index.js +88 -0
  132. package/dist/esm/ui/jira-issues/modal/site-selector/index.js +44 -0
  133. package/dist/esm/ui/jira-issues/modal/site-selector/messages.js +13 -0
  134. package/dist/esm/ui/jira-issues/table-footer/index.js +60 -0
  135. package/dist/esm/ui/jira-issues/table-footer/messages.js +18 -0
  136. package/dist/esm/ui/jira-issues/table-footer/sync-info/index.js +68 -0
  137. package/dist/esm/ui/jira-issues/table-footer/sync-info/messages.js +13 -0
  138. package/dist/esm/ui/jira-issues/tableView.js +55 -0
  139. package/dist/esm/ui/jira-issues/types.js +1 -0
  140. package/dist/esm/version.json +5 -0
  141. package/dist/types/hooks/useDatasourceTableState.d.ts +13 -0
  142. package/dist/types/index.d.ts +2 -0
  143. package/dist/types/services/getAvailableJiraSites.d.ts +6 -0
  144. package/dist/types/services/makeGetJqlAutocompleteData.d.ts +6 -0
  145. package/dist/types/services/makeGetJqlSuggestionsData.d.ts +5 -0
  146. package/dist/types/ui/issue-like-table/column-picker/index.d.ts +3 -0
  147. package/dist/types/ui/issue-like-table/column-picker/types.d.ts +6 -0
  148. package/dist/types/ui/issue-like-table/draggable-table-heading.d.ts +12 -0
  149. package/dist/types/ui/issue-like-table/empty-state/index.d.ts +6 -0
  150. package/dist/types/ui/issue-like-table/empty-state/priority.d.ts +6 -0
  151. package/dist/types/ui/issue-like-table/empty-state/type.d.ts +6 -0
  152. package/dist/types/ui/issue-like-table/empty-state/types.d.ts +2 -0
  153. package/dist/types/ui/issue-like-table/index.d.ts +15 -0
  154. package/dist/types/ui/issue-like-table/render-type/boolean/index.d.ts +8 -0
  155. package/dist/types/ui/issue-like-table/render-type/boolean/messages.d.ts +12 -0
  156. package/dist/types/ui/issue-like-table/render-type/date-time/index.d.ts +10 -0
  157. package/dist/types/ui/issue-like-table/render-type/icon/index.d.ts +8 -0
  158. package/dist/types/ui/issue-like-table/render-type/index.d.ts +2 -0
  159. package/dist/types/ui/issue-like-table/render-type/link/index.d.ts +8 -0
  160. package/dist/types/ui/issue-like-table/render-type/number/index.d.ts +8 -0
  161. package/dist/types/ui/issue-like-table/render-type/status/index.d.ts +8 -0
  162. package/dist/types/ui/issue-like-table/render-type/tag/index.d.ts +9 -0
  163. package/dist/types/ui/issue-like-table/render-type/text/index.d.ts +8 -0
  164. package/dist/types/ui/issue-like-table/render-type/user/index.d.ts +11 -0
  165. package/dist/types/ui/issue-like-table/render-type/user/messages.d.ts +7 -0
  166. package/dist/types/ui/issue-like-table/styled.d.ts +5 -0
  167. package/dist/types/ui/issue-like-table/types.d.ts +38 -0
  168. package/dist/types/ui/issue-like-table/useIsOnScreen.d.ts +1 -0
  169. package/dist/types/ui/jira-issues/modal/basic-search-input/index.d.ts +12 -0
  170. package/dist/types/ui/jira-issues/modal/basic-search-input/messages.d.ts +7 -0
  171. package/dist/types/ui/jira-issues/modal/index.d.ts +13 -0
  172. package/dist/types/ui/jira-issues/modal/jira-search-container/buildJQL.d.ts +7 -0
  173. package/dist/types/ui/jira-issues/modal/jira-search-container/index.d.ts +7 -0
  174. package/dist/types/ui/jira-issues/modal/jira-search-container/messages.d.ts +7 -0
  175. package/dist/types/ui/jira-issues/modal/jql-editor/index.d.ts +8 -0
  176. package/dist/types/ui/jira-issues/modal/messages.d.ts +37 -0
  177. package/dist/types/ui/jira-issues/modal/mode-switcher/index.d.ts +12 -0
  178. package/dist/types/ui/jira-issues/modal/site-selector/index.d.ts +10 -0
  179. package/dist/types/ui/jira-issues/modal/site-selector/messages.d.ts +12 -0
  180. package/dist/types/ui/jira-issues/table-footer/index.d.ts +7 -0
  181. package/dist/types/ui/jira-issues/table-footer/messages.d.ts +17 -0
  182. package/dist/types/ui/jira-issues/table-footer/sync-info/index.d.ts +4 -0
  183. package/dist/types/ui/jira-issues/table-footer/sync-info/messages.d.ts +12 -0
  184. package/dist/types/ui/jira-issues/tableView.d.ts +3 -0
  185. package/dist/types/ui/jira-issues/types.d.ts +14 -0
  186. package/dist/types-ts4.5/hooks/useDatasourceTableState.d.ts +13 -0
  187. package/dist/types-ts4.5/index.d.ts +2 -0
  188. package/dist/types-ts4.5/services/getAvailableJiraSites.d.ts +6 -0
  189. package/dist/types-ts4.5/services/makeGetJqlAutocompleteData.d.ts +6 -0
  190. package/dist/types-ts4.5/services/makeGetJqlSuggestionsData.d.ts +5 -0
  191. package/dist/types-ts4.5/ui/issue-like-table/column-picker/index.d.ts +3 -0
  192. package/dist/types-ts4.5/ui/issue-like-table/column-picker/types.d.ts +6 -0
  193. package/dist/types-ts4.5/ui/issue-like-table/draggable-table-heading.d.ts +12 -0
  194. package/dist/types-ts4.5/ui/issue-like-table/empty-state/index.d.ts +6 -0
  195. package/dist/types-ts4.5/ui/issue-like-table/empty-state/priority.d.ts +6 -0
  196. package/dist/types-ts4.5/ui/issue-like-table/empty-state/type.d.ts +6 -0
  197. package/dist/types-ts4.5/ui/issue-like-table/empty-state/types.d.ts +2 -0
  198. package/dist/types-ts4.5/ui/issue-like-table/index.d.ts +15 -0
  199. package/dist/types-ts4.5/ui/issue-like-table/render-type/boolean/index.d.ts +8 -0
  200. package/dist/types-ts4.5/ui/issue-like-table/render-type/boolean/messages.d.ts +12 -0
  201. package/dist/types-ts4.5/ui/issue-like-table/render-type/date-time/index.d.ts +10 -0
  202. package/dist/types-ts4.5/ui/issue-like-table/render-type/icon/index.d.ts +8 -0
  203. package/dist/types-ts4.5/ui/issue-like-table/render-type/index.d.ts +2 -0
  204. package/dist/types-ts4.5/ui/issue-like-table/render-type/link/index.d.ts +8 -0
  205. package/dist/types-ts4.5/ui/issue-like-table/render-type/number/index.d.ts +8 -0
  206. package/dist/types-ts4.5/ui/issue-like-table/render-type/status/index.d.ts +8 -0
  207. package/dist/types-ts4.5/ui/issue-like-table/render-type/tag/index.d.ts +9 -0
  208. package/dist/types-ts4.5/ui/issue-like-table/render-type/text/index.d.ts +8 -0
  209. package/dist/types-ts4.5/ui/issue-like-table/render-type/user/index.d.ts +11 -0
  210. package/dist/types-ts4.5/ui/issue-like-table/render-type/user/messages.d.ts +7 -0
  211. package/dist/types-ts4.5/ui/issue-like-table/styled.d.ts +5 -0
  212. package/dist/types-ts4.5/ui/issue-like-table/types.d.ts +38 -0
  213. package/dist/types-ts4.5/ui/issue-like-table/useIsOnScreen.d.ts +1 -0
  214. package/dist/types-ts4.5/ui/jira-issues/modal/basic-search-input/index.d.ts +12 -0
  215. package/dist/types-ts4.5/ui/jira-issues/modal/basic-search-input/messages.d.ts +7 -0
  216. package/dist/types-ts4.5/ui/jira-issues/modal/index.d.ts +13 -0
  217. package/dist/types-ts4.5/ui/jira-issues/modal/jira-search-container/buildJQL.d.ts +7 -0
  218. package/dist/types-ts4.5/ui/jira-issues/modal/jira-search-container/index.d.ts +7 -0
  219. package/dist/types-ts4.5/ui/jira-issues/modal/jira-search-container/messages.d.ts +7 -0
  220. package/dist/types-ts4.5/ui/jira-issues/modal/jql-editor/index.d.ts +8 -0
  221. package/dist/types-ts4.5/ui/jira-issues/modal/messages.d.ts +37 -0
  222. package/dist/types-ts4.5/ui/jira-issues/modal/mode-switcher/index.d.ts +12 -0
  223. package/dist/types-ts4.5/ui/jira-issues/modal/site-selector/index.d.ts +10 -0
  224. package/dist/types-ts4.5/ui/jira-issues/modal/site-selector/messages.d.ts +12 -0
  225. package/dist/types-ts4.5/ui/jira-issues/table-footer/index.d.ts +7 -0
  226. package/dist/types-ts4.5/ui/jira-issues/table-footer/messages.d.ts +17 -0
  227. package/dist/types-ts4.5/ui/jira-issues/table-footer/sync-info/index.d.ts +4 -0
  228. package/dist/types-ts4.5/ui/jira-issues/table-footer/sync-info/messages.d.ts +12 -0
  229. package/dist/types-ts4.5/ui/jira-issues/tableView.d.ts +3 -0
  230. package/dist/types-ts4.5/ui/jira-issues/types.d.ts +14 -0
  231. package/examples-helpers/buildIssueLikeTable.tsx +88 -0
  232. package/examples-helpers/buildJiraIssuesTable.tsx +31 -0
  233. package/examples-helpers/images.json +4 -0
  234. package/examples-helpers/mockAutocompleteData.ts +54 -0
  235. package/examples-helpers/mockJiraAvailableSites.ts +27 -0
  236. package/examples-helpers/mockJiraData.ts +546 -0
  237. package/examples-helpers/mockJqlSmartLinkData.ts +72 -0
  238. package/examples-helpers/mockSmartLinkData.ts +67 -0
  239. package/examples-helpers/mockSuggestionData.ts +17 -0
  240. package/examples-helpers/setupDatasourcesMocks.ts +199 -0
  241. package/examples-helpers/setupModalExampleMocks.ts +32 -0
  242. package/examples-helpers/smartLinkCustomClient.ts +26 -0
  243. package/package.json +118 -0
  244. package/report.api.md +98 -0
  245. package/tmp/api-report-tmp.d.ts +64 -0
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.IssueLikeDataTableView = exports.EmptyState = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _react = require("react");
12
+ var _react2 = require("@emotion/react");
13
+ var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
14
+ var _linkingCommon = require("@atlaskit/linking-common");
15
+ var _pragmaticDragAndDropAutoscroll = require("@atlaskit/pragmatic-drag-and-drop-autoscroll");
16
+ var _closestEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/addon/closest-edge");
17
+ var _reorderWithEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/util/reorder-with-edge");
18
+ var _element = require("@atlaskit/pragmatic-drag-and-drop/adapter/element");
19
+ var _combine = require("@atlaskit/pragmatic-drag-and-drop/util/combine");
20
+ var _columnPicker = require("./column-picker");
21
+ var _draggableTableHeading = require("./draggable-table-heading");
22
+ var _emptyState = _interopRequireDefault(require("./empty-state"));
23
+ var _renderType = require("./render-type");
24
+ var _styled = require("./styled");
25
+ var _useIsOnScreen = require("./useIsOnScreen");
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } /** @jsx jsx */
28
+ var tableHeadStyles = (0, _react2.css)({
29
+ background: "var(--ds-surface, #FFF)",
30
+ borderTop: '2px solid transparent'
31
+ });
32
+ var columnPickerHeaderStyles = (0, _react2.css)({
33
+ width: '40px',
34
+ // TODO use some variable for that?
35
+ paddingBlock: "var(--ds-space-100, 8px)"
36
+ });
37
+ var tableDragPreviewStyles = (0, _react2.css)({
38
+ backgroundColor: "var(--ds-surface, #FFF)"
39
+ });
40
+ var containerDragPreviewStyles = (0, _react2.css)({
41
+ overflow: 'hidden'
42
+ });
43
+ function extractIndex(data) {
44
+ var index = data.index;
45
+ (0, _tinyInvariant.default)(typeof index === 'number');
46
+ return index;
47
+ }
48
+ var orderColumns = function orderColumns(columns, visibleColumnKeys) {
49
+ // newColumnKeyOrder contains keys of selected (visible columns only).
50
+ // In order to sort all the columns we need to insert unselected ones into this list
51
+ // We put them into their absolution position as it was in unchanged (before column move) order.
52
+ columns.forEach(function (_ref, index) {
53
+ var key = _ref.key;
54
+ if (!visibleColumnKeys.includes(key)) {
55
+ visibleColumnKeys.splice(index, 0, key);
56
+ }
57
+ });
58
+ columns.sort(function (a, b) {
59
+ var indexB = visibleColumnKeys.indexOf(b.key);
60
+ var indexA = visibleColumnKeys.indexOf(a.key);
61
+ return indexA - indexB;
62
+ });
63
+ return (0, _toConsumableArray2.default)(columns);
64
+ };
65
+ var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
66
+ var _orderedColumns$find;
67
+ var testId = _ref2.testId,
68
+ onNextPage = _ref2.onNextPage,
69
+ items = _ref2.items,
70
+ columns = _ref2.columns,
71
+ _ref2$renderItem = _ref2.renderItem,
72
+ renderItem = _ref2$renderItem === void 0 ? _renderType.fallbackRenderType : _ref2$renderItem,
73
+ visibleColumnKeys = _ref2.visibleColumnKeys,
74
+ onVisibleColumnKeysChange = _ref2.onVisibleColumnKeysChange,
75
+ status = _ref2.status,
76
+ hasNextPage = _ref2.hasNextPage;
77
+ var tableId = (0, _react.useMemo)(function () {
78
+ return Symbol('unique-id');
79
+ }, []);
80
+ var _useState = (0, _react.useState)(null),
81
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
82
+ lastRowElement = _useState2[0],
83
+ setLastRowElement = _useState2[1];
84
+ var _useState3 = (0, _react.useState)(false),
85
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
86
+ isDragPreview = _useState4[0],
87
+ setIsDragPreview = _useState4[1];
88
+ var isBottomOfTableVisibleRaw = (0, _useIsOnScreen.useIsOnScreen)(lastRowElement);
89
+ var containerRef = (0, _react.useRef)(null);
90
+ var _useState5 = (0, _react.useState)(function () {
91
+ return orderColumns((0, _toConsumableArray2.default)(columns), (0, _toConsumableArray2.default)(visibleColumnKeys));
92
+ }),
93
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
94
+ orderedColumns = _useState6[0],
95
+ setOrderedColumns = _useState6[1];
96
+ var visibleSortedColumns = (0, _react.useMemo)(function () {
97
+ return visibleColumnKeys.map(function (visibleKey) {
98
+ return orderedColumns.find(function (_ref3) {
99
+ var key = _ref3.key;
100
+ return visibleKey === key;
101
+ });
102
+ }).filter(Boolean);
103
+ }, [orderedColumns, visibleColumnKeys]);
104
+
105
+ // TODO seems like this component can't handle some combination of incremental data retreaval.
106
+ // If data comes first, then columns and then visibleColumnKeys it blows up,
107
+ // or some other combination.
108
+
109
+ var identityColumnKey = (_orderedColumns$find = orderedColumns.find(function (column) {
110
+ return column.isIdentity;
111
+ })) === null || _orderedColumns$find === void 0 ? void 0 : _orderedColumns$find.key;
112
+ var loadingRow = (0, _react.useMemo)(function () {
113
+ return {
114
+ key: 'loading',
115
+ cells: visibleSortedColumns.map(function (_ref4) {
116
+ var key = _ref4.key;
117
+ var content = (0, _react2.jsx)(_linkingCommon.Skeleton, {
118
+ borderRadius: "var(--ds-radius-100, 3px)",
119
+ width: '100%',
120
+ height: '20px'
121
+ });
122
+ return {
123
+ key: key,
124
+ content: content
125
+ };
126
+ })
127
+ };
128
+ }, [visibleSortedColumns]);
129
+ var headColumns = visibleSortedColumns.map(function (column) {
130
+ return {
131
+ key: column.key,
132
+ content: column.title,
133
+ // width: TODO Find out how we going to retrieve column width
134
+ shouldTruncate: true
135
+ };
136
+ });
137
+ (0, _react.useEffect)(function () {
138
+ if (status === 'empty' || isBottomOfTableVisibleRaw && hasNextPage && status !== 'loading') {
139
+ void onNextPage();
140
+ }
141
+ }, [isBottomOfTableVisibleRaw, status, hasNextPage, onNextPage]);
142
+ var dndPreviewHeight = 0;
143
+ if (items.length > 0 && containerRef.current) {
144
+ var containerEl = containerRef.current;
145
+ (0, _tinyInvariant.default)(containerEl);
146
+ dndPreviewHeight = containerEl.offsetHeight;
147
+ }
148
+
149
+ // This variable contains initial Y mouse coordinate, so we can restrict
150
+ // autoScroller in X axis only
151
+ var initialAutoScrollerClientY = (0, _react.useRef)();
152
+ (0, _react.useEffect)(function () {
153
+ if (!onVisibleColumnKeysChange) {
154
+ return;
155
+ }
156
+ return (0, _combine.combine)((0, _element.monitorForElements)({
157
+ onDragStart: function onDragStart(_ref5) {
158
+ var location = _ref5.location;
159
+ initialAutoScrollerClientY.current = location.current.input.clientY;
160
+ _pragmaticDragAndDropAutoscroll.autoScroller.start({
161
+ input: location.current.input,
162
+ behavior: 'container-only'
163
+ });
164
+ },
165
+ onDrag: function onDrag(_ref6) {
166
+ var location = _ref6.location;
167
+ _pragmaticDragAndDropAutoscroll.autoScroller.updateInput({
168
+ input: _objectSpread(_objectSpread({}, location.current.input), {}, {
169
+ clientY: initialAutoScrollerClientY.current || 0
170
+ })
171
+ });
172
+ },
173
+ onDrop: function onDrop(_ref7) {
174
+ var source = _ref7.source,
175
+ location = _ref7.location;
176
+ initialAutoScrollerClientY.current = null;
177
+ _pragmaticDragAndDropAutoscroll.autoScroller.stop();
178
+ if (location.current.dropTargets.length === 0) {
179
+ return;
180
+ }
181
+ var target = location.current.dropTargets[0];
182
+ if (source.data.id === target.data.id) {
183
+ return;
184
+ }
185
+ if (source.data.type === 'table-header' && source.data.tableId === tableId) {
186
+ var closestEdgeOfTarget = (0, _closestEdge.extractClosestEdge)(target.data);
187
+ (0, _tinyInvariant.default)(closestEdgeOfTarget === 'left' || closestEdgeOfTarget === 'right');
188
+ var startIndex = extractIndex(source.data);
189
+ var indexOfTarget = extractIndex(target.data);
190
+ var newColumnKeyOrder = (0, _reorderWithEdge.reorderWithEdge)({
191
+ list: visibleColumnKeys,
192
+ closestEdgeOfTarget: closestEdgeOfTarget,
193
+ startIndex: startIndex,
194
+ indexOfTarget: indexOfTarget,
195
+ axis: 'horizontal'
196
+ });
197
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange((0, _toConsumableArray2.default)(newColumnKeyOrder));
198
+
199
+ // We sort columns (whole objects) according to their key order presented in newColumnKeyOrder
200
+ setOrderedColumns(function (columns) {
201
+ return orderColumns((0, _toConsumableArray2.default)(columns), (0, _toConsumableArray2.default)(newColumnKeyOrder));
202
+ });
203
+ }
204
+ }
205
+ }));
206
+ }, [visibleColumnKeys, onVisibleColumnKeysChange, tableId]);
207
+ var tableRows = (0, _react.useMemo)(function () {
208
+ return items.map(function (newRowData, rowIndex) {
209
+ return {
210
+ key: "".concat(identityColumnKey && newRowData[identityColumnKey] || rowIndex),
211
+ cells: visibleSortedColumns.map(function (_ref8) {
212
+ var key = _ref8.key,
213
+ type = _ref8.type;
214
+ var value = newRowData[key];
215
+ var values = Array.isArray(value) ? value : [value];
216
+ var content = values.map(function (value) {
217
+ return renderItem({
218
+ type: type,
219
+ value: value
220
+ });
221
+ });
222
+ return {
223
+ key: key,
224
+ content: content
225
+ };
226
+ }),
227
+ ref: rowIndex === items.length - 1 ? function (el) {
228
+ return setLastRowElement(el);
229
+ } : undefined
230
+ };
231
+ });
232
+ }, [identityColumnKey, renderItem, items, visibleSortedColumns]);
233
+ var rows = [].concat((0, _toConsumableArray2.default)(tableRows), (0, _toConsumableArray2.default)(status === 'loading' ? [loadingRow] : []));
234
+ var setIsDragPreviewOn = (0, _react.useCallback)(function () {
235
+ return setIsDragPreview(true);
236
+ }, [setIsDragPreview]);
237
+ var setIsDragPreviewOff = (0, _react.useCallback)(function () {
238
+ return setIsDragPreview(false);
239
+ }, [setIsDragPreview]);
240
+ var onSelectedColumnKeysChange = (0, _react.useCallback)(function (newSelectedColumnKeys) {
241
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange(newSelectedColumnKeys);
242
+ }, [onVisibleColumnKeysChange]);
243
+ return (0, _react2.jsx)("div", {
244
+ ref: containerRef,
245
+ css: isDragPreview ? containerDragPreviewStyles : null
246
+ }, (0, _react2.jsx)("table", {
247
+ css: isDragPreview ? tableDragPreviewStyles : null,
248
+ "data-testid": testId
249
+ }, (0, _react2.jsx)("thead", {
250
+ "data-testid": testId && "".concat(testId, "--head"),
251
+ css: tableHeadStyles
252
+ }, (0, _react2.jsx)("tr", null, headColumns.map(function (_ref9, cellIndex) {
253
+ var key = _ref9.key,
254
+ content = _ref9.content;
255
+ if (onVisibleColumnKeysChange) {
256
+ return (0, _react2.jsx)(_draggableTableHeading.DraggableTableHeading, {
257
+ tableId: tableId,
258
+ key: key,
259
+ id: key,
260
+ index: cellIndex,
261
+ dndPreviewHeight: dndPreviewHeight,
262
+ onDragPreviewStart: setIsDragPreviewOn,
263
+ onDragPreviewEnd: setIsDragPreviewOff
264
+ }, content);
265
+ } else {
266
+ return (0, _react2.jsx)(_styled.TableHeading, {
267
+ key: key,
268
+ "data-testid": "".concat(key, "-column-heading")
269
+ }, content);
270
+ }
271
+ }), onVisibleColumnKeysChange && (0, _react2.jsx)("th", {
272
+ css: columnPickerHeaderStyles
273
+ }, (0, _react2.jsx)(_columnPicker.ColumnPicker, {
274
+ columns: orderedColumns,
275
+ selectedColumnKeys: visibleColumnKeys,
276
+ onSelectedColumnKeysChange: onSelectedColumnKeysChange
277
+ })))), (0, _react2.jsx)("tbody", {
278
+ "data-testid": testId && "".concat(testId, "--body")
279
+ }, rows.map(function (_ref10) {
280
+ var key = _ref10.key,
281
+ cells = _ref10.cells,
282
+ ref = _ref10.ref;
283
+ return (0, _react2.jsx)("tr", {
284
+ key: key,
285
+ "data-testid": testId && "".concat(testId, "--row-").concat(key),
286
+ ref: ref
287
+ }, cells.map(function (_ref11, cellIndex) {
288
+ var key = _ref11.key,
289
+ content = _ref11.content;
290
+ return (0, _react2.jsx)("td", {
291
+ key: key,
292
+ "data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
293
+ colSpan: cellIndex + 1 === cells.length ? 2 : undefined
294
+ }, content);
295
+ }));
296
+ }))));
297
+ };
298
+ exports.IssueLikeDataTableView = IssueLikeDataTableView;
299
+ var EmptyState = _emptyState.default;
300
+ exports.EmptyState = EmptyState;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.BOOLEAN_TYPE_TEST_ID = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactIntlNext = require("react-intl-next");
10
+ var _text = _interopRequireDefault(require("../text"));
11
+ var _messages = require("./messages");
12
+ var BOOLEAN_TYPE_TEST_ID = 'link-datasource-render-type--boolean';
13
+ exports.BOOLEAN_TYPE_TEST_ID = BOOLEAN_TYPE_TEST_ID;
14
+ var BooleanRenderType = function BooleanRenderType(_ref) {
15
+ var value = _ref.value,
16
+ _ref$testId = _ref.testId,
17
+ testId = _ref$testId === void 0 ? BOOLEAN_TYPE_TEST_ID : _ref$testId;
18
+ var intl = (0, _reactIntlNext.useIntl)();
19
+ if (typeof value !== 'boolean') {
20
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
21
+ }
22
+ var TRUTHY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanTruthyValue);
23
+ var FALSY_TEXT = intl.formatMessage(_messages.booleanTypeMessages.booleanFalsyValue);
24
+ return /*#__PURE__*/_react.default.createElement(_text.default, {
25
+ text: value ? TRUTHY_TEXT : FALSY_TEXT,
26
+ testId: testId
27
+ });
28
+ };
29
+ var _default = BooleanRenderType;
30
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.booleanTypeMessages = void 0;
7
+ var _reactIntlNext = require("react-intl-next");
8
+ var booleanTypeMessages = (0, _reactIntlNext.defineMessages)({
9
+ booleanTruthyValue: {
10
+ id: 'linkDataSource.render-type.boolean.true',
11
+ description: 'Text to display for the boolean type when the value is true',
12
+ defaultMessage: 'Yes'
13
+ },
14
+ booleanFalsyValue: {
15
+ id: 'linkDataSource.render-type.boolean.false',
16
+ description: 'Text to display for the boolean type when the value is false',
17
+ defaultMessage: 'No'
18
+ }
19
+ });
20
+ exports.booleanTypeMessages = booleanTypeMessages;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.DATETIME_TYPE_TEST_ID = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _reactIntlNext = require("react-intl-next");
11
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
+ var DATETIME_TYPE_TEST_ID = 'link-datasource-render-type--datetime';
14
+ exports.DATETIME_TYPE_TEST_ID = DATETIME_TYPE_TEST_ID;
15
+ var dateOptions = {
16
+ month: 'short',
17
+ day: 'numeric',
18
+ year: 'numeric'
19
+ };
20
+ var timeOptions = {
21
+ hour12: false,
22
+ hour: '2-digit',
23
+ minute: '2-digit'
24
+ };
25
+ var DateTimeRenderType = function DateTimeRenderType(_ref) {
26
+ var value = _ref.value,
27
+ _ref$testId = _ref.testId,
28
+ testId = _ref$testId === void 0 ? DATETIME_TYPE_TEST_ID : _ref$testId,
29
+ _ref$display = _ref.display,
30
+ display = _ref$display === void 0 ? 'datetime' : _ref$display;
31
+ var date = new Date(value);
32
+ var intl = (0, _reactIntlNext.useIntl)();
33
+ if (!value || isNaN(date.getTime())) {
34
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
35
+ }
36
+ var options = {
37
+ date: dateOptions,
38
+ time: timeOptions,
39
+ datetime: _objectSpread(_objectSpread({}, dateOptions), timeOptions)
40
+ };
41
+ var formattedString = intl.formatDate(date, options[display] || options['date']);
42
+ return /*#__PURE__*/_react.default.createElement("span", {
43
+ "data-testid": testId
44
+ }, formattedString);
45
+ };
46
+ var _default = DateTimeRenderType;
47
+ exports.default = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ICON_TYPE_TEST_ID = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
11
+ var _image = _interopRequireDefault(require("@atlaskit/image"));
12
+ var _templateObject;
13
+ var IconWrapper = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
14
+ var ICON_TYPE_TEST_ID = 'link-datasource-render-type--icon';
15
+ exports.ICON_TYPE_TEST_ID = ICON_TYPE_TEST_ID;
16
+ var IconRenderType = function IconRenderType(_ref) {
17
+ var label = _ref.label,
18
+ source = _ref.source,
19
+ _ref$testId = _ref.testId,
20
+ testId = _ref$testId === void 0 ? ICON_TYPE_TEST_ID : _ref$testId;
21
+ var style = /svg/i.test(source) ? {
22
+ minWidth: '20px',
23
+ maxWidth: '20px'
24
+ } // having just width: '20px' shriks it when table width is reduced
25
+ : {};
26
+ return /*#__PURE__*/_react.default.createElement(IconWrapper, null, /*#__PURE__*/_react.default.createElement(_image.default, {
27
+ src: source,
28
+ alt: label,
29
+ "data-testid": testId,
30
+ style: style
31
+ }));
32
+ };
33
+ var _default = IconRenderType;
34
+ exports.default = _default;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.fallbackRenderType = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _boolean = _interopRequireDefault(require("./boolean"));
10
+ var _dateTime = _interopRequireDefault(require("./date-time"));
11
+ var _icon = _interopRequireDefault(require("./icon"));
12
+ var _link = _interopRequireDefault(require("./link"));
13
+ var _number = _interopRequireDefault(require("./number"));
14
+ var _status = _interopRequireDefault(require("./status"));
15
+ var _tag = _interopRequireDefault(require("./tag"));
16
+ var _text = _interopRequireDefault(require("./text"));
17
+ var _user = _interopRequireDefault(require("./user"));
18
+ var fallbackRenderType = function fallbackRenderType(item) {
19
+ switch (item.type) {
20
+ case 'boolean':
21
+ return /*#__PURE__*/_react.default.createElement(_boolean.default, {
22
+ value: item.value
23
+ });
24
+ case 'date':
25
+ return /*#__PURE__*/_react.default.createElement(_dateTime.default, {
26
+ value: item.value,
27
+ display: "date"
28
+ });
29
+ case 'datetime':
30
+ return /*#__PURE__*/_react.default.createElement(_dateTime.default, {
31
+ value: item.value,
32
+ display: "datetime"
33
+ });
34
+ case 'icon':
35
+ return /*#__PURE__*/_react.default.createElement(_icon.default, item.value);
36
+ case 'link':
37
+ return /*#__PURE__*/_react.default.createElement(_link.default, item.value);
38
+ case 'number':
39
+ return /*#__PURE__*/_react.default.createElement(_number.default, {
40
+ number: item.value
41
+ });
42
+ case 'status':
43
+ return /*#__PURE__*/_react.default.createElement(_status.default, item.value);
44
+ case 'string':
45
+ return /*#__PURE__*/_react.default.createElement(_text.default, {
46
+ text: item.value
47
+ });
48
+ case 'tag':
49
+ return /*#__PURE__*/_react.default.createElement(_tag.default, {
50
+ text: item.value
51
+ });
52
+ case 'time':
53
+ return /*#__PURE__*/_react.default.createElement(_dateTime.default, {
54
+ value: item.value,
55
+ display: "time"
56
+ });
57
+ case 'user':
58
+ return /*#__PURE__*/_react.default.createElement(_user.default, item.value);
59
+ default:
60
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
61
+ }
62
+ };
63
+ exports.fallbackRenderType = fallbackRenderType;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.LINK_TYPE_TEST_ID = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _reactErrorBoundary = require("react-error-boundary");
12
+ var _smartCard = require("@atlaskit/smart-card");
13
+ var _linkUrl = _interopRequireDefault(require("@atlaskit/smart-card/link-url"));
14
+ var _colors = require("@atlaskit/theme/colors");
15
+ var _typography = require("@atlaskit/theme/typography");
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ var linkStyles = {
21
+ key: _objectSpread(_objectSpread({}, (0, _typography.h300)()), {}, {
22
+ color: "var(--ds-text-subtlest, ".concat(_colors.N300, ")"),
23
+ fontWeight: 600
24
+ })
25
+ };
26
+ var LINK_TYPE_TEST_ID = 'link-datasource-render-type--link';
27
+ exports.LINK_TYPE_TEST_ID = LINK_TYPE_TEST_ID;
28
+ var LinkRenderType = function LinkRenderType(_ref) {
29
+ var linkType = _ref.linkType,
30
+ url = _ref.url,
31
+ text = _ref.text,
32
+ _ref$testId = _ref.testId,
33
+ testId = _ref$testId === void 0 ? LINK_TYPE_TEST_ID : _ref$testId;
34
+ var style = (0, _react.useMemo)(function () {
35
+ return linkType && linkStyles[linkType] || {};
36
+ }, [linkType]);
37
+ var anchor = (0, _react.useMemo)(function () {
38
+ return /*#__PURE__*/_react.default.createElement(_linkUrl.default, {
39
+ href: url,
40
+ style: style,
41
+ "data-testid": testId
42
+ }, text || url);
43
+ }, [style, url, text, testId]);
44
+ var SmartCard = function SmartCard() {
45
+ return /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
46
+ fallback: anchor
47
+ }, /*#__PURE__*/_react.default.createElement(_smartCard.Card, {
48
+ appearance: "inline",
49
+ url: url,
50
+ testId: testId
51
+ }));
52
+ };
53
+ return text ? anchor : /*#__PURE__*/_react.default.createElement(SmartCard, null);
54
+ };
55
+ var _default = /*#__PURE__*/_react.default.memo(LinkRenderType);
56
+ exports.default = _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.NUMBER_TYPE_TEST_ID = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var NUMBER_TYPE_TEST_ID = 'link-datasource-render-type--number';
10
+ exports.NUMBER_TYPE_TEST_ID = NUMBER_TYPE_TEST_ID;
11
+ var NumberRenderType = function NumberRenderType(_ref) {
12
+ var number = _ref.number,
13
+ _ref$testId = _ref.testId,
14
+ testId = _ref$testId === void 0 ? NUMBER_TYPE_TEST_ID : _ref$testId;
15
+ if (typeof number !== 'number') {
16
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
17
+ }
18
+ var formattedNumber = Number.isInteger(number) ? number : "".concat(number.toFixed(2));
19
+ return /*#__PURE__*/_react.default.createElement("span", {
20
+ "data-testid": testId
21
+ }, formattedNumber);
22
+ };
23
+ var _default = NumberRenderType;
24
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.STATUS_TYPE_TEST_ID = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
10
+ var STATUS_TYPE_TEST_ID = 'link-datasource-render-type--status';
11
+ exports.STATUS_TYPE_TEST_ID = STATUS_TYPE_TEST_ID;
12
+ var StatusRenderType = function StatusRenderType(_ref) {
13
+ var text = _ref.text,
14
+ status = _ref.status,
15
+ _ref$testId = _ref.testId,
16
+ testId = _ref$testId === void 0 ? STATUS_TYPE_TEST_ID : _ref$testId,
17
+ style = _ref.style;
18
+ if (!text) {
19
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
20
+ }
21
+ return /*#__PURE__*/_react.default.createElement(_lozenge.default, {
22
+ appearance: status,
23
+ testId: testId,
24
+ style: style
25
+ }, text);
26
+ };
27
+ var _default = StatusRenderType;
28
+ exports.default = _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.TAG_TYPE_TEST_ID = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _tag = require("@atlaskit/tag");
10
+ var TAG_TYPE_TEST_ID = 'link-datasource-render-type--tag';
11
+ exports.TAG_TYPE_TEST_ID = TAG_TYPE_TEST_ID;
12
+ var TagRenderType = function TagRenderType(_ref) {
13
+ var text = _ref.text,
14
+ _ref$testId = _ref.testId,
15
+ testId = _ref$testId === void 0 ? TAG_TYPE_TEST_ID : _ref$testId;
16
+ if (!text) {
17
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
18
+ }
19
+ return /*#__PURE__*/_react.default.createElement(_tag.SimpleTag, {
20
+ text: text,
21
+ testId: testId,
22
+ appearance: 'default',
23
+ color: 'standard'
24
+ });
25
+ };
26
+ var _default = TagRenderType;
27
+ exports.default = _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.TEXT_TYPE_TEST_ID = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var TEXT_TYPE_TEST_ID = 'link-datasource-render-type--text';
10
+ exports.TEXT_TYPE_TEST_ID = TEXT_TYPE_TEST_ID;
11
+ var TextRenderType = function TextRenderType(_ref) {
12
+ var text = _ref.text,
13
+ _ref$testId = _ref.testId,
14
+ testId = _ref$testId === void 0 ? TEXT_TYPE_TEST_ID : _ref$testId;
15
+ if (!text) {
16
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
17
+ }
18
+ return /*#__PURE__*/_react.default.createElement("span", {
19
+ "data-testid": testId
20
+ }, text);
21
+ };
22
+ var _default = TextRenderType;
23
+ exports.default = _default;