@nutui/nutui-react 1.2.1-beta.1 → 1.2.2-beta.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 (67) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/esm/ConfigProvider.js +11 -0
  3. package/dist/esm/DatePicker.js +148 -106
  4. package/dist/esm/Divider.js +6 -3
  5. package/dist/esm/Icon.js +4 -72
  6. package/dist/esm/NumberKeyboard/style/index.js +2 -0
  7. package/dist/esm/NumberKeyboard.js +277 -0
  8. package/dist/esm/Picker.js +294 -195
  9. package/dist/esm/Progress/style/index.js +2 -0
  10. package/dist/esm/Progress.js +130 -0
  11. package/dist/esm/Range.js +186 -129
  12. package/dist/esm/SearchBar/style/index.js +2 -0
  13. package/dist/esm/SearchBar.js +247 -0
  14. package/dist/esm/Signature.js +3 -0
  15. package/dist/esm/Tabbar.js +6 -3
  16. package/dist/esm/TabbarItem.js +14 -5
  17. package/dist/esm/Tag.js +18 -9
  18. package/dist/esm/icon-62bd7379.js +72 -0
  19. package/dist/esm/nutui-react.es.js +3 -0
  20. package/dist/esm/useTouch-a2ea68c6.js +119 -0
  21. package/dist/locales/base.d.ts +11 -0
  22. package/dist/locales/base.js +1 -1
  23. package/dist/locales/en-US.js +12 -1
  24. package/dist/locales/id-ID.js +12 -1
  25. package/dist/locales/zh-CN.js +12 -1
  26. package/dist/locales/zh-TW.js +12 -1
  27. package/dist/nutui.react.es.js +1312 -592
  28. package/dist/nutui.react.umd.js +15 -15
  29. package/dist/packages/numberkeyboard/numberkeyboard.scss +106 -0
  30. package/dist/packages/picker/picker.scss +35 -16
  31. package/dist/packages/progress/progress.scss +81 -0
  32. package/dist/packages/range/range.scss +141 -13
  33. package/dist/packages/searchbar/searchbar.scss +106 -0
  34. package/dist/packages/signature/signature.scss +4 -4
  35. package/dist/packages/tabbar/tabbar.scss +10 -3
  36. package/dist/packages/tabbaritem/tabbaritem.scss +26 -8
  37. package/dist/style.css +1 -1
  38. package/dist/style.es.js +1 -1
  39. package/dist/styles/themes/default.scss +3 -0
  40. package/dist/styles/variables.scss +73 -6
  41. package/dist/types/datepicker/__test__/datepicker.spec.d.ts +1 -0
  42. package/dist/types/datepicker/datepicker.d.ts +16 -5
  43. package/dist/types/divider/__test__/divider.spec.d.ts +1 -0
  44. package/dist/types/navbar/__test__/navbar.spec.d.ts +1 -0
  45. package/dist/types/numberkeyboard/_test_/index.spec.d.ts +1 -0
  46. package/dist/types/numberkeyboard/demo.d.ts +3 -0
  47. package/dist/types/numberkeyboard/index.d.ts +2 -0
  48. package/dist/types/numberkeyboard/numberkeyboard.d.ts +20 -0
  49. package/dist/types/nutui.react.d.ts +4 -1
  50. package/dist/types/picker/picker.d.ts +17 -13
  51. package/dist/types/picker/pickerSlot.d.ts +4 -3
  52. package/dist/types/progress/__tests__/progress.spec.d.ts +1 -0
  53. package/dist/types/progress/demo.d.ts +3 -0
  54. package/dist/types/progress/index.d.ts +2 -0
  55. package/dist/types/progress/progress.d.ts +26 -0
  56. package/dist/types/range/demo.d.ts +1 -0
  57. package/dist/types/range/range.d.ts +3 -1
  58. package/dist/types/searchbar/demo.d.ts +3 -0
  59. package/dist/types/searchbar/index.d.ts +2 -0
  60. package/dist/types/searchbar/searchbar.d.ts +60 -0
  61. package/dist/types/signature/__test__/signature.spec.d.ts +2 -0
  62. package/dist/types/tabbar/__tests__/tabbar.spec.d.ts +1 -0
  63. package/dist/types/tabbar/tabbar.d.ts +2 -2
  64. package/dist/types/tabbaritem/tabbaritem.d.ts +4 -1
  65. package/dist/types/tag/tag.d.ts +1 -1
  66. package/package.json +3 -2
  67. package/dist/packages/range/custom.scss +0 -9
@@ -0,0 +1,277 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+
5
+ 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; }
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; }
8
+
9
+ import React__default, { useState, useEffect } from 'react';
10
+ import classNames from 'classnames';
11
+ import { c as cn } from './bem-893ad28d.js';
12
+ import Popup from './Popup.js';
13
+ import { useConfig } from './ConfigProvider.js';
14
+ import '@bem-react/classname';
15
+ var defaultProps = {
16
+ confirmText: '',
17
+ title: '',
18
+ visible: false,
19
+ type: 'default',
20
+ customKey: [],
21
+ className: '',
22
+ randomKeys: false,
23
+ popClass: '',
24
+ onClose: function onClose() {}
25
+ };
26
+
27
+ var NumberKeyboard = function NumberKeyboard(props) {
28
+ var _useConfig = useConfig(),
29
+ locale = _useConfig.locale;
30
+
31
+ var title = props.title,
32
+ confirmText = props.confirmText,
33
+ visible = props.visible,
34
+ type = props.type,
35
+ customKey = props.customKey,
36
+ randomKeys = props.randomKeys,
37
+ popClass = props.popClass,
38
+ style = props.style,
39
+ className = props.className,
40
+ onChange = props.onChange,
41
+ onDelete = props.onDelete,
42
+ onClose = props.onClose;
43
+ var b = cn('numberkeyboard');
44
+
45
+ var _useState = useState(visible),
46
+ _useState2 = _slicedToArray(_useState, 2),
47
+ show = _useState2[0],
48
+ setShow = _useState2[1];
49
+
50
+ var _useState3 = useState(undefined),
51
+ _useState4 = _slicedToArray(_useState3, 2),
52
+ clickKeyIndex = _useState4[0],
53
+ setClickKeyIndex = _useState4[1];
54
+
55
+ var _useState5 = useState([]),
56
+ _useState6 = _slicedToArray(_useState5, 2),
57
+ keysList = _useState6[0],
58
+ setKeysList = _useState6[1];
59
+
60
+ useEffect(function () {
61
+ setShow(visible);
62
+ }, [visible]);
63
+
64
+ var defaultKey = function defaultKey() {
65
+ var leftBottomKey = {
66
+ id: 'lock',
67
+ type: 'lock'
68
+ };
69
+
70
+ if (customKey) {
71
+ var customKeys = Array.isArray(customKey) ? customKey : [customKey];
72
+
73
+ if (customKeys.length > 0) {
74
+ var newCustomKey = customKeys[0];
75
+ leftBottomKey = {
76
+ id: newCustomKey,
77
+ type: 'custom'
78
+ };
79
+ }
80
+ }
81
+
82
+ return [].concat(_toConsumableArray(getBasicKeys()), [leftBottomKey, {
83
+ id: 0,
84
+ type: 'number'
85
+ }, {
86
+ id: 'delete',
87
+ type: 'delete'
88
+ }]);
89
+ };
90
+
91
+ var getBasicKeys = function getBasicKeys() {
92
+ var keys = [];
93
+
94
+ for (var i = 1; i <= 9; i++) {
95
+ keys.push({
96
+ id: i,
97
+ type: 'number'
98
+ });
99
+ }
100
+
101
+ if (randomKeys) {
102
+ return keys.sort(function () {
103
+ return Math.random() > 0.5 ? 1 : -1;
104
+ });
105
+ }
106
+
107
+ return keys;
108
+ };
109
+
110
+ var genCustomKeys = function genCustomKeys() {
111
+ var keys = getBasicKeys();
112
+ if (!customKey) return [];
113
+ var customKeys = Array.isArray(customKey) ? customKey : [customKey];
114
+
115
+ if (customKeys.length > 2) {
116
+ customKeys = [customKeys[0], customKeys[1]];
117
+ }
118
+
119
+ if (customKeys.length === 2 && props.title && props.type !== 'rightColumn') {
120
+ customKeys = [customKeys[0]];
121
+ }
122
+
123
+ if (customKeys.length === 1) {
124
+ if (props.title && props.type !== 'rightColumn') {
125
+ keys.push({
126
+ id: customKeys[0],
127
+ type: 'custom'
128
+ }, {
129
+ id: 0,
130
+ type: 'number'
131
+ }, {
132
+ id: 'delete',
133
+ type: 'delete'
134
+ });
135
+ } else {
136
+ keys.push({
137
+ id: 0,
138
+ type: 'number'
139
+ }, {
140
+ id: customKeys[0],
141
+ type: 'custom'
142
+ });
143
+ }
144
+ } else if (customKeys.length === 2) {
145
+ keys.push({
146
+ id: customKeys[0],
147
+ type: 'custom'
148
+ }, {
149
+ id: 0,
150
+ type: 'number'
151
+ }, {
152
+ id: customKeys[1],
153
+ type: 'custom'
154
+ });
155
+ }
156
+
157
+ return keys;
158
+ };
159
+
160
+ useEffect(function () {
161
+ if (props.type === 'rightColumn' || props.title !== '') {
162
+ setKeysList(genCustomKeys());
163
+ } else {
164
+ setKeysList(defaultKey());
165
+ }
166
+ }, []);
167
+
168
+ var onTouchstart = function onTouchstart(item, event) {
169
+ event.stopPropagation();
170
+ setClickKeyIndex(item.id);
171
+
172
+ if (item.type === 'number' || item.type === 'custom') {
173
+ onChange && onChange(item.id);
174
+ }
175
+
176
+ if (item.type === 'lock') {
177
+ onClose && onClose();
178
+ }
179
+
180
+ if (item.type === 'delete') {
181
+ onDelete && onDelete();
182
+ }
183
+ };
184
+
185
+ var onTouchMove = function onTouchMove(event) {
186
+ event.stopPropagation();
187
+ };
188
+
189
+ var onTouchEnd = function onTouchEnd(event) {
190
+ event.preventDefault();
191
+ setClickKeyIndex(undefined);
192
+ };
193
+
194
+ return React__default.createElement("div", null, React__default.createElement(Popup, {
195
+ visible: show,
196
+ position: "bottom",
197
+ popClass: popClass,
198
+ onClickOverlay: onClose,
199
+ onClickCloseIcon: onClose,
200
+ overlayStyle: {
201
+ backgroundColor: 'rgba(0, 0, 0, 0)'
202
+ }
203
+ }, React__default.createElement("div", {
204
+ className: "".concat(b(), " ").concat(className),
205
+ style: _objectSpread({}, style)
206
+ }, title ? React__default.createElement("div", {
207
+ className: b('header')
208
+ }, React__default.createElement("h3", {
209
+ className: b('header__tit')
210
+ }, title), type === 'default' ? React__default.createElement("span", {
211
+ className: b('header__close'),
212
+ onClick: onClose
213
+ }, locale.done) : null) : null, React__default.createElement("div", {
214
+ className: b('body')
215
+ }, React__default.createElement("div", {
216
+ className: b('body__keys')
217
+ }, keysList === null || keysList === void 0 ? void 0 : keysList.map(function (item, index) {
218
+ return React__default.createElement("div", {
219
+ key: index,
220
+ className: classNames({
221
+ 'key-board-wrapper': true,
222
+ 'key-board-wrapper-large': item.id === 0 && type === 'rightColumn' && Array.isArray(customKey) && customKey.length === 1
223
+ })
224
+ }, React__default.createElement("div", {
225
+ className: classNames({
226
+ key: true,
227
+ active: item.id === clickKeyIndex,
228
+ lock: item.type === 'lock',
229
+ "delete": item.type === 'delete'
230
+ }),
231
+ onTouchStart: function onTouchStart(event) {
232
+ return onTouchstart(item, event);
233
+ },
234
+ onTouchMove: onTouchMove,
235
+ onTouchEnd: onTouchEnd
236
+ }, item.type === 'number' || item.type === 'custom' ? React__default.createElement("div", null, item.id) : null, item.type === 'lock' ? React__default.createElement("img", {
237
+ src: "https://img11.360buyimg.com/imagetools/jfs/t1/146371/38/8485/738/5f606425Eca239740/14f4b4f5f20d8a68.png",
238
+ alt: ""
239
+ }) : null, item.type === 'delete' ? React__default.createElement("img", {
240
+ src: "https://img11.360buyimg.com/imagetools/jfs/t1/129395/8/12735/2030/5f61ac37E70cab338/fb477dc11f46056c.png",
241
+ alt: ""
242
+ }) : null));
243
+ })), type === 'rightColumn' ? React__default.createElement("div", {
244
+ className: b('sidebar')
245
+ }, React__default.createElement("div", {
246
+ className: "key-board-wrapper"
247
+ }, React__default.createElement("div", {
248
+ className: classNames({
249
+ key: true,
250
+ active: clickKeyIndex === 'delete'
251
+ }),
252
+ onTouchStart: function onTouchStart(event) {
253
+ return onTouchstart({
254
+ id: 'delete',
255
+ type: 'delete'
256
+ }, event);
257
+ },
258
+ onTouchMove: onTouchMove,
259
+ onTouchEnd: onTouchEnd
260
+ }, React__default.createElement("img", {
261
+ src: "https://img11.360buyimg.com/imagetools/jfs/t1/129395/8/12735/2030/5f61ac37E70cab338/fb477dc11f46056c.png",
262
+ alt: ""
263
+ }))), React__default.createElement("div", {
264
+ className: "key-board-wrapper key-board-finish",
265
+ onClick: onClose
266
+ }, React__default.createElement("div", {
267
+ className: classNames({
268
+ key: true,
269
+ finish: true,
270
+ activeFinsh: clickKeyIndex === 'finish'
271
+ })
272
+ }, confirmText || locale.done))) : null))));
273
+ };
274
+
275
+ NumberKeyboard.defaultProps = defaultProps;
276
+ NumberKeyboard.displayName = 'NutNumberKeyboard';
277
+ export { NumberKeyboard as default };