@atlaskit/link-picker 0.8.1 → 0.11.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 +18 -0
- package/dist/cjs/ui/link-picker.js +62 -40
- package/dist/cjs/ui/{LinkSearchList.js → link-search-list/index.js} +15 -25
- package/dist/cjs/ui/link-search-list/styled.js +21 -0
- package/dist/cjs/ui/{LinkSearchListItem.js → list-item/index.js} +26 -24
- package/dist/cjs/ui/list-item/styled.js +59 -0
- package/dist/cjs/ui/styled.js +32 -0
- package/dist/cjs/ui/{PanelTextInput.js → text-input/index.js} +14 -17
- package/dist/cjs/ui/text-input/styled.js +25 -0
- package/dist/cjs/utils.js +1 -14
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/ui/link-picker.js +26 -14
- package/dist/es2019/ui/{LinkSearchList.js → link-search-list/index.js} +14 -19
- package/dist/es2019/ui/link-search-list/styled.js +13 -0
- package/dist/es2019/ui/list-item/index.js +88 -0
- package/dist/es2019/ui/list-item/styled.js +65 -0
- package/dist/es2019/ui/styled.js +28 -0
- package/dist/es2019/ui/{PanelTextInput.js → text-input/index.js} +15 -9
- package/dist/es2019/ui/text-input/styled.js +15 -0
- package/dist/es2019/utils.js +0 -11
- package/dist/es2019/version.json +1 -1
- package/dist/esm/ui/link-picker.js +49 -27
- package/dist/esm/ui/{LinkSearchList.js → link-search-list/index.js} +14 -13
- package/dist/esm/ui/link-search-list/styled.js +8 -0
- package/dist/esm/ui/{LinkSearchListItem.js → list-item/index.js} +25 -23
- package/dist/esm/ui/list-item/styled.js +37 -0
- package/dist/esm/ui/styled.js +16 -0
- package/dist/esm/ui/{PanelTextInput.js → text-input/index.js} +15 -9
- package/dist/esm/ui/text-input/styled.js +10 -0
- package/dist/esm/utils.js +0 -11
- package/dist/esm/version.json +1 -1
- package/dist/types/types.d.ts +6 -3
- package/dist/types/ui/{LinkSearchList.d.ts → link-search-list/index.d.ts} +4 -4
- package/dist/types/ui/link-search-list/styled.d.ts +3 -0
- package/dist/types/ui/{LinkSearchListItem.d.ts → list-item/index.d.ts} +1 -1
- package/dist/types/ui/list-item/styled.d.ts +7 -0
- package/dist/types/ui/styled.d.ts +4 -0
- package/dist/types/ui/{PanelTextInput.d.ts → text-input/index.d.ts} +2 -2
- package/dist/types/ui/text-input/styled.d.ts +2 -0
- package/dist/types/utils.d.ts +0 -1
- package/example-helpers/mock-data.ts +4 -0
- package/package.json +6 -5
- package/dist/cjs/styles.js +0 -90
- package/dist/es2019/styles.js +0 -93
- package/dist/es2019/ui/LinkSearchListItem.js +0 -88
- package/dist/esm/styles.js +0 -46
- package/dist/types/styles.d.ts +0 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/link-picker
|
|
2
2
|
|
|
3
|
+
## 0.11.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`a2286b0746a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a2286b0746a) - Added support for link picker plugins to resolve using a promise
|
|
8
|
+
|
|
9
|
+
## 0.10.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`dbc82a03866`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dbc82a03866) - Removed styled-components as a peer dependency in favor of @emotion/react
|
|
14
|
+
|
|
15
|
+
## 0.9.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [`c1c010c8ada`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c1c010c8ada) - Remove required container param
|
|
20
|
+
|
|
3
21
|
## 0.8.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -29,19 +29,19 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
29
29
|
|
|
30
30
|
var _react = _interopRequireWildcard(require("react"));
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _react2 = require("@emotion/react");
|
|
33
33
|
|
|
34
34
|
var _reactIntlNext = require("react-intl-next");
|
|
35
35
|
|
|
36
36
|
var _messages = require("../messages");
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _textInput = _interopRequireDefault(require("./text-input"));
|
|
39
39
|
|
|
40
|
-
var
|
|
40
|
+
var _linkSearchList = _interopRequireDefault(require("./link-search-list"));
|
|
41
41
|
|
|
42
42
|
var _url = require("../url");
|
|
43
43
|
|
|
44
|
-
var
|
|
44
|
+
var _styled = require("./styled");
|
|
45
45
|
|
|
46
46
|
var _browser = require("../browser");
|
|
47
47
|
|
|
@@ -155,7 +155,8 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
155
155
|
lastUpdatedDate = _items$selectedIndex.lastUpdatedDate,
|
|
156
156
|
lastViewedDate = _items$selectedIndex.lastViewedDate;
|
|
157
157
|
var date = (0, _transformTimeStamp.transformTimeStamp)(intl, lastViewedDate, lastUpdatedDate);
|
|
158
|
-
|
|
158
|
+
var formattedDate = [date === null || date === void 0 ? void 0 : date.pageAction, date === null || date === void 0 ? void 0 : date.dateString, date === null || date === void 0 ? void 0 : date.timeSince].filter(Boolean).join(' ');
|
|
159
|
+
return [name, container, formattedDate].filter(Boolean).join(', ');
|
|
159
160
|
}
|
|
160
161
|
});
|
|
161
162
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isUrlPopulatedWithSelectedItem", function () {
|
|
@@ -356,7 +357,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
356
357
|
key: "updateResults",
|
|
357
358
|
value: function () {
|
|
358
359
|
var _updateResults = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
359
|
-
var queryVersion, activePlugin, updates,
|
|
360
|
+
var queryVersion, activePlugin, updates, done, value, _result$done, result;
|
|
360
361
|
|
|
361
362
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
362
363
|
while (1) {
|
|
@@ -384,59 +385,78 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
384
385
|
|
|
385
386
|
case 7:
|
|
386
387
|
if (!(queryVersion === this.queryVersion)) {
|
|
387
|
-
_context2.next =
|
|
388
|
+
_context2.next = 29;
|
|
388
389
|
break;
|
|
389
390
|
}
|
|
390
391
|
|
|
391
|
-
|
|
392
|
+
done = false;
|
|
393
|
+
value = void 0;
|
|
394
|
+
|
|
395
|
+
if (!(updates instanceof Promise)) {
|
|
396
|
+
_context2.next = 17;
|
|
397
|
+
break;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
done = true;
|
|
401
|
+
_context2.next = 14;
|
|
402
|
+
return updates;
|
|
403
|
+
|
|
404
|
+
case 14:
|
|
405
|
+
value = _context2.sent;
|
|
406
|
+
_context2.next = 22;
|
|
407
|
+
break;
|
|
408
|
+
|
|
409
|
+
case 17:
|
|
410
|
+
_context2.next = 19;
|
|
392
411
|
return updates.next();
|
|
393
412
|
|
|
394
|
-
case
|
|
395
|
-
|
|
396
|
-
done =
|
|
397
|
-
value =
|
|
413
|
+
case 19:
|
|
414
|
+
result = _context2.sent;
|
|
415
|
+
done = (_result$done = result.done) !== null && _result$done !== void 0 ? _result$done : false;
|
|
416
|
+
value = result.value;
|
|
398
417
|
|
|
418
|
+
case 22:
|
|
399
419
|
if (!(queryVersion !== this.queryVersion)) {
|
|
400
|
-
_context2.next =
|
|
420
|
+
_context2.next = 24;
|
|
401
421
|
break;
|
|
402
422
|
}
|
|
403
423
|
|
|
404
424
|
return _context2.abrupt("return");
|
|
405
425
|
|
|
406
|
-
case
|
|
426
|
+
case 24:
|
|
407
427
|
this.setState({
|
|
408
|
-
items: limit(value),
|
|
428
|
+
items: limit(value.data),
|
|
409
429
|
isLoading: !done
|
|
410
430
|
});
|
|
411
431
|
|
|
412
432
|
if (!done) {
|
|
413
|
-
_context2.next =
|
|
433
|
+
_context2.next = 27;
|
|
414
434
|
break;
|
|
415
435
|
}
|
|
416
436
|
|
|
417
437
|
return _context2.abrupt("return");
|
|
418
438
|
|
|
419
|
-
case
|
|
439
|
+
case 27:
|
|
420
440
|
_context2.next = 7;
|
|
421
441
|
break;
|
|
422
442
|
|
|
423
|
-
case
|
|
424
|
-
_context2.next =
|
|
443
|
+
case 29:
|
|
444
|
+
_context2.next = 34;
|
|
425
445
|
break;
|
|
426
446
|
|
|
427
|
-
case
|
|
428
|
-
_context2.prev =
|
|
447
|
+
case 31:
|
|
448
|
+
_context2.prev = 31;
|
|
429
449
|
_context2.t0 = _context2["catch"](6);
|
|
430
450
|
this.setState({
|
|
431
451
|
isLoading: false
|
|
432
452
|
});
|
|
433
453
|
|
|
434
|
-
case
|
|
454
|
+
case 34:
|
|
435
455
|
case "end":
|
|
436
456
|
return _context2.stop();
|
|
437
457
|
}
|
|
438
458
|
}
|
|
439
|
-
}, _callee2, this, [[6,
|
|
459
|
+
}, _callee2, this, [[6, 31]]);
|
|
440
460
|
}));
|
|
441
461
|
|
|
442
462
|
function updateResults() {
|
|
@@ -468,27 +488,29 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
468
488
|
// for details: https://a11y-internal.atlassian.net/browse/AK-740
|
|
469
489
|
|
|
470
490
|
var screenReaderText = _browser.browser.safari && this.getScreenReaderText();
|
|
471
|
-
var searchIcon = activePlugin && (0,
|
|
491
|
+
var searchIcon = activePlugin && (0, _react2.jsx)("span", {
|
|
492
|
+
css: _styled.searchIconStyles,
|
|
472
493
|
"data-testid": "link-picker-search-icon"
|
|
473
|
-
}, (0,
|
|
494
|
+
}, (0, _react2.jsx)(_search.default, {
|
|
474
495
|
size: "medium",
|
|
475
496
|
label: ''
|
|
476
497
|
}));
|
|
477
|
-
return (0,
|
|
498
|
+
return (0, _react2.jsx)("div", {
|
|
478
499
|
"data-testid": "link-picker",
|
|
479
500
|
className: "recent-list",
|
|
480
|
-
css:
|
|
481
|
-
}, (0,
|
|
482
|
-
|
|
483
|
-
|
|
501
|
+
css: _styled.recentListStyles
|
|
502
|
+
}, (0, _react2.jsx)("div", {
|
|
503
|
+
css: _styled.containerStyles,
|
|
504
|
+
ref: this.wrapperRef
|
|
505
|
+
}, screenReaderText && (0, _react2.jsx)(_announcer.default, {
|
|
484
506
|
ariaLive: "assertive",
|
|
485
507
|
text: screenReaderText,
|
|
486
508
|
ariaRelevant: "additions",
|
|
487
509
|
delay: 250
|
|
488
|
-
}), (0,
|
|
510
|
+
}), (0, _react2.jsx)(_visuallyHidden.default, null, (0, _react2.jsx)("span", {
|
|
489
511
|
"aria-hidden": "true",
|
|
490
512
|
id: screenReaderDescriptionId
|
|
491
|
-
}, formatMessage(_messages.messages.searchLinkAriaDescription))), (0,
|
|
513
|
+
}, formatMessage(_messages.messages.searchLinkAriaDescription))), (0, _react2.jsx)(_textInput.default, {
|
|
492
514
|
name: "link",
|
|
493
515
|
testId: "link-url",
|
|
494
516
|
role: "combobox",
|
|
@@ -509,7 +531,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
509
531
|
"aria-activedescendant": ariaActiveDescendant,
|
|
510
532
|
"aria-describedby": screenReaderDescriptionId,
|
|
511
533
|
"aria-expanded": true
|
|
512
|
-
}), (0,
|
|
534
|
+
}), (0, _react2.jsx)(_textInput.default, {
|
|
513
535
|
name: "link-text",
|
|
514
536
|
testId: "link-text",
|
|
515
537
|
autoComplete: "off",
|
|
@@ -522,17 +544,17 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
522
544
|
onChange: this.updateTextInput,
|
|
523
545
|
onClear: this.handleClearDisplayText,
|
|
524
546
|
clearLabel: formatMessage(_messages.messages.clearText)
|
|
525
|
-
}), !!items.length && (0,
|
|
526
|
-
css:
|
|
547
|
+
}), !!items.length && (0, _react2.jsx)("div", {
|
|
548
|
+
css: _styled.listTitleStyles,
|
|
527
549
|
id: "link-picker-list-title",
|
|
528
550
|
"data-testid": "link-picker-list-title"
|
|
529
|
-
}, formatMessage(this.state.url ? _messages.messages.titleResults : _messages.messages.titleRecentlyViewed)), (0,
|
|
551
|
+
}, formatMessage(this.state.url ? _messages.messages.titleResults : _messages.messages.titleRecentlyViewed)), (0, _react2.jsx)(_visuallyHidden.default, null, (0, _react2.jsx)("span", {
|
|
530
552
|
"aria-live": "polite",
|
|
531
553
|
"aria-atomic": "true",
|
|
532
554
|
id: "fabric.smartcard.linkpicker.suggested.results"
|
|
533
555
|
}, url && formatMessage(_messages.messages.searchLinkResults, {
|
|
534
556
|
count: items.length
|
|
535
|
-
}))), (0,
|
|
557
|
+
}))), (0, _react2.jsx)(_linkSearchList.default, {
|
|
536
558
|
ariaLabelledBy: "link-picker-list-title",
|
|
537
559
|
ariaControls: "fabric.smartcard.linkpicker.suggested.results",
|
|
538
560
|
id: linkSearchListId,
|
|
@@ -544,13 +566,13 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
544
566
|
onSelect: this.handleSelected,
|
|
545
567
|
onMouseEnter: this.handleMouseEnterResultItem,
|
|
546
568
|
onMouseLeave: this.handleMouseLeaveResultItem
|
|
547
|
-
}), (0,
|
|
569
|
+
}), (0, _react2.jsx)(_form.FormFooter, {
|
|
548
570
|
align: "end"
|
|
549
|
-
}, (0,
|
|
571
|
+
}, (0, _react2.jsx)(_button.ButtonGroup, null, (0, _react2.jsx)(_button.default, {
|
|
550
572
|
appearance: "default",
|
|
551
573
|
onClick: this.handleCancel,
|
|
552
574
|
testId: "link-picker-cancel-button"
|
|
553
|
-
}, formatMessage(_messages.messages.cancelButton)), (0,
|
|
575
|
+
}, formatMessage(_messages.messages.cancelButton)), (0, _react2.jsx)(_button.default, {
|
|
554
576
|
type: "submit",
|
|
555
577
|
appearance: "primary",
|
|
556
578
|
onClick: this.handleSubmit,
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
exports.default =
|
|
8
|
+
exports.default = void 0;
|
|
11
9
|
|
|
12
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
11
|
|
|
@@ -19,34 +17,20 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
|
|
|
19
17
|
|
|
20
18
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
19
|
|
|
22
|
-
var
|
|
20
|
+
var _react = require("react");
|
|
23
21
|
|
|
24
|
-
var
|
|
22
|
+
var _react2 = require("@emotion/react");
|
|
25
23
|
|
|
26
24
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
27
25
|
|
|
28
|
-
var
|
|
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); }
|
|
26
|
+
var _listItem = _interopRequireDefault(require("../list-item"));
|
|
35
27
|
|
|
36
|
-
|
|
28
|
+
var _styled = require("./styled");
|
|
37
29
|
|
|
38
30
|
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
31
|
|
|
40
32
|
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
33
|
|
|
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
34
|
var LinkSearchList = /*#__PURE__*/function (_PureComponent) {
|
|
51
35
|
(0, _inherits2.default)(LinkSearchList, _PureComponent);
|
|
52
36
|
|
|
@@ -76,13 +60,15 @@ var LinkSearchList = /*#__PURE__*/function (_PureComponent) {
|
|
|
76
60
|
var loadingContent;
|
|
77
61
|
|
|
78
62
|
if (items && items.length > 0) {
|
|
79
|
-
itemsContent =
|
|
63
|
+
itemsContent = (0, _react2.jsx)("ul", {
|
|
64
|
+
"data-testid": "link-search-list",
|
|
65
|
+
css: _styled.listStyles,
|
|
80
66
|
id: id,
|
|
81
67
|
role: role,
|
|
82
68
|
"aria-controls": ariaControls,
|
|
83
69
|
"aria-labelledby": ariaLabelledBy
|
|
84
70
|
}, items.map(function (item, index) {
|
|
85
|
-
return
|
|
71
|
+
return (0, _react2.jsx)(_listItem.default, {
|
|
86
72
|
id: "link-search-list-item-".concat(index),
|
|
87
73
|
role: role && 'option',
|
|
88
74
|
item: item,
|
|
@@ -97,13 +83,17 @@ var LinkSearchList = /*#__PURE__*/function (_PureComponent) {
|
|
|
97
83
|
}
|
|
98
84
|
|
|
99
85
|
if (isLoading) {
|
|
100
|
-
loadingContent =
|
|
86
|
+
loadingContent = (0, _react2.jsx)("div", {
|
|
87
|
+
css: _styled.spinnerContainerStyles
|
|
88
|
+
}, (0, _react2.jsx)(_spinner.default, {
|
|
101
89
|
testId: "link-picker.results-loading-indicator",
|
|
102
90
|
size: "medium"
|
|
103
91
|
}));
|
|
104
92
|
}
|
|
105
93
|
|
|
106
|
-
return
|
|
94
|
+
return (0, _react2.jsx)("div", {
|
|
95
|
+
css: _styled.listContainerStyles
|
|
96
|
+
}, itemsContent, loadingContent);
|
|
107
97
|
}
|
|
108
98
|
}]);
|
|
109
99
|
return LinkSearchList;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.spinnerContainerStyles = exports.listStyles = exports.listContainerStyles = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _react = require("@emotion/react");
|
|
13
|
+
|
|
14
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
15
|
+
|
|
16
|
+
var listContainerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding-top: 0;\n"])));
|
|
17
|
+
exports.listContainerStyles = listContainerStyles;
|
|
18
|
+
var spinnerContainerStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n text-align: center;\n min-height: 80px;\n margin-top: 30px;\n"])));
|
|
19
|
+
exports.spinnerContainerStyles = spinnerContainerStyles;
|
|
20
|
+
var listStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0;\n list-style: none;\n"])));
|
|
21
|
+
exports.listStyles = listStyles;
|
|
@@ -7,13 +7,13 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _react2 = require("@emotion/react");
|
|
11
11
|
|
|
12
12
|
var _reactIntlNext = require("react-intl-next");
|
|
13
13
|
|
|
14
|
-
var _transformTimeStamp = require("
|
|
14
|
+
var _transformTimeStamp = require("../../transformTimeStamp");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _styled = require("./styled");
|
|
17
17
|
|
|
18
18
|
/** @jsx jsx */
|
|
19
19
|
var LinkSearchListItem = function LinkSearchListItem(_ref) {
|
|
@@ -39,39 +39,37 @@ var LinkSearchListItem = function LinkSearchListItem(_ref) {
|
|
|
39
39
|
return onMouseLeave(item.objectId);
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
var container = item.container || null;
|
|
43
|
+
var date = (0, _transformTimeStamp.transformTimeStamp)(intl, item.lastViewedDate, item.lastUpdatedDate);
|
|
44
|
+
return (0, _react2.jsx)("div", {
|
|
45
|
+
css: (0, _styled.composeListItemStyles)(active, selected),
|
|
43
46
|
role: role,
|
|
44
47
|
id: id,
|
|
45
48
|
"aria-selected": selected,
|
|
46
49
|
"data-testid": "link-search-list-item",
|
|
47
|
-
selected: selected,
|
|
48
|
-
active: active,
|
|
49
50
|
onMouseEnter: handleMouseEnter,
|
|
50
51
|
onMouseLeave: handleMouseLeave,
|
|
51
52
|
onClick: handleSelect
|
|
52
|
-
}, (0,
|
|
53
|
+
}, (0, _react2.jsx)(ListItemIcon, {
|
|
53
54
|
item: item,
|
|
54
55
|
intl: intl
|
|
55
|
-
}), (0,
|
|
56
|
-
|
|
57
|
-
})
|
|
56
|
+
}), (0, _react2.jsx)("div", {
|
|
57
|
+
css: _styled.itemNameStyles
|
|
58
|
+
}, (0, _react2.jsx)("div", {
|
|
59
|
+
"data-testid": "link-search-list-item-title",
|
|
60
|
+
css: _styled.listItemNameStyles
|
|
61
|
+
}, item.name), (0, _react2.jsx)("div", {
|
|
62
|
+
"data-testid": "link-search-list-item-subtitle",
|
|
63
|
+
css: _styled.listItemContextStyles
|
|
64
|
+
}, container, container && date && (0, _react2.jsx)(_react.Fragment, null, "\xA0 \u2022\xA0 "), date && (0, _react2.jsx)(_react.Fragment, null, formatDate(date)))));
|
|
58
65
|
};
|
|
59
66
|
|
|
60
67
|
var _default = (0, _reactIntlNext.injectIntl)(LinkSearchListItem);
|
|
61
68
|
|
|
62
69
|
exports.default = _default;
|
|
63
70
|
|
|
64
|
-
var
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (!date) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return (0, _core.jsx)(_react.Fragment, null, "\xA0 \u2022", (0, _core.jsx)("span", {
|
|
72
|
-
className: "link-search-timestamp",
|
|
73
|
-
"data-test-id": "link-search-timestamp"
|
|
74
|
-
}, "\xA0 ", date.pageAction, " ", date.dateString, " ", date.timeSince || ''));
|
|
71
|
+
var formatDate = function formatDate(date) {
|
|
72
|
+
return [date.pageAction, date.dateString, date.timeSince].filter(Boolean).join(' ');
|
|
75
73
|
};
|
|
76
74
|
|
|
77
75
|
var ListItemIcon = function ListItemIcon(props) {
|
|
@@ -88,14 +86,18 @@ var ListItemIcon = function ListItemIcon(props) {
|
|
|
88
86
|
|
|
89
87
|
if (typeof icon !== 'string') {
|
|
90
88
|
var Glyph = icon;
|
|
91
|
-
return (0,
|
|
89
|
+
return (0, _react2.jsx)("span", {
|
|
90
|
+
css: _styled.itemIconStyles
|
|
91
|
+
}, (0, _react2.jsx)(Glyph, {
|
|
92
92
|
alt: alt
|
|
93
93
|
}));
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
return (0,
|
|
96
|
+
return (0, _react2.jsx)("span", {
|
|
97
|
+
css: _styled.itemIconStyles
|
|
98
|
+
}, (0, _react2.jsx)("img", {
|
|
97
99
|
src: icon,
|
|
98
100
|
alt: alt,
|
|
99
|
-
css:
|
|
101
|
+
css: _styled.imgStyles
|
|
100
102
|
}));
|
|
101
103
|
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.relativeFontSizeToBase16 = exports.listItemNameStyles = exports.listItemContextStyles = exports.itemNameStyles = exports.itemIconStyles = exports.imgStyles = exports.composeListItemStyles = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _tokens = require("@atlaskit/tokens");
|
|
13
|
+
|
|
14
|
+
var _react = require("@emotion/react");
|
|
15
|
+
|
|
16
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
17
|
+
|
|
18
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
19
|
+
|
|
20
|
+
var _theme = require("@atlaskit/theme");
|
|
21
|
+
|
|
22
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
23
|
+
|
|
24
|
+
var relativeFontSizeToBase16 = function relativeFontSizeToBase16(px) {
|
|
25
|
+
if (typeof px === 'string') {
|
|
26
|
+
px = parseInt(px);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (isNaN(px)) {
|
|
30
|
+
throw new Error("Invalid font size: '".concat(px, "'"));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return "".concat(px / 16, "rem");
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.relativeFontSizeToBase16 = relativeFontSizeToBase16;
|
|
37
|
+
var listItemBaseStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n padding: ", "px ", "px;\n margin: 0 -", "px;\n cursor: pointer;\n"])), (0, _constants.gridSize)(), (0, _constants.gridSize)() * 2, (0, _constants.gridSize)() * 2);
|
|
38
|
+
var listItemBoxShadow = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n box-shadow: inset 2px 0px 0px ", ";\n"])), (0, _tokens.token)('color.border.selected', _colors.B400));
|
|
39
|
+
var listItemActive = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n"])), (0, _tokens.token)('color.background.neutral.subtle.hovered', _colors.N20));
|
|
40
|
+
var listItemSelected = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n"])), (0, _tokens.token)('color.background.selected', _colors.B50));
|
|
41
|
+
|
|
42
|
+
var composeListItemStyles = function composeListItemStyles() {
|
|
43
|
+
var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
44
|
+
var selected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
45
|
+
var hasShadow = active || selected;
|
|
46
|
+
return (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n ", ";\n ", ";\n ", ";\n "])), listItemBaseStyles, active && listItemActive, selected && listItemSelected, hasShadow && listItemBoxShadow);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.composeListItemStyles = composeListItemStyles;
|
|
50
|
+
var itemNameStyles = (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n overflow: hidden;\n"])));
|
|
51
|
+
exports.itemNameStyles = itemNameStyles;
|
|
52
|
+
var listItemNameStyles = (0, _react.css)(_templateObject7 || (_templateObject7 = (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));
|
|
53
|
+
exports.listItemNameStyles = listItemNameStyles;
|
|
54
|
+
var listItemContextStyles = (0, _react.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: ", ";\n line-height: ", "px;\n"])), (0, _tokens.token)('color.text', _colors.N300), relativeFontSizeToBase16((0, _theme.fontSizeSmall)()), (0, _theme.fontSize)());
|
|
55
|
+
exports.listItemContextStyles = listItemContextStyles;
|
|
56
|
+
var itemIconStyles = (0, _react.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n min-width: ", "px;\n margin-top: 3px;\n margin-right: 12px;\n"])), (0, _constants.gridSize)() * 2);
|
|
57
|
+
exports.itemIconStyles = itemIconStyles;
|
|
58
|
+
var imgStyles = (0, _react.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n max-width: ", "px;\n"])), (0, _constants.gridSize)() * 2);
|
|
59
|
+
exports.imgStyles = imgStyles;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.searchIconStyles = exports.recentListStyles = exports.listTitleStyles = exports.containerStyles = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _tokens = require("@atlaskit/tokens");
|
|
13
|
+
|
|
14
|
+
var _react = require("@emotion/react");
|
|
15
|
+
|
|
16
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
17
|
+
|
|
18
|
+
var _theme = require("@atlaskit/theme");
|
|
19
|
+
|
|
20
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
21
|
+
|
|
22
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
23
|
+
|
|
24
|
+
var LINK_PICKER_WIDTH_IN_PX = 342;
|
|
25
|
+
var recentListStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: ", "px;\n"])), LINK_PICKER_WIDTH_IN_PX);
|
|
26
|
+
exports.recentListStyles = recentListStyles;
|
|
27
|
+
var containerStyles = (0, _react.css)(_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);
|
|
28
|
+
exports.containerStyles = containerStyles;
|
|
29
|
+
var searchIconStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", "px;\n color: ", ";\n cursor: default;\n"])), (0, _constants.gridSize)() / 2, (0, _tokens.token)('color.icon', _colors.N500));
|
|
30
|
+
exports.searchIconStyles = searchIconStyles;
|
|
31
|
+
var listTitleStyles = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n text-transform: uppercase;\n margin-bottom: ", "px;\n"])), _theme.typography.h100(), (0, _constants.gridSize)() / 2);
|
|
32
|
+
exports.listTitleStyles = listTitleStyles;
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -13,7 +11,9 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
11
|
|
|
14
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
13
|
|
|
16
|
-
var _react =
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
var _react2 = require("@emotion/react");
|
|
17
17
|
|
|
18
18
|
var _form = require("@atlaskit/form");
|
|
19
19
|
|
|
@@ -23,16 +23,12 @@ var _textfield = _interopRequireDefault(require("@atlaskit/textfield"));
|
|
|
23
23
|
|
|
24
24
|
var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-clear"));
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _utils = require("../../utils");
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _styled = require("./styled");
|
|
29
29
|
|
|
30
30
|
var _excluded = ["name", "label", "autoFocus", "onSubmit", "onRedo", "onUndo", "onChange", "onKeyDown", "onClear", "clearLabel", "error"];
|
|
31
31
|
|
|
32
|
-
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); }
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
36
32
|
var PanelTextInput = function PanelTextInput(props) {
|
|
37
33
|
var name = props.name,
|
|
38
34
|
label = props.label,
|
|
@@ -87,29 +83,30 @@ var PanelTextInput = function PanelTextInput(props) {
|
|
|
87
83
|
onClear();
|
|
88
84
|
}
|
|
89
85
|
}, [onClear]);
|
|
90
|
-
|
|
91
|
-
var clearText = restProps.value !== '' && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
86
|
+
var clearText = restProps.value !== '' && (0, _react2.jsx)(_tooltip.default, {
|
|
92
87
|
content: clearLabel
|
|
93
|
-
},
|
|
88
|
+
}, (0, _react2.jsx)("button", {
|
|
89
|
+
css: _styled.clearTextButtonStyles,
|
|
94
90
|
onClick: handleClear,
|
|
95
91
|
"data-testid": "clear-text"
|
|
96
|
-
},
|
|
92
|
+
}, (0, _react2.jsx)(_selectClear.default, {
|
|
97
93
|
size: "medium",
|
|
98
94
|
label: clearLabel || ''
|
|
99
95
|
})));
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
return (0, _react2.jsx)("div", {
|
|
97
|
+
css: _styled.fieldStyles
|
|
98
|
+
}, (0, _react2.jsx)(_form.Field, {
|
|
102
99
|
label: label,
|
|
103
100
|
name: name
|
|
104
101
|
}, function (_ref) {
|
|
105
102
|
var fieldProps = _ref.fieldProps;
|
|
106
|
-
return
|
|
103
|
+
return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_textfield.default, (0, _extends2.default)({}, fieldProps, restProps, {
|
|
107
104
|
onKeyDown: handleKeydown,
|
|
108
105
|
onChange: handleChange,
|
|
109
106
|
ref: handleRef,
|
|
110
107
|
elemAfterInput: clearText,
|
|
111
108
|
isInvalid: !!error
|
|
112
|
-
})), error &&
|
|
109
|
+
})), error && (0, _react2.jsx)(_form.ErrorMessage, {
|
|
113
110
|
testId: "link-error"
|
|
114
111
|
}, error));
|
|
115
112
|
}));
|