@nutui/nutui-react-taro 2.0.0-alpha.12 → 2.0.0-alpha.14

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 (234) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/esm/ActionSheet/style/style.css +1 -1
  3. package/dist/esm/Address/style/style.css +1 -1
  4. package/dist/esm/AnimatingNumbers/style/style.css +1 -1
  5. package/dist/esm/AnimatingNumbers.js +99 -5
  6. package/dist/esm/Audio.js +3 -3
  7. package/dist/esm/AvatarGroup.js +1 -1
  8. package/dist/esm/Barrage/style/style.css +1 -1
  9. package/dist/esm/Barrage.js +2 -3
  10. package/dist/esm/Calendar/style/style.css +1 -1
  11. package/dist/esm/Cascader/style/style.css +1 -1
  12. package/dist/esm/CircleProgress.js +2 -2
  13. package/dist/esm/DatePicker/style/style.css +1 -1
  14. package/dist/esm/DatePicker.js +3 -3
  15. package/dist/esm/Ellipsis.js +2 -2
  16. package/dist/esm/ImagePreview/style/style.css +1 -1
  17. package/dist/esm/Menu.js +1 -1
  18. package/dist/esm/MenuItem.js +2 -2
  19. package/dist/esm/NoticeBar.js +2 -2
  20. package/dist/esm/NumberKeyboard/style/style.css +1 -1
  21. package/dist/esm/Picker/style/style.css +1 -1
  22. package/dist/esm/Picker.js +2 -2
  23. package/dist/esm/Popover/style/index.js +1 -1
  24. package/dist/esm/Popover/style/style.css +1 -1
  25. package/dist/esm/Popover.js +9 -3
  26. package/dist/esm/Popup/style/style.css +1 -1
  27. package/dist/esm/Range.js +2 -2
  28. package/dist/esm/ShortPassword/style/style.css +1 -1
  29. package/dist/esm/SideNavBar/style/style.css +1 -1
  30. package/dist/esm/SideNavBar.js +3 -3
  31. package/dist/esm/SideNavBarItem/style/style.css +1 -1
  32. package/dist/esm/SideNavBarItem.js +1 -1
  33. package/dist/esm/Signature.js +1 -1
  34. package/dist/esm/Sticky.js +2 -2
  35. package/dist/esm/SubSideNavBar/style/style.css +1 -1
  36. package/dist/esm/SubSideNavBar.js +2 -2
  37. package/dist/esm/Swipe.js +2 -2
  38. package/dist/esm/TextArea/style/style.css +1 -1
  39. package/dist/esm/TimeSelect/style/style.css +1 -1
  40. package/dist/esm/TrendArrow/style/style.css +1 -1
  41. package/dist/esm/TrendArrow.js +2 -3
  42. package/dist/esm/Uploader.js +2 -2
  43. package/dist/esm/Video.js +3 -3
  44. package/dist/esm/WaterMark.js +2 -3
  45. package/dist/esm/{audio.taro-bbd39f93.js → audio.taro-73011657.js} +3 -3
  46. package/dist/esm/{barrage.taro-c8cb9864.js → barrage.taro-e87bc58e.js} +32 -32
  47. package/dist/esm/{circleprogress.taro-7149e09d.js → circleprogress.taro-9064d69c.js} +1 -1
  48. package/dist/esm/{datepicker.taro-65dbeceb.js → datepicker.taro-6304d59d.js} +1 -1
  49. package/dist/esm/{ellipsis.taro-f423affa.js → ellipsis.taro-5653d0b2.js} +12 -12
  50. package/dist/esm/{index-e3184f19.js → index-0a89a47b.js} +7 -1
  51. package/dist/esm/{menu.taro-cd0fef41.js → menu.taro-40d36e0a.js} +3 -3
  52. package/dist/esm/{menuitem.taro-6076bffa.js → menuitem.taro-6aa35a00.js} +1 -1
  53. package/dist/esm/{noticebar.taro-2f02b2ad.js → noticebar.taro-8d496dd6.js} +1 -1
  54. package/dist/esm/nutui-react.es.js +31 -31
  55. package/dist/esm/{picker.taro-0570ec32.js → picker.taro-8ba4624c.js} +44 -40
  56. package/dist/esm/popover.taro-ba6c323a.js +229 -0
  57. package/dist/esm/{range.taro-615e193a.js → range.taro-a1d1ad25.js} +1 -1
  58. package/dist/esm/{sidenavbar.taro-9f210df4.js → sidenavbar.taro-1aefdd3c.js} +13 -10
  59. package/dist/esm/sidenavbaritem.taro-7d805f92.js +13 -0
  60. package/dist/esm/{signature.taro-c57469aa.js → signature.taro-6e75a1ac.js} +1 -1
  61. package/dist/esm/{sticky.taro-f8ae8d5e.js → sticky.taro-6bc62a96.js} +2 -2
  62. package/dist/esm/{subsidenavbar.taro-abe07673.js → subsidenavbar.taro-47bb6e74.js} +10 -9
  63. package/dist/esm/{swipe.taro-de80fcd8.js → swipe.taro-966af6d3.js} +1 -1
  64. package/dist/esm/trendarrow.taro-253025d2.js +70 -0
  65. package/dist/esm/types/src/packages/animatingnumbers/countup.d.ts +7 -8
  66. package/dist/esm/types/src/packages/animatingnumbers/countup.taro.d.ts +7 -8
  67. package/dist/esm/types/src/packages/animatingnumbers/demo.d.ts +1 -0
  68. package/dist/esm/types/src/packages/animatingnumbers/demo.taro.d.ts +1 -0
  69. package/dist/esm/types/src/packages/animatingnumbers/index.d.ts +1 -0
  70. package/dist/esm/types/src/packages/animatingnumbers/index.taro.d.ts +1 -0
  71. package/dist/{types/packages/avatargroup/avatargroup.d.ts → esm/types/src/packages/avatargroup/avatargroup.taro.d.ts} +1 -1
  72. package/dist/esm/types/src/packages/avatargroup/index.taro.d.ts +1 -1
  73. package/dist/esm/types/src/packages/barrage/barrage.d.ts +6 -7
  74. package/dist/esm/types/src/packages/barrage/barrage.taro.d.ts +6 -7
  75. package/dist/esm/types/src/packages/barrage/index.d.ts +1 -0
  76. package/dist/esm/types/src/packages/barrage/index.taro.d.ts +1 -0
  77. package/dist/esm/types/src/packages/button/button.d.ts +1 -0
  78. package/dist/esm/types/src/packages/configprovider/types.d.ts +1 -1
  79. package/dist/esm/types/src/packages/input/input.taro.d.ts +1 -1
  80. package/dist/esm/types/src/packages/menu/menu.taro.d.ts +1 -1
  81. package/dist/esm/types/src/packages/picker/doc.en.d.ts +9 -9
  82. package/dist/esm/types/src/packages/popover/demo.d.ts +3 -2
  83. package/dist/esm/types/src/packages/popover/demo.taro.d.ts +2 -2
  84. package/dist/esm/types/src/packages/popover/index.d.ts +1 -0
  85. package/dist/esm/types/src/packages/popover/index.taro.d.ts +1 -0
  86. package/dist/esm/types/src/packages/popover/popover.d.ts +20 -9
  87. package/dist/esm/types/src/packages/popover/popover.taro.d.ts +20 -10
  88. package/dist/esm/types/src/packages/sidenavbar/index.d.ts +1 -0
  89. package/dist/esm/types/src/packages/sidenavbar/index.taro.d.ts +1 -0
  90. package/dist/esm/types/src/packages/sidenavbar/sidenavbar.d.ts +5 -9
  91. package/dist/esm/types/src/packages/sidenavbar/sidenavbar.taro.d.ts +5 -9
  92. package/dist/esm/types/src/packages/sidenavbaritem/index.d.ts +1 -0
  93. package/dist/esm/types/src/packages/sidenavbaritem/index.taro.d.ts +1 -0
  94. package/dist/esm/types/src/packages/sidenavbaritem/sidenavbaritem.d.ts +3 -3
  95. package/dist/esm/types/src/packages/sidenavbaritem/sidenavbaritem.taro.d.ts +3 -3
  96. package/dist/esm/types/src/packages/subsidenavbar/index.d.ts +1 -0
  97. package/dist/esm/types/src/packages/subsidenavbar/index.taro.d.ts +1 -0
  98. package/dist/esm/types/src/packages/subsidenavbar/subsidenavbar.d.ts +3 -3
  99. package/dist/esm/types/src/packages/subsidenavbar/subsidenavbar.taro.d.ts +3 -3
  100. package/dist/esm/types/src/packages/trendarrow/trendarrow.d.ts +8 -10
  101. package/dist/esm/types/src/packages/trendarrow/trendarrow.taro.d.ts +8 -10
  102. package/dist/esm/types/src/packages/video/index.d.ts +1 -0
  103. package/dist/esm/types/src/packages/video/index.taro.d.ts +2 -1
  104. package/dist/esm/types/src/packages/video/video.d.ts +5 -9
  105. package/dist/esm/types/src/packages/video/video.taro.d.ts +6 -9
  106. package/dist/esm/types/src/packages/watermark/demo.d.ts +0 -1
  107. package/dist/esm/types/src/packages/watermark/demo.taro.d.ts +0 -1
  108. package/dist/esm/types/src/packages/watermark/index.d.ts +1 -0
  109. package/dist/esm/types/src/packages/watermark/index.taro.d.ts +1 -0
  110. package/dist/esm/types/src/packages/watermark/watermark.d.ts +3 -4
  111. package/dist/esm/types/src/packages/watermark/watermark.taro.d.ts +3 -4
  112. package/dist/esm/types/src/utils/index.d.ts +1 -0
  113. package/dist/esm/types/src/utils/use-click-away.d.ts +3 -0
  114. package/dist/esm/{uploader.taro-7e38fc37.js → uploader.taro-fbd05e20.js} +1 -1
  115. package/dist/esm/use-client-rect-2bb6c562.js +40 -0
  116. package/dist/esm/video.taro-2a26d7da.js +37 -0
  117. package/dist/esm/{watermark.taro-cef29c03.js → watermark.taro-e2245bb1.js} +12 -13
  118. package/dist/locales/base.js +1 -1
  119. package/dist/locales/en-US.js +1 -1
  120. package/dist/locales/id-ID.js +1 -1
  121. package/dist/locales/tr-TR.js +1 -1
  122. package/dist/locales/zh-CN.js +1 -1
  123. package/dist/locales/zh-TW.js +1 -1
  124. package/dist/locales/zh-UG.js +1 -1
  125. package/dist/nutui.react.es.js +551 -433
  126. package/dist/nutui.react.umd.js +551 -433
  127. package/dist/packages/animatingnumbers/countup.scss +0 -21
  128. package/dist/packages/barrage/barrage.scss +0 -13
  129. package/dist/packages/popover/popover.scss +158 -230
  130. package/dist/packages/popup/popup.scss +133 -46
  131. package/dist/packages/sidenavbar/sidenavbar.scss +10 -16
  132. package/dist/packages/sidenavbaritem/sidenavbaritem.scss +7 -19
  133. package/dist/packages/subsidenavbar/subsidenavbar.scss +10 -19
  134. package/dist/packages/trendarrow/trendarrow.scss +4 -3
  135. package/dist/style.css +1 -1
  136. package/dist/style.mjs +1 -1
  137. package/dist/styles/variables-jmapp.scss +37 -55
  138. package/dist/styles/variables.scss +47 -65
  139. package/dist/types/packages/actionsheet/actionsheet.taro.d.ts +40 -8
  140. package/dist/types/packages/animate/animate.taro.d.ts +20 -4
  141. package/dist/types/packages/animatingnumbers/countup.taro.d.ts +7 -8
  142. package/dist/types/packages/animatingnumbers/index.taro.d.ts +1 -0
  143. package/dist/types/packages/audio/audio.taro.d.ts +25 -5
  144. package/dist/types/packages/avatar/avatar.taro.d.ts +45 -9
  145. package/dist/types/packages/avatargroup/avatargroup.taro.d.ts +45 -0
  146. package/dist/types/packages/avatargroup/index.taro.d.ts +1 -1
  147. package/dist/types/packages/backtop/backtop.taro.d.ts +20 -4
  148. package/dist/types/packages/badge/badge.taro.d.ts +30 -6
  149. package/dist/types/packages/barrage/barrage.taro.d.ts +32 -9
  150. package/dist/types/packages/barrage/index.taro.d.ts +1 -0
  151. package/dist/types/packages/button/button.taro.d.ts +50 -10
  152. package/dist/types/packages/cascader/cascader.taro.d.ts +80 -16
  153. package/dist/types/packages/cell/cell.taro.d.ts +30 -6
  154. package/dist/types/packages/cellgroup/cellgroup.taro.d.ts +15 -3
  155. package/dist/types/packages/checkboxgroup/checkboxgroup.taro.d.ts +40 -8
  156. package/dist/types/packages/circleprogress/circleprogress.taro.d.ts +35 -7
  157. package/dist/types/packages/col/col.taro.d.ts +15 -3
  158. package/dist/types/packages/collapse/collapse.taro.d.ts +25 -5
  159. package/dist/types/packages/collapseitem/collapseitem.taro.d.ts +20 -4
  160. package/dist/types/packages/configprovider/configprovider.taro.d.ts +10 -2
  161. package/dist/types/packages/configprovider/types.d.ts +1 -1
  162. package/dist/types/packages/countdown/countdown.taro.d.ts +65 -13
  163. package/dist/types/packages/divider/divider.taro.d.ts +10 -2
  164. package/dist/types/packages/drag/drag.taro.d.ts +15 -3
  165. package/dist/types/packages/elevator/elevator.taro.d.ts +45 -9
  166. package/dist/types/packages/ellipsis/ellipsis.taro.d.ts +45 -9
  167. package/dist/types/packages/empty/empty.taro.d.ts +20 -4
  168. package/dist/types/packages/fixednav/fixednav.taro.d.ts +50 -10
  169. package/dist/types/packages/grid/grid.taro.d.ts +35 -7
  170. package/dist/types/packages/griditem/griditem.taro.d.ts +5 -1
  171. package/dist/types/packages/imagepreview/imagepreview.taro.d.ts +50 -10
  172. package/dist/types/packages/indicator/indicator.taro.d.ts +15 -3
  173. package/dist/types/packages/input/input.taro.d.ts +101 -21
  174. package/dist/types/packages/inputnumber/inputnumber.taro.d.ts +85 -17
  175. package/dist/types/packages/menu/menu.taro.d.ts +25 -5
  176. package/dist/types/packages/menuitem/menuitem.taro.d.ts +35 -7
  177. package/dist/types/packages/noticebar/noticebar.taro.d.ts +60 -12
  178. package/dist/types/packages/notify/notify.taro.d.ts +30 -6
  179. package/dist/types/packages/numberkeyboard/numberkeyboard.taro.d.ts +50 -10
  180. package/dist/types/packages/overlay/overlay.taro.d.ts +40 -8
  181. package/dist/types/packages/pagination/pagination.taro.d.ts +55 -11
  182. package/dist/types/packages/picker/picker.taro.d.ts +55 -11
  183. package/dist/types/packages/popover/index.taro.d.ts +1 -0
  184. package/dist/types/packages/popover/popover.taro.d.ts +99 -13
  185. package/dist/types/packages/popup/popup.taro.d.ts +75 -15
  186. package/dist/types/packages/price/price.taro.d.ts +35 -7
  187. package/dist/types/packages/progress/progress.taro.d.ts +35 -7
  188. package/dist/types/packages/pulltorefresh/pulltorefresh.taro.d.ts +55 -11
  189. package/dist/types/packages/radio/radio.taro.d.ts +45 -9
  190. package/dist/types/packages/radiogroup/radiogroup.taro.d.ts +30 -6
  191. package/dist/types/packages/range/range.taro.d.ts +80 -16
  192. package/dist/types/packages/searchbar/searchbar.taro.d.ts +72 -17
  193. package/dist/types/packages/shortpassword/shortpassword.taro.d.ts +85 -17
  194. package/dist/types/packages/sidenavbar/index.taro.d.ts +1 -0
  195. package/dist/types/packages/sidenavbar/sidenavbar.taro.d.ts +33 -13
  196. package/dist/types/packages/sidenavbaritem/index.taro.d.ts +1 -0
  197. package/dist/types/packages/sidenavbaritem/sidenavbaritem.taro.d.ts +3 -3
  198. package/dist/types/packages/skeleton/skeleton.taro.d.ts +35 -7
  199. package/dist/types/packages/step/step.taro.d.ts +20 -4
  200. package/dist/types/packages/steps/steps.taro.d.ts +15 -3
  201. package/dist/types/packages/sticky/sticky.taro.d.ts +25 -5
  202. package/dist/types/packages/subsidenavbar/index.taro.d.ts +1 -0
  203. package/dist/types/packages/subsidenavbar/subsidenavbar.taro.d.ts +3 -3
  204. package/dist/types/packages/swipe/swipe.taro.d.ts +47 -11
  205. package/dist/types/packages/swiper/swiper.taro.d.ts +35 -7
  206. package/dist/types/packages/switch/switch.taro.d.ts +30 -6
  207. package/dist/types/packages/tabbar/tabbar.taro.d.ts +35 -7
  208. package/dist/types/packages/tabbaritem/tabbaritem.taro.d.ts +10 -2
  209. package/dist/types/packages/tabpane/tabpane.taro.d.ts +15 -3
  210. package/dist/types/packages/tabs/tabs.taro.d.ts +60 -12
  211. package/dist/types/packages/textarea/textarea.taro.d.ts +60 -12
  212. package/dist/types/packages/trendarrow/trendarrow.taro.d.ts +57 -15
  213. package/dist/types/packages/uploader/uploader.taro.d.ts +165 -33
  214. package/dist/types/packages/video/index.taro.d.ts +2 -1
  215. package/dist/types/packages/video/video.taro.d.ts +41 -0
  216. package/dist/types/packages/virtuallist/virtuallist.taro.d.ts +40 -8
  217. package/dist/types/packages/watermark/index.taro.d.ts +1 -0
  218. package/dist/types/packages/watermark/watermark.taro.d.ts +72 -17
  219. package/dist/types/utils/index.d.ts +1 -0
  220. package/package.json +1 -1
  221. package/dist/esm/animatingnumbers.taro-c2a52dbd.js +0 -103
  222. package/dist/esm/popover.taro-ad483372.js +0 -162
  223. package/dist/esm/sidenavbaritem.taro-32a45ce6.js +0 -12
  224. package/dist/esm/trendarrow.taro-0cf43935.js +0 -72
  225. package/dist/esm/types/src/packages/popover/Trigger.d.ts +0 -19
  226. package/dist/esm/types/src/packages/sidenavbar/type.d.ts +0 -34
  227. package/dist/esm/use-client-rect-f317804e.js +0 -10
  228. package/dist/esm/video-5d106e33.js +0 -73
  229. package/dist/types/packages/popover/Trigger.d.ts +0 -19
  230. package/dist/types/packages/video/video.d.ts +0 -24
  231. /package/dist/esm/{avatargroup-ad5ffb46.js → avatargroup.taro-ad5ffb46.js} +0 -0
  232. /package/dist/esm/{offsetContext-f32a9246.js → context-f32a9246.js} +0 -0
  233. /package/dist/esm/types/src/packages/sidenavbar/{offsetContext.d.ts → context.d.ts} +0 -0
  234. /package/dist/types/packages/sidenavbar/{offsetContext.d.ts → context.d.ts} +0 -0
@@ -0,0 +1,229 @@
1
+ import React, { useRef, useState, useEffect } from "react";
2
+ import classNames from "classnames";
3
+ import { P as Popup } from "./popup.taro-e756f3fc.js";
4
+ import Taro from "@tarojs/taro";
5
+ import { a as getRect, g as getRectByTaro } from "./use-client-rect-2bb6c562.js";
6
+ import { u as upperCaseFirst } from "./index-0a89a47b.js";
7
+ import { C as ComponentDefaults } from "./typings-11d83a22.js";
8
+ const defaultProps = {
9
+ ...ComponentDefaults,
10
+ list: [],
11
+ location: "bottom",
12
+ visible: false,
13
+ offset: [0, 12],
14
+ targetId: "",
15
+ className: "",
16
+ background: "",
17
+ color: "",
18
+ showArrow: true,
19
+ duration: 0.3,
20
+ overlay: false,
21
+ overlayClassName: "",
22
+ overlayStyle: {},
23
+ closeOnClickOutside: true,
24
+ closeOnClickAction: true,
25
+ closeOnOverlayClick: true,
26
+ onClick: () => {
27
+ },
28
+ onOpen: () => {
29
+ },
30
+ onClose: () => {
31
+ },
32
+ onSelect: (item, index) => {
33
+ }
34
+ };
35
+ const classPrefix = `nut-popover`;
36
+ const Popover = (props) => {
37
+ const { children, list, location, visible, offset, targetId, overlay, overlayStyle, overlayClassName, closeOnClickOutside, closeOnClickAction, closeOnOverlayClick, className, showArrow, style, background, color, onClick, onOpen, onClose, onSelect, ...reset } = {
38
+ ...defaultProps,
39
+ ...props
40
+ };
41
+ const popoverRef = useRef(null);
42
+ const popoverContentRef = useRef(null);
43
+ const [showPopup, setShowPopup] = useState(false);
44
+ const [elWidth, setElWidth] = useState(0);
45
+ const [elHeight, setElHeight] = useState(0);
46
+ const [rootPosition, setRootPosition] = useState();
47
+ useEffect(() => {
48
+ setShowPopup(visible);
49
+ if (visible) {
50
+ setTimeout(() => {
51
+ getContentWidth();
52
+ }, 0);
53
+ }
54
+ }, [visible]);
55
+ const getContentWidth = async () => {
56
+ let rect;
57
+ if (targetId) {
58
+ if (Taro.getEnv() == Taro.ENV_TYPE.WEB) {
59
+ rect = getRect(document.querySelector(`#${targetId}`));
60
+ } else {
61
+ rect = await getRectTaro(targetId);
62
+ }
63
+ } else {
64
+ rect = await getRectByTaro(popoverRef.current);
65
+ }
66
+ setRootPosition({
67
+ width: rect.width,
68
+ height: rect.height,
69
+ left: rect.left,
70
+ top: rect.top,
71
+ right: rect.right
72
+ });
73
+ setTimeout(() => {
74
+ getPopoverContentW();
75
+ }, 300);
76
+ };
77
+ const getRectTaro = async (targetId2) => {
78
+ return new Promise((resolve) => {
79
+ const query = Taro.createSelectorQuery();
80
+ query.select(`#${targetId2}`) && query.select(`#${targetId2}`).boundingClientRect();
81
+ query.exec(function(res) {
82
+ resolve(res[0]);
83
+ });
84
+ });
85
+ };
86
+ const getPopoverContentW = async () => {
87
+ let rectContent = await getRectByTaro(popoverContentRef.current);
88
+ setElWidth(rectContent.width);
89
+ setElHeight(rectContent.height);
90
+ };
91
+ const clickAway = () => {
92
+ if (closeOnClickOutside) {
93
+ props.onClick && props.onClick();
94
+ onClose && onClose();
95
+ }
96
+ };
97
+ const classes = classNames({
98
+ [`${classPrefix}`]: true
99
+ }, className);
100
+ const customStyle = () => {
101
+ const styles = {};
102
+ if (background) {
103
+ styles.background = background;
104
+ }
105
+ if (color) {
106
+ styles.color = color;
107
+ }
108
+ return styles;
109
+ };
110
+ const popoverArrow = () => {
111
+ const prefixCls = "nut-popover-arrow";
112
+ const loca = location;
113
+ const direction = loca.split("-")[0];
114
+ return `${prefixCls} ${prefixCls}-${direction} ${prefixCls}--${loca}`;
115
+ };
116
+ const popoverArrowStyle = () => {
117
+ const styles = {};
118
+ const { background: background2 } = props;
119
+ const direction = location.split("-")[0];
120
+ if (background2) {
121
+ styles[`border${upperCaseFirst(direction)}Color`] = background2;
122
+ }
123
+ return styles;
124
+ };
125
+ const getRootPosition = () => {
126
+ let styles = {};
127
+ if (!rootPosition) {
128
+ styles.visibility = "hidden";
129
+ return styles;
130
+ }
131
+ const contentWidth = elWidth;
132
+ const contentHeight = elHeight;
133
+ const { width, height, left, top, right } = rootPosition;
134
+ const direction = location.split("-")[0];
135
+ const skew = location.split("-")[1];
136
+ let cross = 0;
137
+ let parallel = 0;
138
+ if (Array.isArray(offset) && offset.length == 2) {
139
+ cross += +offset[1];
140
+ parallel += +offset[0];
141
+ }
142
+ if (width) {
143
+ if (["bottom", "top"].includes(direction)) {
144
+ const h = direction == "bottom" ? height + cross : -(contentHeight + cross);
145
+ styles.top = `${top + h}px`;
146
+ if (!skew) {
147
+ styles.left = `${-(contentWidth - width) / 2 + left + parallel}px`;
148
+ }
149
+ if (skew == "start") {
150
+ styles.left = `${left + parallel}px`;
151
+ }
152
+ if (skew == "end") {
153
+ styles.left = `${right + parallel}px`;
154
+ }
155
+ }
156
+ if (["left", "right"].includes(direction)) {
157
+ const contentW = direction == "left" ? -(contentWidth + cross) : width + cross;
158
+ styles.left = `${left + contentW}px`;
159
+ if (!skew) {
160
+ styles.top = `${top - contentHeight / 2 + height / 2 - 4 + parallel}px`;
161
+ }
162
+ if (skew == "start") {
163
+ styles.top = `${top + parallel}px`;
164
+ }
165
+ if (skew == "end") {
166
+ styles.top = `${top + height + parallel}px`;
167
+ }
168
+ }
169
+ }
170
+ if (elWidth === 0) {
171
+ styles.visibility = "hidden";
172
+ } else {
173
+ styles.visibility = "initial";
174
+ }
175
+ return styles;
176
+ };
177
+ const handleSelect = (item, index) => {
178
+ if (!item.disabled) {
179
+ onSelect(item, index);
180
+ }
181
+ if (closeOnClickAction) {
182
+ props.onClick && props.onClick();
183
+ onClose && onClose();
184
+ }
185
+ };
186
+ return React.createElement(
187
+ React.Fragment,
188
+ null,
189
+ !targetId && React.createElement("div", { className: "nut-popover-wrapper", ref: popoverRef, onClick: () => {
190
+ props.onClick && props.onClick();
191
+ if (!visible) {
192
+ onOpen && onOpen();
193
+ } else {
194
+ onClose && onClose();
195
+ }
196
+ }, style }, Array.isArray(children) ? children[0] : children),
197
+ React.createElement(
198
+ "div",
199
+ { className: classes, style: getRootPosition(), ...reset },
200
+ React.createElement(
201
+ Popup,
202
+ { className: `nut-popover-content nut-popover-content--${location}`, style: customStyle(), position: "default", overlay, overlayStyle, overlayClassName, closeOnOverlayClick, visible: showPopup },
203
+ React.createElement(
204
+ "div",
205
+ { className: "nut-popover-content-group", ref: popoverContentRef },
206
+ showArrow && React.createElement("div", { className: popoverArrow(), style: popoverArrowStyle() }),
207
+ Array.isArray(children) ? children[1] : "",
208
+ list.map((item, index) => {
209
+ return React.createElement(
210
+ "div",
211
+ { className: classNames({
212
+ "nut-popover-menu-item": true,
213
+ "nut-popover-menu-disabled": item.disabled
214
+ }, item.className), key: item.key, onClick: () => handleSelect(item, index) },
215
+ item.icon ? item.icon : null,
216
+ React.createElement("div", { className: "nut-popover-menu-item-name" }, item.name)
217
+ );
218
+ })
219
+ )
220
+ ),
221
+ showPopup && React.createElement("div", { className: "nut-popover-content-bg", onClick: clickAway, onTouchMove: clickAway })
222
+ )
223
+ );
224
+ };
225
+ Popover.defaultProps = defaultProps;
226
+ Popover.displayName = "NutPopover";
227
+ export {
228
+ Popover as P
229
+ };
@@ -2,7 +2,7 @@ import React, { useState, useRef, useEffect, useCallback } from "react";
2
2
  import classNames from "classnames";
3
3
  import { View } from "@tarojs/components";
4
4
  import { u as useTouch } from "./use-touch-ff43512c.js";
5
- import { g as getRectByTaro } from "./use-client-rect-f317804e.js";
5
+ import { g as getRectByTaro } from "./use-client-rect-2bb6c562.js";
6
6
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
7
7
  import { u as usePropsValue } from "./use-props-value-7ac1b1b5.js";
8
8
  const defaultProps = {
@@ -1,17 +1,20 @@
1
1
  import React, { useState } from "react";
2
+ import classNames from "classnames";
2
3
  import { P as Popup } from "./popup.taro-e756f3fc.js";
3
- import { O as OffsetContext } from "./offsetContext-f32a9246.js";
4
+ import { O as OffsetContext } from "./context-f32a9246.js";
5
+ import { C as ComponentDefaults } from "./typings-11d83a22.js";
4
6
  const defaultProps = {
5
- showhead: false,
7
+ ...ComponentDefaults,
6
8
  position: "left",
7
9
  width: "80%"
8
10
  };
9
11
  const SideNavBar = (props) => {
10
- const { title, visible, width, position, children, className, showhead, onClose, ...rest } = {
12
+ const classPrefix = "nut-sidenavbar";
13
+ const { title, visible, width, position, children, className, onClose, ...rest } = {
11
14
  ...defaultProps,
12
15
  ...props
13
16
  };
14
- const offset = props.offset ? Number(props.offset) : 20;
17
+ const indent = props.indent ? Number(props.indent) : 20;
15
18
  const [sidenavbarShow, setSidenavbarShow] = useState(true);
16
19
  const handleClick = () => {
17
20
  setSidenavbarShow(!sidenavbarShow);
@@ -21,23 +24,23 @@ const SideNavBar = (props) => {
21
24
  { visible, style: { width, height: "100%" }, position, onClose },
22
25
  React.createElement(
23
26
  "div",
24
- { className: className ? `${className} nut-sidenavbar` : "nut-sidenavbar", ...rest },
27
+ { className: classNames(className, classPrefix), ...rest },
25
28
  React.createElement(
26
29
  "div",
27
- { className: "nut-sidenavbar__content" },
30
+ { className: `${classPrefix}__content` },
28
31
  React.createElement(
29
32
  "div",
30
- { className: `nut-sidenavbar__list ${sidenavbarShow ? "nutShow" : "nutHide"}`, onClick: handleClick },
33
+ { className: `${classPrefix}__list ${sidenavbarShow ? "sidenavbar-show" : "sidenavbar-hide"}`, onClick: handleClick },
31
34
  React.createElement(
32
35
  "div",
33
- { className: "nut-sidenavbar__title border-bt ", style: { paddingLeft: `${offset}px` } },
36
+ { className: `${classPrefix}__title ${classPrefix}-border-bt`, style: { paddingLeft: `${indent}px` } },
34
37
  title,
35
38
  React.createElement("i", { className: `arrow-icon ${sidenavbarShow ? "arrow-up" : "arrow-down"}` })
36
39
  ),
37
40
  React.createElement(
38
41
  OffsetContext.Provider,
39
- { value: offset },
40
- React.createElement("div", { className: "nut-sidenavbar__content" }, children)
42
+ { value: indent },
43
+ React.createElement("div", { className: `${classPrefix}__content` }, children)
41
44
  )
42
45
  )
43
46
  )
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ const SideNavBarItem = (props) => {
3
+ const classPrefix = "nut-subsidenavbar";
4
+ const { title, value, children, onClick, ...rest } = props;
5
+ const clickFn = (e) => {
6
+ e.stopPropagation();
7
+ onClick && onClick({ title, value });
8
+ };
9
+ return React.createElement("div", { className: `${classPrefix}__item ${classPrefix}-border-bt`, onClick: clickFn, ...rest }, title);
10
+ };
11
+ export {
12
+ SideNavBarItem as S
13
+ };
@@ -75,7 +75,7 @@ const Signature = (props) => {
75
75
  onConfirm && onConfirm(res2.tempFilePath);
76
76
  },
77
77
  fail: (res2) => {
78
- console.log("保存失败");
78
+ console.warn("保存失败");
79
79
  }
80
80
  });
81
81
  });
@@ -2,7 +2,7 @@ import React, { useRef, useEffect, useState, useMemo, useCallback } from "react"
2
2
  import classNames from "classnames";
3
3
  import { getEnv, usePageScroll, getSystemInfoSync } from "@tarojs/taro";
4
4
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
5
- import { g as getRectByTaro } from "./use-client-rect-f317804e.js";
5
+ import { g as getRectByTaro } from "./use-client-rect-2bb6c562.js";
6
6
  import { c as canUseDom } from "./can-use-dom-0e539bd3.js";
7
7
  function useWatch(dep, callback, config = { immediate: false }) {
8
8
  const { immediate } = config;
@@ -118,7 +118,7 @@ const Sticky = (props) => {
118
118
  setFixed(windowHeight - threshold < curRootRect.bottom);
119
119
  }
120
120
  } else {
121
- console.log("getRectByTaro获取失败", { stickyRect, curRootRect });
121
+ console.warn("getRectByTaro获取失败", { stickyRect, curRootRect });
122
122
  }
123
123
  };
124
124
  const getElement = useCallback(() => {
@@ -1,10 +1,11 @@
1
1
  import React, { useState, useContext, useRef, useCallback, useEffect } from "react";
2
- import { O as OffsetContext } from "./offsetContext-f32a9246.js";
2
+ import { O as OffsetContext } from "./context-f32a9246.js";
3
3
  const defaultProps = {
4
4
  open: true
5
5
  };
6
6
  const SubSideNavBar = (props) => {
7
- const { title, key, children, onClick, open, ...rest } = {
7
+ const classPrefix = "nut-subsidenavbar";
8
+ const { title, value, children, onClick, open, ...rest } = {
8
9
  ...defaultProps,
9
10
  ...props
10
11
  };
@@ -13,18 +14,18 @@ const SubSideNavBar = (props) => {
13
14
  const listRef = useRef(null);
14
15
  const setListLevel = useCallback((nodeList, level = 1) => {
15
16
  const titleClass = nodeList[0].className;
16
- if (titleClass.includes("nut-subsidenavbar__title")) {
17
+ if (titleClass.includes(`${classPrefix}__title`)) {
17
18
  const left = offset * (level + 1);
18
19
  nodeList[0].style.paddingLeft = `${left}px`;
19
20
  }
20
21
  const childNodes = nodeList[1] && nodeList[1].children && Array.from(nodeList[1].children).filter((item) => item.nodeType !== 3 && item.nodeType !== 8);
21
22
  childNodes.forEach((item) => {
22
23
  const itemClass = item.className;
23
- if (itemClass.includes("nut-subsidenavbar__item")) {
24
+ if (itemClass.includes(`${classPrefix}__item`)) {
24
25
  const left = offset * (level + 2);
25
26
  item.style.paddingLeft = `${left}px`;
26
27
  }
27
- if (itemClass.includes("nut-subsidenavbar__list")) {
28
+ if (itemClass.includes(`${classPrefix}__list`)) {
28
29
  let level2 = item.getAttribute("level") ? Number(item.getAttribute("level")) : 1;
29
30
  level2 += 1;
30
31
  item.setAttribute("level", level2.toString());
@@ -36,7 +37,7 @@ const SubSideNavBar = (props) => {
36
37
  e.stopPropagation();
37
38
  setSubShow(!subShow);
38
39
  const isShow = !subShow;
39
- onClick && onClick({ title, key, isShow });
40
+ onClick && onClick({ title, value, isShow });
40
41
  };
41
42
  useEffect(() => {
42
43
  var _a, _b;
@@ -44,19 +45,19 @@ const SubSideNavBar = (props) => {
44
45
  (_b = listRef.current) == null ? void 0 : _b.setAttribute("level", "1");
45
46
  childNodes && setListLevel(childNodes);
46
47
  }, [setListLevel]);
47
- const divClass = subShow ? "nut-subsidenavbar__list nutShow" : "nut-subsidenavbar__list nutHide";
48
+ const divClass = subShow ? `${classPrefix}__list sidenavbar-show` : `${classPrefix}__list sidenavbar-hide`;
48
49
  const iconClass = subShow ? "arrow-icon arrow-down" : "arrow-icon arrow-up";
49
50
  return React.createElement(
50
51
  "div",
51
52
  { className: divClass, ref: listRef, onClick: clickFn, ...rest },
52
53
  React.createElement(
53
54
  "div",
54
- { className: "nut-subsidenavbar__title border-bt" },
55
+ { className: `${classPrefix}__title ${classPrefix}-border-bt` },
55
56
  title,
56
57
  " ",
57
58
  React.createElement("i", { className: iconClass })
58
59
  ),
59
- React.createElement("div", { className: "nut-subsidenavbar__content" }, children)
60
+ React.createElement("div", { className: `${classPrefix}__content` }, children)
60
61
  );
61
62
  };
62
63
  export {
@@ -3,7 +3,7 @@ import classNames from "classnames";
3
3
  import { useReady, nextTick } from "@tarojs/taro";
4
4
  import { c as cn } from "./bem-cdccae08.js";
5
5
  import { u as useTouch } from "./use-touch-ff43512c.js";
6
- import { g as getRectByTaro } from "./use-client-rect-f317804e.js";
6
+ import { g as getRectByTaro } from "./use-client-rect-2bb6c562.js";
7
7
  function preventDefault(event, isStopPropagation) {
8
8
  if (typeof event.cancelable !== "boolean" || event.cancelable) {
9
9
  event.preventDefault();
@@ -0,0 +1,70 @@
1
+ import React, { useRef } from "react";
2
+ import { TriangleUp, TriangleDown } from "@nutui/icons-react-taro";
3
+ import { C as ComponentDefaults } from "./typings-11d83a22.js";
4
+ const defaultProps = {
5
+ ...ComponentDefaults,
6
+ value: 0,
7
+ digits: 2,
8
+ symbol: false,
9
+ zero: false,
10
+ arrowLeft: false,
11
+ syncColor: true,
12
+ color: "#333",
13
+ riseColor: "#fa2c19",
14
+ dropColor: "#64b578",
15
+ riseIcon: null,
16
+ downIcon: null
17
+ };
18
+ const TrendArrow = (props) => {
19
+ const { value, digits, symbol, zero, arrowLeft, syncColor, color, riseColor, dropColor, riseIcon, downIcon, className, style, children, ...rest } = { ...defaultProps, ...props };
20
+ const classPrefix = "nut-trendarrow";
21
+ const rateTrend = useRef(value > 0);
22
+ const myFixed = (num, digit = 2) => {
23
+ if (Object.is(parseFloat(num), NaN)) {
24
+ return console.warn(`传入的值:${num}不是一个数字`);
25
+ }
26
+ num = parseFloat(num);
27
+ const numPow = Math.pow(10, digit);
28
+ return (Math.round((num + Number.EPSILON) * numPow) / numPow).toFixed(digit);
29
+ };
30
+ const calcStyle = (() => {
31
+ const arrowColor = rateTrend.current ? riseColor : dropColor;
32
+ const textEquArrowColor = syncColor ? arrowColor : color;
33
+ const style2 = {
34
+ color: value === 0 ? color : textEquArrowColor
35
+ };
36
+ return style2;
37
+ })();
38
+ const calcRate = (() => {
39
+ rateTrend.current = value > 0;
40
+ const absRate = Math.abs(value);
41
+ if (!zero && value === 0) {
42
+ return "--";
43
+ }
44
+ const resultRate = `${// eslint-disable-next-line no-nested-ternary
45
+ symbol && value !== 0 ? rateTrend.current ? "+" : "-" : ""}${myFixed(Number(absRate), digits)}%`;
46
+ return resultRate;
47
+ })();
48
+ const calcIconProps = (() => {
49
+ const iconProps = {
50
+ color: rateTrend.current ? riseColor : dropColor
51
+ };
52
+ return iconProps;
53
+ })();
54
+ const renderContent = (arrowLeft2) => {
55
+ const classNameSuffix = !arrowLeft2 ? "icon-after" : "icon-before";
56
+ return React.createElement("span", { className: `${classPrefix}__${classNameSuffix} ${classPrefix}__value`, style: calcStyle }, calcRate);
57
+ };
58
+ return React.createElement(
59
+ "div",
60
+ { className: `${classPrefix} ${className}`, style, ...rest },
61
+ !arrowLeft && renderContent(!arrowLeft),
62
+ Number(value) !== 0 && React.createElement(React.Fragment, null, rateTrend.current ? React.createElement(React.Fragment, null, riseIcon || React.createElement(TriangleUp, { color: calcIconProps.color })) : React.createElement(React.Fragment, null, downIcon || React.createElement(TriangleDown, { color: calcIconProps.color }))),
63
+ arrowLeft && renderContent(!arrowLeft)
64
+ );
65
+ };
66
+ TrendArrow.defaultProps = defaultProps;
67
+ TrendArrow.displayName = "NutTrendArrow";
68
+ export {
69
+ TrendArrow as T
70
+ };
@@ -1,11 +1,10 @@
1
- import React, { FunctionComponent } from 'react';
2
- export interface CountUpProps {
3
- maxLen: number;
4
- endNumber: string;
5
- delaySpeed?: number;
6
- easeSpeed: number;
1
+ import { FunctionComponent } from 'react';
2
+ import { BasicComponent } from '@/utils/typings';
3
+ export interface CountUpProps extends BasicComponent {
4
+ length: number;
5
+ value: string;
6
+ delay?: number;
7
+ duration: number;
7
8
  thousands: boolean;
8
- className: string;
9
- style: React.CSSProperties;
10
9
  }
11
10
  export declare const CountUp: FunctionComponent<Partial<CountUpProps>>;
@@ -1,11 +1,10 @@
1
- import React, { FunctionComponent } from 'react';
2
- export interface CountUpProps {
3
- maxLen: number;
4
- endNumber: string;
5
- delaySpeed?: number;
6
- easeSpeed: number;
1
+ import { FunctionComponent } from 'react';
2
+ import { BasicComponent } from '@/utils/typings';
3
+ export interface CountUpProps extends BasicComponent {
4
+ length: number;
5
+ value: string;
6
+ delay?: number;
7
+ duration: number;
7
8
  thousands: boolean;
8
- className: string;
9
- style: React.CSSProperties;
10
9
  }
11
10
  export declare const CountUp: FunctionComponent<Partial<CountUpProps>>;
@@ -1,3 +1,4 @@
1
1
  /// <reference types="react" />
2
+ import './demo.scss';
2
3
  declare const AnimatingNumbersDemo: () => JSX.Element;
3
4
  export default AnimatingNumbersDemo;
@@ -1,3 +1,4 @@
1
1
  /// <reference types="react" />
2
+ import '@/packages/animatingnumbers/demo.scss';
2
3
  declare const AnimatingNumbersDemo: () => JSX.Element;
3
4
  export default AnimatingNumbersDemo;
@@ -1,2 +1,3 @@
1
1
  import { AnimatingNumbers } from './animatingnumbers';
2
+ export type { CountUpProps } from './countup';
2
3
  export default AnimatingNumbers;
@@ -1,2 +1,3 @@
1
1
  import { AnimatingNumbers } from './animatingnumbers.taro';
2
+ export type { CountUpProps } from './countup.taro';
2
3
  export default AnimatingNumbers;
@@ -1,5 +1,5 @@
1
1
  import React, { FunctionComponent } from 'react';
2
- import { BasicComponent } from '../../utils/typings';
2
+ import { BasicComponent } from '@/utils/typings';
3
3
  export interface AvatarGroupProps extends BasicComponent {
4
4
  maxContent: string;
5
5
  max: string | number;
@@ -1,2 +1,2 @@
1
- import { AvatarGroup } from './avatargroup';
1
+ import { AvatarGroup } from './avatargroup.taro';
2
2
  export default AvatarGroup;
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
- export interface BarrageProps {
3
- className: string;
4
- style: React.CSSProperties;
5
- barrageList: Array<string>;
6
- frequency: number;
2
+ import { BasicComponent } from '@/utils/typings';
3
+ export interface BarrageProps extends BasicComponent {
4
+ list: Array<string>;
5
+ interval: number;
7
6
  loop: boolean;
8
- speeds: number;
7
+ duration: number;
9
8
  rows: number;
10
- top: number;
9
+ gapY: number;
11
10
  }
12
11
  export declare const Barrage: React.ForwardRefExoticComponent<Partial<BarrageProps> & React.RefAttributes<unknown>>;
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
- export interface BarrageProps {
3
- className: string;
4
- style: React.CSSProperties;
5
- barrageList: Array<string>;
6
- frequency: number;
2
+ import { BasicComponent } from '@/utils/typings';
3
+ export interface BarrageProps extends BasicComponent {
4
+ list: Array<string>;
5
+ interval: number;
7
6
  loop: boolean;
8
- speeds: number;
7
+ duration: number;
9
8
  rows: number;
10
- top: number;
9
+ gapY: number;
11
10
  }
12
11
  export declare const Barrage: React.ForwardRefExoticComponent<Partial<BarrageProps> & React.RefAttributes<unknown>>;
@@ -1,2 +1,3 @@
1
1
  import { Barrage } from './barrage';
2
+ export type { BarrageProps } from './barrage';
2
3
  export default Barrage;
@@ -1,2 +1,3 @@
1
1
  import { Barrage } from './barrage.taro';
2
+ export type { BarrageProps } from './barrage.taro';
2
3
  export default Barrage;
@@ -14,6 +14,7 @@ export interface ButtonProps extends BasicComponent {
14
14
  loading: boolean;
15
15
  disabled: boolean;
16
16
  icon: React.ReactNode;
17
+ id: string;
17
18
  onClick: (e: MouseEvent) => void;
18
19
  }
19
20
  export declare const Button: React.ForwardRefExoticComponent<Partial<ButtonProps> & React.RefAttributes<HTMLButtonElement>>;