@nutui/nutui-react 1.2.0 → 1.2.1-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 (57) hide show
  1. package/dist/esm/AnimatingNumbers.js +9 -11
  2. package/dist/esm/BackTop.js +8 -6
  3. package/dist/esm/Checkbox.js +54 -8
  4. package/dist/esm/CheckboxGroup.js +26 -4
  5. package/dist/esm/Elevator.js +129 -36
  6. package/dist/esm/Icon.js +5 -3
  7. package/dist/esm/Input.js +252 -57
  8. package/dist/esm/NavBar/style/index.js +1 -1
  9. package/dist/esm/NavBar.js +89 -32
  10. package/dist/esm/Step.js +20 -3
  11. package/dist/esm/TabPane.js +3 -2
  12. package/dist/esm/Tabs.js +13 -3
  13. package/dist/esm/Video/style/index.js +2 -0
  14. package/dist/esm/Video.js +97 -0
  15. package/dist/esm/nutui-react.es.js +1 -0
  16. package/dist/locales/base.js +1 -1
  17. package/dist/locales/en-US.js +1 -1
  18. package/dist/locales/id-ID.js +1 -1
  19. package/dist/locales/zh-CN.js +1 -1
  20. package/dist/locales/zh-TW.js +1 -1
  21. package/dist/nutui.react.es.js +770 -321
  22. package/dist/nutui.react.umd.js +18 -18
  23. package/dist/packages/animatingnumbers/animatingnumbers.scss +0 -2
  24. package/dist/packages/animatingnumbers/countup.scss +10 -10
  25. package/dist/packages/backtop/backtop.scss +8 -0
  26. package/dist/packages/checkbox/checkbox.scss +21 -3
  27. package/dist/packages/col/col.scss +1 -1
  28. package/dist/packages/elevator/elevator.scss +71 -39
  29. package/dist/packages/input/input.scss +131 -3
  30. package/dist/packages/navbar/navbar.scss +114 -21
  31. package/dist/packages/price/price.scss +0 -1
  32. package/dist/packages/row/row.scss +14 -0
  33. package/dist/packages/tabpane/tabpane.scss +5 -0
  34. package/dist/packages/video/video.scss +18 -0
  35. package/dist/style.css +1 -1
  36. package/dist/style.es.js +1 -1
  37. package/dist/styles/themes/default.scss +1 -0
  38. package/dist/styles/variables.scss +94 -4
  39. package/dist/types/animatingnumbers/__tests__/animatingnumbers.spec.d.ts +1 -0
  40. package/dist/types/backtop/backtop.d.ts +4 -4
  41. package/dist/types/checkbox/checkbox.d.ts +4 -0
  42. package/dist/types/checkbox/demo.d.ts +1 -0
  43. package/dist/types/checkboxgroup/checkboxgroup.d.ts +1 -0
  44. package/dist/types/elevator/__tests__/elevator.spec.d.ts +1 -0
  45. package/dist/types/elevator/elevator.d.ts +6 -1
  46. package/dist/types/icon/icon.d.ts +1 -0
  47. package/dist/types/input/input.d.ts +42 -5
  48. package/dist/types/navbar/navbar.d.ts +9 -4
  49. package/dist/types/nutui.react.d.ts +2 -1
  50. package/dist/types/tabpane/tabpane.d.ts +1 -0
  51. package/dist/types/tabs/__test__/tabs.spec.d.ts +1 -0
  52. package/dist/types/tabs/tabs.d.ts +1 -0
  53. package/dist/types/video/__tests__/video.spec.d.ts +1 -0
  54. package/dist/types/video/demo.d.ts +4 -0
  55. package/dist/types/video/index.d.ts +2 -0
  56. package/dist/types/video/video.d.ts +21 -0
  57. package/package.json +3 -3
package/dist/esm/Input.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["children", "type", "defaultValue", "placeholder", "label", "labelClass", "labelWidth", "labelAlign", "colon", "inputAlign", "center", "required", "disabled", "readonly", "error", "maxlength", "leftIcon", "leftIconSize", "rightIcon", "rightIconSize", "clearable", "clearIcon", "clearSize", "border", "formatTrigger", "rules", "errorMessage", "errorMessageAlign", "showWordLimit", "autofocus", "style", "className", "rows", "slotButton", "slotInput", "change", "blur", "focus", "clear", "formatter", "keypress", "clickInput", "clickLeftIcon", "clickRightIcon", "click"];
3
5
 
4
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
7
 
6
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
9
 
8
- import React__default, { useState, useEffect } from 'react';
9
- import { c as cn } from './bem-893ad28d.js';
10
+ import React__default, { useState, useRef, useLayoutEffect, useEffect, useCallback } from 'react';
10
11
  import Icon from './Icon.js';
11
12
  import { useConfig } from './ConfigProvider.js';
12
- import '@bem-react/classname';
13
13
 
14
14
  function trimExtraChar(value, _char, regExp) {
15
15
  var index = value.indexOf(_char);
@@ -32,7 +32,7 @@ function formatNumber(value) {
32
32
  if (allowDot) {
33
33
  value = trimExtraChar(value, '.', /\./g);
34
34
  } else {
35
- value = value.replace(/\./g, '');
35
+ value = value.split('.')[0];
36
36
  }
37
37
 
38
38
  if (allowMinus) {
@@ -50,12 +50,34 @@ var defaultProps = {
50
50
  defaultValue: '',
51
51
  placeholder: '',
52
52
  label: '',
53
- requireShow: false,
53
+ labelClass: '',
54
+ labelWidth: '80',
55
+ labelAlign: 'left',
56
+ colon: false,
57
+ inputAlign: 'left',
58
+ center: false,
59
+ required: false,
54
60
  disabled: false,
55
61
  readonly: false,
56
- textAlign: 'left',
57
- maxLength: '',
58
- clearable: true
62
+ error: false,
63
+ maxlength: '9999',
64
+ leftIcon: '',
65
+ leftIconSize: '',
66
+ rightIcon: '',
67
+ rightIconSize: '',
68
+ clearable: false,
69
+ clearIcon: 'mask-close',
70
+ clearSize: '14',
71
+ border: true,
72
+ formatTrigger: 'onChange',
73
+ rules: [],
74
+ rows: null,
75
+ errorMessage: '',
76
+ errorMessageAlign: '',
77
+ showWordLimit: false,
78
+ autofocus: false,
79
+ slotButton: null,
80
+ slotInput: null
59
81
  };
60
82
 
61
83
  var Input = function Input(props) {
@@ -63,25 +85,54 @@ var Input = function Input(props) {
63
85
  locale = _useConfig.locale;
64
86
 
65
87
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
88
+ children = _defaultProps$props.children,
66
89
  type = _defaultProps$props.type,
67
90
  defaultValue = _defaultProps$props.defaultValue,
68
91
  placeholder = _defaultProps$props.placeholder,
69
92
  label = _defaultProps$props.label,
70
- requireShow = _defaultProps$props.requireShow,
93
+ labelClass = _defaultProps$props.labelClass,
94
+ labelWidth = _defaultProps$props.labelWidth,
95
+ labelAlign = _defaultProps$props.labelAlign,
96
+ colon = _defaultProps$props.colon,
97
+ inputAlign = _defaultProps$props.inputAlign,
98
+ center = _defaultProps$props.center,
99
+ required = _defaultProps$props.required,
71
100
  disabled = _defaultProps$props.disabled,
72
101
  readonly = _defaultProps$props.readonly,
73
- textAlign = _defaultProps$props.textAlign,
74
- maxLength = _defaultProps$props.maxLength,
102
+ error = _defaultProps$props.error,
103
+ maxlength = _defaultProps$props.maxlength,
104
+ leftIcon = _defaultProps$props.leftIcon,
105
+ leftIconSize = _defaultProps$props.leftIconSize,
106
+ rightIcon = _defaultProps$props.rightIcon,
107
+ rightIconSize = _defaultProps$props.rightIconSize,
75
108
  clearable = _defaultProps$props.clearable,
109
+ clearIcon = _defaultProps$props.clearIcon,
110
+ clearSize = _defaultProps$props.clearSize,
111
+ border = _defaultProps$props.border,
112
+ formatTrigger = _defaultProps$props.formatTrigger,
113
+ rules = _defaultProps$props.rules,
114
+ errorMessage = _defaultProps$props.errorMessage,
115
+ errorMessageAlign = _defaultProps$props.errorMessageAlign,
116
+ showWordLimit = _defaultProps$props.showWordLimit,
117
+ autofocus = _defaultProps$props.autofocus,
76
118
  style = _defaultProps$props.style,
77
119
  className = _defaultProps$props.className,
120
+ rows = _defaultProps$props.rows,
121
+ slotButton = _defaultProps$props.slotButton,
122
+ slotInput = _defaultProps$props.slotInput,
78
123
  change = _defaultProps$props.change,
79
124
  blur = _defaultProps$props.blur,
80
125
  focus = _defaultProps$props.focus,
81
- clear = _defaultProps$props.clear;
126
+ clear = _defaultProps$props.clear,
127
+ formatter = _defaultProps$props.formatter,
128
+ keypress = _defaultProps$props.keypress,
129
+ clickInput = _defaultProps$props.clickInput,
130
+ clickLeftIcon = _defaultProps$props.clickLeftIcon,
131
+ clickRightIcon = _defaultProps$props.clickRightIcon,
132
+ click = _defaultProps$props.click,
133
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
82
134
 
83
135
  locale.placeholder = placeholder || locale.placeholder;
84
- var inputBem = cn('input');
85
136
 
86
137
  var _useState = useState(''),
87
138
  _useState2 = _slicedToArray(_useState, 2),
@@ -93,97 +144,241 @@ var Input = function Input(props) {
93
144
  active = _useState4[0],
94
145
  SetActive = _useState4[1];
95
146
 
147
+ var _useState5 = useState(''),
148
+ _useState6 = _slicedToArray(_useState5, 2),
149
+ classes = _useState6[0],
150
+ setClasses = _useState6[1];
151
+
152
+ var getModelValue = function getModelValue() {
153
+ return String(inputValue !== null && inputValue !== void 0 ? inputValue : '');
154
+ };
155
+
156
+ var inputRef = useRef(null);
157
+ useLayoutEffect(function () {
158
+ updateValue(getModelValue(), formatTrigger);
159
+ });
96
160
  useEffect(function () {
161
+ setClasses(inputClass);
162
+
97
163
  if (defaultValue) {
98
164
  SetInputValue(defaultValue);
99
165
  }
100
166
  }, [defaultValue]);
167
+ useEffect(function () {
168
+ if (inputValue) {
169
+ updateValue(getModelValue());
170
+ resetValidation();
171
+ }
172
+ }, [inputValue]);
173
+ var inputClass = useCallback(function () {
174
+ var prefixCls = 'nut-input';
175
+ return [prefixCls, "".concat(center ? 'center' : ''), "".concat(disabled ? "".concat(prefixCls, "-disabled") : ''), "".concat(required ? "".concat(prefixCls, "-required") : ''), "".concat(error ? "".concat(prefixCls, "-error") : ''), "".concat(border ? "".concat(prefixCls, "-border") : '')].filter(Boolean).join(' ');
176
+ }, [disabled, required, error, border]);
101
177
 
102
- var valueChange = function valueChange(event) {
103
- var val = event.target.value;
178
+ var updateValue = function updateValue(value) {
179
+ var _inputRef$current;
180
+
181
+ var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'onChange';
182
+ var val = value;
104
183
 
105
184
  if (type === 'digit') {
106
- val = formatNumber(val, true);
185
+ val = formatNumber(val, false, false);
107
186
  }
108
187
 
109
188
  if (type === 'number') {
110
- val = formatNumber(val, false);
189
+ val = formatNumber(val, true, true);
111
190
  }
112
191
 
113
- if (maxLength && val.length > Number(maxLength)) {
114
- val = val.slice(0, Number(maxLength));
192
+ if (formatter && trigger === formatTrigger) {
193
+ val = formatter(val);
115
194
  }
116
195
 
117
- change && change(val, event);
118
- SetInputValue(val);
196
+ if ((inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value) !== val) {
197
+ inputRef.current.value = val;
198
+ } // if (val !== defaultValue) {
199
+
200
+
201
+ SetInputValue(val); // }
119
202
  };
120
203
 
121
- var valueFocus = function valueFocus(event) {
204
+ var _onFocus = function onFocus(event) {
122
205
  var val = event.target.value;
123
206
  SetActive(true);
207
+ focus && focus(val, event);
208
+ };
124
209
 
125
- if (focus) {
126
- focus(val, event);
210
+ var _onInput = function onInput(event) {
211
+ var val = event.target.value;
212
+
213
+ if (maxlength && val.length > Number(maxlength)) {
214
+ val = val.slice(0, Number(maxlength));
127
215
  }
216
+
217
+ updateValue(val);
218
+ change && change(val, event);
128
219
  };
129
220
 
130
- var valueBlur = function valueBlur(event) {
221
+ var _onBlur = function onBlur(event) {
131
222
  setTimeout(function () {
132
223
  SetActive(false);
133
- }, 0);
224
+ }, 200);
134
225
  var val = event.target.value;
135
226
 
136
- if (blur) {
137
- blur(val, event);
227
+ if (maxlength && val.length > Number(maxlength)) {
228
+ val = val.slice(0, Number(maxlength));
138
229
  }
230
+
231
+ updateValue(getModelValue(), 'onBlur');
232
+ blur && blur(val, event);
139
233
  };
140
234
 
141
- var handleClear = function handleClear(event) {
142
- if (clear) {
143
- clear('', event);
235
+ var onClickInput = function onClickInput(event) {
236
+ clickInput && clickInput(event);
237
+ };
238
+
239
+ var onClickLeftIcon = function onClickLeftIcon(event) {
240
+ clickLeftIcon && clickLeftIcon(event);
241
+ };
242
+
243
+ var onClickRightIcon = function onClickRightIcon(event) {
244
+ clickRightIcon && clickRightIcon(event);
245
+ };
246
+
247
+ var resetValidation = function resetValidation() {};
248
+
249
+ var inputType = function inputType(type) {
250
+ if (type === 'number') {
251
+ return 'text';
144
252
  }
145
253
 
146
- SetInputValue('');
254
+ if (type === 'digit') {
255
+ return 'tel';
256
+ }
257
+
258
+ return type;
147
259
  };
148
260
 
149
- var textAlignStyle = {
150
- textAlign: textAlign
261
+ var handleClear = function handleClear(event) {
262
+ updateValue('');
263
+ clear && clear('', event);
151
264
  };
152
- return React__default.createElement("div", {
153
- className: "".concat(inputBem(), " ").concat(disabled ? inputBem('disabled') : '', " ").concat(className || '')
265
+
266
+ return React__default.createElement("div", _objectSpread(_objectSpread({
267
+ className: "".concat(classes, " ").concat(className || ''),
268
+ style: style
269
+ }, rest), {}, {
270
+ onClick: function onClick(e) {
271
+ click && click(e);
272
+ }
273
+ }), slotInput ? React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
274
+ className: "nut-input-label ".concat(labelClass),
275
+ style: {
276
+ width: "".concat(labelWidth, "px"),
277
+ textAlign: labelAlign
278
+ }
279
+ }, React__default.createElement("div", {
280
+ className: "label-string"
281
+ }, label, colon ? ':' : '')), React__default.createElement("div", {
282
+ className: "nut-input-value"
283
+ }, React__default.createElement("div", {
284
+ className: "nut-input-inner",
285
+ onClick: function onClick(e) {
286
+ onClickInput(e);
287
+ }
288
+ }, slotInput))) : React__default.createElement(React__default.Fragment, null, leftIcon && leftIcon.length > 0 ? React__default.createElement("div", {
289
+ className: "nut-input-left-icon",
290
+ onClick: function onClick(e) {
291
+ onClickLeftIcon(e);
292
+ }
293
+ }, React__default.createElement(Icon, {
294
+ name: leftIcon,
295
+ size: leftIconSize
296
+ })) : null, React__default.createElement("div", {
297
+ className: "nut-input-label ".concat(labelClass),
298
+ style: {
299
+ width: "".concat(labelWidth, "px"),
300
+ textAlign: labelAlign
301
+ }
154
302
  }, React__default.createElement("div", {
155
- className: inputBem('label')
156
- }, requireShow ? React__default.createElement("div", {
157
- className: inputBem('require')
158
- }, "*") : null, label ? React__default.createElement("div", {
159
303
  className: "label-string"
160
- }, label) : null), React__default.createElement("input", {
304
+ }, label, colon ? ':' : '')), React__default.createElement("div", {
305
+ className: "nut-input-value"
306
+ }, React__default.createElement("div", {
307
+ className: "nut-input-inner",
308
+ onClick: function onClick(e) {
309
+ onClickInput(e);
310
+ }
311
+ }, type === 'textarea' ? React__default.createElement("textarea", {
161
312
  className: "input-text",
162
- type: type,
163
- placeholder: placeholder,
313
+ ref: inputRef,
314
+ style: {
315
+ textAlign: inputAlign,
316
+ height: "".concat(Number(rows) * 24, "px")
317
+ },
318
+ maxLength: maxlength,
319
+ placeholder: placeholder || locale.placeholder,
164
320
  disabled: disabled,
165
321
  readOnly: readonly,
166
322
  value: inputValue,
167
- style: _objectSpread(_objectSpread({}, style), textAlignStyle),
168
- maxLength: maxLength,
323
+ autoFocus: autofocus,
169
324
  onBlur: function onBlur(e) {
170
- valueBlur(e);
325
+ _onBlur(e);
171
326
  },
172
327
  onFocus: function onFocus(e) {
173
- valueFocus(e);
328
+ _onFocus(e);
174
329
  },
175
- onChange: function onChange(e) {
176
- valueChange(e);
330
+ onInput: function onInput(e) {
331
+ _onInput(e);
177
332
  }
178
- }), clearable && !readonly && active ? React__default.createElement("div", {
179
- onClick: function onClick(e) {
180
- handleClear(e);
333
+ }) : React__default.createElement("input", {
334
+ className: "input-text",
335
+ ref: inputRef,
336
+ style: {
337
+ textAlign: inputAlign
338
+ },
339
+ type: inputType(type),
340
+ maxLength: maxlength,
341
+ placeholder: placeholder || locale.placeholder,
342
+ disabled: disabled,
343
+ readOnly: readonly,
344
+ value: inputValue,
345
+ autoFocus: autofocus,
346
+ onBlur: function onBlur(e) {
347
+ _onBlur(e);
181
348
  },
182
- className: inputBem('clear')
183
- }, active && inputValue.length > 0 ? React__default.createElement(Icon, {
184
- name: "close-little",
185
- size: "12px"
186
- }) : null) : null);
349
+ onFocus: function onFocus(e) {
350
+ _onFocus(e);
351
+ },
352
+ onInput: function onInput(e) {
353
+ _onInput(e);
354
+ }
355
+ }), clearable && !readonly && active && inputValue.length > 0 ? React__default.createElement(Icon, {
356
+ className: "nut-input-clear",
357
+ name: clearIcon,
358
+ size: clearSize,
359
+ click: function click(e) {
360
+ handleClear(e);
361
+ }
362
+ }) : null, rightIcon && rightIcon.length > 0 ? React__default.createElement("div", {
363
+ className: "nut-input-right-icon",
364
+ onClick: function onClick(e) {
365
+ onClickRightIcon(e);
366
+ }
367
+ }, React__default.createElement(Icon, {
368
+ name: rightIcon,
369
+ size: rightIconSize
370
+ })) : null, slotButton ? React__default.createElement("div", {
371
+ className: "nut-input-button"
372
+ }, slotButton) : null), showWordLimit && maxlength ? React__default.createElement("div", {
373
+ className: "nut-input-word-limit"
374
+ }, React__default.createElement("span", {
375
+ className: "nut-input-word-num"
376
+ }, inputValue ? inputValue.length : 0), "/", maxlength) : null, errorMessage ? React__default.createElement("div", {
377
+ className: "nut-input-error-message",
378
+ style: {
379
+ textAlign: errorMessageAlign
380
+ }
381
+ }, errorMessage) : null)));
187
382
  };
188
383
 
189
384
  Input.defaultProps = defaultProps;
@@ -1,2 +1,2 @@
1
- require('../../Icon/style')
1
+
2
2
  require('../../../packages/navbar/navbar.scss')
@@ -5,61 +5,118 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  import React__default from 'react';
8
+ import classNames from 'classnames';
8
9
  import Icon from './Icon.js';
9
10
  import { c as cn } from './bem-893ad28d.js';
10
11
  import '@bem-react/classname';
11
12
  var defaultProps = {
12
13
  title: '',
13
14
  desc: '',
14
- leftShow: false,
15
- icon: '',
15
+ leftShow: true,
16
16
  titIcon: '',
17
- className: ''
17
+ className: '',
18
+ leftText: '',
19
+ fixed: false,
20
+ safeAreaInsetTop: false,
21
+ border: false,
22
+ placeholder: false,
23
+ zIndex: 10,
24
+ style: {}
18
25
  };
19
26
 
20
27
  var NavBar = function NavBar(props) {
28
+ var _classNames;
29
+
21
30
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
22
31
  desc = _defaultProps$props.desc,
23
- icon = _defaultProps$props.icon,
24
32
  title = _defaultProps$props.title,
25
33
  titIcon = _defaultProps$props.titIcon,
26
34
  leftShow = _defaultProps$props.leftShow,
27
35
  className = _defaultProps$props.className,
28
36
  style = _defaultProps$props.style,
37
+ leftText = _defaultProps$props.leftText,
38
+ fixed = _defaultProps$props.fixed,
39
+ safeAreaInsetTop = _defaultProps$props.safeAreaInsetTop,
40
+ border = _defaultProps$props.border,
41
+ placeholder = _defaultProps$props.placeholder,
42
+ zIndex = _defaultProps$props.zIndex,
29
43
  onClickTitle = _defaultProps$props.onClickTitle,
30
44
  onClickIcon = _defaultProps$props.onClickIcon,
31
45
  onClickBack = _defaultProps$props.onClickBack,
32
- onClickClear = _defaultProps$props.onClickClear;
46
+ onClickRight = _defaultProps$props.onClickRight;
33
47
 
34
48
  var b = cn('navbar');
35
- return React__default.createElement("div", {
36
- className: "nut-navbar ".concat(className),
37
- style: style
38
- }, leftShow && React__default.createElement("i", {
39
- className: ['nut-icon', 'nutui-iconfont', "".concat(b('back'))].join(' '),
40
- onClick: function onClick(e) {
41
- return onClickBack(e);
42
- }
43
- }), React__default.createElement("div", {
44
- className: "".concat(b('title')),
45
- onClick: function onClick(e) {
46
- return onClickTitle(e);
47
- }
48
- }, title, titIcon && React__default.createElement(Icon, {
49
- name: titIcon
50
- })), React__default.createElement("div", {
51
- className: "".concat(b('desc')),
52
- onClick: function onClick(e) {
53
- return onClickClear(e);
54
- }
55
- }, desc), icon && React__default.createElement("div", {
56
- className: "".concat(b('icon')),
57
- onClick: function onClick(e) {
58
- return onClickIcon(e);
49
+ var children = Array.isArray(props.children) ? props.children : [props.children];
50
+ var slot = children.reduce(function (slot, item) {
51
+ var data = slot;
52
+
53
+ if (item && item.props) {
54
+ data[item.props.slot] = item;
59
55
  }
60
- }, React__default.createElement(Icon, {
61
- name: icon
62
- })));
56
+
57
+ return data;
58
+ }, {});
59
+
60
+ var styles = function styles() {
61
+ return _objectSpread(_objectSpread({}, style), {}, {
62
+ zIndex: zIndex
63
+ });
64
+ };
65
+
66
+ var renderLeft = function renderLeft() {
67
+ return React__default.createElement("div", {
68
+ className: "".concat(b('left')),
69
+ onClick: function onClick(e) {
70
+ return onClickBack(e);
71
+ }
72
+ }, leftShow && React__default.createElement(Icon, {
73
+ name: "left",
74
+ color: "#979797"
75
+ }), leftText && React__default.createElement("div", {
76
+ className: "".concat(b('text'))
77
+ }, leftText), slot.left);
78
+ };
79
+
80
+ var renderContent = function renderContent() {
81
+ return React__default.createElement("div", {
82
+ className: "".concat(b('title'))
83
+ }, title && React__default.createElement("div", {
84
+ className: "title",
85
+ onClick: function onClick(e) {
86
+ return onClickTitle(e);
87
+ }
88
+ }, title), titIcon && React__default.createElement("div", {
89
+ onClick: function onClick(e) {
90
+ return onClickIcon(e);
91
+ }
92
+ }, React__default.createElement(Icon, {
93
+ name: titIcon
94
+ })), slot.content);
95
+ };
96
+
97
+ var renderRight = function renderRight() {
98
+ return React__default.createElement("div", {
99
+ className: "".concat(b('right')),
100
+ onClick: function onClick(e) {
101
+ return onClickRight(e);
102
+ }
103
+ }, desc && React__default.createElement("div", {
104
+ className: "".concat(b('text'))
105
+ }, desc), slot.right);
106
+ };
107
+
108
+ var renderWrapper = function renderWrapper() {
109
+ return React__default.createElement("div", {
110
+ className: cls,
111
+ style: styles()
112
+ }, renderLeft(), renderContent(), renderRight());
113
+ };
114
+
115
+ var classes = classNames((_classNames = {}, _defineProperty(_classNames, "nut-navbar--border", border), _defineProperty(_classNames, "nut-navbar--fixed", fixed), _defineProperty(_classNames, "nut-navbar--safe-area-inset-top", safeAreaInsetTop), _classNames));
116
+ var cls = classNames(b(''), classes, className);
117
+ return React__default.createElement(React__default.Fragment, null, fixed && placeholder ? React__default.createElement("div", {
118
+ className: "".concat(b(''), "--placeholder")
119
+ }, renderWrapper()) : renderWrapper());
63
120
  };
64
121
 
65
122
  NavBar.defaultProps = defaultProps;
package/dist/esm/Step.js CHANGED
@@ -46,11 +46,28 @@ var Step = function Step(props) {
46
46
  var handleClickStep = function handleClickStep() {
47
47
  var _parent$propSteps;
48
48
 
49
- (_parent$propSteps = parent.propSteps) === null || _parent$propSteps === void 0 ? void 0 : _parent$propSteps.clickStep(activeIndex);
49
+ if ((_parent$propSteps = parent.propSteps) !== null && _parent$propSteps !== void 0 && _parent$propSteps.clickStep) {
50
+ var _parent$propSteps2;
51
+
52
+ (_parent$propSteps2 = parent.propSteps) === null || _parent$propSteps2 === void 0 ? void 0 : _parent$propSteps2.clickStep(activeIndex);
53
+ }
50
54
  };
51
55
 
52
56
  var b = cn('step');
53
57
  var classes = classNames(_defineProperty({}, "".concat(b(''), "-").concat(getCurrentStatus()), true), className, b(''));
58
+
59
+ var renderIconClass = function renderIconClass() {
60
+ if (!dot && icon) {
61
+ return 'nut-step-icon is-icon';
62
+ }
63
+
64
+ if (!dot && !icon) {
65
+ return 'nut-step-icon is-text';
66
+ }
67
+
68
+ return 'nut-step-icon';
69
+ };
70
+
54
71
  return React__default.createElement("div", _objectSpread(_objectSpread({
55
72
  className: classes
56
73
  }, restProps), {}, {
@@ -60,13 +77,13 @@ var Step = function Step(props) {
60
77
  }, React__default.createElement("div", {
61
78
  className: "nut-step-line"
62
79
  }), React__default.createElement("div", {
63
- className: "nut-step-icon ".concat(!dot ? icon ? 'is-icon' : 'is-text' : '')
80
+ className: renderIconClass()
64
81
  }, icon ? React__default.createElement(Icon, {
65
82
  className: "nut-step-icon-inner",
66
83
  color: iconColor,
67
84
  name: icon,
68
85
  size: size
69
- }) : dot ? React__default.createElement("span", null) : React__default.createElement("span", {
86
+ }) : !dot && React__default.createElement("span", {
70
87
  className: "nut-step-inner"
71
88
  }, activeIndex))), React__default.createElement("div", {
72
89
  className: "nut-step-main"
@@ -19,12 +19,13 @@ var TabPane = function TabPane(props) {
19
19
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
20
20
  children = _defaultProps$props.children,
21
21
  paneKey = _defaultProps$props.paneKey,
22
- activeKey = _defaultProps$props.activeKey;
22
+ activeKey = _defaultProps$props.activeKey,
23
+ autoHeightClassName = _defaultProps$props.autoHeightClassName;
23
24
 
24
25
  var b = cn('tabpane');
25
26
  var classes = classNames({
26
27
  active: paneKey === activeKey
27
- }, b(''));
28
+ }, b(''), autoHeightClassName);
28
29
  return React__default.createElement("div", {
29
30
  className: classes
30
31
  }, children);