@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,43 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import React from 'react';
4
+ import styled from '@emotion/styled';
5
+ import Bug16Icon from '@atlaskit/icon-object/glyph/bug/16';
6
+ import Commit16Icon from '@atlaskit/icon-object/glyph/commit/16';
7
+ import Epic16Icon from '@atlaskit/icon-object/glyph/epic/16';
8
+ import Issue16Icon from '@atlaskit/icon-object/glyph/issue/16';
9
+ import Story16Icon from '@atlaskit/icon-object/glyph/story/16';
10
+ import Task16Icon from '@atlaskit/icon-object/glyph/task/16';
11
+ var IconWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
12
+ export default (function (_ref) {
13
+ var type = _ref.type;
14
+ var TypeIcon = function TypeIcon() {
15
+ switch (type) {
16
+ case 'issue':
17
+ return /*#__PURE__*/React.createElement(Issue16Icon, {
18
+ label: 'issue'
19
+ });
20
+ case 'commit':
21
+ return /*#__PURE__*/React.createElement(Commit16Icon, {
22
+ label: 'commit'
23
+ });
24
+ case 'story':
25
+ return /*#__PURE__*/React.createElement(Story16Icon, {
26
+ label: 'story'
27
+ });
28
+ case 'epic':
29
+ return /*#__PURE__*/React.createElement(Epic16Icon, {
30
+ label: 'epic'
31
+ });
32
+ case 'bug':
33
+ return /*#__PURE__*/React.createElement(Bug16Icon, {
34
+ label: 'bug'
35
+ });
36
+ case 'task':
37
+ return /*#__PURE__*/React.createElement(Task16Icon, {
38
+ label: 'task'
39
+ });
40
+ }
41
+ };
42
+ return /*#__PURE__*/React.createElement(IconWrapper, null, /*#__PURE__*/React.createElement(TypeIcon, null));
43
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,292 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
+ 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; }
5
+ 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) { _defineProperty(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; }
6
+ /** @jsx jsx */
7
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
8
+ import { css, jsx } from '@emotion/react';
9
+ import invariant from 'tiny-invariant';
10
+ import { Skeleton } from '@atlaskit/linking-common';
11
+ import { autoScroller } from '@atlaskit/pragmatic-drag-and-drop-autoscroll';
12
+ import { extractClosestEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/addon/closest-edge';
13
+ import { reorderWithEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/util/reorder-with-edge';
14
+ import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/element';
15
+ import { combine } from '@atlaskit/pragmatic-drag-and-drop/util/combine';
16
+ import { ColumnPicker } from './column-picker';
17
+ import { DraggableTableHeading } from './draggable-table-heading';
18
+ import TableEmptyState from './empty-state';
19
+ import { fallbackRenderType } from './render-type';
20
+ import { TableHeading } from './styled';
21
+ import { useIsOnScreen } from './useIsOnScreen';
22
+ var tableHeadStyles = css({
23
+ background: "var(--ds-surface, #FFF)",
24
+ borderTop: '2px solid transparent'
25
+ });
26
+ var columnPickerHeaderStyles = css({
27
+ width: '40px',
28
+ // TODO use some variable for that?
29
+ paddingBlock: "var(--ds-space-100, 8px)"
30
+ });
31
+ var tableDragPreviewStyles = css({
32
+ backgroundColor: "var(--ds-surface, #FFF)"
33
+ });
34
+ var containerDragPreviewStyles = css({
35
+ overflow: 'hidden'
36
+ });
37
+ function extractIndex(data) {
38
+ var index = data.index;
39
+ invariant(typeof index === 'number');
40
+ return index;
41
+ }
42
+ var orderColumns = function orderColumns(columns, visibleColumnKeys) {
43
+ // newColumnKeyOrder contains keys of selected (visible columns only).
44
+ // In order to sort all the columns we need to insert unselected ones into this list
45
+ // We put them into their absolution position as it was in unchanged (before column move) order.
46
+ columns.forEach(function (_ref, index) {
47
+ var key = _ref.key;
48
+ if (!visibleColumnKeys.includes(key)) {
49
+ visibleColumnKeys.splice(index, 0, key);
50
+ }
51
+ });
52
+ columns.sort(function (a, b) {
53
+ var indexB = visibleColumnKeys.indexOf(b.key);
54
+ var indexA = visibleColumnKeys.indexOf(a.key);
55
+ return indexA - indexB;
56
+ });
57
+ return _toConsumableArray(columns);
58
+ };
59
+ export var IssueLikeDataTableView = function IssueLikeDataTableView(_ref2) {
60
+ var _orderedColumns$find;
61
+ var testId = _ref2.testId,
62
+ onNextPage = _ref2.onNextPage,
63
+ items = _ref2.items,
64
+ columns = _ref2.columns,
65
+ _ref2$renderItem = _ref2.renderItem,
66
+ renderItem = _ref2$renderItem === void 0 ? fallbackRenderType : _ref2$renderItem,
67
+ visibleColumnKeys = _ref2.visibleColumnKeys,
68
+ onVisibleColumnKeysChange = _ref2.onVisibleColumnKeysChange,
69
+ status = _ref2.status,
70
+ hasNextPage = _ref2.hasNextPage;
71
+ var tableId = useMemo(function () {
72
+ return Symbol('unique-id');
73
+ }, []);
74
+ var _useState = useState(null),
75
+ _useState2 = _slicedToArray(_useState, 2),
76
+ lastRowElement = _useState2[0],
77
+ setLastRowElement = _useState2[1];
78
+ var _useState3 = useState(false),
79
+ _useState4 = _slicedToArray(_useState3, 2),
80
+ isDragPreview = _useState4[0],
81
+ setIsDragPreview = _useState4[1];
82
+ var isBottomOfTableVisibleRaw = useIsOnScreen(lastRowElement);
83
+ var containerRef = useRef(null);
84
+ var _useState5 = useState(function () {
85
+ return orderColumns(_toConsumableArray(columns), _toConsumableArray(visibleColumnKeys));
86
+ }),
87
+ _useState6 = _slicedToArray(_useState5, 2),
88
+ orderedColumns = _useState6[0],
89
+ setOrderedColumns = _useState6[1];
90
+ var visibleSortedColumns = useMemo(function () {
91
+ return visibleColumnKeys.map(function (visibleKey) {
92
+ return orderedColumns.find(function (_ref3) {
93
+ var key = _ref3.key;
94
+ return visibleKey === key;
95
+ });
96
+ }).filter(Boolean);
97
+ }, [orderedColumns, visibleColumnKeys]);
98
+
99
+ // TODO seems like this component can't handle some combination of incremental data retreaval.
100
+ // If data comes first, then columns and then visibleColumnKeys it blows up,
101
+ // or some other combination.
102
+
103
+ var identityColumnKey = (_orderedColumns$find = orderedColumns.find(function (column) {
104
+ return column.isIdentity;
105
+ })) === null || _orderedColumns$find === void 0 ? void 0 : _orderedColumns$find.key;
106
+ var loadingRow = useMemo(function () {
107
+ return {
108
+ key: 'loading',
109
+ cells: visibleSortedColumns.map(function (_ref4) {
110
+ var key = _ref4.key;
111
+ var content = jsx(Skeleton, {
112
+ borderRadius: "var(--ds-radius-100, 3px)",
113
+ width: '100%',
114
+ height: '20px'
115
+ });
116
+ return {
117
+ key: key,
118
+ content: content
119
+ };
120
+ })
121
+ };
122
+ }, [visibleSortedColumns]);
123
+ var headColumns = visibleSortedColumns.map(function (column) {
124
+ return {
125
+ key: column.key,
126
+ content: column.title,
127
+ // width: TODO Find out how we going to retrieve column width
128
+ shouldTruncate: true
129
+ };
130
+ });
131
+ useEffect(function () {
132
+ if (status === 'empty' || isBottomOfTableVisibleRaw && hasNextPage && status !== 'loading') {
133
+ void onNextPage();
134
+ }
135
+ }, [isBottomOfTableVisibleRaw, status, hasNextPage, onNextPage]);
136
+ var dndPreviewHeight = 0;
137
+ if (items.length > 0 && containerRef.current) {
138
+ var containerEl = containerRef.current;
139
+ invariant(containerEl);
140
+ dndPreviewHeight = containerEl.offsetHeight;
141
+ }
142
+
143
+ // This variable contains initial Y mouse coordinate, so we can restrict
144
+ // autoScroller in X axis only
145
+ var initialAutoScrollerClientY = useRef();
146
+ useEffect(function () {
147
+ if (!onVisibleColumnKeysChange) {
148
+ return;
149
+ }
150
+ return combine(monitorForElements({
151
+ onDragStart: function onDragStart(_ref5) {
152
+ var location = _ref5.location;
153
+ initialAutoScrollerClientY.current = location.current.input.clientY;
154
+ autoScroller.start({
155
+ input: location.current.input,
156
+ behavior: 'container-only'
157
+ });
158
+ },
159
+ onDrag: function onDrag(_ref6) {
160
+ var location = _ref6.location;
161
+ autoScroller.updateInput({
162
+ input: _objectSpread(_objectSpread({}, location.current.input), {}, {
163
+ clientY: initialAutoScrollerClientY.current || 0
164
+ })
165
+ });
166
+ },
167
+ onDrop: function onDrop(_ref7) {
168
+ var source = _ref7.source,
169
+ location = _ref7.location;
170
+ initialAutoScrollerClientY.current = null;
171
+ autoScroller.stop();
172
+ if (location.current.dropTargets.length === 0) {
173
+ return;
174
+ }
175
+ var target = location.current.dropTargets[0];
176
+ if (source.data.id === target.data.id) {
177
+ return;
178
+ }
179
+ if (source.data.type === 'table-header' && source.data.tableId === tableId) {
180
+ var closestEdgeOfTarget = extractClosestEdge(target.data);
181
+ invariant(closestEdgeOfTarget === 'left' || closestEdgeOfTarget === 'right');
182
+ var startIndex = extractIndex(source.data);
183
+ var indexOfTarget = extractIndex(target.data);
184
+ var newColumnKeyOrder = reorderWithEdge({
185
+ list: visibleColumnKeys,
186
+ closestEdgeOfTarget: closestEdgeOfTarget,
187
+ startIndex: startIndex,
188
+ indexOfTarget: indexOfTarget,
189
+ axis: 'horizontal'
190
+ });
191
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange(_toConsumableArray(newColumnKeyOrder));
192
+
193
+ // We sort columns (whole objects) according to their key order presented in newColumnKeyOrder
194
+ setOrderedColumns(function (columns) {
195
+ return orderColumns(_toConsumableArray(columns), _toConsumableArray(newColumnKeyOrder));
196
+ });
197
+ }
198
+ }
199
+ }));
200
+ }, [visibleColumnKeys, onVisibleColumnKeysChange, tableId]);
201
+ var tableRows = useMemo(function () {
202
+ return items.map(function (newRowData, rowIndex) {
203
+ return {
204
+ key: "".concat(identityColumnKey && newRowData[identityColumnKey] || rowIndex),
205
+ cells: visibleSortedColumns.map(function (_ref8) {
206
+ var key = _ref8.key,
207
+ type = _ref8.type;
208
+ var value = newRowData[key];
209
+ var values = Array.isArray(value) ? value : [value];
210
+ var content = values.map(function (value) {
211
+ return renderItem({
212
+ type: type,
213
+ value: value
214
+ });
215
+ });
216
+ return {
217
+ key: key,
218
+ content: content
219
+ };
220
+ }),
221
+ ref: rowIndex === items.length - 1 ? function (el) {
222
+ return setLastRowElement(el);
223
+ } : undefined
224
+ };
225
+ });
226
+ }, [identityColumnKey, renderItem, items, visibleSortedColumns]);
227
+ var rows = [].concat(_toConsumableArray(tableRows), _toConsumableArray(status === 'loading' ? [loadingRow] : []));
228
+ var setIsDragPreviewOn = useCallback(function () {
229
+ return setIsDragPreview(true);
230
+ }, [setIsDragPreview]);
231
+ var setIsDragPreviewOff = useCallback(function () {
232
+ return setIsDragPreview(false);
233
+ }, [setIsDragPreview]);
234
+ var onSelectedColumnKeysChange = useCallback(function (newSelectedColumnKeys) {
235
+ onVisibleColumnKeysChange === null || onVisibleColumnKeysChange === void 0 ? void 0 : onVisibleColumnKeysChange(newSelectedColumnKeys);
236
+ }, [onVisibleColumnKeysChange]);
237
+ return jsx("div", {
238
+ ref: containerRef,
239
+ css: isDragPreview ? containerDragPreviewStyles : null
240
+ }, jsx("table", {
241
+ css: isDragPreview ? tableDragPreviewStyles : null,
242
+ "data-testid": testId
243
+ }, jsx("thead", {
244
+ "data-testid": testId && "".concat(testId, "--head"),
245
+ css: tableHeadStyles
246
+ }, jsx("tr", null, headColumns.map(function (_ref9, cellIndex) {
247
+ var key = _ref9.key,
248
+ content = _ref9.content;
249
+ if (onVisibleColumnKeysChange) {
250
+ return jsx(DraggableTableHeading, {
251
+ tableId: tableId,
252
+ key: key,
253
+ id: key,
254
+ index: cellIndex,
255
+ dndPreviewHeight: dndPreviewHeight,
256
+ onDragPreviewStart: setIsDragPreviewOn,
257
+ onDragPreviewEnd: setIsDragPreviewOff
258
+ }, content);
259
+ } else {
260
+ return jsx(TableHeading, {
261
+ key: key,
262
+ "data-testid": "".concat(key, "-column-heading")
263
+ }, content);
264
+ }
265
+ }), onVisibleColumnKeysChange && jsx("th", {
266
+ css: columnPickerHeaderStyles
267
+ }, jsx(ColumnPicker, {
268
+ columns: orderedColumns,
269
+ selectedColumnKeys: visibleColumnKeys,
270
+ onSelectedColumnKeysChange: onSelectedColumnKeysChange
271
+ })))), jsx("tbody", {
272
+ "data-testid": testId && "".concat(testId, "--body")
273
+ }, rows.map(function (_ref10) {
274
+ var key = _ref10.key,
275
+ cells = _ref10.cells,
276
+ ref = _ref10.ref;
277
+ return jsx("tr", {
278
+ key: key,
279
+ "data-testid": testId && "".concat(testId, "--row-").concat(key),
280
+ ref: ref
281
+ }, cells.map(function (_ref11, cellIndex) {
282
+ var key = _ref11.key,
283
+ content = _ref11.content;
284
+ return jsx("td", {
285
+ key: key,
286
+ "data-testid": testId && "".concat(testId, "--cell-").concat(cellIndex),
287
+ colSpan: cellIndex + 1 === cells.length ? 2 : undefined
288
+ }, content);
289
+ }));
290
+ }))));
291
+ };
292
+ export var EmptyState = TableEmptyState;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { useIntl } from 'react-intl-next';
3
+ import TextRenderType from '../text';
4
+ import { booleanTypeMessages } from './messages';
5
+ export var BOOLEAN_TYPE_TEST_ID = 'link-datasource-render-type--boolean';
6
+ var BooleanRenderType = function BooleanRenderType(_ref) {
7
+ var value = _ref.value,
8
+ _ref$testId = _ref.testId,
9
+ testId = _ref$testId === void 0 ? BOOLEAN_TYPE_TEST_ID : _ref$testId;
10
+ var intl = useIntl();
11
+ if (typeof value !== 'boolean') {
12
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
13
+ }
14
+ var TRUTHY_TEXT = intl.formatMessage(booleanTypeMessages.booleanTruthyValue);
15
+ var FALSY_TEXT = intl.formatMessage(booleanTypeMessages.booleanFalsyValue);
16
+ return /*#__PURE__*/React.createElement(TextRenderType, {
17
+ text: value ? TRUTHY_TEXT : FALSY_TEXT,
18
+ testId: testId
19
+ });
20
+ };
21
+ export default BooleanRenderType;
@@ -0,0 +1,13 @@
1
+ import { defineMessages } from 'react-intl-next';
2
+ export var booleanTypeMessages = defineMessages({
3
+ booleanTruthyValue: {
4
+ id: 'linkDataSource.render-type.boolean.true',
5
+ description: 'Text to display for the boolean type when the value is true',
6
+ defaultMessage: 'Yes'
7
+ },
8
+ booleanFalsyValue: {
9
+ id: 'linkDataSource.render-type.boolean.false',
10
+ description: 'Text to display for the boolean type when the value is false',
11
+ defaultMessage: 'No'
12
+ }
13
+ });
@@ -0,0 +1,38 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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) { _defineProperty(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; }
4
+ import React from 'react';
5
+ import { useIntl } from 'react-intl-next';
6
+ export var DATETIME_TYPE_TEST_ID = 'link-datasource-render-type--datetime';
7
+ var dateOptions = {
8
+ month: 'short',
9
+ day: 'numeric',
10
+ year: 'numeric'
11
+ };
12
+ var timeOptions = {
13
+ hour12: false,
14
+ hour: '2-digit',
15
+ minute: '2-digit'
16
+ };
17
+ var DateTimeRenderType = function DateTimeRenderType(_ref) {
18
+ var value = _ref.value,
19
+ _ref$testId = _ref.testId,
20
+ testId = _ref$testId === void 0 ? DATETIME_TYPE_TEST_ID : _ref$testId,
21
+ _ref$display = _ref.display,
22
+ display = _ref$display === void 0 ? 'datetime' : _ref$display;
23
+ var date = new Date(value);
24
+ var intl = useIntl();
25
+ if (!value || isNaN(date.getTime())) {
26
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
27
+ }
28
+ var options = {
29
+ date: dateOptions,
30
+ time: timeOptions,
31
+ datetime: _objectSpread(_objectSpread({}, dateOptions), timeOptions)
32
+ };
33
+ var formattedString = intl.formatDate(date, options[display] || options['date']);
34
+ return /*#__PURE__*/React.createElement("span", {
35
+ "data-testid": testId
36
+ }, formattedString);
37
+ };
38
+ export default DateTimeRenderType;
@@ -0,0 +1,25 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import React from 'react';
4
+ import styled from '@emotion/styled';
5
+ import Image from '@atlaskit/image';
6
+ var IconWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
7
+ export var ICON_TYPE_TEST_ID = 'link-datasource-render-type--icon';
8
+ var IconRenderType = function IconRenderType(_ref) {
9
+ var label = _ref.label,
10
+ source = _ref.source,
11
+ _ref$testId = _ref.testId,
12
+ testId = _ref$testId === void 0 ? ICON_TYPE_TEST_ID : _ref$testId;
13
+ var style = /svg/i.test(source) ? {
14
+ minWidth: '20px',
15
+ maxWidth: '20px'
16
+ } // having just width: '20px' shriks it when table width is reduced
17
+ : {};
18
+ return /*#__PURE__*/React.createElement(IconWrapper, null, /*#__PURE__*/React.createElement(Image, {
19
+ src: source,
20
+ alt: label,
21
+ "data-testid": testId,
22
+ style: style
23
+ }));
24
+ };
25
+ export default IconRenderType;
@@ -0,0 +1,55 @@
1
+ import React from 'react';
2
+ import BooleanRenderType from './boolean';
3
+ import DateTimeRenderType from './date-time';
4
+ import IconRenderType from './icon';
5
+ import LinkRenderType from './link';
6
+ import NumberRenderType from './number';
7
+ import StatusRenderType from './status';
8
+ import TagRenderType from './tag';
9
+ import StringRenderType from './text';
10
+ import UserRenderType from './user';
11
+ export var fallbackRenderType = function fallbackRenderType(item) {
12
+ switch (item.type) {
13
+ case 'boolean':
14
+ return /*#__PURE__*/React.createElement(BooleanRenderType, {
15
+ value: item.value
16
+ });
17
+ case 'date':
18
+ return /*#__PURE__*/React.createElement(DateTimeRenderType, {
19
+ value: item.value,
20
+ display: "date"
21
+ });
22
+ case 'datetime':
23
+ return /*#__PURE__*/React.createElement(DateTimeRenderType, {
24
+ value: item.value,
25
+ display: "datetime"
26
+ });
27
+ case 'icon':
28
+ return /*#__PURE__*/React.createElement(IconRenderType, item.value);
29
+ case 'link':
30
+ return /*#__PURE__*/React.createElement(LinkRenderType, item.value);
31
+ case 'number':
32
+ return /*#__PURE__*/React.createElement(NumberRenderType, {
33
+ number: item.value
34
+ });
35
+ case 'status':
36
+ return /*#__PURE__*/React.createElement(StatusRenderType, item.value);
37
+ case 'string':
38
+ return /*#__PURE__*/React.createElement(StringRenderType, {
39
+ text: item.value
40
+ });
41
+ case 'tag':
42
+ return /*#__PURE__*/React.createElement(TagRenderType, {
43
+ text: item.value
44
+ });
45
+ case 'time':
46
+ return /*#__PURE__*/React.createElement(DateTimeRenderType, {
47
+ value: item.value,
48
+ display: "time"
49
+ });
50
+ case 'user':
51
+ return /*#__PURE__*/React.createElement(UserRenderType, item.value);
52
+ default:
53
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
54
+ }
55
+ };
@@ -0,0 +1,44 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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) { _defineProperty(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; }
4
+ import React, { useMemo } from 'react';
5
+ import { ErrorBoundary } from 'react-error-boundary';
6
+ import { Card } from '@atlaskit/smart-card';
7
+ import LinkUrl from '@atlaskit/smart-card/link-url';
8
+ import { N300 } from '@atlaskit/theme/colors';
9
+ import { h300 } from '@atlaskit/theme/typography';
10
+ var linkStyles = {
11
+ key: _objectSpread(_objectSpread({}, h300()), {}, {
12
+ color: "var(--ds-text-subtlest, ".concat(N300, ")"),
13
+ fontWeight: 600
14
+ })
15
+ };
16
+ export var LINK_TYPE_TEST_ID = 'link-datasource-render-type--link';
17
+ var LinkRenderType = function LinkRenderType(_ref) {
18
+ var linkType = _ref.linkType,
19
+ url = _ref.url,
20
+ text = _ref.text,
21
+ _ref$testId = _ref.testId,
22
+ testId = _ref$testId === void 0 ? LINK_TYPE_TEST_ID : _ref$testId;
23
+ var style = useMemo(function () {
24
+ return linkType && linkStyles[linkType] || {};
25
+ }, [linkType]);
26
+ var anchor = useMemo(function () {
27
+ return /*#__PURE__*/React.createElement(LinkUrl, {
28
+ href: url,
29
+ style: style,
30
+ "data-testid": testId
31
+ }, text || url);
32
+ }, [style, url, text, testId]);
33
+ var SmartCard = function SmartCard() {
34
+ return /*#__PURE__*/React.createElement(ErrorBoundary, {
35
+ fallback: anchor
36
+ }, /*#__PURE__*/React.createElement(Card, {
37
+ appearance: "inline",
38
+ url: url,
39
+ testId: testId
40
+ }));
41
+ };
42
+ return text ? anchor : /*#__PURE__*/React.createElement(SmartCard, null);
43
+ };
44
+ export default /*#__PURE__*/React.memo(LinkRenderType);
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export var NUMBER_TYPE_TEST_ID = 'link-datasource-render-type--number';
3
+ var NumberRenderType = function NumberRenderType(_ref) {
4
+ var number = _ref.number,
5
+ _ref$testId = _ref.testId,
6
+ testId = _ref$testId === void 0 ? NUMBER_TYPE_TEST_ID : _ref$testId;
7
+ if (typeof number !== 'number') {
8
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
9
+ }
10
+ var formattedNumber = Number.isInteger(number) ? number : "".concat(number.toFixed(2));
11
+ return /*#__PURE__*/React.createElement("span", {
12
+ "data-testid": testId
13
+ }, formattedNumber);
14
+ };
15
+ export default NumberRenderType;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import Lozenge from '@atlaskit/lozenge';
3
+ export var STATUS_TYPE_TEST_ID = 'link-datasource-render-type--status';
4
+ var StatusRenderType = function StatusRenderType(_ref) {
5
+ var text = _ref.text,
6
+ status = _ref.status,
7
+ _ref$testId = _ref.testId,
8
+ testId = _ref$testId === void 0 ? STATUS_TYPE_TEST_ID : _ref$testId,
9
+ style = _ref.style;
10
+ if (!text) {
11
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
12
+ }
13
+ return /*#__PURE__*/React.createElement(Lozenge, {
14
+ appearance: status,
15
+ testId: testId,
16
+ style: style
17
+ }, text);
18
+ };
19
+ export default StatusRenderType;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { SimpleTag as Tag } from '@atlaskit/tag';
3
+ export var TAG_TYPE_TEST_ID = 'link-datasource-render-type--tag';
4
+ var TagRenderType = function TagRenderType(_ref) {
5
+ var text = _ref.text,
6
+ _ref$testId = _ref.testId,
7
+ testId = _ref$testId === void 0 ? TAG_TYPE_TEST_ID : _ref$testId;
8
+ if (!text) {
9
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
10
+ }
11
+ return /*#__PURE__*/React.createElement(Tag, {
12
+ text: text,
13
+ testId: testId,
14
+ appearance: 'default',
15
+ color: 'standard'
16
+ });
17
+ };
18
+ export default TagRenderType;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export var TEXT_TYPE_TEST_ID = 'link-datasource-render-type--text';
3
+ var TextRenderType = function TextRenderType(_ref) {
4
+ var text = _ref.text,
5
+ _ref$testId = _ref.testId,
6
+ testId = _ref$testId === void 0 ? TEXT_TYPE_TEST_ID : _ref$testId;
7
+ if (!text) {
8
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
9
+ }
10
+ return /*#__PURE__*/React.createElement("span", {
11
+ "data-testid": testId
12
+ }, text);
13
+ };
14
+ export default TextRenderType;
@@ -0,0 +1,27 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2;
3
+ import React from 'react';
4
+ import styled from '@emotion/styled';
5
+ import { FormattedMessage } from 'react-intl-next';
6
+ import Avatar from '@atlaskit/avatar';
7
+ import { userTypeMessages } from './messages';
8
+ var UserWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n"])));
9
+ var AvatarWrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-right: 5px;\n"])));
10
+ export var USER_TYPE_TEST_ID = 'link-datasource-render-type--user';
11
+ var UserType = function UserType(_ref) {
12
+ var avatarSource = _ref.avatarSource,
13
+ _ref$avatarSize = _ref.avatarSize,
14
+ avatarSize = _ref$avatarSize === void 0 ? 'small' : _ref$avatarSize,
15
+ displayName = _ref.displayName,
16
+ _ref$testId = _ref.testId,
17
+ testId = _ref$testId === void 0 ? USER_TYPE_TEST_ID : _ref$testId,
18
+ children = _ref.children;
19
+ return /*#__PURE__*/React.createElement(UserWrapper, {
20
+ "data-testid": testId
21
+ }, /*#__PURE__*/React.createElement(AvatarWrapper, null, /*#__PURE__*/React.createElement(Avatar, {
22
+ appearance: "circle",
23
+ size: avatarSize,
24
+ src: avatarSource
25
+ })), children || displayName || /*#__PURE__*/React.createElement(FormattedMessage, userTypeMessages.userDefaultdisplayNameValue));
26
+ };
27
+ export default UserType;
@@ -0,0 +1,8 @@
1
+ import { defineMessages } from 'react-intl-next';
2
+ export var userTypeMessages = defineMessages({
3
+ userDefaultdisplayNameValue: {
4
+ id: 'linkDataSource.render-type.user.default.display.name',
5
+ description: 'Text to display for the user type when no display value is provided',
6
+ defaultMessage: 'Unassigned'
7
+ }
8
+ });
@@ -0,0 +1,4 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import styled from '@emotion/styled';
4
+ export var TableHeading = styled.th(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n padding-block: ", ";\n line-height: ", ";\n"])), "var(--ds-space-100, 8px)", "var(--ds-font-lineHeight-300, 24px)");
@@ -0,0 +1 @@
1
+ export {};