@atlaskit/link-picker 1.1.3 → 1.2.1

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 (100) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/index.js +2 -2
  3. package/dist/cjs/ui/error-boundary-fallback/generic-error-svg/index.js +67 -0
  4. package/dist/cjs/ui/error-boundary-fallback/generic-error-svg/styled.js +20 -0
  5. package/dist/cjs/ui/error-boundary-fallback/index.js +50 -0
  6. package/dist/cjs/ui/index.js +38 -0
  7. package/dist/cjs/ui/{announcer.js → link-picker/announcer.js} +0 -0
  8. package/dist/cjs/{browser.js → ui/link-picker/browser.js} +0 -0
  9. package/dist/cjs/ui/{link-picker.js → link-picker/index.js} +22 -27
  10. package/dist/cjs/ui/{link-search-list → link-picker/link-search-list}/index.js +0 -0
  11. package/dist/cjs/ui/{link-search-list → link-picker/link-search-list}/styled.js +0 -0
  12. package/dist/cjs/ui/{link-search-no-results → link-picker/link-search-no-results}/index.js +0 -0
  13. package/dist/cjs/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/index.js +0 -0
  14. package/dist/cjs/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/styled.js +0 -0
  15. package/dist/cjs/ui/{list-item → link-picker/list-item}/index.js +1 -1
  16. package/dist/cjs/ui/{list-item → link-picker/list-item}/styled.js +0 -0
  17. package/dist/cjs/{messages.js → ui/link-picker/messages.js} +5 -0
  18. package/dist/cjs/ui/link-picker/styled.js +31 -0
  19. package/dist/cjs/ui/{text-input → link-picker/text-input}/index.js +1 -1
  20. package/dist/cjs/ui/{text-input → link-picker/text-input}/styled.js +0 -0
  21. package/dist/cjs/{transformTimeStamp.js → ui/link-picker/transformTimeStamp.js} +0 -0
  22. package/dist/cjs/{url.js → ui/link-picker/url.js} +0 -0
  23. package/dist/cjs/{utils.js → ui/link-picker/utils.js} +0 -0
  24. package/dist/cjs/{types.js → ui/types.js} +0 -0
  25. package/dist/cjs/version.json +1 -1
  26. package/dist/es2019/index.js +1 -1
  27. package/dist/es2019/ui/error-boundary-fallback/generic-error-svg/index.js +56 -0
  28. package/dist/es2019/ui/error-boundary-fallback/generic-error-svg/styled.js +8 -0
  29. package/dist/es2019/ui/error-boundary-fallback/index.js +31 -0
  30. package/dist/es2019/ui/index.js +17 -0
  31. package/dist/es2019/ui/{announcer.js → link-picker/announcer.js} +0 -0
  32. package/dist/es2019/{browser.js → ui/link-picker/browser.js} +0 -0
  33. package/dist/es2019/ui/{link-picker.js → link-picker/index.js} +24 -29
  34. package/dist/es2019/ui/{link-search-list → link-picker/link-search-list}/index.js +0 -0
  35. package/dist/es2019/ui/{link-search-list → link-picker/link-search-list}/styled.js +0 -0
  36. package/dist/es2019/ui/{link-search-no-results → link-picker/link-search-no-results}/index.js +0 -0
  37. package/dist/es2019/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/index.js +0 -0
  38. package/dist/es2019/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/styled.js +0 -0
  39. package/dist/es2019/ui/{list-item → link-picker/list-item}/index.js +1 -1
  40. package/dist/es2019/ui/{list-item → link-picker/list-item}/styled.js +0 -0
  41. package/dist/es2019/{messages.js → ui/link-picker/messages.js} +5 -0
  42. package/dist/es2019/ui/{styled.js → link-picker/styled.js} +4 -6
  43. package/dist/es2019/ui/{text-input → link-picker/text-input}/index.js +1 -1
  44. package/dist/es2019/ui/{text-input → link-picker/text-input}/styled.js +0 -0
  45. package/dist/es2019/{transformTimeStamp.js → ui/link-picker/transformTimeStamp.js} +0 -0
  46. package/dist/es2019/{url.js → ui/link-picker/url.js} +0 -0
  47. package/dist/es2019/{utils.js → ui/link-picker/utils.js} +0 -0
  48. package/dist/es2019/{types.js → ui/types.js} +0 -0
  49. package/dist/es2019/version.json +1 -1
  50. package/dist/esm/index.js +1 -1
  51. package/dist/esm/ui/error-boundary-fallback/generic-error-svg/index.js +56 -0
  52. package/dist/esm/ui/error-boundary-fallback/generic-error-svg/styled.js +8 -0
  53. package/dist/esm/ui/error-boundary-fallback/index.js +33 -0
  54. package/dist/esm/ui/index.js +19 -0
  55. package/dist/esm/ui/{announcer.js → link-picker/announcer.js} +0 -0
  56. package/dist/esm/{browser.js → ui/link-picker/browser.js} +0 -0
  57. package/dist/esm/ui/{link-picker.js → link-picker/index.js} +23 -29
  58. package/dist/esm/ui/{link-search-list → link-picker/link-search-list}/index.js +0 -0
  59. package/dist/esm/ui/{link-search-list → link-picker/link-search-list}/styled.js +0 -0
  60. package/dist/esm/ui/{link-search-no-results → link-picker/link-search-no-results}/index.js +0 -0
  61. package/dist/esm/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/index.js +0 -0
  62. package/dist/esm/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/styled.js +0 -0
  63. package/dist/esm/ui/{list-item → link-picker/list-item}/index.js +1 -1
  64. package/dist/esm/ui/{list-item → link-picker/list-item}/styled.js +0 -0
  65. package/dist/esm/{messages.js → ui/link-picker/messages.js} +5 -0
  66. package/dist/esm/ui/link-picker/styled.js +16 -0
  67. package/dist/esm/ui/{text-input → link-picker/text-input}/index.js +1 -1
  68. package/dist/esm/ui/{text-input → link-picker/text-input}/styled.js +0 -0
  69. package/dist/esm/{transformTimeStamp.js → ui/link-picker/transformTimeStamp.js} +0 -0
  70. package/dist/esm/{url.js → ui/link-picker/url.js} +0 -0
  71. package/dist/esm/{utils.js → ui/link-picker/utils.js} +0 -0
  72. package/dist/esm/{types.js → ui/types.js} +0 -0
  73. package/dist/esm/version.json +1 -1
  74. package/dist/types/index.d.ts +2 -2
  75. package/dist/types/ui/error-boundary-fallback/generic-error-svg/index.d.ts +4 -0
  76. package/dist/types/ui/error-boundary-fallback/generic-error-svg/styled.d.ts +1 -0
  77. package/dist/types/ui/error-boundary-fallback/index.d.ts +3 -0
  78. package/dist/types/ui/index.d.ts +3 -0
  79. package/dist/types/ui/{announcer.d.ts → link-picker/announcer.d.ts} +0 -0
  80. package/dist/types/{browser.d.ts → ui/link-picker/browser.d.ts} +0 -0
  81. package/dist/types/ui/{link-picker.d.ts → link-picker/index.d.ts} +4 -4
  82. package/dist/types/ui/{link-search-list → link-picker/link-search-list}/index.d.ts +0 -0
  83. package/dist/types/ui/{link-search-list → link-picker/link-search-list}/styled.d.ts +0 -0
  84. package/dist/types/ui/{link-search-no-results → link-picker/link-search-no-results}/index.d.ts +0 -0
  85. package/dist/types/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/index.d.ts +0 -0
  86. package/dist/types/ui/{link-search-no-results → link-picker/link-search-no-results}/no-results-svg/styled.d.ts +0 -0
  87. package/dist/types/ui/{list-item → link-picker/list-item}/index.d.ts +0 -0
  88. package/dist/types/ui/{list-item → link-picker/list-item}/styled.d.ts +0 -0
  89. package/dist/types/{messages.d.ts → ui/link-picker/messages.d.ts} +5 -0
  90. package/dist/types/ui/{styled.d.ts → link-picker/styled.d.ts} +1 -2
  91. package/dist/types/ui/{text-input → link-picker/text-input}/index.d.ts +0 -0
  92. package/dist/types/ui/{text-input → link-picker/text-input}/styled.d.ts +0 -0
  93. package/dist/types/{transformTimeStamp.d.ts → ui/link-picker/transformTimeStamp.d.ts} +1 -1
  94. package/dist/types/{url.d.ts → ui/link-picker/url.d.ts} +0 -0
  95. package/dist/types/{utils.d.ts → ui/link-picker/utils.d.ts} +0 -0
  96. package/dist/types/{types.d.ts → ui/types.d.ts} +0 -0
  97. package/package.json +3 -2
  98. package/report.api.md +56 -21
  99. package/dist/cjs/ui/styled.js +0 -32
  100. package/dist/esm/ui/styled.js +0 -16
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/link-picker
2
2
 
3
+ ## 1.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`d17b35d4c20`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d17b35d4c20) - Display validation message when submitting empty input
8
+
9
+ ## 1.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`21b0c90e0d4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/21b0c90e0d4) - Adds error boundary around the link picker to track errors and display an error message.
14
+
15
+ ## 1.1.4
16
+
17
+ ### Patch Changes
18
+
19
+ - [`97cfed0aa0d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/97cfed0aa0d) - Add tests around how the link picker handles editing links
20
+
3
21
  ## 1.1.3
4
22
 
5
23
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "LinkPicker", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _linkPicker.LinkPickerWithIntl;
9
+ return _ui.ComposedLinkPicker;
10
10
  }
11
11
  });
12
12
 
13
- var _linkPicker = require("./ui/link-picker");
13
+ var _ui = require("./ui");
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = require("@emotion/react");
13
+
14
+ var _styled = require("./styled");
15
+
16
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
17
+
18
+ /** @jsx jsx */
19
+ var GenericErrorSVG = function GenericErrorSVG(props) {
20
+ var id = 'link-picker-ui-generic-error-svg';
21
+ return (0, _react.jsx)("svg", (0, _extends2.default)({
22
+ height: "90",
23
+ viewBox: "0 0 164 212",
24
+ fill: "none",
25
+ xmlns: "http://www.w3.org/2000/svg",
26
+ css: _styled.genericErrorStyles
27
+ }, props), (0, _react.jsx)("path", {
28
+ d: "m95.43 74.16 66.44 115.08c5.84 10.12-1.46 22.76-13.14 22.76H15.85c-11.68 0-18.98-12.65-13.14-22.76L69.15 74.16c5.84-10.12 20.44-10.12 26.28 0Zm-7.56 83.55 2.88-44.35c.34-5.29-3.86-9.78-9.16-9.78-5.31 0-9.51 4.48-9.16 9.78l2.88 44.35a6.3 6.3 0 0 0 6.28 5.89c3.31 0 6.06-2.58 6.28-5.89Zm-15.84 23.54c0 5.66 4.76 10.1 10.39 9.58 4.85-.45 8.73-4.5 8.83-9.37.11-5.45-4.31-9.94-9.73-9.94-5.23-.01-9.49 4.37-9.49 9.73Z",
29
+ fill: "url(#".concat(id, ")")
30
+ }), (0, _react.jsx)("path", {
31
+ opacity: ".6",
32
+ d: "M93.35 27.17 85.94.45c-.17-.62-1.07-.58-1.19.05l-4.66 25.1-5.8-1.08a.612.612 0 0 0-.7.76L81 52c.17.62 1.07.58 1.19-.05l4.66-25.1 5.8 1.08c.45.08.82-.33.7-.76ZM66.77 41.81 55.9 33.26c-.22-.18-.53.07-.41.33l5.53 11.43-2.66 1.29c-.18.09-.2.33-.05.45l10.87 8.55c.22.18.53-.07.41-.33l-5.53-11.43 2.66-1.29c.17-.08.2-.33.05-.45Z",
33
+ fill: "#C1C7D0"
34
+ }), (0, _react.jsx)("path", {
35
+ opacity: ".6",
36
+ d: "M102.78 56.75a.993.993 0 0 1-.92-1.38c-.24-.77-2.29-2.85-3.54-4.11-2.97-3.01-4.93-5-3.84-6.49 1.09-1.48 3.58-.22 7.35 1.7 1.32.67 3.35 1.7 4.45 2.03-.64-.95-2.24-2.58-3.28-3.63-2.97-3.01-4.93-5-3.84-6.49 1.08-1.48 3.58-.22 7.34 1.7 1.32.67 3.34 1.7 4.45 2.03-.64-.95-2.24-2.57-3.28-3.62-2.97-3.01-4.93-5-3.84-6.49 1.08-1.48 3.57-.22 7.34 1.7 1.58.8 4.18 2.13 4.98 2.13a1.005 1.005 0 0 1 1.46 1.36c-1.09 1.48-3.57.22-7.34-1.7-1.32-.67-3.34-1.7-4.44-2.03.64.95 2.24 2.57 3.28 3.62 2.97 3.01 4.93 5 3.84 6.49-1.08 1.48-3.57.22-7.34-1.7-1.32-.67-3.35-1.7-4.45-2.03.64.95 2.24 2.57 3.28 3.63 2.97 3.01 4.93 5 3.84 6.49-1.09 1.48-3.58.22-7.35-1.7-1.32-.67-3.35-1.71-4.45-2.03.64.95 2.24 2.58 3.28 3.63 2.97 3.01 4.93 5 3.84 6.49-.21.26-.51.4-.82.4Zm5.56 14.32c-.35 0-.69-.19-.88-.52-1.04-1.88-2.22-4.02-.91-5.21 1.31-1.2 3.34.18 5.49 1.63.87.59 2.26 1.53 2.93 1.71-.12-.68-.93-2.15-1.45-3.07-1.26-2.27-2.45-4.41-1.14-5.61 1.31-1.2 3.34.18 5.49 1.63.96.65 2.54 1.72 3.1 1.74a1 1 0 0 1 1.27 1.54c-1.31 1.2-3.34-.17-5.49-1.63-.87-.59-2.26-1.53-2.93-1.71.12.68.93 2.15 1.45 3.07 1.26 2.27 2.45 4.41 1.14 5.61-1.31 1.2-3.34-.18-5.49-1.63-.87-.59-2.26-1.53-2.93-1.71.12.68.93 2.14 1.22 2.67.27.48.09 1.09-.39 1.36-.15.09-.32.13-.48.13Zm-54.32-2.89c-.22 0-.44-.04-.67-.14-1.64-.69-1.24-3.11-.81-5.67.17-1.04.45-2.7.33-3.38-.57.39-1.56 1.75-2.18 2.6-1.53 2.09-2.99 4.07-4.62 3.38a.991.991 0 0 1-.53-1.31c.2-.48.73-.72 1.21-.57.52-.21 1.65-1.75 2.34-2.68 1.53-2.09 2.98-4.08 4.62-3.38 1.64.69 1.24 3.11.81 5.67-.17 1.04-.45 2.7-.33 3.38.57-.39 1.56-1.75 2.18-2.6 1.53-2.09 2.98-4.08 4.62-3.38 1.63.69 1.24 3.09.89 5.21-.09.54-.6.91-1.15.83-.54-.09-.92-.6-.83-1.15.1-.59.37-2.24.26-2.92-.57.39-1.56 1.75-2.18 2.6-1.33 1.79-2.59 3.51-3.96 3.51Z",
37
+ fill: "#B3BAC5"
38
+ }), (0, _react.jsx)("defs", null, (0, _react.jsx)("linearGradient", {
39
+ id: id,
40
+ x1: "26.169",
41
+ y1: "228.621",
42
+ x2: "138.408",
43
+ y2: "116.382",
44
+ gradientUnits: "userSpaceOnUse"
45
+ }, (0, _react.jsx)("stop", {
46
+ stopColor: "#C1C7D0"
47
+ }), (0, _react.jsx)("stop", {
48
+ offset: ".297",
49
+ stopColor: "#C6CBD4",
50
+ stopOpacity: ".881"
51
+ }), (0, _react.jsx)("stop", {
52
+ offset: ".63",
53
+ stopColor: "#D3D7DE",
54
+ stopOpacity: ".748"
55
+ }), (0, _react.jsx)("stop", {
56
+ offset: ".98",
57
+ stopColor: "#E9EBEF",
58
+ stopOpacity: ".608"
59
+ }), (0, _react.jsx)("stop", {
60
+ offset: "1",
61
+ stopColor: "#EBECF0",
62
+ stopOpacity: ".6"
63
+ }))));
64
+ };
65
+
66
+ var _default = GenericErrorSVG;
67
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.genericErrorStyles = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _constants = require("@atlaskit/theme/constants");
13
+
14
+ var _react = require("@emotion/react");
15
+
16
+ var _templateObject;
17
+
18
+ var HEIGHT = 90;
19
+ var genericErrorStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n height: ", "px;\n margin: 0 auto ", "px;\n display: block;\n"])), HEIGHT, (0, _constants.gridSize)() * 3);
20
+ exports.genericErrorStyles = genericErrorStyles;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ErrorBoundaryFallback = void 0;
9
+
10
+ var _react = require("@emotion/react");
11
+
12
+ var _emptyState = _interopRequireDefault(require("@atlaskit/empty-state"));
13
+
14
+ var _reactIntlNext = require("react-intl-next");
15
+
16
+ var _genericErrorSvg = _interopRequireDefault(require("./generic-error-svg"));
17
+
18
+ var _styled = require("../link-picker/styled");
19
+
20
+ /** @jsx jsx */
21
+ var messages = (0, _reactIntlNext.defineMessages)({
22
+ heading: {
23
+ defaultMessage: 'Something went wrong!',
24
+ description: 'Heading displayed when an unhandled error occurs.',
25
+ id: 'fabric.linkPicker.unhandledError.heading'
26
+ },
27
+ description: {
28
+ defaultMessage: 'Try reloading the page.',
29
+ description: 'Body message shown underneath the heading when an unhandled error occurs.',
30
+ id: 'fabric.linkPicker.unhandledError.description'
31
+ }
32
+ });
33
+
34
+ var ErrorBoundaryFallback = function ErrorBoundaryFallback() {
35
+ var intl = (0, _reactIntlNext.useIntl)();
36
+ var header = intl.formatMessage(messages.heading);
37
+ var description = intl.formatMessage(messages.description);
38
+ return (0, _react.jsx)("div", {
39
+ css: _styled.rootContainerStyles,
40
+ "data-testid": "link-picker-root-error-boundary-ui"
41
+ }, (0, _react.jsx)(_emptyState.default, {
42
+ header: header,
43
+ renderImage: function renderImage() {
44
+ return (0, _react.jsx)(_genericErrorSvg.default, null);
45
+ },
46
+ description: description
47
+ }));
48
+ };
49
+
50
+ exports.ErrorBoundaryFallback = ErrorBoundaryFallback;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ComposedLinkPicker = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _analyticsNext = require("@atlaskit/analytics-next");
13
+
14
+ var _version = require("../version.json");
15
+
16
+ var _errorBoundaryFallback = require("./error-boundary-fallback");
17
+
18
+ var _linkPicker = require("./link-picker");
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var COMPONENT_NAME = 'LinkPicker';
25
+ var ANALYTICS_CHANNEL = 'media';
26
+ var PACKAGE_DATA = {
27
+ packageName: _version.name,
28
+ packageVersion: _version.version,
29
+ componentName: COMPONENT_NAME
30
+ };
31
+ var ComposedLinkPicker = /*#__PURE__*/(0, _react.memo)(function (props) {
32
+ return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsErrorBoundary, {
33
+ channel: ANALYTICS_CHANNEL,
34
+ data: PACKAGE_DATA,
35
+ ErrorComponent: _errorBoundaryFallback.ErrorBoundaryFallback
36
+ }, /*#__PURE__*/_react.default.createElement(_linkPicker.LinkPickerWithIntl, props));
37
+ });
38
+ exports.ComposedLinkPicker = ComposedLinkPicker;
@@ -27,27 +27,27 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
27
27
 
28
28
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
29
 
30
- var _react = _interopRequireWildcard(require("react"));
30
+ var _react = require("react");
31
31
 
32
32
  var _react2 = require("@emotion/react");
33
33
 
34
34
  var _reactIntlNext = require("react-intl-next");
35
35
 
36
- var _messages = require("../messages");
36
+ var _messages = require("./messages");
37
37
 
38
38
  var _textInput = _interopRequireDefault(require("./text-input"));
39
39
 
40
40
  var _linkSearchList = _interopRequireDefault(require("./link-search-list"));
41
41
 
42
- var _url = require("../url");
42
+ var _url = require("./url");
43
43
 
44
44
  var _styled = require("./styled");
45
45
 
46
- var _browser = require("../browser");
46
+ var _browser = require("./browser");
47
47
 
48
- var _transformTimeStamp = require("../transformTimeStamp");
48
+ var _transformTimeStamp = require("./transformTimeStamp");
49
49
 
50
- var _announcer = _interopRequireDefault(require("./announcer"));
50
+ var _announcer = _interopRequireDefault(require(".//announcer"));
51
51
 
52
52
  var _button = _interopRequireWildcard(require("@atlaskit/button"));
53
53
 
@@ -84,7 +84,6 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
84
84
 
85
85
  (0, _classCallCheck2.default)(this, LinkPicker);
86
86
  _this = _super.call(this, props);
87
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "wrapperRef", /*#__PURE__*/_react.default.createRef());
88
87
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "queryVersion", 0);
89
88
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateInput", /*#__PURE__*/function () {
90
89
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(input) {
@@ -244,24 +243,22 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
244
243
  url = _this$state5.url,
245
244
  selectedIndex = _this$state5.selectedIndex,
246
245
  items = _this$state5.items;
246
+ var intl = _this.props.intl;
247
247
  var selectedItem = items[selectedIndex];
248
248
 
249
249
  if (_this.isUrlPopulatedWithSelectedItem()) {
250
- _this.handleInsert(selectedItem.url, selectedItem.name, 'typeAhead');
251
- } else if (url.length > 0) {
252
- var normalized = (0, _url.normalizeUrl)(url);
253
-
254
- if (normalized) {
255
- _this.handleInsert(normalized, null, 'manual');
256
- } else {
257
- var intl = _this.props.intl;
258
- var linkInvalid = intl.formatMessage(_messages.messages.linkInvalid);
259
-
260
- _this.setState({
261
- invalidUrl: linkInvalid
262
- });
263
- }
250
+ return _this.handleInsert(selectedItem.url, selectedItem.name, 'typeAhead');
264
251
  }
252
+
253
+ var normalized = (0, _url.normalizeUrl)(url);
254
+
255
+ if (normalized) {
256
+ return _this.handleInsert(normalized, null, 'manual');
257
+ }
258
+
259
+ return _this.setState({
260
+ invalidUrl: intl.formatMessage(_messages.messages.linkInvalid)
261
+ });
265
262
  });
266
263
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleKeyDown", function (event) {
267
264
  var _this$state6 = _this.state,
@@ -316,6 +313,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
316
313
  selectedIndex: -1,
317
314
  activeIndex: -1,
318
315
  isLoading: false,
316
+ isEditing: !!props.url,
319
317
  url: (0, _url.normalizeUrl)(props.url) || '',
320
318
  displayText: props.displayText || '',
321
319
  items: [],
@@ -473,6 +471,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
473
471
  var _this$state7 = this.state,
474
472
  items = _this$state7.items,
475
473
  isLoading = _this$state7.isLoading,
474
+ isEditing = _this$state7.isEditing,
476
475
  activeIndex = _this$state7.activeIndex,
477
476
  selectedIndex = _this$state7.selectedIndex,
478
477
  url = _this$state7.url,
@@ -500,11 +499,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
500
499
  var noResults = activePlugin && !isLoading && !items.length && !(0, _url.isSafeUrl)(url);
501
500
  return (0, _react2.jsx)("div", {
502
501
  "data-testid": "link-picker",
503
- className: "recent-list",
504
- css: _styled.recentListStyles
505
- }, (0, _react2.jsx)("div", {
506
- css: _styled.containerStyles,
507
- ref: this.wrapperRef
502
+ css: _styled.rootContainerStyles
508
503
  }, screenReaderText && (0, _react2.jsx)(_announcer.default, {
509
504
  ariaLive: "assertive",
510
505
  text: screenReaderText,
@@ -584,7 +579,7 @@ var LinkPicker = /*#__PURE__*/function (_PureComponent) {
584
579
  appearance: "primary",
585
580
  onClick: this.handleSubmit,
586
581
  testId: "link-picker-insert-button"
587
- }, formatMessage(_messages.messages.insertButton))))));
582
+ }, formatMessage(isEditing ? _messages.messages.saveButton : _messages.messages.insertButton)))));
588
583
  }
589
584
  }]);
590
585
  return LinkPicker;
@@ -11,7 +11,7 @@ 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
16
  var _styled = require("./styled");
17
17
 
@@ -107,6 +107,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
107
107
  id: 'fabric.linkPicker.search.noResults.description',
108
108
  defaultMessage: 'Try again with a different term.',
109
109
  description: 'Describes possible action when a search returns no results'
110
+ },
111
+ saveButton: {
112
+ id: 'fabric.linkPicker.button.save',
113
+ defaultMessage: 'Save',
114
+ description: 'Button to save edited link'
110
115
  }
111
116
  });
112
117
  exports.messages = messages;
@@ -0,0 +1,31 @@
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.rootContainerStyles = exports.listTitleStyles = 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;
23
+
24
+ var LINK_PICKER_WIDTH_IN_PX = 342;
25
+ var LINK_PICKER_MIN_HEIGHT_IN_PX = 234;
26
+ var rootContainerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: ", "px;\n padding: ", "px;\n box-sizing: border-box;\n line-height: initial;\n min-height: ", "px;\n"])), LINK_PICKER_WIDTH_IN_PX, (0, _constants.gridSize)() * 2, LINK_PICKER_MIN_HEIGHT_IN_PX);
27
+ exports.rootContainerStyles = rootContainerStyles;
28
+ var searchIconStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", "px;\n color: ", ";\n cursor: default;\n"])), (0, _constants.gridSize)() / 2, (0, _tokens.token)('color.icon', _colors.N500));
29
+ exports.searchIconStyles = searchIconStyles;
30
+ var listTitleStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n text-transform: uppercase;\n margin-bottom: ", "px;\n"])), _theme.typography.h100(), (0, _constants.gridSize)() / 2);
31
+ exports.listTitleStyles = listTitleStyles;
@@ -23,7 +23,7 @@ var _textfield = _interopRequireDefault(require("@atlaskit/textfield"));
23
23
 
24
24
  var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-clear"));
25
25
 
26
- var _utils = require("../../utils");
26
+ var _utils = require("../utils");
27
27
 
28
28
  var _styled = require("./styled");
29
29
 
File without changes
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.1.3",
3
+ "version": "1.2.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1 +1 @@
1
- export { LinkPickerWithIntl as LinkPicker } from './ui/link-picker';
1
+ export { ComposedLinkPicker as LinkPicker } from './ui';
@@ -0,0 +1,56 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+
3
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
4
+
5
+ /** @jsx jsx */
6
+ import { jsx } from '@emotion/react';
7
+ import { genericErrorStyles } from './styled';
8
+
9
+ const GenericErrorSVG = props => {
10
+ const id = 'link-picker-ui-generic-error-svg';
11
+ return jsx("svg", _extends({
12
+ height: "90",
13
+ viewBox: "0 0 164 212",
14
+ fill: "none",
15
+ xmlns: "http://www.w3.org/2000/svg",
16
+ css: genericErrorStyles
17
+ }, props), jsx("path", {
18
+ d: "m95.43 74.16 66.44 115.08c5.84 10.12-1.46 22.76-13.14 22.76H15.85c-11.68 0-18.98-12.65-13.14-22.76L69.15 74.16c5.84-10.12 20.44-10.12 26.28 0Zm-7.56 83.55 2.88-44.35c.34-5.29-3.86-9.78-9.16-9.78-5.31 0-9.51 4.48-9.16 9.78l2.88 44.35a6.3 6.3 0 0 0 6.28 5.89c3.31 0 6.06-2.58 6.28-5.89Zm-15.84 23.54c0 5.66 4.76 10.1 10.39 9.58 4.85-.45 8.73-4.5 8.83-9.37.11-5.45-4.31-9.94-9.73-9.94-5.23-.01-9.49 4.37-9.49 9.73Z",
19
+ fill: `url(#${id})`
20
+ }), jsx("path", {
21
+ opacity: ".6",
22
+ d: "M93.35 27.17 85.94.45c-.17-.62-1.07-.58-1.19.05l-4.66 25.1-5.8-1.08a.612.612 0 0 0-.7.76L81 52c.17.62 1.07.58 1.19-.05l4.66-25.1 5.8 1.08c.45.08.82-.33.7-.76ZM66.77 41.81 55.9 33.26c-.22-.18-.53.07-.41.33l5.53 11.43-2.66 1.29c-.18.09-.2.33-.05.45l10.87 8.55c.22.18.53-.07.41-.33l-5.53-11.43 2.66-1.29c.17-.08.2-.33.05-.45Z",
23
+ fill: "#C1C7D0"
24
+ }), jsx("path", {
25
+ opacity: ".6",
26
+ d: "M102.78 56.75a.993.993 0 0 1-.92-1.38c-.24-.77-2.29-2.85-3.54-4.11-2.97-3.01-4.93-5-3.84-6.49 1.09-1.48 3.58-.22 7.35 1.7 1.32.67 3.35 1.7 4.45 2.03-.64-.95-2.24-2.58-3.28-3.63-2.97-3.01-4.93-5-3.84-6.49 1.08-1.48 3.58-.22 7.34 1.7 1.32.67 3.34 1.7 4.45 2.03-.64-.95-2.24-2.57-3.28-3.62-2.97-3.01-4.93-5-3.84-6.49 1.08-1.48 3.57-.22 7.34 1.7 1.58.8 4.18 2.13 4.98 2.13a1.005 1.005 0 0 1 1.46 1.36c-1.09 1.48-3.57.22-7.34-1.7-1.32-.67-3.34-1.7-4.44-2.03.64.95 2.24 2.57 3.28 3.62 2.97 3.01 4.93 5 3.84 6.49-1.08 1.48-3.57.22-7.34-1.7-1.32-.67-3.35-1.7-4.45-2.03.64.95 2.24 2.57 3.28 3.63 2.97 3.01 4.93 5 3.84 6.49-1.09 1.48-3.58.22-7.35-1.7-1.32-.67-3.35-1.71-4.45-2.03.64.95 2.24 2.58 3.28 3.63 2.97 3.01 4.93 5 3.84 6.49-.21.26-.51.4-.82.4Zm5.56 14.32c-.35 0-.69-.19-.88-.52-1.04-1.88-2.22-4.02-.91-5.21 1.31-1.2 3.34.18 5.49 1.63.87.59 2.26 1.53 2.93 1.71-.12-.68-.93-2.15-1.45-3.07-1.26-2.27-2.45-4.41-1.14-5.61 1.31-1.2 3.34.18 5.49 1.63.96.65 2.54 1.72 3.1 1.74a1 1 0 0 1 1.27 1.54c-1.31 1.2-3.34-.17-5.49-1.63-.87-.59-2.26-1.53-2.93-1.71.12.68.93 2.15 1.45 3.07 1.26 2.27 2.45 4.41 1.14 5.61-1.31 1.2-3.34-.18-5.49-1.63-.87-.59-2.26-1.53-2.93-1.71.12.68.93 2.14 1.22 2.67.27.48.09 1.09-.39 1.36-.15.09-.32.13-.48.13Zm-54.32-2.89c-.22 0-.44-.04-.67-.14-1.64-.69-1.24-3.11-.81-5.67.17-1.04.45-2.7.33-3.38-.57.39-1.56 1.75-2.18 2.6-1.53 2.09-2.99 4.07-4.62 3.38a.991.991 0 0 1-.53-1.31c.2-.48.73-.72 1.21-.57.52-.21 1.65-1.75 2.34-2.68 1.53-2.09 2.98-4.08 4.62-3.38 1.64.69 1.24 3.11.81 5.67-.17 1.04-.45 2.7-.33 3.38.57-.39 1.56-1.75 2.18-2.6 1.53-2.09 2.98-4.08 4.62-3.38 1.63.69 1.24 3.09.89 5.21-.09.54-.6.91-1.15.83-.54-.09-.92-.6-.83-1.15.1-.59.37-2.24.26-2.92-.57.39-1.56 1.75-2.18 2.6-1.33 1.79-2.59 3.51-3.96 3.51Z",
27
+ fill: "#B3BAC5"
28
+ }), jsx("defs", null, jsx("linearGradient", {
29
+ id: id,
30
+ x1: "26.169",
31
+ y1: "228.621",
32
+ x2: "138.408",
33
+ y2: "116.382",
34
+ gradientUnits: "userSpaceOnUse"
35
+ }, jsx("stop", {
36
+ stopColor: "#C1C7D0"
37
+ }), jsx("stop", {
38
+ offset: ".297",
39
+ stopColor: "#C6CBD4",
40
+ stopOpacity: ".881"
41
+ }), jsx("stop", {
42
+ offset: ".63",
43
+ stopColor: "#D3D7DE",
44
+ stopOpacity: ".748"
45
+ }), jsx("stop", {
46
+ offset: ".98",
47
+ stopColor: "#E9EBEF",
48
+ stopOpacity: ".608"
49
+ }), jsx("stop", {
50
+ offset: "1",
51
+ stopColor: "#EBECF0",
52
+ stopOpacity: ".6"
53
+ }))));
54
+ };
55
+
56
+ export default GenericErrorSVG;
@@ -0,0 +1,8 @@
1
+ import { gridSize as getGridSize } from '@atlaskit/theme/constants';
2
+ import { css } from '@emotion/react';
3
+ const HEIGHT = 90;
4
+ export const genericErrorStyles = css`
5
+ height: ${HEIGHT}px;
6
+ margin: 0 auto ${getGridSize() * 3}px;
7
+ display: block;
8
+ `;
@@ -0,0 +1,31 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ import EmptyState from '@atlaskit/empty-state';
4
+ import { defineMessages, useIntl } from 'react-intl-next';
5
+ import GenericErrorSVG from './generic-error-svg';
6
+ import { rootContainerStyles } from '../link-picker/styled';
7
+ const messages = defineMessages({
8
+ heading: {
9
+ defaultMessage: 'Something went wrong!',
10
+ description: 'Heading displayed when an unhandled error occurs.',
11
+ id: 'fabric.linkPicker.unhandledError.heading'
12
+ },
13
+ description: {
14
+ defaultMessage: 'Try reloading the page.',
15
+ description: 'Body message shown underneath the heading when an unhandled error occurs.',
16
+ id: 'fabric.linkPicker.unhandledError.description'
17
+ }
18
+ });
19
+ export const ErrorBoundaryFallback = () => {
20
+ const intl = useIntl();
21
+ const header = intl.formatMessage(messages.heading);
22
+ const description = intl.formatMessage(messages.description);
23
+ return jsx("div", {
24
+ css: rootContainerStyles,
25
+ "data-testid": "link-picker-root-error-boundary-ui"
26
+ }, jsx(EmptyState, {
27
+ header: header,
28
+ renderImage: () => jsx(GenericErrorSVG, null),
29
+ description: description
30
+ }));
31
+ };
@@ -0,0 +1,17 @@
1
+ import React, { memo } from 'react';
2
+ import { AnalyticsErrorBoundary } from '@atlaskit/analytics-next';
3
+ import { name as packageName, version as packageVersion } from '../version.json';
4
+ import { ErrorBoundaryFallback } from './error-boundary-fallback';
5
+ import { LinkPickerWithIntl } from './link-picker';
6
+ const COMPONENT_NAME = 'LinkPicker';
7
+ const ANALYTICS_CHANNEL = 'media';
8
+ const PACKAGE_DATA = {
9
+ packageName,
10
+ packageVersion,
11
+ componentName: COMPONENT_NAME
12
+ };
13
+ export const ComposedLinkPicker = /*#__PURE__*/memo(props => /*#__PURE__*/React.createElement(AnalyticsErrorBoundary, {
14
+ channel: ANALYTICS_CHANNEL,
15
+ data: PACKAGE_DATA,
16
+ ErrorComponent: ErrorBoundaryFallback
17
+ }, /*#__PURE__*/React.createElement(LinkPickerWithIntl, props)));