@atlaskit/media-avatar-picker 22.3.0 → 23.1.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 +62 -0
- package/dist/cjs/avatar-picker-dialog/avatar-picker-dialog-loader.js +2 -2
- package/dist/cjs/avatar-picker-dialog/index.js +16 -12
- package/dist/cjs/avatar-picker-dialog/layout-const.js +1 -1
- package/dist/cjs/avatar-picker-dialog/styled.js +1 -1
- package/dist/cjs/image-cropper/index.js +2 -2
- package/dist/cjs/image-cropper/styled.js +1 -1
- package/dist/cjs/image-navigator/images.js +1 -1
- package/dist/cjs/image-navigator/index.js +7 -7
- package/dist/cjs/image-navigator/slider.js +1 -1
- package/dist/cjs/image-navigator/styled.js +1 -1
- package/dist/cjs/image-placer/constraints.js +1 -1
- package/dist/cjs/image-placer/imageProcessor.js +1 -1
- package/dist/cjs/image-placer/index.js +1 -1
- package/dist/cjs/image-placer/styled.js +1 -1
- package/dist/cjs/predefined-avatar-list/index.js +2 -2
- package/dist/cjs/predefined-avatar-view/index.js +2 -2
- package/dist/cjs/predefined-avatar-view/styled.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/viewport/viewport-render.js +8 -5
- package/dist/cjs/viewport/viewport.js +1 -1
- package/dist/es2019/avatar-picker-dialog/avatar-picker-dialog-loader.js +2 -2
- package/dist/es2019/avatar-picker-dialog/index.js +8 -7
- package/dist/es2019/image-cropper/index.js +1 -1
- package/dist/es2019/image-navigator/index.js +3 -3
- package/dist/es2019/predefined-avatar-view/index.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/viewport/viewport-render.js +8 -6
- package/dist/esm/avatar-picker-dialog/avatar-picker-dialog-loader.js +2 -2
- package/dist/esm/avatar-picker-dialog/index.js +8 -7
- package/dist/esm/image-cropper/index.js +1 -1
- package/dist/esm/image-navigator/index.js +3 -3
- package/dist/esm/predefined-avatar-list/index.js +2 -2
- package/dist/esm/predefined-avatar-view/index.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/esm/viewport/viewport-render.js +8 -5
- package/dist/types/avatar-picker-dialog/avatar-picker-dialog-loader.d.ts +2 -2
- package/dist/types/avatar-picker-dialog/index.d.ts +10 -9
- package/dist/types/avatar-picker-dialog/types.d.ts +2 -0
- package/dist/types/image-cropper/index.d.ts +3 -5
- package/dist/types/image-navigator/index.d.ts +5 -7
- package/dist/types/viewport/viewport-render.d.ts +1 -1
- package/package.json +11 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# @atlaskit/media-avatar-picker
|
|
2
2
|
|
|
3
|
+
## 23.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 23.1.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`6c6bd435635`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6c6bd435635) - TC-2422: add the ability for avatars to have different output sizes
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
19
|
+
## 23.0.0
|
|
20
|
+
|
|
21
|
+
### Major Changes
|
|
22
|
+
|
|
23
|
+
- [`47f58da5946`](https://bitbucket.org/atlassian/atlassian-frontend/commits/47f58da5946) - ED-13322, ED-13324, ED-13326, ED-13323, ED-13204: Upgrade and support react-intl@^5.18.1 including breaking API changes, types and tests in atlassian-frontend packages
|
|
24
|
+
|
|
25
|
+
What changed: Upgraded our react-intl support from ^2.6.0 to ^5.18.1. This means editor packages now rely on consumers installing ^5.18.1, otherwise editor usage of react-intl will mismatch with actual installed react-intl APIs.
|
|
26
|
+
Why change was made: As part of a coordinated upgrade effort across AF packages, as react-intl v2 is quite dated.
|
|
27
|
+
How consumer should update their code: Ensure react-intl ^5.18.1 is installed in consuming applications.
|
|
28
|
+
|
|
29
|
+
Upgrade guide: To consume atlassian-frontend packages that use react-intl5 setup a second provider for the new version, using an npm alias
|
|
30
|
+
|
|
31
|
+
```js
|
|
32
|
+
"react-intl": "^2.6.0",
|
|
33
|
+
"react-intl-next": "npm:react-intl@^5.18.1",
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
import { IntlProvider } from 'react-intl';
|
|
38
|
+
import { IntlProvider as IntlNextProvider } from 'react-intl-next';
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<IntlProvider
|
|
42
|
+
key={locale}
|
|
43
|
+
data-test-language={locale}
|
|
44
|
+
locale={locale}
|
|
45
|
+
defaultLocale={DEFAULT_LOCALE}
|
|
46
|
+
messages={messages}
|
|
47
|
+
>
|
|
48
|
+
<IntlNextProvider
|
|
49
|
+
key={locale}
|
|
50
|
+
data-test-language={locale}
|
|
51
|
+
locale={locale}
|
|
52
|
+
defaultLocale={DEFAULT_LOCALE}
|
|
53
|
+
messages={messages}
|
|
54
|
+
>
|
|
55
|
+
{children}
|
|
56
|
+
</IntlNextProvider>
|
|
57
|
+
</IntlProvider>
|
|
58
|
+
);
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- Updated dependencies
|
|
64
|
+
|
|
3
65
|
## 22.3.0
|
|
4
66
|
|
|
5
67
|
### Minor Changes
|
|
@@ -83,9 +83,9 @@ var AsyncAvatarPickerDialog = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
83
83
|
|
|
84
84
|
case 4:
|
|
85
85
|
module = _context.sent;
|
|
86
|
-
AsyncAvatarPickerDialog.AvatarPickerDialog = module.
|
|
86
|
+
AsyncAvatarPickerDialog.AvatarPickerDialog = module.default;
|
|
87
87
|
this.setState({
|
|
88
|
-
AvatarPickerDialog: module.
|
|
88
|
+
AvatarPickerDialog: module.default
|
|
89
89
|
});
|
|
90
90
|
_context.next = 11;
|
|
91
91
|
break;
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.fixedCrop = exports.default = exports.MAX_SIZE_MB = exports.ERROR = exports.AvatarPickerDialog = exports.ACCEPT = void 0;
|
|
11
11
|
|
|
12
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
13
|
|
|
@@ -33,7 +33,7 @@ var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
|
|
|
33
33
|
|
|
34
34
|
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _reactIntlNext = require("react-intl-next");
|
|
37
37
|
|
|
38
38
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
39
39
|
|
|
@@ -146,20 +146,21 @@ var AvatarPickerDialog = /*#__PURE__*/function (_PureComponent) {
|
|
|
146
146
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageNavigatorLoad", function (loadParams) {
|
|
147
147
|
_this.exportCroppedImage = loadParams.export;
|
|
148
148
|
});
|
|
149
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "exportCroppedImage", function () {
|
|
149
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "exportCroppedImage", function (outputSize) {
|
|
150
150
|
return '';
|
|
151
151
|
});
|
|
152
152
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onSaveClick", function () {
|
|
153
153
|
var _this$props = _this.props,
|
|
154
154
|
onImagePicked = _this$props.onImagePicked,
|
|
155
155
|
onImagePickedDataURI = _this$props.onImagePickedDataURI,
|
|
156
|
-
onAvatarPicked = _this$props.onAvatarPicked
|
|
156
|
+
onAvatarPicked = _this$props.onAvatarPicked,
|
|
157
|
+
outputSize = _this$props.outputSize;
|
|
157
158
|
var _this$state = _this.state,
|
|
158
159
|
selectedImage = _this$state.selectedImage,
|
|
159
160
|
selectedAvatar = _this$state.selectedAvatar;
|
|
160
161
|
|
|
161
162
|
if (selectedImage) {
|
|
162
|
-
var exportedCroppedImageURI = _this.exportCroppedImage();
|
|
163
|
+
var exportedCroppedImageURI = _this.exportCroppedImage(outputSize);
|
|
163
164
|
|
|
164
165
|
if (onImagePicked) {
|
|
165
166
|
onImagePicked((0, _mediaUi.dataURItoFile)(exportedCroppedImageURI), fixedCrop);
|
|
@@ -209,7 +210,7 @@ var AvatarPickerDialog = /*#__PURE__*/function (_PureComponent) {
|
|
|
209
210
|
var title = _this.props.title;
|
|
210
211
|
return /*#__PURE__*/_react.default.createElement(_styled.ModalHeader, {
|
|
211
212
|
"data-test-id": "modal-header"
|
|
212
|
-
}, title || /*#__PURE__*/_react.default.createElement(
|
|
213
|
+
}, title || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.upload_an_avatar));
|
|
213
214
|
});
|
|
214
215
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "footerContent", function () {
|
|
215
216
|
var _this$props2 = _this.props,
|
|
@@ -224,10 +225,10 @@ var AvatarPickerDialog = /*#__PURE__*/function (_PureComponent) {
|
|
|
224
225
|
appearance: "primary",
|
|
225
226
|
onClick: onSaveClick,
|
|
226
227
|
isDisabled: isDisabled
|
|
227
|
-
}, primaryButtonText || /*#__PURE__*/_react.default.createElement(
|
|
228
|
+
}, primaryButtonText || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.save)), /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
|
|
228
229
|
appearance: "default",
|
|
229
230
|
onClick: onCancel
|
|
230
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
231
|
+
}, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.cancel))));
|
|
231
232
|
});
|
|
232
233
|
return _this;
|
|
233
234
|
}
|
|
@@ -242,7 +243,7 @@ var AvatarPickerDialog = /*#__PURE__*/function (_PureComponent) {
|
|
|
242
243
|
onClose: this.props.onCancel
|
|
243
244
|
}, this.headerContent(), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, /*#__PURE__*/_react.default.createElement(_styled.AvatarPickerViewWrapper, null, this.renderBody())), this.footerContent());
|
|
244
245
|
|
|
245
|
-
return this.
|
|
246
|
+
return this.props.intl ? content : /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, {
|
|
246
247
|
locale: "en"
|
|
247
248
|
}, content);
|
|
248
249
|
}
|
|
@@ -335,6 +336,9 @@ exports.AvatarPickerDialog = AvatarPickerDialog;
|
|
|
335
336
|
(0, _defineProperty2.default)(AvatarPickerDialog, "defaultProps", {
|
|
336
337
|
avatars: []
|
|
337
338
|
});
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
339
|
+
|
|
340
|
+
var _default = (0, _reactIntlNext.injectIntl)(AvatarPickerDialog, {
|
|
341
|
+
enforceContext: false
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
exports.default = _default;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.PREDEFINED_AVATARS_VIEW_WIDTH = exports.PREDEFINED_AVATARS_VIEW_HEIGHT = exports.DEFAULT_VISIBLE_PREDEFINED_AVATARS = exports.CONTAINER_SIZE = exports.CONTAINER_RECT = exports.CONTAINER_PADDING = exports.CONTAINER_INNER_SIZE = exports.AVATAR_DIALOG_WIDTH = exports.AVATAR_DIALOG_HEIGHT = void 0;
|
|
7
7
|
|
|
8
8
|
var _constants = require("@atlaskit/theme/constants");
|
|
9
9
|
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.ModalHeader = exports.ModalFooterButtons = exports.CroppingWrapper = exports.AvatarPickerViewWrapper = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
@@ -27,7 +27,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
27
27
|
|
|
28
28
|
var _cross = _interopRequireDefault(require("@atlaskit/icon/glyph/cross"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _reactIntlNext = require("react-intl-next");
|
|
31
31
|
|
|
32
32
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
33
33
|
|
|
@@ -159,6 +159,6 @@ exports.ImageCropper = ImageCropper;
|
|
|
159
159
|
onImageSize: function onImageSize() {}
|
|
160
160
|
});
|
|
161
161
|
|
|
162
|
-
var _default = (0,
|
|
162
|
+
var _default = (0, _reactIntlNext.injectIntl)(ImageCropper);
|
|
163
163
|
|
|
164
164
|
exports.default = _default;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.RemoveImageContainer = exports.RemoveImageButton = exports.RectMask = exports.ImageContainer = exports.DragOverlay = exports.Container = exports.CircularMask = exports.CONTAINER_PADDING = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.uploadPlaceholder = exports.errorIcon = exports.checkeredBg = void 0;
|
|
7
7
|
var uploadPlaceholder = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAACgCAYAAABE4VPuAAAAAXNSR0IArs4c6QAAGpRJREFUeAHtXQuQHMV5/ntmdu8h6fREOj1OEiBCYRthPXiYkl2KK44LxZQhhUwFgqLnVUwCThwXCXY5pVQKQ8qOnQqOi9KDl5HtipKKU4mp2IDjxKrENhhwnJAHTsCSAAnQ86R77M5M5/t7do+90+3dzG7vXs9MtzS38+jp6f77//r/+++/u4lssBSwFEhMAZH4DftCeylwl+ygQeotuNQbClpIPs1DpV1EgrokfnGOH/VHCEFDFNIJxDuP87eEpLd9QcepTK/RSjpLu0XY3sxn92sWOCbVbb/sBjD6XJfWoGJWI2tXARWX43wu4DGTXCqSU5NhBZma6/G16StQnUeMsziOSEE/kQH9FEn8m+/SS7RHvF3ztj1NQIHxpE7wqo2qhQI75TJX0Aak9SFIiGvwuwoA6cRBkB6RPKkCpPqL27FDtYb5two6X6XMoPkRjkOQQ98pdwNID4qR2OnmPGKVrDknQ5uLf4dc6HbQL4ORb8KX3w+1aqFi6vFAaWW2uOYZnAxGnwKofi/i/EmA92/K+8ULrfx0FtK2wGljLRb65bWhpC1g0BuFS31g1nekShvzMeGnWBrxEdAQVLpD+H08AJBovzg5Yfyc37TAaTUDbJZFdzb9EqTKJ/CpjeShn8KSxdRuOnNERaVDf+hnEEhfDUdoPz0uXms1qdKUvgVOq2prs3TdHtokHPoDSJbrx6hirfqm7nQrUggAeg0q3B6/THvoUXFM92fSmJ4FTgtqjVUytNSfhUq2Cf0IAbUn3aEihWRIR5yAvlSWtI8eFgPpLlRzubfAaY5+Y9/ul4tdSfdCLdsJCdOVesCMLV2kwjHHhPRDHJ/194mnxkfJy7UFjqaadvvlZiR1Pzr9lyrANGI61pSXlicTmcp9GBEeCUboD/OovlngNMtl/XJBIaQHpEM7Rq1kzaaZhveZcxhAAf03VNJP+HvFt9OQbV15tMBpgpLeVvl+2MgeBANdhbGQfAY2IEgahur2ed+nz0H6DOeBEBY4Ddayu0tuh4T5IqxmszPXl0lKk6r08embvqS7aJ84mjSJtMW3wElaY/2y4AVoWV36VK5Uszh08hApoJdgur69vFe8GOeVtMaxwElSc3fJHneYHoIB4NfUAGaWDQBJ6FIbF/0emK3fED5t8R8WT9c+ytK5BU7c2rxNzvVm0AEq0A1w07dhMgpwvyekAenTHcEj4m8ni5rWZxY4cWqOx2dC+obw6AO578/EoRfHiYwGA3KEtgWPib+O+1pa4lngTFVTW+Uct6BA8+HcWs6molG951XwlLMneSxw6lU6398qO70CHYRj5kcsaCYj1CTPKmobJPUt6PN8Z5KYqXrExbJhIgqwk6aHMRoLmomoE/8ee4E7NEt69Chtk2vjv2h2TAucOvXj9dBn0KfZaSVNHQIluQ3wYLxrsefRE7RdLknyqqlxrao2Qc24O+UtqOgDeFTEqLgNuijA4zxletLvol9N+zRtK3HGM8Uu+W54N38Fg5sWNONp0+w1uyV5tMkZot3NJjXd71uJU1sDWGUG43ffhrTZYM3OtYTReB5xXBmT424O9otvaUy5rUlZiVNDbi+kT8MrwIKmhibaT1n1FRhGdmB42SKXak+/TQla4FQI7e2Ep7NDn7SSpg2cx8YCjy52i/RAG77Wkk9YVY3JChXNk/RdOG5ea4HTEj67MFHmPEEh/No+GuwVf39hBLPvWImD+oGK9nF0Wi1o2smrkcrmwBBzPxqu2e38tI5vWeDcKfswe/NTyttZB0VtGvEpwIuYOPQez6ffiv+SGTFzDxy3TPfAINBrgTNNDIn+jnTpbtohV0xTDhr6bL6Bs0Ougqp9h+3XNMQ7el6CygZDwSLPoTv1JNieVHINHCx2fjf6NrOtd0B7mK3uV1hlE7QdTrUr68Yx7EF+gbNVXgb9+tettDGAI9lQ4NICeKKnpq+TW+DA4XA7+ja874wNJlCA+zpEtxF2cjAhO1PlIZ/A2SLno5KidQOmopB93h4K8KCoS0ucTrqlPR9s7iu5BA7m2dyIDukKa0lrjnm0v43WzJG0lXj7RsND/oCzWzpw4rzN8HrJZ/YgddDvXOMN0nrTCZA/4LxOvwALzgYrbQxlTQd2TkEfMzR3o9nKHXCgCmxC1XRZo8AoD5h1wlJHYAkuw91wcgYcCS0NC29YS5pZYKnNDdeNoFVYLfWq2tumnecLOL9JK1Ava62aZhobjssPb8bFUsfgkCvguD69DyZP6ylgMEOqrEVSZwNhpSFTs5or4KASNqIls8F0CnA/h+hKNHGLTc1qfoCDXQaAGaummcqJtfmKJM5s+BK+t/a2Sef5AU5IyyBtLsmMYYCZq3qYxFG68gIlTYRo6AwNuQGOJ+hSDK7NywJwQngTC+zS6xZD9cvXmQtoFDDBcI2p5eIl4nIRoKZdgc1e0x2YmVCC3nedpYWXnyWvMyR/2KHj/9VDb+LANGQ25WYjoKBo1d8VbJZFOihKphUqN8BBf5MXGkxtkIwYhOXrT1Df2lPqnO8JzNaftXCYit0BHX1+boSbFJdTFYz/oGz4vwD+6724Ojx635CT3Khq2F6vzxCaJ8/GKGhO0rI1pygMsDwMDhlWfiFKl6+LABWyRaoSP/mHjHtjFlYfWmZcrpChfAAn8rZdmMqBz6jlpRXXMDBOKrBcwEgqjqA+lkbrTmLNJcRIO3g4/y4VsOLnogvKa8CNfAAnpJnQXi5KHTMpQEA9u/oELXtvJGnq8gzHVZLnpFLllGqXdvCg0hxh5lhOPoATUCd4qqcu0xn4gBmfDwUaVs+glk0ZFFCgtkHyLEM/KAvgQZEWTFnuaYiQC+B0CuqAtOlJjcRRAABooJ5xn4b7MnHzHgGuCh5W7cBVlfSmgb+a+yTnm4cQDAy5sKoFIc2CuSlGk21ADYFZmPm5T7OUQQMjQOLAaaC4y9efxKsi1dY2FKU7cfnb8EIuJI4s0RzQ0vyyjgdNHPWsHpMgLapY29KstqHZsBKnXh0nvo/pz/QyzaROWlgU1M2tEnhkJkzOp0Docsmh0zREJ+ir4jynjUk4Q8xHRgcGDTLIfZqlMAQkUc/qlUv1cTB4xX0eDkd/jHEebj4aEGIqgen4IyuKJhbGx25u84tYmQh0KsBveg6uB1GUwXJIgzg/TpfROdoNR502hHSQ8A45o1Ckd8M8eR1MrasBkCsBlCX4nQkmKIBOfBRxDIPM7IAyjOfnULhXcf4i7vmI90mcm1leBg0OZQjgTn2CPg3KNHVAqXnw9/Cz8+joCwAPU8FMSowtC/KIPtoR/PwPyLMK+Z6BuuxC3hn+XTjKONiroIznXN/H8ftTzPJ9AfX/nD9I/04HxFk81x7MJd8NWOlkKb0PHrK3gmAbQbBLMeWZAUKj4zGg0mjg89rS8Hn14Gem+nMhb033aUaJMMkJaKHA8xzAkybJw3XIMOE65KMa+JyfVUP1nONy8ClAlFfxzvcgZf8Suygeoj1iMHrY/N/q55pPSVcKH5dzCz7dikJvRZLXqKUbWPi2RQDrKkS8dJQqhYKuuFafejbZlyNJI+nwc/MjgwHXvnkcMFkRkj1jEPERNZovgIUeDYexKfLjItJdk6U2JrY5ZIOEKSyl34CI/R2oZFeoXJoqJcaQsMELAAb/Rwc3lXrWYFKJXkONw1mHDv94Ph2B5HGYsczhgkRFSRS5Opc0pJeh7v8ZAPRYtQ+cKJ1KZCNIhm0EN6Jl+GNU4AaVrwxKlzGVUwHNCvYIqPiejXne6gsGDzqILHmOwDFUgafV3zQl/WpDEdKzfkifoX3iqUayNr3AgQ8Ztu6+13HpHoCmy9h+SCOUrfdODWgaHqepl3aS+wyeiuRRXtXMCdPLDUly33xclkAhjeD4c3+E/iip9Jk+Um2TfViK9iEsnrFJ9V9Yb8l4qPZpWmY9S0i/3PV5xtOHuZ8BFNAzvk/99LD4v/FR6l1PD3B2ytWYkfkNdPyvgPUjH6EiaRg0fVXfMxMaC3BApLbB2vb8vPSYqnVyDfvPoO8jAtpS3id+ECfptgPH2yE/gMGrr8NEuCQXqhnXAoMGR1NuNHFqs9E4o+DJibVtIjpFqttbANDtfox+T3uBs02uxeZBT8IQsCi3oNE9uDkREzRwT6ltee7zMM0itQ2esXQTwPP9ycjYPuBgv03PVaC5LF+gkZWpAachdUBuE9SzehxRK3nSNEharzyN3IfVDdrBz4My+t6PiJfqJcHGudaH7XIWNkfdC0mTP9CsfzOaGmA6aJgLlEpZnZIA1x8GuclAbwXnYigE3YgVaOQfw56k7Bw8YWgLcFyXPgdDwMb8SRqAZt0AGJCbsQnpb97NKniuxvoGaqo2spiWvOuiJg+8F2i9W6A/rZdky1U1d5e8GfrzQRCfNcjMh6iVZvWMJQ2DxnD1rE6NjDFV51Vtw0AXnEw/FuwTfzWeTK0Fzg45D2bnfwFkLldjNeO/nrVr1VoDNOvfQmt9NvJyTnMZuc+DFi937jnVOmNFIaRX0N+5nh4Vx6q3+belqhr6Nb8LkZcv0EDS9GUBNMwd3BAAOmott3WVPg/fz0vg/o5HF2OH8t8fX+SWSZzOrXKlX6Rn8cEFXAGZDlVJc3VF0jQy3dlkAtVInty55zBCJJ2FhLm+tFf8R7WaWiZxfI/uhIqWedBwn0biT2bUsypn1P6qhi+n1jYuu0c9sBfcWUuS1kicrbIXFonn0cFcnGlpUwUNJE3fmrNYCBDkVExWS+IMnbPkUV7VPBkO7jnc7LaGg8wiGldrSCcCB7sn7BGHOXMtkTiORzfDeTM3oGFDgFr3LMugYW5RDQVLHpiq1+donAflFgWajynZtzMZOOgHzkbpYfXFzVHyGf2rGIhNzhmxniWpJm4cIFmXY4wnzavnJCmyiotyAyw30W6pllTTD5xLsDYA0XWZNT8zaPBv+fq3MU5TMTkzM+UoqH4dyju6YihPPMw6DbiMhJ2w38CiMQjagYPZhB+EUaArk4Rk0LAhYB1As/ZMagc3ueKbDooWOTIYcMPgUocT0kamnXbgoMN4fSY7jMwoLGlYPVuXc9Aw53Cogke55+SjzwPAbOSi6wUOds+C0WVN1tS0d0zO+VXPmFkmDNwS48iF2qYaCnoPtpHv0rt29GxaCDIuY0JmJijGqPZpIGmaWZY2M0QZWxBuWNguzZtbcUjVum0qxzH/oJywTC/CMpgXawUOXGxWAjQzYmbD/GgglFLPrqmM02TNI0BnDTCtMHDHkocdRHnpKeUoqvMb050WNxAOzYT/5RKtqhoGiXqRsJcViVNrPeOtA22YggIMHpiq+yB5lKk6skRN8VLKHrskIGF7tQIHic2G5SETAVvo0dLVzABWPUtUodwq8zgPJE+0eHyit1MRGeOU87UCB5ImVbue1aslSE7q7D5BS1afVkyQFQlar7y676s+D8DDwOmaW2Z3lewEpZLSQq3AAcHSs+vZJFUZnj9JM3pOU3EGZqNkqdInKbPuRwwer4jNVy/CBhJZoyEmZWoFDkwOLKhTHeTwKaKR0xT6FjQ6KjLwwWLZ6x4q/1Yd9MlGGsNQzUbOkMDeIgNvEA3hEg6rNjRAAceVNDJQoIFjnZEXdQNpGPkKNwKCTli2qNYOACNxcGAzagl7ub3yDNFlNxB1oOem9PZq3At+4zWpEju2mKy2CLj/6mhKmRqlQZde/cF80NElrA2eqYAVP09a4KBKZQmbdjFoGDEVhHBln/wZtvf6Wkjz4LbqdnJE7hkyD1Q0UhW3qp3yszr3+Q3s4DtnVQf19GEDbOwzYVpg0Jx5vZvOvNHZ3O4FIGEw4tDJwzNo6FQhc6Dhqg8dOpZ74MgRgIaBoxTxsQzN4BnCYPjRY7gPXyK1uxUzPZ8DJLwEigKRAgzO+ZrPL7iPaGWfnBvn0uwVDBxcGxZY0pw+2o2tP+Y0z+xMIu7a6O1BTz/FWJQGNOIEeQdOaQCgwTFJUAwQbaAYxWKmZwJG2Inu4VwFmGCVMOJfDup+dI9nh5rOSCx1uLHImmoVVYamv5JOoA18JWttQnzqlM5BRTuH+BUmj/+mjZlXCgAtaAtf5q0Qc6mqKcAo0OSVA2y5G6IA2lho6d/nd/Mnccowl/GROQ/EhljBvpSEAgEEjptH4AAwkkFj1bMk7GLjMgVYTcMuBv55UhtP5UfilAdJ+kOggO3TWCQ0QAFGiqRv0QHBJticqGplAMaCpgFusa+MUiAgdh56onqtV+KY6KvmD1vQVGvb/jZGAZjoIW2+Wz6jlnRWaegGTt2NeBrLcZNvKdAAOFY9a5KQOX89xLBnSF+ig3C2qQStwIGN+xI2dBsRsHk98WFBY0R1pDYTLG1Cetrvo6dry6APONEKN6uMAE5QYocplNMaAmor254npACzT0jD+NlNu4Vf+7Y24BTnYH/PaLGO2vTbf86+YtgJyIKm/aTP3Bejvs2Xy/uEMkHXlk8bcPyQNgA4M6dd4lQdLK2wqa1ne56UAgwan37il+m+iV7VA5zd0sHSt7dO9IG231OelECNKX2tthPAfrBpCjAqQjojQurHFoaYznhh0AIc7zUssi4gcUZtDhd+qG132JXGK9Z8jhGU8FBTA6rv1CRlT7NPgUhT8eHM/tvl/eJH9QrcvJMnL6S1i34PPjwFI4DDJXUwD6CINiHk/hwAoDDAu1ly4Gu+wYFXTlMPozjqHs+pwQlH5oFT6wyqqJKLP1znfIR0b7BXjA52TlT2poHj9tOvADQfNQY01VJiZytyWVGdPNT19WQCok2QU8zXmTx1+zQ1FOD6Zv2rTPf7+8UXpsp3c8DZKRfhW19EAz01h06Vk+l6XhU+E35/0ocTvmFvppACUYfFh4Ly6XC/+HycEjQOHIzbAC1fli7M0Cb0beKU1saxFBhPAW7yJZ2CMfaucJ84MP5xvesIa/We1rsPK5o3hx7AHvC3WNDUI5K9bzQFWDVjsRHQi7CefRh9mtig4XIllzj9suAdpS/gzbstaJiENqSOAixlQhoC/34F82vuo68JrEKZLCQDzjbZ54X0IEBjnjEgWblt7DxSIAIMg+YfMLh5n/+wONQoGWICRwp3FwY4BdDpwJHT9mkapbd9r90U4M4IHz4F6Md8D/2ZvwiW0t+N9z1Lmq3JgXOD7PCW0C8CMHfh2KRs3BY0SWls47eLAtxvqT3AqwDLqwDNUzh9gvroEACjZVW7scCBpYzmUi/UsUuQhQ8BqTfC0HylQix/jq2zLO7yELgCePlOtyMqtyo8iMCLEVYWJLxw4UE8U14HFWKpgVac8yV8krAotdmU44WyOYuGZ7MuEQMqowaOARo/R3X9E/j2n7Ef2A9pv4jWNq77YvIHHm8ESkWaT93UDbItxoZKy/HBFfiwRIV/E8dBoJghk7vg0LDnuSNFko5qyJgg0ok2AXUUGkASyVu1sS4QUhiG8JTDon58pTYLZcQo1FCIhdxnLHA+CPCsY73BuABvi+6ewWeoNOsfwQ/cbKQmILPHQeXjWGHzdb9Ih+kh8WarM58qArWaGK1Of8Oz//sn5BTvCUsjxjVETkeXgHvRvYeuu/yBVtMhC+mPVdWyUCKTy+CTJ+B/amJrxUoFhKflh5j8YwkVk1A6okGVIzdyMDVO4qBvhq4BFo+2IRYFLHBikUlPJI+tCgAO2NM4BuWtlEf7bXqKm+lULHDaWb1AjIhmqBoJHNdhc6ENcShggROHSpriCOFitw+IG1fPWIKmbEXJIEuS9/mwIRYFLHBikUlTJPRxsEsOpI6BwInM6BY4MavaAicmobREU6Yr5k3zVCLu49gQnwIWOPFp1XRM4EZixim8PyB6zAsSubPoiVkvFjgxCaUjmisc6GrwzZDvLKWqI11NafjYFNZEQGsqnt5kLHD00nPS1FwYBWAdYB8dE11lA7ZbTFoA+3CUAhY4o6RowwnLGgoD2AeMAw5MFsiXkSpkGyom+ScscJLTrOE3YO0NXXLYw9NAL0/ypbTm6LiVa4ETl1Ia4sFBOkQH3FxVTZhoJtdA+BYkYYHTAqLWS1KAMWH29aGqGSdx0L/xMXvCGgfqVd64+xY44wjSyktPOIEQ2EpBYNk7wwLM5B4MFxY4MevFAicmoXREgytYgKluAA2kjmkBYJaOkWZy0yil8mOB08ZqcdCie44sw7ZmnMSBa7QLUFuJE5MfLHBiEkpHNM+FqiYBHF6h2LCAsSV4oCrXbcNyZmZ2LHDaWC8uVDWsUVRGf8I44MBVzcV6IsaNL7WxehJ9ygInEbmai+xIXtnDKQE42KTUuOBg+NMCJ2a1WODEJJSOaIUQfmqug5U6pHHAgakctnJ4NdgQiwIWOLHIpCeS5zm+EKYChx3osMCSDbEoYIETi0x6Inmu8OHlOYJ114yTOMq9E6qknpJmPxULnDbWcSFkPzWoaZA6bfxsrE/BoAY/TytxYhELkSxw4lJKQ7yCEH7giGHMADVP4mDhKnh5mjcwq4HurUjCAqcVVK2TJjwHfIwzDmEym3HmaMxODR1X7TZcJ/f2di0FLHBqqdHi8yKMA5gpNmyirxqkYCgC28eJywIWOHEppSFeUYiSXw6GYfk1T+LA+9QRRePypYHsLUnCAqclZJ04US8o+6JQHFRTCyaOMn130b8phCXbx4lZAxY4MQmlI1qx4MAD2RnCdDbjGBR9HCwJ32ElTsyKtsCJSSgd0eAMVsYM0EFsomMccLCKpycD37h86aB7K9KwwGkFVeukWRQOxnDCQSxgZtxAI2YKea7rWYlTp+7G37bAGU+RFl5jXbUSlog6j1F644CD2Z8eTOUWODHr3wInJqF0ROsSbikgfxBbHxoHHNdx3aAUWuDErGgLnJiE0hGt0OWV3LJ/LjBxbr8TuAXXvIFZHXRvRRoWOK2gar00/bDkkXe+y/OMkzihKDo0s2SgK1A9Yk7vfQucNtK/s+SXpBuec0zcH4c3lPd9q6rF5AcLnJiE0hEtcIsjswtyAHP7jVujGRvSi8GhDitxYla0BU5MQumINrvQM1LsHhigczpS05vGEJ0Xi1b2GjfdQW8p9aVmgaOPllOm9K//SSPzlh03dpCx18w1raek63RE+H8MlWCiS2T8VgAAAABJRU5ErkJggg==';
|
|
8
8
|
exports.uploadPlaceholder = uploadPlaceholder;
|
|
9
9
|
var errorIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAACECAYAAAC9HST0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAABCRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjEyNTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTMyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAg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';
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.viewport = exports.default = exports.ImageNavigator = void 0;
|
|
11
11
|
|
|
12
12
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
13
|
|
|
@@ -31,7 +31,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
31
31
|
|
|
32
32
|
var _react = _interopRequireWildcard(require("react"));
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _reactIntlNext = require("react-intl-next");
|
|
35
35
|
|
|
36
36
|
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
37
37
|
|
|
@@ -170,12 +170,12 @@ var ImageNavigator = /*#__PURE__*/function (_Component) {
|
|
|
170
170
|
|
|
171
171
|
_this.exportCrop();
|
|
172
172
|
});
|
|
173
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "exportCroppedImage", function () {
|
|
173
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "exportCroppedImage", function (outputSize) {
|
|
174
174
|
var _assertThisInitialize = (0, _assertThisInitialized2.default)(_this),
|
|
175
175
|
imageElement = _assertThisInitialize.imageElement;
|
|
176
176
|
|
|
177
177
|
if (imageElement) {
|
|
178
|
-
var canvas = (0, _viewport2.renderViewport)(_this.state.viewport, imageElement);
|
|
178
|
+
var canvas = (0, _viewport2.renderViewport)(_this.state.viewport, imageElement, document.createElement('canvas'), outputSize);
|
|
179
179
|
|
|
180
180
|
if (canvas) {
|
|
181
181
|
return canvas.toDataURL();
|
|
@@ -376,10 +376,10 @@ var ImageNavigator = /*#__PURE__*/function (_Component) {
|
|
|
376
376
|
var _this$props2 = this.props,
|
|
377
377
|
errorMessage = _this$props2.errorMessage,
|
|
378
378
|
isLoading = _this$props2.isLoading;
|
|
379
|
-
return /*#__PURE__*/_react.default.createElement(_styled.ImageUploader, null, this.renderDragZone(), isLoading ? null : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_styled.PaddedBreak, null, /*#__PURE__*/_react.default.createElement(
|
|
379
|
+
return /*#__PURE__*/_react.default.createElement(_styled.ImageUploader, null, this.renderDragZone(), isLoading ? null : /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_styled.PaddedBreak, null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, errorMessage ? _mediaUi.messages.try_again : _mediaUi.messages.or)), /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
|
|
380
380
|
onClick: this.onUploadButtonClick,
|
|
381
381
|
isDisabled: isLoading
|
|
382
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
382
|
+
}, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.upload_photo), /*#__PURE__*/_react.default.createElement(_styled.FileInput, {
|
|
383
383
|
type: "file",
|
|
384
384
|
id: "image-input",
|
|
385
385
|
onChange: this.onFileChange,
|
|
@@ -441,6 +441,6 @@ var ImageNavigator = /*#__PURE__*/function (_Component) {
|
|
|
441
441
|
|
|
442
442
|
exports.ImageNavigator = ImageNavigator;
|
|
443
443
|
|
|
444
|
-
var _default = (0,
|
|
444
|
+
var _default = (0, _reactIntlNext.injectIntl)(ImageNavigator);
|
|
445
445
|
|
|
446
446
|
exports.default = _default;
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.defaultProps = exports.Slider = void 0;
|
|
11
11
|
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.SliderWrapper = exports.
|
|
10
|
+
exports.SliderWrapper = exports.SliderContainer = exports.SelectionBlocker = exports.PaddedBreak = exports.ImageUploader = exports.ImageBg = exports.FileInput = exports.DragZoneText = exports.DragZoneImage = exports.DragZone = exports.Container = void 0;
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.zoomToFit = zoomToFit;
|
|
7
6
|
exports.applyConstraints = applyConstraints;
|
|
8
7
|
exports.applyFullConstraints = applyFullConstraints;
|
|
9
8
|
exports.applyPartialConstraints = applyPartialConstraints;
|
|
10
9
|
exports.transformVisibleBoundsToImageCoords = transformVisibleBoundsToImageCoords;
|
|
10
|
+
exports.zoomToFit = zoomToFit;
|
|
11
11
|
|
|
12
12
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
13
13
|
|
|
@@ -5,9 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.radians = radians;
|
|
9
8
|
exports.applyOrientation = applyOrientation;
|
|
10
9
|
exports.initialiseImagePreview = initialiseImagePreview;
|
|
10
|
+
exports.radians = radians;
|
|
11
11
|
exports.renderImageAtCurrentView = renderImageAtCurrentView;
|
|
12
12
|
|
|
13
13
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.defaultProps = exports.ImagePlacer = exports.DEFAULT_ZOOM = exports.DEFAULT_USE_CONSTRAINTS = exports.DEFAULT_USE_CIRCULAR_CLIP_WITH_ACTIONS = exports.DEFAULT_USE_CIRCULAR = exports.DEFAULT_ORIGIN_Y = exports.DEFAULT_ORIGIN_X = exports.DEFAULT_MAX_ZOOM = exports.DEFAULT_MARGIN = exports.DEFAULT_CONTAINER_SIZE = exports.DEFAULT_BACKGROUND_COLOR = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.checkeredBg = exports.MarginWrapperSquare = exports.MarginWrapperCircle = exports.ImageWrapper = exports.ImagePlacerWrapper = exports.ImagePlacerErrorWrapper = exports.EASING = exports.ContainerWrapper = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
@@ -35,9 +35,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
35
35
|
|
|
36
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; }
|
|
37
37
|
|
|
38
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
38
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
39
39
|
|
|
40
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
41
41
|
|
|
42
42
|
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); }; }
|
|
43
43
|
|
|
@@ -23,7 +23,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
23
|
|
|
24
24
|
var _react = _interopRequireWildcard(require("react"));
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _reactIntlNext = require("react-intl-next");
|
|
27
27
|
|
|
28
28
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
29
29
|
|
|
@@ -102,7 +102,7 @@ var PredefinedAvatarView = /*#__PURE__*/function (_PureComponent2) {
|
|
|
102
102
|
onClick: onGoBack
|
|
103
103
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
104
104
|
className: "description"
|
|
105
|
-
}, predefinedAvatarsText || /*#__PURE__*/_react.default.createElement(
|
|
105
|
+
}, predefinedAvatarsText || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _mediaUi.messages.default_avatars))), /*#__PURE__*/_react.default.createElement("ul", null, cards));
|
|
106
106
|
}
|
|
107
107
|
}, {
|
|
108
108
|
key: "createOnItemClickHandler",
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.SmallAvatarImage = exports.PredefinedAvatarViewWrapper = exports.LargeAvatarImage = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
package/dist/cjs/version.json
CHANGED
|
@@ -13,6 +13,7 @@ exports.radians = radians;
|
|
|
13
13
|
|
|
14
14
|
var renderViewport = function renderViewport(viewport, image) {
|
|
15
15
|
var canvas = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.createElement('canvas');
|
|
16
|
+
var outputSize = arguments.length > 3 ? arguments[3] : undefined;
|
|
16
17
|
var visibleSourceBounds = viewport.visibleSourceBounds,
|
|
17
18
|
innerBounds = viewport.innerBounds,
|
|
18
19
|
itemSourceBounds = viewport.itemSourceBounds,
|
|
@@ -20,8 +21,10 @@ var renderViewport = function renderViewport(viewport, image) {
|
|
|
20
21
|
var sourceBounds = visibleSourceBounds;
|
|
21
22
|
var width = innerBounds.width,
|
|
22
23
|
height = innerBounds.height;
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
var targetSizeActual = outputSize !== null && outputSize !== void 0 ? outputSize : width;
|
|
25
|
+
var outputScaleFactor = targetSizeActual / width;
|
|
26
|
+
canvas.width = width * outputScaleFactor;
|
|
27
|
+
canvas.height = height * outputScaleFactor;
|
|
25
28
|
var ctx = canvas.getContext('2d');
|
|
26
29
|
|
|
27
30
|
if (ctx && image) {
|
|
@@ -34,13 +37,13 @@ var renderViewport = function renderViewport(viewport, image) {
|
|
|
34
37
|
|
|
35
38
|
case 3:
|
|
36
39
|
sourceBounds = sourceBounds.hFlipWithin(itemSourceBounds).vFlipWithin(itemSourceBounds);
|
|
37
|
-
ctx.translate(width, height);
|
|
40
|
+
ctx.translate(width * outputScaleFactor, height * outputScaleFactor);
|
|
38
41
|
ctx.scale(-1, -1);
|
|
39
42
|
break;
|
|
40
43
|
|
|
41
44
|
case 4:
|
|
42
45
|
sourceBounds = sourceBounds.vFlipWithin(itemSourceBounds);
|
|
43
|
-
ctx.translate(0, height);
|
|
46
|
+
ctx.translate(0, height * outputScaleFactor);
|
|
44
47
|
ctx.scale(1, -1);
|
|
45
48
|
break;
|
|
46
49
|
|
|
@@ -75,7 +78,7 @@ var renderViewport = function renderViewport(viewport, image) {
|
|
|
75
78
|
break;
|
|
76
79
|
}
|
|
77
80
|
|
|
78
|
-
ctx.drawImage(image, sourceBounds.x, sourceBounds.y, sourceBounds.width, sourceBounds.height, 0, 0, width, height);
|
|
81
|
+
ctx.drawImage(image, sourceBounds.x, sourceBounds.y, sourceBounds.width, sourceBounds.height, 0, 0, width * outputScaleFactor, height * outputScaleFactor);
|
|
79
82
|
return canvas;
|
|
80
83
|
} else {
|
|
81
84
|
return null;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.Viewport = exports.
|
|
8
|
+
exports.Viewport = exports.MAX_SCALE = exports.DEFAULT_WIDTH = exports.DEFAULT_MARGIN = exports.DEFAULT_INNER_WIDTH = exports.DEFAULT_INNER_HEIGHT = exports.DEFAULT_HEIGHT = void 0;
|
|
9
9
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
|
|
@@ -17,9 +17,9 @@ export default class AsyncAvatarPickerDialog extends React.PureComponent {
|
|
|
17
17
|
const module = await import(
|
|
18
18
|
/* webpackChunkName: "@atlaskit-internal_media-avatar-picker" */
|
|
19
19
|
'.');
|
|
20
|
-
AsyncAvatarPickerDialog.AvatarPickerDialog = module.
|
|
20
|
+
AsyncAvatarPickerDialog.AvatarPickerDialog = module.default;
|
|
21
21
|
this.setState({
|
|
22
|
-
AvatarPickerDialog: module.
|
|
22
|
+
AvatarPickerDialog: module.default
|
|
23
23
|
});
|
|
24
24
|
} catch (error) {// TODO [MS-2272]: Add operational error to catch async import error
|
|
25
25
|
}
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { PureComponent } from 'react';
|
|
4
4
|
import ModalDialog, { ModalFooter, ModalBody } from '@atlaskit/modal-dialog';
|
|
5
5
|
import Button from '@atlaskit/button/custom-theme-button';
|
|
6
|
-
import { FormattedMessage,
|
|
6
|
+
import { FormattedMessage, IntlProvider, injectIntl } from 'react-intl-next';
|
|
7
7
|
import { fileToDataURI, dataURItoFile, messages } from '@atlaskit/media-ui';
|
|
8
8
|
import ImageNavigator from '../image-navigator';
|
|
9
9
|
import { PredefinedAvatarList } from '../predefined-avatar-list';
|
|
@@ -60,13 +60,14 @@ export class AvatarPickerDialog extends PureComponent {
|
|
|
60
60
|
this.exportCroppedImage = loadParams.export;
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
-
_defineProperty(this, "exportCroppedImage",
|
|
63
|
+
_defineProperty(this, "exportCroppedImage", outputSize => '');
|
|
64
64
|
|
|
65
65
|
_defineProperty(this, "onSaveClick", () => {
|
|
66
66
|
const {
|
|
67
67
|
onImagePicked,
|
|
68
68
|
onImagePickedDataURI,
|
|
69
|
-
onAvatarPicked
|
|
69
|
+
onAvatarPicked,
|
|
70
|
+
outputSize
|
|
70
71
|
} = this.props;
|
|
71
72
|
const {
|
|
72
73
|
selectedImage,
|
|
@@ -74,7 +75,7 @@ export class AvatarPickerDialog extends PureComponent {
|
|
|
74
75
|
} = this.state;
|
|
75
76
|
|
|
76
77
|
if (selectedImage) {
|
|
77
|
-
const exportedCroppedImageURI = this.exportCroppedImage();
|
|
78
|
+
const exportedCroppedImageURI = this.exportCroppedImage(outputSize);
|
|
78
79
|
|
|
79
80
|
if (onImagePicked) {
|
|
80
81
|
onImagePicked(dataURItoFile(exportedCroppedImageURI), fixedCrop);
|
|
@@ -164,7 +165,7 @@ export class AvatarPickerDialog extends PureComponent {
|
|
|
164
165
|
shouldScrollInViewport: true,
|
|
165
166
|
onClose: this.props.onCancel
|
|
166
167
|
}, this.headerContent(), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(AvatarPickerViewWrapper, null, this.renderBody())), this.footerContent());
|
|
167
|
-
return this.
|
|
168
|
+
return this.props.intl ? content : /*#__PURE__*/React.createElement(IntlProvider, {
|
|
168
169
|
locale: "en"
|
|
169
170
|
}, content);
|
|
170
171
|
}
|
|
@@ -263,6 +264,6 @@ _defineProperty(AvatarPickerDialog, "defaultProps", {
|
|
|
263
264
|
avatars: []
|
|
264
265
|
});
|
|
265
266
|
|
|
266
|
-
|
|
267
|
-
|
|
267
|
+
export default injectIntl(AvatarPickerDialog, {
|
|
268
|
+
enforceContext: false
|
|
268
269
|
});
|
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Component } from 'react';
|
|
4
4
|
import CrossIcon from '@atlaskit/icon/glyph/cross';
|
|
5
|
-
import { injectIntl } from 'react-intl';
|
|
5
|
+
import { injectIntl } from 'react-intl-next';
|
|
6
6
|
import { messages, MediaImage } from '@atlaskit/media-ui';
|
|
7
7
|
import { isImageRemote } from './isImageRemote';
|
|
8
8
|
import { CircularMask, Container, DragOverlay, RectMask, RemoveImageContainer, RemoveImageButton, ImageContainer } from './styled';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Component } from 'react';
|
|
4
|
-
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
4
|
+
import { FormattedMessage, injectIntl } from 'react-intl-next';
|
|
5
5
|
import Button from '@atlaskit/button/custom-theme-button';
|
|
6
6
|
import ImageCropper from '../image-cropper';
|
|
7
7
|
import Spinner from '@atlaskit/spinner';
|
|
@@ -110,13 +110,13 @@ export class ImageNavigator extends Component {
|
|
|
110
110
|
this.exportCrop();
|
|
111
111
|
});
|
|
112
112
|
|
|
113
|
-
_defineProperty(this, "exportCroppedImage",
|
|
113
|
+
_defineProperty(this, "exportCroppedImage", outputSize => {
|
|
114
114
|
const {
|
|
115
115
|
imageElement
|
|
116
116
|
} = this;
|
|
117
117
|
|
|
118
118
|
if (imageElement) {
|
|
119
|
-
const canvas = renderViewport(this.state.viewport, imageElement);
|
|
119
|
+
const canvas = renderViewport(this.state.viewport, imageElement, document.createElement('canvas'), outputSize);
|
|
120
120
|
|
|
121
121
|
if (canvas) {
|
|
122
122
|
return canvas.toDataURL();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PureComponent } from 'react';
|
|
4
|
-
import { FormattedMessage } from 'react-intl';
|
|
4
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
5
5
|
import { messages } from '@atlaskit/media-ui';
|
|
6
6
|
import { PredefinedAvatarViewWrapper, LargeAvatarImage } from './styled';
|
|
7
7
|
import ArrowLeftIcon from '@atlaskit/icon/glyph/arrow-left';
|
package/dist/es2019/version.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const radians = deg => deg * (Math.PI / 180);
|
|
2
|
-
export const renderViewport = (viewport, image, canvas = document.createElement('canvas')) => {
|
|
2
|
+
export const renderViewport = (viewport, image, canvas = document.createElement('canvas'), outputSize) => {
|
|
3
3
|
const {
|
|
4
4
|
visibleSourceBounds,
|
|
5
5
|
innerBounds,
|
|
@@ -11,8 +11,10 @@ export const renderViewport = (viewport, image, canvas = document.createElement(
|
|
|
11
11
|
width,
|
|
12
12
|
height
|
|
13
13
|
} = innerBounds;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const targetSizeActual = outputSize !== null && outputSize !== void 0 ? outputSize : width;
|
|
15
|
+
const outputScaleFactor = targetSizeActual / width;
|
|
16
|
+
canvas.width = width * outputScaleFactor;
|
|
17
|
+
canvas.height = height * outputScaleFactor;
|
|
16
18
|
const ctx = canvas.getContext('2d');
|
|
17
19
|
|
|
18
20
|
if (ctx && image) {
|
|
@@ -25,13 +27,13 @@ export const renderViewport = (viewport, image, canvas = document.createElement(
|
|
|
25
27
|
|
|
26
28
|
case 3:
|
|
27
29
|
sourceBounds = sourceBounds.hFlipWithin(itemSourceBounds).vFlipWithin(itemSourceBounds);
|
|
28
|
-
ctx.translate(width, height);
|
|
30
|
+
ctx.translate(width * outputScaleFactor, height * outputScaleFactor);
|
|
29
31
|
ctx.scale(-1, -1);
|
|
30
32
|
break;
|
|
31
33
|
|
|
32
34
|
case 4:
|
|
33
35
|
sourceBounds = sourceBounds.vFlipWithin(itemSourceBounds);
|
|
34
|
-
ctx.translate(0, height);
|
|
36
|
+
ctx.translate(0, height * outputScaleFactor);
|
|
35
37
|
ctx.scale(1, -1);
|
|
36
38
|
break;
|
|
37
39
|
|
|
@@ -66,7 +68,7 @@ export const renderViewport = (viewport, image, canvas = document.createElement(
|
|
|
66
68
|
break;
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
ctx.drawImage(image, sourceBounds.x, sourceBounds.y, sourceBounds.width, sourceBounds.height, 0, 0, width, height);
|
|
71
|
+
ctx.drawImage(image, sourceBounds.x, sourceBounds.y, sourceBounds.width, sourceBounds.height, 0, 0, width * outputScaleFactor, height * outputScaleFactor);
|
|
70
72
|
return canvas;
|
|
71
73
|
} else {
|
|
72
74
|
return null;
|
|
@@ -61,9 +61,9 @@ var AsyncAvatarPickerDialog = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
61
61
|
|
|
62
62
|
case 4:
|
|
63
63
|
module = _context.sent;
|
|
64
|
-
AsyncAvatarPickerDialog.AvatarPickerDialog = module.
|
|
64
|
+
AsyncAvatarPickerDialog.AvatarPickerDialog = module.default;
|
|
65
65
|
this.setState({
|
|
66
|
-
AvatarPickerDialog: module.
|
|
66
|
+
AvatarPickerDialog: module.default
|
|
67
67
|
});
|
|
68
68
|
_context.next = 11;
|
|
69
69
|
break;
|
|
@@ -16,7 +16,7 @@ import React from 'react';
|
|
|
16
16
|
import { PureComponent } from 'react';
|
|
17
17
|
import ModalDialog, { ModalFooter, ModalBody } from '@atlaskit/modal-dialog';
|
|
18
18
|
import Button from '@atlaskit/button/custom-theme-button';
|
|
19
|
-
import { FormattedMessage,
|
|
19
|
+
import { FormattedMessage, IntlProvider, injectIntl } from 'react-intl-next';
|
|
20
20
|
import { fileToDataURI, dataURItoFile, messages } from '@atlaskit/media-ui';
|
|
21
21
|
import ImageNavigator from '../image-navigator';
|
|
22
22
|
import { PredefinedAvatarList } from '../predefined-avatar-list';
|
|
@@ -114,7 +114,7 @@ export var AvatarPickerDialog = /*#__PURE__*/function (_PureComponent) {
|
|
|
114
114
|
_this.exportCroppedImage = loadParams.export;
|
|
115
115
|
});
|
|
116
116
|
|
|
117
|
-
_defineProperty(_assertThisInitialized(_this), "exportCroppedImage", function () {
|
|
117
|
+
_defineProperty(_assertThisInitialized(_this), "exportCroppedImage", function (outputSize) {
|
|
118
118
|
return '';
|
|
119
119
|
});
|
|
120
120
|
|
|
@@ -122,13 +122,14 @@ export var AvatarPickerDialog = /*#__PURE__*/function (_PureComponent) {
|
|
|
122
122
|
var _this$props = _this.props,
|
|
123
123
|
onImagePicked = _this$props.onImagePicked,
|
|
124
124
|
onImagePickedDataURI = _this$props.onImagePickedDataURI,
|
|
125
|
-
onAvatarPicked = _this$props.onAvatarPicked
|
|
125
|
+
onAvatarPicked = _this$props.onAvatarPicked,
|
|
126
|
+
outputSize = _this$props.outputSize;
|
|
126
127
|
var _this$state = _this.state,
|
|
127
128
|
selectedImage = _this$state.selectedImage,
|
|
128
129
|
selectedAvatar = _this$state.selectedAvatar;
|
|
129
130
|
|
|
130
131
|
if (selectedImage) {
|
|
131
|
-
var exportedCroppedImageURI = _this.exportCroppedImage();
|
|
132
|
+
var exportedCroppedImageURI = _this.exportCroppedImage(outputSize);
|
|
132
133
|
|
|
133
134
|
if (onImagePicked) {
|
|
134
135
|
onImagePicked(dataURItoFile(exportedCroppedImageURI), fixedCrop);
|
|
@@ -220,7 +221,7 @@ export var AvatarPickerDialog = /*#__PURE__*/function (_PureComponent) {
|
|
|
220
221
|
shouldScrollInViewport: true,
|
|
221
222
|
onClose: this.props.onCancel
|
|
222
223
|
}, this.headerContent(), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(AvatarPickerViewWrapper, null, this.renderBody())), this.footerContent());
|
|
223
|
-
return this.
|
|
224
|
+
return this.props.intl ? content : /*#__PURE__*/React.createElement(IntlProvider, {
|
|
224
225
|
locale: "en"
|
|
225
226
|
}, content);
|
|
226
227
|
}
|
|
@@ -314,6 +315,6 @@ _defineProperty(AvatarPickerDialog, "defaultProps", {
|
|
|
314
315
|
avatars: []
|
|
315
316
|
});
|
|
316
317
|
|
|
317
|
-
|
|
318
|
-
|
|
318
|
+
export default injectIntl(AvatarPickerDialog, {
|
|
319
|
+
enforceContext: false
|
|
319
320
|
});
|
|
@@ -13,7 +13,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
13
13
|
import React from 'react';
|
|
14
14
|
import { Component } from 'react';
|
|
15
15
|
import CrossIcon from '@atlaskit/icon/glyph/cross';
|
|
16
|
-
import { injectIntl } from 'react-intl';
|
|
16
|
+
import { injectIntl } from 'react-intl-next';
|
|
17
17
|
import { messages, MediaImage } from '@atlaskit/media-ui';
|
|
18
18
|
import { isImageRemote } from './isImageRemote';
|
|
19
19
|
import { CircularMask, Container, DragOverlay, RectMask, RemoveImageContainer, RemoveImageButton, ImageContainer } from './styled';
|
|
@@ -15,7 +15,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
15
15
|
|
|
16
16
|
import React from 'react';
|
|
17
17
|
import { Component } from 'react';
|
|
18
|
-
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
18
|
+
import { FormattedMessage, injectIntl } from 'react-intl-next';
|
|
19
19
|
import Button from '@atlaskit/button/custom-theme-button';
|
|
20
20
|
import ImageCropper from '../image-cropper';
|
|
21
21
|
import Spinner from '@atlaskit/spinner';
|
|
@@ -138,12 +138,12 @@ export var ImageNavigator = /*#__PURE__*/function (_Component) {
|
|
|
138
138
|
_this.exportCrop();
|
|
139
139
|
});
|
|
140
140
|
|
|
141
|
-
_defineProperty(_assertThisInitialized(_this), "exportCroppedImage", function () {
|
|
141
|
+
_defineProperty(_assertThisInitialized(_this), "exportCroppedImage", function (outputSize) {
|
|
142
142
|
var _assertThisInitialize = _assertThisInitialized(_this),
|
|
143
143
|
imageElement = _assertThisInitialize.imageElement;
|
|
144
144
|
|
|
145
145
|
if (imageElement) {
|
|
146
|
-
var canvas = renderViewport(_this.state.viewport, imageElement);
|
|
146
|
+
var canvas = renderViewport(_this.state.viewport, imageElement, document.createElement('canvas'), outputSize);
|
|
147
147
|
|
|
148
148
|
if (canvas) {
|
|
149
149
|
return canvas.toDataURL();
|
|
@@ -5,9 +5,9 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
5
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
7
|
|
|
8
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
8
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
9
|
|
|
10
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
11
|
|
|
12
12
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
13
13
|
|
|
@@ -11,7 +11,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
11
11
|
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import { PureComponent } from 'react';
|
|
14
|
-
import { FormattedMessage } from 'react-intl';
|
|
14
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
15
15
|
import { messages } from '@atlaskit/media-ui';
|
|
16
16
|
import { PredefinedAvatarViewWrapper, LargeAvatarImage } from './styled';
|
|
17
17
|
import ArrowLeftIcon from '@atlaskit/icon/glyph/arrow-left';
|
package/dist/esm/version.json
CHANGED
|
@@ -3,6 +3,7 @@ export var radians = function radians(deg) {
|
|
|
3
3
|
};
|
|
4
4
|
export var renderViewport = function renderViewport(viewport, image) {
|
|
5
5
|
var canvas = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.createElement('canvas');
|
|
6
|
+
var outputSize = arguments.length > 3 ? arguments[3] : undefined;
|
|
6
7
|
var visibleSourceBounds = viewport.visibleSourceBounds,
|
|
7
8
|
innerBounds = viewport.innerBounds,
|
|
8
9
|
itemSourceBounds = viewport.itemSourceBounds,
|
|
@@ -10,8 +11,10 @@ export var renderViewport = function renderViewport(viewport, image) {
|
|
|
10
11
|
var sourceBounds = visibleSourceBounds;
|
|
11
12
|
var width = innerBounds.width,
|
|
12
13
|
height = innerBounds.height;
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
var targetSizeActual = outputSize !== null && outputSize !== void 0 ? outputSize : width;
|
|
15
|
+
var outputScaleFactor = targetSizeActual / width;
|
|
16
|
+
canvas.width = width * outputScaleFactor;
|
|
17
|
+
canvas.height = height * outputScaleFactor;
|
|
15
18
|
var ctx = canvas.getContext('2d');
|
|
16
19
|
|
|
17
20
|
if (ctx && image) {
|
|
@@ -24,13 +27,13 @@ export var renderViewport = function renderViewport(viewport, image) {
|
|
|
24
27
|
|
|
25
28
|
case 3:
|
|
26
29
|
sourceBounds = sourceBounds.hFlipWithin(itemSourceBounds).vFlipWithin(itemSourceBounds);
|
|
27
|
-
ctx.translate(width, height);
|
|
30
|
+
ctx.translate(width * outputScaleFactor, height * outputScaleFactor);
|
|
28
31
|
ctx.scale(-1, -1);
|
|
29
32
|
break;
|
|
30
33
|
|
|
31
34
|
case 4:
|
|
32
35
|
sourceBounds = sourceBounds.vFlipWithin(itemSourceBounds);
|
|
33
|
-
ctx.translate(0, height);
|
|
36
|
+
ctx.translate(0, height * outputScaleFactor);
|
|
34
37
|
ctx.scale(1, -1);
|
|
35
38
|
break;
|
|
36
39
|
|
|
@@ -65,7 +68,7 @@ export var renderViewport = function renderViewport(viewport, image) {
|
|
|
65
68
|
break;
|
|
66
69
|
}
|
|
67
70
|
|
|
68
|
-
ctx.drawImage(image, sourceBounds.x, sourceBounds.y, sourceBounds.width, sourceBounds.height, 0, 0, width, height);
|
|
71
|
+
ctx.drawImage(image, sourceBounds.x, sourceBounds.y, sourceBounds.width, sourceBounds.height, 0, 0, width * outputScaleFactor, height * outputScaleFactor);
|
|
69
72
|
return canvas;
|
|
70
73
|
} else {
|
|
71
74
|
return null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { AvatarPickerDialog } from '.';
|
|
3
|
+
import { default as AvatarPickerDialog } from '.';
|
|
4
4
|
import { AvatarPickerDialogProps } from './types';
|
|
5
5
|
export interface AsyncAvatarPickerDialogState {
|
|
6
6
|
AvatarPickerDialog?: typeof AvatarPickerDialog;
|
|
@@ -12,7 +12,7 @@ export default class AsyncAvatarPickerDialog extends React.PureComponent<AsyncAv
|
|
|
12
12
|
static displayName: string;
|
|
13
13
|
static AvatarPickerDialog?: typeof AvatarPickerDialog;
|
|
14
14
|
state: {
|
|
15
|
-
AvatarPickerDialog:
|
|
15
|
+
AvatarPickerDialog: React.FC<AvatarPickerDialogProps> | undefined;
|
|
16
16
|
};
|
|
17
17
|
UNSAFE_componentWillMount(): Promise<void>;
|
|
18
18
|
render(): {};
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { PureComponent } from 'react';
|
|
2
|
-
import {
|
|
3
|
+
import { WrappedComponentProps } from 'react-intl-next';
|
|
3
4
|
import { Avatar } from '../avatar-list';
|
|
4
5
|
import { CropProperties } from '../image-navigator';
|
|
5
6
|
import { LoadParameters } from '../image-navigator/index';
|
|
6
7
|
import { AvatarPickerDialogProps, AvatarPickerDialogState } from './types';
|
|
7
8
|
export declare const MAX_SIZE_MB = 10;
|
|
8
9
|
export declare const ERROR: {
|
|
9
|
-
URL:
|
|
10
|
-
FORMAT:
|
|
11
|
-
SIZE:
|
|
10
|
+
URL: import("react-intl-next").MessageDescriptor;
|
|
11
|
+
FORMAT: import("react-intl-next").MessageDescriptor;
|
|
12
|
+
SIZE: import("react-intl-next").MessageDescriptor;
|
|
12
13
|
};
|
|
13
14
|
export declare const ACCEPT: string[];
|
|
14
15
|
export declare const fixedCrop: CropProperties;
|
|
15
|
-
export declare
|
|
16
|
+
export declare type AvatarPickerDialogWithIntlProps = AvatarPickerDialogProps & Partial<WrappedComponentProps>;
|
|
17
|
+
export declare class AvatarPickerDialog extends PureComponent<AvatarPickerDialogWithIntlProps, AvatarPickerDialogState> {
|
|
16
18
|
static defaultProps: {
|
|
17
19
|
avatars: never[];
|
|
18
20
|
};
|
|
@@ -24,7 +26,7 @@ export declare class AvatarPickerDialog extends PureComponent<AvatarPickerDialog
|
|
|
24
26
|
* Initialised with no-op function. Is assigned cropped image exporting
|
|
25
27
|
* function when internal ImageCropper mounts via this.onImageNavigatorLoad
|
|
26
28
|
*/
|
|
27
|
-
exportCroppedImage: () => string;
|
|
29
|
+
exportCroppedImage: (outputSize?: number | undefined) => string;
|
|
28
30
|
onSaveClick: () => void;
|
|
29
31
|
onShowMore: () => void;
|
|
30
32
|
onGoBack: () => void;
|
|
@@ -33,9 +35,6 @@ export declare class AvatarPickerDialog extends PureComponent<AvatarPickerDialog
|
|
|
33
35
|
setErrorState: (errorMessage: string) => void;
|
|
34
36
|
onImageUploaded: () => void;
|
|
35
37
|
onImageError: (errorMessage: string) => void;
|
|
36
|
-
static contextTypes: {
|
|
37
|
-
intl: ReactIntl.IntlShape;
|
|
38
|
-
};
|
|
39
38
|
render(): JSX.Element;
|
|
40
39
|
headerContent: () => JSX.Element;
|
|
41
40
|
footerContent: () => JSX.Element;
|
|
@@ -44,3 +43,5 @@ export declare class AvatarPickerDialog extends PureComponent<AvatarPickerDialog
|
|
|
44
43
|
renderPredefinedAvatarList(): JSX.Element | null;
|
|
45
44
|
renderBody(): JSX.Element;
|
|
46
45
|
}
|
|
46
|
+
declare const _default: React.FC<AvatarPickerDialogProps>;
|
|
47
|
+
export default _default;
|
|
@@ -35,6 +35,8 @@ export interface AvatarPickerDialogProps {
|
|
|
35
35
|
isLoading?: boolean;
|
|
36
36
|
/** This property decribe the text related to the Avatar. */
|
|
37
37
|
predefinedAvatarsText?: string;
|
|
38
|
+
/** The target width/height of the resulting (square) avatar. Leave blank for default (200x200) */
|
|
39
|
+
outputSize?: number;
|
|
38
40
|
}
|
|
39
41
|
export interface AvatarPickerDialogState {
|
|
40
42
|
mode: Mode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Component } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { WrappedComponentProps } from 'react-intl-next';
|
|
4
4
|
export interface ImageCropperProp {
|
|
5
5
|
imageSource: string;
|
|
6
6
|
containerSize?: number;
|
|
@@ -15,7 +15,7 @@ export interface ImageCropperProp {
|
|
|
15
15
|
onRemoveImage: () => void;
|
|
16
16
|
onImageError: (errorMessage: string) => void;
|
|
17
17
|
}
|
|
18
|
-
export declare class ImageCropper extends Component<ImageCropperProp &
|
|
18
|
+
export declare class ImageCropper extends Component<ImageCropperProp & WrappedComponentProps, {}> {
|
|
19
19
|
static defaultProps: {
|
|
20
20
|
containerSize: number;
|
|
21
21
|
isCircleMask: boolean;
|
|
@@ -27,7 +27,5 @@ export declare class ImageCropper extends Component<ImageCropperProp & InjectedI
|
|
|
27
27
|
onImageError: () => void;
|
|
28
28
|
render(): JSX.Element | null;
|
|
29
29
|
}
|
|
30
|
-
declare const _default: React.
|
|
31
|
-
WrappedComponent: ReactIntl.ComponentConstructor<ImageCropperProp & InjectedIntlProps>;
|
|
32
|
-
};
|
|
30
|
+
declare const _default: React.FC<ImageCropperProp>;
|
|
33
31
|
export default _default;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Component } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { WrappedComponentProps } from 'react-intl-next';
|
|
4
4
|
import { Vector2 } from '@atlaskit/media-ui';
|
|
5
5
|
import { Viewport } from '../viewport';
|
|
6
6
|
export interface LoadParameters {
|
|
7
|
-
export: () => string;
|
|
7
|
+
export: (outputSize?: number) => string;
|
|
8
8
|
}
|
|
9
9
|
export declare type OnLoadHandler = (params: LoadParameters) => void;
|
|
10
10
|
export declare const viewport: Viewport;
|
|
@@ -35,7 +35,7 @@ export interface State {
|
|
|
35
35
|
imageOrientation: number;
|
|
36
36
|
viewport: Viewport;
|
|
37
37
|
}
|
|
38
|
-
export declare class ImageNavigator extends Component<Props &
|
|
38
|
+
export declare class ImageNavigator extends Component<Props & WrappedComponentProps, State> {
|
|
39
39
|
state: State;
|
|
40
40
|
imageElement?: HTMLImageElement;
|
|
41
41
|
UNSAFE_componentWillMount(): void;
|
|
@@ -55,7 +55,7 @@ export declare class ImageNavigator extends Component<Props & InjectedIntlProps,
|
|
|
55
55
|
* @param height the height of the image
|
|
56
56
|
*/
|
|
57
57
|
onImageLoaded: (image: HTMLImageElement) => void;
|
|
58
|
-
exportCroppedImage: () => string;
|
|
58
|
+
exportCroppedImage: (outputSize?: number | undefined) => string;
|
|
59
59
|
exportCrop(): void;
|
|
60
60
|
validateFile(imageFile: File): string | null;
|
|
61
61
|
readFile(imageFile: File): Promise<void>;
|
|
@@ -73,7 +73,5 @@ export declare class ImageNavigator extends Component<Props & InjectedIntlProps,
|
|
|
73
73
|
private get dataURI();
|
|
74
74
|
render(): JSX.Element;
|
|
75
75
|
}
|
|
76
|
-
declare const _default: React.
|
|
77
|
-
WrappedComponent: ReactIntl.ComponentConstructor<Props & InjectedIntlProps>;
|
|
78
|
-
};
|
|
76
|
+
declare const _default: React.FC<Props>;
|
|
79
77
|
export default _default;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Viewport } from './viewport';
|
|
2
2
|
export declare const radians: (deg: number) => number;
|
|
3
|
-
export declare const renderViewport: (viewport: Viewport, image: HTMLImageElement, canvas?: HTMLCanvasElement) => HTMLCanvasElement | null;
|
|
3
|
+
export declare const renderViewport: (viewport: Viewport, image: HTMLImageElement, canvas?: HTMLCanvasElement, outputSize?: number | undefined) => HTMLCanvasElement | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-avatar-picker",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.1.1",
|
|
4
4
|
"description": "A component to select, drag and resize image avatars. It also provides a default list of predefined avatars.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -26,33 +26,32 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@atlaskit/button": "^16.
|
|
30
|
-
"@atlaskit/icon": "^21.
|
|
31
|
-
"@atlaskit/media-ui": "^
|
|
32
|
-
"@atlaskit/modal-dialog": "^12.
|
|
33
|
-
"@atlaskit/range": "^
|
|
29
|
+
"@atlaskit/button": "^16.2.0",
|
|
30
|
+
"@atlaskit/icon": "^21.10.0",
|
|
31
|
+
"@atlaskit/media-ui": "^20.0.0",
|
|
32
|
+
"@atlaskit/modal-dialog": "^12.2.0",
|
|
33
|
+
"@atlaskit/range": "^6.0.0",
|
|
34
34
|
"@atlaskit/spinner": "^15.0.0",
|
|
35
|
-
"@atlaskit/theme": "^12.
|
|
35
|
+
"@atlaskit/theme": "^12.1.0",
|
|
36
36
|
"@babel/runtime": "^7.0.0",
|
|
37
37
|
"exenv": "^1.2.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"react": "^16.8.0",
|
|
41
|
-
"react-intl": "
|
|
41
|
+
"react-intl-next": "npm:react-intl@^5.18.1",
|
|
42
42
|
"styled-components": "^3.2.6"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@atlaskit/build-utils": "*",
|
|
46
45
|
"@atlaskit/docs": "*",
|
|
47
46
|
"@atlaskit/media-core": "^32.2.0",
|
|
48
|
-
"@atlaskit/media-test-helpers": "^
|
|
49
|
-
"@atlaskit/page": "^12.
|
|
47
|
+
"@atlaskit/media-test-helpers": "^29.2.0",
|
|
48
|
+
"@atlaskit/page": "^12.1.0",
|
|
50
49
|
"@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
|
|
51
50
|
"@types/enzyme": "^3.1.15",
|
|
52
51
|
"enzyme": "^3.10.0",
|
|
53
52
|
"react": "^16.8.0",
|
|
54
53
|
"react-dom": "^16.8.0",
|
|
55
|
-
"react-intl": "
|
|
54
|
+
"react-intl-next": "npm:react-intl@^5.18.1",
|
|
56
55
|
"typescript": "3.9.6"
|
|
57
56
|
},
|
|
58
57
|
"prettier": "@atlassian/atlassian-frontend-prettier-config-1.0.1"
|