@atlaskit/link-picker 0.9.0 → 1.0.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 +60 -39
- 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 +24 -13
- 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 +47 -26
- 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 +4 -1
- 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
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [`2e20b02bb2c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2e20b02bb2c) - Initial major version release
|
|
8
|
+
|
|
9
|
+
## 0.11.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`a2286b0746a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a2286b0746a) - Added support for link picker plugins to resolve using a promise
|
|
14
|
+
|
|
15
|
+
## 0.10.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- [`dbc82a03866`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dbc82a03866) - Removed styled-components as a peer dependency in favor of @emotion/react
|
|
20
|
+
|
|
3
21
|
## 0.9.0
|
|
4
22
|
|
|
5
23
|
### Minor 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
|
|
|
@@ -357,7 +357,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
357
357
|
key: "updateResults",
|
|
358
358
|
value: function () {
|
|
359
359
|
var _updateResults = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
360
|
-
var queryVersion, activePlugin, updates,
|
|
360
|
+
var queryVersion, activePlugin, updates, done, value, _result$done, result;
|
|
361
361
|
|
|
362
362
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
363
363
|
while (1) {
|
|
@@ -385,59 +385,78 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
385
385
|
|
|
386
386
|
case 7:
|
|
387
387
|
if (!(queryVersion === this.queryVersion)) {
|
|
388
|
-
_context2.next =
|
|
388
|
+
_context2.next = 29;
|
|
389
389
|
break;
|
|
390
390
|
}
|
|
391
391
|
|
|
392
|
-
|
|
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;
|
|
393
411
|
return updates.next();
|
|
394
412
|
|
|
395
|
-
case
|
|
396
|
-
|
|
397
|
-
done =
|
|
398
|
-
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;
|
|
399
417
|
|
|
418
|
+
case 22:
|
|
400
419
|
if (!(queryVersion !== this.queryVersion)) {
|
|
401
|
-
_context2.next =
|
|
420
|
+
_context2.next = 24;
|
|
402
421
|
break;
|
|
403
422
|
}
|
|
404
423
|
|
|
405
424
|
return _context2.abrupt("return");
|
|
406
425
|
|
|
407
|
-
case
|
|
426
|
+
case 24:
|
|
408
427
|
this.setState({
|
|
409
|
-
items: limit(value),
|
|
428
|
+
items: limit(value.data),
|
|
410
429
|
isLoading: !done
|
|
411
430
|
});
|
|
412
431
|
|
|
413
432
|
if (!done) {
|
|
414
|
-
_context2.next =
|
|
433
|
+
_context2.next = 27;
|
|
415
434
|
break;
|
|
416
435
|
}
|
|
417
436
|
|
|
418
437
|
return _context2.abrupt("return");
|
|
419
438
|
|
|
420
|
-
case
|
|
439
|
+
case 27:
|
|
421
440
|
_context2.next = 7;
|
|
422
441
|
break;
|
|
423
442
|
|
|
424
|
-
case
|
|
425
|
-
_context2.next =
|
|
443
|
+
case 29:
|
|
444
|
+
_context2.next = 34;
|
|
426
445
|
break;
|
|
427
446
|
|
|
428
|
-
case
|
|
429
|
-
_context2.prev =
|
|
447
|
+
case 31:
|
|
448
|
+
_context2.prev = 31;
|
|
430
449
|
_context2.t0 = _context2["catch"](6);
|
|
431
450
|
this.setState({
|
|
432
451
|
isLoading: false
|
|
433
452
|
});
|
|
434
453
|
|
|
435
|
-
case
|
|
454
|
+
case 34:
|
|
436
455
|
case "end":
|
|
437
456
|
return _context2.stop();
|
|
438
457
|
}
|
|
439
458
|
}
|
|
440
|
-
}, _callee2, this, [[6,
|
|
459
|
+
}, _callee2, this, [[6, 31]]);
|
|
441
460
|
}));
|
|
442
461
|
|
|
443
462
|
function updateResults() {
|
|
@@ -469,27 +488,29 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
469
488
|
// for details: https://a11y-internal.atlassian.net/browse/AK-740
|
|
470
489
|
|
|
471
490
|
var screenReaderText = _browser.browser.safari && this.getScreenReaderText();
|
|
472
|
-
var searchIcon = activePlugin && (0,
|
|
491
|
+
var searchIcon = activePlugin && (0, _react2.jsx)("span", {
|
|
492
|
+
css: _styled.searchIconStyles,
|
|
473
493
|
"data-testid": "link-picker-search-icon"
|
|
474
|
-
}, (0,
|
|
494
|
+
}, (0, _react2.jsx)(_search.default, {
|
|
475
495
|
size: "medium",
|
|
476
496
|
label: ''
|
|
477
497
|
}));
|
|
478
|
-
return (0,
|
|
498
|
+
return (0, _react2.jsx)("div", {
|
|
479
499
|
"data-testid": "link-picker",
|
|
480
500
|
className: "recent-list",
|
|
481
|
-
css:
|
|
482
|
-
}, (0,
|
|
483
|
-
|
|
484
|
-
|
|
501
|
+
css: _styled.recentListStyles
|
|
502
|
+
}, (0, _react2.jsx)("div", {
|
|
503
|
+
css: _styled.containerStyles,
|
|
504
|
+
ref: this.wrapperRef
|
|
505
|
+
}, screenReaderText && (0, _react2.jsx)(_announcer.default, {
|
|
485
506
|
ariaLive: "assertive",
|
|
486
507
|
text: screenReaderText,
|
|
487
508
|
ariaRelevant: "additions",
|
|
488
509
|
delay: 250
|
|
489
|
-
}), (0,
|
|
510
|
+
}), (0, _react2.jsx)(_visuallyHidden.default, null, (0, _react2.jsx)("span", {
|
|
490
511
|
"aria-hidden": "true",
|
|
491
512
|
id: screenReaderDescriptionId
|
|
492
|
-
}, formatMessage(_messages.messages.searchLinkAriaDescription))), (0,
|
|
513
|
+
}, formatMessage(_messages.messages.searchLinkAriaDescription))), (0, _react2.jsx)(_textInput.default, {
|
|
493
514
|
name: "link",
|
|
494
515
|
testId: "link-url",
|
|
495
516
|
role: "combobox",
|
|
@@ -510,7 +531,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
510
531
|
"aria-activedescendant": ariaActiveDescendant,
|
|
511
532
|
"aria-describedby": screenReaderDescriptionId,
|
|
512
533
|
"aria-expanded": true
|
|
513
|
-
}), (0,
|
|
534
|
+
}), (0, _react2.jsx)(_textInput.default, {
|
|
514
535
|
name: "link-text",
|
|
515
536
|
testId: "link-text",
|
|
516
537
|
autoComplete: "off",
|
|
@@ -523,17 +544,17 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
523
544
|
onChange: this.updateTextInput,
|
|
524
545
|
onClear: this.handleClearDisplayText,
|
|
525
546
|
clearLabel: formatMessage(_messages.messages.clearText)
|
|
526
|
-
}), !!items.length && (0,
|
|
527
|
-
css:
|
|
547
|
+
}), !!items.length && (0, _react2.jsx)("div", {
|
|
548
|
+
css: _styled.listTitleStyles,
|
|
528
549
|
id: "link-picker-list-title",
|
|
529
550
|
"data-testid": "link-picker-list-title"
|
|
530
|
-
}, 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", {
|
|
531
552
|
"aria-live": "polite",
|
|
532
553
|
"aria-atomic": "true",
|
|
533
554
|
id: "fabric.smartcard.linkpicker.suggested.results"
|
|
534
555
|
}, url && formatMessage(_messages.messages.searchLinkResults, {
|
|
535
556
|
count: items.length
|
|
536
|
-
}))), (0,
|
|
557
|
+
}))), (0, _react2.jsx)(_linkSearchList.default, {
|
|
537
558
|
ariaLabelledBy: "link-picker-list-title",
|
|
538
559
|
ariaControls: "fabric.smartcard.linkpicker.suggested.results",
|
|
539
560
|
id: linkSearchListId,
|
|
@@ -545,13 +566,13 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
545
566
|
onSelect: this.handleSelected,
|
|
546
567
|
onMouseEnter: this.handleMouseEnterResultItem,
|
|
547
568
|
onMouseLeave: this.handleMouseLeaveResultItem
|
|
548
|
-
}), (0,
|
|
569
|
+
}), (0, _react2.jsx)(_form.FormFooter, {
|
|
549
570
|
align: "end"
|
|
550
|
-
}, (0,
|
|
571
|
+
}, (0, _react2.jsx)(_button.ButtonGroup, null, (0, _react2.jsx)(_button.default, {
|
|
551
572
|
appearance: "default",
|
|
552
573
|
onClick: this.handleCancel,
|
|
553
574
|
testId: "link-picker-cancel-button"
|
|
554
|
-
}, formatMessage(_messages.messages.cancelButton)), (0,
|
|
575
|
+
}, formatMessage(_messages.messages.cancelButton)), (0, _react2.jsx)(_button.default, {
|
|
555
576
|
type: "submit",
|
|
556
577
|
appearance: "primary",
|
|
557
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, (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
|
}));
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.fieldStyles = exports.clearTextButtonStyles = 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 _templateObject, _templateObject2;
|
|
21
|
+
|
|
22
|
+
var clearTextButtonStyles = (0, _react.css)(_templateObject || (_templateObject = (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));
|
|
23
|
+
exports.clearTextButtonStyles = clearTextButtonStyles;
|
|
24
|
+
var fieldStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: ", "px;\n"])), (0, _constants.gridSize)() * 2);
|
|
25
|
+
exports.fieldStyles = fieldStyles;
|