linkmore-design 1.0.73 → 1.0.74
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/dist/ConfigProvider/demos/basic.d.ts +2 -0
- package/dist/ConfigProvider/index.d.ts +2 -0
- package/dist/ConfigProvider/style/index.d.ts +1 -0
- package/dist/ImageViewer/components/Arrows.d.ts +4 -0
- package/dist/ImageViewer/components/Carousel.d.ts +4 -0
- package/dist/ImageViewer/components/Operate.d.ts +4 -0
- package/dist/ImageViewer/components/Thumb.d.ts +4 -0
- package/dist/ImageViewer/fns/index.d.ts +20 -0
- package/dist/ImageViewer/wrapeer/reducer.d.ts +10 -0
- package/dist/Locale/index.d.ts +6 -0
- package/dist/Locale/style/index.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.umd.js +115051 -115027
- package/dist/index.umd.min.js +20 -20
- package/es/ConfigProvider/index.js +15 -0
- package/es/ConfigProvider/style/index.css +141 -0
- package/es/ConfigProvider/style/index.js +3 -0
- package/es/ImageViewer/LmImageViewer.js +7 -8
- package/es/ImageViewer/components/Arrows.d.ts +4 -0
- package/es/ImageViewer/components/Arrows.js +38 -0
- package/es/ImageViewer/components/Carousel.d.ts +4 -0
- package/es/ImageViewer/components/Carousel.js +71 -0
- package/es/ImageViewer/components/Operate.d.ts +4 -0
- package/es/ImageViewer/components/Operate.js +40 -0
- package/es/ImageViewer/components/Thumb.d.ts +4 -0
- package/es/ImageViewer/components/Thumb.js +37 -0
- package/es/ImageViewer/fns/index.d.ts +20 -0
- package/es/ImageViewer/fns/index.js +100 -0
- package/es/ImageViewer/style/index.css +104 -2
- package/es/ImageViewer/wrapeer/Container.js +22 -4
- package/es/ImageViewer/wrapeer/Root.js +30 -3
- package/es/ImageViewer/wrapeer/Wrapper.js +16 -2
- package/es/ImageViewer/wrapeer/reducer.d.ts +10 -0
- package/es/ImageViewer/wrapeer/reducer.js +52 -0
- package/es/LmFilter/Controls/index.js +6 -5
- package/es/LmFilter/customFilter/index.js +1 -1
- package/es/LmFilter/customFilter/saveModal.js +1 -1
- package/es/LmFilter/customFilter/valueDrawer.js +7 -10
- package/es/Locale/index.d.ts +6 -0
- package/es/Locale/index.js +9 -0
- package/es/Locale/style/index.css +141 -0
- package/es/Locale/style/index.js +3 -0
- package/es/Pagination/index.js +18 -5
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/lib/ConfigProvider/index.js +15 -0
- package/lib/ConfigProvider/style/index.css +141 -0
- package/lib/ConfigProvider/style/index.js +3 -0
- package/lib/ImageViewer/LmImageViewer.js +7 -8
- package/lib/ImageViewer/components/Arrows.d.ts +4 -0
- package/lib/ImageViewer/components/Arrows.js +49 -0
- package/lib/ImageViewer/components/Carousel.d.ts +4 -0
- package/lib/ImageViewer/components/Carousel.js +82 -0
- package/lib/ImageViewer/components/Operate.d.ts +4 -0
- package/lib/ImageViewer/components/Operate.js +51 -0
- package/lib/ImageViewer/components/Thumb.d.ts +4 -0
- package/lib/ImageViewer/components/Thumb.js +50 -0
- package/lib/ImageViewer/fns/index.d.ts +20 -0
- package/lib/ImageViewer/fns/index.js +108 -0
- package/lib/ImageViewer/style/index.css +104 -2
- package/lib/ImageViewer/wrapeer/Container.js +26 -4
- package/lib/ImageViewer/wrapeer/Root.js +34 -4
- package/lib/ImageViewer/wrapeer/Wrapper.js +16 -2
- package/lib/ImageViewer/wrapeer/reducer.d.ts +10 -0
- package/lib/ImageViewer/wrapeer/reducer.js +64 -0
- package/lib/LmFilter/Controls/index.js +6 -5
- package/lib/LmFilter/customFilter/index.js +1 -1
- package/lib/LmFilter/customFilter/saveModal.js +1 -1
- package/lib/LmFilter/customFilter/valueDrawer.js +7 -10
- package/lib/Locale/index.d.ts +6 -0
- package/lib/Locale/index.js +22 -0
- package/lib/Locale/style/index.css +141 -0
- package/lib/Locale/style/index.js +3 -0
- package/lib/Pagination/index.js +20 -5
- package/lib/index.d.ts +2 -0
- package/lib/index.js +16 -0
- package/package.json +1 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
13
|
+
|
|
14
|
+
var Arrows = function Arrows(_ref) {
|
|
15
|
+
var instance = _ref.instance;
|
|
16
|
+
var slickNext = instance.slickNext,
|
|
17
|
+
slickPrev = instance.slickPrev;
|
|
18
|
+
|
|
19
|
+
var handlePreNext = function handlePreNext(e, type) {
|
|
20
|
+
e.stopPropagation();
|
|
21
|
+
|
|
22
|
+
if (type === 'next') {
|
|
23
|
+
slickNext();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (type === 'prev') {
|
|
27
|
+
slickPrev();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
32
|
+
className: "arrow arrow_left",
|
|
33
|
+
onClick: function onClick(e) {
|
|
34
|
+
return handlePreNext(e, 'prev');
|
|
35
|
+
}
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
37
|
+
type: "lmweb-left"
|
|
38
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
+
className: "arrow arrow_right",
|
|
40
|
+
onClick: function onClick(e) {
|
|
41
|
+
return handlePreNext(e, 'next');
|
|
42
|
+
}
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
44
|
+
type: "lmweb-right"
|
|
45
|
+
})));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var _default = Arrows;
|
|
49
|
+
exports.default = _default;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
13
|
+
|
|
14
|
+
var ListItem = function ListItem(_ref) {
|
|
15
|
+
var key = _ref.key,
|
|
16
|
+
index = _ref.index,
|
|
17
|
+
item = _ref.item,
|
|
18
|
+
instance = _ref.instance;
|
|
19
|
+
var state = instance.state;
|
|
20
|
+
var transformProps = (0, _react.useMemo)(function () {
|
|
21
|
+
if (index !== state.currentIndex) return {};
|
|
22
|
+
var _state$transform = state.transform,
|
|
23
|
+
scale = _state$transform.scale,
|
|
24
|
+
rotateZ = _state$transform.rotateZ;
|
|
25
|
+
return {
|
|
26
|
+
transform: "scale(".concat(scale, ") rotateZ(").concat(rotateZ, "deg)")
|
|
27
|
+
};
|
|
28
|
+
}, [state.currentIndex, state.transform]);
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
30
|
+
className: "preview_item",
|
|
31
|
+
key: key
|
|
32
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
33
|
+
src: item,
|
|
34
|
+
alt: "",
|
|
35
|
+
style: transformProps
|
|
36
|
+
}));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var BigImg = function BigImg(_ref2) {
|
|
40
|
+
var instance = _ref2.instance;
|
|
41
|
+
var urlList = instance.urlList,
|
|
42
|
+
previewRef = instance.previewRef,
|
|
43
|
+
infinite = instance.infinite,
|
|
44
|
+
setTransform = instance.setTransform,
|
|
45
|
+
afterChange = instance.afterChange;
|
|
46
|
+
var onWheel = (0, _react.useCallback)(function (e) {
|
|
47
|
+
// e?.preventDefault()
|
|
48
|
+
// e.stopPropagation()
|
|
49
|
+
if ((e === null || e === void 0 ? void 0 : e.deltaY) <= 0) {
|
|
50
|
+
setTransform('zoomIn');
|
|
51
|
+
} else {
|
|
52
|
+
setTransform('zoomOut');
|
|
53
|
+
}
|
|
54
|
+
}, [setTransform]);
|
|
55
|
+
var config = {
|
|
56
|
+
dots: false,
|
|
57
|
+
infinite: infinite,
|
|
58
|
+
// lazyLoad: true, // 懒加载
|
|
59
|
+
adaptiveHeight: false,
|
|
60
|
+
afterChange: afterChange // customPaging: (i) => <img src={urlList[i]} alt="" />,
|
|
61
|
+
|
|
62
|
+
};
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
64
|
+
className: "preview_list",
|
|
65
|
+
onClick: function onClick(e) {
|
|
66
|
+
return e.stopPropagation();
|
|
67
|
+
},
|
|
68
|
+
onWheel: onWheel
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Carousel, Object.assign({
|
|
70
|
+
ref: previewRef
|
|
71
|
+
}, config), urlList.map(function (v, idx) {
|
|
72
|
+
return /*#__PURE__*/_react.default.createElement(ListItem, {
|
|
73
|
+
key: idx || v,
|
|
74
|
+
index: idx,
|
|
75
|
+
item: v,
|
|
76
|
+
instance: instance
|
|
77
|
+
});
|
|
78
|
+
})));
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var _default = BigImg;
|
|
82
|
+
exports.default = _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
13
|
+
|
|
14
|
+
var Operate = function Operate(_ref) {
|
|
15
|
+
var instance = _ref.instance;
|
|
16
|
+
var setTransform = instance.setTransform;
|
|
17
|
+
|
|
18
|
+
var handleTranform = function handleTranform(e, type) {
|
|
19
|
+
setTransform(type);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
23
|
+
className: "image_viewer_action",
|
|
24
|
+
onClick: function onClick(e) {
|
|
25
|
+
return e.stopPropagation();
|
|
26
|
+
}
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
28
|
+
type: "lmweb-zoomin",
|
|
29
|
+
onClick: function onClick(e) {
|
|
30
|
+
return handleTranform(e, 'zoomIn');
|
|
31
|
+
}
|
|
32
|
+
}), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
33
|
+
type: "lmweb-a-icon_m_search1",
|
|
34
|
+
onClick: function onClick(e) {
|
|
35
|
+
return handleTranform(e, 'zoomOut');
|
|
36
|
+
}
|
|
37
|
+
}), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
38
|
+
type: "lmweb-undo",
|
|
39
|
+
onClick: function onClick(e) {
|
|
40
|
+
return handleTranform(e, 'rotateLeft');
|
|
41
|
+
}
|
|
42
|
+
}), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
43
|
+
type: "lmweb-redo",
|
|
44
|
+
onClick: function onClick(e) {
|
|
45
|
+
return handleTranform(e, 'rotateRight');
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var _default = Operate;
|
|
51
|
+
exports.default = _default;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var Thumb = function Thumb(_ref) {
|
|
17
|
+
var instance = _ref.instance;
|
|
18
|
+
var state = instance.state,
|
|
19
|
+
urlList = instance.urlList,
|
|
20
|
+
slickGoTo = instance.slickGoTo;
|
|
21
|
+
var activeIndex = (0, _react.useMemo)(function () {
|
|
22
|
+
return state.currentIndex;
|
|
23
|
+
}, [state.currentIndex]);
|
|
24
|
+
|
|
25
|
+
var handleGoTo = function handleGoTo(e, number) {
|
|
26
|
+
e.preventDefault();
|
|
27
|
+
slickGoTo(number);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
+
className: "thumb_list",
|
|
32
|
+
onClick: function onClick(e) {
|
|
33
|
+
return e.stopPropagation();
|
|
34
|
+
}
|
|
35
|
+
}, urlList.map(function (v, idx) {
|
|
36
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
37
|
+
className: (0, _classnames.default)('thumb_item', activeIndex === idx && 'active'),
|
|
38
|
+
key: idx || v,
|
|
39
|
+
onClick: function onClick(e) {
|
|
40
|
+
return handleGoTo(e, idx);
|
|
41
|
+
}
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
43
|
+
src: v,
|
|
44
|
+
alt: ""
|
|
45
|
+
}));
|
|
46
|
+
}));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var _default = Thumb;
|
|
50
|
+
exports.default = _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare const useCoreOptions: ({ state, dispatch, props, previewRef }: {
|
|
2
|
+
state: any;
|
|
3
|
+
dispatch: any;
|
|
4
|
+
props: any;
|
|
5
|
+
previewRef: any;
|
|
6
|
+
}) => {
|
|
7
|
+
CoreMethods: {
|
|
8
|
+
getVisible: () => any;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
setTransform: (type: any) => void;
|
|
11
|
+
afterChange: (currentIndex: any) => void;
|
|
12
|
+
slickGoTo: (currentIndex: any) => void;
|
|
13
|
+
slickNext: () => void;
|
|
14
|
+
slickPrev: () => void;
|
|
15
|
+
};
|
|
16
|
+
RefMethods: {
|
|
17
|
+
getState: () => any;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export default useCoreOptions;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var useCoreOptions = function useCoreOptions(_ref) {
|
|
11
|
+
var state = _ref.state,
|
|
12
|
+
dispatch = _ref.dispatch,
|
|
13
|
+
props = _ref.props,
|
|
14
|
+
previewRef = _ref.previewRef;
|
|
15
|
+
// 获取显示状态
|
|
16
|
+
var getVisible = (0, _react.useCallback)(function () {
|
|
17
|
+
return typeof props.visible === 'boolean' ? props.visible : state.visible;
|
|
18
|
+
}, [props, state.visible]); // 关闭事件
|
|
19
|
+
|
|
20
|
+
var onClose = (0, _react.useCallback)(function () {
|
|
21
|
+
var _a;
|
|
22
|
+
|
|
23
|
+
(_a = props.close) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
24
|
+
dispatch({
|
|
25
|
+
type: 'init'
|
|
26
|
+
});
|
|
27
|
+
dispatch({
|
|
28
|
+
type: 'changeVisible',
|
|
29
|
+
visible: false
|
|
30
|
+
});
|
|
31
|
+
}, []);
|
|
32
|
+
var setTransform = (0, _react.useCallback)(function (type) {
|
|
33
|
+
var scale = state.transform.scale * 100;
|
|
34
|
+
var rotateZ = state.transform.rotateZ;
|
|
35
|
+
|
|
36
|
+
switch (type) {
|
|
37
|
+
case 'zoomIn':
|
|
38
|
+
scale += 25;
|
|
39
|
+
break;
|
|
40
|
+
|
|
41
|
+
case 'zoomOut':
|
|
42
|
+
scale < 30 ? scale : scale -= 25;
|
|
43
|
+
break;
|
|
44
|
+
|
|
45
|
+
case 'rotateLeft':
|
|
46
|
+
rotateZ -= 90;
|
|
47
|
+
break;
|
|
48
|
+
|
|
49
|
+
case 'rotateRight':
|
|
50
|
+
rotateZ += 90;
|
|
51
|
+
break;
|
|
52
|
+
|
|
53
|
+
default:
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
dispatch({
|
|
58
|
+
type: 'changeTransform',
|
|
59
|
+
transform: {
|
|
60
|
+
rotateZ: rotateZ,
|
|
61
|
+
scale: scale / 100
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}, [state.transform]); // 切换轮播后的回调
|
|
65
|
+
|
|
66
|
+
var afterChange = (0, _react.useCallback)(function (currentIndex) {
|
|
67
|
+
console.log('currentIndex', currentIndex);
|
|
68
|
+
dispatch({
|
|
69
|
+
type: 'changeCurrent',
|
|
70
|
+
current: {
|
|
71
|
+
currentIndex: currentIndex
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}, []); // 转到指定的轮播图, 直接跳转, 不展示动画
|
|
75
|
+
|
|
76
|
+
var slickGoTo = (0, _react.useCallback)(function (currentIndex) {
|
|
77
|
+
previewRef.current.goTo(currentIndex, true);
|
|
78
|
+
}, []); // 转到下一张轮播图
|
|
79
|
+
|
|
80
|
+
var slickNext = (0, _react.useCallback)(function () {
|
|
81
|
+
previewRef.current.next();
|
|
82
|
+
}, []); // 转到上一张轮播图
|
|
83
|
+
|
|
84
|
+
var slickPrev = (0, _react.useCallback)(function () {
|
|
85
|
+
previewRef.current.prev();
|
|
86
|
+
}, []);
|
|
87
|
+
var CoreMethods = {
|
|
88
|
+
getVisible: getVisible,
|
|
89
|
+
onClose: onClose,
|
|
90
|
+
setTransform: setTransform,
|
|
91
|
+
afterChange: afterChange,
|
|
92
|
+
slickGoTo: slickGoTo,
|
|
93
|
+
slickNext: slickNext,
|
|
94
|
+
slickPrev: slickPrev
|
|
95
|
+
};
|
|
96
|
+
var RefMethods = {
|
|
97
|
+
getState: function getState() {
|
|
98
|
+
return state;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
return {
|
|
102
|
+
CoreMethods: CoreMethods,
|
|
103
|
+
RefMethods: RefMethods
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
var _default = useCoreOptions;
|
|
108
|
+
exports.default = _default;
|
|
@@ -1,5 +1,107 @@
|
|
|
1
|
-
.
|
|
1
|
+
.lm_image_viewer_wrapper {
|
|
2
2
|
position: fixed;
|
|
3
3
|
inset: 0;
|
|
4
|
-
z-index:
|
|
4
|
+
z-index: 1001;
|
|
5
|
+
}
|
|
6
|
+
.lm_image_viewer_wrapper .lm_image_viewer_mask {
|
|
7
|
+
position: absolute;
|
|
8
|
+
inset: 0;
|
|
9
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
10
|
+
}
|
|
11
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container {
|
|
12
|
+
position: relative;
|
|
13
|
+
z-index: 2;
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-flow: column;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: var(--gap);
|
|
18
|
+
height: 100vh;
|
|
19
|
+
padding: 50px 0;
|
|
20
|
+
}
|
|
21
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .preview_list {
|
|
22
|
+
flex: 1;
|
|
23
|
+
width: 51%;
|
|
24
|
+
max-height: 100%;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
touch-action: none;
|
|
27
|
+
}
|
|
28
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .preview_list div {
|
|
29
|
+
height: 100%;
|
|
30
|
+
}
|
|
31
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .preview_list .preview_item {
|
|
32
|
+
text-align: center;
|
|
33
|
+
border-radius: 2px;
|
|
34
|
+
overflow: hidden;
|
|
35
|
+
}
|
|
36
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .preview_list .preview_item img {
|
|
37
|
+
display: inline-block;
|
|
38
|
+
width: 100%;
|
|
39
|
+
height: 100%;
|
|
40
|
+
object-fit: contain;
|
|
41
|
+
transition: 0.3s;
|
|
42
|
+
}
|
|
43
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .thumb_list {
|
|
44
|
+
display: flex;
|
|
45
|
+
width: 51%;
|
|
46
|
+
gap: var(--gap);
|
|
47
|
+
overflow-x: auto;
|
|
48
|
+
}
|
|
49
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .thumb_list .thumb_item {
|
|
50
|
+
text-align: center;
|
|
51
|
+
border-radius: 2px;
|
|
52
|
+
border: 2px solid transparent;
|
|
53
|
+
transition: 0.3s;
|
|
54
|
+
}
|
|
55
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .thumb_list .thumb_item img {
|
|
56
|
+
display: inline-block;
|
|
57
|
+
width: 94px;
|
|
58
|
+
height: 94px;
|
|
59
|
+
object-fit: cover;
|
|
60
|
+
}
|
|
61
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .thumb_list .thumb_item.active {
|
|
62
|
+
border-color: var(--primary-color);
|
|
63
|
+
}
|
|
64
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .image_viewer_action {
|
|
65
|
+
position: absolute;
|
|
66
|
+
left: 50%;
|
|
67
|
+
transform: translateX(-50%);
|
|
68
|
+
bottom: 50px;
|
|
69
|
+
display: flex;
|
|
70
|
+
align-items: center;
|
|
71
|
+
justify-content: space-between;
|
|
72
|
+
background-color: #fff;
|
|
73
|
+
border-radius: 100px;
|
|
74
|
+
gap: 24px;
|
|
75
|
+
font-size: 24px;
|
|
76
|
+
padding: 8px 12px;
|
|
77
|
+
}
|
|
78
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .image_viewer_action .anticon {
|
|
79
|
+
transition: 0.3s;
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
}
|
|
82
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .image_viewer_action .anticon:hover {
|
|
83
|
+
color: var(--primary-color);
|
|
84
|
+
}
|
|
85
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .arrow {
|
|
86
|
+
position: absolute;
|
|
87
|
+
top: 50%;
|
|
88
|
+
transform: translateY(-50%);
|
|
89
|
+
display: flex;
|
|
90
|
+
align-items: center;
|
|
91
|
+
justify-content: center;
|
|
92
|
+
font-size: 32px;
|
|
93
|
+
height: 48px;
|
|
94
|
+
color: var(--color-contrast);
|
|
95
|
+
background-color: var(--text-color);
|
|
96
|
+
transition: 0.3s;
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
}
|
|
99
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .arrow.arrow_left {
|
|
100
|
+
left: 40px;
|
|
101
|
+
}
|
|
102
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .arrow.arrow_right {
|
|
103
|
+
right: 40px;
|
|
104
|
+
}
|
|
105
|
+
.lm_image_viewer_wrapper .lm_image_viewer_container .arrow:hover {
|
|
106
|
+
color: var(--primary-color);
|
|
5
107
|
}
|
|
@@ -9,14 +9,36 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
+
var _Carousel = _interopRequireDefault(require("../components/Carousel"));
|
|
13
|
+
|
|
14
|
+
var _Thumb = _interopRequireDefault(require("../components/Thumb"));
|
|
15
|
+
|
|
16
|
+
var _Operate = _interopRequireDefault(require("../components/Operate"));
|
|
17
|
+
|
|
18
|
+
var _Arrows = _interopRequireDefault(require("../components/Arrows"));
|
|
19
|
+
|
|
12
20
|
// 根文件 => 参数聚合
|
|
13
21
|
var LmImageViewerContainer = function LmImageViewerContainer(_ref) {
|
|
14
22
|
var instance = _ref.instance;
|
|
15
|
-
var
|
|
16
|
-
|
|
23
|
+
var onClose = instance.onClose,
|
|
24
|
+
hideOnClickModal = instance.hideOnClickModal;
|
|
25
|
+
|
|
26
|
+
var handleClose = function handleClose() {
|
|
27
|
+
hideOnClickModal && onClose();
|
|
28
|
+
};
|
|
29
|
+
|
|
17
30
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
18
|
-
className: "lm_image_viewer_container"
|
|
19
|
-
|
|
31
|
+
className: "lm_image_viewer_container",
|
|
32
|
+
onClick: handleClose
|
|
33
|
+
}, /*#__PURE__*/_react.default.createElement(_Carousel.default, {
|
|
34
|
+
instance: instance
|
|
35
|
+
}), /*#__PURE__*/_react.default.createElement(_Thumb.default, {
|
|
36
|
+
instance: instance
|
|
37
|
+
}), /*#__PURE__*/_react.default.createElement(_Operate.default, {
|
|
38
|
+
instance: instance
|
|
39
|
+
}), /*#__PURE__*/_react.default.createElement(_Arrows.default, {
|
|
40
|
+
instance: instance
|
|
41
|
+
})));
|
|
20
42
|
};
|
|
21
43
|
|
|
22
44
|
var _default = LmImageViewerContainer;
|
|
@@ -1,22 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
4
|
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
12
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
15
|
|
|
16
|
+
var _reducer = _interopRequireWildcard(require("./reducer"));
|
|
17
|
+
|
|
18
|
+
var _fns = _interopRequireDefault(require("../fns"));
|
|
19
|
+
|
|
14
20
|
var _Wrapper = _interopRequireDefault(require("./Wrapper"));
|
|
15
21
|
|
|
16
22
|
// 根文件 => 参数聚合
|
|
17
23
|
var LmImageViewerRoot = function LmImageViewerRoot(props, ref) {
|
|
18
|
-
|
|
19
|
-
var
|
|
24
|
+
var previewRef = (0, _react.useRef)(null);
|
|
25
|
+
var initialState = (0, _react.useMemo)(function () {
|
|
26
|
+
return (0, _reducer.initialState)(props);
|
|
27
|
+
}, []);
|
|
28
|
+
|
|
29
|
+
var _useReducer = (0, _react.useReducer)(_reducer.default, initialState),
|
|
30
|
+
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
31
|
+
state = _useReducer2[0],
|
|
32
|
+
dispatch = _useReducer2[1]; // 获取核心Methods
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
var _useCoreOptions = (0, _fns.default)({
|
|
36
|
+
state: state,
|
|
37
|
+
dispatch: dispatch,
|
|
38
|
+
props: props,
|
|
39
|
+
previewRef: previewRef
|
|
40
|
+
}),
|
|
41
|
+
CoreMethods = _useCoreOptions.CoreMethods,
|
|
42
|
+
RefMethods = _useCoreOptions.RefMethods; // 组件实例
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
var instance = Object.assign(Object.assign(Object.assign(Object.assign({}, props), CoreMethods), RefMethods), {
|
|
46
|
+
previewRef: previewRef,
|
|
47
|
+
state: state,
|
|
48
|
+
dispatch: dispatch
|
|
49
|
+
}); // 向外暴露出的方法
|
|
20
50
|
|
|
21
51
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
22
52
|
return {};
|
|
@@ -14,9 +14,23 @@ var _Container = _interopRequireDefault(require("./Container"));
|
|
|
14
14
|
// 根文件 => 参数聚合
|
|
15
15
|
var LmImageViewerWrapper = function LmImageViewerWrapper(_ref) {
|
|
16
16
|
var instance = _ref.instance;
|
|
17
|
+
var getVisible = instance.getVisible,
|
|
18
|
+
zIndex = instance.zIndex;
|
|
19
|
+
|
|
20
|
+
var handleClose = function handleClose() {
|
|
21
|
+
console.log('handleClose');
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
if (!getVisible()) return null;
|
|
17
25
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
18
|
-
className: "
|
|
19
|
-
|
|
26
|
+
className: "lm_image_viewer_wrapper",
|
|
27
|
+
style: {
|
|
28
|
+
zIndex: zIndex
|
|
29
|
+
}
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
+
className: "lm_image_viewer_mask",
|
|
32
|
+
onClick: handleClose
|
|
33
|
+
}), /*#__PURE__*/_react.default.createElement(_Container.default, {
|
|
20
34
|
instance: instance
|
|
21
35
|
}));
|
|
22
36
|
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reducer = exports.initialState = exports.default = void 0;
|
|
7
|
+
// 初始化状态值
|
|
8
|
+
var defaultState = {
|
|
9
|
+
currentIndex: 0,
|
|
10
|
+
currentUrl: '',
|
|
11
|
+
transform: {
|
|
12
|
+
scale: 1,
|
|
13
|
+
rotateZ: 0 // Z轴旋转方向
|
|
14
|
+
|
|
15
|
+
} // 当前选中的图片变换
|
|
16
|
+
|
|
17
|
+
}; // 状态管理操作
|
|
18
|
+
|
|
19
|
+
var reducer = function reducer(state, action) {
|
|
20
|
+
var transform = action.transform,
|
|
21
|
+
current = action.current,
|
|
22
|
+
visible = action.visible;
|
|
23
|
+
|
|
24
|
+
switch (action.type) {
|
|
25
|
+
case 'changeVisible':
|
|
26
|
+
// 控制显示隐藏
|
|
27
|
+
return Object.assign(Object.assign({}, state), {
|
|
28
|
+
visible: visible
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
case 'changeTransform':
|
|
32
|
+
// 改变转换
|
|
33
|
+
return Object.assign(Object.assign({}, state), {
|
|
34
|
+
transform: Object.assign(Object.assign({}, state.transform), transform)
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
case 'changeCurrent':
|
|
38
|
+
// 改变当前选中的图片
|
|
39
|
+
return Object.assign(Object.assign(Object.assign({}, state), current), {
|
|
40
|
+
transform: defaultState.transform
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
case 'init':
|
|
44
|
+
// 改变当前选中的图片
|
|
45
|
+
return Object.assign(Object.assign({}, state), defaultState);
|
|
46
|
+
|
|
47
|
+
default:
|
|
48
|
+
throw new Error();
|
|
49
|
+
}
|
|
50
|
+
}; // 仅在初始化时触发一次
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
exports.reducer = reducer;
|
|
54
|
+
|
|
55
|
+
var initialState = function initialState(props) {
|
|
56
|
+
var initialIndex = props.initialIndex;
|
|
57
|
+
return Object.assign(Object.assign({}, defaultState), {
|
|
58
|
+
currentIndex: initialIndex
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
exports.initialState = initialState;
|
|
63
|
+
var _default = reducer;
|
|
64
|
+
exports.default = _default;
|