@nutui/nutui-react 1.3.0 → 1.3.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 (158) hide show
  1. package/dist/esm/Audio/style/index.js +4 -0
  2. package/dist/esm/Audio.js +293 -0
  3. package/dist/esm/Calendar/style/index.js +1 -2
  4. package/dist/esm/Calendar.js +80 -33
  5. package/dist/esm/CalendarItem.js +429 -231
  6. package/dist/esm/Cascader/style/index.js +2 -0
  7. package/dist/esm/Cascader.js +788 -0
  8. package/dist/esm/ConfigProvider.js +16 -0
  9. package/dist/esm/DatePicker.js +37 -6
  10. package/dist/esm/Dialog.js +9 -16
  11. package/dist/esm/Elevator.js +16 -5
  12. package/dist/esm/Grid/style/index.js +2 -0
  13. package/dist/esm/Grid.js +91 -0
  14. package/dist/esm/GridItem/style/index.js +2 -0
  15. package/dist/esm/GridItem.js +99 -0
  16. package/dist/esm/ImagePreview/style/index.js +2 -0
  17. package/dist/esm/ImagePreview.js +257 -0
  18. package/dist/esm/Menu/style/index.js +3 -0
  19. package/dist/esm/Menu.js +153 -0
  20. package/dist/esm/MenuItem/style/index.js +3 -0
  21. package/dist/esm/MenuItem.js +197 -0
  22. package/dist/esm/NoticeBar.js +3 -2
  23. package/dist/esm/Notify.js +2 -1
  24. package/dist/esm/Popover.js +4 -11
  25. package/dist/esm/Range.js +2 -45
  26. package/dist/esm/Swipe/style/index.js +2 -0
  27. package/dist/esm/Swipe.js +265 -0
  28. package/dist/esm/Swiper.js +2 -1
  29. package/dist/esm/TabPane.js +5 -33
  30. package/dist/esm/Tabs.js +6 -196
  31. package/dist/esm/TextArea.js +45 -4
  32. package/dist/esm/Toast.js +2 -1
  33. package/dist/esm/nutui-react.es.js +8 -0
  34. package/dist/esm/render-4a3856cb.js +32 -0
  35. package/dist/esm/tabpane-c957ab14.js +33 -0
  36. package/dist/esm/tabs-a48583e9.js +196 -0
  37. package/dist/esm/useClientRect-839d18c5.js +44 -0
  38. package/dist/locales/base.d.ts +16 -0
  39. package/dist/locales/base.js +1 -1
  40. package/dist/locales/en-US.js +17 -1
  41. package/dist/locales/id-ID.js +17 -1
  42. package/dist/locales/zh-CN.js +17 -1
  43. package/dist/locales/zh-TW.js +17 -1
  44. package/dist/nutui.react.es.js +2338 -530
  45. package/dist/nutui.react.umd.js +2345 -529
  46. package/dist/packages/audio/audio.scss +80 -0
  47. package/dist/packages/calendar/calendar.scss +57 -36
  48. package/dist/packages/calendaritem/calendaritem.scss +0 -191
  49. package/dist/packages/cascader/cascader.scss +69 -0
  50. package/dist/packages/grid/grid.scss +10 -0
  51. package/dist/packages/griditem/griditem.scss +103 -0
  52. package/dist/packages/imagepreview/imagepreview.scss +51 -0
  53. package/dist/packages/menu/menu.scss +72 -0
  54. package/dist/packages/menuitem/menuitem.scss +90 -0
  55. package/dist/packages/popup/popup.scss +1 -1
  56. package/dist/packages/searchbar/searchbar.scss +1 -0
  57. package/dist/packages/shortpassword/shortpassword.scss +6 -1
  58. package/dist/packages/swipe/swipe.scss +33 -0
  59. package/dist/packages/textarea/textarea.scss +16 -1
  60. package/dist/style.css +1 -1
  61. package/dist/style.es.js +1 -1
  62. package/dist/styles/font/iconfont.js +20 -18
  63. package/dist/styles/themes/default.scss +8 -0
  64. package/dist/styles/variables.scss +59 -8
  65. package/dist/types/audio/__test__/audio.spec.d.ts +1 -0
  66. package/dist/types/audio/audio.d.ts +18 -0
  67. package/dist/types/audio/audio.taro.d.ts +18 -0
  68. package/dist/types/audio/demo.d.ts +4 -0
  69. package/dist/types/audio/index.d.ts +2 -0
  70. package/dist/types/audio/index.taro.d.ts +2 -0
  71. package/dist/types/backtop/__test__/backtop.spec.d.ts +1 -0
  72. package/dist/types/calendar/__tests__/calendar.spec.d.ts +1 -0
  73. package/dist/types/calendar/calendar.d.ts +22 -2
  74. package/dist/types/calendar/demo.d.ts +1 -0
  75. package/dist/types/calendaritem/calendaritem.d.ts +21 -3
  76. package/dist/types/cascader/__tests__/cascader.spec.d.ts +1 -0
  77. package/dist/types/cascader/cascader.d.ts +25 -0
  78. package/dist/types/cascader/cascader.taro.d.ts +25 -0
  79. package/dist/types/cascader/cascaderItem.d.ts +25 -0
  80. package/dist/types/cascader/cascaderItem.taro.d.ts +25 -0
  81. package/dist/types/cascader/demo.d.ts +3 -0
  82. package/dist/types/cascader/helper.d.ts +4 -0
  83. package/dist/types/cascader/index.d.ts +2 -0
  84. package/dist/types/cascader/index.taro.d.ts +2 -0
  85. package/dist/types/cascader/tree.d.ts +12 -0
  86. package/dist/types/cascader/types.d.ts +28 -0
  87. package/dist/types/checkbox/checkbox.d.ts +2 -2
  88. package/dist/types/checkbox/checkbox.taro.d.ts +2 -2
  89. package/dist/types/checkboxgroup/checkboxgroup.d.ts +2 -2
  90. package/dist/types/checkboxgroup/checkboxgroup.taro.d.ts +2 -2
  91. package/dist/types/dialog/__test__/dialog.spec.d.ts +1 -0
  92. package/dist/types/dialog/config.d.ts +3 -3
  93. package/dist/types/dialog/dialog.d.ts +2 -1
  94. package/dist/types/dialog/dialog.taro.d.ts +2 -1
  95. package/dist/types/fixednav/fixednav.d.ts +2 -2
  96. package/dist/types/grid/__test__/grid.spec.d.ts +1 -0
  97. package/dist/types/grid/demo.d.ts +3 -0
  98. package/dist/types/grid/grid.d.ts +16 -0
  99. package/dist/types/grid/grid.taro.d.ts +16 -0
  100. package/dist/types/grid/index.d.ts +2 -0
  101. package/dist/types/grid/index.taro.d.ts +2 -0
  102. package/dist/types/griditem/griditem.d.ts +20 -0
  103. package/dist/types/griditem/griditem.taro.d.ts +20 -0
  104. package/dist/types/griditem/index.d.ts +2 -0
  105. package/dist/types/griditem/index.taro.d.ts +2 -0
  106. package/dist/types/icon/icon.d.ts +1 -2
  107. package/dist/types/icon/icon.taro.d.ts +1 -2
  108. package/dist/types/imagepreview/__test__/imagepreview.spec.d.ts +1 -0
  109. package/dist/types/imagepreview/demo.d.ts +3 -0
  110. package/dist/types/imagepreview/imagepreview.d.ts +26 -0
  111. package/dist/types/imagepreview/imagepreview.taro.d.ts +26 -0
  112. package/dist/types/imagepreview/index.d.ts +2 -0
  113. package/dist/types/imagepreview/index.taro.d.ts +2 -0
  114. package/dist/types/input/__test__/input.spec.d.ts +1 -0
  115. package/dist/types/menu/__test__/menu.spec.d.ts +1 -0
  116. package/dist/types/menu/demo.d.ts +4 -0
  117. package/dist/types/menu/index.d.ts +2 -0
  118. package/dist/types/menu/index.taro.d.ts +2 -0
  119. package/dist/types/menu/menu.d.ts +12 -0
  120. package/dist/types/menu/menu.taro.d.ts +12 -0
  121. package/dist/types/menuitem/index.d.ts +2 -0
  122. package/dist/types/menuitem/index.taro.d.ts +2 -0
  123. package/dist/types/menuitem/menuitem.d.ts +23 -0
  124. package/dist/types/menuitem/menuitem.taro.d.ts +23 -0
  125. package/dist/types/notify/__test__/notify.spec.d.ts +1 -0
  126. package/dist/types/notify/notify.d.ts +13 -0
  127. package/dist/types/notify/notify.taro.d.ts +13 -0
  128. package/dist/types/nutui.react.d.ts +95 -1
  129. package/dist/types/picker/doc.en.d.ts +142 -0
  130. package/dist/types/picker/picker.d.ts +2 -2
  131. package/dist/types/picker/picker.taro.d.ts +2 -2
  132. package/dist/types/popup/popup.d.ts +1 -1
  133. package/dist/types/popup/popup.taro.d.ts +1 -1
  134. package/dist/types/shortpassword/shortpassword.taro.d.ts +3 -3
  135. package/dist/types/sidenavbar/sidenavbar.d.ts +14 -2
  136. package/dist/types/sidenavbar/sidenavbar.taro.d.ts +14 -2
  137. package/dist/types/sidenavbaritem/sidenavbaritem.d.ts +10 -2
  138. package/dist/types/sidenavbaritem/sidenavbaritem.taro.d.ts +10 -2
  139. package/dist/types/subsidenavbar/subsidenavbar.d.ts +13 -3
  140. package/dist/types/subsidenavbar/subsidenavbar.taro.d.ts +13 -3
  141. package/dist/types/swipe/__tests__/swipe.spec.d.ts +1 -0
  142. package/dist/types/swipe/demo.d.ts +3 -0
  143. package/dist/types/swipe/index.d.ts +2 -0
  144. package/dist/types/swipe/index.taro.d.ts +2 -0
  145. package/dist/types/swipe/swipe.d.ts +41 -0
  146. package/dist/types/swipe/swipe.taro.d.ts +41 -0
  147. package/dist/types/swiper/swiper.d.ts +1 -2
  148. package/dist/types/swiperitem/swiperitem.d.ts +1 -2
  149. package/dist/types/table/table.d.ts +2 -1
  150. package/dist/types/table/table.taro.d.ts +2 -1
  151. package/dist/types/table/types.d.ts +1 -1
  152. package/dist/types/textarea/__test__/textarea.spec.d.ts +1 -0
  153. package/dist/types/toast/toast.d.ts +21 -0
  154. package/dist/types/toast/toast.taro.d.ts +18 -0
  155. package/dist/types/virtuallist/type.d.ts +1 -1
  156. package/dist/types/virtuallist/virtuallist.d.ts +2 -1
  157. package/dist/types/virtuallist/virtuallist.taro.d.ts +2 -1
  158. package/package.json +4 -4
@@ -0,0 +1,265 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+
4
+ 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
+
6
+ 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
+
8
+ import React__default, { forwardRef, useRef, useState, useMemo, useCallback, useImperativeHandle, useEffect } from 'react';
9
+ import { c as cn } from './bem-893ad28d.js';
10
+ import { u as useTouch } from './useTouch-a2ea68c6.js';
11
+ import { g as getRect } from './useClientRect-839d18c5.js';
12
+ import '@bem-react/classname';
13
+
14
+ function preventDefault(event, isStopPropagation) {
15
+ if (typeof event.cancelable !== 'boolean' || event.cancelable) {
16
+ event.preventDefault();
17
+ }
18
+
19
+ if (isStopPropagation) {
20
+ event.stopPropagation();
21
+ }
22
+ }
23
+
24
+ var defaultProps = {
25
+ name: '',
26
+ leftWidth: 0,
27
+ rightWidth: 0
28
+ };
29
+ var Swipe = forwardRef(function (props, instanceRef) {
30
+ var swipeBem = cn('swipe');
31
+ var touch = useTouch();
32
+
33
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
34
+ children = _defaultProps$props.children,
35
+ className = _defaultProps$props.className,
36
+ style = _defaultProps$props.style;
37
+
38
+ var root = useRef();
39
+ var opened = useRef(false);
40
+ var lockClick = useRef(false);
41
+ var startOffset = useRef(0);
42
+
43
+ var _useState = useState({
44
+ offset: 0,
45
+ dragging: false
46
+ }),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ state = _useState2[0],
49
+ setState = _useState2[1];
50
+
51
+ var _useState3 = useState({
52
+ left: 0,
53
+ right: 0
54
+ }),
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ actionWidth = _useState4[0],
57
+ setActionWidth = _useState4[1];
58
+
59
+ var wrapperStyle = {
60
+ transform: "translate3d(".concat(state.offset, "px, 0, 0)"),
61
+ transitionDuration: state.dragging ? '0s' : '.6s'
62
+ };
63
+ var leftWidth = useMemo(function () {
64
+ return props.leftWidth ? props.leftWidth : actionWidth.left;
65
+ }, [props.leftWidth, actionWidth.left]);
66
+ var rightWidth = useMemo(function () {
67
+ return props.rightWidth ? props.rightWidth : actionWidth.right;
68
+ }, [props.rightWidth, actionWidth.right]);
69
+
70
+ var _onTouchStart = function onTouchStart(event) {
71
+ if (!props.disabled) {
72
+ startOffset.current = state.offset;
73
+ touch.start(event);
74
+ }
75
+ };
76
+
77
+ var _onTouchMove = function onTouchMove(event) {
78
+ if (props.disabled) {
79
+ return;
80
+ }
81
+
82
+ touch.move(event);
83
+
84
+ if (touch.isHorizontal()) {
85
+ lockClick.current = true;
86
+
87
+ var newState = _objectSpread(_objectSpread({}, state), {}, {
88
+ dragging: true
89
+ });
90
+
91
+ var isEdge = !opened || touch.deltaX * startOffset.current < 0;
92
+
93
+ if (isEdge) {
94
+ preventDefault(event, true);
95
+ }
96
+
97
+ newState.offset = rangeCalculation(touch.deltaX + startOffset.current, -rightWidth, leftWidth);
98
+ setState(newState);
99
+ }
100
+ };
101
+
102
+ var onTouchEnd = function onTouchEnd() {
103
+ if (state.dragging) {
104
+ setState(function (v) {
105
+ return _objectSpread(_objectSpread({}, v), {}, {
106
+ dragging: false
107
+ });
108
+ });
109
+ toggle(state.offset > 0 ? 'left' : 'right');
110
+ setTimeout(function () {
111
+ lockClick.current = false;
112
+ }, 0);
113
+ }
114
+ };
115
+
116
+ var toggle = function toggle(side) {
117
+ var offset = Math.abs(state.offset);
118
+ var base = 0.3;
119
+ var baseNum = opened ? 1 - base : base;
120
+ var width = side === 'left' ? leftWidth : rightWidth;
121
+
122
+ if (width && offset > Number(width) * baseNum) {
123
+ open(side);
124
+ } else {
125
+ _close(side);
126
+ }
127
+ };
128
+
129
+ var open = function open(side) {
130
+ var _props$onOpen;
131
+
132
+ opened.current = true;
133
+ var offset = side === 'left' ? leftWidth : -rightWidth;
134
+ var name = props.name;
135
+ (_props$onOpen = props.onOpen) === null || _props$onOpen === void 0 ? void 0 : _props$onOpen.call(props, {
136
+ name: name,
137
+ position: side
138
+ });
139
+ setState(function (v) {
140
+ return _objectSpread(_objectSpread({}, v), {}, {
141
+ offset: Number(offset) || 0
142
+ });
143
+ });
144
+ };
145
+
146
+ var _close = function close(position) {
147
+ if (opened.current) {
148
+ var _props$onClose;
149
+
150
+ opened.current = false;
151
+ (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props, {
152
+ name: props.name,
153
+ position: position || 'left'
154
+ });
155
+ }
156
+
157
+ setState(function (v) {
158
+ return _objectSpread(_objectSpread({}, v), {}, {
159
+ offset: 0
160
+ });
161
+ });
162
+ };
163
+
164
+ var rangeCalculation = function rangeCalculation(num, min, max) {
165
+ return Math.min(Math.max(Number(num), Number(min)), Number(max));
166
+ };
167
+
168
+ var getNodeWidth = function getNodeWidth(node) {
169
+ if (node) {
170
+ var ele = getRect(node);
171
+ return ele.width;
172
+ }
173
+
174
+ return 0;
175
+ };
176
+
177
+ var leftRef = useCallback(function (node) {
178
+ if (node !== null) {
179
+ setActionWidth(function (v) {
180
+ return _objectSpread(_objectSpread({}, v), {}, {
181
+ left: getNodeWidth(node)
182
+ });
183
+ });
184
+ }
185
+ }, [props.leftAction]);
186
+ var rightRef = useCallback(function (node) {
187
+ if (node !== null) {
188
+ setActionWidth(function (v) {
189
+ return _objectSpread(_objectSpread({}, v), {}, {
190
+ right: getNodeWidth(node)
191
+ });
192
+ });
193
+ }
194
+ }, [props.rightAction]);
195
+
196
+ var renderActionContent = function renderActionContent(side, measuredRef) {
197
+ if (props["".concat(side, "Action")]) {
198
+ return React__default.createElement("div", {
199
+ ref: measuredRef,
200
+ className: "".concat(swipeBem(side)),
201
+ onClick: function onClick(e) {
202
+ return handleOperate(e, side);
203
+ }
204
+ }, props["".concat(side, "Action")]);
205
+ }
206
+
207
+ return null;
208
+ };
209
+
210
+ var handleOperate = function handleOperate(event, position) {
211
+ event.stopPropagation();
212
+
213
+ if (props.beforeClose) {
214
+ props.beforeClose(position);
215
+ } else {
216
+ props.onActionClick && props.onActionClick(event, position);
217
+ }
218
+ };
219
+
220
+ useImperativeHandle(instanceRef, function () {
221
+ return {
222
+ open: open,
223
+ close: function close() {
224
+ return _close();
225
+ }
226
+ };
227
+ });
228
+ useEffect(function () {
229
+ var handler = function handler(event) {
230
+ var targets = [root];
231
+
232
+ if (targets.some(function (targetItem) {
233
+ var targetElement = targetItem.current || targetItem;
234
+ return !targetElement || (targetElement === null || targetElement === void 0 ? void 0 : targetElement.contains(event.target));
235
+ })) {
236
+ return;
237
+ }
238
+
239
+ _close();
240
+ };
241
+
242
+ document.addEventListener('touchstart', handler);
243
+ return function () {
244
+ document.removeEventListener('touchstart', handler);
245
+ };
246
+ }, []);
247
+ return React__default.createElement("div", {
248
+ ref: root,
249
+ className: "".concat(swipeBem(), " ").concat(className),
250
+ onTouchStart: function onTouchStart(e) {
251
+ return _onTouchStart(e);
252
+ },
253
+ onTouchMove: function onTouchMove(e) {
254
+ return _onTouchMove(e);
255
+ },
256
+ onTouchEnd: onTouchEnd,
257
+ style: style
258
+ }, React__default.createElement("div", {
259
+ className: "".concat(swipeBem('wrapper')),
260
+ style: wrapperStyle
261
+ }, renderActionContent('left', leftRef), children, renderActionContent('right', rightRef)));
262
+ });
263
+ Swipe.defaultProps = defaultProps;
264
+ Swipe.displayName = 'NutSwipe';
265
+ export { Swipe as default };
@@ -12,6 +12,7 @@ import React__default, { useRef, useState, useMemo, useEffect } from 'react';
12
12
  import classNames from 'classnames';
13
13
  import { D as DataContext } from './UserContext-b4181162.js';
14
14
  import { c as cn } from './bem-893ad28d.js';
15
+ import { g as getRect } from './useClientRect-839d18c5.js';
15
16
  import '@bem-react/classname';
16
17
  var defaultProps = {
17
18
  width: (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' ? window.innerWidth : 375,
@@ -442,7 +443,7 @@ var Swiper = React__default.forwardRef(function (props, ref) {
442
443
 
443
444
  var init = function init() {
444
445
  var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : +propSwiper.initPage;
445
- var rect = container.current.getBoundingClientRect();
446
+ var rect = getRect(container === null || container === void 0 ? void 0 : container.current);
446
447
 
447
448
  var _active = Math.max(Math.min(childCount - 1, active), 0);
448
449
 
@@ -1,34 +1,6 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- 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; }
4
-
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
-
7
- import React__default from 'react';
8
- import classNames from 'classnames';
9
- import { c as cn } from './bem-893ad28d.js';
1
+ import { T as TabPane } from './tabpane-c957ab14.js';
2
+ export { T as default } from './tabpane-c957ab14.js';
3
+ import 'react';
4
+ import 'classnames';
5
+ import './bem-893ad28d.js';
10
6
  import '@bem-react/classname';
11
- var defaultProps = {
12
- title: '',
13
- paneKey: '',
14
- activeKey: '',
15
- disabled: false
16
- };
17
-
18
- var TabPane = function TabPane(props) {
19
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
20
- children = _defaultProps$props.children,
21
- paneKey = _defaultProps$props.paneKey,
22
- activeKey = _defaultProps$props.activeKey,
23
- autoHeightClassName = _defaultProps$props.autoHeightClassName;
24
-
25
- var b = cn('tabpane');
26
- var classes = classNames({
27
- active: paneKey === activeKey
28
- }, b(''), autoHeightClassName);
29
- return React__default.createElement("div", {
30
- className: classes
31
- }, children);
32
- };
33
-
34
- export { TabPane as default };
package/dist/esm/Tabs.js CHANGED
@@ -1,197 +1,7 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
- var _excluded = ["value", "color", "background", "direction", "type", "titleScroll", "ellipsis", "animatedTime", "titleGutter", "size", "titleNode", "children", "onClick", "onChange", "className", "autoHeight"];
7
-
8
- 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; }
9
-
10
- 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; }
11
-
12
- import React__default, { useState, useRef, useEffect } from 'react';
13
- import classNames from 'classnames';
14
- import { c as cn } from './bem-893ad28d.js';
15
- import Icon from './Icon.js';
1
+ import { T as Tabs } from './tabs-a48583e9.js';
2
+ export { T as default } from './tabs-a48583e9.js';
3
+ import 'react';
4
+ import 'classnames';
5
+ import './bem-893ad28d.js';
16
6
  import '@bem-react/classname';
17
-
18
- var Title = /*#__PURE__*/_createClass( // eslint-disable-next-line no-useless-constructor
19
- function Title() {
20
- _classCallCheck(this, Title);
21
-
22
- _defineProperty(this, "title", '');
23
-
24
- _defineProperty(this, "paneKey", '');
25
-
26
- _defineProperty(this, "disabled", false);
27
-
28
- _defineProperty(this, "index", 0);
29
- });
30
-
31
- var defaultProps = {
32
- value: 0,
33
- color: '',
34
- background: '',
35
- direction: 'horizontal',
36
- type: 'line',
37
- titleScroll: false,
38
- ellipsis: true,
39
- animatedTime: 300,
40
- titleGutter: 0,
41
- size: 'normal',
42
- autoHeight: false
43
- };
44
-
45
- var pxCheck = function pxCheck(value) {
46
- return Number.isNaN(Number(value)) ? String(value) : "".concat(value, "px");
47
- };
48
-
49
- var Tabs = function Tabs(props) {
50
- var _classNames;
51
-
52
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
53
- value = _defaultProps$props.value,
54
- color = _defaultProps$props.color,
55
- background = _defaultProps$props.background,
56
- direction = _defaultProps$props.direction,
57
- type = _defaultProps$props.type,
58
- titleScroll = _defaultProps$props.titleScroll,
59
- ellipsis = _defaultProps$props.ellipsis,
60
- animatedTime = _defaultProps$props.animatedTime,
61
- titleGutter = _defaultProps$props.titleGutter,
62
- size = _defaultProps$props.size,
63
- titleNode = _defaultProps$props.titleNode,
64
- children = _defaultProps$props.children,
65
- onClick = _defaultProps$props.onClick,
66
- onChange = _defaultProps$props.onChange,
67
- className = _defaultProps$props.className,
68
- autoHeight = _defaultProps$props.autoHeight,
69
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
70
-
71
- var _useState = useState({
72
- index: 0
73
- }),
74
- _useState2 = _slicedToArray(_useState, 2),
75
- currentItem = _useState2[0],
76
- setCurrentItem = _useState2[1];
77
-
78
- var titles = useRef([]);
79
- useEffect(function () {
80
- var currentIndex = 0;
81
- titles.current = []; // eslint-disable-next-line consistent-return
82
-
83
- React__default.Children.forEach(children, function (child, idx) {
84
- var _child$props, _child$props2;
85
-
86
- if (!React__default.isValidElement(child)) {
87
- return null;
88
- }
89
-
90
- var title = new Title();
91
-
92
- if ((_child$props = child.props) !== null && _child$props !== void 0 && _child$props.title || (_child$props2 = child.props) !== null && _child$props2 !== void 0 && _child$props2.paneKey) {
93
- var _child$props3, _child$props4, _child$props5;
94
-
95
- title.title = (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.title;
96
- title.paneKey = ((_child$props4 = child.props) === null || _child$props4 === void 0 ? void 0 : _child$props4.paneKey) || idx;
97
- title.disabled = (_child$props5 = child.props) === null || _child$props5 === void 0 ? void 0 : _child$props5.disabled;
98
- title.index = idx;
99
-
100
- if (title.paneKey === value) {
101
- currentIndex = idx;
102
- }
103
- }
104
-
105
- titles.current.push(title);
106
- });
107
- setCurrentItem(titles.current[currentIndex]);
108
- }, [children]);
109
- var b = cn('tabs');
110
- var classes = classNames(direction, b(''), className);
111
- var classesTitle = classNames((_classNames = {}, _defineProperty(_classNames, type, type), _defineProperty(_classNames, "scrollable", titleScroll), _defineProperty(_classNames, size, size), _classNames), "".concat(b(''), "__titles"));
112
- var titleStyle = {
113
- marginLeft: pxCheck(titleGutter),
114
- marginRight: pxCheck(titleGutter)
115
- };
116
- var tabsActiveStyle = {
117
- color: type === 'smile' ? color : '',
118
- background: type === 'line' ? color : ''
119
- };
120
- var index = titles.current.findIndex(function (t) {
121
- return t.paneKey === value;
122
- });
123
- var contentStyle = {
124
- transform: direction === 'horizontal' ? "translate3d(-".concat(index * 100, "%, 0, 0)") : "translate3d( 0,-".concat(index * 100, "%, 0)"),
125
- transitionDuration: "".concat(animatedTime, "ms")
126
- };
127
-
128
- var tabChange = function tabChange(item, index) {
129
- onClick && onClick(item);
130
-
131
- if (item.disabled) {
132
- return;
133
- }
134
-
135
- setCurrentItem(item);
136
- onChange && onChange(item);
137
- };
138
-
139
- return React__default.createElement("div", _objectSpread({
140
- className: classes
141
- }, rest), React__default.createElement("div", {
142
- className: classesTitle,
143
- style: {
144
- background: background
145
- }
146
- }, !!titleNode && typeof titleNode === 'function' ? titleNode() : titles.current.map(function (item, index) {
147
- return React__default.createElement("div", {
148
- style: titleStyle,
149
- onClick: function onClick(e) {
150
- return tabChange(item);
151
- },
152
- className: classNames({
153
- active: String(item.paneKey) === String(value),
154
- disabled: item.disabled
155
- }, "".concat(b(''), "__titles-item")),
156
- key: item.paneKey
157
- }, type === 'line' && React__default.createElement("div", {
158
- className: "".concat(b(''), "__titles-item__line"),
159
- style: tabsActiveStyle
160
- }), type === 'smile' && React__default.createElement("div", {
161
- className: "".concat(b(''), "__titles-item__smile"),
162
- style: tabsActiveStyle
163
- }, React__default.createElement(Icon, {
164
- color: color,
165
- name: "joy-smile"
166
- })), React__default.createElement("div", {
167
- className: classNames({
168
- ellipsis: ellipsis && !titleScroll && direction === 'horizontal'
169
- }, "".concat(b(''), "__titles-item__text"))
170
- }, item.title));
171
- })), React__default.createElement("div", {
172
- className: "".concat(b(''), "__content"),
173
- style: contentStyle
174
- }, React__default.Children.map(children, function (child, idx) {
175
- var _child$props6;
176
-
177
- if (!React__default.isValidElement(child)) {
178
- return null;
179
- }
180
-
181
- var childProps = _objectSpread(_objectSpread({}, child.props), {}, {
182
- activeKey: value
183
- });
184
-
185
- if (String(value) !== String(((_child$props6 = child.props) === null || _child$props6 === void 0 ? void 0 : _child$props6.paneKey) || idx) && autoHeight) {
186
- childProps = _objectSpread(_objectSpread({}, childProps), {}, {
187
- autoHeightClassName: 'inactive'
188
- });
189
- }
190
-
191
- return React__default.cloneElement(child, childProps);
192
- })));
193
- };
194
-
195
- Tabs.defaultProps = defaultProps;
196
- Tabs.displayName = 'NutTabs';
197
- export { Tabs as default };
7
+ import './Icon.js';
@@ -1,3 +1,4 @@
1
+ import _typeof from "@babel/runtime/helpers/typeof";
1
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
4
 
@@ -5,7 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
5
6
 
6
7
  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
8
 
8
- import React__default, { useState, useEffect } from 'react';
9
+ import React__default, { useState, useRef, useEffect } from 'react';
9
10
  import { useConfig } from './ConfigProvider.js';
10
11
  import { c as cn } from './bem-893ad28d.js';
11
12
  import '@bem-react/classname';
@@ -48,6 +49,7 @@ var TextArea = function TextArea(props) {
48
49
  inputValue = _useState2[0],
49
50
  SetInputValue = _useState2[1];
50
51
 
52
+ var textareaRef = useRef(null);
51
53
  useEffect(function () {
52
54
  if (defaultValue) {
53
55
  var initValue = defaultValue;
@@ -58,7 +60,46 @@ var TextArea = function TextArea(props) {
58
60
 
59
61
  SetInputValue(initValue);
60
62
  }
61
- }, [defaultValue]);
63
+
64
+ if (autosize) {
65
+ setTimeout(function () {
66
+ setContentHeight();
67
+ });
68
+ }
69
+ }, [defaultValue, autosize]);
70
+ useEffect(function () {
71
+ if (inputValue) {
72
+ if (autosize) {
73
+ setContentHeight();
74
+ }
75
+ }
76
+ }, [inputValue]);
77
+
78
+ var setContentHeight = function setContentHeight() {
79
+ var textarea = textareaRef.current;
80
+
81
+ if (textarea) {
82
+ textarea.style.height = 'auto';
83
+ var height = textarea === null || textarea === void 0 ? void 0 : textarea.scrollHeight;
84
+
85
+ if (_typeof(autosize) === 'object') {
86
+ var maxHeight = autosize.maxHeight,
87
+ minHeight = autosize.minHeight;
88
+
89
+ if (maxHeight !== undefined) {
90
+ height = Math.min(height, maxHeight);
91
+ }
92
+
93
+ if (minHeight !== undefined) {
94
+ height = Math.max(height, minHeight);
95
+ }
96
+ }
97
+
98
+ if (height) {
99
+ textarea.style.height = "".concat(height, "px");
100
+ }
101
+ }
102
+ };
62
103
 
63
104
  var textChange = function textChange(event) {
64
105
  var text = event.target;
@@ -88,10 +129,10 @@ var TextArea = function TextArea(props) {
88
129
  return React__default.createElement("div", {
89
130
  className: "".concat(textareaBem(), " ").concat(disabled ? textareaBem('disabled') : '', " ").concat(className || '')
90
131
  }, React__default.createElement("textarea", {
132
+ ref: textareaRef,
91
133
  className: textareaBem('textarea'),
92
134
  style: _objectSpread({
93
- textAlign: textAlign,
94
- resize: "".concat(autosize ? 'vertical' : 'none')
135
+ textAlign: textAlign
95
136
  }, style),
96
137
  disabled: disabled,
97
138
  readOnly: readonly,
package/dist/esm/Toast.js CHANGED
@@ -19,6 +19,7 @@ import * as ReactDOM from 'react-dom';
19
19
  import classNames from 'classnames';
20
20
  import { c as cn } from './bem-893ad28d.js';
21
21
  import Icon from './Icon.js';
22
+ import { r as render } from './render-4a3856cb.js';
22
23
  import '@bem-react/classname';
23
24
 
24
25
  var Notification = /*#__PURE__*/function (_React$PureComponent) {
@@ -178,7 +179,7 @@ Notification.newInstance = function (properties, callback) {
178
179
  });
179
180
  }
180
181
 
181
- ReactDOM.render(React.createElement(Notification, _objectSpread(_objectSpread({}, properties), {}, {
182
+ render(React.createElement(Notification, _objectSpread(_objectSpread({}, properties), {}, {
182
183
  ref: ref
183
184
  })), element);
184
185
  };
@@ -9,6 +9,8 @@ export { default as Layout } from './Layout.js';
9
9
  export { default as Col } from './Col.js';
10
10
  export { default as Row } from './Row.js';
11
11
  export { default as Divider } from './Divider.js';
12
+ export { default as Grid } from './Grid.js';
13
+ export { default as GridItem } from './GridItem.js';
12
14
  export { default as NavBar } from './NavBar.js';
13
15
  export { default as FixedNav } from './FixedNav.js';
14
16
  export { default as Tabbar } from './Tabbar.js';
@@ -21,6 +23,8 @@ export { default as Indicator } from './Indicator.js';
21
23
  export { default as SideNavBar } from './SideNavBar.js';
22
24
  export { default as SubSideNavBar } from './SubSideNavBar.js';
23
25
  export { default as SideNavBarItem } from './SideNavBarItem.js';
26
+ export { default as Menu } from './Menu.js';
27
+ export { default as MenuItem } from './MenuItem.js';
24
28
  export { default as Range } from './Range.js';
25
29
  export { default as Calendar } from './Calendar.js';
26
30
  export { default as Checkbox } from './Checkbox.js';
@@ -36,6 +40,7 @@ export { default as Picker } from './Picker.js';
36
40
  export { default as ShortPassword } from './ShortPassword.js';
37
41
  export { default as TextArea } from './TextArea.js';
38
42
  export { default as Uploader } from './Uploader.js';
43
+ export { default as Cascader } from './Cascader.js';
39
44
  export { default as SearchBar } from './SearchBar.js';
40
45
  export { default as NumberKeyboard } from './NumberKeyboard.js';
41
46
  export { default as ActionSheet } from './ActionSheet.js';
@@ -46,6 +51,7 @@ export { default as Infiniteloading } from './Infiniteloading.js';
46
51
  export { default as Notify } from './Notify.js';
47
52
  export { default as Switch } from './Switch.js';
48
53
  export { default as Toast } from './Toast.js';
54
+ export { default as Swipe } from './Swipe.js';
49
55
  export { default as CircleProgress } from './CircleProgress.js';
50
56
  export { default as NoticeBar } from './NoticeBar.js';
51
57
  export { default as Steps } from './Steps.js';
@@ -68,6 +74,8 @@ export { default as VirtualList } from './VirtualList.js';
68
74
  export { default as Table } from './Table.js';
69
75
  export { default as Video } from './Video.js';
70
76
  export { default as Progress } from './Progress.js';
77
+ export { default as Audio } from './Audio.js';
78
+ export { default as ImagePreview } from './ImagePreview.js';
71
79
  export { default as Address } from './Address.js';
72
80
  export { default as Barrage } from './Barrage.js';
73
81
  export { default as Signature } from './Signature.js';