@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.
Files changed (46) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/ui/link-picker.js +25 -22
  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 +12 -9
  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 +12 -9
  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 +2 -2
  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/package.json +6 -5
  42. package/dist/cjs/styles.js +0 -90
  43. package/dist/es2019/styles.js +0 -94
  44. package/dist/es2019/ui/LinkSearchListItem.js +0 -88
  45. package/dist/esm/styles.js +0 -46
  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 _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 () {
@@ -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, _core.jsx)(_styles.SearchIconWrapper, {
472
+ var searchIcon = activePlugin && (0, _react2.jsx)("span", {
473
+ css: _styled.searchIconStyles,
472
474
  "data-testid": "link-picker-search-icon"
473
- }, (0, _core.jsx)(_search.default, {
475
+ }, (0, _react2.jsx)(_search.default, {
474
476
  size: "medium",
475
477
  label: ''
476
478
  }));
477
- return (0, _core.jsx)("div", {
479
+ return (0, _react2.jsx)("div", {
478
480
  "data-testid": "link-picker",
479
481
  className: "recent-list",
480
- css: _styles.recentListStyles
481
- }, (0, _core.jsx)(_styles.Container, {
482
- innerRef: this.wrapperRef
483
- }, screenReaderText && (0, _core.jsx)(_announcer.default, {
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, _core.jsx)(_visuallyHidden.default, null, (0, _core.jsx)("span", {
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, _core.jsx)(_PanelTextInput.default, {
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, _core.jsx)(_PanelTextInput.default, {
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, _core.jsx)("div", {
526
- css: _styles.ListTitleStyles,
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, _core.jsx)(_visuallyHidden.default, null, (0, _core.jsx)("span", {
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, _core.jsx)(_LinkSearchList.default, {
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, _core.jsx)(_form.FormFooter, {
550
+ }), (0, _react2.jsx)(_form.FormFooter, {
548
551
  align: "end"
549
- }, (0, _core.jsx)(_button.ButtonGroup, null, (0, _core.jsx)(_button.default, {
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, _core.jsx)(_button.default, {
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 = 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
  }));
@@ -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.relativeFontSizeToBase16 = exports.isUndoEvent = exports.isRedoEvent = void 0;
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
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "sideEffects": false
5
5
  }
@@ -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/core';
5
+ import { jsx } from '@emotion/react';
6
6
  import { injectIntl } from 'react-intl-next';
7
7
  import { messages } from '../messages';
8
- import PanelTextInput from './PanelTextInput';
9
- import LinkSearchList from './LinkSearchList';
8
+ import PanelTextInput from './text-input';
9
+ import LinkSearchList from './link-search-list';
10
10
  import { normalizeUrl, isSafeUrl } from '../url';
11
- import { recentListStyles, Container, SearchIconWrapper, ListTitleStyles } from '../styles';
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
- return `${name}, ${container}, ${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) || ''}`;
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(SearchIconWrapper, {
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(Container, {
383
- innerRef: this.wrapperRef
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: ListTitleStyles,
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", {