@nutui/nutui-react-taro 1.5.2-beta.1 → 1.5.2

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 (231) hide show
  1. package/dist/esm/ActionSheet.js +90 -14
  2. package/dist/esm/Address.js +620 -21
  3. package/dist/esm/Animate.js +53 -7
  4. package/dist/esm/AnimatingNumbers.js +125 -7
  5. package/dist/esm/Audio.js +264 -19
  6. package/dist/esm/Avatar.js +130 -11
  7. package/dist/esm/{AvatarContext-c96afdcc.js → AvatarContext-15733596.js} +1 -3
  8. package/dist/esm/AvatarGroup.js +41 -11
  9. package/dist/esm/BackTop.js +138 -10
  10. package/dist/esm/Badge.js +71 -9
  11. package/dist/esm/Barrage.js +97 -8
  12. package/dist/esm/Button.js +108 -9
  13. package/dist/esm/Calendar.js +128 -20
  14. package/dist/esm/CalendarItem.js +674 -12
  15. package/dist/esm/Card.js +61 -11
  16. package/dist/esm/Cascader.js +671 -16
  17. package/dist/esm/Cell.js +101 -9
  18. package/dist/esm/CellGroup.js +2 -5
  19. package/dist/esm/Checkbox.js +5 -7
  20. package/dist/esm/CheckboxGroup.js +111 -8
  21. package/dist/esm/CircleProgress.js +114 -8
  22. package/dist/esm/Col.js +57 -7
  23. package/dist/esm/Collapse.js +97 -7
  24. package/dist/esm/CollapseItem.js +146 -8
  25. package/dist/esm/ConfigProvider.js +187 -8
  26. package/dist/esm/CountDown.js +247 -9
  27. package/dist/esm/DatePicker.js +309 -25
  28. package/dist/esm/Dialog.js +296 -17
  29. package/dist/esm/Divider.js +34 -7
  30. package/dist/esm/Drag.js +118 -7
  31. package/dist/esm/Elevator.js +234 -8
  32. package/dist/esm/Ellipsis.js +176 -10
  33. package/dist/esm/Empty.js +79 -8
  34. package/dist/esm/FixedNav.js +103 -14
  35. package/dist/esm/Form.js +215 -10
  36. package/dist/esm/FormItem.js +3 -10
  37. package/dist/esm/Grid.js +81 -11
  38. package/dist/esm/GridItem.js +123 -13
  39. package/dist/esm/Icon.js +2 -5
  40. package/dist/esm/Image.js +169 -11
  41. package/dist/esm/ImagePreview.js +225 -19
  42. package/dist/esm/Indicator.js +50 -7
  43. package/dist/esm/Infiniteloading.js +215 -14
  44. package/dist/esm/Input.js +362 -12
  45. package/dist/esm/InputNumber.js +275 -9
  46. package/dist/esm/Layout.js +13 -5
  47. package/dist/esm/Menu.js +153 -10
  48. package/dist/esm/MenuItem.js +175 -15
  49. package/dist/esm/NavBar.js +114 -9
  50. package/dist/esm/NoticeBar.js +568 -10
  51. package/dist/esm/Notify.js +234 -8
  52. package/dist/esm/NumberKeyboard.js +247 -17
  53. package/dist/esm/Overlay.js +2 -6
  54. package/dist/esm/Pagination.js +168 -9
  55. package/dist/esm/Picker.js +494 -22
  56. package/dist/esm/Popover.js +223 -12
  57. package/dist/esm/Popup.js +193 -13
  58. package/dist/esm/Price.js +84 -6
  59. package/dist/esm/Progress.js +122 -9
  60. package/dist/esm/PullToRefresh.js +276 -13
  61. package/dist/esm/Radio.js +4 -8
  62. package/dist/esm/RadioGroup.js +120 -7
  63. package/dist/esm/Range.js +406 -15
  64. package/dist/esm/Rate.js +121 -9
  65. package/dist/esm/Row.js +49 -7
  66. package/dist/esm/SearchBar.js +235 -12
  67. package/dist/esm/ShortPassword.js +191 -17
  68. package/dist/esm/SideNavBar.js +57 -19
  69. package/dist/esm/SideNavBarItem.js +24 -5
  70. package/dist/esm/Signature.js +153 -13
  71. package/dist/esm/Skeleton.js +98 -12
  72. package/dist/esm/Step.js +87 -10
  73. package/dist/esm/Steps.js +38 -8
  74. package/dist/esm/Sticky.js +190 -11
  75. package/dist/esm/SubSideNavBar.js +78 -6
  76. package/dist/esm/Swipe.js +230 -10
  77. package/dist/esm/Swiper.js +490 -9
  78. package/dist/esm/SwiperItem.js +36 -8
  79. package/dist/esm/Switch.js +71 -6
  80. package/dist/esm/TabPane.js +2 -5
  81. package/dist/esm/Tabbar.js +68 -6
  82. package/dist/esm/TabbarItem.js +78 -9
  83. package/dist/esm/Table.js +140 -12
  84. package/dist/esm/Tabs.js +5 -8
  85. package/dist/esm/Tag.js +110 -10
  86. package/dist/esm/TextArea.js +148 -9
  87. package/dist/esm/TimeDetail.js +67 -9
  88. package/dist/esm/TimePannel.js +29 -9
  89. package/dist/esm/TimeSelect.js +171 -19
  90. package/dist/esm/Toast.js +268 -7
  91. package/dist/esm/TrendArrow.js +99 -7
  92. package/dist/esm/Uploader.js +566 -17
  93. package/dist/esm/{UserContext-0aac9a82.js → UserContext-101ad4a4.js} +1 -3
  94. package/dist/esm/{UserContext-e402e1a6.js → UserContext-2629d479.js} +1 -3
  95. package/dist/esm/{UserContext-e8176108.js → UserContext-b33bcf21.js} +1 -3
  96. package/dist/esm/Video.js +90 -7
  97. package/dist/esm/VirtualList.js +313 -9
  98. package/dist/esm/WaterMark.js +111 -11
  99. package/dist/esm/{bem-350c1702.js → bem-3b438e61.js} +6 -3
  100. package/dist/esm/cellgroup-fcc72767.js +34 -0
  101. package/dist/esm/checkbox-44e13cd0.js +137 -0
  102. package/dist/esm/date-c7aad4c0.js +97 -0
  103. package/dist/esm/formitem-8a73a5fb.js +157 -0
  104. package/dist/esm/get-scroll-parent-5f85dee8.js +24 -0
  105. package/dist/esm/{grid.taro.context-c2bbfb4f.js → grid.context-2ee27d95.js} +2 -4
  106. package/dist/esm/icon-4ef1581c.js +70 -0
  107. package/dist/esm/index-030b7245.js +11 -0
  108. package/dist/esm/nutui-react.es.js +94 -119
  109. package/dist/esm/offsetContext-3ab00d40.js +16 -0
  110. package/dist/esm/overlay-de6c79d5.js +83 -0
  111. package/dist/esm/radio-9f141e6b.js +118 -0
  112. package/dist/esm/render-bbebb760.js +79 -0
  113. package/dist/esm/tabpane-01075e6c.js +29 -0
  114. package/dist/esm/tabs-e1b4e4b1.js +181 -0
  115. package/dist/esm/typings-f27b58f4.js +8 -0
  116. package/dist/esm/useClientRect-56bb675b.js +39 -0
  117. package/dist/esm/useTouch-cf73a407.js +99 -0
  118. package/dist/locales/base.js +1 -1
  119. package/dist/locales/en-US.js +1 -1
  120. package/dist/locales/id-ID.js +1 -1
  121. package/dist/locales/zh-CN.js +1 -1
  122. package/dist/locales/zh-TW.js +1 -1
  123. package/dist/locales/zh-UG.js +1 -1
  124. package/dist/nutui.react.mjs +15025 -13192
  125. package/dist/nutui.react.umd.js +15004 -13169
  126. package/dist/style.mjs +1 -1
  127. package/dist/types/index.d.ts +183 -176
  128. package/package.json +1 -1
  129. package/dist/esm/actionsheet.taro-e6a51446.js +0 -53
  130. package/dist/esm/address.taro-3a9b6396.js +0 -461
  131. package/dist/esm/animate.taro-fb7986d6.js +0 -40
  132. package/dist/esm/animatingnumbers.taro-03e5d61d.js +0 -104
  133. package/dist/esm/audio.taro-87ec8bf2.js +0 -161
  134. package/dist/esm/avatar.taro-3676f38f.js +0 -103
  135. package/dist/esm/avatargroup-f3574510.js +0 -34
  136. package/dist/esm/backtop.taro-66394a36.js +0 -48
  137. package/dist/esm/badge.taro-a4e59c11.js +0 -52
  138. package/dist/esm/barrage.taro-0495a1b2.js +0 -94
  139. package/dist/esm/button.taro-9244d065.js +0 -100
  140. package/dist/esm/calendar.taro-670842ea.js +0 -65
  141. package/dist/esm/calendaritem.taro-2a603571.js +0 -787
  142. package/dist/esm/can-use-dom-3eeb5af4.js +0 -6
  143. package/dist/esm/card.taro-e4c76dad.js +0 -33
  144. package/dist/esm/cascader.taro-eb1fb011.js +0 -438
  145. package/dist/esm/cell.taro-a10a74d3.js +0 -64
  146. package/dist/esm/cellgroup.taro-abe501bc.js +0 -25
  147. package/dist/esm/checkbox.taro-6120e3e3.js +0 -171
  148. package/dist/esm/circleprogress.taro-79854448.js +0 -109
  149. package/dist/esm/col.taro-53eed3cc.js +0 -41
  150. package/dist/esm/collapse.taro-1a9e4ba2.js +0 -83
  151. package/dist/esm/collapseitem-4d0bc55d.js +0 -83
  152. package/dist/esm/configprovider-67d19d3a.js +0 -19
  153. package/dist/esm/configprovider.taro-8d71eb49.js +0 -42
  154. package/dist/esm/countdown.taro-5b17c607.js +0 -226
  155. package/dist/esm/datepicker.taro-6e9b4b8f.js +0 -275
  156. package/dist/esm/dialog.taro-a3267d29.js +0 -118
  157. package/dist/esm/divider.taro-26d1d8b4.js +0 -35
  158. package/dist/esm/drag.taro-79bb8744.js +0 -110
  159. package/dist/esm/elevator.taro-6019669e.js +0 -178
  160. package/dist/esm/ellipsis.taro-f15f26da.js +0 -241
  161. package/dist/esm/empty.taro-04ae4389.js +0 -62
  162. package/dist/esm/fixednav.taro-1f05acaf.js +0 -53
  163. package/dist/esm/form.taro-0c8e7a39.js +0 -179
  164. package/dist/esm/formitem.taro-190a3326.js +0 -89
  165. package/dist/esm/get-scroll-parent-b4a07e65.js +0 -25
  166. package/dist/esm/grid.taro-3503b82c.js +0 -61
  167. package/dist/esm/griditem.taro-cdb3f119.js +0 -98
  168. package/dist/esm/icon-296a1bec.js +0 -63
  169. package/dist/esm/icon.taro-296a1bec.js +0 -63
  170. package/dist/esm/image.taro-142cf512.js +0 -64
  171. package/dist/esm/imagepreview.taro-c50bb0a3.js +0 -167
  172. package/dist/esm/index-5bcb0ff8.js +0 -7
  173. package/dist/esm/indicator.taro-cba8b010.js +0 -37
  174. package/dist/esm/infiniteloading.taro-183bccbf.js +0 -144
  175. package/dist/esm/input.taro-97af6c96.js +0 -240
  176. package/dist/esm/inputnumber.taro-91f65d17.js +0 -130
  177. package/dist/esm/layout.taro-9046d093.js +0 -11
  178. package/dist/esm/menu.taro-7e4038a1.js +0 -99
  179. package/dist/esm/menuitem.taro-96cc4f15.js +0 -130
  180. package/dist/esm/navbar.taro-777c4705.js +0 -79
  181. package/dist/esm/noticebar.taro-4a23cdee.js +0 -448
  182. package/dist/esm/notify.taro-e17c6f82.js +0 -75
  183. package/dist/esm/numberkeyboard.taro-1bc24744.js +0 -159
  184. package/dist/esm/offsetContext-c2a746fa.js +0 -5
  185. package/dist/esm/overlay.taro-21e87fb1.js +0 -69
  186. package/dist/esm/pagination.taro-715a173b.js +0 -124
  187. package/dist/esm/picker.taro-9ad1b7c5.js +0 -473
  188. package/dist/esm/popover.taro-ad5e76ea.js +0 -156
  189. package/dist/esm/popup.taro-01676bff.js +0 -137
  190. package/dist/esm/price.taro-776ed16e.js +0 -83
  191. package/dist/esm/progress.taro-f0ce38e9.js +0 -90
  192. package/dist/esm/pulltorefresh.taro-a294f656.js +0 -181
  193. package/dist/esm/radio.taro-a6eff96c.js +0 -168
  194. package/dist/esm/range.taro-d8fc7656.js +0 -332
  195. package/dist/esm/rate.taro-6cdf03bd.js +0 -75
  196. package/dist/esm/row.taro-f64d4a13.js +0 -46
  197. package/dist/esm/searchbar.taro-0c25927b.js +0 -152
  198. package/dist/esm/shortpassword.taro-9ee034f7.js +0 -111
  199. package/dist/esm/sidenavbar.taro-c307b35e.js +0 -35
  200. package/dist/esm/sidenavbaritem.taro-5a7965d0.js +0 -12
  201. package/dist/esm/signature.taro-ec4e713b.js +0 -143
  202. package/dist/esm/skeleton.taro-76faf63f.js +0 -62
  203. package/dist/esm/step.taro-b7903e8c.js +0 -59
  204. package/dist/esm/steps.taro-c82d2252.js +0 -30
  205. package/dist/esm/sticky.taro-218bda37.js +0 -138
  206. package/dist/esm/subsidenavbar.taro-69cb9752.js +0 -63
  207. package/dist/esm/supports-passive-c85ef996.js +0 -18
  208. package/dist/esm/swipe.taro-ea35f07f.js +0 -177
  209. package/dist/esm/swiper.taro-7a94e211.js +0 -451
  210. package/dist/esm/swiperitem-c9e3d0d5.js +0 -29
  211. package/dist/esm/switch.taro-34ca8228.js +0 -50
  212. package/dist/esm/tabbar.taro-9acfc2fa.js +0 -59
  213. package/dist/esm/tabbaritem.taro-bf517487.js +0 -58
  214. package/dist/esm/table.taro-91fc0c01.js +0 -93
  215. package/dist/esm/tabpane.taro-4ca340ef.js +0 -23
  216. package/dist/esm/tabs.taro-6a7524a4.js +0 -140
  217. package/dist/esm/tag.taro-23ba0834.js +0 -92
  218. package/dist/esm/textarea.taro-442e7350.js +0 -94
  219. package/dist/esm/timedetail.taro-5b2f2269.js +0 -44
  220. package/dist/esm/timepannel.taro-d6e40180.js +0 -22
  221. package/dist/esm/timeselect.taro-a07036f4.js +0 -133
  222. package/dist/esm/toast.taro-d6c14811.js +0 -109
  223. package/dist/esm/trendarrow.taro-b8c5ccd9.js +0 -73
  224. package/dist/esm/typings-b9828dba.js +0 -9
  225. package/dist/esm/uploader.taro-587e6bf3.js +0 -492
  226. package/dist/esm/useClientRect-1f8ed1fe.js +0 -18
  227. package/dist/esm/useTouch-db24bb5c.js +0 -69
  228. package/dist/esm/video-f1be8a91.js +0 -67
  229. package/dist/esm/virtuallist.taro-f0b0270d.js +0 -214
  230. package/dist/esm/watermark.taro-9ce2ae37.js +0 -114
  231. package/dist/esm/zh-CN-c779e6c1.js +0 -131
@@ -1,9 +1,36 @@
1
- import { D as Divider } from './divider.taro-26d1d8b4.js';
2
- import 'react';
3
- import 'classnames';
4
- import './bem-350c1702.js';
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["children", "contentPosition", "dashed", "hairline", "styles", "className", "direction"];
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
+ import React__default from 'react';
7
+ import classNames from 'classnames';
8
+ import { c as cn } from './bem-3b438e61.js';
5
9
  import '@bem-react/classname';
6
-
7
-
8
-
10
+ var defaultProps = {
11
+ contentPosition: 'center',
12
+ dashed: false,
13
+ hairline: true,
14
+ direction: 'horizontal'
15
+ };
16
+ var Divider = function Divider(props) {
17
+ var _classNames, _classNames2;
18
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
19
+ children = _defaultProps$props.children,
20
+ contentPosition = _defaultProps$props.contentPosition,
21
+ dashed = _defaultProps$props.dashed,
22
+ hairline = _defaultProps$props.hairline,
23
+ styles = _defaultProps$props.styles,
24
+ className = _defaultProps$props.className,
25
+ direction = _defaultProps$props.direction,
26
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
27
+ var dividerBem = cn('divider');
28
+ var classes = direction === 'horizontal' ? classNames((_classNames = {}, _defineProperty(_classNames, dividerBem(), true), _defineProperty(_classNames, dividerBem('center'), children), _defineProperty(_classNames, dividerBem('left'), contentPosition === 'left'), _defineProperty(_classNames, dividerBem('right'), contentPosition === 'right'), _defineProperty(_classNames, dividerBem('dashed'), dashed), _defineProperty(_classNames, dividerBem('hairline'), hairline), _classNames)) : classNames((_classNames2 = {}, _defineProperty(_classNames2, dividerBem(), true), _defineProperty(_classNames2, dividerBem('vertical'), direction === 'vertical'), _classNames2));
29
+ return React__default.createElement("div", _objectSpread({
30
+ className: "".concat(classes, " ").concat(className || ''),
31
+ style: styles
32
+ }, rest), children);
33
+ };
34
+ Divider.defaultProps = defaultProps;
35
+ Divider.displayName = 'NutDivider';
9
36
  export { Divider as default };
package/dist/esm/Drag.js CHANGED
@@ -1,9 +1,120 @@
1
- import { D as Drag } from './drag.taro-79bb8744.js';
2
- import 'react';
3
- import '@tarojs/taro';
4
- import './bem-350c1702.js';
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 = ["attract", "direction", "boundary", "children", "className", "style"];
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
+ 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
+ import React__default, { useState, useRef, useEffect } from 'react';
8
+ import { useDrag } from '@use-gesture/react';
9
+ import { useSpring, animated } from '@react-spring/web';
10
+ import { c as cn } from './bem-3b438e61.js';
5
11
  import '@bem-react/classname';
6
-
7
-
8
-
12
+ var defaultProps = {
13
+ attract: false,
14
+ direction: undefined,
15
+ boundary: {
16
+ top: 0,
17
+ left: 0,
18
+ right: 0,
19
+ bottom: 0
20
+ },
21
+ className: ''
22
+ };
23
+ var Drag = function Drag(props) {
24
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
25
+ attract = _defaultProps$props.attract,
26
+ direction = _defaultProps$props.direction,
27
+ boundary = _defaultProps$props.boundary,
28
+ children = _defaultProps$props.children,
29
+ className = _defaultProps$props.className,
30
+ style = _defaultProps$props.style,
31
+ reset = _objectWithoutProperties(_defaultProps$props, _excluded);
32
+ var b = cn('drag');
33
+ var _useState = useState(boundary),
34
+ _useState2 = _slicedToArray(_useState, 2),
35
+ boundaryState = _useState2[0],
36
+ setBoundaryState = _useState2[1];
37
+ var myDrag = useRef(null);
38
+ var _useSpring = useSpring(function () {
39
+ return {
40
+ x: 0,
41
+ y: 0
42
+ };
43
+ }),
44
+ _useSpring2 = _slicedToArray(_useSpring, 2),
45
+ currstyle = _useSpring2[0],
46
+ api = _useSpring2[1];
47
+ var middleLine = useRef(0);
48
+ var getInfo = function getInfo() {
49
+ var el = myDrag.current;
50
+ if (el) {
51
+ var offsetWidth = el.offsetWidth,
52
+ offsetHeight = el.offsetHeight,
53
+ offsetTop = el.offsetTop,
54
+ offsetLeft = el.offsetLeft;
55
+ var _document$documentEle = document.documentElement,
56
+ clientWidth = _document$documentEle.clientWidth,
57
+ clientHeight = _document$documentEle.clientHeight;
58
+ var top = boundary.top,
59
+ left = boundary.left,
60
+ bottom = boundary.bottom,
61
+ right = boundary.right;
62
+ setBoundaryState({
63
+ top: -offsetTop + top,
64
+ left: -offsetLeft + left,
65
+ bottom: clientHeight - offsetHeight - offsetTop - bottom,
66
+ right: clientWidth - offsetWidth - offsetLeft - right
67
+ });
68
+ middleLine.current = clientWidth - offsetWidth - offsetLeft - (clientWidth - offsetWidth) / 2;
69
+ }
70
+ };
71
+ var bind = useDrag(function (_ref) {
72
+ var down = _ref.down,
73
+ last = _ref.last,
74
+ _ref$offset = _slicedToArray(_ref.offset, 2),
75
+ x = _ref$offset[0],
76
+ y = _ref$offset[1];
77
+ api.start({
78
+ x: x,
79
+ y: y,
80
+ immediate: down
81
+ });
82
+ if (last) {
83
+ if (props.direction !== 'y' && props.attract) {
84
+ if (x < middleLine.current) {
85
+ api.start({
86
+ x: boundaryState.left,
87
+ y: y,
88
+ immediate: down
89
+ });
90
+ } else {
91
+ api.start({
92
+ x: boundaryState.right,
93
+ y: y,
94
+ immediate: down
95
+ });
96
+ }
97
+ }
98
+ }
99
+ }, {
100
+ from: function from() {
101
+ return [currstyle.x.get(), currstyle.y.get()];
102
+ },
103
+ axis: direction,
104
+ bounds: boundaryState
105
+ });
106
+ useEffect(function () {
107
+ getInfo();
108
+ }, [myDrag]);
109
+ return React__default.createElement("div", _objectSpread(_objectSpread({
110
+ style: style,
111
+ className: "".concat(b(), " ").concat(className)
112
+ }, reset), {}, {
113
+ ref: myDrag
114
+ }), React__default.createElement(animated.div, _objectSpread({
115
+ style: currstyle
116
+ }, bind()), children));
117
+ };
118
+ Drag.defaultProps = defaultProps;
119
+ Drag.displayName = 'NutDrag';
9
120
  export { Drag as default };
@@ -1,10 +1,236 @@
1
- import { E as Elevator } from './elevator.taro-6019669e.js';
2
- import 'react';
3
- import '@tarojs/taro';
4
- import '@tarojs/components';
5
- import './bem-350c1702.js';
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 = ["height", "acceptKey", "indexList", "isSticky", "spaceHeight", "titleHeight", "className", "onClickItem", "onClickIndex", "children"];
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
+ 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
+ import React__default, { createContext, useRef, useState, useEffect } from 'react';
8
+ import { useGesture } from '@use-gesture/react';
9
+ import { animated } from '@react-spring/web';
10
+ import { c as cn } from './bem-3b438e61.js';
6
11
  import '@bem-react/classname';
7
-
8
-
9
-
12
+ var elevatorContext = createContext({});
13
+ var defaultProps = {
14
+ height: '200px',
15
+ acceptKey: 'title',
16
+ indexList: [],
17
+ isSticky: false,
18
+ spaceHeight: 23,
19
+ titleHeight: 35,
20
+ className: ''
21
+ };
22
+ var Elevator = function Elevator(props) {
23
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
24
+ height = _defaultProps$props.height,
25
+ acceptKey = _defaultProps$props.acceptKey,
26
+ indexList = _defaultProps$props.indexList,
27
+ isSticky = _defaultProps$props.isSticky,
28
+ spaceHeight = _defaultProps$props.spaceHeight,
29
+ titleHeight = _defaultProps$props.titleHeight,
30
+ className = _defaultProps$props.className,
31
+ onClickItem = _defaultProps$props.onClickItem,
32
+ onClickIndex = _defaultProps$props.onClickIndex,
33
+ children = _defaultProps$props.children,
34
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
35
+ var b = cn('elevator');
36
+ var listview = useRef(null);
37
+ var initData = {
38
+ anchorIndex: 0,
39
+ listHeight: [],
40
+ listGroup: [],
41
+ scrollY: 0
42
+ };
43
+ var touchState = useRef({
44
+ y1: 0,
45
+ y2: 0
46
+ });
47
+ var _useState = useState(0),
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ scrollY = _useState2[0],
50
+ setScrollY = _useState2[1];
51
+ var _useState3 = useState({}),
52
+ _useState4 = _slicedToArray(_useState3, 2),
53
+ currentData = _useState4[0],
54
+ setCurrentData = _useState4[1];
55
+ var _useState5 = useState(''),
56
+ _useState6 = _slicedToArray(_useState5, 2),
57
+ currentKey = _useState6[0],
58
+ setCurrentKey = _useState6[1];
59
+ var _useState7 = useState(0),
60
+ _useState8 = _slicedToArray(_useState7, 2),
61
+ currentIndex = _useState8[0],
62
+ setCurrentIndex = _useState8[1];
63
+ var _useState9 = useState(0),
64
+ _useState10 = _slicedToArray(_useState9, 2),
65
+ codeIndex = _useState10[0],
66
+ setCodeIndex = _useState10[1];
67
+ var _useState11 = useState(false),
68
+ _useState12 = _slicedToArray(_useState11, 2),
69
+ scrollStart = _useState12[0],
70
+ setScrollStart = _useState12[1];
71
+ var state = useRef(initData);
72
+ // 重置滚动参数
73
+ var resetScrollState = function resetScrollState() {
74
+ setScrollStart(false);
75
+ };
76
+ var getData = function getData(el, name) {
77
+ var prefix = 'data-';
78
+ return el.getAttribute(prefix + name);
79
+ };
80
+ var calculateHeight = function calculateHeight() {
81
+ var height = 0;
82
+ state.current.listHeight.push(height);
83
+ for (var i = 0; i < state.current.listGroup.length; i++) {
84
+ var item = state.current.listGroup[i];
85
+ height += item.clientHeight;
86
+ state.current.listHeight.push(height);
87
+ }
88
+ };
89
+ var scrollTo = function scrollTo(index) {
90
+ if (!index && index !== 0) {
91
+ return;
92
+ }
93
+ if (!state.current.listHeight.length) {
94
+ calculateHeight();
95
+ }
96
+ var cacheIndex = index;
97
+ if (index < 0) {
98
+ cacheIndex = 0;
99
+ }
100
+ if (index > state.current.listHeight.length - 2) {
101
+ cacheIndex = state.current.listHeight.length - 2;
102
+ }
103
+ setCodeIndex(cacheIndex);
104
+ if (listview.current) {
105
+ listview.current.scrollTo(0, state.current.listHeight[cacheIndex]);
106
+ }
107
+ };
108
+ var bind = useGesture({
109
+ onDragStart: function onDragStart(_ref) {
110
+ var target = _ref.target,
111
+ offset = _ref.offset;
112
+ setScrollStart(true);
113
+ var index = Number(getData(target, 'index'));
114
+ touchState.current.y1 = offset[1];
115
+ state.current.anchorIndex = +index;
116
+ setCodeIndex(function (codeIndex) {
117
+ return codeIndex + index;
118
+ });
119
+ scrollTo(index);
120
+ },
121
+ onDragEnd: function onDragEnd(_ref2) {
122
+ var offset = _ref2.offset;
123
+ touchState.current.y2 = offset[1];
124
+ var delta = (touchState.current.y2 - touchState.current.y1) / spaceHeight || 0;
125
+ // delta 是一个浮点数, 需要四舍五入一下, 否则页面会找不到最终计算后的index
126
+ var cacheIndex = state.current.anchorIndex + Math.ceil(delta);
127
+ setCodeIndex(cacheIndex);
128
+ scrollTo(cacheIndex);
129
+ resetScrollState();
130
+ }
131
+ });
132
+ var handleClickItem = function handleClickItem(key, item) {
133
+ onClickItem && onClickItem(key, item);
134
+ setCurrentData(item);
135
+ setCurrentKey(key);
136
+ };
137
+ var handleClickIndex = function handleClickIndex(key) {
138
+ onClickIndex && onClickIndex(key);
139
+ };
140
+ var setListGroup = function setListGroup() {
141
+ if (listview.current) {
142
+ var els = listview.current.querySelectorAll('.nut-elevator__list__item');
143
+ els.forEach(function (el) {
144
+ if (el != null && !state.current.listGroup.includes(el)) {
145
+ state.current.listGroup.push(el);
146
+ }
147
+ });
148
+ }
149
+ };
150
+ var listViewScroll = function listViewScroll(e) {
151
+ var listHeight = state.current.listHeight;
152
+ if (!listHeight.length) {
153
+ calculateHeight();
154
+ }
155
+ var target = e.target;
156
+ var scrollTop = target.scrollTop;
157
+ state.current.scrollY = scrollTop;
158
+ setScrollY(scrollTop);
159
+ for (var i = 0; i < listHeight.length - 1; i++) {
160
+ var height1 = listHeight[i];
161
+ var height2 = listHeight[i + 1];
162
+ if (state.current.scrollY >= height1 && state.current.scrollY < height2) {
163
+ setCurrentIndex(i);
164
+ return;
165
+ }
166
+ }
167
+ setCurrentIndex(listHeight.length - 2);
168
+ };
169
+ useEffect(function () {
170
+ if (listview.current) {
171
+ setListGroup();
172
+ listview.current.addEventListener('scroll', listViewScroll);
173
+ }
174
+ }, [listview]);
175
+ return React__default.createElement("div", _objectSpread({
176
+ className: "".concat(b(), " ").concat(className)
177
+ }, rest), isSticky && scrollY > 0 ? React__default.createElement("div", {
178
+ className: b('list__fixed')
179
+ }, React__default.createElement("span", {
180
+ className: "fixed-title"
181
+ }, indexList[currentIndex][acceptKey])) : null, React__default.createElement("div", {
182
+ className: b('list'),
183
+ style: {
184
+ height: Number.isNaN(+height) ? height : "".concat(height, "px")
185
+ }
186
+ }, React__default.createElement("div", {
187
+ className: b('list__inner'),
188
+ ref: listview
189
+ }, indexList.map(function (item, idx) {
190
+ return React__default.createElement("div", {
191
+ className: b('list__item'),
192
+ key: idx
193
+ }, React__default.createElement("div", {
194
+ className: b('list__item__code')
195
+ }, item[acceptKey]), React__default.createElement(React__default.Fragment, null, item.list.map(function (subitem) {
196
+ return React__default.createElement("div", {
197
+ className: b('list__item__name', {
198
+ highcolor: currentData.id === subitem.id && currentKey === item[acceptKey]
199
+ }),
200
+ key: subitem.id,
201
+ onClick: function onClick() {
202
+ return handleClickItem(item[acceptKey], subitem);
203
+ }
204
+ }, children ? React__default.createElement(React__default.Fragment, null, React__default.createElement(elevatorContext.Provider, {
205
+ value: subitem
206
+ }, children)) : subitem.name);
207
+ })));
208
+ }))), indexList.length && scrollStart ? React__default.createElement("div", {
209
+ className: b('code--current', {
210
+ current: true
211
+ })
212
+ }, indexList[codeIndex][acceptKey]) : null, React__default.createElement("div", {
213
+ className: b('bars')
214
+ }, React__default.createElement(animated.div, _objectSpread(_objectSpread({
215
+ className: b('bars__inner')
216
+ }, bind()), {}, {
217
+ style: {
218
+ touchAction: 'pan-y'
219
+ }
220
+ }), indexList.map(function (item, index) {
221
+ return React__default.createElement("div", {
222
+ className: b('bars__inner__item', {
223
+ active: item[acceptKey] === indexList[currentIndex][acceptKey]
224
+ }),
225
+ "data-index": index,
226
+ key: index,
227
+ onClick: function onClick() {
228
+ return handleClickIndex(item[acceptKey]);
229
+ }
230
+ }, item[acceptKey]);
231
+ }))));
232
+ };
233
+ Elevator.defaultProps = defaultProps;
234
+ Elevator.displayName = 'NutElevator';
235
+ Elevator.Context = elevatorContext;
10
236
  export { Elevator as default };
@@ -1,11 +1,177 @@
1
- import { E as Ellipsis } from './ellipsis.taro-f15f26da.js';
2
- import 'react';
3
- import '@tarojs/taro';
4
- import './configprovider.taro-8d71eb49.js';
5
- import 'lodash.kebabcase';
6
- import './zh-CN-c779e6c1.js';
7
- import './useClientRect-1f8ed1fe.js';
8
-
9
-
10
-
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
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
+ 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; }
5
+ import React__default, { useState, useRef, useLayoutEffect, useEffect } from 'react';
6
+ import { useConfig } from './ConfigProvider.js';
7
+ var defaultProps = {
8
+ content: '',
9
+ direction: 'end',
10
+ rows: 1,
11
+ expandText: '',
12
+ collapseText: '',
13
+ symbol: '...',
14
+ lineHeight: '20'
15
+ };
16
+ var Ellipsis = function Ellipsis(props) {
17
+ var _ellipsis$current, _ellipsis$current2;
18
+ useConfig();
19
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
20
+ children = _defaultProps$props.children,
21
+ content = _defaultProps$props.content,
22
+ direction = _defaultProps$props.direction,
23
+ rows = _defaultProps$props.rows,
24
+ expandText = _defaultProps$props.expandText,
25
+ collapseText = _defaultProps$props.collapseText,
26
+ symbol = _defaultProps$props.symbol,
27
+ lineHeight = _defaultProps$props.lineHeight,
28
+ onClick = _defaultProps$props.onClick,
29
+ onChange = _defaultProps$props.onChange;
30
+ var container = null;
31
+ var maxHeight = 0; // 当行的最大高度
32
+ var _useState = useState(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ exceeded = _useState2[0],
35
+ setExceeded = _useState2[1];
36
+ var _useState3 = useState(false),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ expanded = _useState4[0],
39
+ setExpanded = _useState4[1];
40
+ var ellipsis = useRef();
41
+ var root = useRef(null);
42
+ useLayoutEffect(function () {
43
+ createContainer();
44
+ }, []);
45
+ useEffect(function () {
46
+ if (content) {
47
+ createContainer();
48
+ }
49
+ }, [content]);
50
+ // 创建虚拟 container,内容为 contant 的内容
51
+ var createContainer = function createContainer() {
52
+ if (!root.current) return;
53
+ var originStyle = window.getComputedStyle(root.current);
54
+ container = document.createElement('div');
55
+ var styleNames = Array.prototype.slice.apply(originStyle);
56
+ styleNames.forEach(function (name) {
57
+ container.style.setProperty(name, originStyle.getPropertyValue(name));
58
+ });
59
+ container.style.position = 'fixed';
60
+ container.style.left = '999999px';
61
+ container.style.top = '999999px';
62
+ container.style.zIndex = '-1000';
63
+ container.style.height = 'auto';
64
+ container.style.minHeight = 'auto';
65
+ container.style.maxHeight = 'auto';
66
+ container.style.textOverflow = 'clip';
67
+ container.style.whiteSpace = 'normal';
68
+ container.style.webkitLineClamp = 'unset';
69
+ container.style.display = 'block';
70
+ var lineH = pxToNumber(originStyle.lineHeight === 'normal' ? lineHeight : originStyle.lineHeight);
71
+ maxHeight = Math.floor(lineH * (Number(rows) + 0.5) + pxToNumber(originStyle.paddingTop) + pxToNumber(originStyle.paddingBottom));
72
+ container.innerText = content;
73
+ document.body.appendChild(container);
74
+ calcEllipse();
75
+ document.body.removeChild(container);
76
+ };
77
+ // 计算省略号的位置
78
+ var calcEllipse = function calcEllipse() {
79
+ if (container.offsetHeight <= maxHeight) {
80
+ setExceeded(false);
81
+ } else {
82
+ setExceeded(true);
83
+ var end = content.length;
84
+ var middle = Math.floor((0 + end) / 2);
85
+ var ellipsised = direction === 'middle' ? tailorMiddle([0, middle], [middle, end]) : tailor(0, end);
86
+ ellipsis.current = ellipsised;
87
+ }
88
+ };
89
+ // 计算 start/end 省略
90
+ var tailor = function tailor(left, right) {
91
+ var actionText = expanded ? collapseText : expandText;
92
+ var end = content.length;
93
+ if (right - left <= 1) {
94
+ if (direction === 'end') {
95
+ return {
96
+ leading: content.slice(0, left) + symbol
97
+ };
98
+ }
99
+ return {
100
+ tailing: symbol + content.slice(right, end)
101
+ };
102
+ }
103
+ var middle = Math.round((left + right) / 2);
104
+ if (direction === 'end') {
105
+ container.innerText = content.slice(0, middle) + symbol + actionText;
106
+ } else {
107
+ container.innerText = actionText + symbol + content.slice(middle, end);
108
+ }
109
+ if (container.offsetHeight <= maxHeight) {
110
+ if (direction === 'end') {
111
+ return tailor(middle, right);
112
+ }
113
+ return tailor(left, middle);
114
+ }
115
+ if (direction === 'end') {
116
+ return tailor(left, middle);
117
+ }
118
+ return tailor(middle, right);
119
+ };
120
+ // 计算 middle 省略
121
+ var tailorMiddle = function tailorMiddle(leftPart, rightPart) {
122
+ var actionText = expanded ? collapseText : expandText;
123
+ var end = content.length;
124
+ if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
125
+ return {
126
+ leading: content.slice(0, leftPart[0]) + symbol,
127
+ tailing: symbol + content.slice(rightPart[1], end)
128
+ };
129
+ }
130
+ var leftPartMiddle = Math.floor((leftPart[0] + leftPart[1]) / 2);
131
+ var rightPartMiddle = Math.ceil((rightPart[0] + rightPart[1]) / 2);
132
+ container.innerText = content.slice(0, leftPartMiddle) + symbol + actionText + symbol + content.slice(rightPartMiddle, end);
133
+ if (container.offsetHeight <= maxHeight) {
134
+ return tailorMiddle([leftPartMiddle, leftPart[1]], [rightPart[0], rightPartMiddle]);
135
+ }
136
+ return tailorMiddle([leftPart[0], leftPartMiddle], [rightPartMiddle, rightPart[1]]);
137
+ };
138
+ var pxToNumber = function pxToNumber(value) {
139
+ if (!value) return 0;
140
+ var match = value.match(/^\d*(\.\d*)?/);
141
+ return match ? Number(match[0]) : 0;
142
+ };
143
+ // 展开收起
144
+ var clickHandle = function clickHandle(type) {
145
+ if (type === 1) {
146
+ setExpanded(true);
147
+ onChange && onChange('expand');
148
+ } else {
149
+ setExpanded(false);
150
+ onChange && onChange('collapse');
151
+ }
152
+ };
153
+ // 文本点击
154
+ var handleClick = function handleClick() {
155
+ onClick && onClick();
156
+ };
157
+ return React__default.createElement("div", {
158
+ className: "nut-ellipsis",
159
+ onClick: handleClick,
160
+ ref: root
161
+ }, React__default.createElement("div", null, !exceeded ? content : null, exceeded && !expanded ? React__default.createElement(React__default.Fragment, null, (_ellipsis$current = ellipsis.current) === null || _ellipsis$current === void 0 ? void 0 : _ellipsis$current.leading, expandText ? React__default.createElement("span", {
162
+ className: "nut-ellipsis-text",
163
+ onClick: function onClick(e) {
164
+ e.stopPropagation();
165
+ clickHandle(1);
166
+ }
167
+ }, expandText) : null, (_ellipsis$current2 = ellipsis.current) === null || _ellipsis$current2 === void 0 ? void 0 : _ellipsis$current2.tailing) : null, exceeded && expanded ? React__default.createElement(React__default.Fragment, null, content, expandText ? React__default.createElement("span", {
168
+ className: "nut-ellipsis-text",
169
+ onClick: function onClick(e) {
170
+ e.stopPropagation();
171
+ clickHandle(2);
172
+ }
173
+ }, collapseText) : null) : null));
174
+ };
175
+ Ellipsis.defaultProps = defaultProps;
176
+ Ellipsis.displayName = 'NutEllipsis';
11
177
  export { Ellipsis as default };