@nutui/nutui-react 0.1.0-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 (240) hide show
  1. package/README.md +151 -0
  2. package/dist/esm/ActionSheet.js +110 -0
  3. package/dist/esm/Address.js +597 -0
  4. package/dist/esm/AnimatingNumbers.js +157 -0
  5. package/dist/esm/Avatar.js +70 -0
  6. package/dist/esm/BackTop.js +152 -0
  7. package/dist/esm/Badge.js +70 -0
  8. package/dist/esm/Barrage.js +101 -0
  9. package/dist/esm/Button.js +4 -0
  10. package/dist/esm/Cell.js +92 -0
  11. package/dist/esm/Checkbox.js +95 -0
  12. package/dist/esm/CheckboxGroup.js +107 -0
  13. package/dist/esm/CircleProgress.js +99 -0
  14. package/dist/esm/Collapse.js +108 -0
  15. package/dist/esm/Divider.js +38 -0
  16. package/dist/esm/Drag.js +192 -0
  17. package/dist/esm/Elevator.js +205 -0
  18. package/dist/esm/FixedNav.js +105 -0
  19. package/dist/esm/Icon.js +5 -0
  20. package/dist/esm/Infiniteloading.js +234 -0
  21. package/dist/esm/Input.js +186 -0
  22. package/dist/esm/InputNumber.js +194 -0
  23. package/dist/esm/Layout.js +20 -0
  24. package/dist/esm/NavBar.js +67 -0
  25. package/dist/esm/NoticeBar.js +340 -0
  26. package/dist/esm/Notify.js +251 -0
  27. package/dist/esm/Overlay.js +6 -0
  28. package/dist/esm/Pagination.js +199 -0
  29. package/dist/esm/Popup.js +195 -0
  30. package/dist/esm/Price.js +95 -0
  31. package/dist/esm/Radio.js +111 -0
  32. package/dist/esm/RadioGroup.js +103 -0
  33. package/dist/esm/Range.js +451 -0
  34. package/dist/esm/Rate.js +122 -0
  35. package/dist/esm/Signature.js +173 -0
  36. package/dist/esm/Step.js +73 -0
  37. package/dist/esm/Steps.js +44 -0
  38. package/dist/esm/Tabbar.js +74 -0
  39. package/dist/esm/TabbarItem.js +70 -0
  40. package/dist/esm/Tag.js +108 -0
  41. package/dist/esm/TextArea.js +126 -0
  42. package/dist/esm/Toast.js +8 -0
  43. package/dist/esm/Uploader.js +482 -0
  44. package/dist/esm/UserContext-68f62e66.js +3 -0
  45. package/dist/esm/bem-893ad28d.js +8 -0
  46. package/dist/esm/button-345fb015.js +110 -0
  47. package/dist/esm/context-aa058329.js +6 -0
  48. package/dist/esm/icon-63c0d58f.js +70 -0
  49. package/dist/esm/nutui-react.es.js +42 -0
  50. package/dist/esm/overlay-418bcf84.js +94 -0
  51. package/dist/esm/toast-420b65b7.js +294 -0
  52. package/dist/esm/types/src/packages/actionsheet/actionsheet.d.ts +20 -0
  53. package/dist/esm/types/src/packages/actionsheet/index.d.ts +2 -0
  54. package/dist/esm/types/src/packages/address/address.d.ts +56 -0
  55. package/dist/esm/types/src/packages/address/customRender.d.ts +18 -0
  56. package/dist/esm/types/src/packages/address/existRender.d.ts +18 -0
  57. package/dist/esm/types/src/packages/address/index.d.ts +2 -0
  58. package/dist/esm/types/src/packages/animatingnumbers/animatingnumbers.d.ts +12 -0
  59. package/dist/esm/types/src/packages/animatingnumbers/countup.d.ts +11 -0
  60. package/dist/esm/types/src/packages/animatingnumbers/index.d.ts +2 -0
  61. package/dist/esm/types/src/packages/avatar/avatar.d.ts +14 -0
  62. package/dist/esm/types/src/packages/avatar/index.d.ts +2 -0
  63. package/dist/esm/types/src/packages/backtop/backtop.d.ts +15 -0
  64. package/dist/esm/types/src/packages/backtop/index.d.ts +2 -0
  65. package/dist/esm/types/src/packages/badge/badge.d.ts +13 -0
  66. package/dist/esm/types/src/packages/badge/index.d.ts +2 -0
  67. package/dist/esm/types/src/packages/barrage/barrage.d.ts +12 -0
  68. package/dist/esm/types/src/packages/barrage/index.d.ts +2 -0
  69. package/dist/esm/types/src/packages/button/button.d.ts +20 -0
  70. package/dist/esm/types/src/packages/button/index.d.ts +2 -0
  71. package/dist/esm/types/src/packages/cell/cell.d.ts +16 -0
  72. package/dist/esm/types/src/packages/cell/index.d.ts +2 -0
  73. package/dist/esm/types/src/packages/cellgroup/cellgroup.d.ts +6 -0
  74. package/dist/esm/types/src/packages/cellgroup/index.d.ts +2 -0
  75. package/dist/esm/types/src/packages/checkbox/checkbox.d.ts +15 -0
  76. package/dist/esm/types/src/packages/checkbox/index.d.ts +2 -0
  77. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.d.ts +7 -0
  78. package/dist/esm/types/src/packages/checkboxgroup/index.d.ts +2 -0
  79. package/dist/esm/types/src/packages/circleprogress/circleprogress.d.ts +9 -0
  80. package/dist/esm/types/src/packages/circleprogress/index.d.ts +2 -0
  81. package/dist/esm/types/src/packages/col/col.d.ts +7 -0
  82. package/dist/esm/types/src/packages/col/index.d.ts +2 -0
  83. package/dist/esm/types/src/packages/collapse/collapse.d.ts +11 -0
  84. package/dist/esm/types/src/packages/collapse/index.d.ts +2 -0
  85. package/dist/esm/types/src/packages/collapseitem/collapseitem.d.ts +18 -0
  86. package/dist/esm/types/src/packages/collapseitem/index.d.ts +2 -0
  87. package/dist/esm/types/src/packages/divider/divider.d.ts +9 -0
  88. package/dist/esm/types/src/packages/divider/index.d.ts +2 -0
  89. package/dist/esm/types/src/packages/drag/drag.d.ts +14 -0
  90. package/dist/esm/types/src/packages/drag/index.d.ts +2 -0
  91. package/dist/esm/types/src/packages/elevator/elevator.d.ts +17 -0
  92. package/dist/esm/types/src/packages/elevator/index.d.ts +2 -0
  93. package/dist/esm/types/src/packages/fixednav/fixednav.d.ts +22 -0
  94. package/dist/esm/types/src/packages/fixednav/index.d.ts +2 -0
  95. package/dist/esm/types/src/packages/icon/icon.d.ts +12 -0
  96. package/dist/esm/types/src/packages/icon/index.d.ts +2 -0
  97. package/dist/esm/types/src/packages/infiniteloading/index.d.ts +2 -0
  98. package/dist/esm/types/src/packages/infiniteloading/infiniteloading.d.ts +20 -0
  99. package/dist/esm/types/src/packages/input/index.d.ts +2 -0
  100. package/dist/esm/types/src/packages/input/input.d.ts +20 -0
  101. package/dist/esm/types/src/packages/input/util.d.ts +1 -0
  102. package/dist/esm/types/src/packages/inputnumber/index.d.ts +2 -0
  103. package/dist/esm/types/src/packages/inputnumber/inputnumber.d.ts +22 -0
  104. package/dist/esm/types/src/packages/layout/index.d.ts +2 -0
  105. package/dist/esm/types/src/packages/layout/layout.d.ts +4 -0
  106. package/dist/esm/types/src/packages/navbar/index.d.ts +2 -0
  107. package/dist/esm/types/src/packages/navbar/navbar.d.ts +15 -0
  108. package/dist/esm/types/src/packages/noticebar/index.d.ts +2 -0
  109. package/dist/esm/types/src/packages/noticebar/noticebar.d.ts +23 -0
  110. package/dist/esm/types/src/packages/notify/Notification.d.ts +31 -0
  111. package/dist/esm/types/src/packages/notify/index.d.ts +2 -0
  112. package/dist/esm/types/src/packages/notify/notify.d.ts +10 -0
  113. package/dist/esm/types/src/packages/nutui.react.build.d.ts +43 -0
  114. package/dist/esm/types/src/packages/nutui.react.d.ts +43 -0
  115. package/dist/esm/types/src/packages/overlay/index.d.ts +2 -0
  116. package/dist/esm/types/src/packages/overlay/overlay.d.ts +12 -0
  117. package/dist/esm/types/src/packages/pagination/index.d.ts +2 -0
  118. package/dist/esm/types/src/packages/pagination/pagination.d.ts +19 -0
  119. package/dist/esm/types/src/packages/popup/index.d.ts +2 -0
  120. package/dist/esm/types/src/packages/popup/popup.d.ts +23 -0
  121. package/dist/esm/types/src/packages/price/index.d.ts +2 -0
  122. package/dist/esm/types/src/packages/price/price.d.ts +11 -0
  123. package/dist/esm/types/src/packages/radio/context.d.ts +5 -0
  124. package/dist/esm/types/src/packages/radio/index.d.ts +2 -0
  125. package/dist/esm/types/src/packages/radio/radio.d.ts +21 -0
  126. package/dist/esm/types/src/packages/radiogroup/index.d.ts +2 -0
  127. package/dist/esm/types/src/packages/radiogroup/radiogroup.d.ts +11 -0
  128. package/dist/esm/types/src/packages/range/index.d.ts +2 -0
  129. package/dist/esm/types/src/packages/range/range.d.ts +23 -0
  130. package/dist/esm/types/src/packages/rate/index.d.ts +2 -0
  131. package/dist/esm/types/src/packages/rate/rate.d.ts +16 -0
  132. package/dist/esm/types/src/packages/row/UserContext.d.ts +1 -0
  133. package/dist/esm/types/src/packages/row/index.d.ts +2 -0
  134. package/dist/esm/types/src/packages/row/row.d.ts +9 -0
  135. package/dist/esm/types/src/packages/signature/index.d.ts +2 -0
  136. package/dist/esm/types/src/packages/signature/signature.d.ts +11 -0
  137. package/dist/esm/types/src/packages/step/index.d.ts +2 -0
  138. package/dist/esm/types/src/packages/step/step.d.ts +12 -0
  139. package/dist/esm/types/src/packages/steps/UserContext.d.ts +1 -0
  140. package/dist/esm/types/src/packages/steps/index.d.ts +2 -0
  141. package/dist/esm/types/src/packages/steps/steps.d.ts +9 -0
  142. package/dist/esm/types/src/packages/switch/index.d.ts +2 -0
  143. package/dist/esm/types/src/packages/switch/switch.d.ts +14 -0
  144. package/dist/esm/types/src/packages/tabbar/index.d.ts +2 -0
  145. package/dist/esm/types/src/packages/tabbar/tabbar.d.ts +13 -0
  146. package/dist/esm/types/src/packages/tabbaritem/index.d.ts +2 -0
  147. package/dist/esm/types/src/packages/tabbaritem/tabbarItem.d.ts +13 -0
  148. package/dist/esm/types/src/packages/tag/index.d.ts +2 -0
  149. package/dist/esm/types/src/packages/tag/tag.d.ts +15 -0
  150. package/dist/esm/types/src/packages/textarea/index.d.ts +2 -0
  151. package/dist/esm/types/src/packages/textarea/textarea.d.ts +18 -0
  152. package/dist/esm/types/src/packages/toast/Notification.d.ts +37 -0
  153. package/dist/esm/types/src/packages/toast/index.d.ts +2 -0
  154. package/dist/esm/types/src/packages/toast/toast.d.ts +11 -0
  155. package/dist/esm/types/src/packages/uploader/index.d.ts +2 -0
  156. package/dist/esm/types/src/packages/uploader/upload.d.ts +20 -0
  157. package/dist/esm/types/src/packages/uploader/uploader.d.ts +59 -0
  158. package/dist/esm/types/src/utils/bem.d.ts +2 -0
  159. package/dist/esm/types/src/utils/create/bem.d.ts +2 -0
  160. package/dist/esm/types/src/utils/create/index.d.ts +1 -0
  161. package/dist/esm/types/src/utils/date.d.ts +49 -0
  162. package/dist/esm/types/src/utils/index.d.ts +1 -0
  163. package/dist/esm/types/src/utils/raf.d.ts +2 -0
  164. package/dist/esm/types/src/utils/useRect/index.d.ts +17 -0
  165. package/dist/esm/types/src/utils/useTouch/index.d.ts +16 -0
  166. package/dist/nutui.react.es.js +6647 -0
  167. package/dist/nutui.react.umd.js +28 -0
  168. package/dist/packages/actionsheet/actionsheet.scss +68 -0
  169. package/dist/packages/address/address.scss +145 -0
  170. package/dist/packages/animatingnumbers/animatingnumbers.scss +3 -0
  171. package/dist/packages/animatingnumbers/countup.scss +36 -0
  172. package/dist/packages/avatar/avatar.scss +48 -0
  173. package/dist/packages/backtop/backtop.scss +20 -0
  174. package/dist/packages/badge/badge.scss +39 -0
  175. package/dist/packages/barrage/barrage.scss +48 -0
  176. package/dist/packages/button/button.scss +157 -0
  177. package/dist/packages/cell/cell.scss +79 -0
  178. package/dist/packages/cellgroup/cellgroup.scss +24 -0
  179. package/dist/packages/checkbox/checkbox.scss +20 -0
  180. package/dist/packages/checkboxgroup/checkboxgroup.scss +0 -0
  181. package/dist/packages/circleprogress/circleprogress.scss +65 -0
  182. package/dist/packages/col/col.scss +24 -0
  183. package/dist/packages/collapse/collapse.scss +1 -0
  184. package/dist/packages/collapseitem/collapseitem.scss +82 -0
  185. package/dist/packages/divider/divider.scss +54 -0
  186. package/dist/packages/drag/drag.scss +8 -0
  187. package/dist/packages/elevator/elevator.scss +71 -0
  188. package/dist/packages/fixednav/fixednav.scss +129 -0
  189. package/dist/packages/icon/icon.scss +40 -0
  190. package/dist/packages/infiniteloading/infiniteloading.scss +47 -0
  191. package/dist/packages/input/input.scss +47 -0
  192. package/dist/packages/inputnumber/inputnumber.scss +36 -0
  193. package/dist/packages/layout/layout.scss +2 -0
  194. package/dist/packages/navbar/navbar.scss +38 -0
  195. package/dist/packages/noticebar/noticebar.scss +111 -0
  196. package/dist/packages/notify/notify.scss +80 -0
  197. package/dist/packages/overlay/overlay.scss +50 -0
  198. package/dist/packages/pagination/pagination.scss +50 -0
  199. package/dist/packages/popup/popup.scss +149 -0
  200. package/dist/packages/price/price.scss +22 -0
  201. package/dist/packages/radio/radio.scss +58 -0
  202. package/dist/packages/radiogroup/radiogroup.scss +22 -0
  203. package/dist/packages/range/custom.scss +9 -0
  204. package/dist/packages/range/range.scss +96 -0
  205. package/dist/packages/rate/rate.scss +34 -0
  206. package/dist/packages/row/row.scss +51 -0
  207. package/dist/packages/signature/signature.scss +16 -0
  208. package/dist/packages/step/step.scss +190 -0
  209. package/dist/packages/steps/steps.scss +7 -0
  210. package/dist/packages/switch/switch.scss +60 -0
  211. package/dist/packages/tabbar/tabbar.scss +20 -0
  212. package/dist/packages/tabbaritem/tabbarItem.scss +61 -0
  213. package/dist/packages/tag/tag.scss +52 -0
  214. package/dist/packages/textarea/textarea.scss +39 -0
  215. package/dist/packages/toast/toast.scss +94 -0
  216. package/dist/packages/uploader/uploader.scss +72 -0
  217. package/dist/style.css +1 -0
  218. package/dist/style.es.js +7 -0
  219. package/dist/styles/animation/drop.scss +24 -0
  220. package/dist/styles/animation/ease.scss +23 -0
  221. package/dist/styles/animation/fade.scss +20 -0
  222. package/dist/styles/animation/index.scss +6 -0
  223. package/dist/styles/animation/rotate.scss +10 -0
  224. package/dist/styles/animation/zoom.scss +26 -0
  225. package/dist/styles/font/demo.css +539 -0
  226. package/dist/styles/font/demo_index.html +2718 -0
  227. package/dist/styles/font/iconfont.css +455 -0
  228. package/dist/styles/font/iconfont.eot +0 -0
  229. package/dist/styles/font/iconfont.js +63 -0
  230. package/dist/styles/font/iconfont.json +779 -0
  231. package/dist/styles/font/iconfont.svg +356 -0
  232. package/dist/styles/font/iconfont.ttf +0 -0
  233. package/dist/styles/font/iconfont.woff +0 -0
  234. package/dist/styles/font/iconfont.woff2 +0 -0
  235. package/dist/styles/mixins/index.scss +2 -0
  236. package/dist/styles/mixins/make-animation.scss +24 -0
  237. package/dist/styles/mixins/text-ellipsis.scss +20 -0
  238. package/dist/styles/themes/default.scss +46 -0
  239. package/dist/styles/variables.scss +326 -0
  240. package/package.json +120 -0
@@ -0,0 +1,482 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
6
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
+ var _excluded = ["children", "uploadIcon", "name", "accept", "disabled", "multiple", "url", "headers", "timeout", "method", "xhrState", "withCredentials", "data", "isPreview", "isDeletable", "maximum", "capture", "maximize", "className", "autoUpload", "clearInput", "start", "removeImage", "progress", "success", "update", "failure", "oversize", "beforeUpload", "beforeDelete"];
8
+
9
+ 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; }
10
+
11
+ 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; }
12
+
13
+ import React__default, { useState, useImperativeHandle } from 'react';
14
+ import Icon from './Icon.js';
15
+ import classNames from 'classnames';
16
+ import { c as cn } from './bem-893ad28d.js';
17
+ import '@bem-react/classname';
18
+
19
+ var UploadOptions = /*#__PURE__*/_createClass(function UploadOptions() {
20
+ _classCallCheck(this, UploadOptions);
21
+
22
+ _defineProperty(this, "url", '');
23
+
24
+ _defineProperty(this, "name", 'file');
25
+
26
+ _defineProperty(this, "formData", void 0);
27
+
28
+ _defineProperty(this, "method", 'post');
29
+
30
+ _defineProperty(this, "xhrState", 200);
31
+
32
+ _defineProperty(this, "timeout", 30 * 1000);
33
+
34
+ _defineProperty(this, "headers", {});
35
+
36
+ _defineProperty(this, "withCredentials", false);
37
+
38
+ _defineProperty(this, "onStart", void 0);
39
+
40
+ _defineProperty(this, "taroFilePath", void 0);
41
+
42
+ _defineProperty(this, "onProgress", void 0);
43
+
44
+ _defineProperty(this, "onSuccess", void 0);
45
+
46
+ _defineProperty(this, "onFailure", void 0);
47
+ });
48
+
49
+ var Upload = /*#__PURE__*/function () {
50
+ function Upload(options) {
51
+ _classCallCheck(this, Upload);
52
+
53
+ _defineProperty(this, "options", void 0);
54
+
55
+ this.options = options;
56
+ }
57
+
58
+ _createClass(Upload, [{
59
+ key: "upload",
60
+ value: function upload() {
61
+ var options = this.options;
62
+ var xhr = new XMLHttpRequest();
63
+ xhr.timeout = options.timeout;
64
+
65
+ if (xhr.upload) {
66
+ var _options$onStart;
67
+
68
+ xhr.upload.addEventListener('progress', function (e) {
69
+ var _options$onProgress;
70
+
71
+ (_options$onProgress = options.onProgress) === null || _options$onProgress === void 0 ? void 0 : _options$onProgress.call(options, e, options);
72
+ }, false);
73
+
74
+ xhr.onreadystatechange = function () {
75
+ if (xhr.readyState === 4) {
76
+ if (xhr.status === options.xhrState) {
77
+ var _options$onSuccess;
78
+
79
+ (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call(options, xhr.responseText, options);
80
+ } else {
81
+ var _options$onFailure;
82
+
83
+ (_options$onFailure = options.onFailure) === null || _options$onFailure === void 0 ? void 0 : _options$onFailure.call(options, xhr.responseText, options);
84
+ }
85
+ }
86
+ };
87
+
88
+ xhr.withCredentials = options.withCredentials;
89
+ xhr.open(options.method, options.url, true); // headers
90
+
91
+ for (var _i = 0, _Object$entries = Object.entries(options.headers); _i < _Object$entries.length; _i++) {
92
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
93
+ key = _Object$entries$_i[0],
94
+ value = _Object$entries$_i[1];
95
+
96
+ xhr.setRequestHeader(key, value);
97
+ }
98
+
99
+ (_options$onStart = options.onStart) === null || _options$onStart === void 0 ? void 0 : _options$onStart.call(options, options);
100
+ xhr.send(options.formData);
101
+ } else {
102
+ console.warn('浏览器不支持 XMLHttpRequest');
103
+ }
104
+ }
105
+ }]);
106
+
107
+ return Upload;
108
+ }();
109
+
110
+ var defaultProps = {
111
+ url: '',
112
+ maximum: 1,
113
+ uploadIcon: 'photograph',
114
+ name: 'file',
115
+ accept: '*',
116
+ disabled: false,
117
+ autoUpload: true,
118
+ multiple: false,
119
+ maximize: Number.MAX_VALUE,
120
+ data: {},
121
+ headers: {},
122
+ method: 'post',
123
+ xhrState: 200,
124
+ timeout: 1000 * 30,
125
+ withCredentials: false,
126
+ clearInput: false,
127
+ isPreview: true,
128
+ isDeletable: true,
129
+ capture: false,
130
+ beforeDelete: function beforeDelete(file, files) {
131
+ return true;
132
+ }
133
+ };
134
+
135
+ var FileItem = /*#__PURE__*/_createClass(function FileItem() {
136
+ _classCallCheck(this, FileItem);
137
+
138
+ _defineProperty(this, "status", 'ready');
139
+
140
+ _defineProperty(this, "uid", new Date().getTime().toString());
141
+
142
+ _defineProperty(this, "name", void 0);
143
+
144
+ _defineProperty(this, "url", void 0);
145
+
146
+ _defineProperty(this, "type", void 0);
147
+
148
+ _defineProperty(this, "formData", new FormData());
149
+ });
150
+
151
+ var InternalUploader = function InternalUploader(props, ref) {
152
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
153
+ children = _defaultProps$props.children,
154
+ uploadIcon = _defaultProps$props.uploadIcon,
155
+ name = _defaultProps$props.name,
156
+ accept = _defaultProps$props.accept,
157
+ disabled = _defaultProps$props.disabled,
158
+ multiple = _defaultProps$props.multiple,
159
+ url = _defaultProps$props.url,
160
+ headers = _defaultProps$props.headers,
161
+ timeout = _defaultProps$props.timeout,
162
+ method = _defaultProps$props.method,
163
+ xhrState = _defaultProps$props.xhrState,
164
+ withCredentials = _defaultProps$props.withCredentials,
165
+ data = _defaultProps$props.data,
166
+ isPreview = _defaultProps$props.isPreview,
167
+ isDeletable = _defaultProps$props.isDeletable,
168
+ maximum = _defaultProps$props.maximum,
169
+ capture = _defaultProps$props.capture,
170
+ maximize = _defaultProps$props.maximize,
171
+ className = _defaultProps$props.className,
172
+ autoUpload = _defaultProps$props.autoUpload,
173
+ clearInput = _defaultProps$props.clearInput,
174
+ start = _defaultProps$props.start,
175
+ removeImage = _defaultProps$props.removeImage,
176
+ progress = _defaultProps$props.progress,
177
+ success = _defaultProps$props.success,
178
+ update = _defaultProps$props.update,
179
+ failure = _defaultProps$props.failure,
180
+ oversize = _defaultProps$props.oversize,
181
+ beforeUpload = _defaultProps$props.beforeUpload,
182
+ beforeDelete = _defaultProps$props.beforeDelete,
183
+ restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
184
+
185
+ var _useState = useState([]),
186
+ _useState2 = _slicedToArray(_useState, 2),
187
+ fileList = _useState2[0],
188
+ setFileList = _useState2[1];
189
+
190
+ var _useState3 = useState([]),
191
+ _useState4 = _slicedToArray(_useState3, 2),
192
+ uploadQueue = _useState4[0],
193
+ setUploadQueue = _useState4[1];
194
+
195
+ var b = cn('uploader');
196
+ var classes = classNames(className, b(''));
197
+ useImperativeHandle(ref, function () {
198
+ return {
199
+ submit: function submit() {
200
+ Promise.all(uploadQueue).then(function (res) {
201
+ res.forEach(function (i) {
202
+ return i.upload();
203
+ });
204
+ });
205
+ }
206
+ };
207
+ });
208
+
209
+ var clearUploadQueue = function clearUploadQueue() {
210
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
211
+
212
+ if (index > -1) {
213
+ uploadQueue.splice(index, 1);
214
+ setUploadQueue(uploadQueue);
215
+ } else {
216
+ setUploadQueue([]);
217
+ }
218
+ };
219
+
220
+ var clearInputValue = function clearInputValue(el) {
221
+ el.value = '';
222
+ };
223
+
224
+ var executeUpload = function executeUpload(fileItem, index) {
225
+ var uploadOption = new UploadOptions();
226
+ uploadOption.url = url;
227
+
228
+ for (var _i2 = 0, _Object$entries2 = Object.entries(data); _i2 < _Object$entries2.length; _i2++) {
229
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
230
+ key = _Object$entries2$_i[0],
231
+ value = _Object$entries2$_i[1];
232
+
233
+ fileItem.formData.append(key, value);
234
+ }
235
+
236
+ uploadOption.formData = fileItem.formData;
237
+ uploadOption.timeout = timeout * 1;
238
+ uploadOption.method = method;
239
+ uploadOption.xhrState = xhrState;
240
+ uploadOption.headers = headers;
241
+ uploadOption.withCredentials = withCredentials;
242
+
243
+ uploadOption.onStart = function (option) {
244
+ clearUploadQueue(index);
245
+ setFileList(function (fileList) {
246
+ fileList.map(function (item) {
247
+ if (item.uid === fileItem.uid) {
248
+ item.status = 'ready';
249
+ }
250
+ });
251
+ return _toConsumableArray(fileList);
252
+ });
253
+ start && start(option);
254
+ };
255
+
256
+ uploadOption.onProgress = function (e, option) {
257
+ setFileList(function (fileList) {
258
+ fileList.map(function (item) {
259
+ if (item.uid === fileItem.uid) {
260
+ item.status = 'uploading';
261
+ }
262
+ });
263
+ return _toConsumableArray(fileList);
264
+ });
265
+ progress && progress({
266
+ e: e,
267
+ option: option
268
+ });
269
+ };
270
+
271
+ uploadOption.onSuccess = function (responseText, option) {
272
+ setFileList(function (fileList) {
273
+ update && update(fileList);
274
+ fileList.map(function (item) {
275
+ if (item.uid === fileItem.uid) {
276
+ item.status = 'success';
277
+ }
278
+ });
279
+ return _toConsumableArray(fileList);
280
+ });
281
+ success && success({
282
+ responseText: responseText,
283
+ option: option
284
+ });
285
+ };
286
+
287
+ uploadOption.onFailure = function (responseText, option) {
288
+ setFileList(function (fileList) {
289
+ fileList.map(function (item) {
290
+ if (item.uid === fileItem.uid) {
291
+ item.status = 'error';
292
+ }
293
+ });
294
+ return _toConsumableArray(fileList);
295
+ });
296
+ failure && failure({
297
+ responseText: responseText,
298
+ option: option
299
+ });
300
+ };
301
+
302
+ var task = new Upload(uploadOption);
303
+
304
+ if (props.autoUpload) {
305
+ task.upload();
306
+ } else {
307
+ uploadQueue.push(new Promise(function (resolve, reject) {
308
+ resolve(task);
309
+ }));
310
+ setUploadQueue(uploadQueue);
311
+ }
312
+ };
313
+
314
+ var readFile = function readFile(files) {
315
+ files.forEach(function (file, index) {
316
+ var formData = new FormData();
317
+ formData.append(name, file);
318
+ var fileItem = new FileItem();
319
+ fileItem.name = file.name;
320
+ fileItem.status = 'ready';
321
+ fileItem.type = file.type;
322
+ fileItem.formData = formData;
323
+ fileItem.uid = file.lastModified + fileItem.uid;
324
+ executeUpload(fileItem, index);
325
+
326
+ if (isPreview && file.type.includes('image')) {
327
+ var reader = new FileReader();
328
+
329
+ reader.onload = function (event) {
330
+ fileItem.url = event.target.result;
331
+ fileList.push(fileItem);
332
+ setFileList(_toConsumableArray(fileList));
333
+ };
334
+
335
+ reader.readAsDataURL(file);
336
+ } else {
337
+ fileList.push(fileItem);
338
+ setFileList(_toConsumableArray(fileList));
339
+ }
340
+ });
341
+ };
342
+
343
+ var filterFiles = function filterFiles(files) {
344
+ var maximum = props.maximum * 1;
345
+ var oversizes = new Array();
346
+ var filterFile = files.filter(function (file) {
347
+ if (file.size > maximize) {
348
+ oversizes.push(file);
349
+ return false;
350
+ } else {
351
+ return true;
352
+ }
353
+ });
354
+
355
+ if (oversizes.length) {
356
+ oversize && oversize(files);
357
+ }
358
+
359
+ if (filterFile.length > maximum) {
360
+ filterFile.splice(maximum, filterFile.length - maximum);
361
+ }
362
+
363
+ if (fileList.length !== 0) {
364
+ var index = maximum - fileList.length;
365
+ filterFile.splice(index, filterFile.length - index);
366
+ }
367
+
368
+ return filterFile;
369
+ };
370
+
371
+ var onDelete = function onDelete(file, index) {
372
+ clearUploadQueue(index);
373
+
374
+ if (beforeDelete && beforeDelete(file, fileList)) {
375
+ fileList.splice(index, 1);
376
+ removeImage && removeImage(file, fileList);
377
+ setFileList(_toConsumableArray(fileList));
378
+ } else {
379
+ console.log('用户阻止了删除!');
380
+ }
381
+ };
382
+
383
+ var fileChange = function fileChange(event) {
384
+ if (disabled) {
385
+ return;
386
+ }
387
+
388
+ var $el = event.target;
389
+ var files = $el.files;
390
+
391
+ if (beforeUpload) {
392
+ beforeUpload(new Array().slice.call(files)).then(function (f) {
393
+ var _files = filterFiles(new Array().slice.call(f));
394
+
395
+ readFile(_files);
396
+ });
397
+ } else {
398
+ var _files = filterFiles(new Array().slice.call(files));
399
+
400
+ readFile(_files);
401
+ }
402
+
403
+ props.change && props.change({
404
+ fileList: fileList,
405
+ event: event
406
+ });
407
+
408
+ if (clearInput) {
409
+ clearInputValue($el);
410
+ }
411
+ };
412
+
413
+ return React__default.createElement("div", _objectSpread({
414
+ className: classes
415
+ }, restProps), children ? React__default.createElement("div", {
416
+ className: "nut-uploader__slot"
417
+ }, React__default.createElement(React__default.Fragment, null, children, maximum > fileList.length && React__default.createElement(React__default.Fragment, null, capture ? React__default.createElement("input", {
418
+ className: "nut-uploader__input",
419
+ type: "file",
420
+ capture: "user",
421
+ name: name,
422
+ accept: accept,
423
+ disabled: disabled,
424
+ multiple: multiple,
425
+ onChange: fileChange
426
+ }) : React__default.createElement("input", {
427
+ className: "nut-uploader__input",
428
+ type: "file",
429
+ name: name,
430
+ accept: accept,
431
+ disabled: disabled,
432
+ multiple: multiple,
433
+ onChange: fileChange
434
+ })))) : React__default.createElement(React__default.Fragment, null, fileList.length !== 0 && fileList.map(function (item, index) {
435
+ console.log('item', item);
436
+ return React__default.createElement("div", {
437
+ className: "nut-uploader__preview",
438
+ key: item.uid
439
+ }, React__default.createElement("div", {
440
+ className: "nut-uploader__preview-img"
441
+ }, isDeletable && React__default.createElement(Icon, {
442
+ color: "rgba(0,0,0,0.6)",
443
+ className: "close",
444
+ name: "circle-close",
445
+ click: function click() {
446
+ return onDelete(item, index);
447
+ }
448
+ }), item.type.includes('image') && item.url && React__default.createElement("img", {
449
+ className: "nut-uploader__preview-img__c",
450
+ src: item.url
451
+ }), item.status !== 'success' && React__default.createElement("div", {
452
+ className: "tips"
453
+ }, item.status)));
454
+ }), maximum > fileList.length && React__default.createElement("div", {
455
+ className: "nut-uploader__upload"
456
+ }, React__default.createElement(Icon, {
457
+ color: "#808080",
458
+ name: uploadIcon
459
+ }), capture ? React__default.createElement("input", {
460
+ className: "nut-uploader__input",
461
+ type: "file",
462
+ capture: "user",
463
+ name: name,
464
+ accept: accept,
465
+ disabled: disabled,
466
+ multiple: multiple,
467
+ onChange: fileChange
468
+ }) : React__default.createElement("input", {
469
+ className: "nut-uploader__input",
470
+ type: "file",
471
+ name: name,
472
+ accept: accept,
473
+ disabled: disabled,
474
+ multiple: multiple,
475
+ onChange: fileChange
476
+ }))));
477
+ };
478
+
479
+ var Uploader = React__default.forwardRef(InternalUploader);
480
+ Uploader.defaultProps = defaultProps;
481
+ Uploader.displayName = 'NutUploader';
482
+ export { Uploader as default };
@@ -0,0 +1,3 @@
1
+ import { createContext } from 'react';
2
+ var DataContext = createContext({});
3
+ export { DataContext as D };
@@ -0,0 +1,8 @@
1
+ import { withNaming } from '@bem-react/classname';
2
+ var cn = withNaming({
3
+ n: 'nut-',
4
+ e: '__',
5
+ m: '--',
6
+ v: '-'
7
+ });
8
+ export { cn as c };
@@ -0,0 +1,110 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["color", "shape", "plain", "loading", "disabled", "type", "size", "block", "icon", "children", "onClick", "className", "style"];
5
+
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; }
7
+
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; }
9
+
10
+ import React__default, { useState, useEffect } from 'react';
11
+ import Icon from './Icon.js';
12
+ var defaultProps = {
13
+ className: '',
14
+ color: '',
15
+ shape: 'round',
16
+ plain: false,
17
+ loading: false,
18
+ disabled: false,
19
+ type: 'default',
20
+ size: 'normal',
21
+ block: false,
22
+ icon: '',
23
+ style: {},
24
+ children: undefined,
25
+ onClick: function onClick(e) {}
26
+ };
27
+
28
+ var Button = function Button(props) {
29
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
30
+ color = _defaultProps$props.color,
31
+ shape = _defaultProps$props.shape,
32
+ plain = _defaultProps$props.plain,
33
+ loading = _defaultProps$props.loading,
34
+ disabled = _defaultProps$props.disabled,
35
+ type = _defaultProps$props.type,
36
+ size = _defaultProps$props.size,
37
+ block = _defaultProps$props.block,
38
+ icon = _defaultProps$props.icon,
39
+ children = _defaultProps$props.children,
40
+ onClick = _defaultProps$props.onClick,
41
+ className = _defaultProps$props.className,
42
+ style = _defaultProps$props.style,
43
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
44
+
45
+ var _useState = useState(''),
46
+ _useState2 = _slicedToArray(_useState, 2),
47
+ btnName = _useState2[0],
48
+ setBtnName = _useState2[1];
49
+
50
+ var _useState3 = useState({}),
51
+ _useState4 = _slicedToArray(_useState3, 2),
52
+ btnStyle = _useState4[0],
53
+ setBtnStyle = _useState4[1];
54
+
55
+ useEffect(function () {
56
+ setBtnName(classes());
57
+ setBtnStyle(getStyle());
58
+ }, [className, color, shape, plain, loading, disabled, style, type, size, block, icon, children, onClick]);
59
+
60
+ var classes = function classes() {
61
+ var prefixCls = 'nut-button';
62
+ return "".concat(prefixCls, " ").concat(type ? "".concat(prefixCls, "--").concat(type) : '', "\n ").concat(size ? "".concat(prefixCls, "--").concat(size) : '', "\n ").concat(shape ? "".concat(prefixCls, "--").concat(shape) : '', "\n ").concat(plain ? "".concat(prefixCls, "--plain") : '', "\n ").concat(block ? "".concat(prefixCls, "--block") : '', "\n ").concat(disabled ? "".concat(prefixCls, "--disabled") : '', "\n ").concat(loading ? "".concat(prefixCls, "--loading") : '');
63
+ };
64
+
65
+ var handleClick = function handleClick(e) {
66
+ if (!loading && !disabled && onClick) {
67
+ onClick(e);
68
+ }
69
+ };
70
+
71
+ var getStyle = function getStyle() {
72
+ var style = {};
73
+
74
+ if (color) {
75
+ if (plain) {
76
+ style.color = color;
77
+ style.background = '#fff';
78
+
79
+ if (!(color !== null && color !== void 0 && color.includes('gradient'))) {
80
+ style.borderColor = color;
81
+ }
82
+ } else {
83
+ style.color = '#fff';
84
+ style.background = color;
85
+ }
86
+ }
87
+
88
+ return style;
89
+ };
90
+
91
+ return React__default.createElement("div", _objectSpread(_objectSpread({
92
+ className: "".concat(btnName, " ").concat(className),
93
+ style: _objectSpread(_objectSpread({}, btnStyle), style)
94
+ }, rest), {}, {
95
+ onClick: function onClick(e) {
96
+ return handleClick(e);
97
+ }
98
+ }), React__default.createElement("div", {
99
+ className: "nut-button__warp",
100
+ style: getStyle()
101
+ }, loading && React__default.createElement(Icon, {
102
+ name: "loading"
103
+ }), !loading && icon ? React__default.createElement(Icon, {
104
+ name: icon
105
+ }) : '', children));
106
+ };
107
+
108
+ Button.defaultProps = defaultProps;
109
+ Button.displayName = 'NutButton';
110
+ export { Button as B };
@@ -0,0 +1,6 @@
1
+ import React__default from 'react';
2
+ var radioContext = {
3
+ onChange: function onChange(val) {}
4
+ };
5
+ var RadioContext = React__default.createContext(radioContext);
6
+ export { RadioContext as R };
@@ -0,0 +1,70 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["name", "size", "classPrefix", "color", "tag", "children", "className", "style", "click"];
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 from 'react';
10
+ import { c as cn } from './bem-893ad28d.js';
11
+ var defaultProps = {
12
+ name: '',
13
+ size: '',
14
+ classPrefix: 'nutui-iconfont',
15
+ color: '',
16
+ tag: 'i',
17
+ click: function click(e) {},
18
+ className: ''
19
+ };
20
+
21
+ function pxCheck(value) {
22
+ return Number.isNaN(Number(value)) ? String(value) : "".concat(value, "px");
23
+ }
24
+
25
+ var Icon = function Icon(props) {
26
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
27
+ name = _defaultProps$props.name,
28
+ size = _defaultProps$props.size,
29
+ classPrefix = _defaultProps$props.classPrefix,
30
+ color = _defaultProps$props.color,
31
+ tag = _defaultProps$props.tag,
32
+ children = _defaultProps$props.children,
33
+ className = _defaultProps$props.className,
34
+ style = _defaultProps$props.style,
35
+ click = _defaultProps$props.click,
36
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
37
+
38
+ var isImage = name ? name.indexOf('/') !== -1 : false;
39
+ var type = isImage ? 'img' : tag;
40
+ var b = cn('icon');
41
+
42
+ var handleClick = function handleClick(e) {
43
+ if (props.click) {
44
+ props.click(e);
45
+ }
46
+ };
47
+
48
+ var hasSrc = function hasSrc() {
49
+ if (isImage) return {
50
+ src: name
51
+ };
52
+ return {};
53
+ };
54
+
55
+ return React__default.createElement(type, _objectSpread(_objectSpread({
56
+ className: isImage ? "".concat(className || '', " ").concat(b('img')) : "".concat(className || '', " ").concat(b(null, [classPrefix]), " nut-icon-").concat(name, " "),
57
+ style: _objectSpread({
58
+ color: color,
59
+ fontSize: pxCheck(size),
60
+ width: pxCheck(size),
61
+ height: pxCheck(size)
62
+ }, style)
63
+ }, rest), {}, {
64
+ onClick: handleClick
65
+ }, hasSrc()), children);
66
+ };
67
+
68
+ Icon.defaultProps = defaultProps;
69
+ Icon.displayName = 'NutIcon';
70
+ export { Icon as I };