@atlaskit/link-picker 1.27.0 → 1.27.2

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 (54) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/common/constants.js +1 -9
  3. package/dist/cjs/common/ui/min-height-container/styled.js +1 -1
  4. package/dist/cjs/ui/link-picker/index.js +1 -1
  5. package/dist/cjs/ui/link-picker/search-results/index.js +6 -5
  6. package/dist/cjs/ui/link-picker/search-results/link-search-list/index.js +3 -1
  7. package/dist/cjs/ui/link-picker/search-results/link-search-list/styled.js +2 -2
  8. package/dist/cjs/ui/link-picker/search-results/search-results-container/index.js +28 -0
  9. package/dist/cjs/ui/link-picker/search-results/search-results-container/styled.js +12 -0
  10. package/dist/cjs/ui/link-picker/search-results/styled.js +1 -1
  11. package/dist/cjs/ui/link-picker/styled.js +3 -7
  12. package/dist/cjs/ui/loader-fallback/index.js +15 -5
  13. package/dist/cjs/ui/loader-fallback/styled.js +12 -0
  14. package/dist/cjs/ui/messages-provider/lazy-messages-provider/utils/fetch-messages-for-locale.js +1 -1
  15. package/dist/cjs/version.json +1 -1
  16. package/dist/es2019/common/constants.js +0 -4
  17. package/dist/es2019/common/ui/min-height-container/styled.js +1 -1
  18. package/dist/es2019/ui/link-picker/index.js +1 -1
  19. package/dist/es2019/ui/link-picker/search-results/index.js +7 -6
  20. package/dist/es2019/ui/link-picker/search-results/link-search-list/index.js +3 -1
  21. package/dist/es2019/ui/link-picker/search-results/link-search-list/styled.js +3 -5
  22. package/dist/es2019/ui/link-picker/search-results/search-results-container/index.js +19 -0
  23. package/dist/es2019/ui/link-picker/search-results/search-results-container/styled.js +7 -0
  24. package/dist/es2019/ui/link-picker/search-results/styled.js +1 -0
  25. package/dist/es2019/ui/link-picker/styled.js +0 -9
  26. package/dist/es2019/ui/loader-fallback/index.js +13 -3
  27. package/dist/es2019/ui/loader-fallback/styled.js +4 -0
  28. package/dist/es2019/ui/messages-provider/lazy-messages-provider/utils/fetch-messages-for-locale.js +1 -1
  29. package/dist/es2019/version.json +1 -1
  30. package/dist/esm/common/constants.js +0 -4
  31. package/dist/esm/common/ui/min-height-container/styled.js +1 -1
  32. package/dist/esm/ui/link-picker/index.js +1 -1
  33. package/dist/esm/ui/link-picker/search-results/index.js +7 -6
  34. package/dist/esm/ui/link-picker/search-results/link-search-list/index.js +3 -1
  35. package/dist/esm/ui/link-picker/search-results/link-search-list/styled.js +2 -2
  36. package/dist/esm/ui/link-picker/search-results/search-results-container/index.js +20 -0
  37. package/dist/esm/ui/link-picker/search-results/search-results-container/styled.js +4 -0
  38. package/dist/esm/ui/link-picker/search-results/styled.js +1 -1
  39. package/dist/esm/ui/link-picker/styled.js +2 -4
  40. package/dist/esm/ui/loader-fallback/index.js +13 -3
  41. package/dist/esm/ui/loader-fallback/styled.js +4 -0
  42. package/dist/esm/ui/messages-provider/lazy-messages-provider/utils/fetch-messages-for-locale.js +1 -1
  43. package/dist/esm/version.json +1 -1
  44. package/dist/types/common/constants.d.ts +0 -4
  45. package/dist/types/ui/link-picker/search-results/search-results-container/index.d.ts +5 -0
  46. package/dist/types/ui/link-picker/search-results/search-results-container/styled.d.ts +1 -0
  47. package/dist/types/ui/link-picker/styled.d.ts +0 -2
  48. package/dist/types/ui/loader-fallback/styled.d.ts +1 -0
  49. package/dist/types-ts4.5/common/constants.d.ts +0 -4
  50. package/dist/types-ts4.5/ui/link-picker/search-results/search-results-container/index.d.ts +5 -0
  51. package/dist/types-ts4.5/ui/link-picker/search-results/search-results-container/styled.d.ts +1 -0
  52. package/dist/types-ts4.5/ui/link-picker/styled.d.ts +0 -2
  53. package/dist/types-ts4.5/ui/loader-fallback/styled.d.ts +1 -0
  54. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/link-picker
2
2
 
3
+ ## 1.27.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`fa3c0d93eae`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fa3c0d93eae) - Improves fixed height display of link picker when 'platform.linking-platform.link-picker.fixed-height-search-results' is enabled.
8
+ - Updated dependencies
9
+
10
+ ## 1.27.1
11
+
12
+ ### Patch Changes
13
+
14
+ - [`3bebfdcc3ae`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3bebfdcc3ae) - [ux] Fix pt-BR messages
15
+
3
16
  ## 1.27.0
4
17
 
5
18
  ### Minor Changes
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.RECENT_SEARCH_LIST_SIZE = exports.LINK_PICKER_WIDTH_IN_PX = exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = exports.LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = exports.COMPONENT_NAME = exports.ANALYTICS_CHANNEL = void 0;
6
+ exports.RECENT_SEARCH_LIST_SIZE = exports.LINK_PICKER_WIDTH_IN_PX = exports.LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = exports.COMPONENT_NAME = exports.ANALYTICS_CHANNEL = void 0;
7
7
  var ANALYTICS_CHANNEL = 'media';
8
8
  exports.ANALYTICS_CHANNEL = ANALYTICS_CHANNEL;
9
9
  var COMPONENT_NAME = 'linkPicker';
@@ -12,13 +12,5 @@ var RECENT_SEARCH_LIST_SIZE = 5;
12
12
  exports.RECENT_SEARCH_LIST_SIZE = RECENT_SEARCH_LIST_SIZE;
13
13
  var LINK_PICKER_WIDTH_IN_PX = 342;
14
14
  exports.LINK_PICKER_WIDTH_IN_PX = LINK_PICKER_WIDTH_IN_PX;
15
- var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = '472px';
16
- exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT;
17
- var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = '550px';
18
- exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT;
19
- var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = '218px';
20
- exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT;
21
- var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = '141px';
22
- exports.LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT;
23
15
  var LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = '290px';
24
16
  exports.LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK;
@@ -8,5 +8,5 @@ exports.minHeightComponentStyles = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
10
  var _templateObject;
11
- var minHeightComponentStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--link-picker-min-height);\n"])));
11
+ var minHeightComponentStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: stretch;\n justify-content: center;\n min-height: var(--link-picker-min-height);\n"])));
12
12
  exports.minHeightComponentStyles = minHeightComponentStyles;
@@ -316,7 +316,7 @@ var LinkPicker = (0, _analytics.withLinkPickerAnalyticsContext)( /*#__PURE__*/(0
316
316
  "aria-label": intl.formatMessage(_messages.linkTextMessages.linkTextAriaLabel),
317
317
  onClear: handleClear,
318
318
  onChange: handleChangeText
319
- }), !!queryState && (0, _react2.jsx)(_searchResults.SearchResults, {
319
+ }), !!queryState && (isLoadingPlugins || isActivePlugin) && (0, _react2.jsx)(_searchResults.SearchResults, {
320
320
  activeTab: activeTab,
321
321
  tabs: tabs,
322
322
  activePlugin: activePlugin,
@@ -16,6 +16,7 @@ var _useFixHeight = require("../../../controllers/use-fix-height");
16
16
  var _linkSearchError = require("./link-search-error");
17
17
  var _linkSearchList = require("./link-search-list");
18
18
  var _scrollingTabs = require("./scrolling-tabs");
19
+ var _searchResultsContainer = require("./search-results-container");
19
20
  var _styled = require("./styled");
20
21
  var _trackTabViewed = require("./track-tab-viewed");
21
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -57,7 +58,9 @@ var SearchResults = function SearchResults(_ref) {
57
58
  testId: testIds.tabItem
58
59
  }, tab.tabTitle);
59
60
  }));
60
- return (0, _react2.jsx)(_react.Fragment, null, isLoadingPlugins && !!queryState && (0, _react2.jsx)("div", {
61
+ return (0, _react2.jsx)(_searchResultsContainer.SearchResultsContainer, (0, _extends2.default)({
62
+ hasTabs: !!tabs.length || isLoadingPlugins
63
+ }, fixListHeightProps), isLoadingPlugins && !!queryState && (0, _react2.jsx)("div", {
61
64
  css: _styled.spinnerContainerStyles
62
65
  }, (0, _react2.jsx)(_spinner.default, {
63
66
  testId: testIds.tabsLoadingIndicator,
@@ -71,9 +74,7 @@ var SearchResults = function SearchResults(_ref) {
71
74
  onChange: handleTabChange
72
75
  }, featureFlags !== null && featureFlags !== void 0 && featureFlags.scrollingTabs ? (0, _react2.jsx)(_scrollingTabs.ScrollingTabList, null, tabList) : tabList), (0, _react2.jsx)(_trackTabViewed.TrackTabViewed, {
73
76
  activePlugin: activePlugin
74
- })), (0, _react2.jsx)("div", (0, _extends2.default)({
75
- css: _styled.flexColumnStyles
76
- }, fixListHeightProps), !error && (0, _react2.jsx)(_linkSearchList.LinkSearchList, {
77
+ })), !error && (0, _react2.jsx)(_linkSearchList.LinkSearchList, {
77
78
  id: linkSearchListId,
78
79
  role: "listbox",
79
80
  items: items,
@@ -85,6 +86,6 @@ var SearchResults = function SearchResults(_ref) {
85
86
  onKeyDown: handleKeyDown,
86
87
  hasSearchTerm: !!(queryState !== null && queryState !== void 0 && queryState.query.length),
87
88
  activePlugin: activePlugin
88
- }), error && ((_activePlugin$errorFa = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$errorFa2 = activePlugin.errorFallback) === null || _activePlugin$errorFa2 === void 0 ? void 0 : _activePlugin$errorFa2.call(activePlugin, error, retry)) !== null && _activePlugin$errorFa !== void 0 ? _activePlugin$errorFa : (0, _react2.jsx)(_linkSearchError.LinkSearchError, null)))));
89
+ }), error && ((_activePlugin$errorFa = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$errorFa2 = activePlugin.errorFallback) === null || _activePlugin$errorFa2 === void 0 ? void 0 : _activePlugin$errorFa2.call(activePlugin, error, retry)) !== null && _activePlugin$errorFa !== void 0 ? _activePlugin$errorFa : (0, _react2.jsx)(_linkSearchError.LinkSearchError, null))));
89
90
  };
90
91
  exports.SearchResults = SearchResults;
@@ -14,6 +14,7 @@ var _reactIntlNext = require("react-intl-next");
14
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
15
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
16
16
  var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
17
+ var _minHeightContainer = require("../../../../common/ui/min-height-container");
17
18
  var _handleNavKeyDown = require("../../../../common/utils/handleNavKeyDown");
18
19
  var _linkSearchNoResults = require("./link-search-no-results");
19
20
  var _styled = require("./link-search-no-results/styled");
@@ -155,7 +156,8 @@ var LinkSearchList = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
155
156
  })));
156
157
  }
157
158
  if (isLoading) {
158
- loadingContent = (0, _react2.jsx)("div", {
159
+ loadingContent = (0, _react2.jsx)(_minHeightContainer.MinHeightContainer, {
160
+ minHeight: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-picker.fixed-height-search-results') ? '50px' : '80px',
159
161
  css: _styled2.spinnerContainerStyles
160
162
  }, (0, _react2.jsx)(_spinner.default, {
161
163
  testId: testIds.searchResultLoadingIndicator,
@@ -10,9 +10,9 @@ var _react = require("@emotion/react");
10
10
  var _theme = require("@atlaskit/theme");
11
11
  var _templateObject, _templateObject2, _templateObject3, _templateObject4; // AFP-2532 TODO: Fix automatic suppressions below
12
12
  // eslint-disable-next-line @atlassian/tangerine/import/entry-points
13
- var listContainerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding-top: 0;\n min-height: 80px;\n margin-top: ", ";\n margin-bottom: ", ";\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n"])), "var(--ds-space-200, 16px)", "var(--ds-space-200, 16px)");
13
+ var listContainerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n padding-top: 0;\n min-height: 80px;\n margin-top: ", ";\n margin-bottom: ", ";\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n"])), "var(--ds-space-200, 16px)", "var(--ds-space-200, 16px)");
14
14
  exports.listContainerStyles = listContainerStyles;
15
- var spinnerContainerStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n text-align: center;\n min-height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n"])));
15
+ var spinnerContainerStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n flex-grow: 1;\n flex-direction: column;\n align-items: center;\n"])));
16
16
  exports.spinnerContainerStyles = spinnerContainerStyles;
17
17
  var listStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0;\n margin: 0 calc(-1 * ", ");\n list-style: none;\n"])), "var(--ds-space-200, 16px)");
18
18
  exports.listStyles = listStyles;
@@ -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.SearchResultsContainer = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = require("react");
11
+ var _react2 = require("@emotion/react");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
+ var _minHeightContainer = require("../../../../common/ui/min-height-container");
14
+ var _styled = require("./styled");
15
+ var _excluded = ["hasTabs"];
16
+ /** @jsx jsx */
17
+ var SearchResultsContainer = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
18
+ var hasTabs = _ref.hasTabs,
19
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
20
+ var minHeight = hasTabs ? '347px' : '302px';
21
+ var ffMinHeight = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-picker.fixed-height-search-results') ? minHeight : 'auto';
22
+ return (0, _react2.jsx)(_minHeightContainer.MinHeightContainer, (0, _extends2.default)({
23
+ ref: ref,
24
+ minHeight: ffMinHeight,
25
+ css: _styled.flexColumn
26
+ }, props));
27
+ });
28
+ exports.SearchResultsContainer = SearchResultsContainer;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.flexColumn = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _templateObject;
11
+ var flexColumn = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n"])));
12
+ exports.flexColumn = flexColumn;
@@ -10,7 +10,7 @@ var _react = require("@emotion/react");
10
10
  var _templateObject, _templateObject2, _templateObject3;
11
11
  var tabsWrapperStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-top: ", ";\n margin-left: calc(-1 * ", ");\n margin-right: calc(-1 * ", ");\n"])), "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
12
12
  exports.tabsWrapperStyles = tabsWrapperStyles;
13
- var spinnerContainerStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n min-height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n"])));
13
+ var spinnerContainerStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n min-height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: center;\n flex-grow: 1;\n"])));
14
14
  exports.spinnerContainerStyles = spinnerContainerStyles;
15
15
  var flexColumnStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n"])));
16
16
  exports.flexColumnStyles = flexColumnStyles;
@@ -4,20 +4,16 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.tabsWrapperStyles = exports.rootContainerStyles = exports.formFooterMargin = exports.flexColumnStyles = void 0;
7
+ exports.rootContainerStyles = exports.formFooterMargin = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
10
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
11
  var _constants = require("../../common/constants");
12
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
12
+ var _templateObject, _templateObject2;
13
13
  /**
14
14
  * Half padding on the top as the form field has a `gridSize()` margin top that cannot be overridden
15
15
  */
16
16
  var rootContainerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: ", ";\n padding: ", " ", "\n ", ";\n box-sizing: border-box;\n line-height: initial;\n"])), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-picker.fixed-height-search-results') ? undefined : "".concat(_constants.LINK_PICKER_WIDTH_IN_PX, "px"), "var(--ds-space-100, 8px)", "var(--ds-space-200, 16px)", "var(--ds-space-200, 16px)");
17
17
  exports.rootContainerStyles = rootContainerStyles;
18
- var tabsWrapperStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-top: ", ";\n margin-left: calc(-1 * ", ");\n margin-right: calc(-1 * ", ");\n"])), "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
19
- exports.tabsWrapperStyles = tabsWrapperStyles;
20
- var flexColumnStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n"])));
21
- exports.flexColumnStyles = flexColumnStyles;
22
- var formFooterMargin = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n margin-top: ", ";\n"])), "var(--ds-space-200, 16px)");
18
+ var formFooterMargin = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-top: ", ";\n"])), "var(--ds-space-200, 16px)");
23
19
  exports.formFooterMargin = formFooterMargin;
@@ -8,10 +8,16 @@ exports.LoaderFallback = void 0;
8
8
  var _react = require("@emotion/react");
9
9
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
10
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
11
- var _constants = require("../../common/constants");
12
11
  var _minHeightContainer = require("../../common/ui/min-height-container");
12
+ var _styled = require("./styled");
13
13
  /** @jsx jsx */
14
14
 
15
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = '472px';
16
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = '550px';
17
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITH_DISPLAYTEXT = '505px';
18
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITHOUT_DISPLAYTEXT = '429px';
19
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = '218px';
20
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = '141px';
15
21
  // EDM-7122: can delete these two consts once min height container for link picker is firm for the loader
16
22
  var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_DISPLAYTEXT = '142px';
17
23
  var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_DISPLAYTEXT = '220px';
@@ -20,10 +26,13 @@ var getEstimatedMinHeight = function getEstimatedMinHeight(_ref) {
20
26
  isLoadingPlugins = _ref.isLoadingPlugins,
21
27
  plugins = _ref.plugins;
22
28
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.link-picker.fixed-height-search-results')) {
23
- if (plugins !== null && plugins !== void 0 && plugins.length || isLoadingPlugins) {
24
- return hideDisplayText ? _constants.LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT : _constants.LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT;
29
+ if (plugins && plugins.length > 1 || isLoadingPlugins) {
30
+ return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT;
25
31
  }
26
- return hideDisplayText ? _constants.LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT : _constants.LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT;
32
+ if ((plugins === null || plugins === void 0 ? void 0 : plugins.length) === 1) {
33
+ return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITH_DISPLAYTEXT;
34
+ }
35
+ return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT;
27
36
  }
28
37
  return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_DISPLAYTEXT;
29
38
  };
@@ -36,7 +45,8 @@ var LoaderFallback = function LoaderFallback(props) {
36
45
  var minHeight = getEstimatedMinHeight(props);
37
46
  return (0, _react.jsx)(_minHeightContainer.MinHeightContainer, {
38
47
  minHeight: minHeight,
39
- "data-testid": "link-picker-root-loader-boundary-ui"
48
+ "data-testid": "link-picker-root-loader-boundary-ui",
49
+ css: _styled.styles
40
50
  }, (0, _react.jsx)(_spinner.default, {
41
51
  testId: "link-picker.component-loading-indicator",
42
52
  size: "medium"
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.styles = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _templateObject;
11
+ var styles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n"])));
12
+ exports.styles = styles;
@@ -25,7 +25,7 @@ var fetchMessagesForLocale = /*#__PURE__*/function () {
25
25
  }).then(function (s) {
26
26
  return _interopRequireWildcard(require(s));
27
27
  });
28
- }( /* webpackChunkName: "@atlaskit-internal_link-picker-i18n-[request]" */"../../../../i18n/".concat(locale));
28
+ }( /* webpackChunkName: "@atlaskit-internal_link-picker-i18n-[request]" */"../../../../i18n/".concat(locale.replace('-', '_')));
29
29
  case 3:
30
30
  _messages = _context.sent;
31
31
  return _context.abrupt("return", _messages.default);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.27.0",
3
+ "version": "1.27.2",
4
4
  "sideEffects": false
5
5
  }
@@ -2,8 +2,4 @@ export const ANALYTICS_CHANNEL = 'media';
2
2
  export const COMPONENT_NAME = 'linkPicker';
3
3
  export const RECENT_SEARCH_LIST_SIZE = 5;
4
4
  export const LINK_PICKER_WIDTH_IN_PX = 342;
5
- export const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = '472px';
6
- export const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = '550px';
7
- export const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = '218px';
8
- export const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = '141px';
9
5
  export const LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = '290px';
@@ -1,7 +1,7 @@
1
1
  import { css } from '@emotion/react';
2
2
  export const minHeightComponentStyles = css`
3
3
  display: flex;
4
- align-items: center;
4
+ align-items: stretch;
5
5
  justify-content: center;
6
6
  min-height: var(--link-picker-min-height);
7
7
  `;
@@ -316,7 +316,7 @@ export const LinkPicker = withLinkPickerAnalyticsContext( /*#__PURE__*/memo(({
316
316
  "aria-label": intl.formatMessage(linkTextMessages.linkTextAriaLabel),
317
317
  onClear: handleClear,
318
318
  onChange: handleChangeText
319
- }), !!queryState && jsx(SearchResults, {
319
+ }), !!queryState && (isLoadingPlugins || isActivePlugin) && jsx(SearchResults, {
320
320
  activeTab: activeTab,
321
321
  tabs: tabs,
322
322
  activePlugin: activePlugin,
@@ -8,7 +8,8 @@ import { useFixHeight } from '../../../controllers/use-fix-height';
8
8
  import { LinkSearchError, testIds as searchErrorTestIds } from './link-search-error';
9
9
  import { LinkSearchList, testIds as listTestIds } from './link-search-list';
10
10
  import { ScrollingTabList } from './scrolling-tabs';
11
- import { flexColumnStyles, spinnerContainerStyles, tabsWrapperStyles } from './styled';
11
+ import { SearchResultsContainer } from './search-results-container';
12
+ import { spinnerContainerStyles, tabsWrapperStyles } from './styled';
12
13
  import { TrackTabViewed } from './track-tab-viewed';
13
14
  export const testIds = {
14
15
  ...searchErrorTestIds,
@@ -45,7 +46,9 @@ export const SearchResults = ({
45
46
  key: tab.tabTitle,
46
47
  testId: testIds.tabItem
47
48
  }, tab.tabTitle)));
48
- return jsx(Fragment, null, isLoadingPlugins && !!queryState && jsx("div", {
49
+ return jsx(SearchResultsContainer, _extends({
50
+ hasTabs: !!tabs.length || isLoadingPlugins
51
+ }, fixListHeightProps), isLoadingPlugins && !!queryState && jsx("div", {
49
52
  css: spinnerContainerStyles
50
53
  }, jsx(Spinner, {
51
54
  testId: testIds.tabsLoadingIndicator,
@@ -59,9 +62,7 @@ export const SearchResults = ({
59
62
  onChange: handleTabChange
60
63
  }, featureFlags !== null && featureFlags !== void 0 && featureFlags.scrollingTabs ? jsx(ScrollingTabList, null, tabList) : tabList), jsx(TrackTabViewed, {
61
64
  activePlugin: activePlugin
62
- })), jsx("div", _extends({
63
- css: flexColumnStyles
64
- }, fixListHeightProps), !error && jsx(LinkSearchList, {
65
+ })), !error && jsx(LinkSearchList, {
65
66
  id: linkSearchListId,
66
67
  role: "listbox",
67
68
  items: items,
@@ -73,5 +74,5 @@ export const SearchResults = ({
73
74
  onKeyDown: handleKeyDown,
74
75
  hasSearchTerm: !!(queryState !== null && queryState !== void 0 && queryState.query.length),
75
76
  activePlugin: activePlugin
76
- }), error && ((_activePlugin$errorFa = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$errorFa2 = activePlugin.errorFallback) === null || _activePlugin$errorFa2 === void 0 ? void 0 : _activePlugin$errorFa2.call(activePlugin, error, retry)) !== null && _activePlugin$errorFa !== void 0 ? _activePlugin$errorFa : jsx(LinkSearchError, null)))));
77
+ }), error && ((_activePlugin$errorFa = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$errorFa2 = activePlugin.errorFallback) === null || _activePlugin$errorFa2 === void 0 ? void 0 : _activePlugin$errorFa2.call(activePlugin, error, retry)) !== null && _activePlugin$errorFa !== void 0 ? _activePlugin$errorFa : jsx(LinkSearchError, null))));
77
78
  };
@@ -6,6 +6,7 @@ import { defineMessages, FormattedMessage } from 'react-intl-next';
6
6
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
7
  import Spinner from '@atlaskit/spinner';
8
8
  import VisuallyHidden from '@atlaskit/visually-hidden';
9
+ import { MinHeightContainer } from '../../../../common/ui/min-height-container';
9
10
  import { handleNavKeyDown } from '../../../../common/utils/handleNavKeyDown';
10
11
  import { NoResults, testIds as noResultsTestIds } from './link-search-no-results';
11
12
  import { emptyStateNoResultsWrapper } from './link-search-no-results/styled';
@@ -139,7 +140,8 @@ export const LinkSearchList = /*#__PURE__*/forwardRef(({
139
140
  }))));
140
141
  }
141
142
  if (isLoading) {
142
- loadingContent = jsx("div", {
143
+ loadingContent = jsx(MinHeightContainer, {
144
+ minHeight: getBooleanFF('platform.linking-platform.link-picker.fixed-height-search-results') ? '50px' : '80px',
143
145
  css: spinnerContainerStyles
144
146
  }, jsx(Spinner, {
145
147
  testId: testIds.searchResultLoadingIndicator,
@@ -4,6 +4,7 @@ import { css } from '@emotion/react';
4
4
  // eslint-disable-next-line @atlassian/tangerine/import/entry-points
5
5
  import { typography } from '@atlaskit/theme';
6
6
  export const listContainerStyles = css`
7
+ width: 100%;
7
8
  padding-top: 0;
8
9
  min-height: 80px;
9
10
  margin-top: ${"var(--ds-space-200, 16px)"};
@@ -13,12 +14,9 @@ export const listContainerStyles = css`
13
14
  flex-direction: column;
14
15
  `;
15
16
  export const spinnerContainerStyles = css`
16
- text-align: center;
17
- min-height: 80px;
18
- display: flex;
19
- align-items: center;
20
- justify-content: center;
21
17
  flex-grow: 1;
18
+ flex-direction: column;
19
+ align-items: center;
22
20
  `;
23
21
  export const listStyles = css`
24
22
  padding: 0;
@@ -0,0 +1,19 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ /** @jsx jsx */
3
+ import { forwardRef } from 'react';
4
+ import { jsx } from '@emotion/react';
5
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
+ import { MinHeightContainer } from '../../../../common/ui/min-height-container';
7
+ import { flexColumn } from './styled';
8
+ export const SearchResultsContainer = /*#__PURE__*/forwardRef(({
9
+ hasTabs,
10
+ ...props
11
+ }, ref) => {
12
+ const minHeight = hasTabs ? '347px' : '302px';
13
+ const ffMinHeight = getBooleanFF('platform.linking-platform.link-picker.fixed-height-search-results') ? minHeight : 'auto';
14
+ return jsx(MinHeightContainer, _extends({
15
+ ref: ref,
16
+ minHeight: ffMinHeight,
17
+ css: flexColumn
18
+ }, props));
19
+ });
@@ -0,0 +1,7 @@
1
+ import { css } from '@emotion/react';
2
+ export const flexColumn = css`
3
+ display: flex;
4
+ flex-direction: column;
5
+ justify-content: flex-start;
6
+ width: 100%;
7
+ `;
@@ -9,6 +9,7 @@ export const spinnerContainerStyles = css`
9
9
  display: flex;
10
10
  align-items: center;
11
11
  justify-content: center;
12
+ align-self: center;
12
13
  flex-grow: 1;
13
14
  `;
14
15
  export const flexColumnStyles = css`
@@ -12,15 +12,6 @@ export const rootContainerStyles = css`
12
12
  box-sizing: border-box;
13
13
  line-height: initial;
14
14
  `;
15
- export const tabsWrapperStyles = css`
16
- margin-top: ${"var(--ds-space-150, 12px)"};
17
- margin-left: calc(-1 * ${"var(--ds-space-100, 8px)"});
18
- margin-right: calc(-1 * ${"var(--ds-space-100, 8px)"});
19
- `;
20
- export const flexColumnStyles = css`
21
- display: flex;
22
- flex-direction: column;
23
- `;
24
15
  export const formFooterMargin = css`
25
16
  margin-top: ${"var(--ds-space-200, 16px)"};
26
17
  `;
@@ -2,8 +2,14 @@
2
2
  import { jsx } from '@emotion/react';
3
3
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
4
4
  import Spinner from '@atlaskit/spinner';
5
- import { LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT, LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT, LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT, LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT } from '../../common/constants';
6
5
  import { MinHeightContainer } from '../../common/ui/min-height-container';
6
+ import { styles } from './styled';
7
+ const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = '472px';
8
+ const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = '550px';
9
+ const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITH_DISPLAYTEXT = '505px';
10
+ const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITHOUT_DISPLAYTEXT = '429px';
11
+ const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = '218px';
12
+ const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = '141px';
7
13
  // EDM-7122: can delete these two consts once min height container for link picker is firm for the loader
8
14
  const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_DISPLAYTEXT = '142px';
9
15
  const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_DISPLAYTEXT = '220px';
@@ -13,9 +19,12 @@ const getEstimatedMinHeight = ({
13
19
  plugins
14
20
  }) => {
15
21
  if (getBooleanFF('platform.linking-platform.link-picker.fixed-height-search-results')) {
16
- if (plugins !== null && plugins !== void 0 && plugins.length || isLoadingPlugins) {
22
+ if (plugins && plugins.length > 1 || isLoadingPlugins) {
17
23
  return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT;
18
24
  }
25
+ if ((plugins === null || plugins === void 0 ? void 0 : plugins.length) === 1) {
26
+ return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITH_DISPLAYTEXT;
27
+ }
19
28
  return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT;
20
29
  }
21
30
  return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_DISPLAYTEXT;
@@ -29,7 +38,8 @@ export const LoaderFallback = props => {
29
38
  const minHeight = getEstimatedMinHeight(props);
30
39
  return jsx(MinHeightContainer, {
31
40
  minHeight: minHeight,
32
- "data-testid": "link-picker-root-loader-boundary-ui"
41
+ "data-testid": "link-picker-root-loader-boundary-ui",
42
+ css: styles
33
43
  }, jsx(Spinner, {
34
44
  testId: "link-picker.component-loading-indicator",
35
45
  size: "medium"
@@ -0,0 +1,4 @@
1
+ import { css } from '@emotion/react';
2
+ export const styles = css`
3
+ align-items: center;
4
+ `;
@@ -1,7 +1,7 @@
1
1
  import messages from '../../../../i18n/en';
2
2
  export const fetchMessagesForLocale = async locale => {
3
3
  try {
4
- const messages = await import( /* webpackChunkName: "@atlaskit-internal_link-picker-i18n-[request]" */`../../../../i18n/${locale}`);
4
+ const messages = await import( /* webpackChunkName: "@atlaskit-internal_link-picker-i18n-[request]" */`../../../../i18n/${locale.replace('-', '_')}`);
5
5
  return messages.default;
6
6
  } catch (e) {
7
7
  // ignore
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.27.0",
3
+ "version": "1.27.2",
4
4
  "sideEffects": false
5
5
  }
@@ -2,8 +2,4 @@ export var ANALYTICS_CHANNEL = 'media';
2
2
  export var COMPONENT_NAME = 'linkPicker';
3
3
  export var RECENT_SEARCH_LIST_SIZE = 5;
4
4
  export var LINK_PICKER_WIDTH_IN_PX = 342;
5
- export var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = '472px';
6
- export var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = '550px';
7
- export var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = '218px';
8
- export var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = '141px';
9
5
  export var LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = '290px';
@@ -1,4 +1,4 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
2
  var _templateObject;
3
3
  import { css } from '@emotion/react';
4
- export var minHeightComponentStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--link-picker-min-height);\n"])));
4
+ export var minHeightComponentStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: stretch;\n justify-content: center;\n min-height: var(--link-picker-min-height);\n"])));
@@ -309,7 +309,7 @@ export var LinkPicker = withLinkPickerAnalyticsContext( /*#__PURE__*/memo(functi
309
309
  "aria-label": intl.formatMessage(linkTextMessages.linkTextAriaLabel),
310
310
  onClear: handleClear,
311
311
  onChange: handleChangeText
312
- }), !!queryState && jsx(SearchResults, {
312
+ }), !!queryState && (isLoadingPlugins || isActivePlugin) && jsx(SearchResults, {
313
313
  activeTab: activeTab,
314
314
  tabs: tabs,
315
315
  activePlugin: activePlugin,
@@ -11,7 +11,8 @@ import { useFixHeight } from '../../../controllers/use-fix-height';
11
11
  import { LinkSearchError, testIds as searchErrorTestIds } from './link-search-error';
12
12
  import { LinkSearchList, testIds as listTestIds } from './link-search-list';
13
13
  import { ScrollingTabList } from './scrolling-tabs';
14
- import { flexColumnStyles, spinnerContainerStyles, tabsWrapperStyles } from './styled';
14
+ import { SearchResultsContainer } from './search-results-container';
15
+ import { spinnerContainerStyles, tabsWrapperStyles } from './styled';
15
16
  import { TrackTabViewed } from './track-tab-viewed';
16
17
  export var testIds = _objectSpread(_objectSpread(_objectSpread({}, searchErrorTestIds), listTestIds), {}, {
17
18
  tabsLoadingIndicator: 'link-picker.tabs-loading-indicator',
@@ -47,7 +48,9 @@ export var SearchResults = function SearchResults(_ref) {
47
48
  testId: testIds.tabItem
48
49
  }, tab.tabTitle);
49
50
  }));
50
- return jsx(Fragment, null, isLoadingPlugins && !!queryState && jsx("div", {
51
+ return jsx(SearchResultsContainer, _extends({
52
+ hasTabs: !!tabs.length || isLoadingPlugins
53
+ }, fixListHeightProps), isLoadingPlugins && !!queryState && jsx("div", {
51
54
  css: spinnerContainerStyles
52
55
  }, jsx(Spinner, {
53
56
  testId: testIds.tabsLoadingIndicator,
@@ -61,9 +64,7 @@ export var SearchResults = function SearchResults(_ref) {
61
64
  onChange: handleTabChange
62
65
  }, featureFlags !== null && featureFlags !== void 0 && featureFlags.scrollingTabs ? jsx(ScrollingTabList, null, tabList) : tabList), jsx(TrackTabViewed, {
63
66
  activePlugin: activePlugin
64
- })), jsx("div", _extends({
65
- css: flexColumnStyles
66
- }, fixListHeightProps), !error && jsx(LinkSearchList, {
67
+ })), !error && jsx(LinkSearchList, {
67
68
  id: linkSearchListId,
68
69
  role: "listbox",
69
70
  items: items,
@@ -75,5 +76,5 @@ export var SearchResults = function SearchResults(_ref) {
75
76
  onKeyDown: handleKeyDown,
76
77
  hasSearchTerm: !!(queryState !== null && queryState !== void 0 && queryState.query.length),
77
78
  activePlugin: activePlugin
78
- }), error && ((_activePlugin$errorFa = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$errorFa2 = activePlugin.errorFallback) === null || _activePlugin$errorFa2 === void 0 ? void 0 : _activePlugin$errorFa2.call(activePlugin, error, retry)) !== null && _activePlugin$errorFa !== void 0 ? _activePlugin$errorFa : jsx(LinkSearchError, null)))));
79
+ }), error && ((_activePlugin$errorFa = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$errorFa2 = activePlugin.errorFallback) === null || _activePlugin$errorFa2 === void 0 ? void 0 : _activePlugin$errorFa2.call(activePlugin, error, retry)) !== null && _activePlugin$errorFa !== void 0 ? _activePlugin$errorFa : jsx(LinkSearchError, null))));
79
80
  };
@@ -11,6 +11,7 @@ import { defineMessages, FormattedMessage } from 'react-intl-next';
11
11
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
12
12
  import Spinner from '@atlaskit/spinner';
13
13
  import VisuallyHidden from '@atlaskit/visually-hidden';
14
+ import { MinHeightContainer } from '../../../../common/ui/min-height-container';
14
15
  import { handleNavKeyDown } from '../../../../common/utils/handleNavKeyDown';
15
16
  import { NoResults, testIds as noResultsTestIds } from './link-search-no-results';
16
17
  import { emptyStateNoResultsWrapper } from './link-search-no-results/styled';
@@ -147,7 +148,8 @@ export var LinkSearchList = /*#__PURE__*/forwardRef(function (_ref, ref) {
147
148
  })));
148
149
  }
149
150
  if (isLoading) {
150
- loadingContent = jsx("div", {
151
+ loadingContent = jsx(MinHeightContainer, {
152
+ minHeight: getBooleanFF('platform.linking-platform.link-picker.fixed-height-search-results') ? '50px' : '80px',
151
153
  css: spinnerContainerStyles
152
154
  }, jsx(Spinner, {
153
155
  testId: testIds.searchResultLoadingIndicator,
@@ -5,7 +5,7 @@ import { css } from '@emotion/react';
5
5
  // AFP-2532 TODO: Fix automatic suppressions below
6
6
  // eslint-disable-next-line @atlassian/tangerine/import/entry-points
7
7
  import { typography } from '@atlaskit/theme';
8
- export var listContainerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding-top: 0;\n min-height: 80px;\n margin-top: ", ";\n margin-bottom: ", ";\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n"])), "var(--ds-space-200, 16px)", "var(--ds-space-200, 16px)");
9
- export var spinnerContainerStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n text-align: center;\n min-height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n"])));
8
+ export var listContainerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n padding-top: 0;\n min-height: 80px;\n margin-top: ", ";\n margin-bottom: ", ";\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n"])), "var(--ds-space-200, 16px)", "var(--ds-space-200, 16px)");
9
+ export var spinnerContainerStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex-grow: 1;\n flex-direction: column;\n align-items: center;\n"])));
10
10
  export var listStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding: 0;\n margin: 0 calc(-1 * ", ");\n list-style: none;\n"])), "var(--ds-space-200, 16px)");
11
11
  export var listTitleStyles = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n ", "\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: ", ";\n"])), typography.h100(), "var(--ds-space-050, 4px)");
@@ -0,0 +1,20 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["hasTabs"];
4
+ /** @jsx jsx */
5
+ import { forwardRef } from 'react';
6
+ import { jsx } from '@emotion/react';
7
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
8
+ import { MinHeightContainer } from '../../../../common/ui/min-height-container';
9
+ import { flexColumn } from './styled';
10
+ export var SearchResultsContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {
11
+ var hasTabs = _ref.hasTabs,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ var minHeight = hasTabs ? '347px' : '302px';
14
+ var ffMinHeight = getBooleanFF('platform.linking-platform.link-picker.fixed-height-search-results') ? minHeight : 'auto';
15
+ return jsx(MinHeightContainer, _extends({
16
+ ref: ref,
17
+ minHeight: ffMinHeight,
18
+ css: flexColumn
19
+ }, props));
20
+ });
@@ -0,0 +1,4 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import { css } from '@emotion/react';
4
+ export var flexColumn = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n width: 100%;\n"])));
@@ -2,5 +2,5 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
  var _templateObject, _templateObject2, _templateObject3;
3
3
  import { css } from '@emotion/react';
4
4
  export var tabsWrapperStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-top: ", ";\n margin-left: calc(-1 * ", ");\n margin-right: calc(-1 * ", ");\n"])), "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
5
- export var spinnerContainerStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n min-height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n"])));
5
+ export var spinnerContainerStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n min-height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: center;\n flex-grow: 1;\n"])));
6
6
  export var flexColumnStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n"])));
@@ -1,5 +1,5 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
2
+ var _templateObject, _templateObject2;
3
3
  import { css } from '@emotion/react';
4
4
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
5
  import { LINK_PICKER_WIDTH_IN_PX } from '../../common/constants';
@@ -8,6 +8,4 @@ import { LINK_PICKER_WIDTH_IN_PX } from '../../common/constants';
8
8
  * Half padding on the top as the form field has a `gridSize()` margin top that cannot be overridden
9
9
  */
10
10
  export var rootContainerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", ";\n padding: ", " ", "\n ", ";\n box-sizing: border-box;\n line-height: initial;\n"])), getBooleanFF('platform.linking-platform.link-picker.fixed-height-search-results') ? undefined : "".concat(LINK_PICKER_WIDTH_IN_PX, "px"), "var(--ds-space-100, 8px)", "var(--ds-space-200, 16px)", "var(--ds-space-200, 16px)");
11
- export var tabsWrapperStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-top: ", ";\n margin-left: calc(-1 * ", ");\n margin-right: calc(-1 * ", ");\n"])), "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
12
- export var flexColumnStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n"])));
13
- export var formFooterMargin = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-top: ", ";\n"])), "var(--ds-space-200, 16px)");
11
+ export var formFooterMargin = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-top: ", ";\n"])), "var(--ds-space-200, 16px)");
@@ -2,8 +2,14 @@
2
2
  import { jsx } from '@emotion/react';
3
3
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
4
4
  import Spinner from '@atlaskit/spinner';
5
- import { LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT, LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT, LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT, LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT } from '../../common/constants';
6
5
  import { MinHeightContainer } from '../../common/ui/min-height-container';
6
+ import { styles } from './styled';
7
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = '472px';
8
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = '550px';
9
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITH_DISPLAYTEXT = '505px';
10
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITHOUT_DISPLAYTEXT = '429px';
11
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = '218px';
12
+ var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = '141px';
7
13
  // EDM-7122: can delete these two consts once min height container for link picker is firm for the loader
8
14
  var LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_DISPLAYTEXT = '142px';
9
15
  var LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_DISPLAYTEXT = '220px';
@@ -12,9 +18,12 @@ var getEstimatedMinHeight = function getEstimatedMinHeight(_ref) {
12
18
  isLoadingPlugins = _ref.isLoadingPlugins,
13
19
  plugins = _ref.plugins;
14
20
  if (getBooleanFF('platform.linking-platform.link-picker.fixed-height-search-results')) {
15
- if (plugins !== null && plugins !== void 0 && plugins.length || isLoadingPlugins) {
21
+ if (plugins && plugins.length > 1 || isLoadingPlugins) {
16
22
  return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT;
17
23
  }
24
+ if ((plugins === null || plugins === void 0 ? void 0 : plugins.length) === 1) {
25
+ return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_PLUGIN_WITH_DISPLAYTEXT;
26
+ }
18
27
  return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT;
19
28
  }
20
29
  return hideDisplayText ? LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_DISPLAYTEXT : LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_DISPLAYTEXT;
@@ -28,7 +37,8 @@ export var LoaderFallback = function LoaderFallback(props) {
28
37
  var minHeight = getEstimatedMinHeight(props);
29
38
  return jsx(MinHeightContainer, {
30
39
  minHeight: minHeight,
31
- "data-testid": "link-picker-root-loader-boundary-ui"
40
+ "data-testid": "link-picker-root-loader-boundary-ui",
41
+ css: styles
32
42
  }, jsx(Spinner, {
33
43
  testId: "link-picker.component-loading-indicator",
34
44
  size: "medium"
@@ -0,0 +1,4 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import { css } from '@emotion/react';
4
+ export var styles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n"])));
@@ -9,7 +9,7 @@ export var fetchMessagesForLocale = /*#__PURE__*/function () {
9
9
  case 0:
10
10
  _context.prev = 0;
11
11
  _context.next = 3;
12
- return import( /* webpackChunkName: "@atlaskit-internal_link-picker-i18n-[request]" */"../../../../i18n/".concat(locale));
12
+ return import( /* webpackChunkName: "@atlaskit-internal_link-picker-i18n-[request]" */"../../../../i18n/".concat(locale.replace('-', '_')));
13
13
  case 3:
14
14
  _messages = _context.sent;
15
15
  return _context.abrupt("return", _messages.default);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.27.0",
3
+ "version": "1.27.2",
4
4
  "sideEffects": false
5
5
  }
@@ -2,8 +2,4 @@ export declare const ANALYTICS_CHANNEL = "media";
2
2
  export declare const COMPONENT_NAME = "linkPicker";
3
3
  export declare const RECENT_SEARCH_LIST_SIZE = 5;
4
4
  export declare const LINK_PICKER_WIDTH_IN_PX = 342;
5
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = "472px";
6
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = "550px";
7
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = "218px";
8
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = "141px";
9
5
  export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = "290px";
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const SearchResultsContainer: import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & {
3
+ hasTabs?: boolean | undefined;
4
+ children?: React.ReactNode;
5
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export declare const flexColumn: import("@emotion/react").SerializedStyles;
@@ -2,6 +2,4 @@
2
2
  * Half padding on the top as the form field has a `gridSize()` margin top that cannot be overridden
3
3
  */
4
4
  export declare const rootContainerStyles: import("@emotion/react").SerializedStyles;
5
- export declare const tabsWrapperStyles: import("@emotion/react").SerializedStyles;
6
- export declare const flexColumnStyles: import("@emotion/react").SerializedStyles;
7
5
  export declare const formFooterMargin: import("@emotion/react").SerializedStyles;
@@ -0,0 +1 @@
1
+ export declare const styles: import("@emotion/react").SerializedStyles;
@@ -2,8 +2,4 @@ export declare const ANALYTICS_CHANNEL = "media";
2
2
  export declare const COMPONENT_NAME = "linkPicker";
3
3
  export declare const RECENT_SEARCH_LIST_SIZE = 5;
4
4
  export declare const LINK_PICKER_WIDTH_IN_PX = 342;
5
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITHOUT_DISPLAYTEXT = "472px";
6
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITH_TABS_WITH_DISPLAYTEXT = "550px";
7
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITH_DISPLAYTEXT = "218px";
8
- export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_WITHOUT_TABS_WITHOUT_DISPLAYTEXT = "141px";
9
5
  export declare const LINK_PICKER_MIN_HEIGHT_IN_PX_FALLBACK = "290px";
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const SearchResultsContainer: import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & {
3
+ hasTabs?: boolean | undefined;
4
+ children?: React.ReactNode;
5
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export declare const flexColumn: import("@emotion/react").SerializedStyles;
@@ -2,6 +2,4 @@
2
2
  * Half padding on the top as the form field has a `gridSize()` margin top that cannot be overridden
3
3
  */
4
4
  export declare const rootContainerStyles: import("@emotion/react").SerializedStyles;
5
- export declare const tabsWrapperStyles: import("@emotion/react").SerializedStyles;
6
- export declare const flexColumnStyles: import("@emotion/react").SerializedStyles;
7
5
  export declare const formFooterMargin: import("@emotion/react").SerializedStyles;
@@ -0,0 +1 @@
1
+ export declare const styles: import("@emotion/react").SerializedStyles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.27.0",
3
+ "version": "1.27.2",
4
4
  "description": "Standalone link picker",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "publishConfig": {
@@ -55,14 +55,14 @@
55
55
  "@atlaskit/form": "^8.11.0",
56
56
  "@atlaskit/frontend-utilities": "^2.7.0",
57
57
  "@atlaskit/icon": "^21.12.0",
58
- "@atlaskit/linking-common": "^3.3.0",
58
+ "@atlaskit/linking-common": "^4.0.0",
59
59
  "@atlaskit/onboarding": "^10.8.2",
60
60
  "@atlaskit/platform-feature-flags": "^0.2.1",
61
61
  "@atlaskit/spinner": "^15.5.0",
62
62
  "@atlaskit/tabs": "^13.4.0",
63
63
  "@atlaskit/textfield": "^5.6.0",
64
64
  "@atlaskit/theme": "^12.5.0",
65
- "@atlaskit/tokens": "^1.11.0",
65
+ "@atlaskit/tokens": "^1.12.0",
66
66
  "@atlaskit/tooltip": "^17.8.0",
67
67
  "@atlaskit/ufo": "^0.2.0",
68
68
  "@atlaskit/visually-hidden": "^1.2.0",
@@ -84,7 +84,7 @@
84
84
  "@atlaskit/dropdown-menu": "^11.10.0",
85
85
  "@atlaskit/link-provider": "^1.6.0",
86
86
  "@atlaskit/link-test-helpers": "^4.1.0",
87
- "@atlaskit/linking-common": "^3.3.0",
87
+ "@atlaskit/linking-common": "^4.0.0",
88
88
  "@atlaskit/visual-regression": "*",
89
89
  "@atlaskit/webdriver-runner": "*",
90
90
  "@atlassian/atlassian-frontend-prettier-config-1.0.0": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.0",