@atlaskit/link-picker 0.8.0 → 0.10.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 +25 -22
- 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 +12 -9
- 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 +12 -9
- 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 +2 -2
- 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/package.json +6 -5
- package/dist/cjs/styles.js +0 -90
- package/dist/es2019/styles.js +0 -94
- 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.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`dbc82a03866`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dbc82a03866) - Removed styled-components as a peer dependency in favor of @emotion/react
|
|
8
|
+
|
|
9
|
+
## 0.9.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`c1c010c8ada`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c1c010c8ada) - Remove required container param
|
|
14
|
+
|
|
15
|
+
## 0.8.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`eef8c2da75b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/eef8c2da75b) - [ux] Remove link-picker background color as it conflicts with floatingToobar borders
|
|
20
|
+
|
|
3
21
|
## 0.8.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
|
|
|
@@ -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 () {
|
|
@@ -468,27 +469,29 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
468
469
|
// for details: https://a11y-internal.atlassian.net/browse/AK-740
|
|
469
470
|
|
|
470
471
|
var screenReaderText = _browser.browser.safari && this.getScreenReaderText();
|
|
471
|
-
var searchIcon = activePlugin && (0,
|
|
472
|
+
var searchIcon = activePlugin && (0, _react2.jsx)("span", {
|
|
473
|
+
css: _styled.searchIconStyles,
|
|
472
474
|
"data-testid": "link-picker-search-icon"
|
|
473
|
-
}, (0,
|
|
475
|
+
}, (0, _react2.jsx)(_search.default, {
|
|
474
476
|
size: "medium",
|
|
475
477
|
label: ''
|
|
476
478
|
}));
|
|
477
|
-
return (0,
|
|
479
|
+
return (0, _react2.jsx)("div", {
|
|
478
480
|
"data-testid": "link-picker",
|
|
479
481
|
className: "recent-list",
|
|
480
|
-
css:
|
|
481
|
-
}, (0,
|
|
482
|
-
|
|
483
|
-
|
|
482
|
+
css: _styled.recentListStyles
|
|
483
|
+
}, (0, _react2.jsx)("div", {
|
|
484
|
+
css: _styled.containerStyles,
|
|
485
|
+
ref: this.wrapperRef
|
|
486
|
+
}, screenReaderText && (0, _react2.jsx)(_announcer.default, {
|
|
484
487
|
ariaLive: "assertive",
|
|
485
488
|
text: screenReaderText,
|
|
486
489
|
ariaRelevant: "additions",
|
|
487
490
|
delay: 250
|
|
488
|
-
}), (0,
|
|
491
|
+
}), (0, _react2.jsx)(_visuallyHidden.default, null, (0, _react2.jsx)("span", {
|
|
489
492
|
"aria-hidden": "true",
|
|
490
493
|
id: screenReaderDescriptionId
|
|
491
|
-
}, formatMessage(_messages.messages.searchLinkAriaDescription))), (0,
|
|
494
|
+
}, formatMessage(_messages.messages.searchLinkAriaDescription))), (0, _react2.jsx)(_textInput.default, {
|
|
492
495
|
name: "link",
|
|
493
496
|
testId: "link-url",
|
|
494
497
|
role: "combobox",
|
|
@@ -509,7 +512,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
509
512
|
"aria-activedescendant": ariaActiveDescendant,
|
|
510
513
|
"aria-describedby": screenReaderDescriptionId,
|
|
511
514
|
"aria-expanded": true
|
|
512
|
-
}), (0,
|
|
515
|
+
}), (0, _react2.jsx)(_textInput.default, {
|
|
513
516
|
name: "link-text",
|
|
514
517
|
testId: "link-text",
|
|
515
518
|
autoComplete: "off",
|
|
@@ -522,17 +525,17 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
522
525
|
onChange: this.updateTextInput,
|
|
523
526
|
onClear: this.handleClearDisplayText,
|
|
524
527
|
clearLabel: formatMessage(_messages.messages.clearText)
|
|
525
|
-
}), !!items.length && (0,
|
|
526
|
-
css:
|
|
528
|
+
}), !!items.length && (0, _react2.jsx)("div", {
|
|
529
|
+
css: _styled.listTitleStyles,
|
|
527
530
|
id: "link-picker-list-title",
|
|
528
531
|
"data-testid": "link-picker-list-title"
|
|
529
|
-
}, formatMessage(this.state.url ? _messages.messages.titleResults : _messages.messages.titleRecentlyViewed)), (0,
|
|
532
|
+
}, formatMessage(this.state.url ? _messages.messages.titleResults : _messages.messages.titleRecentlyViewed)), (0, _react2.jsx)(_visuallyHidden.default, null, (0, _react2.jsx)("span", {
|
|
530
533
|
"aria-live": "polite",
|
|
531
534
|
"aria-atomic": "true",
|
|
532
535
|
id: "fabric.smartcard.linkpicker.suggested.results"
|
|
533
536
|
}, url && formatMessage(_messages.messages.searchLinkResults, {
|
|
534
537
|
count: items.length
|
|
535
|
-
}))), (0,
|
|
538
|
+
}))), (0, _react2.jsx)(_linkSearchList.default, {
|
|
536
539
|
ariaLabelledBy: "link-picker-list-title",
|
|
537
540
|
ariaControls: "fabric.smartcard.linkpicker.suggested.results",
|
|
538
541
|
id: linkSearchListId,
|
|
@@ -544,13 +547,13 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
544
547
|
onSelect: this.handleSelected,
|
|
545
548
|
onMouseEnter: this.handleMouseEnterResultItem,
|
|
546
549
|
onMouseLeave: this.handleMouseLeaveResultItem
|
|
547
|
-
}), (0,
|
|
550
|
+
}), (0, _react2.jsx)(_form.FormFooter, {
|
|
548
551
|
align: "end"
|
|
549
|
-
}, (0,
|
|
552
|
+
}, (0, _react2.jsx)(_button.ButtonGroup, null, (0, _react2.jsx)(_button.default, {
|
|
550
553
|
appearance: "default",
|
|
551
554
|
onClick: this.handleCancel,
|
|
552
555
|
testId: "link-picker-cancel-button"
|
|
553
|
-
}, formatMessage(_messages.messages.cancelButton)), (0,
|
|
556
|
+
}, formatMessage(_messages.messages.cancelButton)), (0, _react2.jsx)(_button.default, {
|
|
554
557
|
type: "submit",
|
|
555
558
|
appearance: "primary",
|
|
556
559
|
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
|
}));
|
|
@@ -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;
|
package/dist/cjs/utils.js
CHANGED
|
@@ -3,23 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.isUndoEvent = exports.isRedoEvent = void 0;
|
|
7
7
|
|
|
8
8
|
var _browser = require("./browser");
|
|
9
9
|
|
|
10
|
-
var relativeFontSizeToBase16 = function relativeFontSizeToBase16(px) {
|
|
11
|
-
if (typeof px === 'string') {
|
|
12
|
-
px = parseInt(px);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (isNaN(px)) {
|
|
16
|
-
throw new Error("Invalid font size: '".concat(px, "'"));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return "".concat(px / 16, "rem");
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
exports.relativeFontSizeToBase16 = relativeFontSizeToBase16;
|
|
23
10
|
var KeyZCode = 90;
|
|
24
11
|
var KeyYCode = 89;
|
|
25
12
|
|
package/dist/cjs/version.json
CHANGED
|
@@ -2,13 +2,13 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
|
|
3
3
|
/** @jsx jsx */
|
|
4
4
|
import React, { PureComponent } from 'react';
|
|
5
|
-
import { jsx } from '@emotion/
|
|
5
|
+
import { jsx } from '@emotion/react';
|
|
6
6
|
import { injectIntl } from 'react-intl-next';
|
|
7
7
|
import { messages } from '../messages';
|
|
8
|
-
import PanelTextInput from './
|
|
9
|
-
import LinkSearchList from './
|
|
8
|
+
import PanelTextInput from './text-input';
|
|
9
|
+
import LinkSearchList from './link-search-list';
|
|
10
10
|
import { normalizeUrl, isSafeUrl } from '../url';
|
|
11
|
-
import { recentListStyles,
|
|
11
|
+
import { recentListStyles, containerStyles, searchIconStyles, listTitleStyles } from './styled';
|
|
12
12
|
import { browser } from '../browser';
|
|
13
13
|
import { transformTimeStamp } from '../transformTimeStamp';
|
|
14
14
|
import Announcer from './announcer';
|
|
@@ -84,7 +84,8 @@ class LinkPicker extends PureComponent {
|
|
|
84
84
|
lastViewedDate
|
|
85
85
|
} = items[selectedIndex];
|
|
86
86
|
const date = transformTimeStamp(intl, lastViewedDate, lastUpdatedDate);
|
|
87
|
-
|
|
87
|
+
const 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(' ');
|
|
88
|
+
return [name, container, formattedDate].filter(Boolean).join(', ');
|
|
88
89
|
}
|
|
89
90
|
});
|
|
90
91
|
|
|
@@ -369,7 +370,8 @@ class LinkPicker extends PureComponent {
|
|
|
369
370
|
// for details: https://a11y-internal.atlassian.net/browse/AK-740
|
|
370
371
|
|
|
371
372
|
const screenReaderText = browser.safari && this.getScreenReaderText();
|
|
372
|
-
const searchIcon = activePlugin && jsx(
|
|
373
|
+
const searchIcon = activePlugin && jsx("span", {
|
|
374
|
+
css: searchIconStyles,
|
|
373
375
|
"data-testid": "link-picker-search-icon"
|
|
374
376
|
}, jsx(EditorSearchIcon, {
|
|
375
377
|
size: "medium",
|
|
@@ -379,8 +381,9 @@ class LinkPicker extends PureComponent {
|
|
|
379
381
|
"data-testid": "link-picker",
|
|
380
382
|
className: "recent-list",
|
|
381
383
|
css: recentListStyles
|
|
382
|
-
}, jsx(
|
|
383
|
-
|
|
384
|
+
}, jsx("div", {
|
|
385
|
+
css: containerStyles,
|
|
386
|
+
ref: this.wrapperRef
|
|
384
387
|
}, screenReaderText && jsx(Announcer, {
|
|
385
388
|
ariaLive: "assertive",
|
|
386
389
|
text: screenReaderText,
|
|
@@ -424,7 +427,7 @@ class LinkPicker extends PureComponent {
|
|
|
424
427
|
onClear: this.handleClearDisplayText,
|
|
425
428
|
clearLabel: formatMessage(messages.clearText)
|
|
426
429
|
}), !!items.length && jsx("div", {
|
|
427
|
-
css:
|
|
430
|
+
css: listTitleStyles,
|
|
428
431
|
id: "link-picker-list-title",
|
|
429
432
|
"data-testid": "link-picker-list-title"
|
|
430
433
|
}, formatMessage(this.state.url ? messages.titleResults : messages.titleRecentlyViewed)), jsx(VisuallyHidden, null, jsx("span", {
|