iglooform 3.7.8 → 3.8.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/.dumi/tmp/core/defineApp.ts +1 -1
- package/.dumi/tmp/core/helmet.ts +1 -1
- package/.dumi/tmp/core/history.ts +1 -1
- package/.dumi/tmp/core/historyIntelli.ts +1 -1
- package/.dumi/tmp/core/plugin.ts +2 -2
- package/.dumi/tmp/core/polyfill.ts +197 -197
- package/.dumi/tmp/core/route.tsx +33 -33
- package/.dumi/tmp/dumi/exports.ts +1 -1
- package/.dumi/tmp/dumi/locales/runtime.tsx +2 -2
- package/.dumi/tmp/dumi/meta/index.ts +33 -33
- package/.dumi/tmp/dumi/meta/runtime.ts +1 -1
- package/.dumi/tmp/dumi/theme/ContextWrapper.tsx +2 -2
- package/.dumi/tmp/dumi/theme/builtins/API.ts +1 -1
- package/.dumi/tmp/dumi/theme/builtins/Badge.ts +1 -1
- package/.dumi/tmp/dumi/theme/builtins/Container.ts +1 -1
- package/.dumi/tmp/dumi/theme/builtins/Previewer.ts +1 -1
- package/.dumi/tmp/dumi/theme/builtins/SourceCode.ts +1 -1
- package/.dumi/tmp/dumi/theme/builtins/Table.ts +1 -1
- package/.dumi/tmp/dumi/theme/builtins/Tree.ts +1 -1
- package/.dumi/tmp/dumi/theme/layouts/DocLayout.ts +1 -1
- package/.dumi/tmp/dumi/theme/loading.tsx +1 -1
- package/.dumi/tmp/dumi/theme/slots/ColorSwitch.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Content.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/ContentFooter.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/ContentTabs.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Features.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Footer.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Header.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/HeaderExtra.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Hero.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/HeroTitle.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/LangSwitch.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Logo.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Navbar.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/NavbarExtra.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/NotFound.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/PreviewerActions.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/PreviewerActionsExtra.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/RtlSwitch.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/SearchBar.ts +2 -2
- package/.dumi/tmp/dumi/theme/slots/SearchResult.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Sidebar.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/SocialIcon.ts +1 -1
- package/.dumi/tmp/dumi/theme/slots/Toc.ts +1 -1
- package/.dumi/tmp/exports.ts +5 -5
- package/.dumi/tmp/testBrowser.tsx +3 -3
- package/.dumi/tmp/umi.ts +4 -4
- package/es/form/element/index.d.ts +12 -0
- package/es/form/element/index.js +6 -3
- package/es/form/element/style/index.less +4 -0
- package/es/free-form/element/index.d.ts +11 -0
- package/es/free-form/element/index.js +6 -3
- package/es/free-form/element/style/index.less +7 -3
- package/es/media/index.js +62 -30
- package/es/media/preview.d.ts +1 -0
- package/es/media/preview.js +118 -35
- package/es/media/style/index.less +6 -11
- package/es/types.d.ts +190 -0
- package/es/upload-preview/index.d.ts +9 -0
- package/es/utils/form-utils.d.ts +79 -0
- package/lib/form/element/index.d.ts +12 -0
- package/lib/form/element/index.js +6 -3
- package/lib/form/element/style/index.less +4 -0
- package/lib/free-form/element/index.d.ts +11 -0
- package/lib/free-form/element/index.js +6 -3
- package/lib/free-form/element/style/index.less +7 -3
- package/lib/media/index.js +61 -29
- package/lib/media/preview.d.ts +1 -0
- package/lib/media/preview.js +117 -34
- package/lib/media/style/index.less +6 -11
- package/lib/types.d.ts +190 -0
- package/lib/upload-preview/index.d.ts +9 -0
- package/lib/utils/form-utils.d.ts +79 -0
- package/package.json +1 -1
- package/es/currency-context/index.d.ts +0 -8
- package/es/media/index.d.ts +0 -30
- package/es/media/media.d.ts +0 -14
- package/lib/currency-context/index.d.ts +0 -8
- package/lib/media/index.d.ts +0 -30
- package/lib/media/media.d.ts +0 -14
package/es/form/element/index.js
CHANGED
|
@@ -264,7 +264,7 @@ var Element = function Element(_ref) {
|
|
|
264
264
|
'igloo-element-preview-hide': config.hideWhenPreview,
|
|
265
265
|
'igloo-element-preview-hide-divider': config.hidePreviewDivider
|
|
266
266
|
}),
|
|
267
|
-
children: /*#__PURE__*/
|
|
267
|
+
children: /*#__PURE__*/_jsxs(Form.Item, _objectSpread(_objectSpread({}, omit(formItemProps, ['copiedValue', 'selectedValue'])), {}, {
|
|
268
268
|
labelCol: {
|
|
269
269
|
span: 24
|
|
270
270
|
},
|
|
@@ -272,7 +272,7 @@ var Element = function Element(_ref) {
|
|
|
272
272
|
span: 24
|
|
273
273
|
},
|
|
274
274
|
label: null,
|
|
275
|
-
children: /*#__PURE__*/_jsxs(Row, {
|
|
275
|
+
children: [/*#__PURE__*/_jsxs(Row, {
|
|
276
276
|
className: "igloo-element-preview-item",
|
|
277
277
|
gutter: {
|
|
278
278
|
md: 32,
|
|
@@ -311,7 +311,10 @@ var Element = function Element(_ref) {
|
|
|
311
311
|
children: renderPreviewValue()
|
|
312
312
|
})]
|
|
313
313
|
})]
|
|
314
|
-
})
|
|
314
|
+
}), config.showExtraWhenPreview && /*#__PURE__*/_jsx("div", {
|
|
315
|
+
className: "igloo-element-preview-extra",
|
|
316
|
+
children: formItemProps.extra
|
|
317
|
+
})]
|
|
315
318
|
}))
|
|
316
319
|
});
|
|
317
320
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { FormItemConfig, FormItemName } from '../../types';
|
|
3
|
+
import './style';
|
|
4
|
+
interface ElementProps extends FormItemConfig {
|
|
5
|
+
parentName?: FormItemName;
|
|
6
|
+
preview?: boolean;
|
|
7
|
+
setShowStepButton?: (showButton: boolean) => void;
|
|
8
|
+
disabledFromParent?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const Element: FC<ElementProps>;
|
|
11
|
+
export default Element;
|
|
@@ -199,7 +199,7 @@ var Element = function Element(props) {
|
|
|
199
199
|
'igloo-freeform-element-preview-hide': props.hideWhenPreview,
|
|
200
200
|
'igloo-freeform-element-preview-hide-divider': props.hidePreviewDivider
|
|
201
201
|
}),
|
|
202
|
-
children: /*#__PURE__*/
|
|
202
|
+
children: /*#__PURE__*/_jsxs(Form.Item, _objectSpread(_objectSpread({}, omit(formItemProps, ['copiedValue', 'selectedValue'])), {}, {
|
|
203
203
|
labelCol: {
|
|
204
204
|
span: 24
|
|
205
205
|
},
|
|
@@ -207,7 +207,7 @@ var Element = function Element(props) {
|
|
|
207
207
|
span: 24
|
|
208
208
|
},
|
|
209
209
|
label: null,
|
|
210
|
-
children: /*#__PURE__*/_jsxs(Row, {
|
|
210
|
+
children: [/*#__PURE__*/_jsxs(Row, {
|
|
211
211
|
className: "igloo-freeform-element-preview-item",
|
|
212
212
|
gutter: {
|
|
213
213
|
md: 32,
|
|
@@ -246,7 +246,10 @@ var Element = function Element(props) {
|
|
|
246
246
|
children: previewFormater ? previewFormater(value, form) : _typeof(value) === 'object' ? JSON.stringify(value) : value
|
|
247
247
|
})]
|
|
248
248
|
})]
|
|
249
|
-
})
|
|
249
|
+
}), rest.showExtraWhenPreview && /*#__PURE__*/_jsx("div", {
|
|
250
|
+
className: "igloo-freeform-element-preview-extra",
|
|
251
|
+
children: formItemProps.extra
|
|
252
|
+
})]
|
|
250
253
|
}))
|
|
251
254
|
});
|
|
252
255
|
}
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
.igloo-freeform-element-preview-item {
|
|
13
13
|
.igloo-freeform-element-preview-label {
|
|
14
|
-
color:
|
|
14
|
+
color: @icon-color;
|
|
15
15
|
line-height: 24px;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.igloo-freeform-element-preview-value {
|
|
19
|
-
color:
|
|
19
|
+
color: @text-color;
|
|
20
20
|
white-space: pre-wrap;
|
|
21
21
|
word-break: break-word;
|
|
22
22
|
line-height: 24px;
|
|
@@ -32,6 +32,10 @@
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
.igloo-freeform-element-preview-extra {
|
|
36
|
+
margin-top: 6px;
|
|
37
|
+
}
|
|
38
|
+
|
|
35
39
|
.ant-form-item-explain-error {
|
|
36
40
|
margin-top: 0;
|
|
37
41
|
margin-left: calc(~'50%' + 16px);
|
|
@@ -95,7 +99,7 @@
|
|
|
95
99
|
width: 100%;
|
|
96
100
|
|
|
97
101
|
.igloo-freeform-label-text {
|
|
98
|
-
color:
|
|
102
|
+
color: @icon-color;
|
|
99
103
|
font-size: 16px;
|
|
100
104
|
line-height: 24px;
|
|
101
105
|
|
package/es/media/index.js
CHANGED
|
@@ -16,12 +16,13 @@ import PreviewMedia from "./preview";
|
|
|
16
16
|
import classnames from 'classnames';
|
|
17
17
|
import Typography from "../typography";
|
|
18
18
|
import FileIcon from "./file-icon";
|
|
19
|
-
import { MinusOutlined, PlusOutlined, ArrowRightOutlined, ArrowLeftOutlined, CrossOutlined, DownloadOutlined } from 'iglooicon';
|
|
19
|
+
import { MinusOutlined, PlusOutlined, ArrowRightOutlined, ArrowLeftOutlined, CrossOutlined, DownloadOutlined, RefreshOutlined } from 'iglooicon';
|
|
20
20
|
import "./style";
|
|
21
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
22
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
23
23
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
24
|
var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
25
|
+
var _list$current;
|
|
25
26
|
var srcProp = _ref.src,
|
|
26
27
|
name = _ref.name,
|
|
27
28
|
className = _ref.className,
|
|
@@ -76,6 +77,10 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
76
77
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
77
78
|
direction = _useState14[0],
|
|
78
79
|
setDirection = _useState14[1];
|
|
80
|
+
var _useState15 = useState(0),
|
|
81
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
82
|
+
rotation = _useState16[0],
|
|
83
|
+
setRotation = _useState16[1];
|
|
79
84
|
useEffect(function () {
|
|
80
85
|
setType(type);
|
|
81
86
|
}, [type]);
|
|
@@ -185,6 +190,9 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
185
190
|
var close = function close() {
|
|
186
191
|
setShowModal(false);
|
|
187
192
|
setCurrent(index);
|
|
193
|
+
setScale(1);
|
|
194
|
+
setRotation(0);
|
|
195
|
+
setDirection('');
|
|
188
196
|
};
|
|
189
197
|
var toLeft = function toLeft() {
|
|
190
198
|
setCurrent(function (current) {
|
|
@@ -198,6 +206,7 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
198
206
|
return next;
|
|
199
207
|
});
|
|
200
208
|
setScale(1);
|
|
209
|
+
setRotation(0);
|
|
201
210
|
setDirection('left');
|
|
202
211
|
};
|
|
203
212
|
var toRight = function toRight() {
|
|
@@ -212,6 +221,7 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
212
221
|
return next;
|
|
213
222
|
});
|
|
214
223
|
setScale(1);
|
|
224
|
+
setRotation(0);
|
|
215
225
|
setDirection('right');
|
|
216
226
|
};
|
|
217
227
|
var zoomIn = function zoomIn(e) {
|
|
@@ -222,6 +232,12 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
222
232
|
e.preventDefault();
|
|
223
233
|
setScale(scale + 0.2);
|
|
224
234
|
};
|
|
235
|
+
var rotate = function rotate(e) {
|
|
236
|
+
e.preventDefault();
|
|
237
|
+
setRotation(function (rotation) {
|
|
238
|
+
return (rotation + 270) % 360;
|
|
239
|
+
});
|
|
240
|
+
};
|
|
225
241
|
var onDownloadClick = /*#__PURE__*/function () {
|
|
226
242
|
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(downloadUrl) {
|
|
227
243
|
var filename, actionType, res, blob, url;
|
|
@@ -372,6 +388,8 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
372
388
|
return index === current - 1;
|
|
373
389
|
}
|
|
374
390
|
};
|
|
391
|
+
var currentPreviewType = (list === null || list === void 0 ? void 0 : list.length) > 0 ? (_list$current = list[current]) === null || _list$current === void 0 ? void 0 : _list$current.type : mediaType;
|
|
392
|
+
var canRotate = currentPreviewType === 'image';
|
|
375
393
|
return /*#__PURE__*/_jsxs("div", {
|
|
376
394
|
className: className,
|
|
377
395
|
style: style,
|
|
@@ -437,6 +455,7 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
437
455
|
type: type,
|
|
438
456
|
src: src,
|
|
439
457
|
scale: scale,
|
|
458
|
+
rotation: rotation,
|
|
440
459
|
isCurrent: index === current
|
|
441
460
|
})
|
|
442
461
|
}, index);
|
|
@@ -446,38 +465,51 @@ var MediaWithPreview = function MediaWithPreview(_ref) {
|
|
|
446
465
|
type: mediaType,
|
|
447
466
|
src: src,
|
|
448
467
|
scale: scale,
|
|
468
|
+
rotation: rotation,
|
|
449
469
|
isCurrent: true,
|
|
450
470
|
showAllPages: showAllPages
|
|
451
471
|
})
|
|
452
|
-
}, index), /*#__PURE__*/
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
472
|
+
}, index), /*#__PURE__*/_jsxs("div", {
|
|
473
|
+
className: "igloo-preview-actions",
|
|
474
|
+
children: [/*#__PURE__*/_jsx(MinusOutlined, {
|
|
475
|
+
onClick: zoomIn,
|
|
476
|
+
className: classnames({
|
|
477
|
+
'igloo-preview-action-btn': true,
|
|
478
|
+
'igloo-preview-zoom-in': true,
|
|
479
|
+
'igloo-preview-disabled': scale <= 0.5
|
|
480
|
+
}),
|
|
481
|
+
style: {
|
|
482
|
+
fontSize: 24
|
|
483
|
+
}
|
|
484
|
+
}), /*#__PURE__*/_jsx(PlusOutlined, {
|
|
485
|
+
onClick: zoomOut,
|
|
486
|
+
className: classnames({
|
|
487
|
+
'igloo-preview-action-btn': true,
|
|
488
|
+
'igloo-preview-zoom-out': true,
|
|
489
|
+
'igloo-preview-disabled': scale >= 2
|
|
490
|
+
}),
|
|
491
|
+
style: {
|
|
492
|
+
fontSize: 24
|
|
493
|
+
}
|
|
494
|
+
}), canRotate && /*#__PURE__*/_jsx(RefreshOutlined, {
|
|
495
|
+
onClick: rotate,
|
|
496
|
+
className: classnames({
|
|
497
|
+
'igloo-preview-action-btn': true,
|
|
498
|
+
'igloo-preview-rotate-btn': true
|
|
499
|
+
}),
|
|
500
|
+
style: {
|
|
501
|
+
fontSize: 24
|
|
502
|
+
}
|
|
503
|
+
}), download && /*#__PURE__*/_jsx(DownloadOutlined, {
|
|
504
|
+
onClick: onDownloadByModal,
|
|
505
|
+
className: classnames({
|
|
506
|
+
'igloo-preview-action-btn': true,
|
|
507
|
+
'igloo-preview-download-btn': true
|
|
508
|
+
}),
|
|
509
|
+
style: {
|
|
510
|
+
fontSize: 24
|
|
511
|
+
}
|
|
512
|
+
})]
|
|
481
513
|
}), (list.length > 2 || list.length === 2 && current === 1) && /*#__PURE__*/_jsx(ArrowLeftOutlined, {
|
|
482
514
|
className: "igloo-media-page-btn",
|
|
483
515
|
style: {
|
package/es/media/preview.d.ts
CHANGED
package/es/media/preview.js
CHANGED
|
@@ -10,7 +10,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
10
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
11
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
import React, { useState, useRef, useContext, useReducer } from 'react';
|
|
13
|
+
import React, { useState, useRef, useContext, useReducer, useEffect } from 'react';
|
|
14
14
|
import { Document, Page } from 'react-pdf/dist/esm/entry.webpack';
|
|
15
15
|
import classnames from 'classnames';
|
|
16
16
|
import { ArrowLeftOutlined, ArrowRightOutlined } from 'iglooicon';
|
|
@@ -207,10 +207,30 @@ var PdfViewer = function PdfViewer(_ref) {
|
|
|
207
207
|
})]
|
|
208
208
|
});
|
|
209
209
|
};
|
|
210
|
+
var getImageLayoutSize = function getImageLayoutSize(imageSize, containerSize, rotation) {
|
|
211
|
+
var imageWidth = imageSize.width,
|
|
212
|
+
imageHeight = imageSize.height;
|
|
213
|
+
var containerWidth = containerSize.width,
|
|
214
|
+
containerHeight = containerSize.height;
|
|
215
|
+
if (!imageWidth || !imageHeight || !containerWidth || !containerHeight) {
|
|
216
|
+
return undefined;
|
|
217
|
+
}
|
|
218
|
+
var isQuarterTurn = Math.abs(rotation % 180) === 90;
|
|
219
|
+
var ratio = isQuarterTurn ? Math.min(containerWidth / imageHeight, containerHeight / imageWidth) : Math.min(containerWidth / imageWidth, containerHeight / imageHeight);
|
|
220
|
+
if (!isFinite(ratio) || ratio <= 0) {
|
|
221
|
+
return undefined;
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
width: imageWidth * ratio,
|
|
225
|
+
height: imageHeight * ratio
|
|
226
|
+
};
|
|
227
|
+
};
|
|
210
228
|
var MediaItem = function MediaItem(_ref3) {
|
|
211
229
|
var type = _ref3.type,
|
|
212
230
|
src = _ref3.src,
|
|
213
231
|
scale = _ref3.scale,
|
|
232
|
+
rotation = _ref3.rotation,
|
|
233
|
+
containerSize = _ref3.containerSize,
|
|
214
234
|
offset = _ref3.offset,
|
|
215
235
|
isCurrent = _ref3.isCurrent,
|
|
216
236
|
showAllPages = _ref3.showAllPages;
|
|
@@ -218,6 +238,14 @@ var MediaItem = function MediaItem(_ref3) {
|
|
|
218
238
|
left = offset.left;
|
|
219
239
|
var _useContext2 = useContext(LocaleContext),
|
|
220
240
|
formatMessage = _useContext2.formatMessage;
|
|
241
|
+
var _useState7 = useState({
|
|
242
|
+
width: 0,
|
|
243
|
+
height: 0
|
|
244
|
+
}),
|
|
245
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
246
|
+
imageSize = _useState8[0],
|
|
247
|
+
setImageSize = _useState8[1];
|
|
248
|
+
var imageLayoutSize = getImageLayoutSize(imageSize, containerSize, rotation);
|
|
221
249
|
switch (type) {
|
|
222
250
|
case 'video':
|
|
223
251
|
return /*#__PURE__*/_jsx("video", {
|
|
@@ -238,14 +266,32 @@ var MediaItem = function MediaItem(_ref3) {
|
|
|
238
266
|
showAllPages: showAllPages
|
|
239
267
|
});
|
|
240
268
|
case 'image':
|
|
241
|
-
return /*#__PURE__*/_jsx("
|
|
242
|
-
src: src,
|
|
269
|
+
return /*#__PURE__*/_jsx("div", {
|
|
243
270
|
style: {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
271
|
+
position: 'absolute',
|
|
272
|
+
inset: 0,
|
|
273
|
+
display: 'flex',
|
|
274
|
+
justifyContent: 'center',
|
|
275
|
+
alignItems: 'center',
|
|
276
|
+
transform: "translate(".concat(left, "px, ").concat(top, "px)")
|
|
277
|
+
},
|
|
278
|
+
children: /*#__PURE__*/_jsx("img", {
|
|
279
|
+
src: src,
|
|
280
|
+
onLoad: function onLoad(_ref4) {
|
|
281
|
+
var currentTarget = _ref4.currentTarget;
|
|
282
|
+
return setImageSize({
|
|
283
|
+
width: currentTarget.naturalWidth,
|
|
284
|
+
height: currentTarget.naturalHeight
|
|
285
|
+
});
|
|
286
|
+
},
|
|
287
|
+
style: _objectSpread(_objectSpread({}, imageLayoutSize ? imageLayoutSize : {
|
|
288
|
+
maxWidth: '100%',
|
|
289
|
+
maxHeight: '100%'
|
|
290
|
+
}), {}, {
|
|
291
|
+
display: 'block',
|
|
292
|
+
transform: "scale(".concat(scale, ") rotate(").concat(rotation, "deg)")
|
|
293
|
+
})
|
|
294
|
+
})
|
|
249
295
|
});
|
|
250
296
|
default:
|
|
251
297
|
return /*#__PURE__*/_jsxs("div", {
|
|
@@ -262,42 +308,76 @@ var MediaItem = function MediaItem(_ref3) {
|
|
|
262
308
|
});
|
|
263
309
|
}
|
|
264
310
|
};
|
|
265
|
-
var Media = function Media(
|
|
266
|
-
var src =
|
|
267
|
-
className =
|
|
268
|
-
style =
|
|
269
|
-
|
|
270
|
-
scale =
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
setIsDrag = _useState8[1];
|
|
280
|
-
var _useState9 = useState({
|
|
281
|
-
startX: 0,
|
|
282
|
-
startY: 0
|
|
283
|
-
}),
|
|
311
|
+
var Media = function Media(_ref5) {
|
|
312
|
+
var src = _ref5.src,
|
|
313
|
+
className = _ref5.className,
|
|
314
|
+
style = _ref5.style,
|
|
315
|
+
_ref5$scale = _ref5.scale,
|
|
316
|
+
scale = _ref5$scale === void 0 ? 1 : _ref5$scale,
|
|
317
|
+
_ref5$rotation = _ref5.rotation,
|
|
318
|
+
rotation = _ref5$rotation === void 0 ? 0 : _ref5$rotation,
|
|
319
|
+
type = _ref5.type,
|
|
320
|
+
_ref5$isCurrent = _ref5.isCurrent,
|
|
321
|
+
isCurrent = _ref5$isCurrent === void 0 ? false : _ref5$isCurrent,
|
|
322
|
+
_ref5$showAllPages = _ref5.showAllPages,
|
|
323
|
+
showAllPages = _ref5$showAllPages === void 0 ? true : _ref5$showAllPages;
|
|
324
|
+
var _useState9 = useState(false),
|
|
284
325
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
285
|
-
|
|
286
|
-
|
|
326
|
+
isDrag = _useState10[0],
|
|
327
|
+
setIsDrag = _useState10[1];
|
|
287
328
|
var _useState11 = useState({
|
|
288
|
-
|
|
289
|
-
|
|
329
|
+
startX: 0,
|
|
330
|
+
startY: 0
|
|
290
331
|
}),
|
|
291
332
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
292
|
-
|
|
293
|
-
|
|
333
|
+
startPos = _useState12[0],
|
|
334
|
+
setStartPos = _useState12[1];
|
|
294
335
|
var _useState13 = useState({
|
|
295
336
|
top: 0,
|
|
296
337
|
left: 0
|
|
297
338
|
}),
|
|
298
339
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
299
|
-
|
|
300
|
-
|
|
340
|
+
offset = _useState14[0],
|
|
341
|
+
setOffset = _useState14[1];
|
|
342
|
+
var _useState15 = useState({
|
|
343
|
+
top: 0,
|
|
344
|
+
left: 0
|
|
345
|
+
}),
|
|
346
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
347
|
+
lastOffset = _useState16[0],
|
|
348
|
+
setLastOffset = _useState16[1];
|
|
349
|
+
var containerRef = useRef(null);
|
|
350
|
+
var _useState17 = useState({
|
|
351
|
+
width: 0,
|
|
352
|
+
height: 0
|
|
353
|
+
}),
|
|
354
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
355
|
+
containerSize = _useState18[0],
|
|
356
|
+
setContainerSize = _useState18[1];
|
|
357
|
+
useEffect(function () {
|
|
358
|
+
var current = containerRef.current;
|
|
359
|
+
if (!current) {
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
var updateContainerSize = function updateContainerSize() {
|
|
363
|
+
setContainerSize({
|
|
364
|
+
width: current.clientWidth,
|
|
365
|
+
height: current.clientHeight
|
|
366
|
+
});
|
|
367
|
+
};
|
|
368
|
+
updateContainerSize();
|
|
369
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
370
|
+
window.addEventListener('resize', updateContainerSize);
|
|
371
|
+
return function () {
|
|
372
|
+
return window.removeEventListener('resize', updateContainerSize);
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
var observer = new ResizeObserver(updateContainerSize);
|
|
376
|
+
observer.observe(current);
|
|
377
|
+
return function () {
|
|
378
|
+
return observer.disconnect();
|
|
379
|
+
};
|
|
380
|
+
}, []);
|
|
301
381
|
var handleMouseUp = function handleMouseUp(e) {
|
|
302
382
|
e.preventDefault();
|
|
303
383
|
var button = e.button;
|
|
@@ -340,6 +420,7 @@ var Media = function Media(_ref4) {
|
|
|
340
420
|
});
|
|
341
421
|
};
|
|
342
422
|
return /*#__PURE__*/_jsx("div", {
|
|
423
|
+
ref: containerRef,
|
|
343
424
|
style: {
|
|
344
425
|
position: 'relative',
|
|
345
426
|
width: '100%',
|
|
@@ -356,6 +437,8 @@ var Media = function Media(_ref4) {
|
|
|
356
437
|
type: type,
|
|
357
438
|
src: src,
|
|
358
439
|
scale: scale,
|
|
440
|
+
rotation: rotation,
|
|
441
|
+
containerSize: containerSize,
|
|
359
442
|
offset: offset,
|
|
360
443
|
isCurrent: isCurrent,
|
|
361
444
|
showAllPages: showAllPages
|
|
@@ -108,21 +108,16 @@
|
|
|
108
108
|
margin-top: 16px;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
.igloo-preview-
|
|
111
|
+
.igloo-preview-actions {
|
|
112
|
+
position: fixed;
|
|
112
113
|
right: 24px;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.igloo-preview-download-btn {
|
|
120
|
-
right: 136px;
|
|
114
|
+
bottom: 24px;
|
|
115
|
+
display: flex;
|
|
116
|
+
flex-direction: row-reverse;
|
|
117
|
+
gap: 16px;
|
|
121
118
|
}
|
|
122
119
|
|
|
123
120
|
.igloo-preview-action-btn {
|
|
124
|
-
position: fixed;
|
|
125
|
-
bottom: 24px;
|
|
126
121
|
display: flex;
|
|
127
122
|
justify-content: center;
|
|
128
123
|
align-items: center;
|