tdesign-react 0.42.7-alpha.1 → 0.42.7-alpha.2

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.
Files changed (176) hide show
  1. package/cjs/_chunks/dep-6a672006.js +515 -0
  2. package/cjs/_chunks/dep-6a672006.js.map +1 -0
  3. package/cjs/_chunks/dep-b5df8873.js +198 -0
  4. package/cjs/_chunks/dep-b5df8873.js.map +1 -0
  5. package/cjs/avatar/AvararGroup.js +1 -1
  6. package/cjs/avatar/Avatar.js +1 -1
  7. package/cjs/avatar/index.js +1 -1
  8. package/cjs/form/Form.js +1 -1
  9. package/cjs/form/FormItem.js +1 -1
  10. package/cjs/form/index.js +1 -1
  11. package/cjs/form/useInitialData.js +1 -1
  12. package/cjs/image-viewer/ImageViewer.js +1 -1
  13. package/cjs/image-viewer/ImageViewerMini.js +1 -1
  14. package/cjs/image-viewer/ImageViewerModel.js +1 -1
  15. package/cjs/image-viewer/index.js +1 -1
  16. package/cjs/index-lib.js +2 -2
  17. package/cjs/index.js +2 -2
  18. package/cjs/popup/hooks/useTrigger.js +3 -29
  19. package/cjs/popup/hooks/useTrigger.js.map +1 -1
  20. package/cjs/upload/index.js +1 -1
  21. package/cjs/upload/themes/DraggerFile.js +1 -1
  22. package/cjs/upload/themes/ImageCard.js +1 -1
  23. package/cjs/upload/themes/MultipleFlowList.js +1 -1
  24. package/cjs/upload/upload.js +1 -1
  25. package/dist/tdesign.css +317 -301
  26. package/dist/tdesign.css.map +1 -1
  27. package/dist/tdesign.js +3 -5
  28. package/dist/tdesign.js.map +1 -1
  29. package/dist/tdesign.min.css +1 -1
  30. package/dist/tdesign.min.css.map +1 -1
  31. package/dist/tdesign.min.js +1 -1
  32. package/dist/tdesign.min.js.map +1 -1
  33. package/es/_chunks/{dep-51336096.js → dep-26aef3c9.js} +1 -1
  34. package/{lib/_chunks/dep-db75b5b6.js.map → es/_chunks/dep-26aef3c9.js.map} +1 -1
  35. package/{esm/_chunks/dep-8e115ca7.js → es/_chunks/dep-5e0eb6ae.js} +1 -1
  36. package/{esm/_chunks/dep-8e115ca7.js.map → es/_chunks/dep-5e0eb6ae.js.map} +1 -1
  37. package/es/alert/style/index.css +26 -14
  38. package/es/anchor/style/index.css +5 -12
  39. package/es/avatar/AvararGroup.js +1 -1
  40. package/es/avatar/Avatar.js +1 -1
  41. package/es/avatar/index.js +1 -1
  42. package/es/breadcrumb/style/index.css +4 -4
  43. package/es/button/style/index.css +10 -10
  44. package/es/dialog/style/index.css +4 -4
  45. package/es/divider/style/index.css +2 -2
  46. package/es/drawer/style/index.css +16 -11
  47. package/es/dropdown/style/index.css +11 -10
  48. package/es/form/Form.js +1 -1
  49. package/es/form/FormItem.js +1 -1
  50. package/es/form/index.js +1 -1
  51. package/es/form/style/index.css +2 -2
  52. package/es/form/useInitialData.js +1 -1
  53. package/es/guide/style/index.css +9 -9
  54. package/es/image-viewer/ImageViewer.js +1 -1
  55. package/es/image-viewer/ImageViewerMini.js +1 -1
  56. package/es/image-viewer/ImageViewerModel.js +1 -1
  57. package/es/image-viewer/index.js +1 -1
  58. package/es/index.js +2 -2
  59. package/es/input/style/index.css +1 -1
  60. package/es/layout/style/index.css +3 -3
  61. package/es/link/style/index.css +6 -6
  62. package/es/list/style/index.css +1 -1
  63. package/es/menu/style/index.css +26 -26
  64. package/es/message/style/index.css +6 -6
  65. package/es/notification/style/index.css +8 -13
  66. package/es/pagination/style/index.css +23 -23
  67. package/es/popconfirm/style/index.css +7 -7
  68. package/es/popup/hooks/useTrigger.js +3 -33
  69. package/es/popup/hooks/useTrigger.js.map +1 -1
  70. package/es/popup/style/index.css +1 -1
  71. package/es/radio/style/index.css +16 -1
  72. package/es/rate/style/index.css +5 -4
  73. package/es/steps/style/index.css +34 -43
  74. package/es/style/index.css +4 -3
  75. package/es/swiper/style/index.css +42 -42
  76. package/es/tabs/style/index.css +12 -12
  77. package/es/tag-input/style/index.css +7 -7
  78. package/es/tree/style/index.css +26 -24
  79. package/es/upload/index.js +1 -1
  80. package/es/upload/themes/DraggerFile.js +1 -1
  81. package/es/upload/themes/ImageCard.js +1 -1
  82. package/es/upload/themes/MultipleFlowList.js +1 -1
  83. package/es/upload/upload.js +1 -1
  84. package/{es/_chunks/dep-8e115ca7.js → esm/_chunks/dep-5e0eb6ae.js} +1 -1
  85. package/{es/_chunks/dep-8e115ca7.js.map → esm/_chunks/dep-5e0eb6ae.js.map} +1 -1
  86. package/esm/_chunks/{dep-fad7989c.js → dep-72461c3f.js} +1 -1
  87. package/{es/_chunks/dep-51336096.js.map → esm/_chunks/dep-72461c3f.js.map} +1 -1
  88. package/esm/_common/style/web/_variables.less +7 -6
  89. package/esm/_common/style/web/components/alert/_index.less +12 -6
  90. package/esm/_common/style/web/components/alert/_var.less +19 -10
  91. package/esm/_common/style/web/components/anchor/_index.less +4 -10
  92. package/esm/_common/style/web/components/anchor/_var.less +9 -23
  93. package/esm/_common/style/web/components/breadcrumb/_index.less +4 -4
  94. package/esm/_common/style/web/components/breadcrumb/_var.less +2 -2
  95. package/esm/_common/style/web/components/button/_var.less +2 -2
  96. package/esm/_common/style/web/components/dialog/_var.less +2 -2
  97. package/esm/_common/style/web/components/divider/_var.less +2 -2
  98. package/esm/_common/style/web/components/drawer/_index.less +2 -1
  99. package/esm/_common/style/web/components/drawer/_var.less +9 -10
  100. package/esm/_common/style/web/components/dropdown-new/_index.less +7 -6
  101. package/esm/_common/style/web/components/dropdown-new/_var.less +8 -4
  102. package/esm/_common/style/web/components/form/_index.less +1 -1
  103. package/esm/_common/style/web/components/guide/_index.less +8 -8
  104. package/esm/_common/style/web/components/guide/_var.less +10 -0
  105. package/esm/_common/style/web/components/layout/_var.less +2 -5
  106. package/esm/_common/style/web/components/link/_var.less +5 -5
  107. package/esm/_common/style/web/components/menu/_index-v2.less +26 -26
  108. package/esm/_common/style/web/components/menu/_index.less +25 -25
  109. package/esm/_common/style/web/components/menu/_var.less +1 -7
  110. package/esm/_common/style/web/components/message/_index.less +1 -1
  111. package/esm/_common/style/web/components/message/_var.less +7 -10
  112. package/esm/_common/style/web/components/notification/_index.less +0 -5
  113. package/esm/_common/style/web/components/notification/_var.less +9 -11
  114. package/esm/_common/style/web/components/pagination/_index.less +1 -1
  115. package/esm/_common/style/web/components/pagination/_var.less +8 -8
  116. package/esm/_common/style/web/components/popconfirm/_index.less +3 -3
  117. package/esm/_common/style/web/components/popconfirm/_var.less +12 -11
  118. package/esm/_common/style/web/components/radio/_index.less +26 -0
  119. package/esm/_common/style/web/components/radio/_var.less +4 -1
  120. package/esm/_common/style/web/components/rate/_index.less +2 -3
  121. package/esm/_common/style/web/components/rate/_var.less +2 -8
  122. package/esm/_common/style/web/components/steps/_index.less +1 -7
  123. package/esm/_common/style/web/components/steps/_mixin.less +10 -11
  124. package/esm/_common/style/web/components/steps/_var.less +14 -17
  125. package/esm/_common/style/web/components/swiper/_mixin.less +1 -1
  126. package/esm/_common/style/web/components/tabs/_var.less +2 -2
  127. package/esm/_common/style/web/components/tag-input/_index.less +5 -4
  128. package/esm/_common/style/web/components/tree/_index.less +8 -8
  129. package/esm/_common/style/web/components/tree/_var.less +17 -13
  130. package/esm/_common/style/web/theme/_size.less +4 -3
  131. package/esm/avatar/AvararGroup.js +1 -1
  132. package/esm/avatar/Avatar.js +1 -1
  133. package/esm/avatar/index.js +1 -1
  134. package/esm/form/Form.js +1 -1
  135. package/esm/form/FormItem.js +1 -1
  136. package/esm/form/index.js +1 -1
  137. package/esm/form/useInitialData.js +1 -1
  138. package/esm/image-viewer/ImageViewer.js +1 -1
  139. package/esm/image-viewer/ImageViewerMini.js +1 -1
  140. package/esm/image-viewer/ImageViewerModel.js +1 -1
  141. package/esm/image-viewer/index.js +1 -1
  142. package/esm/index.js +2 -2
  143. package/esm/popup/hooks/useTrigger.js +3 -33
  144. package/esm/popup/hooks/useTrigger.js.map +1 -1
  145. package/esm/upload/index.js +1 -1
  146. package/esm/upload/themes/DraggerFile.js +1 -1
  147. package/esm/upload/themes/ImageCard.js +1 -1
  148. package/esm/upload/themes/MultipleFlowList.js +1 -1
  149. package/esm/upload/upload.js +1 -1
  150. package/lib/_chunks/{dep-db75b5b6.js → dep-1b32736a.js} +1 -1
  151. package/{esm/_chunks/dep-fad7989c.js.map → lib/_chunks/dep-1b32736a.js.map} +1 -1
  152. package/lib/_chunks/{dep-75db5f2e.js → dep-61f02037.js} +1 -1
  153. package/lib/_chunks/{dep-75db5f2e.js.map → dep-61f02037.js.map} +1 -1
  154. package/lib/avatar/AvararGroup.js +1 -1
  155. package/lib/avatar/Avatar.js +1 -1
  156. package/lib/avatar/index.js +1 -1
  157. package/lib/form/Form.js +1 -1
  158. package/lib/form/FormItem.js +1 -1
  159. package/lib/form/index.js +1 -1
  160. package/lib/form/useInitialData.js +1 -1
  161. package/lib/image-viewer/ImageViewer.js +1 -1
  162. package/lib/image-viewer/ImageViewerMini.js +1 -1
  163. package/lib/image-viewer/ImageViewerModel.js +1 -1
  164. package/lib/image-viewer/index.js +1 -1
  165. package/lib/index.js +2 -2
  166. package/lib/popup/hooks/useTrigger.js +3 -29
  167. package/lib/popup/hooks/useTrigger.js.map +1 -1
  168. package/lib/upload/index.js +1 -1
  169. package/lib/upload/themes/DraggerFile.js +1 -1
  170. package/lib/upload/themes/ImageCard.js +1 -1
  171. package/lib/upload/themes/MultipleFlowList.js +1 -1
  172. package/lib/upload/upload.js +1 -1
  173. package/package.json +1 -1
  174. package/esm/_common/style/web/components/dropdown/_index.less +0 -99
  175. package/esm/_common/style/web/components/dropdown/_mixin.less +0 -0
  176. package/esm/_common/style/web/components/dropdown/_var.less +0 -22
@@ -0,0 +1,515 @@
1
+ /**
2
+ * tdesign v0.42.6
3
+ * (c) 2022 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ var objectWithoutProperties = require('./dep-307e29a6.js');
10
+ var defineProperty = require('./dep-22a6a92c.js');
11
+ var slicedToArray = require('./dep-19ba0d4f.js');
12
+ var React = require('react');
13
+ var isArray = require('./dep-3a9fb6f9.js');
14
+ var isFunction = require('./dep-20769bfb.js');
15
+ var tdesignIconsReact = require('tdesign-icons-react');
16
+ var classNames = require('classnames');
17
+ var tooltip_index = require('../tooltip/index.js');
18
+ var hooks_useConfig = require('../hooks/useConfig.js');
19
+ var imageViewer_utils = require('../image-viewer/utils.js');
20
+ var dialog_index = require('../dialog/index.js');
21
+ var imageViewer_hooks_useMirror = require('../image-viewer/hooks/useMirror.js');
22
+ var imageViewer_hooks_usePosition = require('../image-viewer/hooks/usePosition.js');
23
+ var imageViewer_hooks_useIndex = require('../image-viewer/hooks/useIndex.js');
24
+ var imageViewer_hooks_useRotate = require('../image-viewer/hooks/useRotate.js');
25
+ var imageViewer_hooks_useScale = require('../image-viewer/hooks/useScale.js');
26
+ var hooks_useGlobalIcon = require('../hooks/useGlobalIcon.js');
27
+ var imageViewer_hooks_useIconMap = require('../image-viewer/hooks/useIconMap.js');
28
+
29
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
+
31
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
32
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
33
+
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty._defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36
+ var ImageModelMiniContent = function ImageModelMiniContent(props) {
37
+ var _useConfig = hooks_useConfig["default"](),
38
+ classPrefix = _useConfig.classPrefix;
39
+ return /* @__PURE__ */React__default["default"].createElement("div", {
40
+ className: "".concat(classPrefix, "-image-viewer-mini__content")
41
+ }, /* @__PURE__ */React__default["default"].createElement(ImageModelItem, {
42
+ rotateZ: props.rotateZ,
43
+ scale: props.scale,
44
+ mirror: props.mirror,
45
+ src: props.currentImage.mainImage,
46
+ preSrc: props.currentImage.thumbnail
47
+ }));
48
+ };
49
+ var DIALOG_CSS_PADDING = {
50
+ padding: 0
51
+ };
52
+ var ImageModelMini = function ImageModelMini(props) {
53
+ var visible = props.visible,
54
+ title = props.title,
55
+ index = props.index,
56
+ images = props.images,
57
+ scale = props.scale,
58
+ currentImage = props.currentImage,
59
+ draggable = props.draggable,
60
+ onZoomOut = props.onZoomOut,
61
+ onZoom = props.onZoom,
62
+ onClose = props.onClose,
63
+ onRotate = props.onRotate,
64
+ onMirror = props.onMirror,
65
+ onReset = props.onReset;
66
+ var _useConfig2 = hooks_useConfig["default"](),
67
+ classPrefix = _useConfig2.classPrefix;
68
+ var _useGlobalIcon = hooks_useGlobalIcon["default"]({
69
+ CloseIcon: tdesignIconsReact.CloseIcon
70
+ }),
71
+ CloseIcon = _useGlobalIcon.CloseIcon;
72
+ var header = /* @__PURE__ */React__default["default"].createElement("div", {
73
+ className: "".concat(classPrefix, "-image-viewer__mini-header")
74
+ }, /* @__PURE__ */React__default["default"].createElement("span", null, title), "".concat(index + 1, "/").concat(images.length), /* @__PURE__ */React__default["default"].createElement("span", {
75
+ className: "".concat(classPrefix, "-image-viewer__mini-close")
76
+ }, /* @__PURE__ */React__default["default"].createElement(CloseIcon, {
77
+ size: "1.5rem",
78
+ onClick: function onClick(e) {
79
+ return onClose({
80
+ trigger: "close-btn",
81
+ e: e
82
+ });
83
+ }
84
+ })));
85
+ var footer = /* @__PURE__ */React__default["default"].createElement("div", {
86
+ className: "".concat(classPrefix, "-image-viewer-mini__footer")
87
+ }, /* @__PURE__ */React__default["default"].createElement(ImageViewerUtils, {
88
+ onZoom: onZoom,
89
+ onZoomOut: onZoomOut,
90
+ scale: scale,
91
+ currentImage: currentImage,
92
+ onRotate: onRotate,
93
+ onMirror: onMirror,
94
+ onReset: onReset
95
+ }));
96
+ return /* @__PURE__ */React__default["default"].createElement(dialog_index.Dialog, {
97
+ className: "".concat(classPrefix, "-image-viewer__dialog"),
98
+ draggable: draggable,
99
+ visible: visible,
100
+ width: "min(90vw, 1000px)",
101
+ placement: "center",
102
+ mode: "modeless",
103
+ cancelBtn: null,
104
+ confirmBtn: null,
105
+ closeBtn: false,
106
+ header: header,
107
+ footer: footer,
108
+ onClose: onClose,
109
+ style: DIALOG_CSS_PADDING
110
+ }, /* @__PURE__ */React__default["default"].createElement(ImageModelMiniContent, _objectSpread({}, props)));
111
+ };
112
+
113
+ var _excluded = ["closeOnOverlay", "showOverlay", "zIndex", "images", "isMini", "imageScale", "viewerScale", "closeBtn", "draggable", "onOpen", "onClose", "visible", "title"];
114
+ var ImageError = function ImageError() {
115
+ var _useConfig = hooks_useConfig["default"](),
116
+ classPrefix = _useConfig.classPrefix;
117
+ var _useGlobalIcon = hooks_useGlobalIcon["default"]({
118
+ ImageErrorIcon: tdesignIconsReact.ImageErrorIcon
119
+ }),
120
+ ImageErrorIcon = _useGlobalIcon.ImageErrorIcon;
121
+ return /* @__PURE__ */React__default["default"].createElement("div", {
122
+ className: "".concat(classPrefix, "-image-viewer__img-error")
123
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
124
+ className: "".concat(classPrefix, "-image-viewer__img-error-content")
125
+ }, /* @__PURE__ */React__default["default"].createElement(ImageErrorIcon, {
126
+ size: "4em"
127
+ }), /* @__PURE__ */React__default["default"].createElement("div", {
128
+ className: "".concat(classPrefix, "-image-viewer__img-error-text")
129
+ }, "\u56FE\u7247\u52A0\u8F7D\u5931\u8D25\uFF0C\u53EF\u5C1D\u8BD5\u91CD\u65B0\u52A0\u8F7D")));
130
+ };
131
+ var ImageModelItem = function ImageModelItem(_ref) {
132
+ var rotateZ = _ref.rotateZ,
133
+ scale = _ref.scale,
134
+ src = _ref.src,
135
+ preSrc = _ref.preSrc,
136
+ mirror = _ref.mirror;
137
+ var _useConfig2 = hooks_useConfig["default"](),
138
+ classPrefix = _useConfig2.classPrefix;
139
+ var _usePosition = imageViewer_hooks_usePosition["default"]({
140
+ initPosition: [0, 0]
141
+ }),
142
+ _usePosition2 = slicedToArray._slicedToArray(_usePosition, 2),
143
+ position = _usePosition2[0],
144
+ _onMouseDown = _usePosition2[1];
145
+ var _useState = React.useState(false),
146
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
147
+ loaded = _useState2[0],
148
+ setLoaded = _useState2[1];
149
+ var _useState3 = React.useState(false),
150
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
151
+ error = _useState4[0],
152
+ setError = _useState4[1];
153
+ var imgStyle = {
154
+ transform: "rotateZ(".concat(rotateZ, "deg) scale(").concat(scale, ")"),
155
+ display: !preSrc || loaded ? "block" : "none"
156
+ };
157
+ var preImgStyle = {
158
+ transform: "rotateZ(".concat(rotateZ, "deg) scale(").concat(scale, ")"),
159
+ display: !loaded ? "block" : "none"
160
+ };
161
+ var boxStyle = {
162
+ transform: "translate(".concat(position[0], "px, ").concat(position[1], "px) scale(").concat(mirror, ", 1)")
163
+ };
164
+ React.useEffect(function () {
165
+ setError(false);
166
+ }, [src]);
167
+ return /* @__PURE__ */React__default["default"].createElement("div", {
168
+ className: "".concat(classPrefix, "-image-viewer__modal-pic")
169
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
170
+ className: "".concat(classPrefix, "-image-viewer__modal-box"),
171
+ style: boxStyle
172
+ }, error && /* @__PURE__ */React__default["default"].createElement(ImageError, null), !error && !!preSrc && /* @__PURE__ */React__default["default"].createElement("img", {
173
+ className: "".concat(classPrefix, "-image-viewer__modal-image"),
174
+ onMouseDown: function onMouseDown(event) {
175
+ event.stopPropagation();
176
+ _onMouseDown(event);
177
+ },
178
+ src: preSrc,
179
+ style: preImgStyle,
180
+ "data-testid": "img-drag",
181
+ alt: "image",
182
+ draggable: "false"
183
+ }), !error && /* @__PURE__ */React__default["default"].createElement("img", {
184
+ className: "".concat(classPrefix, "-image-viewer__modal-image"),
185
+ onMouseDown: function onMouseDown(event) {
186
+ event.stopPropagation();
187
+ _onMouseDown(event);
188
+ },
189
+ src: src,
190
+ onLoad: function onLoad() {
191
+ return setLoaded(true);
192
+ },
193
+ onError: function onError() {
194
+ return setError(true);
195
+ },
196
+ style: imgStyle,
197
+ "data-testid": "img-drag",
198
+ alt: "image",
199
+ draggable: "false"
200
+ })));
201
+ };
202
+ var ROTATE_COUNT = 90;
203
+ var ImageModelIcon = function ImageModelIcon(_ref2) {
204
+ var onClick = _ref2.onClick,
205
+ className = _ref2.className,
206
+ disabled = _ref2.disabled,
207
+ isRange = _ref2.isRange,
208
+ name = _ref2.name,
209
+ label = _ref2.label,
210
+ _ref2$size = _ref2.size,
211
+ size = _ref2$size === void 0 ? "3em" : _ref2$size;
212
+ var _useConfig3 = hooks_useConfig["default"](),
213
+ classPrefix = _useConfig3.classPrefix;
214
+ var Icons = imageViewer_hooks_useIconMap["default"]();
215
+ var Icon = Icons[name];
216
+ return /* @__PURE__ */React__default["default"].createElement("div", {
217
+ className: classNames__default["default"]("".concat(classPrefix, "-image-viewer__modal-icon"), className, defineProperty._defineProperty({}, "".concat(classPrefix, "-is-disabled"), disabled)),
218
+ onClick: onClick
219
+ }, name && /* @__PURE__ */React__default["default"].createElement(Icon, {
220
+ size: size,
221
+ className: isRange ? "is-range" : null
222
+ }), label && /* @__PURE__ */React__default["default"].createElement("span", {
223
+ className: "".concat(classPrefix, "-image-viewer__modal-icon-label")
224
+ }, label));
225
+ };
226
+ var ImageViewerUtils = function ImageViewerUtils(_ref3) {
227
+ var onZoom = _ref3.onZoom,
228
+ scale = _ref3.scale,
229
+ onZoomOut = _ref3.onZoomOut,
230
+ currentImage = _ref3.currentImage,
231
+ onRotate = _ref3.onRotate,
232
+ onMirror = _ref3.onMirror,
233
+ onReset = _ref3.onReset;
234
+ var _useConfig4 = hooks_useConfig["default"](),
235
+ classPrefix = _useConfig4.classPrefix;
236
+ var _useGlobalIcon2 = hooks_useGlobalIcon["default"]({
237
+ MirrorIcon: tdesignIconsReact.MirrorIcon,
238
+ RotationIcon: tdesignIconsReact.RotationIcon,
239
+ ImageIcon: tdesignIconsReact.ImageIcon
240
+ }),
241
+ MirrorIcon = _useGlobalIcon2.MirrorIcon,
242
+ RotationIcon = _useGlobalIcon2.RotationIcon,
243
+ ImageIcon = _useGlobalIcon2.ImageIcon;
244
+ return /* @__PURE__ */React__default["default"].createElement("div", {
245
+ className: "".concat(classPrefix, "-image-viewer__utils")
246
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
247
+ className: "".concat(classPrefix, "-image-viewer__utils-content")
248
+ }, /* @__PURE__ */React__default["default"].createElement(tooltip_index.TooltipLite, {
249
+ className: "".concat(classPrefix, "-image-viewer__utils--tip"),
250
+ content: "\u955C\u50CF",
251
+ showShadow: false
252
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
253
+ className: "".concat(classPrefix, "-image-viewer__modal-icon")
254
+ }, /* @__PURE__ */React__default["default"].createElement(MirrorIcon, {
255
+ size: "medium",
256
+ onClick: onMirror
257
+ }))), /* @__PURE__ */React__default["default"].createElement(tooltip_index.TooltipLite, {
258
+ className: "".concat(classPrefix, "-image-viewer__utils--tip"),
259
+ content: "\u65CB\u8F6C",
260
+ showShadow: false
261
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
262
+ className: "".concat(classPrefix, "-image-viewer__modal-icon")
263
+ }, /* @__PURE__ */React__default["default"].createElement(RotationIcon, {
264
+ size: "medium",
265
+ onClick: function onClick() {
266
+ return onRotate(-ROTATE_COUNT);
267
+ }
268
+ }))), /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
269
+ size: "medium",
270
+ name: "zoom-out",
271
+ onClick: onZoomOut
272
+ }), /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
273
+ className: "".concat(classPrefix, "-image-viewer__utils-scale"),
274
+ size: "medium",
275
+ label: "".concat(scale * 100, "%")
276
+ }), /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
277
+ size: "medium",
278
+ name: "zoom-in",
279
+ onClick: onZoom
280
+ }), /* @__PURE__ */React__default["default"].createElement(tooltip_index.TooltipLite, {
281
+ className: "".concat(classPrefix, "-image-viewer__utils--tip"),
282
+ content: "\u539F\u59CB\u5927\u5C0F",
283
+ showShadow: false
284
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
285
+ className: "".concat(classPrefix, "-image-viewer__modal-icon")
286
+ }, /* @__PURE__ */React__default["default"].createElement(ImageIcon, {
287
+ size: "medium",
288
+ name: "image",
289
+ onClick: function onClick() {
290
+ onReset();
291
+ }
292
+ }))), currentImage.download && /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
293
+ size: "medium",
294
+ name: "download",
295
+ onClick: function onClick() {
296
+ imageViewer_utils.downloadFile(currentImage.mainImage);
297
+ }
298
+ })));
299
+ };
300
+ var ImageViewerHeader = function ImageViewerHeader(props) {
301
+ var _useConfig5 = hooks_useConfig["default"](),
302
+ classPrefix = _useConfig5.classPrefix;
303
+ var images = props.images,
304
+ currentIndex = props.currentIndex,
305
+ onImgClick = props.onImgClick;
306
+ var _useState5 = React.useState(true),
307
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
308
+ isExpand = _useState6[0],
309
+ setIsExpand = _useState6[1];
310
+ var transStyle = {
311
+ transform: "translateX(-".concat(currentIndex * 62, "px)")
312
+ };
313
+ return /* @__PURE__ */React__default["default"].createElement("div", {
314
+ className: classNames__default["default"]("".concat(classPrefix, "-image-viewer__modal-header"), defineProperty._defineProperty({}, "".concat(classPrefix, "-is-show"), isExpand))
315
+ }, /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
316
+ size: "20px",
317
+ name: "chevron-down",
318
+ className: "".concat(classPrefix, "-image-viewer__header-pre-bt"),
319
+ onClick: function onClick() {
320
+ return setIsExpand(!isExpand);
321
+ }
322
+ }), /* @__PURE__ */React__default["default"].createElement("div", {
323
+ className: "".concat(classPrefix, "-image-viewer__header-prev")
324
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
325
+ className: "".concat(classPrefix, "-image-viewer__bokeh-left")
326
+ }), /* @__PURE__ */React__default["default"].createElement("div", {
327
+ className: "".concat(classPrefix, "-image-viewer__bokeh-right")
328
+ }), /* @__PURE__ */React__default["default"].createElement("div", {
329
+ className: "".concat(classPrefix, "-image-viewer__header-trans"),
330
+ style: transStyle
331
+ }, images.map(function (image, index) {
332
+ return /* @__PURE__ */React__default["default"].createElement("div", {
333
+ key: index,
334
+ className: classNames__default["default"]("".concat(classPrefix, "-image-viewer__header-box"), defineProperty._defineProperty({}, "".concat(classPrefix, "-is-active"), index === currentIndex)),
335
+ onClick: function onClick() {
336
+ return onImgClick(index);
337
+ }
338
+ }, /* @__PURE__ */React__default["default"].createElement("img", {
339
+ alt: "",
340
+ src: image.thumbnail || image.mainImage,
341
+ className: "".concat(classPrefix, "-image-viewer__header-img")
342
+ }));
343
+ }))));
344
+ };
345
+ var ImageModal = function ImageModal(props) {
346
+ var closeOnOverlay = props.closeOnOverlay,
347
+ _props$showOverlay = props.showOverlay,
348
+ showOverlay = _props$showOverlay === void 0 ? true : _props$showOverlay,
349
+ zIndex = props.zIndex,
350
+ images = props.images,
351
+ isMini = props.isMini,
352
+ imageScale = props.imageScale,
353
+ viewerScale = props.viewerScale,
354
+ closeBtn = props.closeBtn,
355
+ draggable = props.draggable,
356
+ onOpen = props.onOpen,
357
+ onClose = props.onClose,
358
+ visible = props.visible,
359
+ title = props.title,
360
+ resProps = objectWithoutProperties._objectWithoutProperties(props, _excluded);
361
+ var _useConfig6 = hooks_useConfig["default"](),
362
+ classPrefix = _useConfig6.classPrefix;
363
+ if (resProps.index === void 0) delete resProps.index;
364
+ var _useIndex = imageViewer_hooks_useIndex["default"](resProps, images),
365
+ index = _useIndex.index,
366
+ next = _useIndex.next,
367
+ prev = _useIndex.prev,
368
+ setIndex = _useIndex.setIndex;
369
+ var _useRotate = imageViewer_hooks_useRotate["default"](),
370
+ rotateZ = _useRotate.rotateZ,
371
+ onResetRotate = _useRotate.onResetRotate,
372
+ onRotate = _useRotate.onRotate;
373
+ var _useScale = imageViewer_hooks_useScale["default"](imageScale),
374
+ scale = _useScale.scale,
375
+ onZoom = _useScale.onZoom,
376
+ onZoomOut = _useScale.onZoomOut,
377
+ onResetScale = _useScale.onResetScale;
378
+ var _useMirror = imageViewer_hooks_useMirror["default"](),
379
+ mirror = _useMirror.mirror,
380
+ onResetMirror = _useMirror.onResetMirror,
381
+ onMirror = _useMirror.onMirror;
382
+ var onReset = React.useCallback(function () {
383
+ onResetScale();
384
+ onResetRotate();
385
+ onResetMirror();
386
+ }, [onResetMirror, onResetScale, onResetRotate]);
387
+ var onScroll = React.useCallback(function (e) {
388
+ var deltaY = e.deltaY;
389
+ deltaY > 0 ? onZoom() : onZoomOut();
390
+ }, [onZoom, onZoomOut]);
391
+ var onKeyDown = React.useCallback(function (event) {
392
+ switch (event.key) {
393
+ case "ArrowRight":
394
+ return next();
395
+ case "ArrowLeft":
396
+ return prev();
397
+ case "ArrowUp":
398
+ return onZoom();
399
+ case "ArrowDown":
400
+ return onZoomOut();
401
+ case "Escape":
402
+ return onClose === null || onClose === void 0 ? void 0 : onClose({
403
+ trigger: "esc",
404
+ e: event
405
+ });
406
+ }
407
+ }, [next, onClose, prev, onZoom, onZoomOut]);
408
+ React.useEffect(function () {
409
+ document.addEventListener("keydown", onKeyDown);
410
+ return function () {
411
+ return document.removeEventListener("keydown", onKeyDown);
412
+ };
413
+ }, [onKeyDown]);
414
+ React.useEffect(function () {
415
+ onReset();
416
+ }, [index, onReset]);
417
+ if (!isArray.isArray_1(images) || images.length < 1) return null;
418
+ var currentImage = images[index];
419
+ if (isMini) {
420
+ return /* @__PURE__ */React__default["default"].createElement(ImageModelMini, {
421
+ visible: visible,
422
+ draggable: draggable,
423
+ index: index,
424
+ images: images,
425
+ imageScale: imageScale,
426
+ viewerScale: viewerScale,
427
+ rotateZ: rotateZ,
428
+ zIndex: zIndex,
429
+ currentImage: currentImage,
430
+ prev: prev,
431
+ next: next,
432
+ mirror: mirror,
433
+ scale: scale,
434
+ title: title,
435
+ onMirror: onMirror,
436
+ onZoom: onZoom,
437
+ onClose: onClose,
438
+ onZoomOut: onZoomOut,
439
+ onScroll: onScroll,
440
+ onReset: onReset,
441
+ onRotate: onRotate
442
+ });
443
+ }
444
+ var closeNode = closeBtn;
445
+ if (closeBtn === true) {
446
+ closeNode = /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
447
+ name: "close",
448
+ size: "24px",
449
+ className: "".concat(classPrefix, "-image-viewer__modal-close-bt "),
450
+ onClick: function onClick(e) {
451
+ return onClose && onClose({
452
+ trigger: "close-btn",
453
+ e: e
454
+ });
455
+ }
456
+ });
457
+ } else if (isFunction.isFunction_1(closeBtn)) closeNode = closeBtn({
458
+ onClose: onClose,
459
+ onOpen: onOpen
460
+ });
461
+ return /* @__PURE__ */React__default["default"].createElement("div", {
462
+ className: classNames__default["default"]("".concat(classPrefix, "-image-viewer-preview-image"), defineProperty._defineProperty({}, "".concat(classPrefix, "-is-hide"), !visible)),
463
+ onWheel: onScroll,
464
+ style: {
465
+ zIndex: zIndex
466
+ }
467
+ }, !!showOverlay && /* @__PURE__ */React__default["default"].createElement("div", {
468
+ className: "".concat(classPrefix, "-image-viewer__modal-mask"),
469
+ onClick: function onClick(e) {
470
+ return closeOnOverlay && (onClose === null || onClose === void 0 ? void 0 : onClose({
471
+ trigger: "overlay",
472
+ e: e
473
+ }));
474
+ }
475
+ }), images.length > 1 && /* @__PURE__ */React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */React__default["default"].createElement(ImageViewerHeader, {
476
+ images: images,
477
+ currentIndex: index,
478
+ onImgClick: setIndex
479
+ }), /* @__PURE__ */React__default["default"].createElement("div", {
480
+ className: "".concat(classPrefix, "-image-viewer__modal-index")
481
+ }, /* @__PURE__ */React__default["default"].createElement("span", null, title), "".concat(index + 1, "/").concat(images.length)), /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
482
+ size: "24px",
483
+ name: "chevron-left",
484
+ className: "".concat(classPrefix, "-image-viewer__modal-prev-bt"),
485
+ onClick: prev,
486
+ disabled: index <= 0
487
+ }), /* @__PURE__ */React__default["default"].createElement(ImageModelIcon, {
488
+ size: "24px",
489
+ name: "chevron-right",
490
+ className: "".concat(classPrefix, "-image-viewer__modal-next-bt"),
491
+ onClick: next,
492
+ disabled: index >= images.length - 1
493
+ })), /* @__PURE__ */React__default["default"].createElement(ImageViewerUtils, {
494
+ onZoom: onZoom,
495
+ onZoomOut: onZoomOut,
496
+ scale: scale,
497
+ currentImage: currentImage,
498
+ onRotate: onRotate,
499
+ onMirror: onMirror,
500
+ onReset: onReset
501
+ }), closeNode, /* @__PURE__ */React__default["default"].createElement(ImageModelItem, {
502
+ scale: scale,
503
+ rotateZ: rotateZ,
504
+ mirror: mirror,
505
+ preSrc: currentImage.thumbnail,
506
+ src: currentImage.mainImage
507
+ }));
508
+ };
509
+
510
+ exports.ImageModal = ImageModal;
511
+ exports.ImageModelItem = ImageModelItem;
512
+ exports.ImageModelMini = ImageModelMini;
513
+ exports.ImageModelMiniContent = ImageModelMiniContent;
514
+ exports.ImageViewerUtils = ImageViewerUtils;
515
+ //# sourceMappingURL=dep-6a672006.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dep-6a672006.js","sources":["../../src/image-viewer/ImageViewerMini.tsx","../../src/image-viewer/ImageViewerModel.tsx"],"sourcesContent":["import React, { KeyboardEvent, MouseEvent } from 'react';\nimport { CloseIcon as TdCloseIcon } from 'tdesign-icons-react';\nimport { TNode } from 'tdesign-react/common';\nimport Dialog from '../dialog';\nimport { ImageInfo, ImageScale, ImageViewerScale } from './type';\nimport { ImageModelItem, ImageViewerUtils } from './ImageViewerModel';\nimport useConfig from '../hooks/useConfig';\nimport useGlobalIcon from '../hooks/useGlobalIcon';\n\nexport interface ImageModelMiniProps {\n visible: boolean;\n title?: TNode;\n draggable: boolean;\n index: number;\n scale: number;\n mirror: number;\n images: ImageInfo[];\n onClose: (context: { trigger: 'close-btn' | 'overlay' | 'esc'; e: MouseEvent<HTMLElement> | KeyboardEvent }) => void;\n onScroll: (e: any) => void;\n imageScale: ImageScale;\n viewerScale: ImageViewerScale;\n rotateZ: number;\n currentImage: ImageInfo;\n prev: () => void;\n next: () => void;\n onMirror: () => void;\n onZoom: () => void;\n onZoomOut: () => void;\n onReset: () => void;\n onRotate: (red: number) => void;\n zIndex: number;\n}\n\nexport const ImageModelMiniContent = (props: ImageModelMiniProps) => {\n const { classPrefix } = useConfig();\n\n return (\n <div className={`${classPrefix}-image-viewer-mini__content`}>\n <ImageModelItem\n rotateZ={props.rotateZ}\n scale={props.scale}\n mirror={props.mirror}\n src={props.currentImage.mainImage}\n preSrc={props.currentImage.thumbnail}\n />\n </div>\n );\n};\n\nconst DIALOG_CSS_PADDING = {\n padding: 0,\n};\n\nexport const ImageModelMini = (props: ImageModelMiniProps) => {\n const {\n visible,\n title,\n index,\n images,\n scale,\n currentImage,\n draggable,\n onZoomOut,\n onZoom,\n onClose,\n onRotate,\n onMirror,\n onReset,\n } = props;\n\n const { classPrefix } = useConfig();\n const { CloseIcon } = useGlobalIcon({ CloseIcon: TdCloseIcon });\n\n const header = (\n <div className={`${classPrefix}-image-viewer__mini-header`}>\n <span>{title}</span>\n {`${index + 1}/${images.length}`}\n <span className={`${classPrefix}-image-viewer__mini-close`}>\n <CloseIcon size=\"1.5rem\" onClick={(e: MouseEvent<any>) => onClose({ trigger: 'close-btn', e })} />\n </span>\n </div>\n );\n\n const footer = (\n <div className={`${classPrefix}-image-viewer-mini__footer`}>\n <ImageViewerUtils\n onZoom={onZoom}\n onZoomOut={onZoomOut}\n scale={scale}\n currentImage={currentImage}\n onRotate={onRotate}\n onMirror={onMirror}\n onReset={onReset}\n />\n </div>\n );\n\n return (\n <Dialog\n className={`${classPrefix}-image-viewer__dialog`}\n draggable={draggable}\n visible={visible}\n width=\"min(90vw, 1000px)\"\n placement=\"center\"\n mode=\"modeless\"\n cancelBtn={null}\n confirmBtn={null}\n closeBtn={false}\n header={header}\n footer={footer}\n onClose={onClose}\n style={DIALOG_CSS_PADDING}\n >\n <ImageModelMiniContent {...props} />\n </Dialog>\n );\n};\n","import React, { useState, useEffect, useCallback, WheelEventHandler, MouseEvent, KeyboardEvent } from 'react';\nimport isArray from 'lodash/isArray';\nimport isFunction from 'lodash/isFunction';\nimport {\n ImageErrorIcon as TdImageErrorIcon,\n ImageIcon as TdImageIcon,\n MirrorIcon as TdMirrorIcon,\n RotationIcon as TdRotationIcon,\n} from 'tdesign-icons-react';\nimport classNames from 'classnames';\nimport { TooltipLite } from '../tooltip';\nimport useConfig from '../hooks/useConfig';\nimport { TNode } from '../common';\nimport { downloadFile } from './utils';\nimport { ImageInfo, ImageScale, ImageViewerScale } from './type';\nimport { ImageModelMini } from './ImageViewerMini';\nimport useMirror from './hooks/useMirror';\nimport usePosition from './hooks/usePosition';\nimport useIndex from './hooks/useIndex';\nimport useRotate from './hooks/useRotate';\nimport useScale from './hooks/useScale';\nimport useGlobalIcon from '../hooks/useGlobalIcon';\nimport useIconMap from './hooks/useIconMap';\n\nconst ImageError = () => {\n const { classPrefix } = useConfig();\n const { ImageErrorIcon } = useGlobalIcon({ ImageErrorIcon: TdImageErrorIcon });\n return (\n <div className={`${classPrefix}-image-viewer__img-error`}>\n {/* 脱离文档流 */}\n <div className={`${classPrefix}-image-viewer__img-error-content`}>\n <ImageErrorIcon size=\"4em\" />\n <div className={`${classPrefix}-image-viewer__img-error-text`}>图片加载失败,可尝试重新加载</div>\n </div>\n </div>\n );\n};\n\ninterface ImageModelItemProps {\n rotateZ: number;\n scale: number;\n mirror: number;\n src: string;\n preSrc?: string;\n}\n\n// 单个弹窗实例\nexport const ImageModelItem = ({ rotateZ, scale, src, preSrc, mirror }: ImageModelItemProps) => {\n const { classPrefix } = useConfig();\n\n const [position, onMouseDown] = usePosition({ initPosition: [0, 0] });\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState(false);\n\n const imgStyle = {\n transform: `rotateZ(${rotateZ}deg) scale(${scale})`,\n display: !preSrc || loaded ? 'block' : 'none',\n };\n const preImgStyle = { transform: `rotateZ(${rotateZ}deg) scale(${scale})`, display: !loaded ? 'block' : 'none' };\n const boxStyle = { transform: `translate(${position[0]}px, ${position[1]}px) scale(${mirror}, 1)` };\n\n useEffect(() => {\n setError(false);\n }, [src]);\n\n return (\n <div className={`${classPrefix}-image-viewer__modal-pic`}>\n <div className={`${classPrefix}-image-viewer__modal-box`} style={boxStyle}>\n {error && <ImageError />}\n {!error && !!preSrc && (\n <img\n className={`${classPrefix}-image-viewer__modal-image`}\n onMouseDown={(event) => {\n event.stopPropagation();\n onMouseDown(event);\n }}\n src={preSrc}\n style={preImgStyle}\n data-testid=\"img-drag\"\n alt=\"image\"\n draggable=\"false\"\n />\n )}\n {!error && (\n <img\n className={`${classPrefix}-image-viewer__modal-image`}\n onMouseDown={(event) => {\n event.stopPropagation();\n onMouseDown(event);\n }}\n src={src}\n onLoad={() => setLoaded(true)}\n onError={() => setError(true)}\n style={imgStyle}\n data-testid=\"img-drag\"\n alt=\"image\"\n draggable=\"false\"\n />\n )}\n </div>\n </div>\n );\n};\n\n// 旋转角度单位\nconst ROTATE_COUNT = 90;\n\ninterface ImageModelIconProps {\n name?: string;\n size?: string;\n label?: string;\n className?: string;\n disabled?: boolean;\n isRange?: boolean;\n onClick?: (e: MouseEvent<HTMLElement>) => void;\n}\n\nconst ImageModelIcon = ({ onClick, className, disabled, isRange, name, label, size = '3em' }: ImageModelIconProps) => {\n const { classPrefix } = useConfig();\n\n const Icons = useIconMap();\n\n const Icon = Icons[name];\n return (\n <div\n className={classNames(`${classPrefix}-image-viewer__modal-icon`, className, {\n [`${classPrefix}-is-disabled`]: disabled,\n })}\n onClick={onClick}\n >\n {name && <Icon size={size} className={isRange ? 'is-range' : null} />}\n {label && <span className={`${classPrefix}-image-viewer__modal-icon-label`}>{label}</span>}\n </div>\n );\n};\n\ninterface ImageViewerUtilsProps {\n scale: number;\n currentImage: ImageInfo;\n onRotate: (ROTATE_COUNT: number) => void;\n onZoom: () => void;\n onZoomOut: () => void;\n onMirror: () => void;\n onReset: () => void;\n}\n\nexport const ImageViewerUtils = ({\n onZoom,\n scale,\n onZoomOut,\n currentImage,\n onRotate,\n onMirror,\n onReset,\n}: ImageViewerUtilsProps) => {\n const { classPrefix } = useConfig();\n const { MirrorIcon, RotationIcon, ImageIcon } = useGlobalIcon({\n MirrorIcon: TdMirrorIcon,\n RotationIcon: TdRotationIcon,\n ImageIcon: TdImageIcon,\n });\n\n return (\n <div className={`${classPrefix}-image-viewer__utils`}>\n <div className={`${classPrefix}-image-viewer__utils-content`}>\n <TooltipLite className={`${classPrefix}-image-viewer__utils--tip`} content=\"镜像\" showShadow={false}>\n <div className={`${classPrefix}-image-viewer__modal-icon`}>\n <MirrorIcon size=\"medium\" onClick={onMirror} />\n </div>\n </TooltipLite>\n <TooltipLite className={`${classPrefix}-image-viewer__utils--tip`} content=\"旋转\" showShadow={false}>\n <div className={`${classPrefix}-image-viewer__modal-icon`}>\n <RotationIcon size=\"medium\" onClick={() => onRotate(-ROTATE_COUNT)} />\n </div>\n </TooltipLite>\n <ImageModelIcon size=\"medium\" name=\"zoom-out\" onClick={onZoomOut} />\n <ImageModelIcon\n className={`${classPrefix}-image-viewer__utils-scale`}\n size=\"medium\"\n label={`${scale * 100}%`}\n />\n <ImageModelIcon size=\"medium\" name=\"zoom-in\" onClick={onZoom} />\n <TooltipLite className={`${classPrefix}-image-viewer__utils--tip`} content=\"原始大小\" showShadow={false}>\n <div className={`${classPrefix}-image-viewer__modal-icon`}>\n <ImageIcon\n size=\"medium\"\n name=\"image\"\n onClick={() => {\n onReset();\n }}\n />\n </div>\n </TooltipLite>\n {currentImage.download && (\n <ImageModelIcon\n size=\"medium\"\n name=\"download\"\n onClick={() => {\n downloadFile(currentImage.mainImage);\n }}\n />\n )}\n </div>\n {/* <IconFont size=\"3em\" name=\"page-last\" onClick={() => onRotate(ROTATE_COUNT)} /> */}\n </div>\n );\n};\n\ntype ImageViewerHeaderProps = {\n onImgClick: (index: number) => void;\n images: ImageInfo[];\n currentIndex: number;\n};\n\nconst ImageViewerHeader = (props: ImageViewerHeaderProps) => {\n const { classPrefix } = useConfig();\n const { images, currentIndex, onImgClick } = props;\n\n const [isExpand, setIsExpand] = useState(true);\n\n const transStyle = { transform: `translateX(-${currentIndex * 62}px)` };\n\n return (\n <div\n className={classNames(`${classPrefix}-image-viewer__modal-header`, {\n [`${classPrefix}-is-show`]: isExpand,\n })}\n >\n <ImageModelIcon\n size=\"20px\"\n name=\"chevron-down\"\n className={`${classPrefix}-image-viewer__header-pre-bt`}\n onClick={() => setIsExpand(!isExpand)}\n />\n <div className={`${classPrefix}-image-viewer__header-prev`}>\n <div className={`${classPrefix}-image-viewer__bokeh-left`} />\n <div className={`${classPrefix}-image-viewer__bokeh-right`} />\n <div className={`${classPrefix}-image-viewer__header-trans`} style={transStyle}>\n {images.map((image, index) => (\n <div\n key={index}\n className={classNames(`${classPrefix}-image-viewer__header-box`, {\n [`${classPrefix}-is-active`]: index === currentIndex,\n })}\n onClick={() => onImgClick(index)}\n >\n <img\n alt=\"\"\n src={image.thumbnail || image.mainImage}\n className={`${classPrefix}-image-viewer__header-img`}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\ninterface ImageModalProps {\n title?: TNode;\n visible: boolean;\n closeOnOverlay: boolean;\n showOverlay: boolean;\n index: number;\n defaultIndex?: number;\n images: ImageInfo[];\n onClose: (context: { trigger: 'close-btn' | 'overlay' | 'esc'; e: MouseEvent<HTMLElement> | KeyboardEvent }) => void;\n onOpen: () => void;\n imageScale: ImageScale;\n viewerScale: ImageViewerScale;\n zIndex: number;\n isMini: boolean;\n draggable: boolean;\n closeBtn: boolean | TNode;\n onIndexChange?: (index: number, context: { trigger: 'prev' | 'next' }) => void;\n}\n\n// 弹窗基础组件\nexport const ImageModal = (props: ImageModalProps) => {\n const {\n closeOnOverlay,\n showOverlay = true,\n zIndex,\n images,\n isMini,\n imageScale,\n viewerScale,\n closeBtn,\n draggable,\n onOpen,\n onClose,\n visible,\n title,\n ...resProps\n } = props;\n const { classPrefix } = useConfig();\n if (resProps.index === undefined) delete resProps.index;\n const { index, next, prev, setIndex } = useIndex(resProps, images);\n const { rotateZ, onResetRotate, onRotate } = useRotate();\n const { scale, onZoom, onZoomOut, onResetScale } = useScale(imageScale);\n const { mirror, onResetMirror, onMirror } = useMirror();\n\n const onReset = useCallback(() => {\n onResetScale();\n onResetRotate();\n onResetMirror();\n }, [onResetMirror, onResetScale, onResetRotate]);\n\n const onScroll: WheelEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n const { deltaY } = e;\n deltaY > 0 ? onZoom() : onZoomOut();\n },\n [onZoom, onZoomOut],\n );\n\n const onKeyDown = useCallback(\n (event) => {\n switch (event.key) {\n case 'ArrowRight':\n return next();\n case 'ArrowLeft':\n return prev();\n case 'ArrowUp':\n return onZoom();\n case 'ArrowDown':\n return onZoomOut();\n case 'Escape':\n return onClose?.({ trigger: 'esc', e: event });\n }\n },\n [next, onClose, prev, onZoom, onZoomOut],\n );\n\n useEffect(() => {\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [onKeyDown]);\n\n useEffect(() => {\n onReset();\n }, [index, onReset]);\n\n if (!isArray(images) || images.length < 1) return null;\n\n const currentImage: ImageInfo = images[index];\n\n if (isMini) {\n return (\n <ImageModelMini\n visible={visible}\n draggable={draggable}\n index={index}\n images={images}\n imageScale={imageScale}\n viewerScale={viewerScale}\n rotateZ={rotateZ}\n zIndex={zIndex}\n currentImage={currentImage}\n prev={prev}\n next={next}\n mirror={mirror}\n scale={scale}\n title={title}\n onMirror={onMirror}\n onZoom={onZoom}\n onClose={onClose}\n onZoomOut={onZoomOut}\n onScroll={onScroll}\n onReset={onReset}\n onRotate={onRotate}\n />\n );\n }\n\n // boolean控制显示,tnode直接展示\n let closeNode: TNode = closeBtn;\n if (closeBtn === true) {\n closeNode = (\n <ImageModelIcon\n name=\"close\"\n size=\"24px\"\n className={`${classPrefix}-image-viewer__modal-close-bt `}\n onClick={(e: MouseEvent<HTMLElement>) => onClose && onClose({ trigger: 'close-btn', e })}\n />\n );\n } else if (isFunction(closeBtn)) closeNode = closeBtn({ onClose, onOpen });\n\n return (\n <div\n className={classNames(`${classPrefix}-image-viewer-preview-image`, {\n [`${classPrefix}-is-hide`]: !visible,\n })}\n onWheel={onScroll}\n style={{ zIndex }}\n >\n {!!showOverlay && (\n <div\n className={`${classPrefix}-image-viewer__modal-mask`}\n onClick={(e: MouseEvent<HTMLElement>) => closeOnOverlay && onClose?.({ trigger: 'overlay', e })}\n />\n )}\n {images.length > 1 && (\n <>\n <ImageViewerHeader images={images} currentIndex={index} onImgClick={setIndex} />\n <div className={`${classPrefix}-image-viewer__modal-index`}>\n <span>{title}</span>\n {`${index + 1}/${images.length}`}\n </div>\n <ImageModelIcon\n size=\"24px\"\n name=\"chevron-left\"\n className={`${classPrefix}-image-viewer__modal-prev-bt`}\n onClick={prev}\n disabled={index <= 0}\n />\n <ImageModelIcon\n size=\"24px\"\n name=\"chevron-right\"\n className={`${classPrefix}-image-viewer__modal-next-bt`}\n onClick={next}\n disabled={index >= images.length - 1}\n />\n </>\n )}\n <ImageViewerUtils\n onZoom={onZoom}\n onZoomOut={onZoomOut}\n scale={scale}\n currentImage={currentImage}\n onRotate={onRotate}\n onMirror={onMirror}\n onReset={onReset}\n />\n {closeNode}\n <ImageModelItem\n scale={scale}\n rotateZ={rotateZ}\n mirror={mirror}\n preSrc={currentImage.thumbnail}\n src={currentImage.mainImage}\n />\n </div>\n );\n};\n"],"names":["ImageModelMiniContent","props","useConfig","classPrefix","React","createElement","className","ImageModelItem","rotateZ","scale","mirror","src","currentImage","mainImage","preSrc","thumbnail","DIALOG_CSS_PADDING","padding","ImageModelMini","visible","title","index","images","draggable","onZoomOut","onZoom","onClose","onRotate","onMirror","onReset","useGlobalIcon","CloseIcon","TdCloseIcon","header","length","size","onClick","e","trigger","footer","ImageViewerUtils","Dialog","width","placement","mode","cancelBtn","confirmBtn","closeBtn","style","ImageError","ImageErrorIcon","TdImageErrorIcon","usePosition","initPosition","_slicedToArray","position","onMouseDown","useState","loaded","setLoaded","error","setError","imgStyle","transform","display","preImgStyle","boxStyle","useEffect","event","stopPropagation","alt","onLoad","onError","ROTATE_COUNT","ImageModelIcon","disabled","isRange","name","label","Icons","useIconMap","Icon","classNames","MirrorIcon","TdMirrorIcon","RotationIcon","TdRotationIcon","ImageIcon","TdImageIcon","TooltipLite","content","showShadow","download","downloadFile","ImageViewerHeader","currentIndex","onImgClick","isExpand","setIsExpand","transStyle","map","image","key","_defineProperty","ImageModal","closeOnOverlay","showOverlay","zIndex","isMini","imageScale","viewerScale","onOpen","resProps","useIndex","next","prev","setIndex","useRotate","onResetRotate","useScale","onResetScale","useMirror","onResetMirror","useCallback","onScroll","deltaY","onKeyDown","document","addEventListener","removeEventListener","isArray","closeNode","isFunction","onWheel"],"mappings":"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"}