@nutui/nutui-react 1.5.1 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/CHANGELOG.md +24 -664
  2. package/dist/esm/ActionSheet.js +62 -54
  3. package/dist/esm/Address/style/index.js +0 -1
  4. package/dist/esm/Address.js +235 -330
  5. package/dist/esm/Animate.js +43 -32
  6. package/dist/esm/AnimatingNumbers.js +88 -49
  7. package/dist/esm/Audio/style/index.js +0 -1
  8. package/dist/esm/Audio.js +108 -121
  9. package/dist/esm/Avatar.js +65 -78
  10. package/dist/esm/AvatarContext.js +5 -0
  11. package/dist/esm/AvatarGroup.js +46 -27
  12. package/dist/esm/BackTop/style/index.js +1 -1
  13. package/dist/esm/BackTop.js +74 -76
  14. package/dist/esm/Badge.js +57 -54
  15. package/dist/esm/Barrage.js +45 -32
  16. package/dist/esm/Button/style/index.js +1 -1
  17. package/dist/esm/Button.js +66 -87
  18. package/dist/esm/Calendar.js +80 -79
  19. package/dist/esm/CalendarItem.js +199 -231
  20. package/dist/esm/Card.js +44 -37
  21. package/dist/esm/Cascader.js +431 -434
  22. package/dist/esm/Cell/style/index.js +1 -1
  23. package/dist/esm/Cell.js +57 -87
  24. package/dist/esm/CellGroup.js +7 -5
  25. package/dist/esm/Checkbox/style/index.js +0 -1
  26. package/dist/esm/Checkbox.js +11 -8
  27. package/dist/esm/CheckboxGroup.js +78 -71
  28. package/dist/esm/CircleProgress.js +50 -40
  29. package/dist/esm/Col.js +49 -43
  30. package/dist/esm/Collapse.js +44 -44
  31. package/dist/esm/CollapseItem/style/index.js +1 -1
  32. package/dist/esm/CollapseItem.js +64 -104
  33. package/dist/esm/ConfigProvider.js +400 -101
  34. package/dist/esm/CountDown.js +90 -95
  35. package/dist/esm/DatePicker.js +104 -123
  36. package/dist/esm/Dialog.js +98 -104
  37. package/dist/esm/Divider.js +36 -27
  38. package/dist/esm/Drag.js +55 -59
  39. package/dist/esm/Elevator.js +77 -88
  40. package/dist/esm/Ellipsis.js +80 -79
  41. package/dist/esm/Empty.js +50 -44
  42. package/dist/esm/FixedNav/style/index.js +0 -1
  43. package/dist/esm/FixedNav.js +57 -65
  44. package/dist/esm/Form.js +1154 -123
  45. package/dist/esm/FormItem.js +7 -5
  46. package/dist/esm/Grid/style/index.js +1 -1
  47. package/dist/esm/Grid.js +51 -55
  48. package/dist/esm/GridItem.js +7 -124
  49. package/dist/esm/Icon.js +83 -5
  50. package/dist/esm/Image.js +123 -122
  51. package/dist/esm/ImagePreview.js +76 -94
  52. package/dist/esm/Indicator.js +41 -36
  53. package/dist/esm/Infiniteloading/style/index.js +1 -1
  54. package/dist/esm/Infiniteloading.js +77 -93
  55. package/dist/esm/Input/style/index.js +1 -1
  56. package/dist/esm/Input.js +120 -172
  57. package/dist/esm/InputNumber/style/index.js +1 -1
  58. package/dist/esm/InputNumber.js +133 -167
  59. package/dist/esm/Layout.js +27 -6
  60. package/dist/esm/Menu.js +84 -86
  61. package/dist/esm/MenuItem/style/index.js +0 -1
  62. package/dist/esm/MenuItem.js +76 -86
  63. package/dist/esm/NavBar/style/index.js +1 -1
  64. package/dist/esm/NavBar.js +59 -63
  65. package/dist/esm/NoticeBar/style/index.js +1 -1
  66. package/dist/esm/NoticeBar.js +173 -290
  67. package/dist/esm/Notify.js +112 -78
  68. package/dist/esm/NumberKeyboard.js +110 -109
  69. package/dist/esm/Overlay.js +7 -6
  70. package/dist/esm/Pagination.js +94 -135
  71. package/dist/esm/Picker.js +149 -201
  72. package/dist/esm/Popover/style/index.js +0 -1
  73. package/dist/esm/Popover.js +121 -116
  74. package/dist/esm/Popup/style/index.js +0 -1
  75. package/dist/esm/Popup.js +114 -131
  76. package/dist/esm/Price.js +51 -39
  77. package/dist/esm/Progress/style/index.js +1 -1
  78. package/dist/esm/Progress.js +59 -64
  79. package/dist/esm/PullToRefresh.js +173 -149
  80. package/dist/esm/Radio/style/index.js +0 -1
  81. package/dist/esm/Radio.js +8 -6
  82. package/dist/esm/RadioGroup.js +64 -84
  83. package/dist/esm/Range.js +93 -122
  84. package/dist/esm/Rate/style/index.js +1 -1
  85. package/dist/esm/Rate.js +77 -95
  86. package/dist/esm/Row.js +49 -37
  87. package/dist/esm/SearchBar/style/index.js +1 -1
  88. package/dist/esm/SearchBar.js +110 -120
  89. package/dist/esm/ShortPassword/style/index.js +0 -1
  90. package/dist/esm/ShortPassword.js +120 -116
  91. package/dist/esm/SideNavBar.js +38 -28
  92. package/dist/esm/SideNavBarItem.js +31 -14
  93. package/dist/esm/Signature.js +65 -61
  94. package/dist/esm/Skeleton.js +48 -40
  95. package/dist/esm/Step/style/index.js +1 -1
  96. package/dist/esm/Step.js +49 -49
  97. package/dist/esm/Steps.js +37 -23
  98. package/dist/esm/Sticky.js +111 -120
  99. package/dist/esm/SubSideNavBar.js +50 -38
  100. package/dist/esm/Swipe.js +75 -63
  101. package/dist/esm/Swiper.js +171 -206
  102. package/dist/esm/SwiperItem.js +39 -22
  103. package/dist/esm/Switch.js +46 -37
  104. package/dist/esm/TabPane.js +8 -6
  105. package/dist/esm/Tabbar.js +47 -39
  106. package/dist/esm/TabbarItem/style/index.js +1 -1
  107. package/dist/esm/TabbarItem.js +50 -52
  108. package/dist/esm/Table/style/index.js +1 -1
  109. package/dist/esm/Table.js +70 -70
  110. package/dist/esm/Tabs/style/index.js +1 -2
  111. package/dist/esm/Tabs.js +11 -9
  112. package/dist/esm/Tag/style/index.js +1 -1
  113. package/dist/esm/Tag.js +69 -70
  114. package/dist/esm/TextArea.js +70 -64
  115. package/dist/esm/TimeDetail.js +47 -38
  116. package/dist/esm/TimePannel.js +35 -19
  117. package/dist/esm/TimeSelect.js +60 -68
  118. package/dist/esm/Toast/style/index.js +1 -1
  119. package/dist/esm/Toast.js +126 -98
  120. package/dist/esm/TrendArrow/style/index.js +1 -1
  121. package/dist/esm/TrendArrow.js +59 -55
  122. package/dist/esm/Uploader/style/index.js +0 -1
  123. package/dist/esm/Uploader.js +195 -246
  124. package/dist/esm/UserContext.js +5 -0
  125. package/dist/esm/UserContext2.js +5 -0
  126. package/dist/esm/UserContext3.js +5 -0
  127. package/dist/esm/Video.js +49 -39
  128. package/dist/esm/VirtualList.js +111 -146
  129. package/dist/esm/WaterMark.js +57 -60
  130. package/dist/esm/bem.js +10 -0
  131. package/dist/esm/cellgroup2.js +49 -0
  132. package/dist/esm/checkbox2.js +145 -0
  133. package/dist/esm/{date-c7aad4c0.js → date.js} +13 -11
  134. package/dist/esm/{formitem-8a73a5fb.js → formitem2.js} +83 -50
  135. package/dist/esm/get-scroll-parent.js +26 -0
  136. package/dist/esm/griditem2.js +96 -0
  137. package/dist/esm/index.js +14 -0
  138. package/dist/esm/nutui-react.es.js +188 -94
  139. package/dist/esm/offsetContext.js +19 -0
  140. package/dist/esm/overlay2.js +98 -0
  141. package/dist/esm/px-check.js +6 -0
  142. package/dist/esm/radio2.js +129 -0
  143. package/dist/esm/render.js +95 -0
  144. package/dist/esm/tabpane2.js +44 -0
  145. package/dist/esm/tabs2.js +175 -0
  146. package/dist/esm/typings.js +7 -0
  147. package/dist/esm/use-client-rect.js +32 -0
  148. package/dist/esm/use-props-value.js +18 -0
  149. package/dist/esm/use-touch.js +74 -0
  150. package/dist/locales/base.d.ts +2 -2
  151. package/dist/locales/base.js +1 -1
  152. package/dist/locales/en-US.js +3 -3
  153. package/dist/locales/id-ID.js +3 -3
  154. package/dist/locales/zh-CN.js +3 -3
  155. package/dist/locales/zh-TW.js +3 -3
  156. package/dist/locales/zh-UG.js +3 -3
  157. package/dist/nutui.react.mjs +8389 -4901
  158. package/dist/nutui.react.umd.js +8390 -4902
  159. package/dist/packages/actionsheet/actionsheet.scss +10 -2
  160. package/dist/packages/audio/audio.scss +2 -15
  161. package/dist/packages/backtop/backtop.scss +0 -8
  162. package/dist/packages/badge/badge.scss +3 -4
  163. package/dist/packages/button/button.scss +80 -93
  164. package/dist/packages/calendar/calendar.scss +0 -30
  165. package/dist/packages/cell/cell.scss +18 -90
  166. package/dist/packages/cellgroup/cellgroup.scss +26 -20
  167. package/dist/packages/collapseitem/collapseitem.scss +0 -1
  168. package/dist/packages/dialog/dialog.scss +1 -1
  169. package/dist/packages/divider/divider.scss +3 -17
  170. package/dist/packages/grid/grid.scss +1 -0
  171. package/dist/packages/griditem/griditem.scss +2 -17
  172. package/dist/packages/icon/icon.scss +0 -132
  173. package/dist/packages/image/image.scss +0 -12
  174. package/dist/packages/indicator/indicator.scss +21 -39
  175. package/dist/packages/infiniteloading/infiniteloading.scss +4 -12
  176. package/dist/packages/input/input.scss +4 -0
  177. package/dist/packages/inputnumber/inputnumber.scss +10 -26
  178. package/dist/packages/menuitem/menuitem.scss +2 -0
  179. package/dist/packages/navbar/navbar.scss +4 -5
  180. package/dist/packages/overlay/overlay.scss +0 -19
  181. package/dist/packages/picker/picker.scss +97 -103
  182. package/dist/packages/popup/popup.scss +0 -16
  183. package/dist/packages/progress/progress.scss +0 -1
  184. package/dist/packages/radio/radio.scss +8 -0
  185. package/dist/packages/rate/rate.scss +29 -6
  186. package/dist/packages/row/row.scss +13 -31
  187. package/dist/packages/searchbar/searchbar.scss +0 -1
  188. package/dist/packages/shortpassword/shortpassword.scss +4 -1
  189. package/dist/packages/sidenavbar/sidenavbar.scss +0 -19
  190. package/dist/packages/step/step.scss +0 -1
  191. package/dist/packages/sticky/sticky.scss +1 -1
  192. package/dist/packages/swiper/swiper.scss +8 -0
  193. package/dist/packages/tabbaritem/tabbaritem.scss +0 -1
  194. package/dist/packages/table/table.scss +0 -1
  195. package/dist/packages/tag/tag.scss +9 -2
  196. package/dist/packages/timedetail/timedetail.scss +9 -3
  197. package/dist/packages/timeselect/timeselect.scss +1 -1
  198. package/dist/packages/toast/toast.scss +0 -1
  199. package/dist/packages/uploader/uploader.scss +2 -28
  200. package/dist/style.css +1 -1
  201. package/dist/style.mjs +1 -1
  202. package/dist/styles/font-jmapp/config.json +175 -0
  203. package/dist/styles/font-jmapp/demo.css +539 -0
  204. package/dist/styles/font-jmapp/demo_index.html +1821 -0
  205. package/dist/styles/font-jmapp/iconfont.css +299 -0
  206. package/dist/styles/font-jmapp/iconfont.eot +0 -0
  207. package/dist/styles/font-jmapp/iconfont.js +68 -0
  208. package/dist/styles/font-jmapp/iconfont.json +506 -0
  209. package/dist/styles/font-jmapp/iconfont.svg +356 -0
  210. package/dist/styles/font-jmapp/iconfont.ttf +0 -0
  211. package/dist/styles/font-jmapp/iconfont.woff +0 -0
  212. package/dist/styles/font-jmapp/iconfont.woff2 +0 -0
  213. package/dist/styles/theme-default.scss +1 -0
  214. package/dist/styles/theme-jmapp.scss +41 -0
  215. package/dist/styles/themes/default.scss +0 -1
  216. package/dist/styles/variables-jmapp.scss +2601 -0
  217. package/dist/styles/variables.scss +49 -73
  218. package/dist/types/index.d.ts +169 -266
  219. package/package.json +23 -154
  220. package/dist/esm/AvatarContext-15733596.js +0 -3
  221. package/dist/esm/Icon/style/index.js +0 -4
  222. package/dist/esm/UserContext-101ad4a4.js +0 -3
  223. package/dist/esm/UserContext-2629d479.js +0 -3
  224. package/dist/esm/UserContext-b33bcf21.js +0 -3
  225. package/dist/esm/bem-3b438e61.js +0 -8
  226. package/dist/esm/cellgroup-fcc72767.js +0 -34
  227. package/dist/esm/checkbox-44e13cd0.js +0 -137
  228. package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
  229. package/dist/esm/grid.context-2ee27d95.js +0 -6
  230. package/dist/esm/icon-4ef1581c.js +0 -70
  231. package/dist/esm/index-030b7245.js +0 -11
  232. package/dist/esm/offsetContext-3ab00d40.js +0 -16
  233. package/dist/esm/overlay-de6c79d5.js +0 -83
  234. package/dist/esm/radio-9f141e6b.js +0 -118
  235. package/dist/esm/render-bbebb760.js +0 -79
  236. package/dist/esm/tabpane-01075e6c.js +0 -29
  237. package/dist/esm/tabs-e1b4e4b1.js +0 -181
  238. package/dist/esm/typings-f27b58f4.js +0 -8
  239. package/dist/esm/useClientRect-56bb675b.js +0 -39
  240. package/dist/esm/useTouch-cf73a407.js +0 -99
@@ -1,25 +1,43 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["position", "top", "bottom", "zIndex", "children", "container", "className", "onChange"];
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, { useRef, useEffect, useState, useCallback } from 'react';
8
- import classNames from 'classnames';
9
- import { g as getScrollParent } from './get-scroll-parent-5f85dee8.js';
10
- import { g as getRect } from './useClientRect-56bb675b.js';
11
- import { c as cn } from './bem-3b438e61.js';
12
- import '@bem-react/classname';
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ var _excluded = ["position", "zIndex", "children", "container", "style", "className", "threshold", "onChange"];
5
+ function ownKeys(object, enumerableOnly) {
6
+ var keys = Object.keys(object);
7
+ if (Object.getOwnPropertySymbols) {
8
+ var symbols = Object.getOwnPropertySymbols(object);
9
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
10
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
11
+ })), keys.push.apply(keys, symbols);
12
+ }
13
+ return keys;
14
+ }
15
+ function _objectSpread(target) {
16
+ for (var i = 1; i < arguments.length; i++) {
17
+ var source = null != arguments[i] ? arguments[i] : {};
18
+ i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
19
+ _defineProperty(target, key, source[key]);
20
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
21
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
22
+ });
23
+ }
24
+ return target;
25
+ }
26
+ import React__default, { useRef, useEffect, useState, useCallback } from "react";
27
+ import classNames from "classnames";
28
+ import { g as getScrollParent } from "./get-scroll-parent.js";
29
+ import { g as getRect } from "./use-client-rect.js";
30
+ import { C as ComponentDefaults } from "./typings.js";
13
31
  function useWatch(dep, callback) {
14
- var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
32
+ var config = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
15
33
  immediate: false
16
34
  };
17
35
  var immediate = config.immediate;
18
36
  var prev = useRef();
19
37
  var inited = useRef(false);
20
38
  var stop = useRef(false);
21
- useEffect(function () {
22
- var execute = function execute() {
39
+ useEffect(function() {
40
+ var execute = function execute2() {
23
41
  return callback(prev.current);
24
42
  };
25
43
  if (!stop.current) {
@@ -34,159 +52,132 @@ function useWatch(dep, callback) {
34
52
  prev.current = dep;
35
53
  }
36
54
  }, [dep]);
37
- return function () {
55
+ return function() {
38
56
  stop.current = true;
39
57
  };
40
58
  }
41
- var defaultProps = {
42
- position: 'top',
43
- top: 0,
44
- bottom: 0,
45
- zIndex: 2000
46
- };
47
- var b = cn('sticky');
48
- var Sticky = function Sticky(props) {
59
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
60
+ position: "top",
61
+ threshold: 0,
62
+ zIndex: 2e3
63
+ });
64
+ var classPrefix = "nut-sticky";
65
+ var Sticky = function Sticky2(props) {
49
66
  var _useState5;
50
- var _props$position = props.position,
51
- position = _props$position === void 0 ? 'top' : _props$position,
52
- _props$top = props.top,
53
- top = _props$top === void 0 ? 0 : _props$top,
54
- _props$bottom = props.bottom,
55
- bottom = _props$bottom === void 0 ? 0 : _props$bottom,
56
- _props$zIndex = props.zIndex,
57
- zIndex = _props$zIndex === void 0 ? 2000 : _props$zIndex,
58
- children = props.children,
59
- container = props.container,
60
- className = props.className,
61
- onChange = props.onChange,
62
- rest = _objectWithoutProperties(props, _excluded);
63
- // const { locale } = useConfig()
67
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), position = _defaultProps$props.position, zIndex = _defaultProps$props.zIndex, children = _defaultProps$props.children, container = _defaultProps$props.container, style = _defaultProps$props.style, className = _defaultProps$props.className, threshold = _defaultProps$props.threshold, onChange = _defaultProps$props.onChange, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
64
68
  var stickyRef = useRef(null);
65
69
  var rootRef = useRef(null);
66
- var offset = position === 'top' ? top : bottom;
67
- var _useState = useState(false),
68
- _useState2 = _slicedToArray(_useState, 2),
69
- isFixed = _useState2[0],
70
- setIsFixed = _useState2[1];
71
- var _useState3 = useState((_useState5 = {}, _defineProperty(_useState5, position, "".concat(offset, "px")), _defineProperty(_useState5, "zIndex", zIndex), _useState5)),
72
- _useState4 = _slicedToArray(_useState3, 2),
73
- stickyStyle = _useState4[0],
74
- setStickyStyle = _useState4[1];
75
- var _useState6 = useState({}),
76
- _useState7 = _slicedToArray(_useState6, 2),
77
- rootStyle = _useState7[0],
78
- setRootStyle = _useState7[1];
79
- var getElement = useCallback(function () {
80
- // if (!rootRef.current) return Window
70
+ var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isFixed = _useState2[0], setIsFixed = _useState2[1];
71
+ var _useState3 = useState((_useState5 = {}, _defineProperty(_useState5, position, "".concat(threshold, "px")), _defineProperty(_useState5, "zIndex", zIndex), _useState5)), _useState4 = _slicedToArray(_useState3, 2), stickyStyle = _useState4[0], setStickyStyle = _useState4[1];
72
+ var _useState6 = useState({}), _useState7 = _slicedToArray(_useState6, 2), rootStyle = _useState7[0], setRootStyle = _useState7[1];
73
+ var getElement = useCallback(function() {
81
74
  return getScrollParent(rootRef.current);
82
75
  }, []);
83
- useEffect(function () {
84
- if (position === 'top') return;
76
+ useEffect(function() {
77
+ if (position === "top")
78
+ return;
85
79
  var containerEle = container === null || container === void 0 ? void 0 : container.current;
86
- if (!rootRef.current && !containerEle) return;
80
+ if (!rootRef.current && !containerEle)
81
+ return;
87
82
  var rootRect = getRect(rootRef.current);
88
83
  var containerRect = getRect(containerEle);
89
84
  var clientHeight = document.documentElement.clientHeight;
90
85
  var stCurrent = stickyRef.current;
91
86
  var stickyRect = getRect(stCurrent);
92
- var fixed = clientHeight - bottom < rootRect.bottom;
87
+ var fixed = clientHeight - threshold < rootRect.bottom;
93
88
  if (containerEle) {
94
- fixed = containerRect.bottom > clientHeight - bottom - stickyRect.height && clientHeight - bottom - stickyRect.height > containerRect.top;
89
+ fixed = containerRect.bottom > clientHeight - threshold - stickyRect.height && clientHeight - threshold - stickyRect.height > containerRect.top;
95
90
  }
96
- var defaultPostVal = fixed ? 'fixed' : 'inherit';
97
- setStickyStyle(function (prev) {
91
+ var defaultPostVal = fixed ? "fixed" : "inherit";
92
+ setStickyStyle(function(prev) {
98
93
  return _objectSpread(_objectSpread({}, prev), {}, {
99
94
  position: defaultPostVal
100
95
  });
101
96
  });
102
97
  setIsFixed(fixed);
103
- }, [position, container, bottom]);
104
- var handleScroll = useCallback(function () {
98
+ }, [position, container, threshold]);
99
+ var handleScroll = useCallback(function() {
105
100
  var containerEle = container === null || container === void 0 ? void 0 : container.current;
106
- if (!rootRef.current && !containerEle) return;
101
+ if (!rootRef.current && !containerEle)
102
+ return;
107
103
  var rootRect = getRect(rootRef.current);
108
104
  var stCurrent = stickyRef.current;
109
105
  var stickyRect = getRect(stCurrent);
110
106
  var containerRect = getRect(containerEle);
111
107
  if (rootRect.height) {
112
- setRootStyle(function (prev) {
108
+ setRootStyle(function(prev) {
113
109
  return _objectSpread(_objectSpread({}, prev), {}, {
114
110
  height: rootRect.height
115
111
  });
116
112
  });
117
113
  }
118
- if (position === 'top') {
119
- // containerRect.bottom > top + stickyRect.height
120
- if (containerEle) {
121
- var fixed = top > rootRect.top && containerRect.bottom > 0;
122
- var positionVal = fixed ? 'fixed' : 'inherit';
123
- var diff = containerRect.bottom - top - stickyRect.height;
124
- var transform = diff < 0 ? diff : 0;
125
- setStickyStyle(function (prev) {
126
- return _objectSpread(_objectSpread({}, prev), {}, {
127
- position: positionVal,
128
- transform: "translate3d(0, ".concat(transform, "px, 0)")
129
- });
130
- });
131
- setIsFixed(fixed);
114
+ var getFixed = function getFixed2() {
115
+ var fixed2 = false;
116
+ if (position === "top") {
117
+ fixed2 = containerEle ? threshold > rootRect.top && containerRect.bottom > 0 : threshold > rootRect.top;
132
118
  } else {
133
- var _fixed = top > rootRect.top;
134
- var _positionVal = _fixed ? 'fixed' : 'inherit';
135
- setStickyStyle(function (prev) {
136
- return _objectSpread(_objectSpread({}, prev), {}, {
137
- position: _positionVal
138
- });
139
- });
140
- setIsFixed(_fixed);
119
+ var clientHeight = document.documentElement.clientHeight;
120
+ fixed2 = containerEle ? containerRect.bottom > 0 && clientHeight - threshold - stickyRect.height > containerRect.top : clientHeight - threshold < rootRect.bottom;
121
+ }
122
+ return {
123
+ position: fixed2 ? "fixed" : "inherit",
124
+ fixed: fixed2
125
+ };
126
+ };
127
+ var getTransform = function getTransform2() {
128
+ if (position === "top") {
129
+ if (containerEle) {
130
+ var diff = containerRect.bottom - threshold - stickyRect.height;
131
+ var transform = diff < 0 ? diff : 0;
132
+ return {
133
+ transform: "translate3d(0, ".concat(transform, "px, 0)")
134
+ };
135
+ }
136
+ return {};
141
137
  }
142
- } else {
143
- var clientHeight = document.documentElement.clientHeight;
144
- if (containerEle) {
145
- // clientHeight - bottom - stickyRect.height
146
- var _fixed2 = containerRect.bottom > 0 && clientHeight - bottom - stickyRect.height > containerRect.top;
147
- var _positionVal2 = _fixed2 ? 'fixed' : 'inherit';
148
- var _diff = containerRect.bottom - (clientHeight - bottom);
149
- var _transform = _diff < 0 ? _diff : 0;
150
- setStickyStyle(function (prev) {
151
- return _objectSpread(_objectSpread({}, prev), {}, {
152
- position: _positionVal2,
138
+ if (position === "bottom") {
139
+ if (containerEle) {
140
+ var clientHeight = document.documentElement.clientHeight;
141
+ var _diff = containerRect.bottom - (clientHeight - threshold);
142
+ var _transform = _diff < 0 ? _diff : 0;
143
+ return {
153
144
  transform: "translate3d(0, ".concat(_transform, "px, 0)")
154
- });
155
- });
156
- setIsFixed(_fixed2);
157
- } else {
158
- var _fixed3 = clientHeight - bottom < rootRect.bottom;
159
- var _positionVal3 = _fixed3 ? 'fixed' : 'inherit';
160
- setStickyStyle(function (prev) {
161
- return _objectSpread(_objectSpread({}, prev), {}, {
162
- position: _positionVal3
163
- });
164
- });
165
- setIsFixed(_fixed3);
145
+ };
146
+ }
147
+ return {};
166
148
  }
167
- }
168
- }, [position, bottom, container, top]);
169
- useWatch(isFixed, function () {
149
+ return {};
150
+ };
151
+ var fixed = getFixed();
152
+ setStickyStyle(function(prev) {
153
+ return _objectSpread(_objectSpread(_objectSpread({}, prev), getTransform()), {}, {
154
+ position: fixed.position
155
+ });
156
+ });
157
+ setIsFixed(fixed.fixed);
158
+ }, [position, threshold, container]);
159
+ useWatch(isFixed, function() {
170
160
  onChange && onChange(isFixed);
171
161
  });
172
- useEffect(function () {
162
+ useEffect(function() {
173
163
  var el = getElement();
174
- el.addEventListener('scroll', handleScroll, false);
175
- return function () {
176
- el.removeEventListener('tap', handleScroll);
164
+ el.addEventListener("scroll", handleScroll, false);
165
+ return function() {
166
+ el.removeEventListener("tap", handleScroll);
177
167
  };
178
168
  }, [getElement, handleScroll]);
179
169
  return React__default.createElement("div", _objectSpread({
180
170
  ref: rootRef,
181
- style: rootStyle,
182
- className: classNames(b(), className)
171
+ style: _objectSpread(_objectSpread({}, style), rootStyle),
172
+ className: classNames(classPrefix, className)
183
173
  }, rest), React__default.createElement("div", {
184
- // 应符合 bem 规范
185
- className: "nut-sticky-box",
174
+ className: "nut-sticky--box",
186
175
  ref: stickyRef,
187
176
  style: stickyStyle
188
177
  }, children));
189
178
  };
190
179
  Sticky.defaultProps = defaultProps;
191
- Sticky.displayName = 'NutSticky';
192
- export { Sticky as default };
180
+ Sticky.displayName = "NutSticky";
181
+ export {
182
+ Sticky as default
183
+ };
@@ -1,69 +1,79 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["title", "ikey", "children", "onClick", "open"];
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, { useContext, useRef, useCallback, useEffect } from 'react';
7
- import { O as OffsetContext, h as handleClick } from './offsetContext-3ab00d40.js';
3
+ var _excluded = ["title", "key", "children", "onClick", "open"];
4
+ function ownKeys(object, enumerableOnly) {
5
+ var keys = Object.keys(object);
6
+ if (Object.getOwnPropertySymbols) {
7
+ var symbols = Object.getOwnPropertySymbols(object);
8
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
9
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
10
+ })), keys.push.apply(keys, symbols);
11
+ }
12
+ return keys;
13
+ }
14
+ function _objectSpread(target) {
15
+ for (var i = 1; i < arguments.length; i++) {
16
+ var source = null != arguments[i] ? arguments[i] : {};
17
+ i % 2 ? ownKeys(Object(source), true).forEach(function(key) {
18
+ _defineProperty(target, key, source[key]);
19
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
20
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
21
+ });
22
+ }
23
+ return target;
24
+ }
25
+ import React__default, { useContext, useRef, useCallback, useEffect } from "react";
26
+ import { O as OffsetContext, h as handleClick } from "./offsetContext.js";
8
27
  var defaultProps = {
9
28
  open: true
10
29
  };
11
- var SubSideNavBar = function SubSideNavBar(props) {
12
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
13
- title = _defaultProps$props.title,
14
- ikey = _defaultProps$props.ikey,
15
- children = _defaultProps$props.children,
16
- onClick = _defaultProps$props.onClick,
17
- open = _defaultProps$props.open,
18
- rest = _objectWithoutProperties(_defaultProps$props, _excluded);
19
- // const offset = props.offset ? Number(props.offset) : 20
30
+ var SubSideNavBar = function SubSideNavBar2(props) {
31
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), title = _defaultProps$props.title, key = _defaultProps$props.key, children = _defaultProps$props.children, onClick = _defaultProps$props.onClick, open = _defaultProps$props.open, rest = _objectWithoutProperties(_defaultProps$props, _excluded);
20
32
  var offset = useContext(OffsetContext);
21
- console.log('offset>>>>>>>', offset);
33
+ console.log("offset>>>>>>>", offset);
22
34
  var listRef = useRef(null);
23
- var setListLevel = useCallback(function (nodeList) {
24
- var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
35
+ var setListLevel = useCallback(function(nodeList) {
36
+ var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
25
37
  var titleClass = nodeList[0].className;
26
- if (titleClass.includes('nut-subsidenavbar__title')) {
27
- // const left = 15 + offset * level
38
+ if (titleClass.includes("nut-subsidenavbar__title")) {
28
39
  var left = offset * (level + 1);
29
40
  nodeList[0].style.paddingLeft = "".concat(left, "px");
30
41
  }
31
- var childNodes = nodeList[1] && nodeList[1].children && Array.from(nodeList[1].children).filter(function (item) {
42
+ var childNodes = nodeList[1] && nodeList[1].children && Array.from(nodeList[1].children).filter(function(item) {
32
43
  return item.nodeType !== 3 && item.nodeType !== 8;
33
44
  });
34
- childNodes.forEach(function (item) {
45
+ childNodes.forEach(function(item) {
35
46
  var itemClass = item.className;
36
- if (itemClass.includes('nut-subsidenavbar__item')) {
37
- // const left = 15 + offset * (level + 1)
47
+ if (itemClass.includes("nut-subsidenavbar__item")) {
38
48
  var _left = offset * (level + 2);
39
49
  item.style.paddingLeft = "".concat(_left, "px");
40
50
  }
41
- if (itemClass.includes('nut-subsidenavbar__list')) {
42
- var _level = item.getAttribute('level') ? Number(item.getAttribute('level')) : 1;
43
- _level += 1;
44
- item.setAttribute('level', _level.toString());
45
- item.children && setListLevel(item.children, _level);
51
+ if (itemClass.includes("nut-subsidenavbar__list")) {
52
+ var level2 = item.getAttribute("level") ? Number(item.getAttribute("level")) : 1;
53
+ level2 += 1;
54
+ item.setAttribute("level", level2.toString());
55
+ item.children && setListLevel(item.children, level2);
46
56
  }
47
57
  });
48
58
  }, [offset]);
49
- var clickFn = function clickFn(e) {
59
+ var clickFn = function clickFn2(e) {
50
60
  handleClick(e);
51
61
  var currentClass = e.currentTarget.className;
52
- var isShow = currentClass.includes('nutShow');
62
+ var isShow = currentClass.includes("nutShow");
53
63
  onClick && onClick({
54
- title: title,
55
- ikey: ikey,
56
- isShow: isShow
64
+ title,
65
+ key,
66
+ isShow
57
67
  });
58
68
  };
59
- useEffect(function () {
69
+ useEffect(function() {
60
70
  var _listRef$current, _listRef$current2;
61
71
  var childNodes = (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.children;
62
- (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.setAttribute('level', '1');
72
+ (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.setAttribute("level", "1");
63
73
  childNodes && setListLevel(childNodes);
64
74
  }, [setListLevel]);
65
- var divClass = open ? 'nut-subsidenavbar__list nutShow' : 'nut-subsidenavbar__list nutHide';
66
- var iconClass = open ? 'arrow-icon arrow-down' : 'arrow-icon arrow-up';
75
+ var divClass = open ? "nut-subsidenavbar__list nutShow" : "nut-subsidenavbar__list nutHide";
76
+ var iconClass = open ? "arrow-icon arrow-down" : "arrow-icon arrow-up";
67
77
  return React__default.createElement("div", _objectSpread({
68
78
  className: divClass,
69
79
  ref: listRef,
@@ -76,4 +86,6 @@ var SubSideNavBar = function SubSideNavBar(props) {
76
86
  className: "nut-subsidenavbar__content"
77
87
  }, children));
78
88
  };
79
- export { SubSideNavBar as default };
89
+ export {
90
+ SubSideNavBar as default
91
+ };