@nutui/nutui-react 2.3.12-beta.0 → 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 (184) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/esm/ActionSheet.js +30 -76
  3. package/dist/esm/Address.js +80 -171
  4. package/dist/esm/Animate.js +21 -49
  5. package/dist/esm/AnimatingNumbers.js +47 -120
  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/Barrage.js +49 -83
  12. package/dist/esm/Calendar.js +27 -119
  13. package/dist/esm/CalendarCard.js +180 -291
  14. package/dist/esm/CalendarItem.js +253 -314
  15. package/dist/esm/Card.js +38 -72
  16. package/dist/esm/Cell.js +27 -62
  17. package/dist/esm/CellGroup.js +16 -45
  18. package/dist/esm/CheckboxGroup.js +49 -85
  19. package/dist/esm/CircleProgress.js +42 -93
  20. package/dist/esm/Col.js +17 -48
  21. package/dist/esm/Collapse.js +18 -49
  22. package/dist/esm/ConfigProvider.js +3 -2
  23. package/dist/esm/CountDown.js +62 -101
  24. package/dist/esm/DatePicker.js +87 -127
  25. package/dist/esm/Dialog.js +116 -196
  26. package/dist/esm/Divider.js +16 -36
  27. package/dist/esm/Drag.js +32 -76
  28. package/dist/esm/Elevator.js +93 -133
  29. package/dist/esm/Ellipsis.js +71 -92
  30. package/dist/esm/Empty.js +31 -70
  31. package/dist/esm/FixedNav.js +32 -81
  32. package/dist/esm/Form.js +28 -61
  33. package/dist/esm/Grid.js +27 -51
  34. package/dist/esm/Image.js +47 -102
  35. package/dist/esm/ImagePreview.js +82 -135
  36. package/dist/esm/InfiniteLoading.js +77 -159
  37. package/dist/esm/Input.js +57 -125
  38. package/dist/esm/InputNumber.js +66 -96
  39. package/dist/esm/Layout.js +4 -28
  40. package/dist/esm/Loading.js +13 -40
  41. package/dist/esm/Menu.js +51 -105
  42. package/dist/esm/NavBar.js +46 -85
  43. package/dist/esm/NoticeBar.js +153 -226
  44. package/dist/esm/Notify.js +87 -178
  45. package/dist/esm/NumberKeyboard.js +84 -150
  46. package/dist/esm/Pagination.js +58 -97
  47. package/dist/esm/Picker.js +215 -276
  48. package/dist/esm/Popover.js +111 -159
  49. package/dist/esm/Price.js +23 -60
  50. package/dist/esm/Progress.js +47 -77
  51. package/dist/esm/PullToRefresh.js +94 -201
  52. package/dist/esm/RadioGroup.js +23 -53
  53. package/dist/esm/Range.js +113 -177
  54. package/dist/esm/Rate.js +48 -95
  55. package/dist/esm/Row.js +19 -43
  56. package/dist/esm/SearchBar.js +52 -119
  57. package/dist/esm/ShortPassword.js +58 -106
  58. package/dist/esm/SideNavBar.js +34 -59
  59. package/dist/esm/SideNavBarItem.js +7 -36
  60. package/dist/esm/Signature.js +49 -84
  61. package/dist/esm/Skeleton.js +31 -68
  62. package/dist/esm/Space.js +7 -34
  63. package/dist/esm/Step.js +35 -64
  64. package/dist/esm/Steps.js +16 -40
  65. package/dist/esm/Sticky.js +64 -108
  66. package/dist/esm/SubSideNavBar.js +42 -71
  67. package/dist/esm/Swipe.js +79 -143
  68. package/dist/esm/Swiper.js +136 -183
  69. package/dist/esm/SwiperItem.js +13 -38
  70. package/dist/esm/Switch.js +20 -53
  71. package/dist/esm/TabPane.js +6 -30
  72. package/dist/esm/Tabbar.js +29 -59
  73. package/dist/esm/Table.js +92 -141
  74. package/dist/esm/Tag.js +30 -74
  75. package/dist/esm/TextArea.js +37 -82
  76. package/dist/esm/TimeDetail.js +20 -58
  77. package/dist/esm/TimeSelect.js +57 -95
  78. package/dist/esm/Toast.js +110 -197
  79. package/dist/esm/Tour.js +88 -132
  80. package/dist/esm/TrendArrow.js +32 -74
  81. package/dist/esm/Uploader.js +226 -346
  82. package/dist/esm/UserContext.js +1 -1
  83. package/dist/esm/Video.js +34 -67
  84. package/dist/esm/VirtualList.js +127 -160
  85. package/dist/esm/WaterMark.js +24 -68
  86. package/dist/esm/badge2.js +23 -53
  87. package/dist/esm/button2.js +30 -63
  88. package/dist/esm/can-use-dom.js +1 -1
  89. package/dist/esm/cascader2.js +307 -536
  90. package/dist/esm/checkbox2.js +59 -96
  91. package/dist/esm/collapseitem2.js +48 -86
  92. package/dist/esm/configprovider2.js +43 -1003
  93. package/dist/esm/context.js +1 -1
  94. package/dist/esm/context2.js +1 -1
  95. package/dist/esm/context3.js +1 -1
  96. package/dist/esm/context4.js +1 -1
  97. package/dist/esm/context5.js +8 -8
  98. package/dist/esm/date.js +88 -66
  99. package/dist/esm/formitem2.js +236 -1510
  100. package/dist/esm/get-scroll-parent.js +8 -10
  101. package/dist/esm/griditem2.js +34 -52
  102. package/dist/esm/index.js +5 -12
  103. package/dist/esm/indicator2.js +13 -42
  104. package/dist/esm/menuitem2.js +81 -124
  105. package/dist/esm/overlay2.js +39 -78
  106. package/dist/esm/pad-zero.js +3 -4
  107. package/dist/esm/popup2.js +79 -124
  108. package/dist/esm/px-check.js +2 -2
  109. package/dist/esm/radio2.js +48 -79
  110. package/dist/esm/raf.js +5 -3
  111. package/dist/esm/render.js +17 -54
  112. package/dist/esm/safearea2.js +3 -5
  113. package/dist/esm/supports-passive.js +3 -3
  114. package/dist/esm/tabbaritem2.js +42 -58
  115. package/dist/esm/tabs2.js +82 -120
  116. package/dist/esm/tslib.es6.js +47 -0
  117. package/dist/esm/types/src/packages/button/demos/h5/demo1.d.ts +3 -0
  118. package/dist/esm/types/src/packages/button/demos/h5/demo2.d.ts +3 -0
  119. package/dist/esm/types/src/packages/button/demos/h5/demo3.d.ts +3 -0
  120. package/dist/esm/types/src/packages/button/demos/h5/demo4.d.ts +3 -0
  121. package/dist/esm/types/src/packages/button/demos/h5/demo5.d.ts +3 -0
  122. package/dist/esm/types/src/packages/button/demos/h5/demo6.d.ts +3 -0
  123. package/dist/esm/types/src/packages/button/demos/h5/demo7.d.ts +3 -0
  124. package/dist/esm/types/src/packages/button/demos/h5/demo8.d.ts +3 -0
  125. package/dist/esm/types/src/packages/button/demos/h5/demo9.d.ts +3 -0
  126. package/dist/esm/types/src/packages/button/demos/taro/demo1.d.ts +3 -0
  127. package/dist/esm/types/src/packages/button/demos/taro/demo10.d.ts +3 -0
  128. package/dist/esm/types/src/packages/button/demos/taro/demo2.d.ts +3 -0
  129. package/dist/esm/types/src/packages/button/demos/taro/demo3.d.ts +3 -0
  130. package/dist/esm/types/src/packages/button/demos/taro/demo4.d.ts +3 -0
  131. package/dist/esm/types/src/packages/button/demos/taro/demo5.d.ts +3 -0
  132. package/dist/esm/types/src/packages/button/demos/taro/demo6.d.ts +3 -0
  133. package/dist/esm/types/src/packages/button/demos/taro/demo7.d.ts +3 -0
  134. package/dist/esm/types/src/packages/button/demos/taro/demo8.d.ts +3 -0
  135. package/dist/esm/types/src/packages/button/demos/taro/demo9.d.ts +3 -0
  136. package/dist/esm/types/src/packages/configprovider/configprovider.d.ts +1 -0
  137. package/dist/esm/types/src/packages/configprovider/configprovider.taro.d.ts +1 -0
  138. package/dist/esm/types/src/packages/configprovider/index.d.ts +2 -2
  139. package/dist/esm/types/src/packages/configprovider/index.taro.d.ts +2 -2
  140. package/dist/esm/types/src/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  141. package/dist/esm/typings.js +1 -1
  142. package/dist/esm/use-click-away.js +9 -13
  143. package/dist/esm/use-client-rect.js +4 -4
  144. package/dist/esm/use-props-value.js +10 -15
  145. package/dist/esm/use-refs.js +5 -7
  146. package/dist/esm/use-touch.js +16 -20
  147. package/dist/locales/base.js +1 -1
  148. package/dist/locales/en-US.js +1 -1
  149. package/dist/locales/id-ID.js +1 -1
  150. package/dist/locales/tr-TR.js +1 -1
  151. package/dist/locales/zh-CN.js +1 -1
  152. package/dist/locales/zh-TW.js +1 -1
  153. package/dist/locales/zh-UG.js +1 -1
  154. package/dist/nutui.react.es.js +242 -284
  155. package/dist/nutui.react.umd.js +239 -281
  156. package/dist/style.mjs +1 -1
  157. package/dist/styles/variables-jmapp.scss +4 -0
  158. package/dist/types/packages/button/demos/h5/demo1.d.ts +3 -0
  159. package/dist/types/packages/button/demos/h5/demo2.d.ts +3 -0
  160. package/dist/types/packages/button/demos/h5/demo3.d.ts +3 -0
  161. package/dist/types/packages/button/demos/h5/demo4.d.ts +3 -0
  162. package/dist/types/packages/button/demos/h5/demo5.d.ts +3 -0
  163. package/dist/types/packages/button/demos/h5/demo6.d.ts +3 -0
  164. package/dist/types/packages/button/demos/h5/demo7.d.ts +3 -0
  165. package/dist/types/packages/button/demos/h5/demo8.d.ts +3 -0
  166. package/dist/types/packages/button/demos/h5/demo9.d.ts +3 -0
  167. package/dist/types/packages/button/demos/taro/demo1.d.ts +3 -0
  168. package/dist/types/packages/button/demos/taro/demo10.d.ts +3 -0
  169. package/dist/types/packages/button/demos/taro/demo2.d.ts +3 -0
  170. package/dist/types/packages/button/demos/taro/demo3.d.ts +3 -0
  171. package/dist/types/packages/button/demos/taro/demo4.d.ts +3 -0
  172. package/dist/types/packages/button/demos/taro/demo5.d.ts +3 -0
  173. package/dist/types/packages/button/demos/taro/demo6.d.ts +3 -0
  174. package/dist/types/packages/button/demos/taro/demo7.d.ts +3 -0
  175. package/dist/types/packages/button/demos/taro/demo8.d.ts +3 -0
  176. package/dist/types/packages/button/demos/taro/demo9.d.ts +3 -0
  177. package/dist/types/packages/configprovider/configprovider.d.ts +1 -0
  178. package/dist/types/packages/configprovider/configprovider.taro.d.ts +1 -0
  179. package/dist/types/packages/configprovider/index.d.ts +2 -2
  180. package/dist/types/packages/configprovider/index.taro.d.ts +2 -2
  181. package/dist/types/packages/empty/empty.d.ts +15 -3
  182. package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +2 -0
  183. package/dist/types/packages/rate/rate.d.ts +1 -1
  184. 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,59 +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.round(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;
144
108
  scrollTop = Math.ceil(scrollTop);
145
109
  state.current.scrollY = scrollTop;
146
110
  setScrollY(scrollTop);
147
- for (var i = 0; i < listHeight.length - 1; i++) {
148
- var height1 = listHeight[i];
149
- 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];
150
114
  if (state.current.scrollY >= height1 && state.current.scrollY < height2) {
151
115
  setCurrentIndex(i);
152
116
  return;
@@ -154,64 +118,60 @@ var Elevator = function Elevator2(props) {
154
118
  }
155
119
  setCurrentIndex(listHeight.length - 2);
156
120
  };
157
- useEffect(function() {
121
+ useEffect(() => {
158
122
  if (listview.current) {
159
123
  setListGroup();
160
124
  listview.current.addEventListener("scroll", listViewScroll);
161
125
  }
162
126
  }, [listview]);
163
- return React__default.createElement("div", _objectSpread({
164
- className: "".concat(classPrefix, " ").concat(className),
165
- style
166
- }, rest), sticky && scrollY > 0 ? React__default.createElement("div", {
167
- className: "".concat(classPrefix, "-list-fixed")
168
- }, React__default.createElement("span", {
169
- className: "".concat(classPrefix, "-list-fixed-title")
170
- }, list[currentIndex][floorKey])) : null, React__default.createElement("div", {
171
- className: "".concat(classPrefix, "-list"),
172
- style: {
173
- height: Number.isNaN(+height) ? height : "".concat(height, "px")
174
- }
175
- }, React__default.createElement("div", {
176
- className: "".concat(classPrefix, "-list-inner"),
177
- ref: listview
178
- }, list.map(function(item, idx) {
179
- return React__default.createElement("div", {
180
- className: "".concat(classPrefix, "-list-item"),
181
- key: idx
182
- }, React__default.createElement("div", {
183
- className: "".concat(classPrefix, "-list-item-code")
184
- }, item[floorKey]), React__default.createElement(React__default.Fragment, null, item.list.map(function(subitem) {
185
- return React__default.createElement("div", {
186
- className: classNames(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-list-item-name"), true), "".concat(classPrefix, "-list-item-name-highcolor"), currentData.id === subitem.id && currentKey === item[floorKey])),
187
- key: subitem.id,
188
- onClick: function onClick() {
189
- return handleClickItem(item[floorKey], subitem);
190
- }
191
- }, children ? React__default.createElement(React__default.Fragment, null, React__default.createElement(elevatorContext.Provider, {
192
- value: subitem
193
- }, children)) : subitem.name);
194
- })));
195
- }))), showKeys ? React__default.createElement(React__default.Fragment, null, list.length && scrollStart ? React__default.createElement("div", {
196
- className: classNames(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-code-current"), true), "".concat(classPrefix, "-code-current-current"), true))
197
- }, list[codeIndex][floorKey]) : null, React__default.createElement("div", {
198
- className: "".concat(classPrefix, "-bars")
199
- }, React__default.createElement(animated.div, _objectSpread(_objectSpread({
200
- className: "".concat(classPrefix, "-bars-inner")
201
- }, bind()), {}, {
202
- style: {
203
- touchAction: "pan-y"
204
- }
205
- }), list.map(function(item, index) {
206
- return React__default.createElement("div", {
207
- className: classNames(_defineProperty(_defineProperty({}, "".concat(classPrefix, "-bars-inner-item"), true), "".concat(classPrefix, "-bars-inner-item-active"), item[floorKey] === list[currentIndex][floorKey])),
208
- "data-index": index,
209
- key: index,
210
- onClick: function onClick() {
211
- return handleClickIndex(item[floorKey]);
212
- }
213
- }, item[floorKey]);
214
- })))) : 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
+ );
215
175
  };
216
176
  Elevator.defaultProps = defaultProps;
217
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";