@atlaskit/link-picker 1.43.0 → 1.44.0
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.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/ui/link-picker/search-results/link-search-list/index.js +16 -14
- package/dist/cjs/ui/link-picker/search-results/link-search-list/list-item/index.js +54 -30
- package/dist/cjs/ui/link-picker/search-results/link-search-list/list-item/styled.js +3 -11
- package/dist/cjs/ui/main.js +1 -1
- package/dist/es2019/ui/link-picker/search-results/link-search-list/index.js +17 -15
- package/dist/es2019/ui/link-picker/search-results/link-search-list/list-item/index.js +43 -23
- package/dist/es2019/ui/link-picker/search-results/link-search-list/list-item/styled.js +3 -11
- package/dist/es2019/ui/main.js +1 -1
- package/dist/esm/ui/link-picker/search-results/link-search-list/index.js +17 -15
- package/dist/esm/ui/link-picker/search-results/link-search-list/list-item/index.js +54 -31
- package/dist/esm/ui/link-picker/search-results/link-search-list/list-item/styled.js +3 -11
- package/dist/esm/ui/main.js +1 -1
- package/dist/types/common/types.d.ts +11 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/ui/link-picker/search-results/link-search-list/list-item/index.d.ts +1 -0
- package/dist/types/ui/link-picker/search-results/link-search-list/list-item/styled.d.ts +0 -1
- package/dist/types-ts4.5/common/types.d.ts +14 -0
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/link-picker/search-results/link-search-list/list-item/index.d.ts +1 -0
- package/dist/types-ts4.5/ui/link-picker/search-results/link-search-list/list-item/styled.d.ts +0 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/link-picker
|
|
2
2
|
|
|
3
|
+
## 1.44.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#132649](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/132649)
|
|
8
|
+
[`b99bd2fb0aeeb`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b99bd2fb0aeeb) -
|
|
9
|
+
Fixes support for plugin empty state behind ff. If successful will be made available in future
|
|
10
|
+
release.
|
|
11
|
+
- [#131548](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/131548)
|
|
12
|
+
[`282ddb3575504`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/282ddb3575504) -
|
|
13
|
+
[ux] Allow custom subtitle content in the link picker, and allow link item names to extend over
|
|
14
|
+
multiple lines. Both changes are opt-in via a LinkPickerPlugin, so these new features will only
|
|
15
|
+
appear if the plugin is changed to consume them.
|
|
16
|
+
|
|
3
17
|
## 1.43.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
|
@@ -12,6 +12,7 @@ var _react = require("react");
|
|
|
12
12
|
var _react2 = require("@emotion/react");
|
|
13
13
|
var _reactIntlNext = require("react-intl-next");
|
|
14
14
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
15
|
+
var _primitives = require("@atlaskit/primitives");
|
|
15
16
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
16
17
|
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
|
|
17
18
|
var _minHeightContainer = require("../../../../common/ui/min-height-container");
|
|
@@ -49,10 +50,11 @@ var testIds = exports.testIds = _objectSpread(_objectSpread(_objectSpread({}, _l
|
|
|
49
50
|
searchResultLoadingIndicator: 'link-picker.results-loading-indicator',
|
|
50
51
|
tabsLoadingIndicator: 'link-picker.tabs-loading-indicator'
|
|
51
52
|
});
|
|
52
|
-
var emptyStateNoResultsWrapper = (0,
|
|
53
|
-
minHeight:
|
|
53
|
+
var emptyStateNoResultsWrapper = (0, _primitives.xcss)({
|
|
54
|
+
minHeight: 'space.200'
|
|
54
55
|
});
|
|
55
56
|
var LinkSearchList = exports.LinkSearchList = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
57
|
+
var _activePlugin$uiOptio;
|
|
56
58
|
var onChange = _ref.onChange,
|
|
57
59
|
onSelect = _ref.onSelect,
|
|
58
60
|
onKeyDown = _ref.onKeyDown,
|
|
@@ -108,20 +110,19 @@ var LinkSearchList = exports.LinkSearchList = /*#__PURE__*/(0, _react.forwardRef
|
|
|
108
110
|
}, [activeIndex, items, onKeyDown]);
|
|
109
111
|
if ((items === null || items === void 0 ? void 0 : items.length) === 0) {
|
|
110
112
|
if ((0, _platformFeatureFlags.fg)('platform.linking-platform.link-picker.enable-empty-state')) {
|
|
111
|
-
if (hasSearchTerm) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
);
|
|
113
|
+
if (!hasSearchTerm) {
|
|
114
|
+
var _activePlugin$emptySt;
|
|
115
|
+
var emptyState = activePlugin === null || activePlugin === void 0 || (_activePlugin$emptySt = activePlugin.emptyStateNoResults) === null || _activePlugin$emptySt === void 0 ? void 0 : _activePlugin$emptySt.call(activePlugin);
|
|
116
|
+
if (emptyState) {
|
|
117
|
+
return (0, _react2.jsx)(_primitives.Box, {
|
|
118
|
+
xcss: emptyStateNoResultsWrapper
|
|
119
|
+
}, emptyState);
|
|
120
|
+
}
|
|
120
121
|
}
|
|
121
|
-
} else {
|
|
122
|
-
return (0, _react2.jsx)(_linkSearchNoResults.NoResults, null);
|
|
123
122
|
}
|
|
123
|
+
return (0, _react2.jsx)(_linkSearchNoResults.NoResults, null);
|
|
124
124
|
}
|
|
125
|
+
var listItemNameMaxLines = activePlugin === null || activePlugin === void 0 || (_activePlugin$uiOptio = activePlugin.uiOptions) === null || _activePlugin$uiOptio === void 0 ? void 0 : _activePlugin$uiOptio.listItemNameMaxLines;
|
|
125
126
|
if (items && items.length > 0) {
|
|
126
127
|
itemsContent = (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("div", {
|
|
127
128
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
@@ -162,7 +163,8 @@ var LinkSearchList = exports.LinkSearchList = /*#__PURE__*/(0, _react.forwardRef
|
|
|
162
163
|
tabIndex: getTabIndex(index),
|
|
163
164
|
ref: function ref(el) {
|
|
164
165
|
return itemRefCallback(el, item.objectId);
|
|
165
|
-
}
|
|
166
|
+
},
|
|
167
|
+
nameMaxLines: listItemNameMaxLines
|
|
166
168
|
});
|
|
167
169
|
})));
|
|
168
170
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.testIds = exports.LinkSearchListItem = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
7
9
|
var _react = require("react");
|
|
8
10
|
var _react2 = require("@emotion/react");
|
|
9
11
|
var _reactIntlNext = require("react-intl-next");
|
|
12
|
+
var _primitives = require("@atlaskit/primitives");
|
|
10
13
|
var _transformTimeStamp = require("../../../transformTimeStamp");
|
|
11
14
|
var _styled = require("./styled");
|
|
12
15
|
/**
|
|
@@ -63,21 +66,54 @@ var ListItemIcon = function ListItemIcon(props) {
|
|
|
63
66
|
}))
|
|
64
67
|
);
|
|
65
68
|
};
|
|
66
|
-
var
|
|
67
|
-
var
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
var ListItemSubtitle = function ListItemSubtitle(_ref) {
|
|
70
|
+
var _ref$items = (0, _slicedToArray2.default)(_ref.items, 2),
|
|
71
|
+
firstItem = _ref$items[0],
|
|
72
|
+
secondItem = _ref$items[1];
|
|
73
|
+
return /* eslint-disable @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 */(
|
|
74
|
+
(0, _react2.jsx)("div", {
|
|
75
|
+
"data-testid": "".concat(testIds.searchResultItem, "-subtitle"),
|
|
76
|
+
css: _styled.listItemContextStyles
|
|
77
|
+
}, (0, _react2.jsx)("div", {
|
|
78
|
+
css: _styled.listItemContainerStyles
|
|
79
|
+
}, (0, _react2.jsx)("span", {
|
|
80
|
+
css: _styled.listItemContainerInnerStyles
|
|
81
|
+
}, firstItem)), secondItem && (0, _react2.jsx)("div", {
|
|
82
|
+
css: _styled.listItemContainerInnerStyles
|
|
83
|
+
}, (0, _react2.jsx)(_react.Fragment, null, "\xA0 \u2022\xA0 "), (0, _react2.jsx)(_react.Fragment, null, secondItem)))
|
|
84
|
+
);
|
|
85
|
+
/* eslint-enable @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 */
|
|
86
|
+
};
|
|
87
|
+
var getDefaultSubtitleItems = function getDefaultSubtitleItems(item, intl) {
|
|
88
|
+
var container = item.container;
|
|
89
|
+
var date = (0, _transformTimeStamp.transformTimeStamp)(intl, item.lastViewedDate, item.lastUpdatedDate);
|
|
90
|
+
if (container) {
|
|
91
|
+
if (date) {
|
|
92
|
+
return [container, date];
|
|
93
|
+
}
|
|
94
|
+
return [container];
|
|
95
|
+
}
|
|
96
|
+
if (date) {
|
|
97
|
+
return [date];
|
|
98
|
+
}
|
|
99
|
+
return undefined;
|
|
100
|
+
};
|
|
101
|
+
var LinkSearchListItem = exports.LinkSearchListItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
102
|
+
var item = _ref2.item,
|
|
103
|
+
selected = _ref2.selected,
|
|
104
|
+
id = _ref2.id,
|
|
105
|
+
role = _ref2.role,
|
|
106
|
+
onSelect = _ref2.onSelect,
|
|
107
|
+
tabIndex = _ref2.tabIndex,
|
|
108
|
+
onKeyDown = _ref2.onKeyDown,
|
|
109
|
+
onFocus = _ref2.onFocus,
|
|
110
|
+
_ref2$nameMaxLines = _ref2.nameMaxLines,
|
|
111
|
+
nameMaxLines = _ref2$nameMaxLines === void 0 ? 1 : _ref2$nameMaxLines;
|
|
75
112
|
var intl = (0, _reactIntlNext.useIntl)();
|
|
76
113
|
var handleSelect = function handleSelect() {
|
|
77
114
|
return onSelect(item.objectId);
|
|
78
115
|
};
|
|
79
|
-
var
|
|
80
|
-
var date = (0, _transformTimeStamp.transformTimeStamp)(intl, item.lastViewedDate, item.lastUpdatedDate);
|
|
116
|
+
var subtitleItems = item.subtitleItems || getDefaultSubtitleItems(item, intl);
|
|
81
117
|
return (0, _react2.jsx)("div", {
|
|
82
118
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
83
119
|
css: (0, _styled.composeListItemStyles)(selected),
|
|
@@ -95,24 +131,12 @@ var LinkSearchListItem = exports.LinkSearchListItem = /*#__PURE__*/(0, _react.fo
|
|
|
95
131
|
intl: intl
|
|
96
132
|
}), (0, _react2.jsx)("div", {
|
|
97
133
|
css: _styled.itemNameStyles
|
|
98
|
-
}, (0, _react2.jsx)(
|
|
99
|
-
|
|
100
|
-
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
101
|
-
,
|
|
102
|
-
css: _styled.listItemNameStyles,
|
|
103
|
-
title: item.name
|
|
104
|
-
}, item.name), (0, _react2.jsx)("div", {
|
|
105
|
-
"data-testid": "".concat(testIds.searchResultItem, "-subtitle"),
|
|
106
|
-
css: _styled.listItemContextStyles
|
|
107
|
-
}, container &&
|
|
108
|
-
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
109
|
-
(0, _react2.jsx)("div", {
|
|
110
|
-
css: _styled.listItemContainerStyles
|
|
134
|
+
}, (0, _react2.jsx)(_primitives.Text, {
|
|
135
|
+
maxLines: nameMaxLines
|
|
111
136
|
}, (0, _react2.jsx)("span", {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}, container && (0, _react2.jsx)(_react.Fragment, null, "\xA0 \u2022\xA0 "), (0, _react2.jsx)(_react.Fragment, null, date)))));
|
|
137
|
+
"data-testid": "".concat(testIds.searchResultItem, "-title"),
|
|
138
|
+
title: item.name
|
|
139
|
+
}, item.name)), subtitleItems && (0, _react2.jsx)(ListItemSubtitle, {
|
|
140
|
+
items: subtitleItems
|
|
141
|
+
})));
|
|
118
142
|
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.relativeFontSizeToBase16 = exports.
|
|
6
|
+
exports.relativeFontSizeToBase16 = exports.listItemContextStyles = exports.listItemContainerStyles = exports.listItemContainerInnerStyles = exports.itemNameStyles = exports.itemIconStyles = exports.imgStyles = exports.composeListItemStyles = void 0;
|
|
7
7
|
var _react = require("@emotion/react");
|
|
8
8
|
var _colors = require("@atlaskit/theme/colors");
|
|
9
9
|
var _constants = require("@atlaskit/theme/constants");
|
|
@@ -68,16 +68,8 @@ var composeListItemStyles = exports.composeListItemStyles = function composeList
|
|
|
68
68
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
69
69
|
var itemNameStyles = exports.itemNameStyles = (0, _react.css)({
|
|
70
70
|
overflow: 'hidden',
|
|
71
|
-
alignContent: 'center'
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
75
|
-
var listItemNameStyles = exports.listItemNameStyles = (0, _react.css)({
|
|
76
|
-
color: "var(--ds-text, ".concat(_colors.N800, ")"),
|
|
77
|
-
overflow: 'hidden',
|
|
78
|
-
textOverflow: 'ellipsis',
|
|
79
|
-
whiteSpace: 'nowrap',
|
|
80
|
-
lineHeight: '20px'
|
|
71
|
+
alignContent: 'center',
|
|
72
|
+
width: '100%'
|
|
81
73
|
});
|
|
82
74
|
|
|
83
75
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
package/dist/cjs/ui/main.js
CHANGED
|
@@ -32,7 +32,7 @@ var testIds = exports.testIds = {
|
|
|
32
32
|
};
|
|
33
33
|
var PACKAGE_DATA = exports.PACKAGE_DATA = {
|
|
34
34
|
packageName: "@atlaskit/link-picker" || '',
|
|
35
|
-
packageVersion: "1.
|
|
35
|
+
packageVersion: "1.44.0" || '',
|
|
36
36
|
componentName: _constants.COMPONENT_NAME,
|
|
37
37
|
source: _constants.COMPONENT_NAME
|
|
38
38
|
};
|
|
@@ -6,9 +6,10 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
6
6
|
import { forwardRef, Fragment, useCallback, useRef } from 'react';
|
|
7
7
|
|
|
8
8
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
9
|
-
import {
|
|
9
|
+
import { jsx } from '@emotion/react';
|
|
10
10
|
import { defineMessages, FormattedMessage } from 'react-intl-next';
|
|
11
11
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
12
|
+
import { Box, xcss } from '@atlaskit/primitives';
|
|
12
13
|
import Spinner from '@atlaskit/spinner';
|
|
13
14
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
14
15
|
import { MinHeightContainer } from '../../../../common/ui/min-height-container';
|
|
@@ -42,8 +43,8 @@ export const testIds = {
|
|
|
42
43
|
searchResultLoadingIndicator: 'link-picker.results-loading-indicator',
|
|
43
44
|
tabsLoadingIndicator: 'link-picker.tabs-loading-indicator'
|
|
44
45
|
};
|
|
45
|
-
const emptyStateNoResultsWrapper =
|
|
46
|
-
minHeight:
|
|
46
|
+
const emptyStateNoResultsWrapper = xcss({
|
|
47
|
+
minHeight: 'space.200'
|
|
47
48
|
});
|
|
48
49
|
export const LinkSearchList = /*#__PURE__*/forwardRef(({
|
|
49
50
|
onChange,
|
|
@@ -62,6 +63,7 @@ export const LinkSearchList = /*#__PURE__*/forwardRef(({
|
|
|
62
63
|
activePlugin,
|
|
63
64
|
...restProps
|
|
64
65
|
}, ref) => {
|
|
66
|
+
var _activePlugin$uiOptio;
|
|
65
67
|
let itemsContent;
|
|
66
68
|
let loadingContent;
|
|
67
69
|
const linkListTitle = hasSearchTerm ? messages.titleResults : messages.titleRecentlyViewed;
|
|
@@ -102,20 +104,19 @@ export const LinkSearchList = /*#__PURE__*/forwardRef(({
|
|
|
102
104
|
}, [activeIndex, items, onKeyDown]);
|
|
103
105
|
if ((items === null || items === void 0 ? void 0 : items.length) === 0) {
|
|
104
106
|
if (fg('platform.linking-platform.link-picker.enable-empty-state')) {
|
|
105
|
-
if (hasSearchTerm) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
);
|
|
107
|
+
if (!hasSearchTerm) {
|
|
108
|
+
var _activePlugin$emptySt;
|
|
109
|
+
const emptyState = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$emptySt = activePlugin.emptyStateNoResults) === null || _activePlugin$emptySt === void 0 ? void 0 : _activePlugin$emptySt.call(activePlugin);
|
|
110
|
+
if (emptyState) {
|
|
111
|
+
return jsx(Box, {
|
|
112
|
+
xcss: emptyStateNoResultsWrapper
|
|
113
|
+
}, emptyState);
|
|
114
|
+
}
|
|
114
115
|
}
|
|
115
|
-
} else {
|
|
116
|
-
return jsx(NoResults, null);
|
|
117
116
|
}
|
|
117
|
+
return jsx(NoResults, null);
|
|
118
118
|
}
|
|
119
|
+
const listItemNameMaxLines = activePlugin === null || activePlugin === void 0 ? void 0 : (_activePlugin$uiOptio = activePlugin.uiOptions) === null || _activePlugin$uiOptio === void 0 ? void 0 : _activePlugin$uiOptio.listItemNameMaxLines;
|
|
119
120
|
if (items && items.length > 0) {
|
|
120
121
|
itemsContent = jsx(Fragment, null, jsx("div", {
|
|
121
122
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
@@ -151,7 +152,8 @@ export const LinkSearchList = /*#__PURE__*/forwardRef(({
|
|
|
151
152
|
onSelect: onSelect,
|
|
152
153
|
key: item.objectId,
|
|
153
154
|
tabIndex: getTabIndex(index),
|
|
154
|
-
ref: el => itemRefCallback(el, item.objectId)
|
|
155
|
+
ref: el => itemRefCallback(el, item.objectId),
|
|
156
|
+
nameMaxLines: listItemNameMaxLines
|
|
155
157
|
}))));
|
|
156
158
|
}
|
|
157
159
|
if (isLoading) {
|
|
@@ -7,9 +7,10 @@ import { forwardRef, Fragment } from 'react';
|
|
|
7
7
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
8
8
|
import { jsx } from '@emotion/react';
|
|
9
9
|
import { useIntl } from 'react-intl-next';
|
|
10
|
+
import { Text } from '@atlaskit/primitives';
|
|
10
11
|
/* eslint-disable-next-line @atlassian/tangerine/import/no-parent-imports */
|
|
11
12
|
import { transformTimeStamp } from '../../../transformTimeStamp';
|
|
12
|
-
import { composeListItemStyles, imgStyles, itemIconStyles, itemNameStyles, listItemContainerInnerStyles, listItemContainerStyles, listItemContextStyles
|
|
13
|
+
import { composeListItemStyles, imgStyles, itemIconStyles, itemNameStyles, listItemContainerInnerStyles, listItemContainerStyles, listItemContextStyles } from './styled';
|
|
13
14
|
export const testIds = {
|
|
14
15
|
searchResultItem: 'link-search-list-item',
|
|
15
16
|
searchResultIcon: 'link-search-list-item-icon'
|
|
@@ -55,6 +56,37 @@ const ListItemIcon = props => {
|
|
|
55
56
|
}))
|
|
56
57
|
);
|
|
57
58
|
};
|
|
59
|
+
const ListItemSubtitle = ({
|
|
60
|
+
items: [firstItem, secondItem]
|
|
61
|
+
}) => {
|
|
62
|
+
return /* eslint-disable @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 */(
|
|
63
|
+
jsx("div", {
|
|
64
|
+
"data-testid": `${testIds.searchResultItem}-subtitle`,
|
|
65
|
+
css: listItemContextStyles
|
|
66
|
+
}, jsx("div", {
|
|
67
|
+
css: listItemContainerStyles
|
|
68
|
+
}, jsx("span", {
|
|
69
|
+
css: listItemContainerInnerStyles
|
|
70
|
+
}, firstItem)), secondItem && jsx("div", {
|
|
71
|
+
css: listItemContainerInnerStyles
|
|
72
|
+
}, jsx(Fragment, null, "\xA0 \u2022\xA0 "), jsx(Fragment, null, secondItem)))
|
|
73
|
+
);
|
|
74
|
+
/* eslint-enable @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 */
|
|
75
|
+
};
|
|
76
|
+
const getDefaultSubtitleItems = (item, intl) => {
|
|
77
|
+
const container = item.container;
|
|
78
|
+
const date = transformTimeStamp(intl, item.lastViewedDate, item.lastUpdatedDate);
|
|
79
|
+
if (container) {
|
|
80
|
+
if (date) {
|
|
81
|
+
return [container, date];
|
|
82
|
+
}
|
|
83
|
+
return [container];
|
|
84
|
+
}
|
|
85
|
+
if (date) {
|
|
86
|
+
return [date];
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
};
|
|
58
90
|
export const LinkSearchListItem = /*#__PURE__*/forwardRef(({
|
|
59
91
|
item,
|
|
60
92
|
selected,
|
|
@@ -63,12 +95,12 @@ export const LinkSearchListItem = /*#__PURE__*/forwardRef(({
|
|
|
63
95
|
onSelect,
|
|
64
96
|
tabIndex,
|
|
65
97
|
onKeyDown,
|
|
66
|
-
onFocus
|
|
98
|
+
onFocus,
|
|
99
|
+
nameMaxLines = 1
|
|
67
100
|
}, ref) => {
|
|
68
101
|
const intl = useIntl();
|
|
69
102
|
const handleSelect = () => onSelect(item.objectId);
|
|
70
|
-
const
|
|
71
|
-
const date = transformTimeStamp(intl, item.lastViewedDate, item.lastUpdatedDate);
|
|
103
|
+
const subtitleItems = item.subtitleItems || getDefaultSubtitleItems(item, intl);
|
|
72
104
|
return jsx("div", {
|
|
73
105
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
74
106
|
css: composeListItemStyles(selected),
|
|
@@ -86,24 +118,12 @@ export const LinkSearchListItem = /*#__PURE__*/forwardRef(({
|
|
|
86
118
|
intl: intl
|
|
87
119
|
}), jsx("div", {
|
|
88
120
|
css: itemNameStyles
|
|
89
|
-
}, jsx(
|
|
90
|
-
|
|
91
|
-
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
92
|
-
,
|
|
93
|
-
css: listItemNameStyles,
|
|
94
|
-
title: item.name
|
|
95
|
-
}, item.name), jsx("div", {
|
|
96
|
-
"data-testid": `${testIds.searchResultItem}-subtitle`,
|
|
97
|
-
css: listItemContextStyles
|
|
98
|
-
}, container &&
|
|
99
|
-
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
100
|
-
jsx("div", {
|
|
101
|
-
css: listItemContainerStyles
|
|
121
|
+
}, jsx(Text, {
|
|
122
|
+
maxLines: nameMaxLines
|
|
102
123
|
}, jsx("span", {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}, container && jsx(Fragment, null, "\xA0 \u2022\xA0 "), jsx(Fragment, null, date)))));
|
|
124
|
+
"data-testid": `${testIds.searchResultItem}-title`,
|
|
125
|
+
title: item.name
|
|
126
|
+
}, item.name)), subtitleItems && jsx(ListItemSubtitle, {
|
|
127
|
+
items: subtitleItems
|
|
128
|
+
})));
|
|
109
129
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
2
2
|
import { css } from '@emotion/react';
|
|
3
|
-
import { B100, B400, B50, N20, N200, N300
|
|
3
|
+
import { B100, B400, B50, N20, N200, N300 } from '@atlaskit/theme/colors';
|
|
4
4
|
import { fontSize, fontSizeSmall } from '@atlaskit/theme/constants';
|
|
5
5
|
// AFP-2532 TODO: Fix automatic suppressions below
|
|
6
6
|
// eslint-disable-next-line @atlassian/tangerine/import/entry-points
|
|
@@ -60,16 +60,8 @@ export const composeListItemStyles = (selected = false) => {
|
|
|
60
60
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
61
61
|
export const itemNameStyles = css({
|
|
62
62
|
overflow: 'hidden',
|
|
63
|
-
alignContent: 'center'
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
67
|
-
export const listItemNameStyles = css({
|
|
68
|
-
color: `var(--ds-text, ${N800})`,
|
|
69
|
-
overflow: 'hidden',
|
|
70
|
-
textOverflow: 'ellipsis',
|
|
71
|
-
whiteSpace: 'nowrap',
|
|
72
|
-
lineHeight: '20px'
|
|
63
|
+
alignContent: 'center',
|
|
64
|
+
width: '100%'
|
|
73
65
|
});
|
|
74
66
|
|
|
75
67
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
package/dist/es2019/ui/main.js
CHANGED
|
@@ -11,9 +11,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
11
11
|
import { forwardRef, Fragment, useCallback, useRef } from 'react';
|
|
12
12
|
|
|
13
13
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
14
|
-
import {
|
|
14
|
+
import { jsx } from '@emotion/react';
|
|
15
15
|
import { defineMessages, FormattedMessage } from 'react-intl-next';
|
|
16
16
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
17
|
+
import { Box, xcss } from '@atlaskit/primitives';
|
|
17
18
|
import Spinner from '@atlaskit/spinner';
|
|
18
19
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
19
20
|
import { MinHeightContainer } from '../../../../common/ui/min-height-container';
|
|
@@ -45,10 +46,11 @@ export var testIds = _objectSpread(_objectSpread(_objectSpread({}, noResultsTest
|
|
|
45
46
|
searchResultLoadingIndicator: 'link-picker.results-loading-indicator',
|
|
46
47
|
tabsLoadingIndicator: 'link-picker.tabs-loading-indicator'
|
|
47
48
|
});
|
|
48
|
-
var emptyStateNoResultsWrapper =
|
|
49
|
-
minHeight:
|
|
49
|
+
var emptyStateNoResultsWrapper = xcss({
|
|
50
|
+
minHeight: 'space.200'
|
|
50
51
|
});
|
|
51
52
|
export var LinkSearchList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
53
|
+
var _activePlugin$uiOptio;
|
|
52
54
|
var onChange = _ref.onChange,
|
|
53
55
|
onSelect = _ref.onSelect,
|
|
54
56
|
onKeyDown = _ref.onKeyDown,
|
|
@@ -104,20 +106,19 @@ export var LinkSearchList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
104
106
|
}, [activeIndex, items, onKeyDown]);
|
|
105
107
|
if ((items === null || items === void 0 ? void 0 : items.length) === 0) {
|
|
106
108
|
if (fg('platform.linking-platform.link-picker.enable-empty-state')) {
|
|
107
|
-
if (hasSearchTerm) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
);
|
|
109
|
+
if (!hasSearchTerm) {
|
|
110
|
+
var _activePlugin$emptySt;
|
|
111
|
+
var emptyState = activePlugin === null || activePlugin === void 0 || (_activePlugin$emptySt = activePlugin.emptyStateNoResults) === null || _activePlugin$emptySt === void 0 ? void 0 : _activePlugin$emptySt.call(activePlugin);
|
|
112
|
+
if (emptyState) {
|
|
113
|
+
return jsx(Box, {
|
|
114
|
+
xcss: emptyStateNoResultsWrapper
|
|
115
|
+
}, emptyState);
|
|
116
|
+
}
|
|
116
117
|
}
|
|
117
|
-
} else {
|
|
118
|
-
return jsx(NoResults, null);
|
|
119
118
|
}
|
|
119
|
+
return jsx(NoResults, null);
|
|
120
120
|
}
|
|
121
|
+
var listItemNameMaxLines = activePlugin === null || activePlugin === void 0 || (_activePlugin$uiOptio = activePlugin.uiOptions) === null || _activePlugin$uiOptio === void 0 ? void 0 : _activePlugin$uiOptio.listItemNameMaxLines;
|
|
121
122
|
if (items && items.length > 0) {
|
|
122
123
|
itemsContent = jsx(Fragment, null, jsx("div", {
|
|
123
124
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
@@ -158,7 +159,8 @@ export var LinkSearchList = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
158
159
|
tabIndex: getTabIndex(index),
|
|
159
160
|
ref: function ref(el) {
|
|
160
161
|
return itemRefCallback(el, item.objectId);
|
|
161
|
-
}
|
|
162
|
+
},
|
|
163
|
+
nameMaxLines: listItemNameMaxLines
|
|
162
164
|
});
|
|
163
165
|
})));
|
|
164
166
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
1
2
|
/**
|
|
2
3
|
* @jsxRuntime classic
|
|
3
4
|
* @jsx jsx
|
|
@@ -7,9 +8,10 @@ import { forwardRef, Fragment } from 'react';
|
|
|
7
8
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
8
9
|
import { jsx } from '@emotion/react';
|
|
9
10
|
import { useIntl } from 'react-intl-next';
|
|
11
|
+
import { Text } from '@atlaskit/primitives';
|
|
10
12
|
/* eslint-disable-next-line @atlassian/tangerine/import/no-parent-imports */
|
|
11
13
|
import { transformTimeStamp } from '../../../transformTimeStamp';
|
|
12
|
-
import { composeListItemStyles, imgStyles, itemIconStyles, itemNameStyles, listItemContainerInnerStyles, listItemContainerStyles, listItemContextStyles
|
|
14
|
+
import { composeListItemStyles, imgStyles, itemIconStyles, itemNameStyles, listItemContainerInnerStyles, listItemContainerStyles, listItemContextStyles } from './styled';
|
|
13
15
|
export var testIds = {
|
|
14
16
|
searchResultItem: 'link-search-list-item',
|
|
15
17
|
searchResultIcon: 'link-search-list-item-icon'
|
|
@@ -55,21 +57,54 @@ var ListItemIcon = function ListItemIcon(props) {
|
|
|
55
57
|
}))
|
|
56
58
|
);
|
|
57
59
|
};
|
|
58
|
-
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
var ListItemSubtitle = function ListItemSubtitle(_ref) {
|
|
61
|
+
var _ref$items = _slicedToArray(_ref.items, 2),
|
|
62
|
+
firstItem = _ref$items[0],
|
|
63
|
+
secondItem = _ref$items[1];
|
|
64
|
+
return /* eslint-disable @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 */(
|
|
65
|
+
jsx("div", {
|
|
66
|
+
"data-testid": "".concat(testIds.searchResultItem, "-subtitle"),
|
|
67
|
+
css: listItemContextStyles
|
|
68
|
+
}, jsx("div", {
|
|
69
|
+
css: listItemContainerStyles
|
|
70
|
+
}, jsx("span", {
|
|
71
|
+
css: listItemContainerInnerStyles
|
|
72
|
+
}, firstItem)), secondItem && jsx("div", {
|
|
73
|
+
css: listItemContainerInnerStyles
|
|
74
|
+
}, jsx(Fragment, null, "\xA0 \u2022\xA0 "), jsx(Fragment, null, secondItem)))
|
|
75
|
+
);
|
|
76
|
+
/* eslint-enable @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 */
|
|
77
|
+
};
|
|
78
|
+
var getDefaultSubtitleItems = function getDefaultSubtitleItems(item, intl) {
|
|
79
|
+
var container = item.container;
|
|
80
|
+
var date = transformTimeStamp(intl, item.lastViewedDate, item.lastUpdatedDate);
|
|
81
|
+
if (container) {
|
|
82
|
+
if (date) {
|
|
83
|
+
return [container, date];
|
|
84
|
+
}
|
|
85
|
+
return [container];
|
|
86
|
+
}
|
|
87
|
+
if (date) {
|
|
88
|
+
return [date];
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
};
|
|
92
|
+
export var LinkSearchListItem = /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
93
|
+
var item = _ref2.item,
|
|
94
|
+
selected = _ref2.selected,
|
|
95
|
+
id = _ref2.id,
|
|
96
|
+
role = _ref2.role,
|
|
97
|
+
onSelect = _ref2.onSelect,
|
|
98
|
+
tabIndex = _ref2.tabIndex,
|
|
99
|
+
onKeyDown = _ref2.onKeyDown,
|
|
100
|
+
onFocus = _ref2.onFocus,
|
|
101
|
+
_ref2$nameMaxLines = _ref2.nameMaxLines,
|
|
102
|
+
nameMaxLines = _ref2$nameMaxLines === void 0 ? 1 : _ref2$nameMaxLines;
|
|
67
103
|
var intl = useIntl();
|
|
68
104
|
var handleSelect = function handleSelect() {
|
|
69
105
|
return onSelect(item.objectId);
|
|
70
106
|
};
|
|
71
|
-
var
|
|
72
|
-
var date = transformTimeStamp(intl, item.lastViewedDate, item.lastUpdatedDate);
|
|
107
|
+
var subtitleItems = item.subtitleItems || getDefaultSubtitleItems(item, intl);
|
|
73
108
|
return jsx("div", {
|
|
74
109
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
75
110
|
css: composeListItemStyles(selected),
|
|
@@ -87,24 +122,12 @@ export var LinkSearchListItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
87
122
|
intl: intl
|
|
88
123
|
}), jsx("div", {
|
|
89
124
|
css: itemNameStyles
|
|
90
|
-
}, jsx(
|
|
91
|
-
|
|
92
|
-
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
93
|
-
,
|
|
94
|
-
css: listItemNameStyles,
|
|
95
|
-
title: item.name
|
|
96
|
-
}, item.name), jsx("div", {
|
|
97
|
-
"data-testid": "".concat(testIds.searchResultItem, "-subtitle"),
|
|
98
|
-
css: listItemContextStyles
|
|
99
|
-
}, container &&
|
|
100
|
-
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
101
|
-
jsx("div", {
|
|
102
|
-
css: listItemContainerStyles
|
|
125
|
+
}, jsx(Text, {
|
|
126
|
+
maxLines: nameMaxLines
|
|
103
127
|
}, jsx("span", {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}, container && jsx(Fragment, null, "\xA0 \u2022\xA0 "), jsx(Fragment, null, date)))));
|
|
128
|
+
"data-testid": "".concat(testIds.searchResultItem, "-title"),
|
|
129
|
+
title: item.name
|
|
130
|
+
}, item.name)), subtitleItems && jsx(ListItemSubtitle, {
|
|
131
|
+
items: subtitleItems
|
|
132
|
+
})));
|
|
110
133
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
2
2
|
import { css } from '@emotion/react';
|
|
3
|
-
import { B100, B400, B50, N20, N200, N300
|
|
3
|
+
import { B100, B400, B50, N20, N200, N300 } from '@atlaskit/theme/colors';
|
|
4
4
|
import { fontSize, fontSizeSmall } from '@atlaskit/theme/constants';
|
|
5
5
|
// AFP-2532 TODO: Fix automatic suppressions below
|
|
6
6
|
// eslint-disable-next-line @atlassian/tangerine/import/entry-points
|
|
@@ -61,16 +61,8 @@ export var composeListItemStyles = function composeListItemStyles() {
|
|
|
61
61
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
62
62
|
export var itemNameStyles = css({
|
|
63
63
|
overflow: 'hidden',
|
|
64
|
-
alignContent: 'center'
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
68
|
-
export var listItemNameStyles = css({
|
|
69
|
-
color: "var(--ds-text, ".concat(N800, ")"),
|
|
70
|
-
overflow: 'hidden',
|
|
71
|
-
textOverflow: 'ellipsis',
|
|
72
|
-
whiteSpace: 'nowrap',
|
|
73
|
-
lineHeight: '20px'
|
|
64
|
+
alignContent: 'center',
|
|
65
|
+
width: '100%'
|
|
74
66
|
});
|
|
75
67
|
|
|
76
68
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
package/dist/esm/ui/main.js
CHANGED
|
@@ -28,6 +28,11 @@ export interface LinkSearchListItemData {
|
|
|
28
28
|
/** The data source that provided the result */
|
|
29
29
|
source?: string;
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Optionally override the strings shown in the link result's subtitle
|
|
33
|
+
* (by default, the subtitle is the container and date). Provide translated strings.
|
|
34
|
+
*/
|
|
35
|
+
subtitleItems?: Readonly<[string, string?]>;
|
|
31
36
|
}
|
|
32
37
|
export interface LinkPickerState {
|
|
33
38
|
/** Current query string / URL input field value */
|
|
@@ -36,6 +41,10 @@ export interface LinkPickerState {
|
|
|
36
41
|
export interface ResolveResult {
|
|
37
42
|
data: LinkSearchListItemData[];
|
|
38
43
|
}
|
|
44
|
+
export interface LinkPickerUiOptions {
|
|
45
|
+
/** Maximum number of lines to display for the item name */
|
|
46
|
+
listItemNameMaxLines?: number;
|
|
47
|
+
}
|
|
39
48
|
export interface LinkPickerPlugin {
|
|
40
49
|
resolve: (state: LinkPickerState) => Promise<ResolveResult> | AsyncGenerator<ResolveResult, ResolveResult>;
|
|
41
50
|
/** Uniquely identify the tab */
|
|
@@ -55,6 +64,8 @@ export interface LinkPickerPlugin {
|
|
|
55
64
|
UNSAFE_onActivation?: () => void;
|
|
56
65
|
/** Register Plugin Actions */
|
|
57
66
|
action?: LinkPickerPluginAction;
|
|
67
|
+
/** Options to override certain configurable styles in the link picker */
|
|
68
|
+
uiOptions?: LinkPickerUiOptions;
|
|
58
69
|
}
|
|
59
70
|
export interface LinkPickerPluginAction {
|
|
60
71
|
label: MessageDescriptor | string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { default } from './ui';
|
|
2
2
|
export { DeprecatedLazyLinkPickerExport as LinkPicker } from './ui';
|
|
3
3
|
export type { LinkPickerProps } from './common/types';
|
|
4
|
-
export type { LinkInputType, LinkPickerPluginAction, LinkPickerPlugin, LinkPickerState, LinkSearchListItemData, LinkPickerPluginErrorFallback, LinkPickerPluginEmptyStateNoResults, } from './common/types';
|
|
4
|
+
export type { LinkInputType, LinkPickerPluginAction, LinkPickerPlugin, LinkPickerState, LinkSearchListItemData, LinkPickerPluginErrorFallback, LinkPickerPluginEmptyStateNoResults, LinkPickerUiOptions, } from './common/types';
|
|
5
5
|
export { UnauthenticatedError } from './common/utils/errors';
|
|
6
6
|
export { LoaderFallback } from './ui/loader-fallback';
|
|
@@ -18,5 +18,6 @@ export interface LinkSearchListItemProps {
|
|
|
18
18
|
onFocus: () => void;
|
|
19
19
|
id?: string;
|
|
20
20
|
role?: string;
|
|
21
|
+
nameMaxLines?: number;
|
|
21
22
|
}
|
|
22
23
|
export declare const LinkSearchListItem: import("react").ForwardRefExoticComponent<LinkSearchListItemProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export declare const relativeFontSizeToBase16: (px: number | string) => string;
|
|
2
2
|
export declare const composeListItemStyles: (selected?: boolean) => import("@emotion/react").SerializedStyles;
|
|
3
3
|
export declare const itemNameStyles: import("@emotion/react").SerializedStyles;
|
|
4
|
-
export declare const listItemNameStyles: import("@emotion/react").SerializedStyles;
|
|
5
4
|
export declare const listItemContextStyles: import("@emotion/react").SerializedStyles;
|
|
6
5
|
export declare const listItemContainerStyles: import("@emotion/react").SerializedStyles;
|
|
7
6
|
export declare const listItemContainerInnerStyles: import("@emotion/react").SerializedStyles;
|
|
@@ -28,6 +28,14 @@ export interface LinkSearchListItemData {
|
|
|
28
28
|
/** The data source that provided the result */
|
|
29
29
|
source?: string;
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Optionally override the strings shown in the link result's subtitle
|
|
33
|
+
* (by default, the subtitle is the container and date). Provide translated strings.
|
|
34
|
+
*/
|
|
35
|
+
subtitleItems?: Readonly<[
|
|
36
|
+
string,
|
|
37
|
+
string?
|
|
38
|
+
]>;
|
|
31
39
|
}
|
|
32
40
|
export interface LinkPickerState {
|
|
33
41
|
/** Current query string / URL input field value */
|
|
@@ -36,6 +44,10 @@ export interface LinkPickerState {
|
|
|
36
44
|
export interface ResolveResult {
|
|
37
45
|
data: LinkSearchListItemData[];
|
|
38
46
|
}
|
|
47
|
+
export interface LinkPickerUiOptions {
|
|
48
|
+
/** Maximum number of lines to display for the item name */
|
|
49
|
+
listItemNameMaxLines?: number;
|
|
50
|
+
}
|
|
39
51
|
export interface LinkPickerPlugin {
|
|
40
52
|
resolve: (state: LinkPickerState) => Promise<ResolveResult> | AsyncGenerator<ResolveResult, ResolveResult>;
|
|
41
53
|
/** Uniquely identify the tab */
|
|
@@ -55,6 +67,8 @@ export interface LinkPickerPlugin {
|
|
|
55
67
|
UNSAFE_onActivation?: () => void;
|
|
56
68
|
/** Register Plugin Actions */
|
|
57
69
|
action?: LinkPickerPluginAction;
|
|
70
|
+
/** Options to override certain configurable styles in the link picker */
|
|
71
|
+
uiOptions?: LinkPickerUiOptions;
|
|
58
72
|
}
|
|
59
73
|
export interface LinkPickerPluginAction {
|
|
60
74
|
label: MessageDescriptor | string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { default } from './ui';
|
|
2
2
|
export { DeprecatedLazyLinkPickerExport as LinkPicker } from './ui';
|
|
3
3
|
export type { LinkPickerProps } from './common/types';
|
|
4
|
-
export type { LinkInputType, LinkPickerPluginAction, LinkPickerPlugin, LinkPickerState, LinkSearchListItemData, LinkPickerPluginErrorFallback, LinkPickerPluginEmptyStateNoResults, } from './common/types';
|
|
4
|
+
export type { LinkInputType, LinkPickerPluginAction, LinkPickerPlugin, LinkPickerState, LinkSearchListItemData, LinkPickerPluginErrorFallback, LinkPickerPluginEmptyStateNoResults, LinkPickerUiOptions, } from './common/types';
|
|
5
5
|
export { UnauthenticatedError } from './common/utils/errors';
|
|
6
6
|
export { LoaderFallback } from './ui/loader-fallback';
|
package/dist/types-ts4.5/ui/link-picker/search-results/link-search-list/list-item/index.d.ts
CHANGED
|
@@ -18,5 +18,6 @@ export interface LinkSearchListItemProps {
|
|
|
18
18
|
onFocus: () => void;
|
|
19
19
|
id?: string;
|
|
20
20
|
role?: string;
|
|
21
|
+
nameMaxLines?: number;
|
|
21
22
|
}
|
|
22
23
|
export declare const LinkSearchListItem: import("react").ForwardRefExoticComponent<LinkSearchListItemProps & import("react").RefAttributes<HTMLDivElement>>;
|
package/dist/types-ts4.5/ui/link-picker/search-results/link-search-list/list-item/styled.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export declare const relativeFontSizeToBase16: (px: number | string) => string;
|
|
2
2
|
export declare const composeListItemStyles: (selected?: boolean) => import("@emotion/react").SerializedStyles;
|
|
3
3
|
export declare const itemNameStyles: import("@emotion/react").SerializedStyles;
|
|
4
|
-
export declare const listItemNameStyles: import("@emotion/react").SerializedStyles;
|
|
5
4
|
export declare const listItemContextStyles: import("@emotion/react").SerializedStyles;
|
|
6
5
|
export declare const listItemContainerStyles: import("@emotion/react").SerializedStyles;
|
|
7
6
|
export declare const listItemContainerInnerStyles: import("@emotion/react").SerializedStyles;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-picker",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.44.0",
|
|
4
4
|
"description": "Standalone link picker",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"publishConfig": {
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"@af/visual-regression": "*",
|
|
93
93
|
"@atlaskit/dropdown-menu": "^12.17.0",
|
|
94
94
|
"@atlaskit/link-provider": "^1.14.0",
|
|
95
|
-
"@atlaskit/link-test-helpers": "^7.
|
|
95
|
+
"@atlaskit/link-test-helpers": "^7.5.0",
|
|
96
96
|
"@atlaskit/visual-regression": "*",
|
|
97
97
|
"@atlassian/feature-flags-test-utils": "*",
|
|
98
98
|
"@testing-library/dom": "^10.1.0",
|