@atlaskit/link-picker 0.0.2 → 0.7.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 +140 -0
- package/README.md +27 -5
- package/dist/cjs/browser.js +39 -0
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/messages.js +102 -0
- package/dist/cjs/styles.js +90 -0
- package/dist/cjs/transformTimeStamp.js +55 -0
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/ui/LinkSearchList.js +112 -0
- package/dist/cjs/ui/LinkSearchListItem.js +101 -0
- package/dist/cjs/ui/PanelTextInput.js +119 -0
- package/dist/cjs/ui/announcer.js +64 -0
- package/dist/cjs/ui/link-picker.js +584 -0
- package/dist/cjs/url.js +104 -0
- package/dist/cjs/utils.js +40 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/browser.js +34 -0
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/messages.js +93 -0
- package/dist/es2019/styles.js +94 -0
- package/dist/es2019/transformTimeStamp.js +41 -0
- package/dist/es2019/types.js +1 -0
- package/dist/es2019/ui/LinkSearchList.js +65 -0
- package/dist/es2019/ui/LinkSearchListItem.js +88 -0
- package/dist/es2019/ui/PanelTextInput.js +93 -0
- package/dist/es2019/ui/announcer.js +38 -0
- package/dist/es2019/ui/link-picker.js +480 -0
- package/dist/es2019/url.js +88 -0
- package/dist/es2019/utils.js +24 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/browser.js +34 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/messages.js +93 -0
- package/dist/esm/styles.js +46 -0
- package/dist/esm/transformTimeStamp.js +41 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/ui/LinkSearchList.js +87 -0
- package/dist/esm/ui/LinkSearchListItem.js +88 -0
- package/dist/esm/ui/PanelTextInput.js +93 -0
- package/dist/esm/ui/announcer.js +51 -0
- package/dist/esm/ui/link-picker.js +559 -0
- package/dist/esm/url.js +90 -0
- package/dist/esm/utils.js +24 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/browser.d.ts +15 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/messages.d.ts +92 -0
- package/dist/types/styles.d.ts +18 -0
- package/dist/types/transformTimeStamp.d.ts +3 -0
- package/dist/types/types.d.ts +37 -0
- package/dist/types/ui/LinkSearchList.d.ts +20 -0
- package/dist/types/ui/LinkSearchListItem.d.ts +17 -0
- package/dist/types/ui/PanelTextInput.d.ts +17 -0
- package/dist/types/ui/announcer.d.ts +22 -0
- package/dist/types/ui/link-picker.d.ts +79 -0
- package/dist/types/url.d.ts +5 -0
- package/dist/types/utils.d.ts +4 -0
- package/example-helpers/flight-deck/_manifest.json +9 -0
- package/example-helpers/flight-deck/mockFDResponse.json +133 -0
- package/example-helpers/mock-data.ts +316 -0
- package/example-helpers/providers.ts +39 -0
- package/package.json +35 -6
- package/dist/cjs/link-picker.js +0 -12
- package/dist/es2019/link-picker.js +0 -3
- package/dist/esm/link-picker.js +0 -3
- package/dist/types/link-picker.d.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,145 @@
|
|
|
1
1
|
# @atlaskit/link-picker
|
|
2
2
|
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`9cabbe5e920`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9cabbe5e920) - Convert to @atlaskit scope
|
|
8
|
+
|
|
9
|
+
## 0.6.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`3fb9dbd9f4e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3fb9dbd9f4e) - [ux] Add buttons at the bottom of the form
|
|
14
|
+
|
|
15
|
+
## 0.6.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`93a77354b58`](https://bitbucket.org/atlassian/atlassian-frontend/commits/93a77354b58) - Updated vr snapshots
|
|
20
|
+
|
|
21
|
+
## 0.6.0
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- [`91f2d091cfd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/91f2d091cfd) - Change link picker props and onSubmit API to better reflect intended usage and make breaking changes less likely.
|
|
26
|
+
|
|
27
|
+
## 0.5.3
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- [`3ef09836c04`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3ef09836c04) - [ux] Validates links within search text are not inserted
|
|
32
|
+
|
|
33
|
+
## 0.5.2
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- [`c1f3d82b994`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c1f3d82b994) - Update to use the new V3 recents API in the Atlassian plugin
|
|
38
|
+
|
|
39
|
+
## 0.5.1
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- [`d90f1f42589`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d90f1f42589) - [ux] Shows subtitle with recently viewed if there’s no search text and results otherwise
|
|
44
|
+
|
|
45
|
+
## 0.5.0
|
|
46
|
+
|
|
47
|
+
### Minor Changes
|
|
48
|
+
|
|
49
|
+
- [`7abf8824fec`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7abf8824fec) - Migrate link picker atlassian plugin from picker package.
|
|
50
|
+
|
|
51
|
+
## 0.4.0
|
|
52
|
+
|
|
53
|
+
### Minor Changes
|
|
54
|
+
|
|
55
|
+
- [`c926a95160b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c926a95160b) - Removes onEscape prop from the link picker.
|
|
56
|
+
|
|
57
|
+
## 0.3.2
|
|
58
|
+
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- [`08195fc6e43`](https://bitbucket.org/atlassian/atlassian-frontend/commits/08195fc6e43) - [ux] Add field validation error message to link input field
|
|
62
|
+
|
|
63
|
+
## 0.3.1
|
|
64
|
+
|
|
65
|
+
### Patch Changes
|
|
66
|
+
|
|
67
|
+
- Updated dependencies
|
|
68
|
+
|
|
69
|
+
## 0.3.0
|
|
70
|
+
|
|
71
|
+
### Minor Changes
|
|
72
|
+
|
|
73
|
+
- [`3b3a7800978`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3b3a7800978) - Export picker state and list item data types from picker package.
|
|
74
|
+
|
|
75
|
+
## 0.2.4
|
|
76
|
+
|
|
77
|
+
### Patch Changes
|
|
78
|
+
|
|
79
|
+
- [`6d1dd7c5833`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6d1dd7c5833) - Increase test coverage
|
|
80
|
+
|
|
81
|
+
## 0.2.3
|
|
82
|
+
|
|
83
|
+
### Patch Changes
|
|
84
|
+
|
|
85
|
+
- [`6f3a1f588e1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6f3a1f588e1) - Rewrites LinkSearchListItem as FC & Adds new Active state to support arrow navigation and Selected style
|
|
86
|
+
|
|
87
|
+
## 0.2.2
|
|
88
|
+
|
|
89
|
+
### Patch Changes
|
|
90
|
+
|
|
91
|
+
- [`9598e13788a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9598e13788a) - [ux] Update token usage for better contrast
|
|
92
|
+
|
|
93
|
+
## 0.2.1
|
|
94
|
+
|
|
95
|
+
### Patch Changes
|
|
96
|
+
|
|
97
|
+
- [`7fa34f27a1f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7fa34f27a1f) - Displays a search icon inside link-picker search input when there is an active Plugin
|
|
98
|
+
|
|
99
|
+
## 0.2.0
|
|
100
|
+
|
|
101
|
+
### Minor Changes
|
|
102
|
+
|
|
103
|
+
- [`1cb59c97d35`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1cb59c97d35) - Adds AtlassianLinkPicker plugin and changes LinkPicker API to use plugins
|
|
104
|
+
|
|
105
|
+
## 0.1.1
|
|
106
|
+
|
|
107
|
+
### Patch Changes
|
|
108
|
+
|
|
109
|
+
- [`df6e3bdd55f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/df6e3bdd55f) - EDM-3088/Rewrite PanelTextInput as functional component and take advante of Atlaskit Textfield out-of-the-box features
|
|
110
|
+
|
|
111
|
+
## 0.1.0
|
|
112
|
+
|
|
113
|
+
### Minor Changes
|
|
114
|
+
|
|
115
|
+
- [`cb5997ed7af`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cb5997ed7af) - [ux] EDM-2977/change UI for link and title input fields
|
|
116
|
+
|
|
117
|
+
## 0.0.6
|
|
118
|
+
|
|
119
|
+
### Patch Changes
|
|
120
|
+
|
|
121
|
+
- [`cb2392f6d33`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cb2392f6d33) - Upgrade to TypeScript 4.2.4
|
|
122
|
+
- Updated dependencies
|
|
123
|
+
|
|
124
|
+
## 0.0.5
|
|
125
|
+
|
|
126
|
+
### Patch Changes
|
|
127
|
+
|
|
128
|
+
- Updated dependencies
|
|
129
|
+
|
|
130
|
+
## 0.0.4
|
|
131
|
+
|
|
132
|
+
### Patch Changes
|
|
133
|
+
|
|
134
|
+
- Updated dependencies
|
|
135
|
+
|
|
136
|
+
## 0.0.3
|
|
137
|
+
|
|
138
|
+
### Patch Changes
|
|
139
|
+
|
|
140
|
+
- [`7f49f72e074`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f49f72e074) - copy existing editor component into @atlassian/link-picker
|
|
141
|
+
- Updated dependencies
|
|
142
|
+
|
|
3
143
|
## 0.0.2
|
|
4
144
|
|
|
5
145
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,9 +1,31 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Link Picker @atlaskit/link-picker
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> ⚠️ Currently under active development, use at your own risk ⚠️
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The standalone link picker component allows users to insert relevant links without having to leave their current context.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
### Usage
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
```
|
|
10
|
+
import { LinkPicker } from '@atlaskit/link-picker';
|
|
11
|
+
|
|
12
|
+
const onSubmit = (href, title, displayText, inputMethod) => {...}
|
|
13
|
+
|
|
14
|
+
<LinkPicker onSubmit={onSubmit} />
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Props
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
{
|
|
22
|
+
onSubmit?: (
|
|
23
|
+
href: string,
|
|
24
|
+
title: string | undefined,
|
|
25
|
+
displayText: string | undefined,
|
|
26
|
+
inputMethod: LinkInputType,
|
|
27
|
+
) => void;
|
|
28
|
+
plugins?: [LinkPickerPlugin];
|
|
29
|
+
displayUrl?: string;
|
|
30
|
+
}
|
|
31
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.browser = void 0;
|
|
7
|
+
var result = {
|
|
8
|
+
mac: false,
|
|
9
|
+
ie: false,
|
|
10
|
+
ie_version: 0,
|
|
11
|
+
gecko: false,
|
|
12
|
+
chrome: false,
|
|
13
|
+
chrome_version: 0,
|
|
14
|
+
android: false,
|
|
15
|
+
ios: false,
|
|
16
|
+
webkit: false,
|
|
17
|
+
safari: false,
|
|
18
|
+
supportsIntersectionObserver: false,
|
|
19
|
+
supportsResizeObserver: false
|
|
20
|
+
};
|
|
21
|
+
exports.browser = result;
|
|
22
|
+
|
|
23
|
+
if (typeof navigator !== 'undefined') {
|
|
24
|
+
var ieEdge = /Edge\/(\d+)/.exec(navigator.userAgent);
|
|
25
|
+
var ieUpTo10 = /MSIE \d/.test(navigator.userAgent);
|
|
26
|
+
var ie11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
|
|
27
|
+
result.mac = /Mac/.test(navigator.platform);
|
|
28
|
+
var ie = result.ie = !!(ieUpTo10 || ie11up || ieEdge);
|
|
29
|
+
result.ie_version = ieUpTo10 ? document.documentMode || 6 : ie11up ? +ie11up[1] : ieEdge ? +ieEdge[1] : null;
|
|
30
|
+
result.gecko = !ie && /gecko\/\d/i.test(navigator.userAgent);
|
|
31
|
+
result.chrome = !ie && /Chrome\//.test(navigator.userAgent);
|
|
32
|
+
result.chrome_version = parseInt((navigator.userAgent.match(/Chrome\/(\d+)/) || [])[1], 10);
|
|
33
|
+
result.android = /Android \d/.test(navigator.userAgent);
|
|
34
|
+
result.ios = !ie && /AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent);
|
|
35
|
+
result.webkit = !ie && !!document.documentElement && 'WebkitAppearance' in document.documentElement.style;
|
|
36
|
+
result.safari = Boolean(navigator.vendor && navigator.vendor.indexOf('Apple') > -1 && navigator.userAgent && navigator.userAgent.indexOf('CriOS') === -1 && navigator.userAgent.indexOf('FxiOS') === -1);
|
|
37
|
+
result.supportsIntersectionObserver = typeof window !== 'undefined' && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype;
|
|
38
|
+
result.supportsResizeObserver = typeof window !== 'undefined' && 'ResizeObserver' in window && 'ResizeObserverEntry' in window;
|
|
39
|
+
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
Object.defineProperty(exports, "LinkPicker", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function get() {
|
|
9
|
-
return _linkPicker.
|
|
9
|
+
return _linkPicker.LinkPickerWithIntl;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
var _linkPicker = require("./link-picker");
|
|
13
|
+
var _linkPicker = require("./ui/link-picker");
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.messages = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactIntlNext = require("react-intl-next");
|
|
9
|
+
|
|
10
|
+
var messages = (0, _reactIntlNext.defineMessages)({
|
|
11
|
+
placeholder: {
|
|
12
|
+
id: 'fabric.linkPicker.hyperlinkToolbarPlaceholder',
|
|
13
|
+
defaultMessage: 'Search or paste a link',
|
|
14
|
+
description: 'Search or paste a link'
|
|
15
|
+
},
|
|
16
|
+
linkPlaceholder: {
|
|
17
|
+
id: 'fabric.linkPicker.linkPlaceholder',
|
|
18
|
+
defaultMessage: 'Paste link',
|
|
19
|
+
description: 'Create a new link by pasting a URL.'
|
|
20
|
+
},
|
|
21
|
+
linkTextPlaceholder: {
|
|
22
|
+
id: 'fabric.linkPicker.linkTextPlaceholder',
|
|
23
|
+
defaultMessage: 'Add a description',
|
|
24
|
+
description: 'Text to display'
|
|
25
|
+
},
|
|
26
|
+
linkLabel: {
|
|
27
|
+
id: 'fabric.linkPicker.linkAddress',
|
|
28
|
+
defaultMessage: 'Link',
|
|
29
|
+
description: 'Link Label'
|
|
30
|
+
},
|
|
31
|
+
linkInvalid: {
|
|
32
|
+
id: 'fabric.linkPicker.linkInvalid',
|
|
33
|
+
defaultMessage: 'Enter a valid URL.',
|
|
34
|
+
description: 'Input Error the URL is invalid'
|
|
35
|
+
},
|
|
36
|
+
linkTextLabel: {
|
|
37
|
+
id: 'fabric.linkPicker.displayText',
|
|
38
|
+
defaultMessage: 'Link text',
|
|
39
|
+
description: 'Link text label'
|
|
40
|
+
},
|
|
41
|
+
clearText: {
|
|
42
|
+
id: 'fabric.linkPicker.clearLinkText',
|
|
43
|
+
defaultMessage: 'Clear text',
|
|
44
|
+
description: 'Clears text on the link toolbar'
|
|
45
|
+
},
|
|
46
|
+
clearLink: {
|
|
47
|
+
id: 'fabric.linkPicker.clearLink',
|
|
48
|
+
defaultMessage: 'Clear link',
|
|
49
|
+
description: 'Clears link in the link toolbar'
|
|
50
|
+
},
|
|
51
|
+
searchLinkAriaDescription: {
|
|
52
|
+
id: 'fabric.linkPicker.hyperlink.searchLinkAriaDescription',
|
|
53
|
+
defaultMessage: 'Suggestions will appear below as you type into the field',
|
|
54
|
+
description: 'Describes what the search field does for screen reader users.'
|
|
55
|
+
},
|
|
56
|
+
searchLinkResults: {
|
|
57
|
+
id: 'fabric.linkPicker.hyperlink.searchLinkResults',
|
|
58
|
+
defaultMessage: '{count, plural, =0 {no results} one {# result} other {# results}} found',
|
|
59
|
+
description: 'Announce search results for screen-reader users.'
|
|
60
|
+
},
|
|
61
|
+
linkAriaLabel: {
|
|
62
|
+
id: 'fabric.linkPicker.hyperlink.linkAriaLabel',
|
|
63
|
+
defaultMessage: 'Link label',
|
|
64
|
+
description: 'aria label for a link'
|
|
65
|
+
},
|
|
66
|
+
timeUpdated: {
|
|
67
|
+
id: 'fabric.linkPicker.time.updated',
|
|
68
|
+
defaultMessage: 'Updated',
|
|
69
|
+
description: 'Time last updated'
|
|
70
|
+
},
|
|
71
|
+
timeViewed: {
|
|
72
|
+
id: 'fabric.linkPicker.time.viewed',
|
|
73
|
+
defaultMessage: 'Viewed',
|
|
74
|
+
description: 'Time last viewed'
|
|
75
|
+
},
|
|
76
|
+
timeAgo: {
|
|
77
|
+
id: 'fabric.linkPicker.time.ago',
|
|
78
|
+
defaultMessage: 'ago',
|
|
79
|
+
description: 'Some time ago'
|
|
80
|
+
},
|
|
81
|
+
titleRecentlyViewed: {
|
|
82
|
+
id: 'fabric.linkPicker.listTitle.recentlyViewed',
|
|
83
|
+
defaultMessage: 'Recently Viewed',
|
|
84
|
+
description: 'Describes type of items shown in the list for screen-reader users'
|
|
85
|
+
},
|
|
86
|
+
titleResults: {
|
|
87
|
+
id: 'fabric.linkPicker.listTitle.results',
|
|
88
|
+
defaultMessage: 'Results',
|
|
89
|
+
description: 'Describes type of items shown in the list for screen-reader users'
|
|
90
|
+
},
|
|
91
|
+
cancelButton: {
|
|
92
|
+
id: 'fabric.linkPicker.cancel.button',
|
|
93
|
+
defaultMessage: 'Cancel',
|
|
94
|
+
description: 'Button to cancel and dismiss the link picker'
|
|
95
|
+
},
|
|
96
|
+
insertButton: {
|
|
97
|
+
id: 'fabric.linkPicker.cancel.insert',
|
|
98
|
+
defaultMessage: 'Insert',
|
|
99
|
+
description: 'Button to insert searched or selected link'
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
exports.messages = messages;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.recentListStyles = exports.SearchIconWrapper = exports.ListTitleStyles = exports.ListItemWrapper = exports.ListItemName = exports.ListItemContext = exports.ItemNameWrapper = exports.ItemIconWrapper = exports.ImgStyles = exports.FieldWrapper = exports.Container = exports.ClearText = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
14
|
+
var _tokens = require("@atlaskit/tokens");
|
|
15
|
+
|
|
16
|
+
var _core = require("@emotion/core");
|
|
17
|
+
|
|
18
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
19
|
+
|
|
20
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
21
|
+
|
|
22
|
+
var _utils = require("./utils");
|
|
23
|
+
|
|
24
|
+
var _theme = require("@atlaskit/theme");
|
|
25
|
+
|
|
26
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
27
|
+
|
|
28
|
+
var LINK_PICKER_WIDTH_IN_PX = 342;
|
|
29
|
+
var recentListStyles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: ", "px;\n background: ", ";\n"])), LINK_PICKER_WIDTH_IN_PX, (0, _tokens.token)('elevation.surface.overlay', _colors.N0));
|
|
30
|
+
exports.recentListStyles = recentListStyles;
|
|
31
|
+
|
|
32
|
+
var Container = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", "px;\n width: 100%;\n overflow: hidden;\n line-height: initial;\n box-sizing: border-box;\n"])), (0, _constants.gridSize)() * 2);
|
|
33
|
+
|
|
34
|
+
exports.Container = Container;
|
|
35
|
+
|
|
36
|
+
var ClearText = _styledComponents.default.button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0;\n margin-right: ", "px;\n color: ", ";\n background: transparent;\n border: none;\n cursor: pointer;\n"])), (0, _constants.gridSize)() / 2, (0, _tokens.token)('color.icon.subtle', _colors.N500));
|
|
37
|
+
|
|
38
|
+
exports.ClearText = ClearText;
|
|
39
|
+
|
|
40
|
+
var FieldWrapper = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: ", "px;\n"])), (0, _constants.gridSize)() * 2);
|
|
41
|
+
|
|
42
|
+
exports.FieldWrapper = FieldWrapper;
|
|
43
|
+
|
|
44
|
+
var SearchIconWrapper = _styledComponents.default.span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", "px;\n color: ", ";\n cursor: default;\n"])), (0, _constants.gridSize)() / 2, (0, _tokens.token)('color.icon', _colors.N500));
|
|
45
|
+
|
|
46
|
+
exports.SearchIconWrapper = SearchIconWrapper;
|
|
47
|
+
var ListTitleStyles = (0, _core.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n text-transform: uppercase;\n margin-bottom: ", "px;\n"])), _theme.typography.h100(), (0, _constants.gridSize)() / 2);
|
|
48
|
+
exports.ListTitleStyles = ListTitleStyles;
|
|
49
|
+
|
|
50
|
+
var ListItemWrapper = _styledComponents.default.li(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n padding: ", "px ", "px;\n margin: 0 -", "px;\n cursor: pointer;\n background-color: ", ";\n box-shadow: inset 2px 0px 0px\n ", ";\n"])), (0, _constants.gridSize)(), (0, _constants.gridSize)() * 2, (0, _constants.gridSize)() * 2, function (props) {
|
|
51
|
+
switch (true) {
|
|
52
|
+
case props.selected:
|
|
53
|
+
return (0, _tokens.token)('color.background.selected', _colors.B50);
|
|
54
|
+
|
|
55
|
+
case props.active:
|
|
56
|
+
return (0, _tokens.token)('color.background.neutral.subtle.hovered', _colors.N20);
|
|
57
|
+
|
|
58
|
+
default:
|
|
59
|
+
return 'transparent';
|
|
60
|
+
}
|
|
61
|
+
}, function (props) {
|
|
62
|
+
switch (true) {
|
|
63
|
+
case props.active:
|
|
64
|
+
case props.selected:
|
|
65
|
+
return (0, _tokens.token)('color.border.selected', _colors.B400);
|
|
66
|
+
|
|
67
|
+
default:
|
|
68
|
+
return 'transparent';
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
exports.ListItemWrapper = ListItemWrapper;
|
|
73
|
+
|
|
74
|
+
var ItemNameWrapper = _styledComponents.default.span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n overflow: hidden;\n"])));
|
|
75
|
+
|
|
76
|
+
exports.ItemNameWrapper = ItemNameWrapper;
|
|
77
|
+
|
|
78
|
+
var ListItemName = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 20px;\n"])), (0, _tokens.token)('color.text', _colors.N800));
|
|
79
|
+
|
|
80
|
+
exports.ListItemName = ListItemName;
|
|
81
|
+
|
|
82
|
+
var ListItemContext = _styledComponents.default.div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: ", ";\n line-height: ", "px;\n"])), (0, _tokens.token)('color.text', _colors.N300), (0, _utils.relativeFontSizeToBase16)((0, _theme.fontSizeSmall)()), (0, _theme.fontSize)());
|
|
83
|
+
|
|
84
|
+
exports.ListItemContext = ListItemContext;
|
|
85
|
+
|
|
86
|
+
var ItemIconWrapper = _styledComponents.default.span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n min-width: ", "px;\n margin-top: 3px;\n margin-right: 12px;\n"])), (0, _constants.gridSize)() * 2);
|
|
87
|
+
|
|
88
|
+
exports.ItemIconWrapper = ItemIconWrapper;
|
|
89
|
+
var ImgStyles = (0, _core.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n max-width: ", "px;\n"])), (0, _constants.gridSize)() * 2);
|
|
90
|
+
exports.ImgStyles = ImgStyles;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.transformTimeStamp = void 0;
|
|
9
|
+
|
|
10
|
+
var _formatDistance = _interopRequireDefault(require("date-fns/formatDistance"));
|
|
11
|
+
|
|
12
|
+
var _differenceInCalendarDays = _interopRequireDefault(require("date-fns/differenceInCalendarDays"));
|
|
13
|
+
|
|
14
|
+
var _format = _interopRequireDefault(require("date-fns/format"));
|
|
15
|
+
|
|
16
|
+
var _messages = require("./messages");
|
|
17
|
+
|
|
18
|
+
var renderAbsoluteOrRelativeDate = function renderAbsoluteOrRelativeDate(timeStamp, pageAction, intl) {
|
|
19
|
+
var pageActionText = '';
|
|
20
|
+
|
|
21
|
+
switch (pageAction) {
|
|
22
|
+
case 'updated':
|
|
23
|
+
pageActionText = intl.formatMessage(_messages.messages.timeUpdated);
|
|
24
|
+
break;
|
|
25
|
+
|
|
26
|
+
case 'viewed':
|
|
27
|
+
pageActionText = intl.formatMessage(_messages.messages.timeViewed);
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if ((0, _differenceInCalendarDays.default)(timeStamp, Date.now()) < -7) {
|
|
32
|
+
return {
|
|
33
|
+
pageAction: pageActionText,
|
|
34
|
+
dateString: (0, _format.default)(timeStamp, 'MMMM dd, yyyy')
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return {
|
|
39
|
+
pageAction: pageActionText,
|
|
40
|
+
dateString: (0, _formatDistance.default)(timeStamp, Date.now()),
|
|
41
|
+
timeSince: intl.formatMessage(_messages.messages.timeAgo)
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var transformTimeStamp = function transformTimeStamp(intl, lastViewedDate, lastUpdatedDate) {
|
|
46
|
+
if (lastViewedDate) {
|
|
47
|
+
return renderAbsoluteOrRelativeDate(lastViewedDate, 'viewed', intl);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (lastUpdatedDate) {
|
|
51
|
+
return renderAbsoluteOrRelativeDate(lastUpdatedDate, 'updated', intl);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.transformTimeStamp = transformTimeStamp;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = exports.List = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
25
|
+
|
|
26
|
+
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
27
|
+
|
|
28
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
29
|
+
|
|
30
|
+
var _LinkSearchListItem = _interopRequireDefault(require("./LinkSearchListItem"));
|
|
31
|
+
|
|
32
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
+
|
|
38
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
39
|
+
|
|
40
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
|
+
|
|
42
|
+
var ListContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding-top: 0;\n"])));
|
|
43
|
+
|
|
44
|
+
var SpinnerContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n text-align: center;\n min-height: 80px;\n margin-top: 30px;\n"])));
|
|
45
|
+
|
|
46
|
+
var List = _styledComponents.default.ul(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0;\n list-style: none;\n"])));
|
|
47
|
+
|
|
48
|
+
exports.List = List;
|
|
49
|
+
|
|
50
|
+
var LinkSearchList = /*#__PURE__*/function (_PureComponent) {
|
|
51
|
+
(0, _inherits2.default)(LinkSearchList, _PureComponent);
|
|
52
|
+
|
|
53
|
+
var _super = _createSuper(LinkSearchList);
|
|
54
|
+
|
|
55
|
+
function LinkSearchList() {
|
|
56
|
+
(0, _classCallCheck2.default)(this, LinkSearchList);
|
|
57
|
+
return _super.apply(this, arguments);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
(0, _createClass2.default)(LinkSearchList, [{
|
|
61
|
+
key: "render",
|
|
62
|
+
value: function render() {
|
|
63
|
+
var _this$props = this.props,
|
|
64
|
+
onSelect = _this$props.onSelect,
|
|
65
|
+
onMouseEnter = _this$props.onMouseEnter,
|
|
66
|
+
onMouseLeave = _this$props.onMouseLeave,
|
|
67
|
+
items = _this$props.items,
|
|
68
|
+
activeIndex = _this$props.activeIndex,
|
|
69
|
+
selectedIndex = _this$props.selectedIndex,
|
|
70
|
+
isLoading = _this$props.isLoading,
|
|
71
|
+
ariaControls = _this$props.ariaControls,
|
|
72
|
+
ariaLabelledBy = _this$props.ariaLabelledBy,
|
|
73
|
+
role = _this$props.role,
|
|
74
|
+
id = _this$props.id;
|
|
75
|
+
var itemsContent;
|
|
76
|
+
var loadingContent;
|
|
77
|
+
|
|
78
|
+
if (items && items.length > 0) {
|
|
79
|
+
itemsContent = /*#__PURE__*/_react.default.createElement(List, {
|
|
80
|
+
id: id,
|
|
81
|
+
role: role,
|
|
82
|
+
"aria-controls": ariaControls,
|
|
83
|
+
"aria-labelledby": ariaLabelledBy
|
|
84
|
+
}, items.map(function (item, index) {
|
|
85
|
+
return /*#__PURE__*/_react.default.createElement(_LinkSearchListItem.default, {
|
|
86
|
+
id: "link-search-list-item-".concat(index),
|
|
87
|
+
role: role && 'option',
|
|
88
|
+
item: item,
|
|
89
|
+
selected: selectedIndex === index,
|
|
90
|
+
active: activeIndex === index,
|
|
91
|
+
onMouseEnter: onMouseEnter,
|
|
92
|
+
onMouseLeave: onMouseLeave,
|
|
93
|
+
onSelect: onSelect,
|
|
94
|
+
key: item.objectId
|
|
95
|
+
});
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (isLoading) {
|
|
100
|
+
loadingContent = /*#__PURE__*/_react.default.createElement(SpinnerContainer, null, /*#__PURE__*/_react.default.createElement(_spinner.default, {
|
|
101
|
+
testId: "link-picker.results-loading-indicator",
|
|
102
|
+
size: "medium"
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return /*#__PURE__*/_react.default.createElement(ListContainer, null, itemsContent, loadingContent);
|
|
107
|
+
}
|
|
108
|
+
}]);
|
|
109
|
+
return LinkSearchList;
|
|
110
|
+
}(_react.PureComponent);
|
|
111
|
+
|
|
112
|
+
exports.default = LinkSearchList;
|