@atlaskit/link-datasource 1.24.7 → 1.24.9

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 (89) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +2 -1
  3. package/dist/cjs/ui/common/error-state/access-required.js +2 -1
  4. package/dist/cjs/ui/common/error-state/loading-error.js +2 -1
  5. package/dist/cjs/ui/common/error-state/messages.js +0 -11
  6. package/dist/cjs/ui/common/error-state/modal-loading-error.js +5 -13
  7. package/dist/cjs/ui/common/error-state/no-instances.js +2 -1
  8. package/dist/cjs/ui/common/error-state/no-results.js +2 -1
  9. package/dist/cjs/ui/common/initial-state-view/index.js +2 -1
  10. package/dist/cjs/ui/confluence-search-modal/confluence-search-container/index.js +48 -0
  11. package/dist/cjs/ui/confluence-search-modal/confluence-search-container/messages.js +14 -0
  12. package/dist/cjs/ui/confluence-search-modal/modal/index.js +223 -30
  13. package/dist/cjs/ui/confluence-search-modal/modal/messages.js +4 -4
  14. package/dist/cjs/ui/confluence-search-modal/types.js +5 -0
  15. package/dist/cjs/ui/issue-like-table/column-picker/concatenated-menu-list.js +2 -1
  16. package/dist/cjs/ui/issue-like-table/drag-column-preview.js +2 -1
  17. package/dist/cjs/ui/issue-like-table/index.js +2 -1
  18. package/dist/cjs/ui/issue-like-table/styled.js +2 -1
  19. package/dist/cjs/ui/jira-issues-modal/modal/index.js +9 -1
  20. package/dist/cjs/ui/jira-issues-modal/modal/messages.js +5 -0
  21. package/dist/cjs/ui/jira-issues-modal/mode-switcher/index.js +1 -0
  22. package/dist/es2019/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +2 -1
  23. package/dist/es2019/ui/common/error-state/access-required.js +2 -1
  24. package/dist/es2019/ui/common/error-state/loading-error.js +2 -1
  25. package/dist/es2019/ui/common/error-state/messages.js +0 -11
  26. package/dist/es2019/ui/common/error-state/modal-loading-error.js +4 -10
  27. package/dist/es2019/ui/common/error-state/no-instances.js +2 -1
  28. package/dist/es2019/ui/common/error-state/no-results.js +2 -1
  29. package/dist/es2019/ui/common/initial-state-view/index.js +2 -1
  30. package/dist/es2019/ui/confluence-search-modal/confluence-search-container/index.js +35 -0
  31. package/dist/es2019/ui/confluence-search-modal/confluence-search-container/messages.js +8 -0
  32. package/dist/es2019/ui/confluence-search-modal/modal/index.js +210 -27
  33. package/dist/es2019/ui/confluence-search-modal/modal/messages.js +4 -4
  34. package/dist/es2019/ui/confluence-search-modal/types.js +1 -0
  35. package/dist/es2019/ui/issue-like-table/column-picker/concatenated-menu-list.js +2 -1
  36. package/dist/es2019/ui/issue-like-table/drag-column-preview.js +2 -1
  37. package/dist/es2019/ui/issue-like-table/index.js +2 -1
  38. package/dist/es2019/ui/issue-like-table/styled.js +2 -1
  39. package/dist/es2019/ui/jira-issues-modal/modal/index.js +7 -1
  40. package/dist/es2019/ui/jira-issues-modal/modal/messages.js +5 -0
  41. package/dist/es2019/ui/jira-issues-modal/mode-switcher/index.js +1 -0
  42. package/dist/esm/ui/assets-modal/modal/render-assets-content/initial-state-view/index.js +2 -1
  43. package/dist/esm/ui/common/error-state/access-required.js +2 -1
  44. package/dist/esm/ui/common/error-state/loading-error.js +2 -1
  45. package/dist/esm/ui/common/error-state/messages.js +0 -11
  46. package/dist/esm/ui/common/error-state/modal-loading-error.js +5 -12
  47. package/dist/esm/ui/common/error-state/no-instances.js +2 -1
  48. package/dist/esm/ui/common/error-state/no-results.js +2 -1
  49. package/dist/esm/ui/common/initial-state-view/index.js +2 -1
  50. package/dist/esm/ui/confluence-search-modal/confluence-search-container/index.js +38 -0
  51. package/dist/esm/ui/confluence-search-modal/confluence-search-container/messages.js +8 -0
  52. package/dist/esm/ui/confluence-search-modal/modal/index.js +225 -30
  53. package/dist/esm/ui/confluence-search-modal/modal/messages.js +4 -4
  54. package/dist/esm/ui/confluence-search-modal/types.js +1 -0
  55. package/dist/esm/ui/issue-like-table/column-picker/concatenated-menu-list.js +2 -1
  56. package/dist/esm/ui/issue-like-table/drag-column-preview.js +2 -1
  57. package/dist/esm/ui/issue-like-table/index.js +2 -1
  58. package/dist/esm/ui/issue-like-table/styled.js +2 -1
  59. package/dist/esm/ui/jira-issues-modal/modal/index.js +9 -1
  60. package/dist/esm/ui/jira-issues-modal/modal/messages.js +5 -0
  61. package/dist/esm/ui/jira-issues-modal/mode-switcher/index.js +1 -0
  62. package/dist/types/common/types.d.ts +3 -6
  63. package/dist/types/ui/common/error-state/messages.d.ts +0 -10
  64. package/dist/types/ui/common/error-state/modal-loading-error.d.ts +3 -2
  65. package/dist/types/ui/confluence-search-modal/confluence-search-container/index.d.ts +9 -0
  66. package/dist/types/ui/confluence-search-modal/confluence-search-container/messages.d.ts +7 -0
  67. package/dist/types/ui/confluence-search-modal/index.d.ts +2 -2
  68. package/dist/types/ui/confluence-search-modal/modal/index.d.ts +2 -2
  69. package/dist/types/ui/confluence-search-modal/modal/messages.d.ts +1 -1
  70. package/dist/types/ui/confluence-search-modal/types.d.ts +22 -0
  71. package/dist/types/ui/jira-issues-modal/index.d.ts +2 -2
  72. package/dist/types/ui/jira-issues-modal/modal/index.d.ts +3 -13
  73. package/dist/types/ui/jira-issues-modal/modal/messages.d.ts +5 -0
  74. package/dist/types/ui/jira-issues-modal/types.d.ts +5 -1
  75. package/dist/types-ts4.5/common/types.d.ts +3 -6
  76. package/dist/types-ts4.5/ui/common/error-state/messages.d.ts +0 -10
  77. package/dist/types-ts4.5/ui/common/error-state/modal-loading-error.d.ts +3 -2
  78. package/dist/types-ts4.5/ui/confluence-search-modal/confluence-search-container/index.d.ts +9 -0
  79. package/dist/types-ts4.5/ui/confluence-search-modal/confluence-search-container/messages.d.ts +7 -0
  80. package/dist/types-ts4.5/ui/confluence-search-modal/index.d.ts +2 -2
  81. package/dist/types-ts4.5/ui/confluence-search-modal/modal/index.d.ts +2 -2
  82. package/dist/types-ts4.5/ui/confluence-search-modal/modal/messages.d.ts +1 -1
  83. package/dist/types-ts4.5/ui/confluence-search-modal/types.d.ts +22 -0
  84. package/dist/types-ts4.5/ui/jira-issues-modal/index.d.ts +2 -2
  85. package/dist/types-ts4.5/ui/jira-issues-modal/modal/index.d.ts +3 -13
  86. package/dist/types-ts4.5/ui/jira-issues-modal/modal/messages.d.ts +5 -0
  87. package/dist/types-ts4.5/ui/jira-issues-modal/types.d.ts +5 -1
  88. package/examples-helpers/buildConfluenceSearchTable.tsx +77 -0
  89. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 1.24.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [#86596](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/86596) [`37621cb1f1b9`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/37621cb1f1b9) - Update dependency json-ld-types
8
+ - [#85653](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/85653) [`e0233a62f24a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/e0233a62f24a) - Add logic to insert confluence search datasource table ADF from modal
9
+
10
+ ## 1.24.8
11
+
12
+ ### Patch Changes
13
+
14
+ - [#84829](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/84829) [`a6299ec57bc3`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a6299ec57bc3) - Internal change to replace hardcoded font fallback values with an exported constant. There is no expected visual difference.
15
+ - [#82725](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/82725) [`058b020b8275`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/058b020b8275) - Adds e2e confluence search functionality and mocks.
16
+
3
17
  ## 1.24.7
4
18
 
5
19
  ### Patch Changes
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.InitialStateView = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _reactIntlNext = require("react-intl-next");
9
+ var _typography = require("@atlaskit/theme/typography");
9
10
  var _crystalBallSvg = require("./assets/crystal-ball-svg");
10
11
  var _messages = require("./messages");
11
12
  /** @jsx jsx */
@@ -20,7 +21,7 @@ var svgAndTextsWrapperStyles = (0, _react.css)({
20
21
  alignSelf: 'center'
21
22
  });
22
23
  var searchTitleStyles = (0, _react.css)({
23
- font: "var(--ds-font-heading-small, normal 600 16px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
24
+ font: "var(--ds-font-heading-small, ".concat(_typography.fontFallback.heading.small, ")"),
24
25
  paddingTop: "var(--ds-space-200, 16px)",
25
26
  paddingBottom: "var(--ds-space-100, 8px)"
26
27
  });
@@ -11,6 +11,7 @@ var _reactIntlNext = require("react-intl-next");
11
11
  var _emptyState = _interopRequireDefault(require("@atlaskit/empty-state"));
12
12
  var _primitives = require("@atlaskit/primitives");
13
13
  var _colors = require("@atlaskit/theme/colors");
14
+ var _typography = require("@atlaskit/theme/typography");
14
15
  var _analytics = require("../../../analytics");
15
16
  var _accessRequiredSvg = require("./access-required-svg");
16
17
  var _messages = require("./messages");
@@ -18,7 +19,7 @@ var _messages = require("./messages");
18
19
 
19
20
  var urlStyles = (0, _react2.css)({
20
21
  color: "var(--ds-text-subtlest, ".concat(_colors.N400, ")"),
21
- font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
22
+ font: "var(--ds-font-body, ".concat(_typography.fontFallback.body.medium, ")")
22
23
  });
23
24
  var descriptionMessageStyles = (0, _react2.css)({
24
25
  display: 'flex',
@@ -9,6 +9,7 @@ var _react = require("react");
9
9
  var _react2 = require("@emotion/react");
10
10
  var _reactIntlNext = require("react-intl-next");
11
11
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
12
+ var _typography = require("@atlaskit/theme/typography");
12
13
  var _analytics = require("../../../analytics");
13
14
  var _loadingErrorSvg = require("./loading-error-svg");
14
15
  var _messages = require("./messages");
@@ -26,7 +27,7 @@ var errorMessageContainerStyles = (0, _react2.css)({
26
27
  placeItems: 'center'
27
28
  });
28
29
  var errorMessageStyles = (0, _react2.css)({
29
- font: "var(--ds-font-heading-small, normal 600 16px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
30
+ font: "var(--ds-font-heading-small, ".concat(_typography.fontFallback.heading.small, ")")
30
31
  });
31
32
  var errorDescriptionStyles = (0, _react2.css)({
32
33
  margin: 0
@@ -50,17 +50,6 @@ var loadingErrorMessages = exports.loadingErrorMessages = (0, _reactIntlNext.def
50
50
  description: 'Instructions to let the user know how to resolve the network error that occurred or to try again at a different time',
51
51
  defaultMessage: 'Check your connection and refresh, or try again later.'
52
52
  },
53
- checkConnectionWithSourceDuplicate: {
54
- id: 'linkDataSource.checkConnectionWithSource',
55
- description: 'Instructions to let the user know how to resolve the error that occured, or click the link provided to open the query in Jira',
56
- defaultMessage: 'Check your connection and refresh, or <a>open this query in Jira</a> to review.'
57
- },
58
- //delete and remove duplicate from title above
59
- checkConnectionWithSource: {
60
- id: 'linkDataSource.jira-issues.checkConnectionWithSource',
61
- description: 'Instructions to let the user know how to resolve the error that occured, or click the link provided to open the query in Jira',
62
- defaultMessage: 'Check your connection and refresh, or <a>open this query in Jira</a> to review.'
63
- },
64
53
  noResultsFoundDuplicate: {
65
54
  id: 'linkDataSource.noResultsFound',
66
55
  description: 'Status message letting the user know their query did not have any results',
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.ModalLoadingError = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
7
  var _react = require("react");
10
8
  var _react2 = require("@emotion/react");
11
9
  var _reactIntlNext = require("react-intl-next");
10
+ var _typography = require("@atlaskit/theme/typography");
12
11
  var _analytics = require("../../../analytics");
13
12
  var _loadingErrorSvg = require("./loading-error-svg");
14
13
  var _messages = require("./messages");
@@ -26,13 +25,14 @@ var errorMessageContainerStyles = (0, _react2.css)({
26
25
  placeItems: 'center'
27
26
  });
28
27
  var errorMessageStyles = (0, _react2.css)({
29
- font: "var(--ds-font-heading-small, normal 600 16px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
28
+ font: "var(--ds-font-heading-small, ".concat(_typography.fontFallback.heading.small, ")")
30
29
  });
31
30
  var errorDescriptionStyles = (0, _react2.css)({
32
31
  margin: 0
33
32
  });
34
33
  var ModalLoadingError = exports.ModalLoadingError = function ModalLoadingError(_ref) {
35
- var url = _ref.url;
34
+ var _ref$errorMessage = _ref.errorMessage,
35
+ errorMessage = _ref$errorMessage === void 0 ? (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.loadingErrorMessages.checkConnection) : _ref$errorMessage;
36
36
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
37
37
  fireEvent = _useDatasourceAnalyti.fireEvent;
38
38
  (0, _react.useEffect)(function () {
@@ -49,13 +49,5 @@ var ModalLoadingError = exports.ModalLoadingError = function ModalLoadingError(_
49
49
  css: errorMessageStyles
50
50
  }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.loadingErrorMessages.unableToLoadResults)), (0, _react2.jsx)("p", {
51
51
  css: errorDescriptionStyles
52
- }, url ? (0, _react2.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.loadingErrorMessages.checkConnectionWithSource, {
53
- values: {
54
- a: function a(chunk) {
55
- return (0, _react2.jsx)("a", {
56
- href: url
57
- }, chunk);
58
- }
59
- }
60
- })) : (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.loadingErrorMessages.checkConnection))));
52
+ }, errorMessage)));
61
53
  };
@@ -7,11 +7,12 @@ exports.NoInstancesView = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _reactIntlNext = require("react-intl-next");
9
9
  var _primitives = require("@atlaskit/primitives");
10
+ var _typography = require("@atlaskit/theme/typography");
10
11
  var _noInstancesSvg = require("./no-instances-svg");
11
12
  /** @jsx jsx */
12
13
 
13
14
  var titleStyles = (0, _react.css)({
14
- font: "var(--ds-font-heading-small, normal 600 16px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
15
+ font: "var(--ds-font-heading-small, ".concat(_typography.fontFallback.heading.small, ")"),
15
16
  marginTop: "var(--ds-space-200, 16px)"
16
17
  });
17
18
  var descriptionStyles = (0, _react.css)({
@@ -9,6 +9,7 @@ var _react = require("react");
9
9
  var _react2 = require("@emotion/react");
10
10
  var _reactIntlNext = require("react-intl-next");
11
11
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
12
+ var _typography = require("@atlaskit/theme/typography");
12
13
  var _analytics = require("../../../analytics");
13
14
  var _messages = require("./messages");
14
15
  /** @jsx jsx */
@@ -25,7 +26,7 @@ var noResultsMessageContainerStyles = (0, _react2.css)({
25
26
  placeItems: 'center'
26
27
  });
27
28
  var noResultsMessageStyles = (0, _react2.css)({
28
- font: "var(--ds-font-heading-small, normal 600 16px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
29
+ font: "var(--ds-font-heading-small, ".concat(_typography.fontFallback.heading.small, ")")
29
30
  });
30
31
  var NoResults = exports.NoResults = function NoResults(_ref) {
31
32
  var onRefresh = _ref.onRefresh;
@@ -9,6 +9,7 @@ var _react = require("@emotion/react");
9
9
  var _reactIntlNext = require("react-intl-next");
10
10
  var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
11
11
  var _colors = require("@atlaskit/theme/colors");
12
+ var _typography = require("@atlaskit/theme/typography");
12
13
  var _messages = require("./messages");
13
14
  /** @jsx jsx */
14
15
 
@@ -28,7 +29,7 @@ var betaTagStyles = (0, _react.css)({
28
29
  });
29
30
  var searchTitleStyles = (0, _react.css)({
30
31
  color: "var(--ds-text-subtlest, ".concat(_colors.N300, ")"),
31
- font: "var(--ds-font-heading-medium, normal 500 20px/24px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
32
+ font: "var(--ds-font-heading-medium, ".concat(_typography.fontFallback.heading.medium, ")"),
32
33
  paddingTop: "var(--ds-space-200, 16px)",
33
34
  paddingBottom: "var(--ds-space-100, 8px)",
34
35
  display: 'flex',
@@ -0,0 +1,48 @@
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 = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _basicSearchInput = require("../../common/modal/basic-search-input");
12
+ var _messages = require("./messages");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ var ConfluenceSearchContainer = function ConfluenceSearchContainer(_ref) {
16
+ var cloudId = _ref.cloudId,
17
+ initialSearchValue = _ref.initialSearchValue,
18
+ isSearching = _ref.isSearching,
19
+ onSearch = _ref.onSearch;
20
+ var currentCloudId = (0, _react.useRef)(cloudId);
21
+ var _useState = (0, _react.useState)(initialSearchValue !== null && initialSearchValue !== void 0 ? initialSearchValue : ''),
22
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
23
+ searchBarSearchString = _useState2[0],
24
+ setSearchBarSearchString = _useState2[1];
25
+ var handleSearchChange = (0, _react.useCallback)(function (e) {
26
+ var rawSearch = e.currentTarget.value;
27
+ setSearchBarSearchString(rawSearch);
28
+ }, []);
29
+
30
+ // TODO: further refactoring in EDM-9573
31
+ // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6827913
32
+ (0, _react.useEffect)(function () {
33
+ if (currentCloudId.current !== cloudId) {
34
+ setSearchBarSearchString('');
35
+ currentCloudId.current = cloudId;
36
+ }
37
+ }, [cloudId]);
38
+ return /*#__PURE__*/_react.default.createElement(_basicSearchInput.BasicSearchInput, {
39
+ testId: "confluence-search-datasource-modal",
40
+ isSearching: isSearching,
41
+ onChange: handleSearchChange,
42
+ onSearch: onSearch,
43
+ searchTerm: searchBarSearchString,
44
+ placeholder: _messages.searchMessages.searchLabel,
45
+ fullWidth: true
46
+ });
47
+ };
48
+ var _default = exports.default = ConfluenceSearchContainer;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.searchMessages = void 0;
7
+ var _reactIntlNext = require("react-intl-next");
8
+ var searchMessages = exports.searchMessages = (0, _reactIntlNext.defineMessages)({
9
+ searchLabel: {
10
+ id: 'linkDataSource.confluence-search.configmodal.searchLabel',
11
+ description: 'Placeholder text for the search input box',
12
+ defaultMessage: 'Enter keywords to find pages, attachments, and more'
13
+ }
14
+ });
@@ -7,32 +7,62 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.ConfluenceSearchConfigModal = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
15
  var _react = require("react");
14
16
  var _react2 = require("@emotion/react");
15
17
  var _reactIntlNext = require("react-intl-next");
18
+ var _uuid = require("uuid");
16
19
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
17
20
  var _intlMessagesProvider = require("@atlaskit/intl-messages-provider");
18
21
  var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
22
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
23
+ var _primitives = require("@atlaskit/primitives");
24
+ var _linkUrl = _interopRequireDefault(require("@atlaskit/smart-card/link-url"));
25
+ var _colors = require("@atlaskit/theme/colors");
26
+ var _adf = require("../../../common/utils/adf");
19
27
  var _fetchMessagesForLocale = require("../../../common/utils/locale/fetch-messages-for-locale");
28
+ var _useDatasourceTableState = require("../../../hooks/useDatasourceTableState");
20
29
  var _en = _interopRequireDefault(require("../../../i18n/en"));
21
30
  var _getAvailableSites = require("../../../services/getAvailableSites");
31
+ var _accessRequired = require("../../common/error-state/access-required");
32
+ var _modalLoadingError = require("../../common/error-state/modal-loading-error");
22
33
  var _noInstances = require("../../common/error-state/no-instances");
34
+ var _noResults = require("../../common/error-state/no-results");
23
35
  var _initialStateView = require("../../common/initial-state-view");
24
- var _basicSearchInput = require("../../common/modal/basic-search-input");
25
36
  var _contentContainer = require("../../common/modal/content-container");
26
37
  var _siteSelector = require("../../common/modal/site-selector");
38
+ var _issueLikeTable = require("../../issue-like-table");
39
+ var _confluenceSearchContainer = _interopRequireDefault(require("../confluence-search-container"));
27
40
  var _confluenceSearchInitialStateSvg = require("./confluence-search-initial-state-svg");
28
41
  var _messages = require("./messages");
29
42
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
30
43
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
- /** @jsx jsx */
32
-
44
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
45
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** @jsx jsx */
46
+ var inputContainerStyles = (0, _primitives.xcss)({
47
+ alignItems: 'baseline',
48
+ display: 'flex',
49
+ minHeight: '72px'
50
+ });
51
+ var searchCountStyles = (0, _primitives.xcss)({
52
+ flex: 1,
53
+ fontWeight: 600
54
+ });
33
55
  var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = function ConfluenceSearchConfigModal(props) {
34
- var initialParameters = props.parameters,
35
- onCancel = props.onCancel;
56
+ var _useRef = (0, _react.useRef)((0, _uuid.v4)()),
57
+ modalRenderInstanceId = _useRef.current;
58
+ var datasourceId = props.datasourceId,
59
+ initialColumnCustomSizes = props.columnCustomSizes,
60
+ initialWrappedColumnKeys = props.wrappedColumnKeys,
61
+ onCancel = props.onCancel,
62
+ onInsert = props.onInsert,
63
+ initialParameters = props.parameters,
64
+ urlBeingEdited = props.url,
65
+ initialVisibleColumnKeys = props.visibleColumnKeys;
36
66
  var _useState = (0, _react.useState)(undefined),
37
67
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
68
  availableSites = _useState2[0],
@@ -41,13 +71,44 @@ var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = function
41
71
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
42
72
  cloudId = _useState4[0],
43
73
  setCloudId = _useState4[1];
44
- var _useState5 = (0, _react.useState)(''),
74
+ var _useState5 = (0, _react.useState)(initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.searchString),
45
75
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
46
- searchTerm = _useState6[0],
47
- setSearchTerm = _useState6[1];
48
- var onSiteSelection = (0, _react.useCallback)(function (site) {
49
- setCloudId(site.cloudId);
50
- }, [setCloudId]);
76
+ searchString = _useState6[0],
77
+ setSearchString = _useState6[1];
78
+ var _useState7 = (0, _react.useState)(initialVisibleColumnKeys),
79
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
80
+ visibleColumnKeys = _useState8[0],
81
+ setVisibleColumnKeys = _useState8[1];
82
+
83
+ // TODO: further refactoring in EDM-9573
84
+ // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6829210
85
+ var parameters = (0, _react.useMemo)(function () {
86
+ return _objectSpread(_objectSpread({}, initialParameters), {}, {
87
+ cloudId: cloudId,
88
+ searchString: searchString
89
+ });
90
+ }, [cloudId, initialParameters, searchString /** Add more parameters when more filters are added */]);
91
+ var isParametersSet = (0, _react.useMemo)(function () {
92
+ return !!cloudId && Object.values(parameters !== null && parameters !== void 0 ? parameters : {}).filter(function (v) {
93
+ return v !== undefined;
94
+ }).length > 1;
95
+ }, [cloudId, parameters]);
96
+ var _useDatasourceTableSt = (0, _useDatasourceTableState.useDatasourceTableState)({
97
+ datasourceId: datasourceId,
98
+ parameters: isParametersSet ? parameters : undefined,
99
+ fieldKeys: visibleColumnKeys
100
+ }),
101
+ reset = _useDatasourceTableSt.reset,
102
+ status = _useDatasourceTableSt.status,
103
+ onNextPage = _useDatasourceTableSt.onNextPage,
104
+ responseItems = _useDatasourceTableSt.responseItems,
105
+ hasNextPage = _useDatasourceTableSt.hasNextPage,
106
+ columns = _useDatasourceTableSt.columns,
107
+ defaultVisibleColumnKeys = _useDatasourceTableSt.defaultVisibleColumnKeys,
108
+ loadDatasourceDetails = _useDatasourceTableSt.loadDatasourceDetails,
109
+ _useDatasourceTableSt2 = _useDatasourceTableSt.extensionKey,
110
+ extensionKey = _useDatasourceTableSt2 === void 0 ? null : _useDatasourceTableSt2,
111
+ totalCount = _useDatasourceTableSt.totalCount;
51
112
  var hasNoConfluenceSites = availableSites && availableSites.length === 0;
52
113
  var selectedConfluenceSite = (0, _react.useMemo)(function () {
53
114
  if (cloudId) {
@@ -64,10 +125,24 @@ var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = function
64
125
  })) || (availableSites === null || availableSites === void 0 ? void 0 : availableSites[0]);
65
126
  }
66
127
  }, [availableSites, cloudId]);
67
- var handleSearchChange = (0, _react.useCallback)(function (e) {
68
- var rawSearch = e.currentTarget.value;
69
- setSearchTerm(rawSearch);
70
- }, [setSearchTerm]);
128
+
129
+ // TODO: further refactoring in EDM-9573
130
+ // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6828283
131
+ (0, _react.useEffect)(function () {
132
+ if (selectedConfluenceSite && (!cloudId || cloudId !== selectedConfluenceSite.cloudId)) {
133
+ setCloudId(selectedConfluenceSite.cloudId);
134
+ }
135
+ }, [cloudId, selectedConfluenceSite]);
136
+
137
+ // TODO: further refactoring in EDM-9573
138
+ // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6829171
139
+ var onSiteSelection = (0, _react.useCallback)(function (site) {
140
+ setSearchString(undefined);
141
+ setCloudId(site.cloudId);
142
+ reset({
143
+ shouldForceRequest: true
144
+ });
145
+ }, [reset]);
71
146
  (0, _react.useEffect)(function () {
72
147
  var fetchSiteDisplayNames = /*#__PURE__*/function () {
73
148
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
@@ -96,6 +171,113 @@ var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = function
96
171
  void fetchSiteDisplayNames();
97
172
  }, []);
98
173
  var siteSelectorLabel = availableSites && availableSites.length > 1 ? _messages.confluenceSearchModalMessages.insertIssuesTitleManySites : _messages.confluenceSearchModalMessages.insertIssuesTitle;
174
+ var _useState9 = (0, _react.useState)(initialColumnCustomSizes),
175
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
176
+ columnCustomSizes = _useState10[0],
177
+ setColumnCustomSizes = _useState10[1];
178
+ var onColumnResize = (0, _react.useCallback)(function (key, width) {
179
+ setColumnCustomSizes(_objectSpread(_objectSpread({}, columnCustomSizes), {}, (0, _defineProperty2.default)({}, key, width)));
180
+ }, [columnCustomSizes]);
181
+ var _useState11 = (0, _react.useState)(initialWrappedColumnKeys),
182
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
183
+ wrappedColumnKeys = _useState12[0],
184
+ setWrappedColumnKeys = _useState12[1];
185
+ var onWrappedColumnChange = (0, _react.useCallback)(function (key, isWrapped) {
186
+ var set = new Set(wrappedColumnKeys);
187
+ if (isWrapped) {
188
+ set.add(key);
189
+ } else {
190
+ set.delete(key);
191
+ }
192
+ setWrappedColumnKeys(Array.from(set));
193
+ }, [wrappedColumnKeys]);
194
+
195
+ // TODO: further refactoring in EDM-9573
196
+ // https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/82725/overview?commentId=6798258
197
+ var confluenceSearchTable = (0, _react.useMemo)(function () {
198
+ return (0, _react2.jsx)(_contentContainer.ContentContainer, {
199
+ withTableBorder: true
200
+ }, (0, _react2.jsx)(_issueLikeTable.IssueLikeDataTableView, {
201
+ testId: "confluence-search-datasource-table",
202
+ status: status,
203
+ columns: columns,
204
+ items: responseItems,
205
+ hasNextPage: hasNextPage,
206
+ visibleColumnKeys: visibleColumnKeys || defaultVisibleColumnKeys,
207
+ onNextPage: onNextPage,
208
+ onLoadDatasourceDetails: loadDatasourceDetails,
209
+ onVisibleColumnKeysChange: setVisibleColumnKeys,
210
+ parentContainerRenderInstanceId: modalRenderInstanceId,
211
+ extensionKey: extensionKey,
212
+ columnCustomSizes: columnCustomSizes,
213
+ onColumnResize: onColumnResize,
214
+ wrappedColumnKeys: wrappedColumnKeys,
215
+ onWrappedColumnChange: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.datasource-word_wrap') ? onWrappedColumnChange : undefined
216
+ }));
217
+ }, [status, columns, responseItems, hasNextPage, visibleColumnKeys, defaultVisibleColumnKeys, onNextPage, loadDatasourceDetails, setVisibleColumnKeys, modalRenderInstanceId, extensionKey, columnCustomSizes, onColumnResize, wrappedColumnKeys, onWrappedColumnChange]);
218
+ var resolvedWithNoResults = status === 'resolved' && !responseItems.length;
219
+ var hasConfluenceSearchParams = selectedConfluenceSite && searchString;
220
+ var selectedConfluenceSiteUrl = selectedConfluenceSite === null || selectedConfluenceSite === void 0 ? void 0 : selectedConfluenceSite.url;
221
+ var confluenceSearchUrl = selectedConfluenceSiteUrl && searchString !== undefined && "".concat(selectedConfluenceSiteUrl, "/wiki/search/?text=").concat(encodeURI(searchString));
222
+ var renderModalContent = (0, _react.useCallback)(function () {
223
+ if (status === 'rejected') {
224
+ return (0, _react2.jsx)(_modalLoadingError.ModalLoadingError, null);
225
+ } else if (status === 'unauthorized') {
226
+ return (0, _react2.jsx)(_accessRequired.AccessRequired, {
227
+ url: selectedConfluenceSiteUrl || urlBeingEdited
228
+ });
229
+ } else if (resolvedWithNoResults || status === 'forbidden') {
230
+ return (0, _react2.jsx)(_noResults.NoResults, null);
231
+ } else if (status === 'empty' || !columns.length) {
232
+ // persist the empty state when making the initial /data request which contains the columns
233
+ if (hasConfluenceSearchParams !== undefined) {
234
+ return (0, _react2.jsx)(_issueLikeTable.EmptyState, {
235
+ testId: "confluence-search-datasource-modal--empty-state"
236
+ });
237
+ }
238
+ return (0, _react2.jsx)(_contentContainer.ContentContainer, null, (0, _react2.jsx)(_initialStateView.InitialStateView, {
239
+ icon: (0, _react2.jsx)(_confluenceSearchInitialStateSvg.ConfluenceSearchInitialStateSVG, null),
240
+ title: _messages.confluenceSearchModalMessages.initialViewSearchTitle,
241
+ description: _messages.confluenceSearchModalMessages.initialViewSearchDescription
242
+ }));
243
+ }
244
+ return confluenceSearchTable;
245
+ }, [columns.length, selectedConfluenceSiteUrl, confluenceSearchTable, resolvedWithNoResults, status, urlBeingEdited, hasConfluenceSearchParams]);
246
+ var shouldShowResultsCount = !!totalCount && totalCount !== 1;
247
+ var onInsertPressed = (0, _react.useCallback)(function () {
248
+ if (!isParametersSet || !cloudId) {
249
+ return;
250
+ }
251
+ onInsert((0, _adf.buildDatasourceAdf)({
252
+ id: datasourceId,
253
+ parameters: _objectSpread(_objectSpread({}, parameters), {}, {
254
+ cloudId: cloudId
255
+ }),
256
+ views: [{
257
+ type: 'table',
258
+ properties: {
259
+ columns: (visibleColumnKeys || []).map(function (key) {
260
+ var width = columnCustomSizes === null || columnCustomSizes === void 0 ? void 0 : columnCustomSizes[key];
261
+ var isWrapped = wrappedColumnKeys === null || wrappedColumnKeys === void 0 ? void 0 : wrappedColumnKeys.includes(key);
262
+ return _objectSpread(_objectSpread({
263
+ key: key
264
+ }, width ? {
265
+ width: width
266
+ } : {}), isWrapped ? {
267
+ isWrapped: isWrapped
268
+ } : {});
269
+ })
270
+ }
271
+ }]
272
+ }));
273
+ }, [cloudId, isParametersSet, onInsert, datasourceId, parameters, visibleColumnKeys, columnCustomSizes, wrappedColumnKeys]);
274
+ var onSearch = (0, _react.useCallback)(function (newSearchString) {
275
+ setSearchString(newSearchString);
276
+ reset({
277
+ shouldForceRequest: true
278
+ });
279
+ }, [reset]);
280
+ var isInsertDisabled = !isParametersSet || status === 'rejected' || status === 'unauthorized' || status === 'loading';
99
281
  return (0, _react2.jsx)(_intlMessagesProvider.IntlMessagesProvider, {
100
282
  defaultMessages: _en.default,
101
283
  loaderFn: _fetchMessagesForLocale.fetchMessagesForLocale
@@ -110,29 +292,40 @@ var ConfluenceSearchConfigModal = exports.ConfluenceSearchConfigModal = function
110
292
  selectedSite: selectedConfluenceSite,
111
293
  testId: "confluence-search-datasource-modal--site-selector",
112
294
  label: siteSelectorLabel
113
- }))), (0, _react2.jsx)(_modalDialog.ModalBody, null, !hasNoConfluenceSites ? (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_basicSearchInput.BasicSearchInput, {
114
- testId: "confluence-search-datasource-modal",
295
+ }))), (0, _react2.jsx)(_modalDialog.ModalBody, null, !hasNoConfluenceSites ? (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_primitives.Box, {
296
+ xcss: inputContainerStyles
297
+ }, (0, _react2.jsx)(_confluenceSearchContainer.default, {
298
+ cloudId: cloudId,
115
299
  isSearching: status === 'loading',
116
- onChange: handleSearchChange,
117
- onSearch: function onSearch() {},
118
- searchTerm: searchTerm,
119
- placeholder: _messages.confluenceSearchModalMessages.searchLabel,
120
- fullWidth: true
121
- }), (0, _react2.jsx)(_contentContainer.ContentContainer, null, (0, _react2.jsx)(_initialStateView.InitialStateView, {
122
- icon: (0, _react2.jsx)(_confluenceSearchInitialStateSvg.ConfluenceSearchInitialStateSVG, null),
123
- title: _messages.confluenceSearchModalMessages.initialViewSearchTitle,
124
- description: _messages.confluenceSearchModalMessages.initialViewSearchDescription
125
- }))) : (0, _react2.jsx)(_noInstances.NoInstancesView, {
300
+ onSearch: onSearch,
301
+ initialSearchValue: initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.searchString
302
+ })), renderModalContent()) : (0, _react2.jsx)(_noInstances.NoInstancesView, {
126
303
  title: _messages.confluenceSearchModalMessages.noAccessToConfluenceSitesTitle,
127
304
  description: _messages.confluenceSearchModalMessages.noAccessToConfluenceSitesDescription,
128
305
  testId: 'no-confluence-instances-content'
129
- })), (0, _react2.jsx)(_modalDialog.ModalFooter, null, (0, _react2.jsx)(_standardButton.default, {
306
+ })), (0, _react2.jsx)(_modalDialog.ModalFooter, null, shouldShowResultsCount && confluenceSearchUrl && (0, _react2.jsx)(_primitives.Box, {
307
+ testId: "confluence-search-datasource-modal-total-results-count",
308
+ xcss: searchCountStyles
309
+ }, (0, _react2.jsx)(_linkUrl.default, {
310
+ href: confluenceSearchUrl,
311
+ target: "_blank",
312
+ testId: "item-count-url",
313
+ style: {
314
+ color: "var(--ds-text-accent-gray, ".concat(_colors.N800, ")")
315
+ }
316
+ }, (0, _react2.jsx)(_reactIntlNext.FormattedNumber, {
317
+ value: totalCount
318
+ }), ' ', (0, _react2.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.confluenceSearchModalMessages.searchCountText, {
319
+ values: {
320
+ totalCount: totalCount
321
+ }
322
+ })))), (0, _react2.jsx)(_standardButton.default, {
130
323
  appearance: "default",
131
324
  onClick: onCancel
132
325
  }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.confluenceSearchModalMessages.cancelButtonText)), !hasNoConfluenceSites && (0, _react2.jsx)(_standardButton.default, {
133
326
  appearance: "primary",
134
- onClick: function onClick() {},
135
- isDisabled: true,
327
+ onClick: onInsertPressed,
328
+ isDisabled: isInsertDisabled,
136
329
  testId: "confluence-search-datasource-modal--insert-button"
137
330
  }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.confluenceSearchModalMessages.insertResultsButtonText)))));
138
331
  };
@@ -16,10 +16,10 @@ var confluenceSearchModalMessages = exports.confluenceSearchModalMessages = (0,
16
16
  description: 'Button text to insert the displayed content',
17
17
  defaultMessage: 'Insert results'
18
18
  },
19
- searchLabel: {
20
- id: 'linkDataSource.confluence-search.configmodal.searchLabel',
21
- description: 'Placeholder text for the search input box',
22
- defaultMessage: 'Enter keywords to find pages, attachments, and more'
19
+ searchCountText: {
20
+ id: 'linkDataSource.confluence-search.configmodal.resultsCountText',
21
+ description: 'Text that appears after search count number.',
22
+ defaultMessage: '{totalCount, plural, one {result} other {results}}'
23
23
  },
24
24
  insertIssuesTitle: {
25
25
  id: 'linkDataSource.confluence-search.configmodal.insertConfluenceTitle',
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -10,13 +10,14 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _react = require("@emotion/react");
11
11
  var _reactIntlNext = require("react-intl-next");
12
12
  var _select = require("@atlaskit/select");
13
+ var _typography = require("@atlaskit/theme/typography");
13
14
  var _messages = require("./messages");
14
15
  var _excluded = ["children"];
15
16
  /** @jsx jsx */
16
17
  var SELECT_ITEMS_MAXIMUM_THRESHOLD = exports.SELECT_ITEMS_MAXIMUM_THRESHOLD = 200;
17
18
  var messageStyles = (0, _react.css)({
18
19
  color: "var(--ds-text-subtle, #44546F)",
19
- font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
20
+ font: "var(--ds-font-body-small, ".concat(_typography.fontFallback.body.small, ")"),
20
21
  fontWeight: "var(--ds-font-weight-regular, 400)"
21
22
  });
22
23
  var ConcatenatedMenuList = exports.ConcatenatedMenuList = function ConcatenatedMenuList(_ref) {
@@ -9,6 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@emotion/react");
10
10
  var _styled = _interopRequireDefault(require("@emotion/styled"));
11
11
  var _colors = require("@atlaskit/theme/colors");
12
+ var _typography = require("@atlaskit/theme/typography");
12
13
  var _styled2 = require("./styled");
13
14
  /** @jsx jsx */
14
15
 
@@ -35,7 +36,7 @@ var tableStyles = (0, _react2.css)({
35
36
  background: "var(--ds-surface, #FFF)",
36
37
  borderCollapse: 'separate',
37
38
  borderSpacing: 0,
38
- font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
39
+ font: "var(--ds-font-body, ".concat(_typography.fontFallback.body.medium, ")"),
39
40
  maxWidth: maxWidth
40
41
  });
41
42
  var DragColumnPreview = exports.DragColumnPreview = function DragColumnPreview(_ref) {