@nutui/nutui-react-taro 1.4.4 → 1.4.5

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 (219) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/Address.js +5 -5
  3. package/dist/esm/Audio.js +5 -5
  4. package/dist/esm/AvatarContext-7153ad2b.js +3 -1
  5. package/dist/esm/AvatarGroup.js +4 -4
  6. package/dist/esm/Calendar.js +5 -5
  7. package/dist/esm/CalendarItem.js +4 -4
  8. package/dist/esm/Card.js +4 -3
  9. package/dist/esm/Cell.js +2 -2
  10. package/dist/esm/ConfigProvider.js +3 -3
  11. package/dist/esm/CountDown.js +4 -4
  12. package/dist/esm/DatePicker.js +5 -5
  13. package/dist/esm/Dialog.js +4 -4
  14. package/dist/esm/Ellipsis.js +4 -4
  15. package/dist/esm/Empty.js +4 -4
  16. package/dist/esm/FixedNav.js +4 -4
  17. package/dist/esm/Form.js +4 -4
  18. package/dist/esm/FormItem.js +3 -3
  19. package/dist/esm/Grid.js +4 -4
  20. package/dist/esm/GridItem.js +4 -4
  21. package/dist/esm/Image.js +4 -4
  22. package/dist/esm/Infiniteloading.js +4 -4
  23. package/dist/esm/Input.js +4 -4
  24. package/dist/esm/MenuItem.js +4 -4
  25. package/dist/esm/NoticeBar.js +2 -2
  26. package/dist/esm/NumberKeyboard.js +4 -4
  27. package/dist/esm/Pagination.js +4 -4
  28. package/dist/esm/Picker.js +4 -4
  29. package/dist/esm/PullToRefresh.js +4 -4
  30. package/dist/esm/Range.js +4 -4
  31. package/dist/esm/SearchBar.js +4 -4
  32. package/dist/esm/ShortPassword.js +4 -4
  33. package/dist/esm/SideNavBar.js +4 -4
  34. package/dist/esm/Signature.js +4 -4
  35. package/dist/esm/Sticky.js +4 -4
  36. package/dist/esm/Table.js +4 -4
  37. package/dist/esm/Tag.js +3 -2
  38. package/dist/esm/TextArea.js +4 -4
  39. package/dist/esm/TimeDetail.js +4 -4
  40. package/dist/esm/TimePannel.js +4 -4
  41. package/dist/esm/TimeSelect.js +6 -6
  42. package/dist/esm/Uploader.js +4 -4
  43. package/dist/esm/UserContext-68f62e66.js +3 -1
  44. package/dist/esm/UserContext-b4181162.js +3 -1
  45. package/dist/esm/UserContext-be8097d2.js +3 -1
  46. package/dist/esm/VirtualList.js +6 -4
  47. package/dist/esm/WaterMark.js +4 -4
  48. package/dist/esm/actionsheet.taro-a58d3d12.js +45 -83
  49. package/dist/esm/address.taro-79cc7c96.js +461 -0
  50. package/dist/esm/animate.taro-b0e83dd5.js +32 -46
  51. package/dist/esm/animatingnumbers.taro-6f40a2e9.js +93 -134
  52. package/dist/esm/audio.taro-4fadc583.js +161 -0
  53. package/dist/esm/avatar.taro-85ced995.js +93 -119
  54. package/dist/esm/avatargroup-1d900174.js +34 -0
  55. package/dist/esm/backtop.taro-99107c30.js +39 -62
  56. package/dist/esm/badge.taro-fe9171ec.js +40 -58
  57. package/dist/esm/barrage.taro-0e157b5e.js +61 -91
  58. package/dist/esm/bem-893ad28d.js +3 -6
  59. package/dist/esm/button.taro-4ce133b9.js +87 -98
  60. package/dist/esm/calendar.taro-4ed72058.js +38 -0
  61. package/dist/esm/calendaritem.taro-1ebe428d.js +571 -0
  62. package/dist/esm/card.taro-39055e82.js +32 -0
  63. package/dist/esm/cascader.taro-d8cb1c3e.js +397 -636
  64. package/dist/esm/cell.taro-9a04a92e.js +64 -0
  65. package/dist/esm/cellgroup.taro-e094471c.js +18 -27
  66. package/dist/esm/checkbox.taro-0bda9796.js +160 -232
  67. package/dist/esm/circleprogress.taro-47db537c.js +99 -120
  68. package/dist/esm/col.taro-b61c7cba.js +33 -50
  69. package/dist/esm/collapse.taro-af58206c.js +73 -86
  70. package/dist/esm/collapseitem-ce1849d2.js +75 -139
  71. package/dist/esm/configprovider-5eea4f5d.js +19 -0
  72. package/dist/esm/configprovider.taro-26882dd2.js +42 -0
  73. package/dist/esm/countdown.taro-9e40de9c.js +225 -0
  74. package/dist/esm/datepicker.taro-7220e495.js +270 -0
  75. package/dist/esm/dialog.taro-1c03960e.js +123 -0
  76. package/dist/esm/divider.taro-5236fe6a.js +27 -27
  77. package/dist/esm/drag.taro-82b6b27a.js +99 -138
  78. package/dist/esm/elevator.taro-d7d65470.js +185 -259
  79. package/dist/esm/ellipsis.taro-49b6db0c.js +232 -0
  80. package/dist/esm/empty.taro-7bd813f9.js +62 -0
  81. package/dist/esm/fixednav.taro-5ad15202.js +53 -0
  82. package/dist/esm/form.taro-71d32671.js +179 -0
  83. package/dist/esm/formitem.taro-3089489b.js +89 -0
  84. package/dist/esm/grid.taro-e6decfce.js +58 -0
  85. package/dist/esm/grid.taro.context-39636af9.js +4 -2
  86. package/dist/esm/griditem.taro-4cade72e.js +90 -0
  87. package/dist/esm/icon-8dc4de10.js +43 -51
  88. package/dist/esm/icon.taro-1d0d4fb7.js +43 -51
  89. package/dist/esm/image.taro-e6dc5867.js +64 -0
  90. package/dist/esm/imagepreview.taro-3400ea03.js +158 -205
  91. package/dist/esm/index.taro-a36f96fb.js +149 -210
  92. package/dist/esm/indicator.taro-183ea169.js +29 -43
  93. package/dist/esm/infiniteloading.taro-6c2a2e95.js +142 -0
  94. package/dist/esm/input.taro-fd566407.js +243 -0
  95. package/dist/esm/inputnumber.taro-dc39b853.js +129 -177
  96. package/dist/esm/layout.taro-358f014f.js +6 -9
  97. package/dist/esm/menu.taro-4abed328.js +89 -132
  98. package/dist/esm/menuitem.taro-6e8b27c3.js +130 -0
  99. package/dist/esm/navbar.taro-c931c078.js +69 -105
  100. package/dist/esm/noticebar.taro-69ea7673.js +450 -0
  101. package/dist/esm/notify.taro-308e5892.js +66 -97
  102. package/dist/esm/numberkeyboard.taro-194519e4.js +158 -0
  103. package/dist/esm/nutui-react.es.js +44 -44
  104. package/dist/esm/offsetContext-bfb02c25.js +3 -1
  105. package/dist/esm/overlay.taro-98367bc1.js +59 -74
  106. package/dist/esm/pagination.taro-bb490de9.js +124 -0
  107. package/dist/esm/picker.taro-2a8ded7c.js +420 -0
  108. package/dist/esm/popover.taro-46d813e8.js +132 -222
  109. package/dist/esm/popup.taro-cb777e09.js +125 -178
  110. package/dist/esm/price.taro-8801462e.js +75 -86
  111. package/dist/esm/progress.taro-623bc807.js +84 -118
  112. package/dist/esm/pulltorefresh.taro-cab7b51c.js +221 -0
  113. package/dist/esm/range.taro-5d6ff217.js +332 -0
  114. package/dist/esm/rate.taro-10197384.js +64 -111
  115. package/dist/esm/row.taro-37a895de.js +38 -42
  116. package/dist/esm/searchbar.taro-839dd622.js +148 -0
  117. package/dist/esm/shortpassword.taro-182d46f7.js +111 -0
  118. package/dist/esm/sidenavbar.taro-006cf38b.js +35 -0
  119. package/dist/esm/sidenavbaritem.taro-fee11d26.js +9 -22
  120. package/dist/esm/signature.taro-33632585.js +143 -0
  121. package/dist/esm/skeleton.taro-853ce460.js +51 -88
  122. package/dist/esm/step.taro-1c94e067.js +49 -78
  123. package/dist/esm/steps.taro-acf205a0.js +21 -30
  124. package/dist/esm/sticky.taro-d0553f48.js +13 -0
  125. package/dist/esm/subsidenavbar.taro-f46b4c73.js +58 -75
  126. package/dist/esm/swipe.taro-83bc248f.js +164 -254
  127. package/dist/esm/swiper.taro-852f6615.js +424 -505
  128. package/dist/esm/swiperitem-86a3578a.js +20 -28
  129. package/dist/esm/switch.taro-bae2dca0.js +43 -64
  130. package/dist/esm/tabbar.taro-86cece39.js +47 -57
  131. package/dist/esm/tabbaritem.taro-8dfb8055.js +51 -79
  132. package/dist/esm/table.taro-cb4dd2c3.js +92 -0
  133. package/dist/esm/tabpane.taro-91cd6cf4.js +17 -22
  134. package/dist/esm/tabs.taro-e71875fa.js +121 -165
  135. package/dist/esm/tag.taro-00fe554d.js +89 -0
  136. package/dist/esm/textarea.taro-42600f8c.js +74 -0
  137. package/dist/esm/timedetail.taro-c5f564fd.js +44 -0
  138. package/dist/esm/timepannel.taro-29f9dd86.js +22 -0
  139. package/dist/esm/timeselect.taro-3ecce65d.js +133 -0
  140. package/dist/esm/toast.taro-0804b6b4.js +99 -137
  141. package/dist/esm/trendarrow.taro-5a7153e4.js +63 -90
  142. package/dist/esm/types/src/packages/cell/cell.taro.d.ts +0 -1
  143. package/dist/esm/types/src/packages/noticebar/noticebar.d.ts +5 -4
  144. package/dist/esm/types/src/packages/noticebar/noticebar.taro.d.ts +5 -4
  145. package/dist/esm/types/src/packages/uploader/uploader.d.ts +1 -1
  146. package/dist/esm/types/src/packages/virtuallist/virtuallist.taro.d.ts +13 -2
  147. package/dist/esm/typings-1c5f2628.js +7 -6
  148. package/dist/esm/uploader.taro-f80d76d9.js +392 -0
  149. package/dist/esm/useClientRect-bf69d7b3.js +5 -25
  150. package/dist/esm/useTouch-a2ea68c6.js +63 -93
  151. package/dist/esm/video-8a3518c5.js +59 -83
  152. package/dist/esm/virtuallist.taro-e3345ced.js +215 -0
  153. package/dist/esm/watermark.taro-cd9db98a.js +114 -0
  154. package/dist/esm/zh-CN-dfc384d0.js +128 -133
  155. package/dist/locales/base.js +1 -1
  156. package/dist/locales/en-US.js +1 -1
  157. package/dist/locales/id-ID.js +1 -1
  158. package/dist/locales/zh-CN.js +1 -1
  159. package/dist/locales/zh-TW.js +1 -1
  160. package/dist/locales/zh-UG.js +1 -1
  161. package/dist/nutui.react.es.js +634 -5664
  162. package/dist/nutui.react.umd.js +634 -5664
  163. package/dist/packages/noticebar/noticebar.scss +17 -0
  164. package/dist/packages/radio/radio.scss +3 -1
  165. package/dist/packages/row/row.scss +2 -0
  166. package/dist/packages/searchbar/searchbar.scss +1 -1
  167. package/dist/packages/tag/tag.scss +13 -5
  168. package/dist/packages/virtuallist/virtuallist.scss +24 -0
  169. package/dist/style.css +1 -1
  170. package/dist/style.es.js +1 -1
  171. package/dist/styles/temp.scss +2340 -0
  172. package/dist/styles/theme-dark.scss +7 -0
  173. package/dist/styles/theme-default.scss +11 -0
  174. package/dist/styles/variables.scss +1945 -710
  175. package/dist/types/index.d.ts +16 -23
  176. package/package.json +9 -4
  177. package/dist/esm/address.taro-1e2aea24.js +0 -615
  178. package/dist/esm/audio.taro-fddcdfc0.js +0 -228
  179. package/dist/esm/avatargroup-f7f600ff.js +0 -42
  180. package/dist/esm/calendar.taro-72974415.js +0 -83
  181. package/dist/esm/calendaritem.taro-84e889eb.js +0 -580
  182. package/dist/esm/card.taro-a530dfb3.js +0 -61
  183. package/dist/esm/cell.taro-cf50c4f2.js +0 -109
  184. package/dist/esm/configprovider-c7d60e20.js +0 -18
  185. package/dist/esm/configprovider.taro-8bdb3a28.js +0 -50
  186. package/dist/esm/countdown.taro-d7dc8681.js +0 -246
  187. package/dist/esm/datepicker.taro-7199f521.js +0 -304
  188. package/dist/esm/dialog.taro-f54cfbf0.js +0 -187
  189. package/dist/esm/ellipsis.taro-c0de6ff4.js +0 -309
  190. package/dist/esm/empty.taro-dbc66496.js +0 -81
  191. package/dist/esm/fixednav.taro-9e759320.js +0 -97
  192. package/dist/esm/form.taro-880014b1.js +0 -181
  193. package/dist/esm/formitem.taro-3695f4a7.js +0 -136
  194. package/dist/esm/grid.taro-c2cc12d6.js +0 -81
  195. package/dist/esm/griditem.taro-892153cd.js +0 -122
  196. package/dist/esm/image.taro-c30973d5.js +0 -105
  197. package/dist/esm/infiniteloading.taro-b5ddf3cc.js +0 -188
  198. package/dist/esm/input.taro-104130c1.js +0 -361
  199. package/dist/esm/menuitem.taro-216e9f7d.js +0 -193
  200. package/dist/esm/noticebar.taro-94002898.js +0 -368
  201. package/dist/esm/numberkeyboard.taro-5e8f0ddf.js +0 -245
  202. package/dist/esm/pagination.taro-9925ffab.js +0 -169
  203. package/dist/esm/picker.taro-3b5cc054.js +0 -540
  204. package/dist/esm/pulltorefresh.taro-f26a20dd.js +0 -302
  205. package/dist/esm/range.taro-c41e9b90.js +0 -469
  206. package/dist/esm/searchbar.taro-01ed4ea4.js +0 -236
  207. package/dist/esm/shortpassword.taro-3a3bf412.js +0 -190
  208. package/dist/esm/sidenavbar.taro-06026f31.js +0 -66
  209. package/dist/esm/signature.taro-17648cac.js +0 -192
  210. package/dist/esm/sticky.taro-36013e97.js +0 -16
  211. package/dist/esm/table.taro-adda6622.js +0 -139
  212. package/dist/esm/tag.taro-bd900990.js +0 -104
  213. package/dist/esm/textarea.taro-83d5fe73.js +0 -102
  214. package/dist/esm/timedetail.taro-105f5380.js +0 -68
  215. package/dist/esm/timepannel.taro-c66c63dd.js +0 -30
  216. package/dist/esm/timeselect.taro-fc7ec6ee.js +0 -172
  217. package/dist/esm/uploader.taro-a1edf38f.js +0 -529
  218. package/dist/esm/virtuallist.taro-4add61c3.js +0 -315
  219. package/dist/esm/watermark.taro-323d1cf3.js +0 -132
@@ -1,227 +1,166 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- var _excluded = ["className", "value", "onChange", "textPosition", "direction", "options"],
5
- _excluded2 = ["label", "value", "disabled", "onChange"],
6
- _excluded3 = ["className", "disabled", "checked", "shape", "textPosition", "value", "iconName", "iconActiveName", "iconSize", "onChange", "iconClassPrefix", "iconFontClassName"];
7
- 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; }
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
1
  import React__default, { useState, useEffect, useCallback, useContext } from 'react';
10
2
  import { I as Icon } from './icon.taro-1d0d4fb7.js';
11
3
  import { c as cn } from './bem-893ad28d.js';
12
4
  import { C as ComponentDefaults } from './typings-1c5f2628.js';
13
- var radioContext = {
14
- onChange: function onChange(val) {}
5
+
6
+ const radioContext = {
7
+ onChange: (val) => { },
15
8
  };
16
9
  var RadioContext = React__default.createContext(radioContext);
17
- var defaultProps$1 = {
18
- value: null,
19
- textPosition: 'right',
20
- onChange: function onChange(value) {},
21
- direction: 'vertical',
22
- options: []
23
- };
24
- var RadioGroup = React__default.forwardRef(function (props, ref) {
25
- var _defaultProps$1$props = _objectSpread(_objectSpread({}, defaultProps$1), props),
26
- children = _defaultProps$1$props.children;
27
- cn('RadioGroup');
28
- var className = props.className,
29
- value = props.value,
30
- _onChange = props.onChange,
31
- textPosition = props.textPosition,
32
- direction = props.direction,
33
- options = props.options,
34
- rest = _objectWithoutProperties(props, _excluded);
35
- var _useState = useState(value),
36
- _useState2 = _slicedToArray(_useState, 2),
37
- val2State = _useState2[0],
38
- setVal2State = _useState2[1];
39
- // useImperativeHandle(ref, () => ({
40
- // toggleAll(state: boolean) {
41
- // console.log(state)
42
- // if (state === false) {
43
- // setInnerValue([])
44
- // } else {
45
- // const childrenLabel: string[] = []
46
- // React.Children.map(children, (child) => {
47
- // const childProps = (child as any).props
48
- // childrenLabel.push(childProps.label || (child as any).children)
49
- // })
50
- // setInnerValue(childrenLabel)
51
- // }
52
- // },
53
- // }))
54
- useEffect(function () {
55
- setVal2State(value);
56
- }, [value]);
57
- // function handleChildChange(state: boolean, label: string) {
58
- // if (innerValue) {
59
- // let clippedValue = []
60
- // if (state) {
61
- // clippedValue = [...innerValue, label]
62
- // } else {
63
- // innerValue?.splice(innerValue?.indexOf(label), 1)
64
- // clippedValue = [...innerValue]
65
- // }
66
- // setInnerValue(clippedValue)
67
- // onChange && onChange(clippedValue)
68
- // }
69
- // }
70
- function validateChildChecked(child) {
71
- if (val2State === null) return false;
72
- return val2State === child.props.value;
73
- }
74
- function validateChecked(value) {
75
- if (val2State === null) return false;
76
- return val2State === value;
77
- }
78
- function cloneChildren() {
79
- return React__default.Children.map(children, function (child, index) {
80
- var childChecked = validateChildChecked(child);
81
- if (child.type.displayName !== 'NutRadio') {
82
- return React__default.cloneElement(child);
83
- }
84
- return React__default.cloneElement(child, {
85
- textPosition: textPosition,
86
- checked: childChecked
87
- // onChange: handleChildChange,
88
- });
89
- });
90
- }
91
10
 
92
- var renderOptionsChildren = useCallback(function () {
93
- return options === null || options === void 0 ? void 0 : options.map(function (_ref) {
94
- var label = _ref.label,
95
- value = _ref.value,
96
- disabled = _ref.disabled,
97
- onChange = _ref.onChange,
98
- rest = _objectWithoutProperties(_ref, _excluded2);
99
- var childChecked = validateChecked(value);
100
- return React__default.createElement(Radio, _objectSpread(_objectSpread({
101
- key: value === null || value === void 0 ? void 0 : value.toString(),
102
- children: label,
103
- value: value,
104
- disabled: disabled,
105
- onChange: onChange
106
- }, rest), {}, {
107
- textPosition: textPosition,
108
- checked: childChecked
109
- }));
110
- });
111
- }, [val2State, options]);
112
- return React__default.createElement(RadioContext.Provider, {
113
- value: {
114
- onChange: function onChange(val) {
115
- setVal2State(val);
116
- _onChange && _onChange(val);
117
- }
11
+ const defaultProps$1 = {
12
+ value: null,
13
+ textPosition: 'right',
14
+ onChange: (value) => { },
15
+ direction: 'vertical',
16
+ options: [],
17
+ };
18
+ const RadioGroup = React__default.forwardRef((props, ref) => {
19
+ const { children } = { ...defaultProps$1, ...props };
20
+ cn('RadioGroup');
21
+ const { className, value, onChange, textPosition, direction, options, ...rest } = props;
22
+ const [val2State, setVal2State] = useState(value);
23
+ // useImperativeHandle(ref, () => ({
24
+ // toggleAll(state: boolean) {
25
+ // console.log(state)
26
+ // if (state === false) {
27
+ // setInnerValue([])
28
+ // } else {
29
+ // const childrenLabel: string[] = []
30
+ // React.Children.map(children, (child) => {
31
+ // const childProps = (child as any).props
32
+ // childrenLabel.push(childProps.label || (child as any).children)
33
+ // })
34
+ // setInnerValue(childrenLabel)
35
+ // }
36
+ // },
37
+ // }))
38
+ useEffect(() => {
39
+ setVal2State(value);
40
+ }, [value]);
41
+ // function handleChildChange(state: boolean, label: string) {
42
+ // if (innerValue) {
43
+ // let clippedValue = []
44
+ // if (state) {
45
+ // clippedValue = [...innerValue, label]
46
+ // } else {
47
+ // innerValue?.splice(innerValue?.indexOf(label), 1)
48
+ // clippedValue = [...innerValue]
49
+ // }
50
+ // setInnerValue(clippedValue)
51
+ // onChange && onChange(clippedValue)
52
+ // }
53
+ // }
54
+ function validateChildChecked(child) {
55
+ if (val2State === null)
56
+ return false;
57
+ return val2State === child.props.value;
58
+ }
59
+ function validateChecked(value) {
60
+ if (val2State === null)
61
+ return false;
62
+ return val2State === value;
118
63
  }
119
- }, React__default.createElement("div", _objectSpread({
120
- className: "nut-radiogroup nut-radiogroup--".concat(props.direction, " ").concat(className || '')
121
- }, rest), options !== null && options !== void 0 && options.length ? renderOptionsChildren() : cloneChildren()));
64
+ function cloneChildren() {
65
+ return React__default.Children.map(children, (child, index) => {
66
+ const childChecked = validateChildChecked(child);
67
+ if (child.type.displayName !== 'NutRadio') {
68
+ return React__default.cloneElement(child);
69
+ }
70
+ return React__default.cloneElement(child, {
71
+ textPosition,
72
+ checked: childChecked,
73
+ // onChange: handleChildChange,
74
+ });
75
+ });
76
+ }
77
+ const renderOptionsChildren = useCallback(() => {
78
+ return options?.map(({ label, value, disabled, onChange, ...rest }) => {
79
+ const childChecked = validateChecked(value);
80
+ return (React__default.createElement(Radio, { key: value?.toString(), children: label, value: value, disabled: disabled, onChange: onChange, ...rest, textPosition: textPosition, checked: childChecked }));
81
+ });
82
+ }, [val2State, options]);
83
+ return (React__default.createElement(RadioContext.Provider, { value: {
84
+ onChange: (val) => {
85
+ setVal2State(val);
86
+ onChange && onChange(val);
87
+ },
88
+ } },
89
+ React__default.createElement("div", { className: `nut-radiogroup nut-radiogroup--${props.direction} ${className || ''}`, ...rest }, options?.length ? renderOptionsChildren() : cloneChildren())));
122
90
  });
123
91
  RadioGroup.defaultProps = defaultProps$1;
124
92
  RadioGroup.displayName = 'NutRadioGroup';
125
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
126
- disabled: false,
127
- checked: false,
128
- shape: 'round',
129
- value: '',
130
- textPosition: 'right',
131
- iconName: 'check-normal',
132
- iconActiveName: 'check-checked',
133
- iconSize: 18,
134
- onChange: function onChange(e) {}
135
- });
136
- var Radio$1 = function Radio$1(props) {
137
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
138
- children = _defaultProps$props.children;
139
- var className = props.className,
140
- disabled = props.disabled,
141
- checked = props.checked,
142
- shape = props.shape,
143
- textPosition = props.textPosition,
144
- value = props.value,
145
- iconName = props.iconName,
146
- iconActiveName = props.iconActiveName,
147
- iconSize = props.iconSize,
148
- onChange = props.onChange,
149
- iconClassPrefix = props.iconClassPrefix,
150
- iconFontClassName = props.iconFontClassName,
151
- rest = _objectWithoutProperties(props, _excluded3);
152
- var componentName = 'nut-radio';
153
- var _useState3 = useState(checked),
154
- _useState4 = _slicedToArray(_useState3, 2),
155
- checkedStatement = _useState4[0],
156
- setCheckedStatement = _useState4[1];
157
- var _useState5 = useState(value),
158
- _useState6 = _slicedToArray(_useState5, 2),
159
- valueStatement = _useState6[0],
160
- setValueStatement = _useState6[1];
161
- var _useState7 = useState(disabled),
162
- _useState8 = _slicedToArray(_useState7, 2),
163
- disabledStatement = _useState8[0],
164
- setDisabledStatement = _useState8[1];
165
- var context = useContext(RadioContext);
166
- useEffect(function () {
167
- setDisabledStatement(disabled);
168
- setValueStatement(value);
169
- setCheckedStatement(checked);
170
- }, [disabled, value, checked]);
171
- var renderLabel = function renderLabel() {
172
- return React__default.createElement("div", {
173
- className: "".concat(componentName, "__label ").concat(disabledStatement ? "".concat(componentName, "__label--disabled") : '')
174
- }, children);
175
- };
176
- var renderButton = function renderButton() {
177
- return React__default.createElement("div", {
178
- className: "".concat(componentName, "__button ").concat(checkedStatement && "".concat(componentName, "__button--active"), " ").concat(disabledStatement ? "".concat(componentName, "__button--disabled") : '')
179
- }, children);
180
- };
181
- var color = function color() {
182
- if (disabledStatement) {
183
- return 'nut-radio__icon--disable';
184
- }
185
- if (checkedStatement) {
186
- return 'nut-radio__icon';
187
- }
188
- return 'nut-radio__icon--unchecked';
189
- };
190
- var renderIcon = function renderIcon() {
191
- var iconName = props.iconName,
192
- iconSize = props.iconSize,
193
- iconActiveName = props.iconActiveName;
194
- return React__default.createElement(Icon, {
195
- classPrefix: iconClassPrefix,
196
- fontClassName: iconFontClassName,
197
- name: checkedStatement ? iconActiveName : iconName,
198
- size: iconSize,
199
- className: color()
200
- });
201
- };
202
- var renderRadioItem = function renderRadioItem() {
203
- if (shape === 'button') {
204
- return renderButton();
205
- }
206
- if (reverseState) {
207
- return [renderLabel(), renderIcon()];
208
- }
209
- return [renderIcon(), renderLabel()];
210
- };
211
- var handleClick = function handleClick(e) {
212
- if (disabledStatement || checkedStatement) return;
213
- setCheckedStatement(!checkedStatement);
214
- onChange && onChange(e);
215
- context && context.onChange(valueStatement);
216
- };
217
- var reverseState = textPosition === 'left';
218
- return React__default.createElement("div", _objectSpread({
219
- className: "nut-radio ".concat(className),
220
- onClick: handleClick
221
- }, rest), renderRadioItem());
93
+
94
+ const defaultProps = {
95
+ ...ComponentDefaults,
96
+ disabled: false,
97
+ checked: false,
98
+ shape: 'round',
99
+ value: '',
100
+ textPosition: 'right',
101
+ iconName: 'check-normal',
102
+ iconActiveName: 'check-checked',
103
+ iconSize: 18,
104
+ onChange: (e) => { },
105
+ };
106
+ const Radio$1 = (props) => {
107
+ const { children } = {
108
+ ...defaultProps,
109
+ ...props,
110
+ };
111
+ const { className, disabled, checked, shape, textPosition, value, iconName, iconActiveName, iconSize, onChange, iconClassPrefix, iconFontClassName, ...rest } = props;
112
+ const componentName = 'nut-radio';
113
+ const [checkedStatement, setCheckedStatement] = useState(checked);
114
+ const [valueStatement, setValueStatement] = useState(value);
115
+ const [disabledStatement, setDisabledStatement] = useState(disabled);
116
+ const context = useContext(RadioContext);
117
+ useEffect(() => {
118
+ setDisabledStatement(disabled);
119
+ setValueStatement(value);
120
+ setCheckedStatement(checked);
121
+ }, [disabled, value, checked]);
122
+ const renderLabel = () => {
123
+ return (React__default.createElement("div", { className: `${componentName}__label ${disabledStatement ? `${componentName}__label--disabled` : ''}` }, children));
124
+ };
125
+ const renderButton = () => {
126
+ return (React__default.createElement("div", { className: `${componentName}__button ${checkedStatement && `${componentName}__button--active`} ${disabledStatement ? `${componentName}__button--disabled` : ''}` }, children));
127
+ };
128
+ const color = () => {
129
+ if (disabledStatement) {
130
+ return 'nut-radio__icon--disable';
131
+ }
132
+ if (checkedStatement) {
133
+ return 'nut-radio__icon';
134
+ }
135
+ return 'nut-radio__icon--unchecked';
136
+ };
137
+ const renderIcon = () => {
138
+ const { iconName, iconSize, iconActiveName } = props;
139
+ return (React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, name: checkedStatement ? iconActiveName : iconName, size: iconSize, className: color() }));
140
+ };
141
+ const renderRadioItem = () => {
142
+ if (shape === 'button') {
143
+ return renderButton();
144
+ }
145
+ if (reverseState) {
146
+ return [renderLabel(), renderIcon()];
147
+ }
148
+ return [renderIcon(), renderLabel()];
149
+ };
150
+ const handleClick = (e) => {
151
+ if (disabledStatement || checkedStatement)
152
+ return;
153
+ setCheckedStatement(!checkedStatement);
154
+ onChange && onChange(e);
155
+ context && context.onChange(valueStatement);
156
+ };
157
+ const reverseState = textPosition === 'left';
158
+ return (React__default.createElement("div", { className: `nut-radio ${className}`, onClick: handleClick, ...rest }, renderRadioItem()));
222
159
  };
223
160
  Radio$1.defaultProps = defaultProps;
224
161
  Radio$1.displayName = 'NutRadio';
225
162
  Radio$1.RadioGroup = RadioGroup;
163
+
226
164
  var Radio = Radio$1;
165
+
227
166
  export { Radio as R, RadioGroup as a };
@@ -1,51 +1,37 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["size", "current", "block", "align", "fillZero", "children", "className", "vertical"];
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
- 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
1
  import React__default, { useEffect } from 'react';
7
2
  import classNames from 'classnames';
8
3
  import { c as cn } from './bem-893ad28d.js';
9
- var defaultProps = {
10
- size: 3,
11
- current: 1,
12
- block: false,
13
- align: 'center',
14
- fillZero: true,
15
- vertical: false
4
+
5
+ const defaultProps = {
6
+ size: 3,
7
+ current: 1,
8
+ block: false,
9
+ align: 'center',
10
+ fillZero: true,
11
+ vertical: false,
16
12
  };
17
- var Indicator = function Indicator(props) {
18
- var _classNames;
19
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
20
- size = _defaultProps$props.size,
21
- current = _defaultProps$props.current,
22
- block = _defaultProps$props.block,
23
- align = _defaultProps$props.align,
24
- fillZero = _defaultProps$props.fillZero,
25
- children = _defaultProps$props.children,
26
- className = _defaultProps$props.className,
27
- vertical = _defaultProps$props.vertical,
28
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
29
- var b = cn('indicator');
30
- var classes = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(b('block')), block), _defineProperty(_classNames, "".concat(b('align'), "__").concat(align), block && align), _defineProperty(_classNames, "".concat(b('vertical')), vertical), _classNames), b(''));
31
- var renderEles = function renderEles() {
32
- var childs = [];
33
- for (var item = 1; item <= size; item++) {
34
- childs.push(item === current ? React__default.createElement("div", {
35
- key: item,
36
- className: b('number')
37
- }, fillZero && item < 10 ? "0".concat(item) : item) : React__default.createElement("div", {
38
- key: item,
39
- className: b('dot')
40
- }));
41
- }
42
- return childs;
43
- };
44
- useEffect(function () {}, []);
45
- return React__default.createElement("div", _objectSpread({
46
- className: "".concat(classes, " ").concat(className)
47
- }, rest), renderEles());
13
+ const Indicator = (props) => {
14
+ const { size, current, block, align, fillZero, children, className, vertical, ...rest } = {
15
+ ...defaultProps,
16
+ ...props,
17
+ };
18
+ const b = cn('indicator');
19
+ const classes = classNames({
20
+ [`${b('block')}`]: block,
21
+ [`${b('align')}__${align}`]: block && align,
22
+ [`${b('vertical')}`]: vertical,
23
+ }, b(''));
24
+ const renderEles = () => {
25
+ const childs = [];
26
+ for (let item = 1; item <= size; item++) {
27
+ childs.push(item === current ? (React__default.createElement("div", { key: item, className: b('number') }, fillZero && item < 10 ? `0${item}` : item)) : (React__default.createElement("div", { key: item, className: b('dot') })));
28
+ }
29
+ return childs;
30
+ };
31
+ useEffect(() => { }, []);
32
+ return (React__default.createElement("div", { className: `${classes} ${className}`, ...rest }, renderEles()));
48
33
  };
49
34
  Indicator.defaultProps = defaultProps;
50
35
  Indicator.displayName = 'NutIndicator';
36
+
51
37
  export { Indicator as I };
@@ -0,0 +1,142 @@
1
+ import React__default, { useState, useRef, useEffect } from 'react';
2
+ import classNames from 'classnames';
3
+ import { ScrollView } from '@tarojs/components';
4
+ import Taro from '@tarojs/taro';
5
+ import { c as cn } from './bem-893ad28d.js';
6
+ import { I as Icon } from './icon.taro-1d0d4fb7.js';
7
+ import { u as useConfig } from './configprovider.taro-26882dd2.js';
8
+ import { C as ComponentDefaults } from './typings-1c5f2628.js';
9
+
10
+ const defaultProps = {
11
+ ...ComponentDefaults,
12
+ hasMore: true,
13
+ upperThreshold: 40,
14
+ containerId: '',
15
+ isOpenRefresh: false,
16
+ pullIcon: 'https://img10.360buyimg.com/imagetools/jfs/t1/169863/6/4565/6306/60125948E7e92774e/40b3a0cf42852bcb.png',
17
+ pullTxt: '松开刷新',
18
+ loadIcon: 'https://img10.360buyimg.com/imagetools/jfs/t1/169863/6/4565/6306/60125948E7e92774e/40b3a0cf42852bcb.png',
19
+ loadTxt: '加载中···',
20
+ loadMoreTxt: '哎呀,这里是底部了啦',
21
+ };
22
+ const Infiniteloading = (props) => {
23
+ const { locale } = useConfig();
24
+ const { children, hasMore, upperThreshold, containerId, isOpenRefresh, pullIcon, pullTxt, loadIcon, loadTxt, loadMoreTxt, className, onRefresh, onLoadMore, onScrollChange, iconClassPrefix, iconFontClassName, } = {
25
+ ...defaultProps,
26
+ ...props,
27
+ };
28
+ const [isInfiniting, setIsInfiniting] = useState(false);
29
+ const [topDisScoll, setTopDisScoll] = useState(0);
30
+ const refreshTop = useRef(null);
31
+ const scrollHeight = useRef(0);
32
+ const scrollTop = useRef(0);
33
+ const direction = useRef('down');
34
+ const isTouching = useRef(false);
35
+ const y = useRef(0);
36
+ const refreshMaxH = useRef(0);
37
+ const distance = useRef(0);
38
+ const b = cn('infiniteloading');
39
+ const classes = classNames(className, b());
40
+ useEffect(() => {
41
+ refreshMaxH.current = upperThreshold;
42
+ setTimeout(() => {
43
+ getScrollHeight();
44
+ }, 200);
45
+ }, [hasMore, isInfiniting]);
46
+ /** 获取需要滚动的距离 */
47
+ const getScrollHeight = () => {
48
+ const parentElement = getParentElement('scroller');
49
+ parentElement
50
+ .boundingClientRect((rect) => {
51
+ scrollHeight.current = rect.height;
52
+ })
53
+ .exec();
54
+ };
55
+ const getStyle = () => {
56
+ return {
57
+ height: topDisScoll < 0 ? `0px` : `${topDisScoll}px`,
58
+ transition: `height 0.2s cubic-bezier(0.25,0.1,0.25,1)`,
59
+ };
60
+ };
61
+ const getParentElement = (el) => {
62
+ return Taro.createSelectorQuery().select(containerId ? `#${containerId} #${el}` : `#${el}`);
63
+ };
64
+ const infiniteDone = () => {
65
+ setIsInfiniting(false);
66
+ };
67
+ const refreshDone = () => {
68
+ distance.current = 0;
69
+ setTopDisScoll(0);
70
+ isTouching.current = false;
71
+ };
72
+ const scrollAction = (e) => {
73
+ if (e.detail.scrollTop <= 0) {
74
+ // 滚动到最顶部
75
+ e.detail.scrollTop = 0;
76
+ }
77
+ else if (e.detail.scrollTop >= scrollHeight.current) {
78
+ // 滚动到最底部
79
+ e.detail.scrollTop = scrollHeight.current;
80
+ }
81
+ if (e.detail.scrollTop > scrollTop.current ||
82
+ e.detail.scrollTop >= scrollHeight.current) {
83
+ direction.current = 'down';
84
+ }
85
+ else {
86
+ direction.current = 'up';
87
+ }
88
+ scrollTop.current = e.detail.scrollTop;
89
+ onScrollChange && onScrollChange(e.detail.scrollTop);
90
+ };
91
+ const lower = () => {
92
+ if (direction.current == 'up' || !hasMore || isInfiniting) {
93
+ return false;
94
+ }
95
+ setIsInfiniting(true);
96
+ onLoadMore && onLoadMore(infiniteDone);
97
+ };
98
+ const touchStart = (event) => {
99
+ if (scrollTop.current == 0 && !isTouching.current && isOpenRefresh) {
100
+ y.current = event.touches[0].pageY;
101
+ isTouching.current = true;
102
+ }
103
+ };
104
+ const touchMove = (event) => {
105
+ distance.current = event.touches[0].pageY - y.current;
106
+ if (distance.current > 0 && isTouching.current) {
107
+ event.preventDefault();
108
+ setTopDisScoll(distance.current);
109
+ if (distance.current >= refreshMaxH.current) {
110
+ distance.current = refreshMaxH.current;
111
+ setTopDisScoll(refreshMaxH.current);
112
+ }
113
+ }
114
+ else {
115
+ distance.current = 0;
116
+ setTopDisScoll(0);
117
+ isTouching.current = false;
118
+ }
119
+ };
120
+ const touchEnd = () => {
121
+ if (distance.current < refreshMaxH.current) {
122
+ distance.current = 0;
123
+ setTopDisScoll(0);
124
+ }
125
+ else {
126
+ onRefresh && onRefresh(refreshDone);
127
+ }
128
+ };
129
+ return (React__default.createElement(ScrollView, { className: classes, scrollY: true, id: "scroller", style: { height: '100%' }, onScroll: scrollAction, onScrollToLower: lower, onTouchStart: touchStart, onTouchMove: touchMove, onTouchEnd: touchEnd },
130
+ React__default.createElement("div", { className: "nut-infinite-top", ref: refreshTop, style: getStyle() },
131
+ React__default.createElement("div", { className: "top-box" },
132
+ React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, className: "top-img", name: pullIcon }),
133
+ React__default.createElement("span", { className: "top-text" }, pullTxt || locale.infiniteloading.pullRefreshText))),
134
+ React__default.createElement("div", { className: "nut-infinite-container" }, children),
135
+ React__default.createElement("div", { className: "nut-infinite-bottom" }, isInfiniting ? (React__default.createElement("div", { className: "bottom-box" },
136
+ React__default.createElement(Icon, { classPrefix: iconClassPrefix, fontClassName: iconFontClassName, className: "bottom-img", name: loadIcon }),
137
+ React__default.createElement("div", { className: "bottom-text" }, loadTxt || locale.infiniteloading.loadText))) : (!hasMore && (React__default.createElement("div", { className: "tips" }, loadMoreTxt || locale.infiniteloading.loadMoreText))))));
138
+ };
139
+ Infiniteloading.defaultProps = defaultProps;
140
+ Infiniteloading.displayName = 'NutInfiniteloading';
141
+
142
+ export { Infiniteloading as I };