@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,182 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DraggableTableHeading = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _react2 = require("@emotion/react");
11
+ var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
12
+ var _dragHandler = _interopRequireDefault(require("@atlaskit/icon/glyph/drag-handler"));
13
+ var _closestEdge = require("@atlaskit/pragmatic-drag-and-drop-hitbox/addon/closest-edge");
14
+ var _box = require("@atlaskit/pragmatic-drag-and-drop-react-indicator/box");
15
+ var _element = require("@atlaskit/pragmatic-drag-and-drop/adapter/element");
16
+ var _combine = require("@atlaskit/pragmatic-drag-and-drop/util/combine");
17
+ var _styled = require("./styled");
18
+ /** @jsx jsx */
19
+
20
+ var tableHeadingStyles = (0, _react2.css)({
21
+ cursor: 'grab'
22
+ });
23
+ var tableHeadingStatusStyles = {
24
+ idle: (0, _react2.css)({
25
+ ':hover': {
26
+ background: "var(--ds-surface-hovered, #091E4224)"
27
+ }
28
+ }),
29
+ dragging: (0, _react2.css)({
30
+ background: "var(--ds-background-disabled, #091E4224)",
31
+ color: "var(--ds-text-disabled, #091E424F)"
32
+ })
33
+ };
34
+ var verticallyAlignedStyles = (0, _react2.css)({
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ whiteSpace: 'nowrap'
38
+ });
39
+ var dragHandleStyles = (0, _react2.css)({
40
+ position: 'relative',
41
+ display: 'flex',
42
+ alignItems: 'center'
43
+ });
44
+ var dropTargetStyles = (0, _react2.css)({
45
+ position: 'absolute',
46
+ top: 0,
47
+ left: 0,
48
+ width: '100%'
49
+ });
50
+ var noPointerEventsStyles = (0, _react2.css)({
51
+ pointerEvents: 'none'
52
+ });
53
+ var DraggableTableHeading = function DraggableTableHeading(_ref) {
54
+ var children = _ref.children,
55
+ id = _ref.id,
56
+ index = _ref.index,
57
+ tableId = _ref.tableId,
58
+ dndPreviewHeight = _ref.dndPreviewHeight,
59
+ onDragPreviewStart = _ref.onDragPreviewStart,
60
+ onDragPreviewEnd = _ref.onDragPreviewEnd;
61
+ var ref = (0, _react.useRef)(null);
62
+ var _useState = (0, _react.useState)('idle'),
63
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
64
+ status = _useState2[0],
65
+ setStatus = _useState2[1];
66
+ var _useState3 = (0, _react.useState)(false),
67
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
68
+ isDraggingAnyColumn = _useState4[0],
69
+ setIsDraggingAnyColumn = _useState4[1];
70
+ var _useState5 = (0, _react.useState)(null),
71
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
72
+ closestEdge = _useState6[0],
73
+ setClosestEdge = _useState6[1];
74
+ var dropTargetRef = (0, _react.useRef)(null);
75
+ (0, _react.useEffect)(function () {
76
+ var cell = ref.current;
77
+ (0, _tinyInvariant.default)(cell);
78
+ return (0, _combine.combine)((0, _element.draggable)({
79
+ element: cell,
80
+ getInitialData: function getInitialData() {
81
+ return {
82
+ type: 'table-header',
83
+ id: id,
84
+ index: index,
85
+ tableId: tableId
86
+ };
87
+ },
88
+ onGenerateDragPreview: function onGenerateDragPreview() {
89
+ setStatus('preview');
90
+ onDragPreviewStart();
91
+ },
92
+ onDragStart: function onDragStart() {
93
+ setStatus('dragging');
94
+ onDragPreviewEnd();
95
+ },
96
+ onDrop: function onDrop() {
97
+ setStatus('idle');
98
+ }
99
+ }));
100
+ }, [id, index, onDragPreviewEnd, onDragPreviewStart, tableId]);
101
+
102
+ // Here we handle drop target, that in our case is absolutely positioned div that covers full width and height
103
+ // of this column (has height of whole table). It sits on top of everything, but has `pointerEvents: 'none'` by default
104
+ (0, _react.useEffect)(function () {
105
+ var dropTarget = dropTargetRef.current;
106
+ (0, _tinyInvariant.default)(dropTarget);
107
+ return (0, _element.dropTargetForElements)({
108
+ element: dropTarget,
109
+ getIsSticky: function getIsSticky() {
110
+ return true;
111
+ },
112
+ getData: function getData(_ref2) {
113
+ var input = _ref2.input,
114
+ element = _ref2.element;
115
+ var data = {
116
+ id: id,
117
+ index: index
118
+ };
119
+ return (0, _closestEdge.attachClosestEdge)(data, {
120
+ input: input,
121
+ element: element,
122
+ allowedEdges: ['left', 'right']
123
+ });
124
+ },
125
+ canDrop: function canDrop(args) {
126
+ return args.source.data.type === 'table-header' && args.source.data.tableId === tableId;
127
+ },
128
+ onDrag: function onDrag(args) {
129
+ if (args.source.data.id !== id) {
130
+ setClosestEdge((0, _closestEdge.extractClosestEdge)(args.self.data));
131
+ }
132
+ },
133
+ onDragLeave: function onDragLeave() {
134
+ setClosestEdge(null);
135
+ },
136
+ onDrop: function onDrop() {
137
+ setClosestEdge(null);
138
+ }
139
+ });
140
+ }, [id, index, tableId]);
141
+
142
+ // During dragging anywhere we want to remove `pointerEvents: 'none'` from all the drop targets
143
+ (0, _react.useEffect)(function () {
144
+ return (0, _element.monitorForElements)({
145
+ canMonitor: function canMonitor(_ref3) {
146
+ var source = _ref3.source;
147
+ return source.data.type === 'table-header' && source.data.tableId === tableId;
148
+ },
149
+ onDragStart: function onDragStart() {
150
+ /**
151
+ * Should cause a synchronous re-render.
152
+ */
153
+ setIsDraggingAnyColumn(true);
154
+ },
155
+ onDrop: function onDrop() {
156
+ setIsDraggingAnyColumn(false);
157
+ }
158
+ });
159
+ }, [tableId]);
160
+ return (0, _react2.jsx)(_styled.TableHeading, {
161
+ ref: ref,
162
+ css: [tableHeadingStyles, tableHeadingStatusStyles[status]],
163
+ "data-testid": "".concat(id, "-column-heading")
164
+ }, (0, _react2.jsx)("div", {
165
+ ref: dropTargetRef,
166
+ css: [dropTargetStyles, isDraggingAnyColumn ? null : noPointerEventsStyles],
167
+ style: {
168
+ height: "".concat(dndPreviewHeight, "px")
169
+ },
170
+ "data-testid": 'column-drop-target'
171
+ }, closestEdge && (0, _react2.jsx)(_box.DropIndicator, {
172
+ edge: closestEdge
173
+ })), (0, _react2.jsx)("div", {
174
+ css: verticallyAlignedStyles
175
+ }, (0, _react2.jsx)("div", {
176
+ css: dragHandleStyles
177
+ }, (0, _react2.jsx)(_dragHandler.default, {
178
+ label: "".concat(id, "-drag-icon"),
179
+ size: "medium"
180
+ })), children));
181
+ };
182
+ exports.DraggableTableHeading = DraggableTableHeading;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = require("react");
9
+ var _react2 = require("@emotion/react");
10
+ var _linkingCommon = require("@atlaskit/linking-common");
11
+ var _user = _interopRequireDefault(require("../render-type/user"));
12
+ var _styled = require("../styled");
13
+ var _priority = _interopRequireDefault(require("./priority"));
14
+ var _type = _interopRequireDefault(require("./type"));
15
+ /** @jsx jsx */
16
+
17
+ var columns = [{
18
+ key: 'type',
19
+ title: 'Type'
20
+ }, {
21
+ key: 'issue',
22
+ title: 'Key',
23
+ width: 50
24
+ }, {
25
+ key: 'summary',
26
+ title: 'Summary'
27
+ }, {
28
+ key: 'assignee',
29
+ title: 'Assignee',
30
+ width: 100
31
+ }, {
32
+ key: 'priority',
33
+ title: 'P'
34
+ }, {
35
+ key: 'status',
36
+ title: 'Status'
37
+ }, {
38
+ key: 'resolution',
39
+ title: 'Resolution'
40
+ }, {
41
+ key: 'created',
42
+ title: 'Created'
43
+ }, {
44
+ key: 'due',
45
+ title: 'Updated'
46
+ }];
47
+ var priorities = ['low', 'medium', 'high', 'medium', 'low', 'blocker', 'medium', 'blocker', 'high', 'low'];
48
+ var types = ['task', 'story', 'commit', 'epic', 'bug', 'task', 'story', 'commit', 'issue', 'epic'];
49
+ var summaryColumnWidths = [141, 208, 186, 212, 212, 151, 212, 182, 180, 147];
50
+ var statusColumnWidths = [75, 54, 66, 73, 52, 73, 55, 80, 66, 59];
51
+ var rows = new Array(10).fill(null).map(function (_, index) {
52
+ return {
53
+ id: index,
54
+ priority: priorities[index],
55
+ type: types[index],
56
+ summaryWidth: summaryColumnWidths[index],
57
+ statusWidth: statusColumnWidths[index]
58
+ };
59
+ });
60
+ var _default = function _default(props) {
61
+ var renderItem = (0, _react.useCallback)(function (_ref, _ref2) {
62
+ var key = _ref.key,
63
+ width = _ref.width;
64
+ var priority = _ref2.priority,
65
+ type = _ref2.type,
66
+ summaryWidth = _ref2.summaryWidth,
67
+ statusWidth = _ref2.statusWidth;
68
+ switch (key) {
69
+ case 'assignee':
70
+ return (0, _react2.jsx)(_user.default, null, (0, _react2.jsx)(_linkingCommon.Skeleton, {
71
+ width: width,
72
+ height: 13,
73
+ borderRadius: 8
74
+ }));
75
+ case 'priority':
76
+ return (0, _react2.jsx)(_priority.default, {
77
+ priority: priority
78
+ });
79
+ case 'type':
80
+ return (0, _react2.jsx)(_type.default, {
81
+ type: type
82
+ });
83
+ case 'summary':
84
+ return (0, _react2.jsx)(_linkingCommon.Skeleton, {
85
+ appearance: "blue",
86
+ width: summaryWidth,
87
+ borderRadius: 10,
88
+ height: 13
89
+ });
90
+ case 'status':
91
+ return (0, _react2.jsx)(_linkingCommon.Skeleton, {
92
+ appearance: "blue",
93
+ width: statusWidth,
94
+ height: 16,
95
+ borderRadius: 3
96
+ });
97
+ default:
98
+ return (0, _react2.jsx)(_linkingCommon.Skeleton, {
99
+ width: width,
100
+ height: 13,
101
+ borderRadius: 8
102
+ });
103
+ }
104
+ }, []);
105
+ return (0, _react2.jsx)("table", {
106
+ "data-testid": props.testId
107
+ }, (0, _react2.jsx)("thead", null, (0, _react2.jsx)("tr", null, columns.map(function (_ref3) {
108
+ var title = _ref3.title,
109
+ key = _ref3.key,
110
+ width = _ref3.width;
111
+ return (0, _react2.jsx)(_styled.TableHeading, {
112
+ key: key,
113
+ style: {
114
+ width: width
115
+ }
116
+ }, title);
117
+ }))), (0, _react2.jsx)("tbody", null, rows.map(function (row) {
118
+ return (0, _react2.jsx)("tr", {
119
+ key: row.id
120
+ }, columns.map(function (column) {
121
+ return (0, _react2.jsx)("td", {
122
+ key: column.key
123
+ }, renderItem(column, row));
124
+ }));
125
+ })));
126
+ };
127
+ 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 = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _colors = require("@atlaskit/theme/colors");
10
+ var _icon = _interopRequireDefault(require("../render-type/icon"));
11
+ // https://stackoverflow.com/questions/61099149/svg-fill-color-not-working-with-hex-colors
12
+ var replaceHashInHex = function replaceHashInHex(hex) {
13
+ return hex.replace('#', '%23');
14
+ };
15
+ var priorityToSVGPathMap = {
16
+ low: " <path\n d=\"M12.5 6.1c.5-.3 1.1-.1 1.4.4.3.5.1 1.1-.3 1.3l-5 3c-.3.2-.7.2-1 0l-5-3c-.6-.2-.7-.9-.4-1.3.2-.5.9-.7 1.3-.4L8 8.8l4.5-2.7z\"\n fill=\"".concat(replaceHashInHex(_colors.B300), "\"\n/>"),
17
+ medium: "<path\n fill=\"".concat(replaceHashInHex(_colors.Y300), "\"\n d=\"M3,4h10c0.6,0,1,0.4,1,1s-0.4,1-1,1H3C2.4,6,2,5.6,2,5S2.4,4,3,4z M3,10h10c0.6,0,1,0.4,1,1s-0.4,1-1,1H3\n c-0.6,0-1-0.4-1-1S2.4,10,3,10z\"\n/>"),
18
+ high: "<path\n d=\"M3.5 9.9c-.5.3-1.1.1-1.4-.3s-.1-1.1.4-1.4l5-3c.3-.2.7-.2 1 0l5 3c.5.3.6.9.3 1.4-.3.5-.9.6-1.4.3L8 7.2 3.5 9.9z\"\n fill=\"".concat(replaceHashInHex(_colors.R300), "\"\n/>"),
19
+ blocker: "<path\n d=\"M8 15c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zM4 7c-.6 0-1 .4-1 1s.4 1 1 1h8c.6 0 1-.4 1-1s-.4-1-1-1H4z\"\n fill=\"".concat(replaceHashInHex(_colors.R300), "\"\n/>")
20
+ };
21
+ var _default = function _default(_ref) {
22
+ var priority = _ref.priority;
23
+ var image = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">".concat(priorityToSVGPathMap[priority], "</svg>");
24
+ return /*#__PURE__*/_react.default.createElement(_icon.default, {
25
+ source: "data:image/svg+xml;utf8,".concat(image)
26
+ });
27
+ };
28
+ exports.default = _default;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = 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 _ = _interopRequireDefault(require("@atlaskit/icon-object/glyph/bug/16"));
12
+ var _2 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/commit/16"));
13
+ var _3 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/epic/16"));
14
+ var _4 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/issue/16"));
15
+ var _5 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/story/16"));
16
+ var _6 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/task/16"));
17
+ var _templateObject;
18
+ var IconWrapper = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
19
+ var _default = function _default(_ref) {
20
+ var type = _ref.type;
21
+ var TypeIcon = function TypeIcon() {
22
+ switch (type) {
23
+ case 'issue':
24
+ return /*#__PURE__*/_react.default.createElement(_4.default, {
25
+ label: 'issue'
26
+ });
27
+ case 'commit':
28
+ return /*#__PURE__*/_react.default.createElement(_2.default, {
29
+ label: 'commit'
30
+ });
31
+ case 'story':
32
+ return /*#__PURE__*/_react.default.createElement(_5.default, {
33
+ label: 'story'
34
+ });
35
+ case 'epic':
36
+ return /*#__PURE__*/_react.default.createElement(_3.default, {
37
+ label: 'epic'
38
+ });
39
+ case 'bug':
40
+ return /*#__PURE__*/_react.default.createElement(_.default, {
41
+ label: 'bug'
42
+ });
43
+ case 'task':
44
+ return /*#__PURE__*/_react.default.createElement(_6.default, {
45
+ label: 'task'
46
+ });
47
+ }
48
+ };
49
+ return /*#__PURE__*/_react.default.createElement(IconWrapper, null, /*#__PURE__*/_react.default.createElement(TypeIcon, null));
50
+ };
51
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });