@douyinfe/semi-ui 2.19.2-alpha.0 → 2.20.0-beta.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.
Files changed (139) hide show
  1. package/dist/css/semi.css +243 -968
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +3449 -452
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/button/Button.d.ts +1 -1
  8. package/lib/cjs/button/index.d.ts +1 -1
  9. package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
  10. package/lib/cjs/carousel/index.d.ts +1 -1
  11. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  12. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  13. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  14. package/lib/cjs/image/image.d.ts +48 -0
  15. package/lib/cjs/image/image.js +248 -0
  16. package/lib/cjs/image/index.d.ts +6 -0
  17. package/lib/cjs/image/index.js +29 -0
  18. package/lib/cjs/image/interface.d.ts +178 -0
  19. package/lib/cjs/image/interface.js +5 -0
  20. package/lib/cjs/image/preview.d.ts +81 -0
  21. package/lib/cjs/image/preview.js +249 -0
  22. package/lib/cjs/image/previewContext.d.ts +12 -0
  23. package/lib/cjs/image/previewContext.js +11 -0
  24. package/lib/cjs/image/previewFooter.d.ts +62 -0
  25. package/lib/cjs/image/previewFooter.js +337 -0
  26. package/lib/cjs/image/previewHeader.d.ts +4 -0
  27. package/lib/cjs/image/previewHeader.js +57 -0
  28. package/lib/cjs/image/previewImage.d.ts +49 -0
  29. package/lib/cjs/image/previewImage.js +253 -0
  30. package/lib/cjs/image/previewInner.d.ts +87 -0
  31. package/lib/cjs/image/previewInner.js +443 -0
  32. package/lib/cjs/index.d.ts +2 -0
  33. package/lib/cjs/index.js +14 -0
  34. package/lib/cjs/locale/interface.d.ts +13 -0
  35. package/lib/cjs/locale/source/ar.js +13 -0
  36. package/lib/cjs/locale/source/de.js +13 -0
  37. package/lib/cjs/locale/source/en_GB.js +13 -0
  38. package/lib/cjs/locale/source/en_US.js +13 -0
  39. package/lib/cjs/locale/source/es.js +13 -0
  40. package/lib/cjs/locale/source/fr.js +13 -0
  41. package/lib/cjs/locale/source/id_ID.js +13 -0
  42. package/lib/cjs/locale/source/it.js +13 -0
  43. package/lib/cjs/locale/source/ja_JP.js +13 -0
  44. package/lib/cjs/locale/source/ko_KR.js +13 -0
  45. package/lib/cjs/locale/source/ms_MY.js +13 -0
  46. package/lib/cjs/locale/source/pt_BR.js +13 -0
  47. package/lib/cjs/locale/source/ru_RU.js +13 -0
  48. package/lib/cjs/locale/source/th_TH.js +13 -0
  49. package/lib/cjs/locale/source/tr_TR.js +13 -0
  50. package/lib/cjs/locale/source/vi_VN.js +13 -0
  51. package/lib/cjs/locale/source/zh_CN.js +13 -0
  52. package/lib/cjs/locale/source/zh_TW.js +13 -0
  53. package/lib/cjs/progress/index.d.ts +10 -2
  54. package/lib/cjs/progress/index.js +37 -8
  55. package/lib/cjs/radio/radio.d.ts +1 -1
  56. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  57. package/lib/cjs/skeleton/item.d.ts +1 -0
  58. package/lib/cjs/skeleton/item.js +10 -4
  59. package/lib/cjs/tag/index.js +5 -1
  60. package/lib/cjs/tag/interface.d.ts +2 -0
  61. package/lib/cjs/timePicker/TimePicker.d.ts +2 -2
  62. package/lib/cjs/timePicker/TimeShape.d.ts +1 -1
  63. package/lib/cjs/timePicker/index.d.ts +2 -2
  64. package/lib/cjs/toast/index.d.ts +9 -0
  65. package/lib/cjs/toast/index.js +50 -10
  66. package/lib/cjs/toast/toast.d.ts +1 -0
  67. package/lib/cjs/toast/toast.js +4 -0
  68. package/lib/cjs/typography/base.d.ts +1 -1
  69. package/lib/cjs/typography/paragraph.d.ts +1 -1
  70. package/lib/cjs/typography/text.d.ts +1 -1
  71. package/lib/cjs/typography/title.d.ts +2 -2
  72. package/lib/cjs/upload/index.d.ts +1 -1
  73. package/lib/es/button/Button.d.ts +1 -1
  74. package/lib/es/button/index.d.ts +1 -1
  75. package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
  76. package/lib/es/carousel/index.d.ts +1 -1
  77. package/lib/es/datePicker/dateInput.d.ts +1 -1
  78. package/lib/es/datePicker/datePicker.d.ts +1 -1
  79. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  80. package/lib/es/image/image.d.ts +48 -0
  81. package/lib/es/image/image.js +224 -0
  82. package/lib/es/image/index.d.ts +6 -0
  83. package/lib/es/image/index.js +5 -0
  84. package/lib/es/image/interface.d.ts +178 -0
  85. package/lib/es/image/interface.js +1 -0
  86. package/lib/es/image/preview.d.ts +81 -0
  87. package/lib/es/image/preview.js +229 -0
  88. package/lib/es/image/previewContext.d.ts +12 -0
  89. package/lib/es/image/previewContext.js +2 -0
  90. package/lib/es/image/previewFooter.d.ts +62 -0
  91. package/lib/es/image/previewFooter.js +301 -0
  92. package/lib/es/image/previewHeader.d.ts +4 -0
  93. package/lib/es/image/previewHeader.js +38 -0
  94. package/lib/es/image/previewImage.d.ts +49 -0
  95. package/lib/es/image/previewImage.js +235 -0
  96. package/lib/es/image/previewInner.d.ts +87 -0
  97. package/lib/es/image/previewInner.js +419 -0
  98. package/lib/es/index.d.ts +2 -0
  99. package/lib/es/index.js +3 -1
  100. package/lib/es/locale/interface.d.ts +13 -0
  101. package/lib/es/locale/source/ar.js +13 -0
  102. package/lib/es/locale/source/de.js +13 -0
  103. package/lib/es/locale/source/en_GB.js +13 -0
  104. package/lib/es/locale/source/en_US.js +13 -0
  105. package/lib/es/locale/source/es.js +13 -0
  106. package/lib/es/locale/source/fr.js +13 -0
  107. package/lib/es/locale/source/id_ID.js +13 -0
  108. package/lib/es/locale/source/it.js +13 -0
  109. package/lib/es/locale/source/ja_JP.js +13 -0
  110. package/lib/es/locale/source/ko_KR.js +13 -0
  111. package/lib/es/locale/source/ms_MY.js +13 -0
  112. package/lib/es/locale/source/pt_BR.js +13 -0
  113. package/lib/es/locale/source/ru_RU.js +13 -0
  114. package/lib/es/locale/source/th_TH.js +13 -0
  115. package/lib/es/locale/source/tr_TR.js +13 -0
  116. package/lib/es/locale/source/vi_VN.js +13 -0
  117. package/lib/es/locale/source/zh_CN.js +13 -0
  118. package/lib/es/locale/source/zh_TW.js +13 -0
  119. package/lib/es/progress/index.d.ts +10 -2
  120. package/lib/es/progress/index.js +36 -8
  121. package/lib/es/radio/radio.d.ts +1 -1
  122. package/lib/es/radio/radioGroup.d.ts +1 -1
  123. package/lib/es/skeleton/item.d.ts +1 -0
  124. package/lib/es/skeleton/item.js +10 -4
  125. package/lib/es/tag/index.js +5 -1
  126. package/lib/es/tag/interface.d.ts +2 -0
  127. package/lib/es/timePicker/TimePicker.d.ts +2 -2
  128. package/lib/es/timePicker/TimeShape.d.ts +1 -1
  129. package/lib/es/timePicker/index.d.ts +2 -2
  130. package/lib/es/toast/index.d.ts +9 -0
  131. package/lib/es/toast/index.js +50 -10
  132. package/lib/es/toast/toast.d.ts +1 -0
  133. package/lib/es/toast/toast.js +4 -0
  134. package/lib/es/typography/base.d.ts +1 -1
  135. package/lib/es/typography/paragraph.d.ts +1 -1
  136. package/lib/es/typography/text.d.ts +1 -1
  137. package/lib/es/typography/title.d.ts +2 -2
  138. package/lib/es/upload/index.d.ts +1 -1
  139. package/package.json +8 -8
@@ -0,0 +1,443 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
9
+
10
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _constants = require("@douyinfe/semi-foundation/lib/cjs/image/constants");
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _portal = _interopRequireDefault(require("../_portal"));
23
+
24
+ var _semiIcons = require("@douyinfe/semi-icons");
25
+
26
+ var _previewHeader = _interopRequireDefault(require("./previewHeader"));
27
+
28
+ var _previewFooter = _interopRequireDefault(require("./previewFooter"));
29
+
30
+ var _previewImage = _interopRequireDefault(require("./previewImage"));
31
+
32
+ var _previewInnerFoundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/image/previewInnerFoundation"));
33
+
34
+ var _previewContext = require("./previewContext");
35
+
36
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
+
38
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
39
+ const prefixCls = _constants.cssClasses.PREFIX;
40
+ let startMouseDown = {
41
+ x: 0,
42
+ y: 0
43
+ };
44
+ let mouseActiveTime = null;
45
+ let stopTiming = false;
46
+ let timer = null; // let bodyOverflowValue = document.body.style.overflow;
47
+
48
+ class PreviewInner extends _baseComponent.default {
49
+ constructor(props) {
50
+ super(props);
51
+
52
+ this.viewVisibleChange = () => {
53
+ this.foundation.handleViewVisibleChange();
54
+ };
55
+
56
+ this.handleSwitchImage = direction => {
57
+ this.foundation.handleSwitchImage(direction);
58
+ };
59
+
60
+ this.handleDownload = () => {
61
+ this.foundation.handleDownload();
62
+ };
63
+
64
+ this.handlePreviewClose = () => {
65
+ this.foundation.handlePreviewClose();
66
+ };
67
+
68
+ this.handleAdjustRatio = type => {
69
+ this.foundation.handleAdjustRatio(type);
70
+ };
71
+
72
+ this.handleRotateImage = direction => {
73
+ this.foundation.handleRotateImage(direction);
74
+ };
75
+
76
+ this.handleZoomImage = newZoom => {
77
+ this.foundation.handleZoomImage(newZoom);
78
+ };
79
+
80
+ this.handleMouseUp = e => {
81
+ this.foundation.handleMouseUp(e);
82
+ };
83
+
84
+ this.handleMouseMove = e => {
85
+ this.foundation.handleMouseMove(e);
86
+ };
87
+
88
+ this.handleMouseEvent = (e, event) => {
89
+ this.foundation.handleMouseMoveEvent(e, event);
90
+ };
91
+
92
+ this.handleKeyDown = e => {
93
+ this.foundation.handleKeyDown(e);
94
+ };
95
+
96
+ this.onImageError = () => {
97
+ this.foundation.preloadSingleImage();
98
+ };
99
+
100
+ this.onImageLoad = src => {
101
+ this.foundation.onImageLoad(src);
102
+ };
103
+
104
+ this.handleMouseDown = e => {
105
+ this.foundation.handleMouseDown(e);
106
+ };
107
+
108
+ this.handleRatio = type => {
109
+ this.foundation.handleRatio(type);
110
+ };
111
+
112
+ this.state = {
113
+ imgSrc: [],
114
+ imgLoadStatus: new Map(),
115
+ zoom: 0.1,
116
+ currentIndex: 0,
117
+ ratio: "adaptation",
118
+ rotation: 0,
119
+ viewerVisible: true,
120
+ visible: false,
121
+ preloadAfterVisibleChange: true,
122
+ direction: ""
123
+ };
124
+ this.foundation = new _previewInnerFoundation.default(this.adapter);
125
+ }
126
+
127
+ get adapter() {
128
+ return Object.assign(Object.assign({}, super.adapter), {
129
+ getIsInGroup: () => this.isInGroup(),
130
+ notifyChange: index => {
131
+ const {
132
+ onChange
133
+ } = this.props;
134
+ (0, _isFunction2.default)(onChange) && onChange(index);
135
+ },
136
+ notifyZoom: (zoom, increase) => {
137
+ const {
138
+ onZoomIn,
139
+ onZoomOut
140
+ } = this.props;
141
+
142
+ if (increase) {
143
+ (0, _isFunction2.default)(onZoomIn) && onZoomIn(zoom);
144
+ } else {
145
+ (0, _isFunction2.default)(onZoomOut) && onZoomOut(zoom);
146
+ }
147
+ },
148
+ notifyClose: () => {
149
+ const {
150
+ onClose
151
+ } = this.props;
152
+ (0, _isFunction2.default)(onClose) && onClose();
153
+ },
154
+ notifyVisibleChange: visible => {
155
+ const {
156
+ onVisibleChange
157
+ } = this.props;
158
+ (0, _isFunction2.default)(onVisibleChange) && onVisibleChange(visible);
159
+ },
160
+ notifyRatioChange: type => {
161
+ const {
162
+ onRatioChange
163
+ } = this.props;
164
+ (0, _isFunction2.default)(onRatioChange) && onRatioChange(type);
165
+ },
166
+ notifyRotateChange: angle => {
167
+ const {
168
+ onRotateChange
169
+ } = this.props;
170
+ (0, _isFunction2.default)(onRotateChange) && onRotateChange(angle);
171
+ },
172
+ notifyDownload: (src, index) => {
173
+ const {
174
+ onDownload
175
+ } = this.props;
176
+ (0, _isFunction2.default)(onDownload) && onDownload(src, index);
177
+ },
178
+ registerKeyDownListener: () => {
179
+ window && window.addEventListener("keydown", this.handleKeyDown);
180
+ },
181
+ unregisterKeyDownListener: () => {
182
+ window && window.removeEventListener("keydown", this.handleKeyDown);
183
+ },
184
+ getMouseActiveTime: () => {
185
+ return mouseActiveTime;
186
+ },
187
+ getStopTiming: () => {
188
+ return stopTiming;
189
+ },
190
+ setStopTiming: value => {
191
+ stopTiming = value;
192
+ },
193
+ getStartMouseDown: () => {
194
+ return startMouseDown;
195
+ },
196
+ setStartMouseDown: (x, y) => {
197
+ startMouseDown = {
198
+ x,
199
+ y
200
+ };
201
+ },
202
+ setMouseActiveTime: time => {
203
+ mouseActiveTime = time;
204
+ }
205
+ });
206
+ }
207
+
208
+ static getDerivedStateFromProps(props, state) {
209
+ const willUpdateStates = {};
210
+ let src = [];
211
+
212
+ if (props.visible) {
213
+ // if src in props
214
+ src = Array.isArray(props.src) ? props.src : [props.src];
215
+ }
216
+
217
+ if (!(0, _isEqual2.default)(src, state.imgSrc)) {
218
+ willUpdateStates.imgSrc = src;
219
+ }
220
+
221
+ if (props.visible !== state.visible) {
222
+ willUpdateStates.visible = props.visible;
223
+
224
+ if (props.visible) {
225
+ willUpdateStates.preloadAfterVisibleChange = true;
226
+ }
227
+ }
228
+
229
+ if ("currentIndex" in props && props.currentIndex !== state.currentIndex) {
230
+ willUpdateStates.currentIndex = props.currentIndex;
231
+ }
232
+
233
+ return willUpdateStates;
234
+ }
235
+
236
+ componentDidUpdate(prevProps, prevState) {
237
+ if (prevState.visible !== this.props.visible && this.props.visible) {
238
+ mouseActiveTime = new Date().getTime();
239
+ timer && clearInterval(timer);
240
+ timer = setInterval(this.viewVisibleChange, 1000);
241
+ } // hide => show
242
+
243
+
244
+ if (!prevProps.visible && this.props.visible) {
245
+ this.foundation.beforeShow();
246
+ } // show => hide
247
+
248
+
249
+ if (prevProps.visible && !this.props.visible) {
250
+ this.foundation.afterHide();
251
+ }
252
+ }
253
+
254
+ componentWillUnmount() {
255
+ timer && clearInterval(timer);
256
+ }
257
+
258
+ isInGroup() {
259
+ return Boolean(this.context && this.context.isGroup);
260
+ }
261
+
262
+ render() {
263
+ const {
264
+ getPopupContainer,
265
+ zIndex,
266
+ visible,
267
+ className,
268
+ style,
269
+ infinite,
270
+ zoomStep,
271
+ prevTip,
272
+ nextTip,
273
+ zoomInTip,
274
+ zoomOutTip,
275
+ rotateTip,
276
+ downloadTip,
277
+ adaptiveTip,
278
+ originTip,
279
+ showTooltip,
280
+ disableDownload,
281
+ renderPreviewMenu,
282
+ renderHeader
283
+ } = this.props;
284
+ const {
285
+ currentIndex,
286
+ imgSrc,
287
+ zoom,
288
+ ratio,
289
+ rotation,
290
+ viewerVisible
291
+ } = this.state;
292
+ let wrapperStyle = {
293
+ zIndex
294
+ };
295
+
296
+ if (getPopupContainer) {
297
+ wrapperStyle = {
298
+ zIndex,
299
+ position: "static"
300
+ };
301
+ }
302
+
303
+ const previewPrefixCls = "".concat(prefixCls, "-preview");
304
+ const previewWrapperCls = (0, _classnames.default)(previewPrefixCls, {
305
+ ["".concat(prefixCls, "-hide")]: !visible,
306
+ ["".concat(previewPrefixCls, "-popup")]: getPopupContainer
307
+ }, className);
308
+ const hideViewerCls = !viewerVisible ? "".concat(previewPrefixCls, "-hide") : "";
309
+ const total = imgSrc.length;
310
+ const showPrev = total !== 1 && (infinite || currentIndex !== 0);
311
+ const showNext = total !== 1 && (infinite || currentIndex !== total - 1);
312
+ return /*#__PURE__*/_react.default.createElement(_portal.default, {
313
+ getPopupContainer: getPopupContainer,
314
+ style: wrapperStyle
315
+ }, visible &&
316
+ /*#__PURE__*/
317
+ // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events,jsx-a11y/no-static-element-interactions
318
+ _react.default.createElement("div", {
319
+ className: previewWrapperCls,
320
+ style: style,
321
+ onMouseDown: this.handleMouseDown,
322
+ onMouseUp: this.handleMouseUp,
323
+ onMouseMove: this.handleMouseMove,
324
+ onMouseOver: e => this.handleMouseEvent(e, "over"),
325
+ onMouseOut: e => this.handleMouseEvent(e, "out")
326
+ }, /*#__PURE__*/_react.default.createElement(_previewHeader.default, {
327
+ className: (0, _classnames.default)(hideViewerCls),
328
+ onClose: this.handlePreviewClose,
329
+ renderHeader: renderHeader
330
+ }), /*#__PURE__*/_react.default.createElement(_previewImage.default, {
331
+ src: imgSrc[currentIndex],
332
+ onZoom: this.handleZoomImage,
333
+ disableDownload: disableDownload,
334
+ setRatio: this.handleRatio,
335
+ zoom: zoom,
336
+ ratio: ratio,
337
+ zoomStep: zoomStep,
338
+ rotation: rotation,
339
+ onError: this.onImageError,
340
+ onLoad: this.onImageLoad
341
+ }), showPrev &&
342
+ /*#__PURE__*/
343
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
344
+ _react.default.createElement("div", {
345
+ className: (0, _classnames.default)("".concat(previewPrefixCls, "-icon"), "".concat(previewPrefixCls, "-prev"), hideViewerCls),
346
+ onClick: () => this.handleSwitchImage("prev")
347
+ }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconArrowLeft, {
348
+ size: "large"
349
+ })), showNext &&
350
+ /*#__PURE__*/
351
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
352
+ _react.default.createElement("div", {
353
+ className: (0, _classnames.default)("".concat(previewPrefixCls, "-icon"), "".concat(previewPrefixCls, "-next"), hideViewerCls),
354
+ onClick: () => this.handleSwitchImage("next")
355
+ }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconArrowRight, {
356
+ size: "large"
357
+ })), /*#__PURE__*/_react.default.createElement(_previewFooter.default, {
358
+ className: hideViewerCls,
359
+ totalNum: total,
360
+ curPage: currentIndex + 1,
361
+ disabledPrev: !showPrev,
362
+ disabledNext: !showNext,
363
+ zoom: zoom * 100,
364
+ step: zoomStep * 100,
365
+ showTooltip: showTooltip,
366
+ ratio: ratio,
367
+ prevTip: prevTip,
368
+ nextTip: nextTip,
369
+ zoomInTip: zoomInTip,
370
+ zoomOutTip: zoomOutTip,
371
+ rotateTip: rotateTip,
372
+ downloadTip: downloadTip,
373
+ disableDownload: disableDownload,
374
+ adaptiveTip: adaptiveTip,
375
+ originTip: originTip,
376
+ onPrev: () => this.handleSwitchImage("prev"),
377
+ onNext: () => this.handleSwitchImage("next"),
378
+ onZoomIn: this.handleZoomImage,
379
+ onZoomOut: this.handleZoomImage,
380
+ onDownload: this.handleDownload,
381
+ onRotate: this.handleRotateImage,
382
+ onAdjustRatio: this.handleAdjustRatio,
383
+ renderPreviewMenu: renderPreviewMenu
384
+ })));
385
+ }
386
+
387
+ }
388
+
389
+ exports.default = PreviewInner;
390
+ PreviewInner.contextType = _previewContext.PreviewContext;
391
+ PreviewInner.propTypes = {
392
+ style: _propTypes.default.object,
393
+ className: _propTypes.default.string,
394
+ visible: _propTypes.default.bool,
395
+ src: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]),
396
+ currentIndex: _propTypes.default.number,
397
+ defaultIndex: _propTypes.default.number,
398
+ defaultVisible: _propTypes.default.bool,
399
+ maskClosable: _propTypes.default.bool,
400
+ closable: _propTypes.default.bool,
401
+ zoomStep: _propTypes.default.number,
402
+ infinite: _propTypes.default.bool,
403
+ showTooltip: _propTypes.default.bool,
404
+ closeOnEsc: _propTypes.default.bool,
405
+ prevTip: _propTypes.default.string,
406
+ nextTip: _propTypes.default.string,
407
+ zoomInTip: _propTypes.default.string,
408
+ zoomOutTip: _propTypes.default.string,
409
+ downloadTip: _propTypes.default.string,
410
+ adaptiveTip: _propTypes.default.string,
411
+ originTip: _propTypes.default.string,
412
+ lazyLoad: _propTypes.default.bool,
413
+ preLoad: _propTypes.default.bool,
414
+ preLoadGap: _propTypes.default.number,
415
+ disableDownload: _propTypes.default.bool,
416
+ viewerVisibleDelay: _propTypes.default.number,
417
+ zIndex: _propTypes.default.number,
418
+ renderHeader: _propTypes.default.func,
419
+ renderPreviewMenu: _propTypes.default.func,
420
+ getPopupContainer: _propTypes.default.func,
421
+ onVisibleChange: _propTypes.default.func,
422
+ onChange: _propTypes.default.func,
423
+ onClose: _propTypes.default.func,
424
+ onZoomIn: _propTypes.default.func,
425
+ onZoomOut: _propTypes.default.func,
426
+ onPrev: _propTypes.default.func,
427
+ onNext: _propTypes.default.func,
428
+ onDownload: _propTypes.default.func,
429
+ onRatioChange: _propTypes.default.func,
430
+ onRotateChange: _propTypes.default.func
431
+ };
432
+ PreviewInner.defaultProps = {
433
+ showTooltip: false,
434
+ zoomStep: 0.1,
435
+ infinite: false,
436
+ closeOnEsc: true,
437
+ lazyLoad: false,
438
+ preLoad: true,
439
+ preLoadGap: 2,
440
+ zIndex: 1000,
441
+ maskClosable: true,
442
+ viewerVisibleDelay: 10000
443
+ };
@@ -79,3 +79,5 @@ export { default as Transfer } from './transfer';
79
79
  export { default as LocaleProvider } from './locale/localeProvider';
80
80
  /** Form */
81
81
  export { Form, useFormApi, useFormState, useFieldApi, useFieldState, withFormState, withFormApi, withField, ArrayField, } from './form';
82
+ export { default as Image } from './image';
83
+ export { Preview as ImagePreview } from './image';
package/lib/cjs/index.js CHANGED
@@ -201,6 +201,18 @@ Object.defineProperty(exports, "IconButton", {
201
201
  return _iconButton.default;
202
202
  }
203
203
  });
204
+ Object.defineProperty(exports, "Image", {
205
+ enumerable: true,
206
+ get: function () {
207
+ return _image.default;
208
+ }
209
+ });
210
+ Object.defineProperty(exports, "ImagePreview", {
211
+ enumerable: true,
212
+ get: function () {
213
+ return _image.Preview;
214
+ }
215
+ });
204
216
  Object.defineProperty(exports, "Input", {
205
217
  enumerable: true,
206
218
  get: function () {
@@ -698,6 +710,8 @@ var _localeProvider = _interopRequireDefault(require("./locale/localeProvider"))
698
710
 
699
711
  var _form = require("./form");
700
712
 
713
+ var _image = _interopRequireWildcard(require("./image"));
714
+
701
715
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
702
716
 
703
717
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -151,4 +151,17 @@ export interface Locale {
151
151
  Form: {
152
152
  optional: string;
153
153
  };
154
+ Image: {
155
+ preview: string;
156
+ loading: string;
157
+ loadError: string;
158
+ prevTip: string;
159
+ nextTip: string;
160
+ zoomInTip: string;
161
+ zoomOutTip: string;
162
+ rotateTip: string;
163
+ downloadTip: string;
164
+ adaptiveTip: string;
165
+ originTip: string;
166
+ };
154
167
  }
@@ -158,6 +158,19 @@ const local = {
158
158
  },
159
159
  Form: {
160
160
  optional: '(اختياري)'
161
+ },
162
+ Image: {
163
+ preview: 'معاينة',
164
+ loading: 'جار التحميل',
165
+ loadError: 'فشل في التحميل',
166
+ prevTip: "السابق",
167
+ nextTip: "التالي",
168
+ zoomInTip: "تكبير",
169
+ zoomOutTip: "تصغير",
170
+ rotateTip: "استدارة",
171
+ downloadTip: "تنزيل",
172
+ adaptiveTip: "التكيف مع الصفحة",
173
+ originTip: "الحجم الأصلي"
161
174
  }
162
175
  }; // [i18n-Arabic]
163
176
 
@@ -158,6 +158,19 @@ const local = {
158
158
  },
159
159
  Form: {
160
160
  optional: '(Optional)'
161
+ },
162
+ Image: {
163
+ preview: 'Vorschau',
164
+ loading: 'Wird geladen',
165
+ loadError: 'Laden fehlgeschlagen',
166
+ prevTip: 'Zurück',
167
+ nextTip: 'Weiter',
168
+ zoomInTip: 'Vergrößern',
169
+ zoomOutTip: 'herauszoomen',
170
+ rotateTip: 'Drehen',
171
+ downloadTip: 'herunterladen',
172
+ adaptiveTip: 'An die Seite anpassen',
173
+ originTip: 'Originalgröße'
161
174
  }
162
175
  }; // [i18n-German]
163
176
 
@@ -158,6 +158,19 @@ const local = {
158
158
  },
159
159
  Form: {
160
160
  optional: '(optional)'
161
+ },
162
+ Image: {
163
+ preview: 'Preview',
164
+ loading: 'Loading',
165
+ loadError: 'Failed to load',
166
+ prevTip: 'Previous',
167
+ nextTip: 'Next',
168
+ zoomInTip: 'Zoom in',
169
+ zoomOutTip: 'Zoom out',
170
+ rotateTip: 'Rotate',
171
+ downloadTip: 'Download',
172
+ adaptiveTip: 'Adapt to the page',
173
+ originTip: 'Original size'
161
174
  }
162
175
  }; // [i18n-English(GB)]
163
176
 
@@ -158,6 +158,19 @@ const local = {
158
158
  },
159
159
  Form: {
160
160
  optional: '(optional)'
161
+ },
162
+ Image: {
163
+ preview: 'Preview',
164
+ loading: 'Loading',
165
+ loadError: 'Failed to load',
166
+ prevTip: 'Previous',
167
+ nextTip: 'Next',
168
+ zoomInTip: 'Zoom in',
169
+ zoomOutTip: 'Zoom out',
170
+ rotateTip: 'Rotate',
171
+ downloadTip: 'Download',
172
+ adaptiveTip: 'Adapt to the page',
173
+ originTip: 'Original size'
161
174
  }
162
175
  }; // [i18n-English(US)]
163
176
 
@@ -162,6 +162,19 @@ const locale = {
162
162
  },
163
163
  Form: {
164
164
  optional: '(opcional)'
165
+ },
166
+ Image: {
167
+ preview: 'Avance',
168
+ loading: 'Cargando',
169
+ loadError: 'Falló al cargar',
170
+ prevTip: 'Anterior',
171
+ nextTip: 'Siguiente',
172
+ zoomInTip: 'Acercar',
173
+ zoomOutTip: 'alejar',
174
+ rotateTip: 'Rotar',
175
+ downloadTip: 'descargar',
176
+ adaptiveTip: 'Adaptarse a la página',
177
+ originTip: 'Tamaño original'
165
178
  }
166
179
  };
167
180
  var _default = locale;
@@ -158,6 +158,19 @@ const local = {
158
158
  },
159
159
  Form: {
160
160
  optional: '(optionnel)'
161
+ },
162
+ Image: {
163
+ preview: 'Aperçu',
164
+ loading: 'Chargement',
165
+ loadError: 'Échec du chargement',
166
+ prevTip: 'Précédent',
167
+ nextTip: 'Suivant',
168
+ zoomInTip: 'Zoom avant',
169
+ zoomOutTip: 'Zoom arrière',
170
+ rotateTip: 'Rotation',
171
+ downloadTip: 'Télécharger',
172
+ adaptiveTip: 'Adapter à la page',
173
+ originTip: 'Taille d\'origine'
161
174
  }
162
175
  }; // [i18n-French]
163
176
 
@@ -158,6 +158,19 @@ const local = {
158
158
  },
159
159
  Form: {
160
160
  optional: '(opsional)'
161
+ },
162
+ Image: {
163
+ preview: 'Pratinjau',
164
+ loading: 'Memuat',
165
+ loadError: 'Gagal untuk memuat',
166
+ prevTip: 'Sebelumnya',
167
+ nextTip: 'Selanjutnya',
168
+ zoomInTip: 'Memperbesar',
169
+ zoomOutTip: 'memperkecil',
170
+ rotateTip: 'Putar',
171
+ downloadTip: 'unduh',
172
+ adaptiveTip: 'Beradaptasi dengan halaman',
173
+ originTip: 'Ukuran asli'
161
174
  }
162
175
  }; // [i18n-Indonesia(ID)]
163
176
 
@@ -158,6 +158,19 @@ const local = {
158
158
  },
159
159
  Form: {
160
160
  optional: '(opzionale)'
161
+ },
162
+ Image: {
163
+ preview: 'Anteprima',
164
+ loading: 'Caricamento in corso',
165
+ loadError: 'Caricamento fallito',
166
+ prevTip: 'Precedente',
167
+ nextTip: 'Avanti',
168
+ zoomInTip: 'Ingrandisci',
169
+ zoomOutTip: 'rimpicciolisci',
170
+ rotateTip: 'Ruota',
171
+ downloadTip: 'scarica',
172
+ adaptiveTip: 'Adatta alla pagina',
173
+ originTip: 'Formato originale'
161
174
  }
162
175
  }; // [i18n-Italian]
163
176
 
@@ -159,6 +159,19 @@ const local = {
159
159
  },
160
160
  Form: {
161
161
  optional: '(オプション)'
162
+ },
163
+ Image: {
164
+ preview: 'プレビュー',
165
+ loading: '読み込み中',
166
+ loadError: '読み込みに失敗しました',
167
+ prevTip: '前へ',
168
+ nextTip: '次へ',
169
+ zoomInTip: 'ズームイン',
170
+ zoomOutTip: 'ズームアウト',
171
+ rotateTip: '回転',
172
+ downloadTip: 'ダウンロード',
173
+ adaptiveTip: 'ページに適応',
174
+ originTip: '元のサイズ'
162
175
  }
163
176
  }; // [i18n-Japan]
164
177