shineout 1.8.0 → 1.8.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.
Files changed (47) hide show
  1. package/css/Cascader/Result.js +3 -2
  2. package/css/Cascader/styles/cascader.css +9 -1
  3. package/css/Checkbox/Group.js +6 -3
  4. package/css/Checkbox/index.d.ts +1 -1
  5. package/css/DatePicker/Month.js +7 -1
  6. package/css/Datum/Tree.js +2 -1
  7. package/css/Menu/Root.js +10 -4
  8. package/css/Rule/index.d.ts +26 -3
  9. package/css/Select/Result.js +5 -4
  10. package/css/Select/styles/select.css +8 -4
  11. package/css/Textarea/index.d.ts +34 -23
  12. package/css/index.d.ts +1 -1
  13. package/css/index.js +1 -1
  14. package/dist/shineout.js +108 -88
  15. package/dist/shineout.js.map +1 -1
  16. package/dist/shineout.min.js +1 -1
  17. package/dist/theme.antd.css +1 -1
  18. package/dist/theme.antd2.css +1 -1
  19. package/dist/theme.default.css +1 -1
  20. package/dist/theme.shineout.css +1 -1
  21. package/es/Cascader/Result.js +3 -2
  22. package/es/Cascader/styles/cascader.less +11 -1
  23. package/es/Checkbox/Group.js +6 -3
  24. package/es/Checkbox/index.d.ts +1 -1
  25. package/es/DatePicker/Month.js +7 -1
  26. package/es/Datum/Tree.js +2 -1
  27. package/es/Menu/Root.js +9 -4
  28. package/es/Rule/index.d.ts +26 -3
  29. package/es/Select/Result.js +5 -4
  30. package/es/Select/styles/select.less +8 -3
  31. package/es/Textarea/index.d.ts +34 -23
  32. package/es/index.d.ts +1 -1
  33. package/es/index.js +1 -1
  34. package/lib/Cascader/Result.js +3 -2
  35. package/lib/Cascader/styles/cascader.less +11 -1
  36. package/lib/Checkbox/Group.js +6 -3
  37. package/lib/Checkbox/index.d.ts +1 -1
  38. package/lib/DatePicker/Month.js +7 -1
  39. package/lib/Datum/Tree.js +2 -1
  40. package/lib/Menu/Root.js +10 -4
  41. package/lib/Rule/index.d.ts +26 -3
  42. package/lib/Select/Result.js +5 -4
  43. package/lib/Select/styles/select.less +8 -3
  44. package/lib/Textarea/index.d.ts +34 -23
  45. package/lib/index.d.ts +1 -1
  46. package/lib/index.js +1 -1
  47. package/package.json +1 -1
@@ -349,11 +349,12 @@ function (_PureComponent) {
349
349
  compressed = _this$props8.compressed,
350
350
  multiple = _this$props8.multiple;
351
351
  var result = value.length === 0 ? this.renderPlaceholder() : this.renderResult();
352
+ var clearEl = this.renderClear();
352
353
  return _react.default.createElement("div", {
353
354
  ref: this.bindResult,
354
- className: (0, _styles3.cascaderClass)('result', multiple && compressed && 'compressed'),
355
+ className: (0, _styles3.cascaderClass)('result', multiple && compressed && 'compressed', clearEl && 'result-clearable'),
355
356
  style: style
356
- }, result, this.renderIndicator(), this.renderClear());
357
+ }, result, this.renderIndicator(), clearEl);
357
358
  };
358
359
 
359
360
  return Result;
@@ -127,10 +127,18 @@
127
127
  background-color: inherit;
128
128
  color: inherit;
129
129
  }
130
- .so-cascader:not(.so-cascader-disabled) .so-cascader-focus .so-cascader-close,
130
+ .so-cascader-disabled .so-cascader-result .so-select-multi {
131
+ visibility: visible;
132
+ cursor: not-allowed;
133
+ }
134
+ .so-cascader:not(.so-cascader-disabled).so-cascader-focus .so-cascader-close,
131
135
  .so-cascader:not(.so-cascader-disabled) .so-cascader-result:hover .so-cascader-close {
132
136
  display: block;
133
137
  }
138
+ .so-cascader:not(.so-cascader-disabled).so-cascader-focus .so-cascader-result-clearable .so-select-multi,
139
+ .so-cascader:not(.so-cascader-disabled) .so-cascader-result-clearable:hover .so-select-multi {
140
+ visibility: hidden;
141
+ }
134
142
  .so-cascader-multiple .so-cascader-close {
135
143
  right: 19px;
136
144
  }
@@ -108,12 +108,14 @@ function (_PureComponent) {
108
108
  data = _this$props2.data,
109
109
  datum = _this$props2.datum,
110
110
  keygen = _this$props2.keygen,
111
- children = _this$props2.children;
111
+ children = _this$props2.children,
112
+ style = _this$props2.style;
112
113
  var className = (0, _classnames.default)((0, _styles.checkinputClass)('group', ['no-block', 'block'][Number(block)]), this.props.className);
113
114
 
114
115
  if (data === undefined) {
115
116
  return _react.default.createElement("div", {
116
- className: className
117
+ className: className,
118
+ style: style
117
119
  }, _react.default.createElement(_context.Provider, {
118
120
  value: {
119
121
  onRawChange: this.handleRawChange,
@@ -123,7 +125,8 @@ function (_PureComponent) {
123
125
  }
124
126
 
125
127
  return _react.default.createElement("div", {
126
- className: className
128
+ className: className,
129
+ style: style
127
130
  }, data.map(function (d, i) {
128
131
  return _react.default.createElement(_Checkbox.default, {
129
132
  checked: datum.check(d),
@@ -47,7 +47,7 @@ export interface CheckboxProps<T> extends StandardProps, FormItemStandardProps<T
47
47
 
48
48
  // attention: checkbox group value is array
49
49
 
50
- export interface CheckboxGroupProps<Data, T> extends ListItemStandardProps<Data, T>, Omit<FormItemStandardProps<T[]>, 'placeholder'> {
50
+ export interface CheckboxGroupProps<Data, T> extends ListItemStandardProps<Data, T>, Omit<FormItemStandardProps<T[]>, 'placeholder'>, StandardProps {
51
51
 
52
52
  /**
53
53
  * The data item
@@ -76,7 +76,8 @@ function (_PureComponent) {
76
76
  type = _this$props3.type,
77
77
  current = _this$props3.current,
78
78
  index = _this$props3.index,
79
- rangeDate = _this$props3.rangeDate;
79
+ rangeDate = _this$props3.rangeDate,
80
+ max = _this$props3.max;
80
81
 
81
82
  var date = _utils.default.toDate(MONTHBASE);
82
83
 
@@ -84,6 +85,10 @@ function (_PureComponent) {
84
85
  date.setFullYear(current.getFullYear());
85
86
  var isDisabled = min && _utils.default.compareMonth(min, date, 1) >= 0;
86
87
 
88
+ if (!isDisabled) {
89
+ isDisabled = max && _utils.default.compareMonth(date, max, 1) >= 0;
90
+ }
91
+
87
92
  if (!isDisabled && type === 'month' && typeof disabled === 'function') {
88
93
  isDisabled = disabled(date);
89
94
  }
@@ -137,6 +142,7 @@ Month.propTypes = {
137
142
  current: _propTypes.default.object.isRequired,
138
143
  disabled: _propTypes.default.func,
139
144
  // max: PropTypes.object,
145
+ max: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
140
146
  min: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
141
147
  onChange: _propTypes.default.func.isRequired,
142
148
  onModeChange: _propTypes.default.func.isRequired,
package/css/Datum/Tree.js CHANGED
@@ -303,7 +303,8 @@ function () {
303
303
  var id = _this5.getKey(d, path[path.length - 1], i);
304
304
 
305
305
  if (_this5.dataMap.get(id)) {
306
- console.warn("There is already a key \"" + id + "\" exists. The key must be unique.");
306
+ console.error("There is already a key \"" + id + "\" exists. The key must be unique.");
307
+ return;
307
308
  }
308
309
 
309
310
  _this5.dataMap.set(id, d);
package/css/Menu/Root.js CHANGED
@@ -37,6 +37,8 @@ var _is = require("../utils/is");
37
37
 
38
38
  var _config = require("../config");
39
39
 
40
+ var _component = require("../component");
41
+
40
42
  var modeDirection = {
41
43
  'vertical-auto': 'y',
42
44
  vertical: 'y',
@@ -78,13 +80,13 @@ function keyToMap(keys, value) {
78
80
 
79
81
  var Root =
80
82
  /*#__PURE__*/
81
- function (_React$Component) {
82
- (0, _inheritsLoose2.default)(Root, _React$Component);
83
+ function (_Component) {
84
+ (0, _inheritsLoose2.default)(Root, _Component);
83
85
 
84
86
  function Root(props) {
85
87
  var _this;
86
88
 
87
- _this = _React$Component.call(this, props) || this;
89
+ _this = _Component.call(this, props) || this;
88
90
  _this.state = {
89
91
  activeKey: null,
90
92
  scrollTop: 0,
@@ -115,6 +117,8 @@ function (_React$Component) {
115
117
  var _proto = Root.prototype;
116
118
 
117
119
  _proto.componentDidMount = function componentDidMount() {
120
+ _Component.prototype.componentDidMount.call(this);
121
+
118
122
  this.updateState();
119
123
  };
120
124
 
@@ -124,6 +128,8 @@ function (_React$Component) {
124
128
 
125
129
  _proto.componentWillUnmount = function componentWillUnmount() {
126
130
  this.container.removeEventListener('wheel', this.handleWheel);
131
+
132
+ _Component.prototype.componentWillUnmount.call(this);
127
133
  };
128
134
 
129
135
  _proto.getOpenKeys = function getOpenKeys() {
@@ -419,7 +425,7 @@ function (_React$Component) {
419
425
  };
420
426
 
421
427
  return Root;
422
- }(_react.default.Component);
428
+ }(_component.Component);
423
429
 
424
430
  Root.propTypes = (0, _objectSpread2.default)({}, (0, _proptypes.getProps)(_propTypes.default, 'style', 'keygen'), {
425
431
  active: _propTypes.default.func,
@@ -51,7 +51,7 @@ export interface RuleParams {
51
51
  } | validFunc | any) ;
52
52
  }
53
53
 
54
- export type RuleParamsType<Value, P = any, FormData = any> = Array<RuleParams | ((value?: Value, formData?: FormData, callback?: ((cbArgs: true | Error) => void), props?: P) => void)>
54
+ export type RuleParamsType<Value, P = any, FormData = any> = Array<RuleParams | ((value?: Value, formData?: FormData, callback?: ((cbArgs: true | Error) => void), props?: P) => void) | object>
55
55
 
56
56
  export interface RuleResult {
57
57
  required (message?: string): Required;
@@ -82,8 +82,31 @@ export interface RuleResult {
82
82
 
83
83
  }
84
84
 
85
- declare function Rule<T extends RuleParams, U>(...options: T[]) : {
86
- [P in keyof T]: (args?: U ) => {args: U, func: validFunc, message?: string}
85
+ export interface paramFunc<U> {
86
+ (args?: U ): {args: U, func: validFunc, message?: string}
87
+ }
88
+
89
+ declare function Rule<U>() : RuleResult
90
+
91
+ declare function Rule<A extends RuleParams, U>(a: A) : {
92
+ [P in keyof A]: paramFunc<U>
93
+ } & RuleResult
94
+
95
+ declare function Rule<A extends RuleParams, B extends RuleParams, U>(a: A, b: B) : {
96
+ [P in keyof (A & B)]: paramFunc<U>
97
+ } & RuleResult
98
+
99
+ declare function Rule<A extends RuleParams, B extends RuleParams, C extends RuleParams, U>(a: A, b: B, c: C) : {
100
+ [P in keyof (A & B & C)]: paramFunc<U>
101
+ } & RuleResult
102
+
103
+ declare function Rule<A extends RuleParams, B extends RuleParams, C extends RuleParams, D extends RuleParams, U>(a: A, b: B, c: C, d: D) : {
104
+ [P in keyof (A & B & C & D)]: paramFunc<U>
105
+ } & RuleResult
106
+
107
+ declare function Rule<
108
+ U>(...args: RuleParams[]) : {
109
+ [key: string]: paramFunc<U>
87
110
  } & RuleResult
88
111
 
89
112
 
@@ -362,18 +362,19 @@ function (_PureComponent) {
362
362
  var showPlaceholder = this.isEmptyResult();
363
363
  var result = showPlaceholder ? this.renderPlaceholder() : this.renderResult();
364
364
  var rtl = (0, _config.isRTL)();
365
+ var clearEl = this.renderClear();
365
366
 
366
367
  if (rtl) {
367
368
  return _react.default.createElement("div", {
368
369
  ref: this.bindResult,
369
- className: (0, _styles.selectClass)('result', compressed && 'compressed', showPlaceholder && 'empty')
370
- }, this.renderClear(), this.renderIndicator(), result);
370
+ className: (0, _styles.selectClass)('result', compressed && 'compressed', showPlaceholder && 'empty', clearEl && 'result-clearable')
371
+ }, clearEl, this.renderIndicator(), result);
371
372
  }
372
373
 
373
374
  return _react.default.createElement("div", {
374
375
  ref: this.bindResult,
375
- className: (0, _styles.selectClass)('result', compressed && 'compressed', showPlaceholder && 'empty')
376
- }, result, this.renderIndicator(), this.renderClear());
376
+ className: (0, _styles.selectClass)('result', compressed && 'compressed', showPlaceholder && 'empty', clearEl && 'result-clearable')
377
+ }, result, this.renderIndicator(), clearEl);
377
378
  };
378
379
 
379
380
  return Result;
@@ -170,10 +170,6 @@
170
170
  margin-top: -5px;
171
171
  }
172
172
  .so-select-indicator.so-select-close {
173
- -webkit-box-sizing: content-box;
174
- box-sizing: content-box;
175
- border-left: 1px solid #fff;
176
- border-right: 1px solid #fff;
177
173
  display: none;
178
174
  background: var(--select-clear-bg-color, #94a1ae);
179
175
  border-radius: 6px;
@@ -247,6 +243,10 @@
247
243
  .so-select-result:hover .so-select-close {
248
244
  display: block;
249
245
  }
246
+ .so-select-focus .so-select-result-clearable .so-select-multi,
247
+ .so-select-result-clearable:hover .so-select-multi {
248
+ visibility: hidden;
249
+ }
250
250
  .so-select-focus .so-select-caret {
251
251
  -webkit-transform: rotate(180deg);
252
252
  -ms-transform: rotate(180deg);
@@ -512,6 +512,10 @@ span.so-select-option {
512
512
  .so-select-disabled .so-select-result .so-select-item .so-select-close {
513
513
  display: none;
514
514
  }
515
+ .so-select-disabled .so-select-result .so-select-multi {
516
+ visibility: visible;
517
+ cursor: not-allowed;
518
+ }
515
519
  .so-select-root {
516
520
  position: absolute;
517
521
  top: 0;
@@ -2,24 +2,24 @@ import * as React from 'react'
2
2
  import { StandardProps, RegularAttributes, FormItemStandardProps } from '../@types/common'
3
3
 
4
4
  export interface TextareaProps<Value> extends
5
- StandardProps,
5
+ StandardProps,
6
6
  FormItemStandardProps<Value>
7
7
  {
8
8
 
9
9
  /**
10
10
  * show border bottom
11
- *
11
+ *
12
12
  * 仅仅展示下边框
13
- *
13
+ *
14
14
  * default: false
15
15
  */
16
16
  underline?: boolean;
17
17
 
18
18
  /**
19
19
  * Whether the height changes automatically with the content
20
- *
20
+ *
21
21
  * 高度是否随内容自动变化
22
- *
22
+ *
23
23
  * default: false
24
24
  */
25
25
  autosize?: boolean;
@@ -27,76 +27,87 @@ FormItemStandardProps<Value>
27
27
 
28
28
  /**
29
29
  * User input triggers onChange and to check interval, unit: ms.
30
- *
30
+ *
31
31
  * 用户输入触发 onChange 和校验间隔时间,单位 毫秒。
32
- *
32
+ *
33
33
  * default: 400
34
34
  */
35
35
  delay?: number;
36
36
 
37
37
  /**
38
38
  * Infomation
39
- *
39
+ *
40
40
  * 提示信息
41
- *
41
+ *
42
42
  * default: -
43
43
  */
44
44
  info?: ((value: string) => string) | number;
45
45
 
46
46
  /**
47
47
  * The callback function for enter key
48
- *
48
+ *
49
49
  * 回车键回调函数
50
- *
51
- * default:
50
+ *
51
+ * default:
52
52
  */
53
53
  onEnterPress?: (value: Value) => void;
54
54
 
55
55
  /**
56
56
  * The position where the message pops up
57
- *
57
+ *
58
58
  * 信息弹出位置
59
- *
60
- * default:
59
+ *
60
+ * default:
61
61
  */
62
62
  popover?: RegularAttributes.Position;
63
63
 
64
64
  /**
65
65
  * The minimum row height. Same as native textarea rows property.
66
- *
66
+ *
67
67
  * 最小行高,同原生 textarea rows 属性
68
- *
68
+ *
69
69
  * default: 4
70
70
  */
71
71
  rows?: number;
72
72
 
73
73
  /**
74
74
  * the maxHeight of the textarea, scroll bars appear after more than
75
- *
75
+ *
76
76
  * 输入框的最大高度, 超过之后会出现滚动条
77
- *
77
+ *
78
78
  * default: -
79
79
  */
80
80
  maxHeight?: number | string;
81
81
 
82
82
  /**
83
83
  * When trim is true, blank characters are automatically deleted when lose focus。
84
- *
84
+ *
85
85
  * trim 为 true 时,失去焦点时会自动删除空白字符。
86
- *
86
+ *
87
87
  * default: false
88
88
  */
89
89
  trim?: boolean;
90
90
 
91
91
  /**
92
92
  * support resize
93
- *
93
+ *
94
94
  * 是否可以伸缩高度
95
- *
95
+ *
96
96
  * default: false
97
97
  */
98
98
  resize?: boolean;
99
99
 
100
+ /**
101
+ * disabled
102
+ *
103
+ * 禁用
104
+ *
105
+ * default: false
106
+ */
107
+ disabled?: boolean;
108
+
109
+
110
+
100
111
  }
101
112
 
102
113
  declare class Textarea<Value = any> extends React.Component<TextareaProps<Value>, {}> {}
package/css/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import './styles/normalize.less'
3
3
  import * as utils from './utils'
4
4
 
5
- export default { utils, version: '1.8.0' }
5
+ export default { utils, version: '1.8.1' }
6
6
  export { utils }
7
7
  export { setLocale } from './locale'
8
8
  export { color, style } from './utils/expose'
package/css/index.js CHANGED
@@ -222,6 +222,6 @@ exports.Upload = _Upload.default;
222
222
  // Created by scripts/src-index.js.
223
223
  var _default = {
224
224
  utils: utils,
225
- version: '1.8.0'
225
+ version: '1.8.1'
226
226
  };
227
227
  exports.default = _default;