@nutui/nutui-react 2.3.11 → 2.3.12

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 (252) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/esm/ActionSheet.js +30 -86
  3. package/dist/esm/Address.js +80 -184
  4. package/dist/esm/Animate.js +21 -49
  5. package/dist/esm/AnimatingNumbers.js +47 -136
  6. package/dist/esm/Audio.js +88 -159
  7. package/dist/esm/Avatar.js +44 -91
  8. package/dist/esm/AvatarCropper.js +149 -268
  9. package/dist/esm/AvatarGroup.js +13 -44
  10. package/dist/esm/BackTop.js +34 -75
  11. package/dist/esm/Badge.js +0 -3
  12. package/dist/esm/Barrage.js +49 -83
  13. package/dist/esm/Button.js +0 -4
  14. package/dist/esm/Calendar.js +27 -119
  15. package/dist/esm/CalendarCard.js +180 -291
  16. package/dist/esm/CalendarItem.js +253 -314
  17. package/dist/esm/Card.js +38 -72
  18. package/dist/esm/Cascader.js +0 -17
  19. package/dist/esm/Cell.js +27 -62
  20. package/dist/esm/CellGroup.js +16 -45
  21. package/dist/esm/Checkbox.js +0 -6
  22. package/dist/esm/CheckboxGroup.js +49 -88
  23. package/dist/esm/CircleProgress.js +42 -93
  24. package/dist/esm/Col.js +17 -48
  25. package/dist/esm/Collapse.js +18 -49
  26. package/dist/esm/CollapseItem.js +0 -3
  27. package/dist/esm/ConfigProvider.js +3 -4
  28. package/dist/esm/CountDown.js +62 -101
  29. package/dist/esm/DatePicker.js +87 -127
  30. package/dist/esm/Dialog.js +117 -203
  31. package/dist/esm/Divider.js +16 -36
  32. package/dist/esm/Drag.js +32 -76
  33. package/dist/esm/Elevator.js +94 -133
  34. package/dist/esm/Ellipsis.js +71 -92
  35. package/dist/esm/Empty.js +31 -71
  36. package/dist/esm/FixedNav.js +32 -81
  37. package/dist/esm/Form.js +28 -61
  38. package/dist/esm/FormItem.js +0 -3
  39. package/dist/esm/Grid.js +27 -52
  40. package/dist/esm/GridItem.js +0 -4
  41. package/dist/esm/Image.js +47 -102
  42. package/dist/esm/ImagePreview.js +82 -135
  43. package/dist/esm/Indicator.js +0 -2
  44. package/dist/esm/InfiniteLoading.js +77 -159
  45. package/dist/esm/Input.js +57 -125
  46. package/dist/esm/InputNumber.js +66 -96
  47. package/dist/esm/Layout.js +4 -28
  48. package/dist/esm/Loading.js +13 -40
  49. package/dist/esm/Menu.js +51 -114
  50. package/dist/esm/MenuItem.js +0 -13
  51. package/dist/esm/NavBar.js +46 -85
  52. package/dist/esm/NoticeBar.js +153 -226
  53. package/dist/esm/Notify.js +87 -195
  54. package/dist/esm/NumberKeyboard.js +84 -150
  55. package/dist/esm/Overlay.js +0 -8
  56. package/dist/esm/Pagination.js +58 -97
  57. package/dist/esm/Picker.js +215 -283
  58. package/dist/esm/Popover.js +111 -160
  59. package/dist/esm/Popup.js +0 -12
  60. package/dist/esm/Price.js +23 -60
  61. package/dist/esm/Progress.js +47 -77
  62. package/dist/esm/PullToRefresh.js +94 -202
  63. package/dist/esm/Radio.js +0 -6
  64. package/dist/esm/RadioGroup.js +23 -56
  65. package/dist/esm/Range.js +113 -177
  66. package/dist/esm/Rate.js +48 -95
  67. package/dist/esm/Row.js +19 -43
  68. package/dist/esm/SafeArea.js +0 -2
  69. package/dist/esm/SearchBar.js +52 -119
  70. package/dist/esm/ShortPassword.js +58 -106
  71. package/dist/esm/SideNavBar.js +34 -59
  72. package/dist/esm/SideNavBarItem.js +7 -36
  73. package/dist/esm/Signature.js +49 -84
  74. package/dist/esm/Skeleton.js +31 -68
  75. package/dist/esm/Space.js +7 -34
  76. package/dist/esm/Step.js +35 -64
  77. package/dist/esm/Steps.js +16 -40
  78. package/dist/esm/Sticky.js +64 -109
  79. package/dist/esm/SubSideNavBar.js +42 -71
  80. package/dist/esm/Swipe.js +79 -143
  81. package/dist/esm/Swiper.js +136 -183
  82. package/dist/esm/SwiperItem.js +13 -38
  83. package/dist/esm/Switch.js +20 -53
  84. package/dist/esm/TabPane.js +6 -30
  85. package/dist/esm/Tabbar.js +29 -60
  86. package/dist/esm/TabbarItem.js +0 -4
  87. package/dist/esm/Table.js +92 -141
  88. package/dist/esm/Tabs.js +0 -7
  89. package/dist/esm/Tag.js +30 -74
  90. package/dist/esm/TextArea.js +37 -82
  91. package/dist/esm/TimeDetail.js +20 -58
  92. package/dist/esm/TimeSelect.js +57 -95
  93. package/dist/esm/Toast.js +110 -219
  94. package/dist/esm/Tour.js +88 -132
  95. package/dist/esm/TrendArrow.js +32 -74
  96. package/dist/esm/Uploader.js +226 -346
  97. package/dist/esm/UserContext.js +1 -1
  98. package/dist/esm/Video.js +34 -67
  99. package/dist/esm/VirtualList.js +127 -160
  100. package/dist/esm/WaterMark.js +24 -68
  101. package/dist/esm/badge2.js +23 -53
  102. package/dist/esm/button2.js +30 -63
  103. package/dist/esm/can-use-dom.js +1 -1
  104. package/dist/esm/cascader2.js +308 -538
  105. package/dist/esm/checkbox2.js +59 -96
  106. package/dist/esm/collapseitem2.js +48 -86
  107. package/dist/esm/configprovider2.js +43 -1003
  108. package/dist/esm/context.js +1 -1
  109. package/dist/esm/context2.js +1 -1
  110. package/dist/esm/context3.js +1 -1
  111. package/dist/esm/context4.js +1 -1
  112. package/dist/esm/context5.js +8 -8
  113. package/dist/esm/date.js +88 -66
  114. package/dist/esm/formitem2.js +236 -1526
  115. package/dist/esm/get-scroll-parent.js +8 -10
  116. package/dist/esm/griditem2.js +34 -52
  117. package/dist/esm/index.js +5 -12
  118. package/dist/esm/indicator2.js +13 -42
  119. package/dist/esm/menuitem2.js +81 -124
  120. package/dist/esm/overlay2.js +39 -78
  121. package/dist/esm/pad-zero.js +3 -4
  122. package/dist/esm/popup2.js +79 -124
  123. package/dist/esm/px-check.js +2 -2
  124. package/dist/esm/radio2.js +48 -79
  125. package/dist/esm/raf.js +5 -3
  126. package/dist/esm/render.js +17 -54
  127. package/dist/esm/safearea2.js +3 -5
  128. package/dist/esm/supports-passive.js +3 -3
  129. package/dist/esm/tabbaritem2.js +42 -58
  130. package/dist/esm/tabs2.js +82 -120
  131. package/dist/esm/tslib.es6.js +47 -0
  132. package/dist/esm/types/src/packages/button/demos/h5/demo1.d.ts +3 -0
  133. package/dist/esm/types/src/packages/button/demos/h5/demo2.d.ts +3 -0
  134. package/dist/esm/types/src/packages/button/demos/h5/demo3.d.ts +3 -0
  135. package/dist/esm/types/src/packages/button/demos/h5/demo4.d.ts +3 -0
  136. package/dist/esm/types/src/packages/button/demos/h5/demo5.d.ts +3 -0
  137. package/dist/esm/types/src/packages/button/demos/h5/demo6.d.ts +3 -0
  138. package/dist/esm/types/src/packages/button/demos/h5/demo7.d.ts +3 -0
  139. package/dist/esm/types/src/packages/button/demos/h5/demo8.d.ts +3 -0
  140. package/dist/esm/types/src/packages/button/demos/h5/demo9.d.ts +3 -0
  141. package/dist/esm/types/src/packages/button/demos/taro/demo1.d.ts +3 -0
  142. package/dist/esm/types/src/packages/button/demos/taro/demo10.d.ts +3 -0
  143. package/dist/esm/types/src/packages/button/demos/taro/demo2.d.ts +3 -0
  144. package/dist/esm/types/src/packages/button/demos/taro/demo3.d.ts +3 -0
  145. package/dist/esm/types/src/packages/button/demos/taro/demo4.d.ts +3 -0
  146. package/dist/esm/types/src/packages/button/demos/taro/demo5.d.ts +3 -0
  147. package/dist/esm/types/src/packages/button/demos/taro/demo6.d.ts +3 -0
  148. package/dist/esm/types/src/packages/button/demos/taro/demo7.d.ts +3 -0
  149. package/dist/esm/types/src/packages/button/demos/taro/demo8.d.ts +3 -0
  150. package/dist/esm/types/src/packages/button/demos/taro/demo9.d.ts +3 -0
  151. package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +1 -0
  152. package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +1 -0
  153. package/dist/esm/types/src/packages/configprovider/index.d.ts +2 -2
  154. package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +2 -2
  155. package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  156. package/dist/esm/typings.js +1 -1
  157. package/dist/esm/use-click-away.js +9 -13
  158. package/dist/esm/use-client-rect.js +4 -4
  159. package/dist/esm/use-props-value.js +10 -15
  160. package/dist/esm/use-refs.js +5 -7
  161. package/dist/esm/use-touch.js +16 -20
  162. package/dist/locales/base.js +1 -1
  163. package/dist/locales/en-US.js +1 -1
  164. package/dist/locales/id-ID.js +1 -1
  165. package/dist/locales/tr-TR.js +1 -1
  166. package/dist/locales/zh-CN.js +1 -1
  167. package/dist/locales/zh-TW.js +1 -1
  168. package/dist/locales/zh-UG.js +1 -1
  169. package/dist/nutui.react.es.js +465 -485
  170. package/dist/nutui.react.umd.js +462 -482
  171. package/dist/style.mjs +1 -1
  172. package/dist/styles/variables-jmapp.scss +4 -0
  173. package/dist/types/index.d.ts +98 -98
  174. package/dist/types/packages/actionsheet/actionsheet.d.ts +1 -1
  175. package/dist/types/packages/actionsheet/actionsheet.taro.d.ts +1 -1
  176. package/dist/types/packages/address/address.d.ts +1 -1
  177. package/dist/types/packages/address/address.taro.d.ts +1 -1
  178. package/dist/types/packages/address/customRender.d.ts +1 -1
  179. package/dist/types/packages/address/customRender.taro.d.ts +1 -1
  180. package/dist/types/packages/avatar/avatar.d.ts +1 -1
  181. package/dist/types/packages/avatar/avatar.taro.d.ts +1 -1
  182. package/dist/types/packages/button/demos/h5/demo1.d.ts +3 -0
  183. package/dist/types/packages/button/demos/h5/demo2.d.ts +3 -0
  184. package/dist/types/packages/button/demos/h5/demo3.d.ts +3 -0
  185. package/dist/types/packages/button/demos/h5/demo4.d.ts +3 -0
  186. package/dist/types/packages/button/demos/h5/demo5.d.ts +3 -0
  187. package/dist/types/packages/button/demos/h5/demo6.d.ts +3 -0
  188. package/dist/types/packages/button/demos/h5/demo7.d.ts +3 -0
  189. package/dist/types/packages/button/demos/h5/demo8.d.ts +3 -0
  190. package/dist/types/packages/button/demos/h5/demo9.d.ts +3 -0
  191. package/dist/types/packages/button/demos/taro/demo1.d.ts +3 -0
  192. package/dist/types/packages/button/demos/taro/demo10.d.ts +3 -0
  193. package/dist/types/packages/button/demos/taro/demo2.d.ts +3 -0
  194. package/dist/types/packages/button/demos/taro/demo3.d.ts +3 -0
  195. package/dist/types/packages/button/demos/taro/demo4.d.ts +3 -0
  196. package/dist/types/packages/button/demos/taro/demo5.d.ts +3 -0
  197. package/dist/types/packages/button/demos/taro/demo6.d.ts +3 -0
  198. package/dist/types/packages/button/demos/taro/demo7.d.ts +3 -0
  199. package/dist/types/packages/button/demos/taro/demo8.d.ts +3 -0
  200. package/dist/types/packages/button/demos/taro/demo9.d.ts +3 -0
  201. package/dist/types/packages/calendaritem/calendaritem.d.ts +1 -1
  202. package/dist/types/packages/calendaritem/calendaritem.taro.d.ts +1 -1
  203. package/dist/types/packages/cascader/cascader.d.ts +1 -1
  204. package/dist/types/packages/cascader/cascader.taro.d.ts +1 -1
  205. package/dist/types/packages/cell/cell.d.ts +1 -1
  206. package/dist/types/packages/cell/cell.taro.d.ts +1 -1
  207. package/dist/types/packages/checkbox/checkbox.d.ts +2 -2
  208. package/dist/types/packages/checkbox/checkbox.taro.d.ts +2 -2
  209. package/dist/types/packages/checkboxgroup/checkboxgroup.d.ts +2 -2
  210. package/dist/types/packages/checkboxgroup/checkboxgroup.taro.d.ts +2 -2
  211. package/dist/types/packages/configprovider/configprovider.d.ts +1 -0
  212. package/dist/types/packages/configprovider/configprovider.taro.d.ts +1 -0
  213. package/dist/types/packages/configprovider/index.d.ts +2 -2
  214. package/dist/types/packages/configprovider/index.taro.d.ts +2 -2
  215. package/dist/types/packages/datepicker/datepicker.d.ts +1 -1
  216. package/dist/types/packages/datepicker/datepicker.taro.d.ts +1 -1
  217. package/dist/types/packages/dialog/dialogwrap.d.ts +1 -1
  218. package/dist/types/packages/empty/empty.d.ts +16 -4
  219. package/dist/types/packages/fixednav/fixednav.d.ts +1 -1
  220. package/dist/types/packages/fixednav/fixednav.taro.d.ts +1 -1
  221. package/dist/types/packages/form/form.d.ts +1 -1
  222. package/dist/types/packages/form/form.taro.d.ts +1 -1
  223. package/dist/types/packages/form/index.d.ts +1 -1
  224. package/dist/types/packages/form/index.taro.d.ts +1 -1
  225. package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  226. package/dist/types/packages/menu/menu.d.ts +1 -1
  227. package/dist/types/packages/menu/menu.taro.d.ts +1 -1
  228. package/dist/types/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
  229. package/dist/types/packages/numberkeyboard/numberkeyboard.taro.d.ts +1 -1
  230. package/dist/types/packages/nutui.react.d.ts +98 -98
  231. package/dist/types/packages/nutui.react.taro.d.ts +98 -98
  232. package/dist/types/packages/nutui.taro.react.build.d.ts +98 -98
  233. package/dist/types/packages/picker/picker.d.ts +1 -1
  234. package/dist/types/packages/picker/picker.taro.d.ts +1 -1
  235. package/dist/types/packages/popover/popover.d.ts +1 -1
  236. package/dist/types/packages/popover/popover.taro.d.ts +1 -1
  237. package/dist/types/packages/popup/popup.d.ts +1 -1
  238. package/dist/types/packages/popup/popup.taro.d.ts +1 -1
  239. package/dist/types/packages/radio/radio.d.ts +2 -2
  240. package/dist/types/packages/radio/radio.taro.d.ts +2 -2
  241. package/dist/types/packages/rate/rate.d.ts +1 -1
  242. package/dist/types/packages/shortpassword/shortpassword.d.ts +1 -1
  243. package/dist/types/packages/shortpassword/shortpassword.taro.d.ts +1 -1
  244. package/dist/types/packages/swiper/index.d.ts +1 -1
  245. package/dist/types/packages/swiper/index.taro.d.ts +1 -1
  246. package/dist/types/packages/tabs/tabs.d.ts +1 -1
  247. package/dist/types/packages/tabs/tabs.taro.d.ts +1 -1
  248. package/dist/types/packages/timedetail/timedetail.d.ts +1 -1
  249. package/dist/types/packages/timedetail/timedetail.taro.d.ts +1 -1
  250. package/dist/types/packages/tour/tour.d.ts +1 -1
  251. package/dist/types/packages/tour/tour.taro.d.ts +1 -1
  252. package/package.json +5 -1
@@ -1,88 +1,56 @@
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 = ["height", "floorKey", "list", "sticky", "spaceHeight", "titleHeight", "showKeys", "className", "style", "onItemClick", "onIndexClick", "children"];
5
- function ownKeys(e, r) {
6
- var t = Object.keys(e);
7
- if (Object.getOwnPropertySymbols) {
8
- var o = Object.getOwnPropertySymbols(e);
9
- r && (o = o.filter(function(r2) {
10
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
11
- })), t.push.apply(t, o);
12
- }
13
- return t;
14
- }
15
- function _objectSpread(e) {
16
- for (var r = 1; r < arguments.length; r++) {
17
- var t = null != arguments[r] ? arguments[r] : {};
18
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
19
- _defineProperty(e, r2, t[r2]);
20
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
21
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
22
- });
23
- }
24
- return e;
25
- }
1
+ import { _ as __rest } from "./tslib.es6.js";
26
2
  import React__default, { createContext, useRef, useState, useEffect } from "react";
27
3
  import { useGesture } from "@use-gesture/react";
28
4
  import { animated } from "@react-spring/web";
29
5
  import classNames from "classnames";
30
6
  import { C as ComponentDefaults } from "./typings.js";
31
- var elevatorContext = createContext({});
32
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
33
- height: "200px",
34
- floorKey: "title",
35
- list: [],
36
- sticky: false,
37
- spaceHeight: 23,
38
- titleHeight: 35,
39
- showKeys: true
40
- });
41
- var Elevator = function Elevator2(props) {
42
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), height = _defaultProps$props.height, floorKey = _defaultProps$props.floorKey, list = _defaultProps$props.list, sticky = _defaultProps$props.sticky, spaceHeight = _defaultProps$props.spaceHeight, titleHeight = _defaultProps$props.titleHeight, showKeys = _defaultProps$props.showKeys, className = _defaultProps$props.className, style = _defaultProps$props.style, onItemClick = _defaultProps$props.onItemClick, onIndexClick = _defaultProps$props.onIndexClick, children = _defaultProps$props.children, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
43
- var classPrefix = "nut-elevator";
44
- var listview = useRef(null);
45
- var initData = {
7
+ const elevatorContext = createContext({});
8
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { height: "200px", floorKey: "title", list: [], sticky: false, spaceHeight: 23, titleHeight: 35, showKeys: true });
9
+ const Elevator = (props) => {
10
+ const _a = Object.assign(Object.assign({}, defaultProps), props), { height, floorKey, list, sticky, spaceHeight, titleHeight, showKeys, className, style, onItemClick, onIndexClick, children } = _a, rest = __rest(_a, ["height", "floorKey", "list", "sticky", "spaceHeight", "titleHeight", "showKeys", "className", "style", "onItemClick", "onIndexClick", "children"]);
11
+ const classPrefix = "nut-elevator";
12
+ const listview = useRef(null);
13
+ const initData = {
46
14
  anchorIndex: 0,
47
15
  listHeight: [],
48
16
  listGroup: [],
49
17
  scrollY: 0
50
18
  };
51
- var touchState = useRef({
19
+ const touchState = useRef({
52
20
  y1: 0,
53
21
  y2: 0
54
22
  });
55
- var _useState = useState(0), _useState2 = _slicedToArray(_useState, 2), scrollY = _useState2[0], setScrollY = _useState2[1];
56
- var _useState3 = useState({}), _useState4 = _slicedToArray(_useState3, 2), currentData = _useState4[0], setCurrentData = _useState4[1];
57
- var _useState5 = useState(""), _useState6 = _slicedToArray(_useState5, 2), currentKey = _useState6[0], setCurrentKey = _useState6[1];
58
- var _useState7 = useState(0), _useState8 = _slicedToArray(_useState7, 2), currentIndex = _useState8[0], setCurrentIndex = _useState8[1];
59
- var _useState9 = useState(0), _useState10 = _slicedToArray(_useState9, 2), codeIndex = _useState10[0], setCodeIndex = _useState10[1];
60
- var _useState11 = useState(false), _useState12 = _slicedToArray(_useState11, 2), scrollStart = _useState12[0], setScrollStart = _useState12[1];
61
- var state = useRef(initData);
62
- var resetScrollState = function resetScrollState2() {
23
+ const [scrollY, setScrollY] = useState(0);
24
+ const [currentData, setCurrentData] = useState({});
25
+ const [currentKey, setCurrentKey] = useState("");
26
+ const [currentIndex, setCurrentIndex] = useState(0);
27
+ const [codeIndex, setCodeIndex] = useState(0);
28
+ const [scrollStart, setScrollStart] = useState(false);
29
+ const state = useRef(initData);
30
+ const resetScrollState = () => {
63
31
  setScrollStart(false);
64
32
  };
65
- var getData = function getData2(el, name) {
66
- var prefix = "data-";
33
+ const getData = (el, name) => {
34
+ const prefix = "data-";
67
35
  return el.getAttribute(prefix + name);
68
36
  };
69
- var calculateHeight = function calculateHeight2() {
70
- var height2 = 0;
37
+ const calculateHeight = () => {
38
+ let height2 = 0;
71
39
  state.current.listHeight.push(height2);
72
- for (var i = 0; i < state.current.listGroup.length; i++) {
73
- var item = state.current.listGroup[i];
40
+ for (let i = 0; i < state.current.listGroup.length; i++) {
41
+ const item = state.current.listGroup[i];
74
42
  height2 += item.clientHeight;
75
43
  state.current.listHeight.push(height2);
76
44
  }
77
45
  };
78
- var scrollTo = function scrollTo2(index) {
46
+ const scrollTo = (index) => {
79
47
  if (!index && index !== 0) {
80
48
  return;
81
49
  }
82
50
  if (!state.current.listHeight.length) {
83
51
  calculateHeight();
84
52
  }
85
- var cacheIndex = index;
53
+ let cacheIndex = index;
86
54
  if (index < 0) {
87
55
  cacheIndex = 0;
88
56
  }
@@ -94,58 +62,55 @@ var Elevator = function Elevator2(props) {
94
62
  listview.current.scrollTo(0, state.current.listHeight[cacheIndex]);
95
63
  }
96
64
  };
97
- var bind = useGesture({
98
- onDragStart: function onDragStart(_ref) {
99
- var target = _ref.target, offset = _ref.offset;
65
+ const bind = useGesture({
66
+ onDragStart: ({ target, offset }) => {
100
67
  setScrollStart(true);
101
- var index = Number(getData(target, "index"));
68
+ const index = Number(getData(target, "index"));
102
69
  touchState.current.y1 = offset[1];
103
70
  state.current.anchorIndex = +index;
104
- setCodeIndex(function(codeIndex2) {
105
- return codeIndex2 + index;
106
- });
71
+ setCodeIndex((codeIndex2) => codeIndex2 + index);
107
72
  scrollTo(index);
108
73
  },
109
- onDragEnd: function onDragEnd(_ref2) {
110
- var offset = _ref2.offset;
74
+ onDragEnd: ({ offset }) => {
111
75
  touchState.current.y2 = offset[1];
112
- var delta = (touchState.current.y2 - touchState.current.y1) / spaceHeight || 0;
113
- var cacheIndex = state.current.anchorIndex + Math.ceil(delta);
76
+ const delta = (touchState.current.y2 - touchState.current.y1) / spaceHeight || 0;
77
+ const cacheIndex = state.current.anchorIndex + Math.round(delta);
114
78
  setCodeIndex(cacheIndex);
115
79
  scrollTo(cacheIndex);
116
80
  resetScrollState();
117
81
  }
118
82
  });
119
- var handleClickItem = function handleClickItem2(key, item) {
83
+ const handleClickItem = (key, item) => {
120
84
  onItemClick && onItemClick(key, item);
121
85
  setCurrentData(item);
122
86
  setCurrentKey(key);
123
87
  };
124
- var handleClickIndex = function handleClickIndex2(key) {
88
+ const handleClickIndex = (key) => {
125
89
  onIndexClick && onIndexClick(key);
126
90
  };
127
- var setListGroup = function setListGroup2() {
91
+ const setListGroup = () => {
128
92
  if (listview.current) {
129
- var els = listview.current.querySelectorAll(".nut-elevator-list-item");
130
- els.forEach(function(el) {
93
+ const els = listview.current.querySelectorAll(".nut-elevator-list-item");
94
+ els.forEach((el) => {
131
95
  if (el != null && !state.current.listGroup.includes(el)) {
132
96
  state.current.listGroup.push(el);
133
97
  }
134
98
  });
135
99
  }
136
100
  };
137
- var listViewScroll = function listViewScroll2(e) {
138
- var listHeight = state.current.listHeight;
101
+ const listViewScroll = (e) => {
102
+ const { listHeight } = state.current;
139
103
  if (!listHeight.length) {
140
104
  calculateHeight();
141
105
  }
142
- var target = e.target;
143
- var scrollTop = target.scrollTop;
106
+ const target = e.target;
107
+ let { scrollTop } = target;
108
+ scrollTop = Math.ceil(scrollTop);
144
109
  state.current.scrollY = scrollTop;
145
110
  setScrollY(scrollTop);
146
- for (var i = 0; i < listHeight.length - 1; i++) {
147
- var height1 = listHeight[i];
148
- var height2 = listHeight[i + 1];
111
+ for (let i = 0; i < listHeight.length - 1; i++) {
112
+ const height1 = listHeight[i];
113
+ const height2 = listHeight[i + 1];
149
114
  if (state.current.scrollY >= height1 && state.current.scrollY < height2) {
150
115
  setCurrentIndex(i);
151
116
  return;
@@ -153,64 +118,60 @@ var Elevator = function Elevator2(props) {
153
118
  }
154
119
  setCurrentIndex(listHeight.length - 2);
155
120
  };
156
- useEffect(function() {
121
+ useEffect(() => {
157
122
  if (listview.current) {
158
123
  setListGroup();
159
124
  listview.current.addEventListener("scroll", listViewScroll);
160
125
  }
161
126
  }, [listview]);
162
- return React__default.createElement("div", _objectSpread({
163
- className: "".concat(classPrefix, " ").concat(className),
164
- style
165
- }, rest), sticky && scrollY > 0 ? React__default.createElement("div", {
166
- className: "".concat(classPrefix, "-list-fixed")
167
- }, React__default.createElement("span", {
168
- className: "".concat(classPrefix, "-list-fixed-title")
169
- }, list[currentIndex][floorKey])) : null, React__default.createElement("div", {
170
- className: "".concat(classPrefix, "-list"),
171
- style: {
172
- height: Number.isNaN(+height) ? height : "".concat(height, "px")
173
- }
174
- }, React__default.createElement("div", {
175
- className: "".concat(classPrefix, "-list-inner"),
176
- ref: listview
177
- }, list.map(function(item, idx) {
178
- return React__default.createElement("div", {
179
- className: "".concat(classPrefix, "-list-item"),
180
- key: idx
181
- }, React__default.createElement("div", {
182
- className: "".concat(classPrefix, "-list-item-code")
183
- }, item[floorKey]), React__default.createElement(React__default.Fragment, null, item.list.map(function(subitem) {
184
- return React__default.createElement("div", {
185
- className: classNames(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-list-item-name"), true), "".concat(classPrefix, "-list-item-name-highcolor"), currentData.id === subitem.id && currentKey === item[floorKey])),
186
- key: subitem.id,
187
- onClick: function onClick() {
188
- return handleClickItem(item[floorKey], subitem);
189
- }
190
- }, children ? React__default.createElement(React__default.Fragment, null, React__default.createElement(elevatorContext.Provider, {
191
- value: subitem
192
- }, children)) : subitem.name);
193
- })));
194
- }))), showKeys ? React__default.createElement(React__default.Fragment, null, list.length && scrollStart ? React__default.createElement("div", {
195
- className: classNames(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-code-current"), true), "".concat(classPrefix, "-code-current-current"), true))
196
- }, list[codeIndex][floorKey]) : null, React__default.createElement("div", {
197
- className: "".concat(classPrefix, "-bars")
198
- }, React__default.createElement(animated.div, _objectSpread(_objectSpread({
199
- className: "".concat(classPrefix, "-bars-inner")
200
- }, bind()), {}, {
201
- style: {
202
- touchAction: "pan-y"
203
- }
204
- }), list.map(function(item, index) {
205
- return React__default.createElement("div", {
206
- className: classNames(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-bars-inner-item"), true), "".concat(classPrefix, "-bars-inner-item-active"), item[floorKey] === list[currentIndex][floorKey])),
207
- "data-index": index,
208
- key: index,
209
- onClick: function onClick() {
210
- return handleClickIndex(item[floorKey]);
211
- }
212
- }, item[floorKey]);
213
- })))) : null);
127
+ return React__default.createElement(
128
+ "div",
129
+ Object.assign({ className: `${classPrefix} ${className}`, style }, rest),
130
+ sticky && scrollY > 0 ? React__default.createElement(
131
+ "div",
132
+ { className: `${classPrefix}-list-fixed` },
133
+ React__default.createElement("span", { className: `${classPrefix}-list-fixed-title` }, list[currentIndex][floorKey])
134
+ ) : null,
135
+ React__default.createElement(
136
+ "div",
137
+ { className: `${classPrefix}-list`, style: { height: Number.isNaN(+height) ? height : `${height}px` } },
138
+ React__default.createElement("div", { className: `${classPrefix}-list-inner`, ref: listview }, list.map((item, idx) => {
139
+ return React__default.createElement(
140
+ "div",
141
+ { className: `${classPrefix}-list-item`, key: idx },
142
+ React__default.createElement("div", { className: `${classPrefix}-list-item-code` }, item[floorKey]),
143
+ React__default.createElement(React__default.Fragment, null, item.list.map((subitem) => {
144
+ return React__default.createElement("div", { className: classNames({
145
+ [`${classPrefix}-list-item-name`]: true,
146
+ [`${classPrefix}-list-item-name-highcolor`]: currentData.id === subitem.id && currentKey === item[floorKey]
147
+ }), key: subitem.id, onClick: () => handleClickItem(item[floorKey], subitem) }, children ? React__default.createElement(
148
+ React__default.Fragment,
149
+ null,
150
+ React__default.createElement(elevatorContext.Provider, { value: subitem }, children)
151
+ ) : subitem.name);
152
+ }))
153
+ );
154
+ }))
155
+ ),
156
+ showKeys ? React__default.createElement(
157
+ React__default.Fragment,
158
+ null,
159
+ list.length && scrollStart ? React__default.createElement("div", { className: classNames({
160
+ [`${classPrefix}-code-current`]: true,
161
+ [`${classPrefix}-code-current-current`]: true
162
+ }) }, list[codeIndex][floorKey]) : null,
163
+ React__default.createElement(
164
+ "div",
165
+ { className: `${classPrefix}-bars` },
166
+ React__default.createElement(animated.div, Object.assign({ className: `${classPrefix}-bars-inner` }, bind(), { style: { touchAction: "pan-y" } }), list.map((item, index) => {
167
+ return React__default.createElement("div", { className: classNames({
168
+ [`${classPrefix}-bars-inner-item`]: true,
169
+ [`${classPrefix}-bars-inner-item-active`]: item[floorKey] === list[currentIndex][floorKey]
170
+ }), "data-index": index, key: index, onClick: () => handleClickIndex(item[floorKey]) }, item[floorKey]);
171
+ }))
172
+ )
173
+ ) : null
174
+ );
214
175
  };
215
176
  Elevator.defaultProps = defaultProps;
216
177
  Elevator.displayName = "NutElevator";
@@ -1,65 +1,33 @@
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 = ["children", "content", "className", "direction", "rows", "expandText", "collapseText", "symbol", "lineHeight", "onClick", "onChange"];
5
- function ownKeys(e, r) {
6
- var t = Object.keys(e);
7
- if (Object.getOwnPropertySymbols) {
8
- var o = Object.getOwnPropertySymbols(e);
9
- r && (o = o.filter(function(r2) {
10
- return Object.getOwnPropertyDescriptor(e, r2).enumerable;
11
- })), t.push.apply(t, o);
12
- }
13
- return t;
14
- }
15
- function _objectSpread(e) {
16
- for (var r = 1; r < arguments.length; r++) {
17
- var t = null != arguments[r] ? arguments[r] : {};
18
- r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
19
- _defineProperty(e, r2, t[r2]);
20
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
21
- Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
22
- });
23
- }
24
- return e;
25
- }
1
+ import { _ as __rest } from "./tslib.es6.js";
26
2
  import React__default, { useLayoutEffect, useEffect, useState, useRef } from "react";
27
3
  import classNames from "classnames";
28
4
  import { C as ComponentDefaults } from "./typings.js";
29
5
  import { c as canUseDom } from "./can-use-dom.js";
30
- var useIsomorphicLayoutEffect = canUseDom ? useLayoutEffect : useEffect;
31
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
32
- content: "",
33
- direction: "end",
34
- rows: 1,
35
- expandText: "",
36
- collapseText: "",
37
- symbol: "...",
38
- lineHeight: "20"
39
- });
40
- var classPrefix = "nut-ellipsis";
41
- var Ellipsis = function Ellipsis2(props) {
42
- var _ellipsis$current, _ellipsis$current2;
43
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, content = _defaultProps$props.content, className = _defaultProps$props.className, direction = _defaultProps$props.direction, rows = _defaultProps$props.rows, expandText = _defaultProps$props.expandText, collapseText = _defaultProps$props.collapseText, symbol = _defaultProps$props.symbol, lineHeight = _defaultProps$props.lineHeight, onClick = _defaultProps$props.onClick, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
44
- var container = null;
45
- var maxHeight = 0;
46
- var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), exceeded = _useState2[0], setExceeded = _useState2[1];
47
- var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), expanded = _useState4[0], setExpanded = _useState4[1];
48
- var ellipsis = useRef();
49
- var root = useRef(null);
50
- var classes = classNames(classPrefix, className);
51
- useIsomorphicLayoutEffect(function() {
6
+ const useIsomorphicLayoutEffect = canUseDom ? useLayoutEffect : useEffect;
7
+ const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { content: "", direction: "end", rows: 1, expandText: "", collapseText: "", symbol: "...", lineHeight: "20" });
8
+ const classPrefix = `nut-ellipsis`;
9
+ const Ellipsis = (props) => {
10
+ var _a, _b;
11
+ const _c = Object.assign(Object.assign({}, defaultProps), props), { children, content, className, direction, rows, expandText, collapseText, symbol, lineHeight, onClick, onChange } = _c, rest = __rest(_c, ["children", "content", "className", "direction", "rows", "expandText", "collapseText", "symbol", "lineHeight", "onClick", "onChange"]);
12
+ let container = null;
13
+ let maxHeight = 0;
14
+ const [exceeded, setExceeded] = useState(false);
15
+ const [expanded, setExpanded] = useState(false);
16
+ const ellipsis = useRef();
17
+ const root = useRef(null);
18
+ const classes = classNames(classPrefix, className);
19
+ useIsomorphicLayoutEffect(() => {
52
20
  if (content) {
53
21
  createContainer();
54
22
  }
55
23
  }, [content]);
56
- var createContainer = function createContainer2() {
24
+ const createContainer = () => {
57
25
  if (!root.current)
58
26
  return;
59
- var originStyle = window.getComputedStyle(root.current);
27
+ const originStyle = window.getComputedStyle(root.current);
60
28
  container = document.createElement("div");
61
- var styleNames = Array.prototype.slice.apply(originStyle);
62
- styleNames.forEach(function(name) {
29
+ const styleNames = Array.prototype.slice.apply(originStyle);
30
+ styleNames.forEach((name) => {
63
31
  container.style.setProperty(name, originStyle.getPropertyValue(name));
64
32
  });
65
33
  container.style.position = "fixed";
@@ -73,27 +41,27 @@ var Ellipsis = function Ellipsis2(props) {
73
41
  container.style.whiteSpace = "normal";
74
42
  container.style.webkitLineClamp = "unset";
75
43
  container.style.display = "block";
76
- var lineH = pxToNumber(originStyle.lineHeight === "normal" ? lineHeight : originStyle.lineHeight);
44
+ const lineH = pxToNumber(originStyle.lineHeight === "normal" ? lineHeight : originStyle.lineHeight);
77
45
  maxHeight = Math.floor(lineH * (Number(rows) + 0.5) + pxToNumber(originStyle.paddingTop) + pxToNumber(originStyle.paddingBottom));
78
46
  container.innerText = content;
79
47
  document.body.appendChild(container);
80
48
  calcEllipse();
81
49
  document.body.removeChild(container);
82
50
  };
83
- var calcEllipse = function calcEllipse2() {
51
+ const calcEllipse = () => {
84
52
  if (container.offsetHeight <= maxHeight) {
85
53
  setExceeded(false);
86
54
  } else {
87
55
  setExceeded(true);
88
- var end = content.length;
89
- var middle = Math.floor((0 + end) / 2);
90
- var ellipsised = direction === "middle" ? tailorMiddle([0, middle], [middle, end]) : tailor(0, end);
56
+ const end = content.length;
57
+ const middle = Math.floor((0 + end) / 2);
58
+ const ellipsised = direction === "middle" ? tailorMiddle([0, middle], [middle, end]) : tailor(0, end);
91
59
  ellipsis.current = ellipsised;
92
60
  }
93
61
  };
94
- var tailor = function tailor2(left, right) {
95
- var actionText = expanded ? collapseText : expandText;
96
- var end = content.length;
62
+ const tailor = (left, right) => {
63
+ const actionText = expanded ? collapseText : expandText;
64
+ const end = content.length;
97
65
  if (right - left <= 1) {
98
66
  if (direction === "end") {
99
67
  return {
@@ -104,7 +72,7 @@ var Ellipsis = function Ellipsis2(props) {
104
72
  tailing: symbol + content.slice(right, end)
105
73
  };
106
74
  }
107
- var middle = Math.round((left + right) / 2);
75
+ const middle = Math.round((left + right) / 2);
108
76
  if (direction === "end") {
109
77
  container.innerText = content.slice(0, middle) + symbol + actionText;
110
78
  } else {
@@ -112,39 +80,39 @@ var Ellipsis = function Ellipsis2(props) {
112
80
  }
113
81
  if (container.offsetHeight <= maxHeight) {
114
82
  if (direction === "end") {
115
- return tailor2(middle, right);
83
+ return tailor(middle, right);
116
84
  }
117
- return tailor2(left, middle);
85
+ return tailor(left, middle);
118
86
  }
119
87
  if (direction === "end") {
120
- return tailor2(left, middle);
88
+ return tailor(left, middle);
121
89
  }
122
- return tailor2(middle, right);
90
+ return tailor(middle, right);
123
91
  };
124
- var tailorMiddle = function tailorMiddle2(leftPart, rightPart) {
125
- var actionText = expanded ? collapseText : expandText;
126
- var end = content.length;
92
+ const tailorMiddle = (leftPart, rightPart) => {
93
+ const actionText = expanded ? collapseText : expandText;
94
+ const end = content.length;
127
95
  if (leftPart[1] - leftPart[0] <= 1 && rightPart[1] - rightPart[0] <= 1) {
128
96
  return {
129
97
  leading: content.slice(0, leftPart[0]) + symbol,
130
98
  tailing: symbol + content.slice(rightPart[1], end)
131
99
  };
132
100
  }
133
- var leftPartMiddle = Math.floor((leftPart[0] + leftPart[1]) / 2);
134
- var rightPartMiddle = Math.ceil((rightPart[0] + rightPart[1]) / 2);
101
+ const leftPartMiddle = Math.floor((leftPart[0] + leftPart[1]) / 2);
102
+ const rightPartMiddle = Math.ceil((rightPart[0] + rightPart[1]) / 2);
135
103
  container.innerText = content.slice(0, leftPartMiddle) + symbol + actionText + symbol + content.slice(rightPartMiddle, end);
136
104
  if (container.offsetHeight <= maxHeight) {
137
- return tailorMiddle2([leftPartMiddle, leftPart[1]], [rightPart[0], rightPartMiddle]);
105
+ return tailorMiddle([leftPartMiddle, leftPart[1]], [rightPart[0], rightPartMiddle]);
138
106
  }
139
- return tailorMiddle2([leftPart[0], leftPartMiddle], [rightPartMiddle, rightPart[1]]);
107
+ return tailorMiddle([leftPart[0], leftPartMiddle], [rightPartMiddle, rightPart[1]]);
140
108
  };
141
- var pxToNumber = function pxToNumber2(value) {
109
+ const pxToNumber = (value) => {
142
110
  if (!value)
143
111
  return 0;
144
- var match = value.match(/^\d*(\.\d*)?/);
112
+ const match = value.match(/^\d*(\.\d*)?/);
145
113
  return match ? Number(match[0]) : 0;
146
114
  };
147
- var clickHandle = function clickHandle2(type) {
115
+ const clickHandle = (type) => {
148
116
  if (type === 1) {
149
117
  setExpanded(true);
150
118
  onChange && onChange("expand");
@@ -153,26 +121,37 @@ var Ellipsis = function Ellipsis2(props) {
153
121
  onChange && onChange("collapse");
154
122
  }
155
123
  };
156
- var handleClick = function handleClick2() {
124
+ const handleClick = () => {
157
125
  onClick && onClick();
158
126
  };
159
- return React__default.createElement("div", _objectSpread({
160
- className: classes,
161
- onClick: handleClick,
162
- ref: root
163
- }, rest), 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", {
164
- className: "nut-ellipsis-text",
165
- onClick: function onClick2(e) {
166
- e.stopPropagation();
167
- clickHandle(1);
168
- }
169
- }, 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", {
170
- className: "nut-ellipsis-text",
171
- onClick: function onClick2(e) {
172
- e.stopPropagation();
173
- clickHandle(2);
174
- }
175
- }, collapseText) : null) : null));
127
+ return React__default.createElement(
128
+ "div",
129
+ Object.assign({ className: classes, onClick: handleClick, ref: root }, rest),
130
+ React__default.createElement(
131
+ "div",
132
+ null,
133
+ !exceeded ? content : null,
134
+ exceeded && !expanded ? React__default.createElement(
135
+ React__default.Fragment,
136
+ null,
137
+ (_a = ellipsis.current) === null || _a === void 0 ? void 0 : _a.leading,
138
+ expandText ? React__default.createElement("span", { className: "nut-ellipsis-text", onClick: (e) => {
139
+ e.stopPropagation();
140
+ clickHandle(1);
141
+ } }, expandText) : null,
142
+ (_b = ellipsis.current) === null || _b === void 0 ? void 0 : _b.tailing
143
+ ) : null,
144
+ exceeded && expanded ? React__default.createElement(
145
+ React__default.Fragment,
146
+ null,
147
+ content,
148
+ expandText ? React__default.createElement("span", { className: "nut-ellipsis-text", onClick: (e) => {
149
+ e.stopPropagation();
150
+ clickHandle(2);
151
+ } }, collapseText) : null
152
+ ) : null
153
+ )
154
+ );
176
155
  };
177
156
  Ellipsis.defaultProps = defaultProps;
178
157
  Ellipsis.displayName = "NutEllipsis";