@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.
Files changed (47) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/ui/link-picker.js +62 -40
  3. package/dist/cjs/ui/{LinkSearchList.js → link-search-list/index.js} +15 -25
  4. package/dist/cjs/ui/link-search-list/styled.js +21 -0
  5. package/dist/cjs/ui/{LinkSearchListItem.js → list-item/index.js} +26 -24
  6. package/dist/cjs/ui/list-item/styled.js +59 -0
  7. package/dist/cjs/ui/styled.js +32 -0
  8. package/dist/cjs/ui/{PanelTextInput.js → text-input/index.js} +14 -17
  9. package/dist/cjs/ui/text-input/styled.js +25 -0
  10. package/dist/cjs/utils.js +1 -14
  11. package/dist/cjs/version.json +1 -1
  12. package/dist/es2019/ui/link-picker.js +26 -14
  13. package/dist/es2019/ui/{LinkSearchList.js → link-search-list/index.js} +14 -19
  14. package/dist/es2019/ui/link-search-list/styled.js +13 -0
  15. package/dist/es2019/ui/list-item/index.js +88 -0
  16. package/dist/es2019/ui/list-item/styled.js +65 -0
  17. package/dist/es2019/ui/styled.js +28 -0
  18. package/dist/es2019/ui/{PanelTextInput.js → text-input/index.js} +15 -9
  19. package/dist/es2019/ui/text-input/styled.js +15 -0
  20. package/dist/es2019/utils.js +0 -11
  21. package/dist/es2019/version.json +1 -1
  22. package/dist/esm/ui/link-picker.js +49 -27
  23. package/dist/esm/ui/{LinkSearchList.js → link-search-list/index.js} +14 -13
  24. package/dist/esm/ui/link-search-list/styled.js +8 -0
  25. package/dist/esm/ui/{LinkSearchListItem.js → list-item/index.js} +25 -23
  26. package/dist/esm/ui/list-item/styled.js +37 -0
  27. package/dist/esm/ui/styled.js +16 -0
  28. package/dist/esm/ui/{PanelTextInput.js → text-input/index.js} +15 -9
  29. package/dist/esm/ui/text-input/styled.js +10 -0
  30. package/dist/esm/utils.js +0 -11
  31. package/dist/esm/version.json +1 -1
  32. package/dist/types/types.d.ts +6 -3
  33. package/dist/types/ui/{LinkSearchList.d.ts → link-search-list/index.d.ts} +4 -4
  34. package/dist/types/ui/link-search-list/styled.d.ts +3 -0
  35. package/dist/types/ui/{LinkSearchListItem.d.ts → list-item/index.d.ts} +1 -1
  36. package/dist/types/ui/list-item/styled.d.ts +7 -0
  37. package/dist/types/ui/styled.d.ts +4 -0
  38. package/dist/types/ui/{PanelTextInput.d.ts → text-input/index.d.ts} +2 -2
  39. package/dist/types/ui/text-input/styled.d.ts +2 -0
  40. package/dist/types/utils.d.ts +0 -1
  41. package/example-helpers/mock-data.ts +4 -0
  42. package/package.json +6 -5
  43. package/dist/cjs/styles.js +0 -90
  44. package/dist/es2019/styles.js +0 -93
  45. package/dist/es2019/ui/LinkSearchListItem.js +0 -88
  46. package/dist/esm/styles.js +0 -46
  47. 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 _core = require("@emotion/core");
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 _PanelTextInput = _interopRequireDefault(require("./PanelTextInput"));
38
+ var _textInput = _interopRequireDefault(require("./text-input"));
39
39
 
40
- var _LinkSearchList = _interopRequireDefault(require("./LinkSearchList"));
40
+ var _linkSearchList = _interopRequireDefault(require("./link-search-list"));
41
41
 
42
42
  var _url = require("../url");
43
43
 
44
- var _styles = require("../styles");
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
- return "".concat(name, ", ").concat(container, ", ").concat(date === null || date === void 0 ? void 0 : date.pageAction, " ").concat(date === null || date === void 0 ? void 0 : date.dateString, " ").concat((date === null || date === void 0 ? void 0 : date.timeSince) || '');
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, _yield$updates$next, done, value;
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 = 20;
388
+ _context2.next = 29;
388
389
  break;
389
390
  }
390
391
 
391
- _context2.next = 10;
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 10:
395
- _yield$updates$next = _context2.sent;
396
- done = _yield$updates$next.done;
397
- value = _yield$updates$next.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 = 15;
420
+ _context2.next = 24;
401
421
  break;
402
422
  }
403
423
 
404
424
  return _context2.abrupt("return");
405
425
 
406
- case 15:
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 = 18;
433
+ _context2.next = 27;
414
434
  break;
415
435
  }
416
436
 
417
437
  return _context2.abrupt("return");
418
438
 
419
- case 18:
439
+ case 27:
420
440
  _context2.next = 7;
421
441
  break;
422
442
 
423
- case 20:
424
- _context2.next = 25;
443
+ case 29:
444
+ _context2.next = 34;
425
445
  break;
426
446
 
427
- case 22:
428
- _context2.prev = 22;
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 25:
454
+ case 34:
435
455
  case "end":
436
456
  return _context2.stop();
437
457
  }
438
458
  }
439
- }, _callee2, this, [[6, 22]]);
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, _core.jsx)(_styles.SearchIconWrapper, {
491
+ var searchIcon = activePlugin && (0, _react2.jsx)("span", {
492
+ css: _styled.searchIconStyles,
472
493
  "data-testid": "link-picker-search-icon"
473
- }, (0, _core.jsx)(_search.default, {
494
+ }, (0, _react2.jsx)(_search.default, {
474
495
  size: "medium",
475
496
  label: ''
476
497
  }));
477
- return (0, _core.jsx)("div", {
498
+ return (0, _react2.jsx)("div", {
478
499
  "data-testid": "link-picker",
479
500
  className: "recent-list",
480
- css: _styles.recentListStyles
481
- }, (0, _core.jsx)(_styles.Container, {
482
- innerRef: this.wrapperRef
483
- }, screenReaderText && (0, _core.jsx)(_announcer.default, {
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, _core.jsx)(_visuallyHidden.default, null, (0, _core.jsx)("span", {
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, _core.jsx)(_PanelTextInput.default, {
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, _core.jsx)(_PanelTextInput.default, {
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, _core.jsx)("div", {
526
- css: _styles.ListTitleStyles,
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, _core.jsx)(_visuallyHidden.default, null, (0, _core.jsx)("span", {
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, _core.jsx)(_LinkSearchList.default, {
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, _core.jsx)(_form.FormFooter, {
569
+ }), (0, _react2.jsx)(_form.FormFooter, {
548
570
  align: "end"
549
- }, (0, _core.jsx)(_button.ButtonGroup, null, (0, _core.jsx)(_button.default, {
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, _core.jsx)(_button.default, {
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 = exports.List = void 0;
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
20
+ var _react = require("react");
23
21
 
24
- var _react = _interopRequireWildcard(require("react"));
22
+ var _react2 = require("@emotion/react");
25
23
 
26
24
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
27
25
 
28
- var _styledComponents = _interopRequireDefault(require("styled-components"));
29
-
30
- var _LinkSearchListItem = _interopRequireDefault(require("./LinkSearchListItem"));
31
-
32
- var _templateObject, _templateObject2, _templateObject3;
33
-
34
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
+ var _listItem = _interopRequireDefault(require("../list-item"));
35
27
 
36
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 = /*#__PURE__*/_react.default.createElement(List, {
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 /*#__PURE__*/_react.default.createElement(_LinkSearchListItem.default, {
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 = /*#__PURE__*/_react.default.createElement(SpinnerContainer, null, /*#__PURE__*/_react.default.createElement(_spinner.default, {
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 /*#__PURE__*/_react.default.createElement(ListContainer, null, itemsContent, loadingContent);
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 _core = require("@emotion/core");
10
+ var _react2 = require("@emotion/react");
11
11
 
12
12
  var _reactIntlNext = require("react-intl-next");
13
13
 
14
- var _transformTimeStamp = require("../transformTimeStamp");
14
+ var _transformTimeStamp = require("../../transformTimeStamp");
15
15
 
16
- var _styles = require("../styles");
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
- return (0, _core.jsx)(_styles.ListItemWrapper, {
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, _core.jsx)(ListItemIcon, {
53
+ }, (0, _react2.jsx)(ListItemIcon, {
53
54
  item: item,
54
55
  intl: intl
55
- }), (0, _core.jsx)(_styles.ItemNameWrapper, null, (0, _core.jsx)(_styles.ListItemName, null, item.name), (0, _core.jsx)(_styles.ListItemContext, null, item.container, (0, _core.jsx)(ItemTimeStamp, {
56
- date: (0, _transformTimeStamp.transformTimeStamp)(intl, item.lastViewedDate, item.lastUpdatedDate)
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 ItemTimeStamp = function ItemTimeStamp(props) {
65
- var date = props.date;
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, _core.jsx)(_styles.ItemIconWrapper, null, (0, _core.jsx)(Glyph, {
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, _core.jsx)(_styles.ItemIconWrapper, null, (0, _core.jsx)("img", {
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: _styles.ImgStyles
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 = _interopRequireWildcard(require("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 _styles = require("../styles");
26
+ var _utils = require("../../utils");
27
27
 
28
- var _utils = require("../utils");
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
- }, /*#__PURE__*/_react.default.createElement(_styles.ClearText, {
88
+ }, (0, _react2.jsx)("button", {
89
+ css: _styled.clearTextButtonStyles,
94
90
  onClick: handleClear,
95
91
  "data-testid": "clear-text"
96
- }, /*#__PURE__*/_react.default.createElement(_selectClear.default, {
92
+ }, (0, _react2.jsx)(_selectClear.default, {
97
93
  size: "medium",
98
94
  label: clearLabel || ''
99
95
  })));
100
-
101
- return /*#__PURE__*/_react.default.createElement(_styles.FieldWrapper, null, /*#__PURE__*/_react.default.createElement(_form.Field, {
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 /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_textfield.default, (0, _extends2.default)({}, fieldProps, restProps, {
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 && /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, {
109
+ })), error && (0, _react2.jsx)(_form.ErrorMessage, {
113
110
  testId: "link-error"
114
111
  }, error));
115
112
  }));