@kdcloudjs/kdesign 1.7.59 → 1.7.60

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 (69) hide show
  1. package/CHANGELOG.md +3 -12
  2. package/dist/kdesign-complete.less +126 -1
  3. package/dist/kdesign.css +212 -1
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +2118 -83
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +2 -2
  8. package/dist/kdesign.min.js +16 -12
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/domUtil.d.ts +2 -0
  11. package/es/_utils/domUtil.js +15 -0
  12. package/es/cascader/cascader.js +41 -10
  13. package/es/config-provider/compDefaultProps.d.ts +7 -0
  14. package/es/config-provider/compDefaultProps.js +7 -0
  15. package/es/date-picker/date-picker.js +19 -17
  16. package/es/date-picker/hooks/use-range-view-dates.js +8 -2
  17. package/es/date-picker/range-picker.js +4 -1
  18. package/es/index.d.ts +1 -0
  19. package/es/index.js +2 -1
  20. package/es/locale/locale.d.ts +5 -0
  21. package/es/locale/zh-CN.d.ts +5 -0
  22. package/es/locale/zh-CN.js +6 -1
  23. package/es/signature/drawingBoard.d.ts +15 -0
  24. package/es/signature/drawingBoard.js +163 -0
  25. package/es/signature/index.d.ts +3 -0
  26. package/es/signature/index.js +3 -0
  27. package/es/signature/signature.d.ts +32 -0
  28. package/es/signature/signature.js +268 -0
  29. package/es/signature/style/css.js +2 -0
  30. package/es/signature/style/index.css +210 -0
  31. package/es/signature/style/index.d.ts +2 -0
  32. package/es/signature/style/index.js +2 -0
  33. package/es/signature/style/index.less +95 -0
  34. package/es/signature/style/mixin.less +6 -0
  35. package/es/signature/style/token.less +22 -0
  36. package/es/signature/utils/signature_pad.d.ts +106 -0
  37. package/es/signature/utils/signature_pad.js +690 -0
  38. package/es/style/themes/default.less +1 -1
  39. package/lib/_utils/domUtil.d.ts +2 -0
  40. package/lib/_utils/domUtil.js +23 -0
  41. package/lib/cascader/cascader.js +41 -10
  42. package/lib/config-provider/compDefaultProps.d.ts +7 -0
  43. package/lib/config-provider/compDefaultProps.js +7 -0
  44. package/lib/date-picker/date-picker.js +18 -16
  45. package/lib/date-picker/hooks/use-range-view-dates.js +7 -1
  46. package/lib/date-picker/range-picker.js +4 -1
  47. package/lib/index.d.ts +1 -0
  48. package/lib/index.js +7 -0
  49. package/lib/locale/locale.d.ts +5 -0
  50. package/lib/locale/zh-CN.d.ts +5 -0
  51. package/lib/locale/zh-CN.js +6 -1
  52. package/lib/signature/drawingBoard.d.ts +15 -0
  53. package/lib/signature/drawingBoard.js +176 -0
  54. package/lib/signature/index.d.ts +3 -0
  55. package/lib/signature/index.js +27 -0
  56. package/lib/signature/signature.d.ts +32 -0
  57. package/lib/signature/signature.js +282 -0
  58. package/lib/signature/style/css.js +4 -0
  59. package/lib/signature/style/index.css +210 -0
  60. package/lib/signature/style/index.d.ts +2 -0
  61. package/lib/signature/style/index.js +4 -0
  62. package/lib/signature/style/index.less +95 -0
  63. package/lib/signature/style/mixin.less +6 -0
  64. package/lib/signature/style/token.less +22 -0
  65. package/lib/signature/utils/signature_pad.d.ts +106 -0
  66. package/lib/signature/utils/signature_pad.js +697 -0
  67. package/lib/style/components.less +1 -0
  68. package/lib/style/themes/default.less +1 -1
  69. package/package.json +3 -2
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const scrollToDirectory: (ref: React.MutableRefObject<any>) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.scrollToDirectory = void 0;
8
+ var _domScrollIntoView = _interopRequireDefault(require("dom-scroll-into-view"));
9
+ var scrollToDirectory = function scrollToDirectory(ref) {
10
+ var directoryElement = ref.current;
11
+ if (directoryElement) {
12
+ var rect = ref.current.getBoundingClientRect();
13
+ var parent = ref.current.parentElement;
14
+ var parentRect = parent.getBoundingClientRect();
15
+ var relativeTop = rect.top - parentRect.top;
16
+ var relativeBottom = rect.bottom - parentRect.top;
17
+ var isHide = relativeTop < 0 || relativeBottom > parent.clientHeight;
18
+ if (isHide) {
19
+ (0, _domScrollIntoView.default)(ref.current, ref.current.parentElement);
20
+ }
21
+ }
22
+ };
23
+ exports.scrollToDirectory = scrollToDirectory;
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports.default = exports.CascaderPlacement = void 0;
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
12
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
13
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
14
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
15
15
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
16
16
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
17
17
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
@@ -24,6 +24,7 @@ var _type = require("../_utils/type");
24
24
  var _utils = require("../_utils");
25
25
  var _configProvider = require("../config-provider");
26
26
  var _usePopper = _interopRequireDefault(require("../_utils/usePopper"));
27
+ var _domUtil = require("../_utils/domUtil");
27
28
  var _input = _interopRequireDefault(require("../input"));
28
29
  var _icon = _interopRequireDefault(require("../icon"));
29
30
  var _empty = _interopRequireDefault(require("../empty"));
@@ -42,6 +43,28 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
42
43
  };
43
44
  var CascaderPlacement = (0, _type.tuple)('topLeft', 'topRight', 'bottomLeft', 'bottomRight');
44
45
  exports.CascaderPlacement = CascaderPlacement;
46
+ var CascaderMenuSubmenu = function CascaderMenuSubmenu(props) {
47
+ var optionProps = props.optionProps,
48
+ label = props.label,
49
+ children = props.children,
50
+ selected = props.selected,
51
+ isMultiple = props.isMultiple;
52
+ var ref = (0, _react.useRef)(null);
53
+ var isFirst = (0, _react.useRef)(!isMultiple);
54
+ (0, _react.useEffect)(function () {
55
+ if (typeof selected === 'boolean' && isFirst.current && ref.current) {
56
+ isFirst.current = false;
57
+ if (selected && !isMultiple) {
58
+ (0, _domUtil.scrollToDirectory)(ref);
59
+ }
60
+ }
61
+ }, [selected]);
62
+ return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
63
+ ref: ref
64
+ }, optionProps, {
65
+ title: label
66
+ }), children);
67
+ };
45
68
  var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
46
69
  var _React$useContext = _react.default.useContext(_configProvider.ConfigContext),
47
70
  getPrefixCls = _React$useContext.getPrefixCls,
@@ -85,13 +108,18 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
85
108
  var inputRef = (0, _react.useRef)();
86
109
  var suffixRef = (0, _react.useRef)(null);
87
110
  var wrapperRef = (0, _react.useRef)();
88
- var _useState = (0, _react.useState)(!!props.popperVisible || !!props.popupVisible || defaultPopupVisible),
111
+ var _useState = (0, _react.useState)(false),
89
112
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
90
113
  visible = _useState2[0],
91
114
  setVisible = _useState2[1];
92
115
  _react.default.useEffect(function () {
93
116
  setVisible(!!props.popperVisible || !!props.popupVisible);
94
117
  }, [props.popperVisible, props.popupVisible]);
118
+ _react.default.useEffect(function () {
119
+ if (!!props.popperVisible || !!props.popupVisible || defaultPopupVisible) {
120
+ setVisible(true);
121
+ }
122
+ }, []);
95
123
  var _useState3 = (0, _react.useState)([options]),
96
124
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
97
125
  menus = _useState4[0],
@@ -412,11 +440,11 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
412
440
  }
413
441
  props.onChange && props.onChange(selectedValue, selectedOptions);
414
442
  };
415
- var onVisibleChange = function onVisibleChange(visible) {
416
- setVisible(visible);
417
- onPopupVisibleChange && onPopupVisibleChange(visible);
418
- onPopperVisibleChange && onPopperVisibleChange(visible);
419
- visible && setSelectedOptions((0, _slice.default)(currentOptions).call(currentOptions, 0));
443
+ var onVisibleChange = function onVisibleChange(v) {
444
+ setVisible(v);
445
+ onPopupVisibleChange && onPopupVisibleChange(v);
446
+ onPopperVisibleChange && onPopperVisibleChange(v);
447
+ v && setSelectedOptions((0, _slice.default)(currentOptions).call(currentOptions, 0));
420
448
  };
421
449
  var cascaderMenus = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (options === null || options === void 0 ? void 0 : options.length) ? (menus === null || menus === void 0 ? void 0 : menus.length) && (0, _map.default)(menus).call(menus, function (opts, index) {
422
450
  return /*#__PURE__*/_react.default.createElement("ul", {
@@ -449,10 +477,13 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
449
477
  }) : ((children === null || children === void 0 ? void 0 : children.length) || isLeaf === false) && (props.expandIcon || /*#__PURE__*/_react.default.createElement(_icon.default, {
450
478
  type: "arrow-right"
451
479
  })));
452
- return /*#__PURE__*/_react.default.createElement("li", (0, _extends2.default)({
480
+ return /*#__PURE__*/_react.default.createElement(CascaderMenuSubmenu, (0, _extends2.default)({
453
481
  key: value
454
- }, optionProps, {
455
- title: label
482
+ }, {
483
+ isMultiple: isMultiple,
484
+ optionProps: optionProps,
485
+ label: label,
486
+ selected: selected
456
487
  }), isMultiple ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_checkbox.default, {
457
488
  checked: (0, _util.getChecked)(checkedKeys, value),
458
489
  indeterminate: (0, _util.getHalfChecked)(halfCheckedKeys, value),
@@ -488,5 +488,12 @@ declare const compDefaultProps: {
488
488
  errorLevel: string;
489
489
  color: string;
490
490
  };
491
+ Signature: {
492
+ penColor: string;
493
+ backgroundColor: string;
494
+ containerWidth: number;
495
+ containerHeight: number;
496
+ canFullScreen: boolean;
497
+ };
491
498
  };
492
499
  export default compDefaultProps;
@@ -516,6 +516,13 @@ var compDefaultProps = {
516
516
  type: 'canvas',
517
517
  errorLevel: 'H',
518
518
  color: '#000000'
519
+ },
520
+ Signature: {
521
+ penColor: 'black',
522
+ backgroundColor: 'white',
523
+ containerWidth: 610,
524
+ containerHeight: 500,
525
+ canFullScreen: true
519
526
  }
520
527
  };
521
528
  var _default = compDefaultProps;
@@ -114,10 +114,15 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
114
114
  _useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
115
115
  dateValue = _useMergedState2[0],
116
116
  setDateValue = _useMergedState2[1];
117
- var _React$useState = _react.default.useState(dateValue),
118
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
119
- selectedValue = _React$useState2[0],
120
- setSelectedValue = _React$useState2[1];
117
+ var _useMergedState3 = (0, _hooks.useMergedState)(null, {
118
+ value: dateValue,
119
+ postState: function postState(v) {
120
+ return v && !(0, _dateFns.isValid)(v) ? null : v;
121
+ }
122
+ }),
123
+ _useMergedState4 = (0, _slicedToArray2.default)(_useMergedState3, 2),
124
+ selectedValue = _useMergedState4[0],
125
+ setSelectedValue = _useMergedState4[1];
121
126
  var hours;
122
127
  var minutes;
123
128
  var seconds;
@@ -148,7 +153,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
148
153
  viewDate = _useState2[0],
149
154
  setInnerViewDate = _useState2[1];
150
155
  var setViewDate = function setViewDate(date) {
151
- setInnerViewDate((0, _dateFns.isDate)(date) ? date : new Date());
156
+ setInnerViewDate((0, _dateFns.isValid)(date) ? date : new Date());
152
157
  };
153
158
  (0, _react.useEffect)(function () {
154
159
  setViewDate(dateValue);
@@ -187,7 +192,7 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
187
192
  hoverValue = _useHoverValue2[0],
188
193
  onEnter = _useHoverValue2[1],
189
194
  onLeave = _useHoverValue2[2];
190
- var _useMergedState3 = (0, _hooks.useMergedState)(false, {
195
+ var _useMergedState5 = (0, _hooks.useMergedState)(false, {
191
196
  value: open,
192
197
  defaultValue: defaultOpen,
193
198
  postState: function postState(postOpen) {
@@ -202,10 +207,10 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
202
207
  // }
203
208
  }
204
209
  }),
205
- _useMergedState4 = (0, _slicedToArray2.default)(_useMergedState3, 2),
206
- openValue = _useMergedState4[0],
207
- triggerInnerOpen = _useMergedState4[1];
208
- var _useMergedState5 = (0, _hooks.useMergedState)(function () {
210
+ _useMergedState6 = (0, _slicedToArray2.default)(_useMergedState5, 2),
211
+ openValue = _useMergedState6[0],
212
+ triggerInnerOpen = _useMergedState6[1];
213
+ var _useMergedState7 = (0, _hooks.useMergedState)(function () {
209
214
  if (picker === 'time') {
210
215
  return 'time';
211
216
  }
@@ -213,9 +218,9 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
213
218
  }, {
214
219
  value: mode
215
220
  }),
216
- _useMergedState6 = (0, _slicedToArray2.default)(_useMergedState5, 2),
217
- mergedMode = _useMergedState6[0],
218
- setInnerMode = _useMergedState6[1];
221
+ _useMergedState8 = (0, _slicedToArray2.default)(_useMergedState7, 2),
222
+ mergedMode = _useMergedState8[0],
223
+ setInnerMode = _useMergedState8[1];
219
224
  var _useState3 = (0, _react.useState)(undefined),
220
225
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
221
226
  innerPicker = _useState4[0],
@@ -243,9 +248,6 @@ var InternalDatePicker = function InternalDatePicker(props, ref) {
243
248
  }
244
249
  // eslint-disable-next-line react-hooks/exhaustive-deps
245
250
  }, [picker]);
246
- (0, _react.useEffect)(function () {
247
- setSelectedValue(dateValue);
248
- }, [dateValue]);
249
251
  (0, _hooks.useOnClickOutside)([popperRef, inputDivRef], function () {
250
252
  setViewDate(selectedValue || (0, _dateFns.newDate)());
251
253
  triggerOpen(false);
@@ -60,6 +60,12 @@ function getRangeViewDate(values, index, picker) {
60
60
  }
61
61
  return startDate;
62
62
  }
63
+ function checkViewDate(value) {
64
+ if (value && !(0, _dateFns.isValid)(value)) {
65
+ return false;
66
+ }
67
+ return value;
68
+ }
63
69
  function useRangeViewDates(_ref) {
64
70
  var values = (0, _values.default)(_ref),
65
71
  picker = _ref.picker,
@@ -80,7 +86,7 @@ function useRangeViewDates(_ref) {
80
86
  if (defaultViewDates[index]) {
81
87
  return defaultViewDates[index];
82
88
  }
83
- return (0, _utils.getValue)(viewDates, index) || getRangeViewDate(values, index, picker) || startDate || endDate || (0, _dateFns.newDate)();
89
+ return checkViewDate((0, _utils.getValue)(viewDates, index)) || checkViewDate(getRangeViewDate(values, index, picker)) || checkViewDate(startDate) || checkViewDate(endDate) || (0, _dateFns.newDate)();
84
90
  }
85
91
  function setViewDate(viewDate, index) {
86
92
  if (viewDate) {
@@ -164,8 +164,11 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
164
164
  }
165
165
  // Fill disabled unit
166
166
  for (var i = 0; i < 2; i++) {
167
- if (mergedDisabled[i] && !(0, _utils2.getValue)(postValues, i) && !(0, _utils2.getValue)(allowEmpty, i)) {
167
+ var v = (0, _utils2.getValue)(postValues, i);
168
+ if (mergedDisabled[i] && !v && !(0, _utils2.getValue)(allowEmpty, i)) {
168
169
  postValues = (0, _utils2.updateValues)(postValues, (0, _dateFns.newDate)(), i);
170
+ } else if (v && !(0, _dateFns.isValid)(v)) {
171
+ postValues = (0, _utils2.updateValues)(postValues, null, i);
169
172
  }
170
173
  }
171
174
  return postValues;
package/lib/index.d.ts CHANGED
@@ -59,3 +59,4 @@ export { default as ColorPicker } from './color-picker';
59
59
  export { default as Clipboard } from './clipboard';
60
60
  export { default as QRCode } from './qr-code';
61
61
  export { default as Divider } from './divider';
62
+ export { default as Signature } from './signature';
package/lib/index.js CHANGED
@@ -277,6 +277,12 @@ Object.defineProperty(exports, "Select", {
277
277
  return _select.default;
278
278
  }
279
279
  });
280
+ Object.defineProperty(exports, "Signature", {
281
+ enumerable: true,
282
+ get: function get() {
283
+ return _signature.default;
284
+ }
285
+ });
280
286
  Object.defineProperty(exports, "Slider", {
281
287
  enumerable: true,
282
288
  get: function get() {
@@ -458,6 +464,7 @@ var _colorPicker = _interopRequireDefault(require("./color-picker"));
458
464
  var _clipboard = _interopRequireDefault(require("./clipboard"));
459
465
  var _qrCode = _interopRequireDefault(require("./qr-code"));
460
466
  var _divider = _interopRequireDefault(require("./divider"));
467
+ var _signature = _interopRequireDefault(require("./signature"));
461
468
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
462
469
  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; }
463
470
  /* @remove-on-es-build-begin */
@@ -100,6 +100,11 @@ declare class LocaleCache {
100
100
  'Table.confirmFilter': string;
101
101
  'Select.selectAll': string;
102
102
  'Select.seleted': string;
103
+ 'Signature.clickToSign': string;
104
+ 'Signature.pleaseWriteHere': string;
105
+ 'Signature.okText': string;
106
+ 'Signature.cancelText': string;
107
+ 'Signature.handwrittenSignature': string;
103
108
  'DatePicker.placeholder': string;
104
109
  'DatePicker.yearPlaceholder': string;
105
110
  'DatePicker.quarterPlaceholder': string;
@@ -74,6 +74,11 @@ declare const locale: {
74
74
  'Table.confirmFilter': string;
75
75
  'Select.selectAll': string;
76
76
  'Select.seleted': string;
77
+ 'Signature.clickToSign': string;
78
+ 'Signature.pleaseWriteHere': string;
79
+ 'Signature.okText': string;
80
+ 'Signature.cancelText': string;
81
+ 'Signature.handwrittenSignature': string;
77
82
  'DatePicker.placeholder': string;
78
83
  'DatePicker.yearPlaceholder': string;
79
84
  'DatePicker.quarterPlaceholder': string;
@@ -84,7 +84,12 @@ var locale = (0, _extends2.default)((0, _extends2.default)({
84
84
  'Table.resetFilter': '重置',
85
85
  'Table.confirmFilter': '确定',
86
86
  'Select.selectAll': '全选',
87
- 'Select.seleted': '已选{size}项'
87
+ 'Select.seleted': '已选{size}项',
88
+ 'Signature.clickToSign': '点击签名',
89
+ 'Signature.pleaseWriteHere': '请在此处横向书写签名',
90
+ 'Signature.okText': '确定',
91
+ 'Signature.cancelText': '取消',
92
+ 'Signature.handwrittenSignature': '手写签名'
88
93
  });
89
94
  var _default = locale;
90
95
  exports.default = _default;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import SignaturePad from './utils/signature_pad';
3
+ export interface DrawingBoardProps {
4
+ prefixCls: string;
5
+ signatureLangMsg: any;
6
+ isEmpty: boolean;
7
+ setDataUrl: (dataUrl: string) => void;
8
+ setIsEmpty: (value: boolean) => void;
9
+ signaturePad: () => SignaturePad | null | undefined;
10
+ undo?: () => void;
11
+ redo?: () => void;
12
+ onClear?: () => void;
13
+ }
14
+ declare const DrawingBoard: React.ForwardRefExoticComponent<DrawingBoardProps & React.RefAttributes<unknown>>;
15
+ export default DrawingBoard;
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+ var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
12
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
15
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _icon = _interopRequireDefault(require("../icon"));
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ 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; }
21
+ var DrawingBoard = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
22
+ var _classNames;
23
+ var prefixCls = props.prefixCls,
24
+ isEmpty = props.isEmpty,
25
+ setIsEmpty = props.setIsEmpty,
26
+ onClear = props.onClear,
27
+ signaturePad = props.signaturePad,
28
+ undo = props.undo,
29
+ redo = props.redo,
30
+ signatureLangMsg = props.signatureLangMsg;
31
+ var _useState = (0, _react.useState)(-1),
32
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
+ currentHistoryIndex = _useState2[0],
34
+ setCurrentHistoryIndex = _useState2[1];
35
+ var _useState3 = (0, _react.useState)([]),
36
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
37
+ signatureHistory = _useState4[0],
38
+ setSignatureHistory = _useState4[1];
39
+ var canvasRef = (0, _react.useRef)();
40
+ var canvasWrapperRef = (0, _react.useRef)();
41
+ var handleOnClear = function handleOnClear() {
42
+ var _a;
43
+ (_a = signaturePad()) === null || _a === void 0 ? void 0 : _a.clear();
44
+ setIsEmpty(true);
45
+ setSignatureHistory((0, _slice.default)(signatureHistory).call(signatureHistory, 0, 1));
46
+ setCurrentHistoryIndex(0);
47
+ onClear && onClear();
48
+ };
49
+ var saveSignatureToHistory = function saveSignatureToHistory() {
50
+ var _a;
51
+ if (signaturePad()) {
52
+ var data = (_a = signaturePad()) === null || _a === void 0 ? void 0 : _a.toDataURL();
53
+ if (data !== undefined) setSignatureHistory(function (prevHistory) {
54
+ var _context;
55
+ return (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)(prevHistory), [{
56
+ data: data
57
+ }]);
58
+ });
59
+ setCurrentHistoryIndex(function (prevIndex) {
60
+ return prevIndex + 1;
61
+ });
62
+ }
63
+ };
64
+ var handleUndo = function handleUndo() {
65
+ var _a, _b;
66
+ if (currentHistoryIndex > 0) {
67
+ setCurrentHistoryIndex(function (prevIndex) {
68
+ return prevIndex - 1;
69
+ });
70
+ var historyItem = signatureHistory[currentHistoryIndex - 1];
71
+ if (signaturePad() && historyItem) {
72
+ (_a = signaturePad()) === null || _a === void 0 ? void 0 : _a.clear();
73
+ (_b = signaturePad()) === null || _b === void 0 ? void 0 : _b.fromDataURL(historyItem.data, {
74
+ ratio: 1
75
+ });
76
+ undo && undo();
77
+ }
78
+ }
79
+ };
80
+ var handleRedo = function handleRedo() {
81
+ var _a;
82
+ if (currentHistoryIndex < signatureHistory.length - 1) {
83
+ setCurrentHistoryIndex(function (prevIndex) {
84
+ return prevIndex + 1;
85
+ });
86
+ var historyItem = signatureHistory[currentHistoryIndex + 1];
87
+ if (signaturePad() && historyItem) {
88
+ (_a = signaturePad()) === null || _a === void 0 ? void 0 : _a.fromDataURL(historyItem.data, {
89
+ ratio: 1
90
+ });
91
+ redo && redo();
92
+ }
93
+ }
94
+ };
95
+ (0, _react.useEffect)(function () {
96
+ currentHistoryIndex > 0 ? setIsEmpty(false) : setIsEmpty(true);
97
+ }, [currentHistoryIndex]);
98
+ (0, _react.useImperativeHandle)(ref, function () {
99
+ return {
100
+ getCanvasRef: function getCanvasRef() {
101
+ return canvasRef.current;
102
+ },
103
+ getCanvasWrapperRef: function getCanvasWrapperRef() {
104
+ return canvasWrapperRef.current;
105
+ },
106
+ saveSignatureToHistory: saveSignatureToHistory,
107
+ signatureHistory: signatureHistory,
108
+ setSignatureHistory: setSignatureHistory,
109
+ setCurrentHistoryIndex: setCurrentHistoryIndex
110
+ };
111
+ });
112
+ return /*#__PURE__*/_react.default.createElement("div", {
113
+ className: "".concat(prefixCls, "-drawing-board"),
114
+ ref: canvasWrapperRef
115
+ }, /*#__PURE__*/_react.default.createElement("div", {
116
+ className: (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-drawing-board-operation"), true), (0, _defineProperty2.default)(_classNames, "enabled", !isEmpty), _classNames))
117
+ }, undo ? /*#__PURE__*/_react.default.createElement("span", {
118
+ onClick: function onClick() {
119
+ return handleUndo();
120
+ }
121
+ }, /*#__PURE__*/_react.default.createElement("svg", {
122
+ width: "1em",
123
+ height: "1em",
124
+ viewBox: "0 0 32 32"
125
+ }, /*#__PURE__*/_react.default.createElement("g", {
126
+ id: "1016.\u64A4\u9500",
127
+ stroke: "none",
128
+ "stroke-width": "1",
129
+ fill: "none",
130
+ "fill-rule": "evenodd"
131
+ }, /*#__PURE__*/_react.default.createElement("g", {
132
+ id: "\u7F16\u7EC4",
133
+ transform: "translate(2.000000, 1.000000)",
134
+ fill: "#000000",
135
+ "fill-rule": "nonzero"
136
+ }, /*#__PURE__*/_react.default.createElement("path", {
137
+ d: "M9.16767025,16.9762781 C9.5300869,17.3386948 9.5300869,17.9262881 9.16767025,18.2887049 C8.84552213,18.6108529 8.34545651,18.6466472 7.98377112,18.3960875 L7.85524348,18.2887049 L0.815437446,11.2488988 C-0.203859357,10.229602 -0.267565411,8.61657722 0.624319283,7.52306442 L0.815437446,7.31161852 L7.85524348,0.271812484 C8.21766013,-0.0906041612 8.80525361,-0.0906041612 9.16767025,0.271812484 C9.48981838,0.593960608 9.5256126,1.09402626 9.27505297,1.45571158 L9.16767025,1.58423925 L2.39801882,8.35223283 L18.7197413,8.35223283 C24.8235066,8.35223283 28,11.88167 28,18.5605173 C28,25.0286774 25.0409921,28.8154573 19.1996764,29.6367412 L18.7197413,29.6968277 L3.87132753,29.6968277 C3.358793,29.6968277 2.94330165,29.2813365 2.94330165,28.7688019 C2.94330165,28.3132156 3.27159111,27.9343054 3.70451369,27.8557278 L3.87132753,27.840776 L18.6172581,27.846452 C23.6969089,27.2820464 26.1439483,24.2912204 26.1439483,18.5605173 C26.1439483,13.0283959 23.8870007,10.3626156 19.1446408,10.2148013 L18.7197413,10.2082845 L2.39987488,10.2082845 L9.16767025,16.9762781 Z",
138
+ id: "\u8DEF\u5F84",
139
+ fill: "currentColor"
140
+ }))))) : null, redo ? /*#__PURE__*/_react.default.createElement("span", {
141
+ onClick: function onClick() {
142
+ return handleRedo();
143
+ }
144
+ }, /*#__PURE__*/_react.default.createElement("svg", {
145
+ width: "1em",
146
+ height: "1em",
147
+ viewBox: "0 0 32 32"
148
+ }, /*#__PURE__*/_react.default.createElement("g", {
149
+ id: "1016.\u64A4\u9500",
150
+ stroke: "none",
151
+ "stroke-width": "1",
152
+ fill: "none",
153
+ "fill-rule": "evenodd"
154
+ }, /*#__PURE__*/_react.default.createElement("g", {
155
+ id: "\u7F16\u7EC4",
156
+ transform: "translate(2.000000, 1.000000)",
157
+ fill: "#000000",
158
+ "fill-rule": "nonzero"
159
+ }, /*#__PURE__*/_react.default.createElement("path", {
160
+ d: "M9.16767025,16.9762781 C9.5300869,17.3386948 9.5300869,17.9262881 9.16767025,18.2887049 C8.84552213,18.6108529 8.34545651,18.6466472 7.98377112,18.3960875 L7.85524348,18.2887049 L0.815437446,11.2488988 C-0.203859357,10.229602 -0.267565411,8.61657722 0.624319283,7.52306442 L0.815437446,7.31161852 L7.85524348,0.271812484 C8.21766013,-0.0906041612 8.80525361,-0.0906041612 9.16767025,0.271812484 C9.48981838,0.593960608 9.5256126,1.09402626 9.27505297,1.45571158 L9.16767025,1.58423925 L2.39801882,8.35223283 L18.7197413,8.35223283 C24.8235066,8.35223283 28,11.88167 28,18.5605173 C28,25.0286774 25.0409921,28.8154573 19.1996764,29.6367412 L18.7197413,29.6968277 L3.87132753,29.6968277 C3.358793,29.6968277 2.94330165,29.2813365 2.94330165,28.7688019 C2.94330165,28.3132156 3.27159111,27.9343054 3.70451369,27.8557278 L3.87132753,27.840776 L18.6172581,27.846452 C23.6969089,27.2820464 26.1439483,24.2912204 26.1439483,18.5605173 C26.1439483,13.0283959 23.8870007,10.3626156 19.1446408,10.2148013 L18.7197413,10.2082845 L2.39987488,10.2082845 L9.16767025,16.9762781 Z",
161
+ id: "\u8DEF\u5F84",
162
+ fill: "currentColor"
163
+ }))))) : null, onClear ? /*#__PURE__*/_react.default.createElement(_icon.default, {
164
+ type: "delete",
165
+ className: "".concat(prefixCls, "-drawing-board-clear"),
166
+ onClick: function onClick() {
167
+ return handleOnClear();
168
+ }
169
+ }) : null), /*#__PURE__*/_react.default.createElement("span", {
170
+ className: "".concat(prefixCls, "-drawing-board-tip")
171
+ }, isEmpty ? signatureLangMsg === null || signatureLangMsg === void 0 ? void 0 : signatureLangMsg.pleaseWriteHere : ''), /*#__PURE__*/_react.default.createElement("canvas", {
172
+ ref: canvasRef
173
+ }));
174
+ });
175
+ var _default = DrawingBoard;
176
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import Signature from './signature';
2
+ export * from './signature';
3
+ export default Signature;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
6
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ var _exportNames = {};
11
+ exports.default = void 0;
12
+ var _signature = _interopRequireWildcard(require("./signature"));
13
+ _Object$keys(_signature).forEach(function (key) {
14
+ if (key === "default" || key === "__esModule") return;
15
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
+ if (key in exports && exports[key] === _signature[key]) return;
17
+ Object.defineProperty(exports, key, {
18
+ enumerable: true,
19
+ get: function get() {
20
+ return _signature[key];
21
+ }
22
+ });
23
+ });
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ 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; }
26
+ var _default = _signature.default;
27
+ exports.default = _default;
@@ -0,0 +1,32 @@
1
+ import React, { FunctionComponentElement } from 'react';
2
+ export declare const DataUrlTypes: ["png", "jpeg", "svg"];
3
+ export declare type DataUrlType = typeof DataUrlTypes[number];
4
+ declare type CSSSelector = string;
5
+ export interface ISignatureProps {
6
+ dataUrlType?: DataUrlType;
7
+ style?: Record<string, unknown>;
8
+ className?: string;
9
+ prefixCls?: string;
10
+ disabled?: boolean;
11
+ containerWidth?: number;
12
+ containerHeight?: number;
13
+ penColor?: string;
14
+ backgroundColor?: string;
15
+ children?: React.ReactNode;
16
+ title?: React.ReactNode;
17
+ preview?: boolean;
18
+ canFullScreen?: boolean;
19
+ getContainer?: HTMLElement | (() => HTMLElement | CSSSelector | null | false) | null | false;
20
+ undo?: () => void;
21
+ redo?: () => void;
22
+ onClear?: () => void;
23
+ onStart?: () => void;
24
+ onEnd?: () => void;
25
+ getSignatureData?: (dataUrl: string) => void;
26
+ onClose?: () => void;
27
+ }
28
+ declare const Signature: {
29
+ (props: ISignatureProps): FunctionComponentElement<ISignatureProps>;
30
+ displayName: string;
31
+ };
32
+ export default Signature;