@atlaskit/link-picker 1.14.0 → 1.15.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/link-picker
2
2
 
3
+ ## 1.15.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`4a83c28f27b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4a83c28f27b) - Add support for inline SVGs in ListItem by converting them to Base64 images
8
+
9
+ ## 1.15.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`b7ace618362`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b7ace618362) - [ux] EDM-3578: adding a prop hideDisplayText for link picker to allow support that stops rendering of the display text field in link picker if prop is set to true.
14
+
3
15
  ## 1.14.0
4
16
 
5
17
  ### Minor Changes
@@ -142,6 +142,7 @@ function LinkPicker(_ref) {
142
142
  plugins = _ref.plugins,
143
143
  initUrl = _ref.url,
144
144
  initDisplayText = _ref.displayText,
145
+ hideDisplayText = _ref.hideDisplayText,
145
146
  featureFlags = _ref.featureFlags;
146
147
 
147
148
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
@@ -390,7 +391,7 @@ function LinkPicker(_ref) {
390
391
  onClear: handleUrlClear,
391
392
  onKeyDown: handleKeyDown,
392
393
  onChange: handleChangeUrl
393
- }), (0, _react2.jsx)(DisplayTextInputField, {
394
+ }), !hideDisplayText && (0, _react2.jsx)(DisplayTextInputField, {
394
395
  autoComplete: "off",
395
396
  name: "displayText",
396
397
  testId: testIds.textInputField,
@@ -80,6 +80,16 @@ var formatDate = function formatDate(date) {
80
80
  return [date.pageAction, date.dateString, date.timeSince].filter(Boolean).join(' ');
81
81
  };
82
82
 
83
+ var isSVG = function isSVG(icon) {
84
+ return icon.startsWith('<svg') && icon.endsWith('</svg>');
85
+ };
86
+
87
+ var base64SVG = function base64SVG(icon) {
88
+ return "data:image/svg+xml;base64,".concat(Buffer.from(icon).toString('base64'));
89
+ };
90
+
91
+ var testId = 'link-search-list-item-icon';
92
+
83
93
  var ListItemIcon = function ListItemIcon(props) {
84
94
  var item = props.item,
85
95
  intl = props.intl;
@@ -97,14 +107,16 @@ var ListItemIcon = function ListItemIcon(props) {
97
107
  return (0, _react2.jsx)("span", {
98
108
  css: _styled.itemIconStyles
99
109
  }, (0, _react2.jsx)(Glyph, {
100
- alt: alt
110
+ alt: alt,
111
+ "data-testid": testId
101
112
  }));
102
113
  }
103
114
 
104
115
  return (0, _react2.jsx)("span", {
105
116
  css: _styled.itemIconStyles
106
117
  }, (0, _react2.jsx)("img", {
107
- src: icon,
118
+ "data-testid": testId,
119
+ src: isSVG(icon) ? base64SVG(icon) : icon,
108
120
  alt: alt,
109
121
  css: _styled.imgStyles
110
122
  }));
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.14.0",
3
+ "version": "1.15.1",
4
4
  "sideEffects": false
5
5
  }
@@ -88,6 +88,7 @@ function LinkPicker({
88
88
  plugins,
89
89
  url: initUrl,
90
90
  displayText: initDisplayText,
91
+ hideDisplayText,
91
92
  featureFlags
92
93
  }) {
93
94
  var _errorFallback;
@@ -333,7 +334,7 @@ function LinkPicker({
333
334
  onClear: handleUrlClear,
334
335
  onKeyDown: handleKeyDown,
335
336
  onChange: handleChangeUrl
336
- }), jsx(DisplayTextInputField, {
337
+ }), !hideDisplayText && jsx(DisplayTextInputField, {
337
338
  autoComplete: "off",
338
339
  name: "displayText",
339
340
  testId: testIds.textInputField,
@@ -60,6 +60,12 @@ const formatDate = date => {
60
60
  return [date.pageAction, date.dateString, date.timeSince].filter(Boolean).join(' ');
61
61
  };
62
62
 
63
+ const isSVG = icon => icon.startsWith('<svg') && icon.endsWith('</svg>');
64
+
65
+ const base64SVG = icon => `data:image/svg+xml;base64,${Buffer.from(icon).toString('base64')}`;
66
+
67
+ const testId = 'link-search-list-item-icon';
68
+
63
69
  const ListItemIcon = props => {
64
70
  const {
65
71
  item,
@@ -81,14 +87,16 @@ const ListItemIcon = props => {
81
87
  return jsx("span", {
82
88
  css: itemIconStyles
83
89
  }, jsx(Glyph, {
84
- alt: alt
90
+ alt: alt,
91
+ "data-testid": testId
85
92
  }));
86
93
  }
87
94
 
88
95
  return jsx("span", {
89
96
  css: itemIconStyles
90
97
  }, jsx("img", {
91
- src: icon,
98
+ "data-testid": testId,
99
+ src: isSVG(icon) ? base64SVG(icon) : icon,
92
100
  alt: alt,
93
101
  css: imgStyles
94
102
  }));
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.14.0",
3
+ "version": "1.15.1",
4
4
  "sideEffects": false
5
5
  }
@@ -94,6 +94,7 @@ function LinkPicker(_ref) {
94
94
  plugins = _ref.plugins,
95
95
  initUrl = _ref.url,
96
96
  initDisplayText = _ref.displayText,
97
+ hideDisplayText = _ref.hideDisplayText,
97
98
  featureFlags = _ref.featureFlags;
98
99
 
99
100
  var _useAnalyticsEvents = useAnalyticsEvents(),
@@ -342,7 +343,7 @@ function LinkPicker(_ref) {
342
343
  onClear: handleUrlClear,
343
344
  onKeyDown: handleKeyDown,
344
345
  onChange: handleChangeUrl
345
- }), jsx(DisplayTextInputField, {
346
+ }), !hideDisplayText && jsx(DisplayTextInputField, {
346
347
  autoComplete: "off",
347
348
  name: "displayText",
348
349
  testId: testIds.textInputField,
@@ -66,6 +66,16 @@ var formatDate = function formatDate(date) {
66
66
  return [date.pageAction, date.dateString, date.timeSince].filter(Boolean).join(' ');
67
67
  };
68
68
 
69
+ var isSVG = function isSVG(icon) {
70
+ return icon.startsWith('<svg') && icon.endsWith('</svg>');
71
+ };
72
+
73
+ var base64SVG = function base64SVG(icon) {
74
+ return "data:image/svg+xml;base64,".concat(Buffer.from(icon).toString('base64'));
75
+ };
76
+
77
+ var testId = 'link-search-list-item-icon';
78
+
69
79
  var ListItemIcon = function ListItemIcon(props) {
70
80
  var item = props.item,
71
81
  intl = props.intl;
@@ -83,14 +93,16 @@ var ListItemIcon = function ListItemIcon(props) {
83
93
  return jsx("span", {
84
94
  css: itemIconStyles
85
95
  }, jsx(Glyph, {
86
- alt: alt
96
+ alt: alt,
97
+ "data-testid": testId
87
98
  }));
88
99
  }
89
100
 
90
101
  return jsx("span", {
91
102
  css: itemIconStyles
92
103
  }, jsx("img", {
93
- src: icon,
104
+ "data-testid": testId,
105
+ src: isSVG(icon) ? base64SVG(icon) : icon,
94
106
  alt: alt,
95
107
  css: imgStyles
96
108
  }));
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.14.0",
3
+ "version": "1.15.1",
4
4
  "sideEffects": false
5
5
  }
@@ -61,6 +61,8 @@ export interface LinkPickerProps {
61
61
  component?: React.ComponentType<Partial<LinkPickerProps> & {
62
62
  children: React.ReactElement;
63
63
  }>;
64
+ /** Hides the link picker display text field if set to true. */
65
+ hideDisplayText?: boolean;
64
66
  featureFlags?: Record<string, unknown>;
65
67
  }
66
68
  export interface PickerState {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.14.0",
3
+ "version": "1.15.1",
4
4
  "description": "Standalone link picker",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "publishConfig": {
@@ -73,8 +73,8 @@
73
73
  "@atlaskit/visual-regression": "*",
74
74
  "@atlaskit/webdriver-runner": "*",
75
75
  "@atlassian/atlassian-frontend-prettier-config-1.0.0": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.0",
76
- "@atlassian/link-picker-atlassian-plugin": "^24.0.0",
77
- "@atlassian/link-picker-plugins": "^12.0.0",
76
+ "@atlassian/link-picker-atlassian-plugin": "^25.0.0",
77
+ "@atlassian/link-picker-plugins": "^13.0.0",
78
78
  "@atlassian/recent-work-client": "^1.6.0",
79
79
  "@atlassian/search-provider": "^2.3.0",
80
80
  "@testing-library/dom": "^8.17.1",
package/report.api.md CHANGED
@@ -8,6 +8,7 @@
8
8
  ### Table of contents
9
9
 
10
10
  - [Main Entry Types](#main-entry-types)
11
+ - [Peer Dependencies](#peer-dependencies)
11
12
 
12
13
  ### Main Entry Types
13
14
 
@@ -60,6 +61,7 @@ export interface LinkPickerProps {
60
61
  displayText?: null | string;
61
62
  // (undocumented)
62
63
  featureFlags?: Record<string, unknown>;
64
+ hideDisplayText?: boolean;
63
65
  onCancel: () => void;
64
66
  onContentResize?: () => void;
65
67
  onSubmit: (
@@ -119,3 +121,16 @@ interface ResolveResult {
119
121
  ```
120
122
 
121
123
  <!--SECTION END: Main Entry Types-->
124
+
125
+ ### Peer Dependencies
126
+
127
+ <!--SECTION START: Peer Dependencies-->
128
+
129
+ ```json
130
+ {
131
+ "react": "^16.8.0",
132
+ "react-intl-next": "npm:react-intl@^5.18.1"
133
+ }
134
+ ```
135
+
136
+ <!--SECTION END: Peer Dependencies-->
@@ -41,6 +41,7 @@ export interface LinkPickerProps {
41
41
  displayText?: null | string;
42
42
  // (undocumented)
43
43
  featureFlags?: Record<string, unknown>;
44
+ hideDisplayText?: boolean;
44
45
  onCancel: () => void;
45
46
  onContentResize?: () => void;
46
47
  onSubmit: (arg: OnSubmitParameter, analytic?: UIAnalyticsEvent | null) => void;