shineout 1.10.2 → 1.11.0-rc.1

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.
@@ -28,7 +28,7 @@
28
28
  .so-cascader-result .so-input-placeholder {
29
29
  color: var(--input-placeholder-color, #999);
30
30
  }
31
- .so-cascader-result span,
31
+ .so-cascader-result > span,
32
32
  .so-cascader-result .so-cascader-item {
33
33
  display: inline-block;
34
34
  overflow: hidden;
@@ -40,21 +40,21 @@
40
40
  text-overflow: ellipsis;
41
41
  position: relative;
42
42
  }
43
- .so-cascader-result span:not(.so-input-rtl *),
43
+ .so-cascader-result > span:not(.so-input-rtl *),
44
44
  .so-cascader-result .so-cascader-item:not(.so-input-rtl *) {
45
45
  margin-right: var(--select-result-padding-horizontal, 4px);
46
46
  }
47
- .so-input-rtl .so-cascader-result span,
47
+ .so-input-rtl .so-cascader-result > span,
48
48
  .so-input-rtl .so-cascader-result .so-cascader-item {
49
49
  margin-left: var(--select-result-padding-horizontal, 4px);
50
50
  }
51
- .so-cascader-result span-compressed,
51
+ .so-cascader-result > span-compressed,
52
52
  .so-cascader-result .so-cascader-item-compressed {
53
53
  padding: 0 8px;
54
54
  font-size: 80%;
55
55
  opacity: 0.9;
56
56
  }
57
- .so-cascader-result span-compressed > span,
57
+ .so-cascader-result > span-compressed > span,
58
58
  .so-cascader-result .so-cascader-item-compressed > span {
59
59
  letter-spacing: 2px;
60
60
  padding: 0;
@@ -62,23 +62,23 @@
62
62
  overflow: visible;
63
63
  max-width: none;
64
64
  }
65
- .so-cascader-result span:after,
65
+ .so-cascader-result > span:after,
66
66
  .so-cascader-result .so-cascader-item:after {
67
67
  content: '\feff ';
68
68
  }
69
- .so-cascader-result span.so-cascader-remove-container:not(.so-input-rtl *),
69
+ .so-cascader-result > span.so-cascader-remove-container:not(.so-input-rtl *),
70
70
  .so-cascader-result .so-cascader-item.so-cascader-remove-container:not(.so-input-rtl *) {
71
71
  padding-right: 16px;
72
72
  }
73
- .so-input-rtl .so-cascader-result span.so-cascader-remove-container,
73
+ .so-input-rtl .so-cascader-result > span.so-cascader-remove-container,
74
74
  .so-input-rtl .so-cascader-result .so-cascader-item.so-cascader-remove-container {
75
75
  padding-left: 16px;
76
76
  }
77
- .so-cascader-result span.so-cascader-remove-container:after,
77
+ .so-cascader-result > span.so-cascader-remove-container:after,
78
78
  .so-cascader-result .so-cascader-item.so-cascader-remove-container:after {
79
79
  content: none;
80
80
  }
81
- .so-cascader-result span .so-cascader-single-remove,
81
+ .so-cascader-result > span .so-cascader-single-remove,
82
82
  .so-cascader-result .so-cascader-item .so-cascader-single-remove {
83
83
  -webkit-box-sizing: border-box;
84
84
  box-sizing: border-box;
@@ -87,21 +87,21 @@
87
87
  margin: 0;
88
88
  padding: 0;
89
89
  }
90
- .so-cascader-result span .so-cascader-single-remove:not(.so-input-rtl *),
90
+ .so-cascader-result > span .so-cascader-single-remove:not(.so-input-rtl *),
91
91
  .so-cascader-result .so-cascader-item .so-cascader-single-remove:not(.so-input-rtl *) {
92
92
  right: 8px;
93
93
  -webkit-transform: translate(50%, -50%);
94
94
  -ms-transform: translate(50%, -50%);
95
95
  transform: translate(50%, -50%);
96
96
  }
97
- .so-input-rtl .so-cascader-result span .so-cascader-single-remove,
97
+ .so-input-rtl .so-cascader-result > span .so-cascader-single-remove,
98
98
  .so-input-rtl .so-cascader-result .so-cascader-item .so-cascader-single-remove {
99
99
  left: 8px;
100
100
  -webkit-transform: translate(-50%, -50%);
101
101
  -ms-transform: translate(-50%, -50%);
102
102
  transform: translate(-50%, -50%);
103
103
  }
104
- .so-cascader-result span .so-cascader-single-remove svg,
104
+ .so-cascader-result > span .so-cascader-single-remove svg,
105
105
  .so-cascader-result .so-cascader-item .so-cascader-single-remove svg {
106
106
  width: 6px;
107
107
  height: 6px;
@@ -109,13 +109,13 @@
109
109
  -ms-transform: translateY(-1px);
110
110
  transform: translateY(-1px);
111
111
  }
112
- .so-cascader-result span .so-cascader-single-remove svg path,
112
+ .so-cascader-result > span .so-cascader-single-remove svg path,
113
113
  .so-cascader-result .so-cascader-item .so-cascader-single-remove svg path {
114
114
  -webkit-transition: all 0.2s;
115
115
  transition: all 0.2s;
116
116
  fill: var(--gray-500, #adb5bd);
117
117
  }
118
- .so-cascader-result span .so-cascader-single-remove:hover svg path,
118
+ .so-cascader-result > span .so-cascader-single-remove:hover svg path,
119
119
  .so-cascader-result .so-cascader-item .so-cascader-single-remove:hover svg path {
120
120
  fill: var(--primary-color, #3399ff);
121
121
  }
@@ -221,8 +221,8 @@ function (_PureComponent) {
221
221
  return _react.default.createElement("div", (0, _extends2.default)({
222
222
  key: date.getTime(),
223
223
  className: hoverClass,
224
- onClick: isDisabled ? undefined : this.handleDayClick.bind(this, date),
225
- onDoubleClick: isDisabled ? undefined : this.handleDayDoubleClick.bind(this, date)
224
+ onClick: isDisabled ? undefined : this.handleDayClick.bind(this, date, undefined),
225
+ onDoubleClick: isDisabled ? undefined : this.handleDayDoubleClick.bind(this, date, undefined)
226
226
  }, hoverProps), _react.default.createElement("span", {
227
227
  className: _styles.datepickerClass.apply(void 0, classList)
228
228
  }, date.getDate()));
@@ -39,7 +39,7 @@ function regLength(size) {
39
39
 
40
40
  function fillNumber(val) {
41
41
  return val.replace(/^(-)?(\.\d+)(?!=\.).*/g, '$10$2') // eslint-disable-next-line no-useless-escape
42
- .replace(/(-|^)0+(?=0\.?|[^0\.])/g, '$0').replace(/\.$/, '');
42
+ .replace(/(-|^)0+(?=0\.?|[^0\.])/g, '$1').replace(/\.$/, '');
43
43
  }
44
44
 
45
45
  var Input =
@@ -57,7 +57,7 @@ function format(columns, data, nextRow, index, expandKeys) {
57
57
  if (cell.colSpan < 1) cell.colSpan = 1;
58
58
  var rowSpan = col.rowSpan;
59
59
 
60
- if (rowSpan && nextRow) {
60
+ if (rowSpan && nextRow && nextRow[i]) {
61
61
  if (col.type !== 'checkbox') {
62
62
  cell.content = typeof col.render === 'string' ? data[col.render] : col.render(data, index);
63
63
  }
package/css/Table/Td.js CHANGED
@@ -75,8 +75,10 @@ function (_PureComponent) {
75
75
  datum = _this$props3.datum,
76
76
  treeColumnsName = _this$props3.treeColumnsName,
77
77
  treeCheckAll = _this$props3.treeCheckAll,
78
- disabled = _this$props3.disabled;
79
- return _react.default.createElement(_Checkbox.default, {
78
+ disabled = _this$props3.disabled,
79
+ render = _this$props3.render;
80
+
81
+ var checkbox = _react.default.createElement(_Checkbox.default, {
80
82
  force: datum.check(data),
81
83
  data: data,
82
84
  index: index,
@@ -84,6 +86,12 @@ function (_PureComponent) {
84
86
  disabled: disabled,
85
87
  treeColumnsName: treeCheckAll && treeColumnsName
86
88
  });
89
+
90
+ if (render && typeof render === 'function') {
91
+ return render(data, index, checkbox);
92
+ }
93
+
94
+ return checkbox;
87
95
  };
88
96
 
89
97
  _proto.renderExpand = function renderExpand(index) {
@@ -3,6 +3,7 @@ import * as React from 'react'
3
3
  import { StickyProps } from '../Sticky'
4
4
  import { PaginationProps } from '../Pagination'
5
5
  import { ListItemStandardProps, StandardProps, RegularAttributes, keyType } from '../@types/common'
6
+ import { ReactComponentElement } from "react"
6
7
 
7
8
 
8
9
  type ReactNode = React.ReactNode;
@@ -13,11 +14,11 @@ export type ColumnOrder = 'asc' | 'desc'
13
14
 
14
15
  export type ColumnFix = 'left' | 'right'
15
16
 
16
- export type ColumnType = 'expand' | 'row-expand' | 'checkbox'
17
+ export type ColumnType = 'expand' | 'row-expand'
17
18
 
18
19
  export interface renderSorterParam {status?: 'asc' | 'desc', triggerAsc: () => void, triggerDesc: () => void}
19
20
 
20
- export interface ColumnItem<T> {
21
+ interface CommonColumn<T> {
21
22
  /**
22
23
  * cell align \['left', 'center', 'right'\]
23
24
  *
@@ -181,6 +182,16 @@ export interface ColumnItem<T> {
181
182
  className?: string;
182
183
  }
183
184
 
185
+ type SomeColumn<T> = Omit<CommonColumn<T>, 'render' | 'type'>
186
+
187
+ export interface CheckColumn<T> extends SomeColumn<T>{
188
+ type: 'checkbox',
189
+ render?: (rowData: T, index: number, checkInstance: ReactComponentElement<any>) => any
190
+ }
191
+
192
+ export type ColumnItem<T> = CommonColumn<T> | CheckColumn<T>
193
+
194
+
184
195
  export interface RowEvents {
185
196
  [propName: string]: any
186
197
  }
package/css/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  // Created by scripts/src-index.js.
2
2
  import * as utils from './utils'
3
3
 
4
- export default { utils, version: '1.10.2' }
4
+ export default { utils, version: '1.11.0-rc.1' }
5
5
  export { utils }
6
6
  export { setLocale } from './locale'
7
7
  export { color, style } from './utils/expose'
package/css/index.js CHANGED
@@ -224,6 +224,6 @@ exports.Upload = _Upload.default;
224
224
  // Created by scripts/src-index.js.
225
225
  var _default = {
226
226
  utils: utils,
227
- version: '1.10.2'
227
+ version: '1.11.0-rc.1'
228
228
  };
229
229
  exports.default = _default;
@@ -174,8 +174,17 @@ var focusElement = {
174
174
  };
175
175
  exports.focusElement = focusElement;
176
176
 
177
- var preventPasteFile = function preventPasteFile(e, beforeHandler) {
178
- var text = (e.clipboardData || window.clipboardData).getData('text/plain');
177
+ var preventPasteFile = function preventPasteFile(e, beforeHandler, noLineBreak) {
178
+ if (noLineBreak === void 0) {
179
+ noLineBreak = true;
180
+ }
181
+
182
+ var text = (e.clipboardData || window.clipboardData).getData('text/plain'); // 删除复制的换行符号
183
+
184
+ if (noLineBreak && text) {
185
+ text = text.replace(/[\t\n\f\r\v]/g, '');
186
+ }
187
+
179
188
  e.preventDefault();
180
189
 
181
190
  if (beforeHandler) {
package/dist/shineout.js CHANGED
@@ -13446,8 +13446,8 @@ function (_PureComponent) {
13446
13446
  react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement("div", Object.assign({
13447
13447
  key: date.getTime(),
13448
13448
  className: hoverClass,
13449
- onClick: isDisabled ? undefined : this.handleDayClick.bind(this, date),
13450
- onDoubleClick: isDisabled ? undefined : this.handleDayDoubleClick.bind(this, date)
13449
+ onClick: isDisabled ? undefined : this.handleDayClick.bind(this, date, undefined),
13450
+ onDoubleClick: isDisabled ? undefined : this.handleDayDoubleClick.bind(this, date, undefined)
13451
13451
  }, hoverProps, {
13452
13452
  __self: this,
13453
13453
  __source: {
@@ -25024,7 +25024,7 @@ function regLength(size) {
25024
25024
 
25025
25025
  function fillNumber(val) {
25026
25026
  return val.replace(/^(-)?(\.\d+)(?!=\.).*/g, '$10$2') // eslint-disable-next-line no-useless-escape
25027
- .replace(/(-|^)0+(?=0\.?|[^0\.])/g, '$0').replace(/\.$/, '');
25027
+ .replace(/(-|^)0+(?=0\.?|[^0\.])/g, '$1').replace(/\.$/, '');
25028
25028
  }
25029
25029
 
25030
25030
  var Input =
@@ -44007,7 +44007,7 @@ function format(columns, data, nextRow, index, expandKeys) {
44007
44007
  if (cell.colSpan < 1) cell.colSpan = 1;
44008
44008
  var rowSpan = col.rowSpan;
44009
44009
 
44010
- if (rowSpan && nextRow) {
44010
+ if (rowSpan && nextRow && nextRow[i]) {
44011
44011
  if (col.type !== 'checkbox') {
44012
44012
  cell.content = typeof col.render === 'string' ? data[col.render] : col.render(data, index);
44013
44013
  }
@@ -44506,24 +44506,30 @@ function (_PureComponent) {
44506
44506
  datum = _this$props3.datum,
44507
44507
  treeColumnsName = _this$props3.treeColumnsName,
44508
44508
  treeCheckAll = _this$props3.treeCheckAll,
44509
- disabled = _this$props3.disabled;
44510
- return (
44511
- /*#__PURE__*/
44512
- react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_10__["default"], {
44513
- force: datum.check(data),
44514
- data: data,
44515
- index: index,
44516
- datum: datum,
44517
- disabled: disabled,
44518
- treeColumnsName: treeCheckAll && treeColumnsName,
44519
- __self: this,
44520
- __source: {
44521
- fileName: _jsxFileName,
44522
- lineNumber: 35,
44523
- columnNumber: 7
44524
- }
44525
- })
44526
- );
44509
+ disabled = _this$props3.disabled,
44510
+ render = _this$props3.render;
44511
+ var checkbox =
44512
+ /*#__PURE__*/
44513
+ react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_Checkbox__WEBPACK_IMPORTED_MODULE_10__["default"], {
44514
+ force: datum.check(data),
44515
+ data: data,
44516
+ index: index,
44517
+ datum: datum,
44518
+ disabled: disabled,
44519
+ treeColumnsName: treeCheckAll && treeColumnsName,
44520
+ __self: this,
44521
+ __source: {
44522
+ fileName: _jsxFileName,
44523
+ lineNumber: 35,
44524
+ columnNumber: 7
44525
+ }
44526
+ });
44527
+
44528
+ if (render && typeof render === 'function') {
44529
+ return render(data, index, checkbox);
44530
+ }
44531
+
44532
+ return checkbox;
44527
44533
  }
44528
44534
  }, {
44529
44535
  key: "renderExpand",
@@ -44553,7 +44559,7 @@ function (_PureComponent) {
44553
44559
  __self: this,
44554
44560
  __source: {
44555
44561
  fileName: _jsxFileName,
44556
- lineNumber: 59,
44562
+ lineNumber: 63,
44557
44563
  columnNumber: 7
44558
44564
  }
44559
44565
  })
@@ -44586,7 +44592,7 @@ function (_PureComponent) {
44586
44592
  __self: this,
44587
44593
  __source: {
44588
44594
  fileName: _jsxFileName,
44589
- lineNumber: 81,
44595
+ lineNumber: 85,
44590
44596
  columnNumber: 9
44591
44597
  }
44592
44598
  }, content)
@@ -44603,7 +44609,7 @@ function (_PureComponent) {
44603
44609
  __self: this,
44604
44610
  __source: {
44605
44611
  fileName: _jsxFileName,
44606
- lineNumber: 87,
44612
+ lineNumber: 91,
44607
44613
  columnNumber: 7
44608
44614
  }
44609
44615
  },
@@ -44615,7 +44621,7 @@ function (_PureComponent) {
44615
44621
  __self: this,
44616
44622
  __source: {
44617
44623
  fileName: _jsxFileName,
44618
- lineNumber: 88,
44624
+ lineNumber: 92,
44619
44625
  columnNumber: 9
44620
44626
  }
44621
44627
  }), content)
@@ -44677,7 +44683,7 @@ function (_PureComponent) {
44677
44683
  __self: this,
44678
44684
  __source: {
44679
44685
  fileName: _jsxFileName,
44680
- lineNumber: 135,
44686
+ lineNumber: 139,
44681
44687
  columnNumber: 7
44682
44688
  }
44683
44689
  }, this.renderContent())
@@ -61288,7 +61294,7 @@ __webpack_require__.r(__webpack_exports__);
61288
61294
 
61289
61295
  /* harmony default export */ __webpack_exports__["default"] = ({
61290
61296
  utils: _utils__WEBPACK_IMPORTED_MODULE_0__,
61291
- version: '1.10.2'
61297
+ version: '1.11.0-rc.1'
61292
61298
  });
61293
61299
 
61294
61300
 
@@ -62649,7 +62655,13 @@ var focusElement = {
62649
62655
  copyBoundingClientRect: copyBoundingClientRect
62650
62656
  };
62651
62657
  var preventPasteFile = function preventPasteFile(e, beforeHandler) {
62652
- var text = (e.clipboardData || window.clipboardData).getData('text/plain');
62658
+ var noLineBreak = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
62659
+ var text = (e.clipboardData || window.clipboardData).getData('text/plain'); // 删除复制的换行符号
62660
+
62661
+ if (noLineBreak && text) {
62662
+ text = text.replace(/[\t\n\f\r\v]/g, '');
62663
+ }
62664
+
62653
62665
  e.preventDefault();
62654
62666
 
62655
62667
  if (beforeHandler) {