@atlaskit/media-avatar-picker 26.0.7 → 26.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/cjs/avatar-picker-dialog/layout-const.js +3 -2
- package/dist/cjs/image-cropper/index.compiled.css +6 -2
- package/dist/cjs/image-cropper/index.js +78 -6
- package/dist/cjs/image-navigator/index.js +28 -4
- package/dist/cjs/image-navigator/slider.js +11 -5
- package/dist/cjs/index.js +2 -2
- package/dist/es2019/avatar-picker-dialog/layout-const.js +2 -1
- package/dist/es2019/image-cropper/index.compiled.css +6 -2
- package/dist/es2019/image-cropper/index.js +81 -6
- package/dist/es2019/image-navigator/index.js +30 -4
- package/dist/es2019/image-navigator/slider.js +12 -4
- package/dist/es2019/index.js +1 -1
- package/dist/esm/avatar-picker-dialog/layout-const.js +2 -1
- package/dist/esm/image-cropper/index.compiled.css +6 -2
- package/dist/esm/image-cropper/index.js +78 -6
- package/dist/esm/image-navigator/index.js +28 -4
- package/dist/esm/image-navigator/slider.js +10 -4
- package/dist/esm/index.js +1 -1
- package/dist/types/avatar-picker-dialog/layout-const.d.ts +1 -0
- package/dist/types/image-cropper/index.d.ts +5 -0
- package/dist/types/image-navigator/index.d.ts +1 -0
- package/dist/types/image-navigator/slider.d.ts +6 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types-ts4.5/avatar-picker-dialog/layout-const.d.ts +1 -0
- package/dist/types-ts4.5/image-cropper/index.d.ts +5 -0
- package/dist/types-ts4.5/image-navigator/index.d.ts +1 -0
- package/dist/types-ts4.5/image-navigator/slider.d.ts +6 -1
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @atlaskit/media-avatar-picker
|
|
2
2
|
|
|
3
|
+
## 26.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#141250](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/141250)
|
|
8
|
+
[`97fb574ab2188`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/97fb574ab2188) -
|
|
9
|
+
Keyboard only & screen reader navigation support for avatar image cropping functionality & added
|
|
10
|
+
a11y label for the zoom-in & zoom-out buttons
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
16
|
+
## 26.0.8
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies
|
|
21
|
+
|
|
3
22
|
## 26.0.7
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
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;
|
|
6
|
+
exports.PREDEFINED_AVATARS_VIEW_WIDTH = exports.PREDEFINED_AVATARS_VIEW_HEIGHT = exports.IMAGE_MOVE_UNIT = 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
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
8
8
|
var DEFAULT_VISIBLE_PREDEFINED_AVATARS = exports.DEFAULT_VISIBLE_PREDEFINED_AVATARS = 5;
|
|
9
9
|
var AVATAR_DIALOG_WIDTH = exports.AVATAR_DIALOG_WIDTH = 375;
|
|
@@ -13,4 +13,5 @@ var PREDEFINED_AVATARS_VIEW_HEIGHT = exports.PREDEFINED_AVATARS_VIEW_HEIGHT = 29
|
|
|
13
13
|
var CONTAINER_SIZE = exports.CONTAINER_SIZE = 8 * 32;
|
|
14
14
|
var CONTAINER_INNER_SIZE = exports.CONTAINER_INNER_SIZE = 8 * 25;
|
|
15
15
|
var CONTAINER_PADDING = exports.CONTAINER_PADDING = (CONTAINER_SIZE - CONTAINER_INNER_SIZE) / 2;
|
|
16
|
-
var CONTAINER_RECT = exports.CONTAINER_RECT = new _mediaUi.Rectangle(CONTAINER_SIZE, CONTAINER_SIZE);
|
|
16
|
+
var CONTAINER_RECT = exports.CONTAINER_RECT = new _mediaUi.Rectangle(CONTAINER_SIZE, CONTAINER_SIZE);
|
|
17
|
+
var IMAGE_MOVE_UNIT = exports.IMAGE_MOVE_UNIT = 5;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
._2rko14q2{border-radius:var(--ds-border-radius-circle,2002pc)}
|
|
3
|
-
._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
|
|
3
|
+
._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
|
|
4
|
+
._154i1b66{top:var(--ds-space-050,4px)}
|
|
4
5
|
._18m915vq{overflow-y:hidden}
|
|
5
6
|
._1bsb1osq{width:100%}
|
|
6
7
|
._1reo15vq{overflow-x:hidden}
|
|
@@ -9,4 +10,7 @@
|
|
|
9
10
|
._80om15ng{cursor:move}
|
|
10
11
|
._kqswh2mm{position:relative}
|
|
11
12
|
._kqswstnw{position:absolute}
|
|
12
|
-
._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}
|
|
13
|
+
._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}._128m1bk5:focus-visible{outline-width:var(--ds-border-width-outline,2px)}
|
|
14
|
+
._1ah3v77o:focus-visible{outline-offset:var(--ds-space-025,2px)}
|
|
15
|
+
._mizu1p6i:focus-visible{outline-color:var(--ds-border-focused,#388bff)}
|
|
16
|
+
._ra3xnqa1:focus-visible{outline-style:solid}
|
|
@@ -28,6 +28,8 @@ var _avatarPickerDialog = require("../avatar-picker-dialog");
|
|
|
28
28
|
var _layoutConst = require("../avatar-picker-dialog/layout-const");
|
|
29
29
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
30
30
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
31
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
32
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
33
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
32
34
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
33
35
|
var CONTAINER_PADDING = 28;
|
|
@@ -38,7 +40,7 @@ var dragOverlayStyles = {
|
|
|
38
40
|
root: "_kqswstnw _1bsb1osq _4t3i1osq _80om15ng"
|
|
39
41
|
};
|
|
40
42
|
var maskPositionStyle = {
|
|
41
|
-
root: "_kqswstnw"
|
|
43
|
+
root: "_kqswstnw _1ah3v77o _128m1bk5 _mizu1p6i _ra3xnqa1"
|
|
42
44
|
};
|
|
43
45
|
var maskStyles = {
|
|
44
46
|
top: "".concat(CONTAINER_PADDING, "px"),
|
|
@@ -48,6 +50,15 @@ var maskStyles = {
|
|
|
48
50
|
opacity: "var(--ds-opacity-disabled, 0.4)",
|
|
49
51
|
boxShadow: "0 0 0 100px ".concat("var(--ds-surface-overlay, rgba(255, 255, 255))")
|
|
50
52
|
};
|
|
53
|
+
var offscreenStyles = {
|
|
54
|
+
clip: 'rect(1px, 1px, 1px, 1px)',
|
|
55
|
+
clipPath: 'inset(50%)',
|
|
56
|
+
height: '1px',
|
|
57
|
+
width: '1px',
|
|
58
|
+
margin: '-1px',
|
|
59
|
+
overflow: 'hidden',
|
|
60
|
+
padding: 0
|
|
61
|
+
};
|
|
51
62
|
var rectMaskStyles = {
|
|
52
63
|
root: "_2rkoiti9"
|
|
53
64
|
};
|
|
@@ -68,6 +79,45 @@ var ImageCropper = exports.ImageCropper = /*#__PURE__*/function (_Component) {
|
|
|
68
79
|
args[_key] = arguments[_key];
|
|
69
80
|
}
|
|
70
81
|
_this = _callSuper(this, ImageCropper, [].concat(args));
|
|
82
|
+
(0, _defineProperty2.default)(_this, "state", {
|
|
83
|
+
liveMsg: ''
|
|
84
|
+
});
|
|
85
|
+
(0, _defineProperty2.default)(_this, "onKeyDown", function (e) {
|
|
86
|
+
var formatMessage = _this.props.intl.formatMessage;
|
|
87
|
+
var msg = '';
|
|
88
|
+
switch (e.key) {
|
|
89
|
+
case 'ArrowLeft':
|
|
90
|
+
msg = formatMessage(_mediaUi.messages.image_cropper_image_moved, {
|
|
91
|
+
from: 'left',
|
|
92
|
+
to: 'right'
|
|
93
|
+
});
|
|
94
|
+
break;
|
|
95
|
+
case 'ArrowRight':
|
|
96
|
+
msg = formatMessage(_mediaUi.messages.image_cropper_image_moved, {
|
|
97
|
+
from: 'right',
|
|
98
|
+
to: 'left'
|
|
99
|
+
});
|
|
100
|
+
break;
|
|
101
|
+
case 'ArrowUp':
|
|
102
|
+
msg = formatMessage(_mediaUi.messages.image_cropper_image_moved, {
|
|
103
|
+
from: 'top',
|
|
104
|
+
to: 'bottom'
|
|
105
|
+
});
|
|
106
|
+
break;
|
|
107
|
+
case 'ArrowDown':
|
|
108
|
+
msg = formatMessage(_mediaUi.messages.image_cropper_image_moved, {
|
|
109
|
+
from: 'bottom',
|
|
110
|
+
to: 'top'
|
|
111
|
+
});
|
|
112
|
+
break;
|
|
113
|
+
default:
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
_this.props.moveImage && _this.props.moveImage(e.key);
|
|
117
|
+
_this.setState({
|
|
118
|
+
liveMsg: msg
|
|
119
|
+
});
|
|
120
|
+
});
|
|
71
121
|
(0, _defineProperty2.default)(_this, "onDragStarted", function (e) {
|
|
72
122
|
if (_this.props.onDragStarted) {
|
|
73
123
|
_this.props.onDragStarted(e.screenX, e.screenY);
|
|
@@ -143,16 +193,38 @@ var ImageCropper = exports.ImageCropper = /*#__PURE__*/function (_Component) {
|
|
|
143
193
|
onImageLoad: onImageLoaded,
|
|
144
194
|
onImageError: this.onImageError
|
|
145
195
|
})), isCircularMask ? /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
146
|
-
|
|
147
|
-
|
|
196
|
+
testId: "image-cropper-mask",
|
|
197
|
+
xcss: (0, _css.cx)(circularMaskStyles.root, maskPositionStyle.root)
|
|
198
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
199
|
+
,
|
|
200
|
+
style: maskStyles,
|
|
201
|
+
tabIndex: 0,
|
|
202
|
+
onKeyDown: this.onKeyDown,
|
|
203
|
+
"aria-label": formatMessage(_mediaUi.messages.image_cropper_arrow_keys_label)
|
|
148
204
|
}) : /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
149
|
-
|
|
150
|
-
|
|
205
|
+
testId: "image-cropper-mask",
|
|
206
|
+
xcss: (0, _css.cx)(rectMaskStyles.root, maskPositionStyle.root)
|
|
207
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
208
|
+
,
|
|
209
|
+
style: maskStyles,
|
|
210
|
+
tabIndex: 0,
|
|
211
|
+
onKeyDown: this.onKeyDown,
|
|
212
|
+
"aria-label": formatMessage(_mediaUi.messages.image_cropper_arrow_keys_label)
|
|
151
213
|
}), /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
152
214
|
id: "drag-overlay",
|
|
153
215
|
xcss: dragOverlayStyles.root,
|
|
154
216
|
onMouseDown: this.onDragStarted
|
|
155
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
217
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
218
|
+
id: "image-cropper-image-movements-log",
|
|
219
|
+
"aria-live": "assertive",
|
|
220
|
+
role: "log",
|
|
221
|
+
"aria-atomic": "true"
|
|
222
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
223
|
+
,
|
|
224
|
+
style: _objectSpread(_objectSpread({}, offscreenStyles), {}, {
|
|
225
|
+
position: 'absolute'
|
|
226
|
+
})
|
|
227
|
+
}, this.state.liveMsg), /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
156
228
|
id: "remove-image-container",
|
|
157
229
|
xcss: removeImageContainerStyles.root
|
|
158
230
|
}, /*#__PURE__*/_react.default.createElement(_new.IconButton, {
|
|
@@ -30,7 +30,7 @@ var _images = require("./images");
|
|
|
30
30
|
var _util = require("../util");
|
|
31
31
|
var _avatarPickerDialog = require("../avatar-picker-dialog");
|
|
32
32
|
var _viewport2 = require("../viewport");
|
|
33
|
-
var _slider = require("./slider");
|
|
33
|
+
var _slider = _interopRequireDefault(require("./slider"));
|
|
34
34
|
var _layoutConst = require("../avatar-picker-dialog/layout-const");
|
|
35
35
|
var _dragZone = require("./dragZone");
|
|
36
36
|
var _exportCroppedImage = require("./exportCroppedImage");
|
|
@@ -78,6 +78,28 @@ var ImageNavigator = exports.ImageNavigator = /*#__PURE__*/function (_Component)
|
|
|
78
78
|
dragStartPoint: new _mediaUi.Vector2(x, y)
|
|
79
79
|
});
|
|
80
80
|
});
|
|
81
|
+
(0, _defineProperty2.default)(_this, "moveImage", function (key) {
|
|
82
|
+
var viewport = _this.state.viewport;
|
|
83
|
+
switch (key) {
|
|
84
|
+
case 'ArrowLeft':
|
|
85
|
+
viewport.dragMove(viewport.itemBounds.x + _layoutConst.IMAGE_MOVE_UNIT, viewport.itemBounds.y);
|
|
86
|
+
break;
|
|
87
|
+
case 'ArrowRight':
|
|
88
|
+
viewport.dragMove(viewport.itemBounds.x - _layoutConst.IMAGE_MOVE_UNIT, viewport.itemBounds.y);
|
|
89
|
+
break;
|
|
90
|
+
case 'ArrowUp':
|
|
91
|
+
viewport.dragMove(viewport.itemBounds.x, viewport.itemBounds.y + _layoutConst.IMAGE_MOVE_UNIT);
|
|
92
|
+
break;
|
|
93
|
+
case 'ArrowDown':
|
|
94
|
+
viewport.dragMove(viewport.itemBounds.x, viewport.itemBounds.y - _layoutConst.IMAGE_MOVE_UNIT);
|
|
95
|
+
break;
|
|
96
|
+
default:
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
_this.setState({
|
|
100
|
+
viewport: viewport
|
|
101
|
+
});
|
|
102
|
+
});
|
|
81
103
|
(0, _defineProperty2.default)(_this, "onMouseMove", function (e) {
|
|
82
104
|
if (_this.state.isDragging) {
|
|
83
105
|
var _this$state = _this.state,
|
|
@@ -370,7 +392,8 @@ var ImageNavigator = exports.ImageNavigator = /*#__PURE__*/function (_Component)
|
|
|
370
392
|
var onImageError = this.props.onImageError;
|
|
371
393
|
var onDragStarted = this.onDragStarted,
|
|
372
394
|
onImageLoaded = this.onImageLoaded,
|
|
373
|
-
onRemoveImage = this.onRemoveImage
|
|
395
|
+
onRemoveImage = this.onRemoveImage,
|
|
396
|
+
moveImage = this.moveImage;
|
|
374
397
|
var itemBounds = viewport.itemBounds;
|
|
375
398
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
376
399
|
style: {
|
|
@@ -389,10 +412,11 @@ var ImageNavigator = exports.ImageNavigator = /*#__PURE__*/function (_Component)
|
|
|
389
412
|
onDragStarted: onDragStarted,
|
|
390
413
|
onImageLoaded: onImageLoaded,
|
|
391
414
|
onRemoveImage: onRemoveImage,
|
|
392
|
-
onImageError: onImageError
|
|
415
|
+
onImageError: onImageError,
|
|
416
|
+
moveImage: moveImage
|
|
393
417
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
394
418
|
className: (0, _runtime.ax)(["_4cvr1h6o _1bah1h6o _1e0c1txw _2lx2vrvc _19pku2gc _bfhk1bhr _v69yidpf _ogxmidpf _1qtqidpf _n9z4idpf _40631ntv"])
|
|
395
|
-
}, /*#__PURE__*/_react.default.createElement(_slider.
|
|
419
|
+
}, /*#__PURE__*/_react.default.createElement(_slider.default, {
|
|
396
420
|
value: scale,
|
|
397
421
|
onChange: this.onScaleChange
|
|
398
422
|
})), isDragging ? /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -6,7 +6,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.defaultProps = exports.Slider = void 0;
|
|
9
|
+
exports.defaultProps = exports.default = exports.Slider = void 0;
|
|
10
10
|
require("./slider.compiled.css");
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var React = _react;
|
|
@@ -18,9 +18,11 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
18
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
19
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
20
20
|
var _range = _interopRequireDefault(require("@atlaskit/range"));
|
|
21
|
+
var _mediaUi = require("@atlaskit/media-ui");
|
|
21
22
|
var _imageMediaServicesScaleLarge = _interopRequireDefault(require("@atlaskit/icon/core/migration/image--media-services-scale-large"));
|
|
22
23
|
var _imageMediaServicesScaleSmall = _interopRequireDefault(require("@atlaskit/icon/core/migration/image--media-services-scale-small"));
|
|
23
24
|
var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
|
|
25
|
+
var _reactIntlNext = require("react-intl-next");
|
|
24
26
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
27
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
28
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
@@ -40,7 +42,8 @@ var Slider = exports.Slider = /*#__PURE__*/function (_Component) {
|
|
|
40
42
|
value: function render() {
|
|
41
43
|
var _this$props = this.props,
|
|
42
44
|
value = _this$props.value,
|
|
43
|
-
onChange = _this$props.onChange
|
|
45
|
+
onChange = _this$props.onChange,
|
|
46
|
+
formatMessage = _this$props.intl.formatMessage;
|
|
44
47
|
return /*#__PURE__*/React.createElement("div", {
|
|
45
48
|
"data-testid": "slider",
|
|
46
49
|
className: (0, _runtime.ax)(["_1e0c1txw _4cvr1h6o _1bsb1osq _yw87h2mm _1grc1i6y"])
|
|
@@ -53,7 +56,8 @@ var Slider = exports.Slider = /*#__PURE__*/function (_Component) {
|
|
|
53
56
|
}),
|
|
54
57
|
onClick: function onClick() {
|
|
55
58
|
return onChange(0);
|
|
56
|
-
}
|
|
59
|
+
},
|
|
60
|
+
"aria-label": formatMessage(_mediaUi.messages.image_cropper_zoom_out)
|
|
57
61
|
}), /*#__PURE__*/React.createElement(_range.default, {
|
|
58
62
|
value: value,
|
|
59
63
|
onChange: onChange
|
|
@@ -66,9 +70,11 @@ var Slider = exports.Slider = /*#__PURE__*/function (_Component) {
|
|
|
66
70
|
}),
|
|
67
71
|
onClick: function onClick() {
|
|
68
72
|
return onChange(100);
|
|
69
|
-
}
|
|
73
|
+
},
|
|
74
|
+
"aria-label": formatMessage(_mediaUi.messages.image_cropper_zoom_in)
|
|
70
75
|
}));
|
|
71
76
|
}
|
|
72
77
|
}]);
|
|
73
78
|
}(_react.Component);
|
|
74
|
-
(0, _defineProperty2.default)(Slider, "defaultProps", defaultProps);
|
|
79
|
+
(0, _defineProperty2.default)(Slider, "defaultProps", defaultProps);
|
|
80
|
+
var _default = exports.default = (0, _reactIntlNext.injectIntl)(Slider);
|
package/dist/cjs/index.js
CHANGED
|
@@ -25,7 +25,7 @@ Object.defineProperty(exports, "ImageNavigator", {
|
|
|
25
25
|
Object.defineProperty(exports, "Slider", {
|
|
26
26
|
enumerable: true,
|
|
27
27
|
get: function get() {
|
|
28
|
-
return _slider.
|
|
28
|
+
return _slider.default;
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "Viewport", {
|
|
@@ -49,7 +49,7 @@ Object.defineProperty(exports, "exportCroppedImage", {
|
|
|
49
49
|
var _avatarPickerDialogLoader = _interopRequireDefault(require("./avatar-picker-dialog/avatar-picker-dialog-loader"));
|
|
50
50
|
var _imageNavigator = _interopRequireDefault(require("./image-navigator"));
|
|
51
51
|
var _imageCropper = _interopRequireDefault(require("./image-cropper"));
|
|
52
|
-
var _slider = require("./image-navigator/slider");
|
|
52
|
+
var _slider = _interopRequireDefault(require("./image-navigator/slider"));
|
|
53
53
|
var _viewport = require("./viewport");
|
|
54
54
|
var _images = require("./image-navigator/images");
|
|
55
55
|
var _exportCroppedImage = require("./image-navigator/exportCroppedImage");
|
|
@@ -7,4 +7,5 @@ export const PREDEFINED_AVATARS_VIEW_HEIGHT = 290;
|
|
|
7
7
|
export const CONTAINER_SIZE = 8 * 32;
|
|
8
8
|
export const CONTAINER_INNER_SIZE = 8 * 25;
|
|
9
9
|
export const CONTAINER_PADDING = (CONTAINER_SIZE - CONTAINER_INNER_SIZE) / 2;
|
|
10
|
-
export const CONTAINER_RECT = new Rectangle(CONTAINER_SIZE, CONTAINER_SIZE);
|
|
10
|
+
export const CONTAINER_RECT = new Rectangle(CONTAINER_SIZE, CONTAINER_SIZE);
|
|
11
|
+
export const IMAGE_MOVE_UNIT = 5;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
._2rko14q2{border-radius:var(--ds-border-radius-circle,2002pc)}
|
|
3
|
-
._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
|
|
3
|
+
._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
|
|
4
|
+
._154i1b66{top:var(--ds-space-050,4px)}
|
|
4
5
|
._18m915vq{overflow-y:hidden}
|
|
5
6
|
._1bsb1osq{width:100%}
|
|
6
7
|
._1reo15vq{overflow-x:hidden}
|
|
@@ -9,4 +10,7 @@
|
|
|
9
10
|
._80om15ng{cursor:move}
|
|
10
11
|
._kqswh2mm{position:relative}
|
|
11
12
|
._kqswstnw{position:absolute}
|
|
12
|
-
._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}
|
|
13
|
+
._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}._128m1bk5:focus-visible{outline-width:var(--ds-border-width-outline,2px)}
|
|
14
|
+
._1ah3v77o:focus-visible{outline-offset:var(--ds-space-025,2px)}
|
|
15
|
+
._mizu1p6i:focus-visible{outline-color:var(--ds-border-focused,#388bff)}
|
|
16
|
+
._ra3xnqa1:focus-visible{outline-style:solid}
|
|
@@ -22,7 +22,7 @@ const dragOverlayStyles = {
|
|
|
22
22
|
root: "_kqswstnw _1bsb1osq _4t3i1osq _80om15ng"
|
|
23
23
|
};
|
|
24
24
|
const maskPositionStyle = {
|
|
25
|
-
root: "_kqswstnw"
|
|
25
|
+
root: "_kqswstnw _1ah3v77o _128m1bk5 _mizu1p6i _ra3xnqa1"
|
|
26
26
|
};
|
|
27
27
|
const maskStyles = {
|
|
28
28
|
top: `${CONTAINER_PADDING}px`,
|
|
@@ -32,6 +32,15 @@ const maskStyles = {
|
|
|
32
32
|
opacity: "var(--ds-opacity-disabled, 0.4)",
|
|
33
33
|
boxShadow: `0 0 0 100px ${"var(--ds-surface-overlay, rgba(255, 255, 255))"}`
|
|
34
34
|
};
|
|
35
|
+
const offscreenStyles = {
|
|
36
|
+
clip: 'rect(1px, 1px, 1px, 1px)',
|
|
37
|
+
clipPath: 'inset(50%)',
|
|
38
|
+
height: '1px',
|
|
39
|
+
width: '1px',
|
|
40
|
+
margin: '-1px',
|
|
41
|
+
overflow: 'hidden',
|
|
42
|
+
padding: 0
|
|
43
|
+
};
|
|
35
44
|
const rectMaskStyles = {
|
|
36
45
|
root: "_2rkoiti9"
|
|
37
46
|
};
|
|
@@ -47,6 +56,49 @@ const imageContainerStyles = {
|
|
|
47
56
|
export class ImageCropper extends Component {
|
|
48
57
|
constructor(...args) {
|
|
49
58
|
super(...args);
|
|
59
|
+
_defineProperty(this, "state", {
|
|
60
|
+
liveMsg: ''
|
|
61
|
+
});
|
|
62
|
+
_defineProperty(this, "onKeyDown", e => {
|
|
63
|
+
const {
|
|
64
|
+
intl: {
|
|
65
|
+
formatMessage
|
|
66
|
+
}
|
|
67
|
+
} = this.props;
|
|
68
|
+
let msg = '';
|
|
69
|
+
switch (e.key) {
|
|
70
|
+
case 'ArrowLeft':
|
|
71
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
72
|
+
from: 'left',
|
|
73
|
+
to: 'right'
|
|
74
|
+
});
|
|
75
|
+
break;
|
|
76
|
+
case 'ArrowRight':
|
|
77
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
78
|
+
from: 'right',
|
|
79
|
+
to: 'left'
|
|
80
|
+
});
|
|
81
|
+
break;
|
|
82
|
+
case 'ArrowUp':
|
|
83
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
84
|
+
from: 'top',
|
|
85
|
+
to: 'bottom'
|
|
86
|
+
});
|
|
87
|
+
break;
|
|
88
|
+
case 'ArrowDown':
|
|
89
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
90
|
+
from: 'bottom',
|
|
91
|
+
to: 'top'
|
|
92
|
+
});
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.props.moveImage && this.props.moveImage(e.key);
|
|
98
|
+
this.setState({
|
|
99
|
+
liveMsg: msg
|
|
100
|
+
});
|
|
101
|
+
});
|
|
50
102
|
_defineProperty(this, "onDragStarted", e => {
|
|
51
103
|
if (this.props.onDragStarted) {
|
|
52
104
|
this.props.onDragStarted(e.screenX, e.screenY);
|
|
@@ -125,16 +177,39 @@ export class ImageCropper extends Component {
|
|
|
125
177
|
onImageLoad: onImageLoaded,
|
|
126
178
|
onImageError: this.onImageError
|
|
127
179
|
})), isCircularMask ? /*#__PURE__*/React.createElement(Box, {
|
|
128
|
-
|
|
129
|
-
|
|
180
|
+
testId: "image-cropper-mask",
|
|
181
|
+
xcss: cx(circularMaskStyles.root, maskPositionStyle.root)
|
|
182
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
183
|
+
,
|
|
184
|
+
style: maskStyles,
|
|
185
|
+
tabIndex: 0,
|
|
186
|
+
onKeyDown: this.onKeyDown,
|
|
187
|
+
"aria-label": formatMessage(messages.image_cropper_arrow_keys_label)
|
|
130
188
|
}) : /*#__PURE__*/React.createElement(Box, {
|
|
131
|
-
|
|
132
|
-
|
|
189
|
+
testId: "image-cropper-mask",
|
|
190
|
+
xcss: cx(rectMaskStyles.root, maskPositionStyle.root)
|
|
191
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
192
|
+
,
|
|
193
|
+
style: maskStyles,
|
|
194
|
+
tabIndex: 0,
|
|
195
|
+
onKeyDown: this.onKeyDown,
|
|
196
|
+
"aria-label": formatMessage(messages.image_cropper_arrow_keys_label)
|
|
133
197
|
}), /*#__PURE__*/React.createElement(Box, {
|
|
134
198
|
id: "drag-overlay",
|
|
135
199
|
xcss: dragOverlayStyles.root,
|
|
136
200
|
onMouseDown: this.onDragStarted
|
|
137
|
-
}), /*#__PURE__*/React.createElement(
|
|
201
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
202
|
+
id: "image-cropper-image-movements-log",
|
|
203
|
+
"aria-live": "assertive",
|
|
204
|
+
role: "log",
|
|
205
|
+
"aria-atomic": "true"
|
|
206
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
207
|
+
,
|
|
208
|
+
style: {
|
|
209
|
+
...offscreenStyles,
|
|
210
|
+
position: 'absolute'
|
|
211
|
+
}
|
|
212
|
+
}, this.state.liveMsg), /*#__PURE__*/React.createElement(Box, {
|
|
138
213
|
id: "remove-image-container",
|
|
139
214
|
xcss: removeImageContainerStyles.root
|
|
140
215
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
@@ -15,8 +15,8 @@ import { uploadPlaceholder, errorIcon } from './images';
|
|
|
15
15
|
import { fileSizeMb } from '../util';
|
|
16
16
|
import { ERROR, MAX_SIZE_MB, ACCEPT } from '../avatar-picker-dialog';
|
|
17
17
|
import { Viewport } from '../viewport';
|
|
18
|
-
import
|
|
19
|
-
import { CONTAINER_SIZE, CONTAINER_PADDING } from '../avatar-picker-dialog/layout-const';
|
|
18
|
+
import Slider from './slider';
|
|
19
|
+
import { CONTAINER_SIZE, CONTAINER_PADDING, IMAGE_MOVE_UNIT } from '../avatar-picker-dialog/layout-const';
|
|
20
20
|
import { DragZone } from './dragZone';
|
|
21
21
|
import { exportCroppedImage } from './exportCroppedImage';
|
|
22
22
|
const checkeredBg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjg8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZGM6c3ViamVjdD4KICAgICAgICAgICAgPHJkZjpTZXEvPgogICAgICAgICA8L2RjOnN1YmplY3Q+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4OjA3OjE4IDEwOjA3OjUwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5QaXhlbG1hdG9yIDMuNy4zPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrsp//0AAAAKUlEQVQIHWP8//8/Aww8ffoUxmRggrPQGKRLsCCbKy0tDTeQdKNw6gAAbSMIvvnXfF4AAAAASUVORK5CYII=';
|
|
@@ -54,6 +54,30 @@ export class ImageNavigator extends Component {
|
|
|
54
54
|
dragStartPoint: new Vector2(x, y)
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
+
_defineProperty(this, "moveImage", key => {
|
|
58
|
+
const {
|
|
59
|
+
viewport
|
|
60
|
+
} = this.state;
|
|
61
|
+
switch (key) {
|
|
62
|
+
case 'ArrowLeft':
|
|
63
|
+
viewport.dragMove(viewport.itemBounds.x + IMAGE_MOVE_UNIT, viewport.itemBounds.y);
|
|
64
|
+
break;
|
|
65
|
+
case 'ArrowRight':
|
|
66
|
+
viewport.dragMove(viewport.itemBounds.x - IMAGE_MOVE_UNIT, viewport.itemBounds.y);
|
|
67
|
+
break;
|
|
68
|
+
case 'ArrowUp':
|
|
69
|
+
viewport.dragMove(viewport.itemBounds.x, viewport.itemBounds.y + IMAGE_MOVE_UNIT);
|
|
70
|
+
break;
|
|
71
|
+
case 'ArrowDown':
|
|
72
|
+
viewport.dragMove(viewport.itemBounds.x, viewport.itemBounds.y - IMAGE_MOVE_UNIT);
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this.setState({
|
|
78
|
+
viewport
|
|
79
|
+
});
|
|
80
|
+
});
|
|
57
81
|
_defineProperty(this, "onMouseMove", e => {
|
|
58
82
|
if (this.state.isDragging) {
|
|
59
83
|
const {
|
|
@@ -323,7 +347,8 @@ export class ImageNavigator extends Component {
|
|
|
323
347
|
const {
|
|
324
348
|
onDragStarted,
|
|
325
349
|
onImageLoaded,
|
|
326
|
-
onRemoveImage
|
|
350
|
+
onRemoveImage,
|
|
351
|
+
moveImage
|
|
327
352
|
} = this;
|
|
328
353
|
const {
|
|
329
354
|
itemBounds
|
|
@@ -345,7 +370,8 @@ export class ImageNavigator extends Component {
|
|
|
345
370
|
onDragStarted: onDragStarted,
|
|
346
371
|
onImageLoaded: onImageLoaded,
|
|
347
372
|
onRemoveImage: onRemoveImage,
|
|
348
|
-
onImageError: onImageError
|
|
373
|
+
onImageError: onImageError,
|
|
374
|
+
moveImage: moveImage
|
|
349
375
|
}), /*#__PURE__*/React.createElement("div", {
|
|
350
376
|
className: ax(["_4cvr1h6o _1bah1h6o _1e0c1txw _2lx2vrvc _19pku2gc _bfhk1bhr _v69yidpf _ogxmidpf _1qtqidpf _n9z4idpf _40631ntv"])
|
|
351
377
|
}, /*#__PURE__*/React.createElement(Slider, {
|
|
@@ -5,9 +5,11 @@ import * as React from 'react';
|
|
|
5
5
|
import { ax, ix } from "@compiled/react/runtime";
|
|
6
6
|
import { Component } from 'react';
|
|
7
7
|
import FieldRange from '@atlaskit/range';
|
|
8
|
+
import { messages } from '@atlaskit/media-ui';
|
|
8
9
|
import ScaleLargeIcon from '@atlaskit/icon/core/migration/image--media-services-scale-large';
|
|
9
10
|
import ScaleSmallIcon from '@atlaskit/icon/core/migration/image--media-services-scale-small';
|
|
10
11
|
import Button from '@atlaskit/button/standard-button';
|
|
12
|
+
import { injectIntl } from 'react-intl-next';
|
|
11
13
|
export const defaultProps = {
|
|
12
14
|
value: 0
|
|
13
15
|
};
|
|
@@ -16,7 +18,10 @@ export class Slider extends Component {
|
|
|
16
18
|
render() {
|
|
17
19
|
const {
|
|
18
20
|
value,
|
|
19
|
-
onChange
|
|
21
|
+
onChange,
|
|
22
|
+
intl: {
|
|
23
|
+
formatMessage
|
|
24
|
+
}
|
|
20
25
|
} = this.props;
|
|
21
26
|
return /*#__PURE__*/React.createElement("div", {
|
|
22
27
|
"data-testid": "slider",
|
|
@@ -28,7 +33,8 @@ export class Slider extends Component {
|
|
|
28
33
|
iconAfter: /*#__PURE__*/React.createElement(ScaleSmallIcon, {
|
|
29
34
|
label: "scale-small-icon"
|
|
30
35
|
}),
|
|
31
|
-
onClick: () => onChange(0)
|
|
36
|
+
onClick: () => onChange(0),
|
|
37
|
+
"aria-label": formatMessage(messages.image_cropper_zoom_out)
|
|
32
38
|
}), /*#__PURE__*/React.createElement(FieldRange, {
|
|
33
39
|
value: value,
|
|
34
40
|
onChange: onChange
|
|
@@ -39,8 +45,10 @@ export class Slider extends Component {
|
|
|
39
45
|
iconAfter: /*#__PURE__*/React.createElement(ScaleLargeIcon, {
|
|
40
46
|
label: "scale-large-icon"
|
|
41
47
|
}),
|
|
42
|
-
onClick: () => onChange(100)
|
|
48
|
+
onClick: () => onChange(100),
|
|
49
|
+
"aria-label": formatMessage(messages.image_cropper_zoom_in)
|
|
43
50
|
}));
|
|
44
51
|
}
|
|
45
52
|
}
|
|
46
|
-
_defineProperty(Slider, "defaultProps", defaultProps);
|
|
53
|
+
_defineProperty(Slider, "defaultProps", defaultProps);
|
|
54
|
+
export default injectIntl(Slider);
|
package/dist/es2019/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as AvatarPickerDialog } from './avatar-picker-dialog/avatar-picker-dialog-loader';
|
|
2
2
|
export { default as ImageNavigator } from './image-navigator';
|
|
3
3
|
export { default as ImageCropper } from './image-cropper';
|
|
4
|
-
export { Slider } from './image-navigator/slider';
|
|
4
|
+
export { default as Slider } from './image-navigator/slider';
|
|
5
5
|
export { Viewport } from './viewport';
|
|
6
6
|
export { checkeredBg } from './image-navigator/images';
|
|
7
7
|
export { exportCroppedImage } from './image-navigator/exportCroppedImage';
|
|
@@ -7,4 +7,5 @@ export var PREDEFINED_AVATARS_VIEW_HEIGHT = 290;
|
|
|
7
7
|
export var CONTAINER_SIZE = 8 * 32;
|
|
8
8
|
export var CONTAINER_INNER_SIZE = 8 * 25;
|
|
9
9
|
export var CONTAINER_PADDING = (CONTAINER_SIZE - CONTAINER_INNER_SIZE) / 2;
|
|
10
|
-
export var CONTAINER_RECT = new Rectangle(CONTAINER_SIZE, CONTAINER_SIZE);
|
|
10
|
+
export var CONTAINER_RECT = new Rectangle(CONTAINER_SIZE, CONTAINER_SIZE);
|
|
11
|
+
export var IMAGE_MOVE_UNIT = 5;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
._2rko14q2{border-radius:var(--ds-border-radius-circle,2002pc)}
|
|
3
|
-
._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
|
|
3
|
+
._2rkoiti9{border-radius:var(--ds-border-radius-100,4px)}
|
|
4
|
+
._154i1b66{top:var(--ds-space-050,4px)}
|
|
4
5
|
._18m915vq{overflow-y:hidden}
|
|
5
6
|
._1bsb1osq{width:100%}
|
|
6
7
|
._1reo15vq{overflow-x:hidden}
|
|
@@ -9,4 +10,7 @@
|
|
|
9
10
|
._80om15ng{cursor:move}
|
|
10
11
|
._kqswh2mm{position:relative}
|
|
11
12
|
._kqswstnw{position:absolute}
|
|
12
|
-
._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}
|
|
13
|
+
._uiztglyw{-webkit-user-select:none;-ms-user-select:none;user-select:none}._128m1bk5:focus-visible{outline-width:var(--ds-border-width-outline,2px)}
|
|
14
|
+
._1ah3v77o:focus-visible{outline-offset:var(--ds-space-025,2px)}
|
|
15
|
+
._mizu1p6i:focus-visible{outline-color:var(--ds-border-focused,#388bff)}
|
|
16
|
+
._ra3xnqa1:focus-visible{outline-style:solid}
|
|
@@ -8,6 +8,8 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
9
|
import "./index.compiled.css";
|
|
10
10
|
import { ax, ix } from "@compiled/react/runtime";
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
13
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
12
14
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
13
15
|
import React from 'react';
|
|
@@ -29,7 +31,7 @@ var dragOverlayStyles = {
|
|
|
29
31
|
root: "_kqswstnw _1bsb1osq _4t3i1osq _80om15ng"
|
|
30
32
|
};
|
|
31
33
|
var maskPositionStyle = {
|
|
32
|
-
root: "_kqswstnw"
|
|
34
|
+
root: "_kqswstnw _1ah3v77o _128m1bk5 _mizu1p6i _ra3xnqa1"
|
|
33
35
|
};
|
|
34
36
|
var maskStyles = {
|
|
35
37
|
top: "".concat(CONTAINER_PADDING, "px"),
|
|
@@ -39,6 +41,15 @@ var maskStyles = {
|
|
|
39
41
|
opacity: "var(--ds-opacity-disabled, 0.4)",
|
|
40
42
|
boxShadow: "0 0 0 100px ".concat("var(--ds-surface-overlay, rgba(255, 255, 255))")
|
|
41
43
|
};
|
|
44
|
+
var offscreenStyles = {
|
|
45
|
+
clip: 'rect(1px, 1px, 1px, 1px)',
|
|
46
|
+
clipPath: 'inset(50%)',
|
|
47
|
+
height: '1px',
|
|
48
|
+
width: '1px',
|
|
49
|
+
margin: '-1px',
|
|
50
|
+
overflow: 'hidden',
|
|
51
|
+
padding: 0
|
|
52
|
+
};
|
|
42
53
|
var rectMaskStyles = {
|
|
43
54
|
root: "_2rkoiti9"
|
|
44
55
|
};
|
|
@@ -59,6 +70,45 @@ export var ImageCropper = /*#__PURE__*/function (_Component) {
|
|
|
59
70
|
args[_key] = arguments[_key];
|
|
60
71
|
}
|
|
61
72
|
_this = _callSuper(this, ImageCropper, [].concat(args));
|
|
73
|
+
_defineProperty(_this, "state", {
|
|
74
|
+
liveMsg: ''
|
|
75
|
+
});
|
|
76
|
+
_defineProperty(_this, "onKeyDown", function (e) {
|
|
77
|
+
var formatMessage = _this.props.intl.formatMessage;
|
|
78
|
+
var msg = '';
|
|
79
|
+
switch (e.key) {
|
|
80
|
+
case 'ArrowLeft':
|
|
81
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
82
|
+
from: 'left',
|
|
83
|
+
to: 'right'
|
|
84
|
+
});
|
|
85
|
+
break;
|
|
86
|
+
case 'ArrowRight':
|
|
87
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
88
|
+
from: 'right',
|
|
89
|
+
to: 'left'
|
|
90
|
+
});
|
|
91
|
+
break;
|
|
92
|
+
case 'ArrowUp':
|
|
93
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
94
|
+
from: 'top',
|
|
95
|
+
to: 'bottom'
|
|
96
|
+
});
|
|
97
|
+
break;
|
|
98
|
+
case 'ArrowDown':
|
|
99
|
+
msg = formatMessage(messages.image_cropper_image_moved, {
|
|
100
|
+
from: 'bottom',
|
|
101
|
+
to: 'top'
|
|
102
|
+
});
|
|
103
|
+
break;
|
|
104
|
+
default:
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
_this.props.moveImage && _this.props.moveImage(e.key);
|
|
108
|
+
_this.setState({
|
|
109
|
+
liveMsg: msg
|
|
110
|
+
});
|
|
111
|
+
});
|
|
62
112
|
_defineProperty(_this, "onDragStarted", function (e) {
|
|
63
113
|
if (_this.props.onDragStarted) {
|
|
64
114
|
_this.props.onDragStarted(e.screenX, e.screenY);
|
|
@@ -134,16 +184,38 @@ export var ImageCropper = /*#__PURE__*/function (_Component) {
|
|
|
134
184
|
onImageLoad: onImageLoaded,
|
|
135
185
|
onImageError: this.onImageError
|
|
136
186
|
})), isCircularMask ? /*#__PURE__*/React.createElement(Box, {
|
|
137
|
-
|
|
138
|
-
|
|
187
|
+
testId: "image-cropper-mask",
|
|
188
|
+
xcss: cx(circularMaskStyles.root, maskPositionStyle.root)
|
|
189
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
190
|
+
,
|
|
191
|
+
style: maskStyles,
|
|
192
|
+
tabIndex: 0,
|
|
193
|
+
onKeyDown: this.onKeyDown,
|
|
194
|
+
"aria-label": formatMessage(messages.image_cropper_arrow_keys_label)
|
|
139
195
|
}) : /*#__PURE__*/React.createElement(Box, {
|
|
140
|
-
|
|
141
|
-
|
|
196
|
+
testId: "image-cropper-mask",
|
|
197
|
+
xcss: cx(rectMaskStyles.root, maskPositionStyle.root)
|
|
198
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
199
|
+
,
|
|
200
|
+
style: maskStyles,
|
|
201
|
+
tabIndex: 0,
|
|
202
|
+
onKeyDown: this.onKeyDown,
|
|
203
|
+
"aria-label": formatMessage(messages.image_cropper_arrow_keys_label)
|
|
142
204
|
}), /*#__PURE__*/React.createElement(Box, {
|
|
143
205
|
id: "drag-overlay",
|
|
144
206
|
xcss: dragOverlayStyles.root,
|
|
145
207
|
onMouseDown: this.onDragStarted
|
|
146
|
-
}), /*#__PURE__*/React.createElement(
|
|
208
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
209
|
+
id: "image-cropper-image-movements-log",
|
|
210
|
+
"aria-live": "assertive",
|
|
211
|
+
role: "log",
|
|
212
|
+
"aria-atomic": "true"
|
|
213
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
214
|
+
,
|
|
215
|
+
style: _objectSpread(_objectSpread({}, offscreenStyles), {}, {
|
|
216
|
+
position: 'absolute'
|
|
217
|
+
})
|
|
218
|
+
}, this.state.liveMsg), /*#__PURE__*/React.createElement(Box, {
|
|
147
219
|
id: "remove-image-container",
|
|
148
220
|
xcss: removeImageContainerStyles.root
|
|
149
221
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
@@ -25,8 +25,8 @@ import { uploadPlaceholder, errorIcon } from './images';
|
|
|
25
25
|
import { fileSizeMb } from '../util';
|
|
26
26
|
import { ERROR, MAX_SIZE_MB, ACCEPT } from '../avatar-picker-dialog';
|
|
27
27
|
import { Viewport } from '../viewport';
|
|
28
|
-
import
|
|
29
|
-
import { CONTAINER_SIZE, CONTAINER_PADDING } from '../avatar-picker-dialog/layout-const';
|
|
28
|
+
import Slider from './slider';
|
|
29
|
+
import { CONTAINER_SIZE, CONTAINER_PADDING, IMAGE_MOVE_UNIT } from '../avatar-picker-dialog/layout-const';
|
|
30
30
|
import { DragZone } from './dragZone';
|
|
31
31
|
import { exportCroppedImage } from './exportCroppedImage';
|
|
32
32
|
var checkeredBg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjg8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZGM6c3ViamVjdD4KICAgICAgICAgICAgPHJkZjpTZXEvPgogICAgICAgICA8L2RjOnN1YmplY3Q+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4OjA3OjE4IDEwOjA3OjUwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5QaXhlbG1hdG9yIDMuNy4zPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrsp//0AAAAKUlEQVQIHWP8//8/Aww8ffoUxmRggrPQGKRLsCCbKy0tDTeQdKNw6gAAbSMIvvnXfF4AAAAASUVORK5CYII=';
|
|
@@ -69,6 +69,28 @@ export var ImageNavigator = /*#__PURE__*/function (_Component) {
|
|
|
69
69
|
dragStartPoint: new Vector2(x, y)
|
|
70
70
|
});
|
|
71
71
|
});
|
|
72
|
+
_defineProperty(_this, "moveImage", function (key) {
|
|
73
|
+
var viewport = _this.state.viewport;
|
|
74
|
+
switch (key) {
|
|
75
|
+
case 'ArrowLeft':
|
|
76
|
+
viewport.dragMove(viewport.itemBounds.x + IMAGE_MOVE_UNIT, viewport.itemBounds.y);
|
|
77
|
+
break;
|
|
78
|
+
case 'ArrowRight':
|
|
79
|
+
viewport.dragMove(viewport.itemBounds.x - IMAGE_MOVE_UNIT, viewport.itemBounds.y);
|
|
80
|
+
break;
|
|
81
|
+
case 'ArrowUp':
|
|
82
|
+
viewport.dragMove(viewport.itemBounds.x, viewport.itemBounds.y + IMAGE_MOVE_UNIT);
|
|
83
|
+
break;
|
|
84
|
+
case 'ArrowDown':
|
|
85
|
+
viewport.dragMove(viewport.itemBounds.x, viewport.itemBounds.y - IMAGE_MOVE_UNIT);
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
_this.setState({
|
|
91
|
+
viewport: viewport
|
|
92
|
+
});
|
|
93
|
+
});
|
|
72
94
|
_defineProperty(_this, "onMouseMove", function (e) {
|
|
73
95
|
if (_this.state.isDragging) {
|
|
74
96
|
var _this$state = _this.state,
|
|
@@ -361,7 +383,8 @@ export var ImageNavigator = /*#__PURE__*/function (_Component) {
|
|
|
361
383
|
var onImageError = this.props.onImageError;
|
|
362
384
|
var onDragStarted = this.onDragStarted,
|
|
363
385
|
onImageLoaded = this.onImageLoaded,
|
|
364
|
-
onRemoveImage = this.onRemoveImage
|
|
386
|
+
onRemoveImage = this.onRemoveImage,
|
|
387
|
+
moveImage = this.moveImage;
|
|
365
388
|
var itemBounds = viewport.itemBounds;
|
|
366
389
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
|
|
367
390
|
style: {
|
|
@@ -380,7 +403,8 @@ export var ImageNavigator = /*#__PURE__*/function (_Component) {
|
|
|
380
403
|
onDragStarted: onDragStarted,
|
|
381
404
|
onImageLoaded: onImageLoaded,
|
|
382
405
|
onRemoveImage: onRemoveImage,
|
|
383
|
-
onImageError: onImageError
|
|
406
|
+
onImageError: onImageError,
|
|
407
|
+
moveImage: moveImage
|
|
384
408
|
}), /*#__PURE__*/React.createElement("div", {
|
|
385
409
|
className: ax(["_4cvr1h6o _1bah1h6o _1e0c1txw _2lx2vrvc _19pku2gc _bfhk1bhr _v69yidpf _ogxmidpf _1qtqidpf _n9z4idpf _40631ntv"])
|
|
386
410
|
}, /*#__PURE__*/React.createElement(Slider, {
|
|
@@ -12,9 +12,11 @@ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstruct
|
|
|
12
12
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
13
13
|
import { Component } from 'react';
|
|
14
14
|
import FieldRange from '@atlaskit/range';
|
|
15
|
+
import { messages } from '@atlaskit/media-ui';
|
|
15
16
|
import ScaleLargeIcon from '@atlaskit/icon/core/migration/image--media-services-scale-large';
|
|
16
17
|
import ScaleSmallIcon from '@atlaskit/icon/core/migration/image--media-services-scale-small';
|
|
17
18
|
import Button from '@atlaskit/button/standard-button';
|
|
19
|
+
import { injectIntl } from 'react-intl-next';
|
|
18
20
|
export var defaultProps = {
|
|
19
21
|
value: 0
|
|
20
22
|
};
|
|
@@ -30,7 +32,8 @@ export var Slider = /*#__PURE__*/function (_Component) {
|
|
|
30
32
|
value: function render() {
|
|
31
33
|
var _this$props = this.props,
|
|
32
34
|
value = _this$props.value,
|
|
33
|
-
onChange = _this$props.onChange
|
|
35
|
+
onChange = _this$props.onChange,
|
|
36
|
+
formatMessage = _this$props.intl.formatMessage;
|
|
34
37
|
return /*#__PURE__*/React.createElement("div", {
|
|
35
38
|
"data-testid": "slider",
|
|
36
39
|
className: ax(["_1e0c1txw _4cvr1h6o _1bsb1osq _yw87h2mm _1grc1i6y"])
|
|
@@ -43,7 +46,8 @@ export var Slider = /*#__PURE__*/function (_Component) {
|
|
|
43
46
|
}),
|
|
44
47
|
onClick: function onClick() {
|
|
45
48
|
return onChange(0);
|
|
46
|
-
}
|
|
49
|
+
},
|
|
50
|
+
"aria-label": formatMessage(messages.image_cropper_zoom_out)
|
|
47
51
|
}), /*#__PURE__*/React.createElement(FieldRange, {
|
|
48
52
|
value: value,
|
|
49
53
|
onChange: onChange
|
|
@@ -56,9 +60,11 @@ export var Slider = /*#__PURE__*/function (_Component) {
|
|
|
56
60
|
}),
|
|
57
61
|
onClick: function onClick() {
|
|
58
62
|
return onChange(100);
|
|
59
|
-
}
|
|
63
|
+
},
|
|
64
|
+
"aria-label": formatMessage(messages.image_cropper_zoom_in)
|
|
60
65
|
}));
|
|
61
66
|
}
|
|
62
67
|
}]);
|
|
63
68
|
}(Component);
|
|
64
|
-
_defineProperty(Slider, "defaultProps", defaultProps);
|
|
69
|
+
_defineProperty(Slider, "defaultProps", defaultProps);
|
|
70
|
+
export default injectIntl(Slider);
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as AvatarPickerDialog } from './avatar-picker-dialog/avatar-picker-dialog-loader';
|
|
2
2
|
export { default as ImageNavigator } from './image-navigator';
|
|
3
3
|
export { default as ImageCropper } from './image-cropper';
|
|
4
|
-
export { Slider } from './image-navigator/slider';
|
|
4
|
+
export { default as Slider } from './image-navigator/slider';
|
|
5
5
|
export { Viewport } from './viewport';
|
|
6
6
|
export { checkeredBg } from './image-navigator/images';
|
|
7
7
|
export { exportCroppedImage } from './image-navigator/exportCroppedImage';
|
|
@@ -14,6 +14,7 @@ export interface ImageCropperProp {
|
|
|
14
14
|
onImageLoaded: (image: HTMLImageElement) => void;
|
|
15
15
|
onRemoveImage: () => void;
|
|
16
16
|
onImageError: (errorMessage: string) => void;
|
|
17
|
+
moveImage?: (key: string) => void;
|
|
17
18
|
}
|
|
18
19
|
export declare class ImageCropper extends Component<ImageCropperProp & WrappedComponentProps, {}> {
|
|
19
20
|
static defaultProps: {
|
|
@@ -22,7 +23,11 @@ export declare class ImageCropper extends Component<ImageCropperProp & WrappedCo
|
|
|
22
23
|
onDragStarted: () => void;
|
|
23
24
|
onImageSize: () => void;
|
|
24
25
|
};
|
|
26
|
+
state: {
|
|
27
|
+
liveMsg: string;
|
|
28
|
+
};
|
|
25
29
|
componentDidMount(): void;
|
|
30
|
+
onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
26
31
|
onDragStarted: (e: React.MouseEvent<{}>) => void;
|
|
27
32
|
onImageError: () => void;
|
|
28
33
|
render(): React.JSX.Element | null;
|
|
@@ -47,6 +47,7 @@ export declare class ImageNavigator extends Component<Props & WrappedComponentPr
|
|
|
47
47
|
componentDidMount(): void;
|
|
48
48
|
componentWillUnmount(): void;
|
|
49
49
|
onDragStarted: (x: number, y: number) => void;
|
|
50
|
+
moveImage: (key: string) => void;
|
|
50
51
|
onMouseMove: (e: MouseEvent) => void;
|
|
51
52
|
onMouseUp: () => void;
|
|
52
53
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component } from 'react';
|
|
2
|
+
import { WrappedComponentProps } from 'react-intl-next';
|
|
2
3
|
export interface SliderProps {
|
|
3
4
|
value: number;
|
|
4
5
|
onChange: (value: number) => void;
|
|
@@ -6,9 +7,13 @@ export interface SliderProps {
|
|
|
6
7
|
export declare const defaultProps: {
|
|
7
8
|
value: number;
|
|
8
9
|
};
|
|
9
|
-
export declare class Slider extends Component<SliderProps, {}> {
|
|
10
|
+
export declare class Slider extends Component<SliderProps & WrappedComponentProps, {}> {
|
|
10
11
|
static defaultProps: {
|
|
11
12
|
value: number;
|
|
12
13
|
};
|
|
13
14
|
render(): JSX.Element;
|
|
14
15
|
}
|
|
16
|
+
declare const _default: import("react").FC<import("react-intl-next").WithIntlProps<SliderProps & WrappedComponentProps>> & {
|
|
17
|
+
WrappedComponent: import("react").ComponentType<SliderProps & WrappedComponentProps>;
|
|
18
|
+
};
|
|
19
|
+
export default _default;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { default as ImageNavigator } from './image-navigator';
|
|
|
4
4
|
export type { Props as ImageNavigatorProps, OnLoadHandler, LoadParameters, } from './image-navigator';
|
|
5
5
|
export type { Avatar } from './avatar-list';
|
|
6
6
|
export { default as ImageCropper } from './image-cropper';
|
|
7
|
-
export { Slider } from './image-navigator/slider';
|
|
7
|
+
export { default as Slider } from './image-navigator/slider';
|
|
8
8
|
export { Viewport } from './viewport';
|
|
9
9
|
export { checkeredBg } from './image-navigator/images';
|
|
10
10
|
export { exportCroppedImage } from './image-navigator/exportCroppedImage';
|
|
@@ -14,6 +14,7 @@ export interface ImageCropperProp {
|
|
|
14
14
|
onImageLoaded: (image: HTMLImageElement) => void;
|
|
15
15
|
onRemoveImage: () => void;
|
|
16
16
|
onImageError: (errorMessage: string) => void;
|
|
17
|
+
moveImage?: (key: string) => void;
|
|
17
18
|
}
|
|
18
19
|
export declare class ImageCropper extends Component<ImageCropperProp & WrappedComponentProps, {}> {
|
|
19
20
|
static defaultProps: {
|
|
@@ -22,7 +23,11 @@ export declare class ImageCropper extends Component<ImageCropperProp & WrappedCo
|
|
|
22
23
|
onDragStarted: () => void;
|
|
23
24
|
onImageSize: () => void;
|
|
24
25
|
};
|
|
26
|
+
state: {
|
|
27
|
+
liveMsg: string;
|
|
28
|
+
};
|
|
25
29
|
componentDidMount(): void;
|
|
30
|
+
onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
26
31
|
onDragStarted: (e: React.MouseEvent<{}>) => void;
|
|
27
32
|
onImageError: () => void;
|
|
28
33
|
render(): React.JSX.Element | null;
|
|
@@ -47,6 +47,7 @@ export declare class ImageNavigator extends Component<Props & WrappedComponentPr
|
|
|
47
47
|
componentDidMount(): void;
|
|
48
48
|
componentWillUnmount(): void;
|
|
49
49
|
onDragStarted: (x: number, y: number) => void;
|
|
50
|
+
moveImage: (key: string) => void;
|
|
50
51
|
onMouseMove: (e: MouseEvent) => void;
|
|
51
52
|
onMouseUp: () => void;
|
|
52
53
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component } from 'react';
|
|
2
|
+
import { WrappedComponentProps } from 'react-intl-next';
|
|
2
3
|
export interface SliderProps {
|
|
3
4
|
value: number;
|
|
4
5
|
onChange: (value: number) => void;
|
|
@@ -6,9 +7,13 @@ export interface SliderProps {
|
|
|
6
7
|
export declare const defaultProps: {
|
|
7
8
|
value: number;
|
|
8
9
|
};
|
|
9
|
-
export declare class Slider extends Component<SliderProps, {}> {
|
|
10
|
+
export declare class Slider extends Component<SliderProps & WrappedComponentProps, {}> {
|
|
10
11
|
static defaultProps: {
|
|
11
12
|
value: number;
|
|
12
13
|
};
|
|
13
14
|
render(): JSX.Element;
|
|
14
15
|
}
|
|
16
|
+
declare const _default: import("react").FC<import("react-intl-next").WithIntlProps<SliderProps & WrappedComponentProps>> & {
|
|
17
|
+
WrappedComponent: import("react").ComponentType<SliderProps & WrappedComponentProps>;
|
|
18
|
+
};
|
|
19
|
+
export default _default;
|
|
@@ -4,7 +4,7 @@ export { default as ImageNavigator } from './image-navigator';
|
|
|
4
4
|
export type { Props as ImageNavigatorProps, OnLoadHandler, LoadParameters, } from './image-navigator';
|
|
5
5
|
export type { Avatar } from './avatar-list';
|
|
6
6
|
export { default as ImageCropper } from './image-cropper';
|
|
7
|
-
export { Slider } from './image-navigator/slider';
|
|
7
|
+
export { default as Slider } from './image-navigator/slider';
|
|
8
8
|
export { Viewport } from './viewport';
|
|
9
9
|
export { checkeredBg } from './image-navigator/images';
|
|
10
10
|
export { exportCroppedImage } from './image-navigator/exportCroppedImage';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-avatar-picker",
|
|
3
|
-
"version": "26.0
|
|
3
|
+
"version": "26.1.0",
|
|
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/"
|
|
@@ -35,19 +35,19 @@
|
|
|
35
35
|
"runReact18": true
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@atlaskit/button": "^
|
|
38
|
+
"@atlaskit/button": "^23.0.0",
|
|
39
39
|
"@atlaskit/css": "^0.10.0",
|
|
40
40
|
"@atlaskit/flag": "^17.1.0",
|
|
41
41
|
"@atlaskit/form": "^12.0.0",
|
|
42
|
-
"@atlaskit/icon": "^25.
|
|
42
|
+
"@atlaskit/icon": "^25.6.0",
|
|
43
43
|
"@atlaskit/media-ui": "^28.1.0",
|
|
44
|
-
"@atlaskit/modal-dialog": "^14.
|
|
45
|
-
"@atlaskit/primitives": "^14.
|
|
44
|
+
"@atlaskit/modal-dialog": "^14.1.0",
|
|
45
|
+
"@atlaskit/primitives": "^14.4.0",
|
|
46
46
|
"@atlaskit/range": "^9.0.0",
|
|
47
47
|
"@atlaskit/spinner": "^18.0.0",
|
|
48
48
|
"@atlaskit/textfield": "^8.0.0",
|
|
49
49
|
"@atlaskit/theme": "^18.0.0",
|
|
50
|
-
"@atlaskit/tokens": "^4.
|
|
50
|
+
"@atlaskit/tokens": "^4.8.0",
|
|
51
51
|
"@atlaskit/visually-hidden": "^3.0.0",
|
|
52
52
|
"@babel/runtime": "^7.0.0",
|
|
53
53
|
"@compiled/react": "^0.18.3",
|