taro-react-uilib 1.3.4-1 → 1.3.4-11

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 (210) hide show
  1. package/CHANGELOG.md +291 -4
  2. package/dist/components/ActionSheet/index.js +2 -0
  3. package/dist/components/ActionSheet/index.js.map +1 -0
  4. package/dist/components/ActivityIndicator/index.js +2 -0
  5. package/dist/components/ActivityIndicator/index.js.map +1 -0
  6. package/dist/components/AmountKeyboard/index.js +1 -1
  7. package/dist/components/AmountKeyboard/index.js.map +1 -1
  8. package/dist/components/Button/index.js +1 -1
  9. package/dist/components/Button/index.js.map +1 -1
  10. package/dist/components/Captcha/index.js +1 -1
  11. package/dist/components/Captcha/index.js.map +1 -1
  12. package/dist/components/Cell/index.js +2 -0
  13. package/dist/components/Cell/index.js.map +1 -0
  14. package/dist/components/Checkbox/index.js +1 -1
  15. package/dist/components/Checkbox/index.js.map +1 -1
  16. package/dist/components/Dialog/Alert/index.js +1 -1
  17. package/dist/components/Dialog/Alert/index.js.map +1 -1
  18. package/dist/components/Dialog/Confirm/index.js +1 -1
  19. package/dist/components/Dialog/Confirm/index.js.map +1 -1
  20. package/dist/components/DialogComponent/index.js.map +1 -1
  21. package/dist/components/DialogRef/index.js +1 -1
  22. package/dist/components/DialogRef/index.js.map +1 -1
  23. package/dist/components/FormInput/index.js +1 -1
  24. package/dist/components/FormInput/index.js.map +1 -1
  25. package/dist/components/Icon/index.js.map +1 -1
  26. package/dist/components/LinkMan/index.js +2 -0
  27. package/dist/components/LinkMan/index.js.map +1 -0
  28. package/dist/components/List/index.js +1 -1
  29. package/dist/components/List/index.js.map +1 -1
  30. package/dist/components/Loading/index.js +1 -1
  31. package/dist/components/Loading/index.js.map +1 -1
  32. package/dist/components/NavBar/index.js +1 -1
  33. package/dist/components/NavBar/index.js.map +1 -1
  34. package/dist/components/NumberKeyboard/index.js +1 -1
  35. package/dist/components/NumberKeyboard/index.js.map +1 -1
  36. package/dist/components/Page/index.js +1 -1
  37. package/dist/components/Page/index.js.map +1 -1
  38. package/dist/components/Popup/index.js +1 -1
  39. package/dist/components/Popup/index.js.map +1 -1
  40. package/dist/components/Progress/index.js +1 -1
  41. package/dist/components/Progress/index.js.map +1 -1
  42. package/dist/components/ProgressCircle/index.js +2 -0
  43. package/dist/components/ProgressCircle/index.js.map +1 -0
  44. package/dist/components/Radio/index.js +1 -1
  45. package/dist/components/Radio/index.js.map +1 -1
  46. package/dist/components/Rank/index.js +2 -0
  47. package/dist/components/Rank/index.js.map +1 -0
  48. package/dist/components/Result/images/result-empty.png.js +2 -0
  49. package/dist/components/Result/images/result-empty.png.js.map +1 -0
  50. package/dist/components/Result/images/result-fail.png.js +2 -0
  51. package/dist/components/Result/images/result-fail.png.js.map +1 -0
  52. package/dist/components/Result/images/result-networkErr.png.js +2 -0
  53. package/dist/components/Result/images/result-networkErr.png.js.map +1 -0
  54. package/dist/components/Result/images/result-submitted.png.js +2 -0
  55. package/dist/components/Result/images/result-submitted.png.js.map +1 -0
  56. package/dist/components/Result/images/result-success.png.js +2 -0
  57. package/dist/components/Result/images/result-success.png.js.map +1 -0
  58. package/dist/components/Result/images/result-wait.png.js +2 -0
  59. package/dist/components/Result/images/result-wait.png.js.map +1 -0
  60. package/dist/components/Result/index.js +2 -0
  61. package/dist/components/Result/index.js.map +1 -0
  62. package/dist/components/Result/statusMap.js +2 -0
  63. package/dist/components/Result/statusMap.js.map +1 -0
  64. package/dist/components/Step/Steps/index.js +1 -1
  65. package/dist/components/Step/Steps/index.js.map +1 -1
  66. package/dist/components/Step/index.js +1 -1
  67. package/dist/components/Step/index.js.map +1 -1
  68. package/dist/components/Switch/index.js +2 -0
  69. package/dist/components/Switch/index.js.map +1 -0
  70. package/dist/components/Tabbar/index.js.map +1 -1
  71. package/dist/components/Tabbar/tabbar/TabItem.js.map +1 -1
  72. package/dist/components/Tabbar/tabbar/Tabbar.js +1 -1
  73. package/dist/components/Tabbar/tabbar/Tabbar.js.map +1 -1
  74. package/dist/components/src/index.js +1 -1
  75. package/dist/index.js +6 -6
  76. package/dist/index.js.map +1 -1
  77. package/dist/index.umd.js +6 -6
  78. package/dist/index.umd.js.map +1 -1
  79. package/dist/styles/components/actionsheet.scss +122 -0
  80. package/dist/styles/components/activityindicator.scss +46 -0
  81. package/dist/styles/components/amountinput.scss +5 -6
  82. package/dist/styles/components/amountkeyboard.scss +30 -12
  83. package/dist/styles/components/badge.scss +0 -1
  84. package/dist/styles/components/bankicon.scss +1 -1
  85. package/dist/styles/components/button.scss +35 -22
  86. package/dist/styles/components/captcha.scss +10 -5
  87. package/dist/styles/components/cell.scss +131 -0
  88. package/dist/styles/components/checkbox.scss +5 -6
  89. package/dist/styles/components/dialog.scss +16 -16
  90. package/dist/styles/components/dialogref.scss +14 -30
  91. package/dist/styles/components/font/iconfont.ttf +0 -0
  92. package/dist/styles/components/font/iconfont.woff +0 -0
  93. package/dist/styles/components/font/iconfont.woff2 +0 -0
  94. package/dist/styles/components/forminput.scss +40 -28
  95. package/dist/styles/components/icon.scss +6 -2
  96. package/dist/styles/components/index.scss +8 -0
  97. package/dist/styles/components/linkman.scss +81 -0
  98. package/dist/styles/components/list.scss +18 -6
  99. package/dist/styles/components/loading.scss +39 -40
  100. package/dist/styles/components/mask.scss +1 -1
  101. package/dist/styles/components/navbar.scss +10 -1
  102. package/dist/styles/components/numberkeyboard.scss +48 -36
  103. package/dist/styles/components/page.scss +2 -2
  104. package/dist/styles/components/passwordinput.scss +1 -1
  105. package/dist/styles/components/picker.scss +0 -1
  106. package/dist/styles/components/popup.scss +4 -5
  107. package/dist/styles/components/progress.scss +57 -3
  108. package/dist/styles/components/progresscircle.scss +71 -0
  109. package/dist/styles/components/radio.scss +5 -6
  110. package/dist/styles/components/rank.scss +50 -0
  111. package/dist/styles/components/result.scss +39 -0
  112. package/dist/styles/components/step.scss +10 -2
  113. package/dist/styles/components/switch.scss +40 -0
  114. package/dist/styles/components/tabbar.scss +9 -2
  115. package/dist/styles/components/toast.scss +0 -1
  116. package/dist/styles/themes/default.scss +21 -8
  117. package/dist/styles/themes/variable.scss +16 -0
  118. package/lib/components/ActionSheet/index.js +57 -0
  119. package/lib/components/ActionSheet/index.js.map +1 -0
  120. package/lib/components/ActivityIndicator/index.js +30 -0
  121. package/lib/components/ActivityIndicator/index.js.map +1 -0
  122. package/lib/components/AmountKeyboard/index.js +1 -1
  123. package/lib/components/AmountKeyboard/index.js.map +1 -1
  124. package/lib/components/Button/index.js +15 -14
  125. package/lib/components/Button/index.js.map +1 -1
  126. package/lib/components/Captcha/index.js +2 -2
  127. package/lib/components/Captcha/index.js.map +1 -1
  128. package/lib/components/Cell/index.js +29 -0
  129. package/lib/components/Cell/index.js.map +1 -0
  130. package/lib/components/Checkbox/index.js +14 -3
  131. package/lib/components/Checkbox/index.js.map +1 -1
  132. package/lib/components/Dialog/Alert/index.js +3 -3
  133. package/lib/components/Dialog/Alert/index.js.map +1 -1
  134. package/lib/components/Dialog/Confirm/index.js +3 -3
  135. package/lib/components/Dialog/Confirm/index.js.map +1 -1
  136. package/lib/components/DialogComponent/index.js +0 -2
  137. package/lib/components/DialogComponent/index.js.map +1 -1
  138. package/lib/components/DialogRef/index.js +6 -14
  139. package/lib/components/DialogRef/index.js.map +1 -1
  140. package/lib/components/FormInput/index.js +3 -2
  141. package/lib/components/FormInput/index.js.map +1 -1
  142. package/lib/components/Icon/index.js.map +1 -1
  143. package/lib/components/LinkMan/index.js +341 -0
  144. package/lib/components/LinkMan/index.js.map +1 -0
  145. package/lib/components/List/index.js +3 -1
  146. package/lib/components/List/index.js.map +1 -1
  147. package/lib/components/Loading/index.js +7 -4
  148. package/lib/components/Loading/index.js.map +1 -1
  149. package/lib/components/NavBar/index.js +10 -3
  150. package/lib/components/NavBar/index.js.map +1 -1
  151. package/lib/components/NumberKeyboard/index.js +4 -2
  152. package/lib/components/NumberKeyboard/index.js.map +1 -1
  153. package/lib/components/Page/index.js +1 -1
  154. package/lib/components/Page/index.js.map +1 -1
  155. package/lib/components/Popup/index.js +3 -3
  156. package/lib/components/Popup/index.js.map +1 -1
  157. package/lib/components/Progress/index.js +17 -10
  158. package/lib/components/Progress/index.js.map +1 -1
  159. package/lib/components/ProgressCircle/index.js +22 -0
  160. package/lib/components/ProgressCircle/index.js.map +1 -0
  161. package/lib/components/Radio/index.js +14 -3
  162. package/lib/components/Radio/index.js.map +1 -1
  163. package/lib/components/Rank/index.js +22 -0
  164. package/lib/components/Rank/index.js.map +1 -0
  165. package/lib/components/Result/index.js +30 -0
  166. package/lib/components/Result/index.js.map +1 -0
  167. package/lib/components/Result/statusMap.js +15 -0
  168. package/lib/components/Result/statusMap.js.map +1 -0
  169. package/lib/components/Step/Steps/index.js +1 -0
  170. package/lib/components/Step/Steps/index.js.map +1 -1
  171. package/lib/components/Step/index.js +2 -1
  172. package/lib/components/Step/index.js.map +1 -1
  173. package/lib/components/Switch/index.js +26 -0
  174. package/lib/components/Switch/index.js.map +1 -0
  175. package/lib/components/Tabbar/index.js +1 -0
  176. package/lib/components/Tabbar/index.js.map +1 -1
  177. package/lib/components/Tabbar/tabbar/TabItem.js +0 -1
  178. package/lib/components/Tabbar/tabbar/TabItem.js.map +1 -1
  179. package/lib/components/Tabbar/tabbar/Tabbar.js +26 -13
  180. package/lib/components/Tabbar/tabbar/Tabbar.js.map +1 -1
  181. package/lib/index.js +8 -0
  182. package/lib/index.js.map +1 -1
  183. package/package.json +1 -1
  184. package/types/components/ActivityIndicator/index.d.ts +7 -5
  185. package/types/components/AmountKeyboard/index.d.ts +7 -1
  186. package/types/components/Button/index.d.ts +6 -1
  187. package/types/components/Captcha/index.d.ts +1 -1
  188. package/types/components/Cell/index.d.ts +1 -0
  189. package/types/components/DialogRef/index.d.ts +2 -0
  190. package/types/components/Icon/index.d.ts +1 -1
  191. package/types/components/LinkMan/index.d.ts +33 -0
  192. package/types/components/Loading/index.d.ts +1 -0
  193. package/types/components/NavBar/index.d.ts +1 -0
  194. package/types/components/NumberKeyboard/index.d.ts +2 -0
  195. package/types/components/Page/index.d.ts +1 -0
  196. package/types/components/Popup/index.d.ts +1 -0
  197. package/types/components/Progress/index.d.ts +4 -0
  198. package/types/components/ProgressCircle/index.d.ts +13 -0
  199. package/types/components/Result/index.d.ts +16 -0
  200. package/types/components/Result/statusMap.d.ts +9 -0
  201. package/types/components/Step/index.d.ts +1 -0
  202. package/types/components/Tabbar/index.d.ts +1 -0
  203. package/types/components/Tabbar/tabbar/TabItem.d.ts +0 -1
  204. package/types/components/Tabbar/tabbar/Tabbar.d.ts +4 -3
  205. package/types/index.d.ts +8 -0
  206. package/dist/styles/components/images/backspace.png +0 -0
  207. package/dist/styles/components/images/closeKeyboard.png +0 -0
  208. package/dist/styles/components/images/icon-arrow-right.png +0 -0
  209. package/dist/styles/components/images/loading.png +0 -0
  210. /package/{README.md → readme.md} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,180 @@
1
+ ## [1.3.4-11](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-10...v1.3.4-11) (2023-08-14)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * 推荐金额区分、progress在小程序的兼容问题 ([6190b1a](https://code.xhdev.xyz/h5group/taro-uilib/commits/6190b1a91e8cdbd2cdaf9af1b3b3dce1349b6c15))
7
+
8
+
9
+
10
+ ## [1.3.4-10](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-9...v1.3.4-10) (2023-08-09)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * tabbar切换更改 ([29c2dfc](https://code.xhdev.xyz/h5group/taro-uilib/commits/29c2dfc5fe356e92e9f6fb754b913c6fa70e04f9))
16
+ * tabbar切换更改 ([5256011](https://code.xhdev.xyz/h5group/taro-uilib/commits/525601137ed1b9b24511c9f57e00b50e68d1d1d6))
17
+
18
+
19
+
20
+ ## [1.3.4-9](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-8...v1.3.4-9) (2023-08-04)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * cell ([22dca0c](https://code.xhdev.xyz/h5group/taro-uilib/commits/22dca0cc9506f8e094ca325ea00feb3160a92da9))
26
+
27
+
28
+ ### Features
29
+
30
+ * page ([82317a9](https://code.xhdev.xyz/h5group/taro-uilib/commits/82317a956784db9394ab9695b6a73d717e0ccb1b))
31
+ * popup classname ([ab9e3d1](https://code.xhdev.xyz/h5group/taro-uilib/commits/ab9e3d1af2c022e01443a35d74e9884cb0f6943f))
32
+
33
+
34
+
35
+ ## [1.3.4-8](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-7...v1.3.4-8) (2023-08-02)
36
+
37
+
38
+ ### Bug Fixes
39
+
40
+ * navbar title支持居左 ([716221f](https://code.xhdev.xyz/h5group/taro-uilib/commits/716221f5285f042ab721c2ac6b6842ec6c65d795))
41
+
42
+
43
+ ### Features
44
+
45
+ * 单选和复选支持size ([1008d92](https://code.xhdev.xyz/h5group/taro-uilib/commits/1008d924cdeee0e043ca7c29b2c2406e6fe37efe))
46
+
47
+
48
+
49
+ ## [1.3.4-7](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-6...v1.3.4-7) (2023-08-01)
50
+
51
+
52
+ ### Features
53
+
54
+ * 补充联系人组件优化 ([5c86d62](https://code.xhdev.xyz/h5group/taro-uilib/commits/5c86d62758bf811bb8d99bcc7d721bff43eb2f70))
55
+ * 补充联系人组件完善 ([47b68a9](https://code.xhdev.xyz/h5group/taro-uilib/commits/47b68a9fb785ac05f10b4ea165842d790f987c1c))
56
+ * 补充联系人组件完善 ([71b7f99](https://code.xhdev.xyz/h5group/taro-uilib/commits/71b7f99443a45443f49837ca7b3c9cdf65162725))
57
+
58
+
59
+
60
+ ## [1.3.4-6](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-5...v1.3.4-6) (2023-07-31)
61
+
62
+
63
+
64
+ ## [1.3.4-5](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-4...v1.3.4-5) (2023-07-27)
65
+
66
+
67
+ ### Bug Fixes
68
+
69
+ * tabbar update ([fac4444](https://code.xhdev.xyz/h5group/taro-uilib/commits/fac44447db2335839e26195544738ef2982c84bf))
70
+
71
+
72
+ ### Features
73
+
74
+ * readme ([c100034](https://code.xhdev.xyz/h5group/taro-uilib/commits/c10003498706762e1e2881bfabb3fd1a071fb334))
75
+
76
+
77
+
78
+ ## [1.3.4-4](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-3...v1.3.4-4) (2023-07-27)
79
+
80
+
81
+ ### Features
82
+
83
+ * Cell优化 ([9de57d1](https://code.xhdev.xyz/h5group/taro-uilib/commits/9de57d146d341fb9b9296848f29de72f4fddfb68))
84
+ * UI优化。loadingButton修复 ([5eafc61](https://code.xhdev.xyz/h5group/taro-uilib/commits/5eafc6104437ece5a718fa4578d2bf99b7ad6956))
85
+ * 新增css变量 ([a6beb40](https://code.xhdev.xyz/h5group/taro-uilib/commits/a6beb40a97ac4f312f7e7bf9dcdabea3f9a338f3))
86
+
87
+
88
+
89
+ ## [1.3.4-3](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-2...v1.3.4-3) (2023-07-24)
90
+
91
+
92
+ ### Features
93
+
94
+ * 修复button样式覆盖的问题、修改loading样式 ([ac96dba](https://code.xhdev.xyz/h5group/taro-uilib/commits/ac96dba99f76364009abd82e8c209ae730bb23df))
95
+ * 增加圆形进度条组件、Icon增加 ([0c637b5](https://code.xhdev.xyz/h5group/taro-uilib/commits/0c637b5d8b3ee3d1edc3126cffc855ad7fd2890a))
96
+
97
+
98
+
99
+ ## [1.3.4-2](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-1...v1.3.4-2) (2023-07-20)
100
+
101
+
102
+ ### Features
103
+
104
+ * icon增加、Cellborder ([15490f3](https://code.xhdev.xyz/h5group/taro-uilib/commits/15490f3f79d3cdcccdf9b1153943aff8a4dc1c7a))
105
+ * linkman 组件的开发 ([72de62d](https://code.xhdev.xyz/h5group/taro-uilib/commits/72de62d8507af2dc7281a3b1989ef1219f06f582))
106
+ * linkman开发 ([497b8f7](https://code.xhdev.xyz/h5group/taro-uilib/commits/497b8f7dcae63d7b826409a6573777ff903c9d09))
107
+ * linkman组件开发 ([cb8843c](https://code.xhdev.xyz/h5group/taro-uilib/commits/cb8843ca89091ebbf0b5e43319d472e81e4c8be8))
108
+ * Result 优化 ([ed92c0b](https://code.xhdev.xyz/h5group/taro-uilib/commits/ed92c0bf4a00c7901705fb847b2697ea8ebc64fe))
109
+ * 增加补充联系人组件 ([dee4637](https://code.xhdev.xyz/h5group/taro-uilib/commits/dee4637f7734443bb7a205f6358ab76172b2a022))
110
+ * 字体文件更新 ([a875262](https://code.xhdev.xyz/h5group/taro-uilib/commits/a8752626433033f398d8975537c5fc10ecb1d733))
111
+ * 缺省页组件开发 ([a55bc8f](https://code.xhdev.xyz/h5group/taro-uilib/commits/a55bc8fbf2c0c4bdf83a40b7472304c0f2c028f9))
112
+ * 联系人组件开发 ([9f7ac48](https://code.xhdev.xyz/h5group/taro-uilib/commits/9f7ac4893d314e18d434eb8f576117acc378d01c))
113
+ * 进度条组件 ([bdec066](https://code.xhdev.xyz/h5group/taro-uilib/commits/bdec0669a3e937bb16f865795cba77d5e2dd1725))
114
+
115
+
116
+
117
+ ## [1.3.2-2](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.2-1...v1.3.2-2) (2023-07-06)
118
+
119
+
120
+ ### Features
121
+
122
+ * Switch组件、组件优化 ([ec81a39](https://code.xhdev.xyz/h5group/taro-uilib/commits/ec81a39876c3755113c78289b030216e22e2375d))
123
+ * tabbar组件新增属性 ([77f16c7](https://code.xhdev.xyz/h5group/taro-uilib/commits/77f16c7d57cd8ecb3e03310ffae8bd9238c5afc0))
124
+ * 修改radio、checkbox disble样式 ([0249cb3](https://code.xhdev.xyz/h5group/taro-uilib/commits/0249cb31e5582e4f098e8fd5d3c3154f61068381))
125
+
126
+
127
+
128
+ ## [1.3.2-1](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.2-0...v1.3.2-1) (2023-07-03)
129
+
130
+
131
+ ### Bug Fixes
132
+
133
+ * cell content固定宽度 ([6d998c4](https://code.xhdev.xyz/h5group/taro-uilib/commits/6d998c47e90ebda8d0afe7f502625b3a2d6d05a0))
134
+ * 去掉所有图片改用icon ([f87d12d](https://code.xhdev.xyz/h5group/taro-uilib/commits/f87d12d39264aeacae35220a7760dd573d18a559))
135
+
136
+
137
+ ### Features
138
+
139
+ * actionsheet inline模式 ([d6b4ac5](https://code.xhdev.xyz/h5group/taro-uilib/commits/d6b4ac56bcdc57af9092d847d4c5bc58f1a3edf8))
140
+ * add Cell ([6f79e20](https://code.xhdev.xyz/h5group/taro-uilib/commits/6f79e20acba10d7db41de78a826b0c4f33655c27))
141
+ * alert样式修改 ([d1dab6d](https://code.xhdev.xyz/h5group/taro-uilib/commits/d1dab6d4c9b4b709bd0377d8b62da48aea65f7b3))
142
+ * button 变量修改 ([54d9198](https://code.xhdev.xyz/h5group/taro-uilib/commits/54d9198388022d66afe0a96850acd0706e6d9833))
143
+ * 增加cell、activityindicator、button优化 ([177fb35](https://code.xhdev.xyz/h5group/taro-uilib/commits/177fb3537bd25bb67f152e3570c88950c377019b))
144
+
145
+
146
+
147
+ # [1.3.0-9](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0...v1.3.0-9) (2023-06-16)
148
+
149
+
150
+ ### Bug Fixes
151
+
152
+ * 抖音小程序上的兼容问题 ([1ccdae1](https://code.xhdev.xyz/h5group/taro-uilib/commits/1ccdae18e5bb7c8b36420d3c9d5c66af770e6c43))
153
+
154
+
155
+
156
+ # [1.3.0-8](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0-7...v1.3.0-8) (2023-06-14)
157
+
158
+
159
+ ### Bug Fixes
160
+
161
+ * numberkeyboard ([6633cc8](https://code.xhdev.xyz/h5group/taro-uilib/commits/6633cc8676d71a564d7416a08b7ceda037844c51))
162
+
163
+
164
+ ### Features
165
+
166
+ * actionsheet组件、、rank组件 ([46b5dcd](https://code.xhdev.xyz/h5group/taro-uilib/commits/46b5dcd09300006ba12cc9adb1ea899aa61aa0a9))
167
+ * radio 默认圆形 ([c070363](https://code.xhdev.xyz/h5group/taro-uilib/commits/c070363288a1032cbcaa3c4b5d6d77dfab54290c))
168
+ * 主色调更新、优化captcha组件 ([680707e](https://code.xhdev.xyz/h5group/taro-uilib/commits/680707ef5e5e8c35be01125a1a567ea9070b8a2a))
169
+ * 增加action组件、增加icon ([db09cdd](https://code.xhdev.xyz/h5group/taro-uilib/commits/db09cddee336cdfb4965c4dc39c9907bdd95f8ea))
170
+
171
+
172
+ ### Performance Improvements
173
+
174
+ * button ghost diaddialog优化 ([628ed11](https://code.xhdev.xyz/h5group/taro-uilib/commits/628ed11cac10014cd47776f98abfac0b401fda79))
175
+
176
+
177
+
1
178
  ## [1.3.4-1](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.4-0...v1.3.4-1) (2023-07-10)
2
179
 
3
180
 
@@ -26,7 +203,7 @@
26
203
 
27
204
 
28
205
 
29
- ## [1.3.2](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.2-0...v1.3.2) (2023-07-10)
206
+ ## [1.3.2](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.2-2...v1.3.2) (2023-07-10)
30
207
 
31
208
 
32
209
  ### Features
@@ -35,6 +212,67 @@
35
212
 
36
213
 
37
214
 
215
+ ## [1.3.2-2](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.2-1...v1.3.2-2) (2023-07-06)
216
+
217
+
218
+ ### Features
219
+
220
+ * Switch组件、组件优化 ([ec81a39](https://code.xhdev.xyz/h5group/taro-uilib/commits/ec81a39876c3755113c78289b030216e22e2375d))
221
+ * tabbar组件新增属性 ([77f16c7](https://code.xhdev.xyz/h5group/taro-uilib/commits/77f16c7d57cd8ecb3e03310ffae8bd9238c5afc0))
222
+ * 修改radio、checkbox disble样式 ([0249cb3](https://code.xhdev.xyz/h5group/taro-uilib/commits/0249cb31e5582e4f098e8fd5d3c3154f61068381))
223
+
224
+
225
+
226
+ ## [1.3.2-1](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.2-0...v1.3.2-1) (2023-07-03)
227
+
228
+
229
+ ### Bug Fixes
230
+
231
+ * cell content固定宽度 ([6d998c4](https://code.xhdev.xyz/h5group/taro-uilib/commits/6d998c47e90ebda8d0afe7f502625b3a2d6d05a0))
232
+ * 去掉所有图片改用icon ([f87d12d](https://code.xhdev.xyz/h5group/taro-uilib/commits/f87d12d39264aeacae35220a7760dd573d18a559))
233
+
234
+
235
+ ### Features
236
+
237
+ * actionsheet inline模式 ([d6b4ac5](https://code.xhdev.xyz/h5group/taro-uilib/commits/d6b4ac56bcdc57af9092d847d4c5bc58f1a3edf8))
238
+ * add Cell ([6f79e20](https://code.xhdev.xyz/h5group/taro-uilib/commits/6f79e20acba10d7db41de78a826b0c4f33655c27))
239
+ * alert样式修改 ([d1dab6d](https://code.xhdev.xyz/h5group/taro-uilib/commits/d1dab6d4c9b4b709bd0377d8b62da48aea65f7b3))
240
+ * button 变量修改 ([54d9198](https://code.xhdev.xyz/h5group/taro-uilib/commits/54d9198388022d66afe0a96850acd0706e6d9833))
241
+ * 增加cell、activityindicator、button优化 ([177fb35](https://code.xhdev.xyz/h5group/taro-uilib/commits/177fb3537bd25bb67f152e3570c88950c377019b))
242
+
243
+
244
+
245
+ # [1.3.0-9](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0...v1.3.0-9) (2023-06-16)
246
+
247
+
248
+ ### Bug Fixes
249
+
250
+ * 抖音小程序上的兼容问题 ([1ccdae1](https://code.xhdev.xyz/h5group/taro-uilib/commits/1ccdae18e5bb7c8b36420d3c9d5c66af770e6c43))
251
+
252
+
253
+
254
+ # [1.3.0-8](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0-7...v1.3.0-8) (2023-06-14)
255
+
256
+
257
+ ### Bug Fixes
258
+
259
+ * numberkeyboard ([6633cc8](https://code.xhdev.xyz/h5group/taro-uilib/commits/6633cc8676d71a564d7416a08b7ceda037844c51))
260
+
261
+
262
+ ### Features
263
+
264
+ * actionsheet组件、、rank组件 ([46b5dcd](https://code.xhdev.xyz/h5group/taro-uilib/commits/46b5dcd09300006ba12cc9adb1ea899aa61aa0a9))
265
+ * radio 默认圆形 ([c070363](https://code.xhdev.xyz/h5group/taro-uilib/commits/c070363288a1032cbcaa3c4b5d6d77dfab54290c))
266
+ * 主色调更新、优化captcha组件 ([680707e](https://code.xhdev.xyz/h5group/taro-uilib/commits/680707ef5e5e8c35be01125a1a567ea9070b8a2a))
267
+ * 增加action组件、增加icon ([db09cdd](https://code.xhdev.xyz/h5group/taro-uilib/commits/db09cddee336cdfb4965c4dc39c9907bdd95f8ea))
268
+
269
+
270
+ ### Performance Improvements
271
+
272
+ * button ghost diaddialog优化 ([628ed11](https://code.xhdev.xyz/h5group/taro-uilib/commits/628ed11cac10014cd47776f98abfac0b401fda79))
273
+
274
+
275
+
38
276
  ## [1.3.2-0](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.1...v1.3.2-0) (2023-06-16)
39
277
 
40
278
 
@@ -44,7 +282,7 @@
44
282
 
45
283
 
46
284
 
47
- ## [1.3.1](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0...v1.3.1) (2023-06-16)
285
+ ## [1.3.1](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0-9...v1.3.1) (2023-06-16)
48
286
 
49
287
 
50
288
  ### Bug Fixes
@@ -53,18 +291,67 @@
53
291
 
54
292
 
55
293
 
56
- # [1.3.0](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0-7...v1.3.0) (2023-06-15)
294
+ # [1.3.0-9](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0...v1.3.0-9) (2023-06-16)
57
295
 
58
296
 
59
297
  ### Bug Fixes
60
298
 
61
- * navbar arrow ([085dd2b](https://code.xhdev.xyz/h5group/taro-uilib/commits/085dd2bc98df7a1249b86808378e7933e0fcdab2))
299
+ * 抖音小程序上的兼容问题 ([1ccdae1](https://code.xhdev.xyz/h5group/taro-uilib/commits/1ccdae18e5bb7c8b36420d3c9d5c66af770e6c43))
300
+
301
+
302
+
303
+ # [1.3.0-8](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0-7...v1.3.0-8) (2023-06-14)
304
+
305
+
306
+ ### Bug Fixes
307
+
308
+ * numberkeyboard ([6633cc8](https://code.xhdev.xyz/h5group/taro-uilib/commits/6633cc8676d71a564d7416a08b7ceda037844c51))
309
+
310
+
311
+ ### Features
312
+
313
+ * actionsheet组件、、rank组件 ([46b5dcd](https://code.xhdev.xyz/h5group/taro-uilib/commits/46b5dcd09300006ba12cc9adb1ea899aa61aa0a9))
314
+ * radio 默认圆形 ([c070363](https://code.xhdev.xyz/h5group/taro-uilib/commits/c070363288a1032cbcaa3c4b5d6d77dfab54290c))
315
+ * 主色调更新、优化captcha组件 ([680707e](https://code.xhdev.xyz/h5group/taro-uilib/commits/680707ef5e5e8c35be01125a1a567ea9070b8a2a))
316
+ * 增加action组件、增加icon ([db09cdd](https://code.xhdev.xyz/h5group/taro-uilib/commits/db09cddee336cdfb4965c4dc39c9907bdd95f8ea))
317
+
318
+
319
+ ### Performance Improvements
320
+
321
+ * button ghost diaddialog优化 ([628ed11](https://code.xhdev.xyz/h5group/taro-uilib/commits/628ed11cac10014cd47776f98abfac0b401fda79))
322
+
323
+
324
+
325
+ # [1.3.0](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0-8...v1.3.0) (2023-06-15)
62
326
 
63
327
 
64
328
  ### Features
65
329
 
66
330
  * badge、amountkeyboard在抖音上的边框问题 ([b7d1179](https://code.xhdev.xyz/h5group/taro-uilib/commits/b7d117931cb355f402bc28b1da174a8e51617286))
331
+
332
+
333
+
334
+ # [1.3.0-8](https://code.xhdev.xyz/h5group/taro-uilib/compare/v1.3.0-7...v1.3.0-8) (2023-06-14)
335
+
336
+
337
+ ### Bug Fixes
338
+
339
+ * navbar arrow ([085dd2b](https://code.xhdev.xyz/h5group/taro-uilib/commits/085dd2bc98df7a1249b86808378e7933e0fcdab2))
340
+ * numberkeyboard ([6633cc8](https://code.xhdev.xyz/h5group/taro-uilib/commits/6633cc8676d71a564d7416a08b7ceda037844c51))
341
+
342
+
343
+ ### Features
344
+
345
+ * actionsheet组件、、rank组件 ([46b5dcd](https://code.xhdev.xyz/h5group/taro-uilib/commits/46b5dcd09300006ba12cc9adb1ea899aa61aa0a9))
67
346
  * navbar适配 ([ee6ab17](https://code.xhdev.xyz/h5group/taro-uilib/commits/ee6ab17e766d849c9223582e8e3431315163b289))
347
+ * radio 默认圆形 ([c070363](https://code.xhdev.xyz/h5group/taro-uilib/commits/c070363288a1032cbcaa3c4b5d6d77dfab54290c))
348
+ * 主色调更新、优化captcha组件 ([680707e](https://code.xhdev.xyz/h5group/taro-uilib/commits/680707ef5e5e8c35be01125a1a567ea9070b8a2a))
349
+ * 增加action组件、增加icon ([db09cdd](https://code.xhdev.xyz/h5group/taro-uilib/commits/db09cddee336cdfb4965c4dc39c9907bdd95f8ea))
350
+
351
+
352
+ ### Performance Improvements
353
+
354
+ * button ghost diaddialog优化 ([628ed11](https://code.xhdev.xyz/h5group/taro-uilib/commits/628ed11cac10014cd47776f98abfac0b401fda79))
68
355
 
69
356
 
70
357
 
@@ -0,0 +1,2 @@
1
+ import{__read as e}from"../node_modules/tslib/tslib.es6.js";import n,{useState as t,useEffect as a}from"react";import o from"classnames";import{View as c}from"@tarojs/components";import i from"../Popup/index.js";var l=function(l){var s=l.visible,r=void 0!==s&&s,m=l.title,u=l.description,h=l.data,d=void 0===h?[]:h,f=l.onConfirm,p=l.onCancel,E=l.className,x=l.children,v=l.style,N=l.mode,C=l.submitText,k=void 0===C?"提交":C,b=l.cancelText,g=void 0===b?"取消":b,y=l.showCancel,j=void 0!==y&&y,T=l.renderItem,P=l.ItemWrapper,_=l.onSubmit,w=l.onClick,A=l.showClose,I=void 0!==A&&A,O=l.justifyContent,R=void 0===O?"center":O,V=l.inline,F=void 0!==V&&V,S=e(t(r),2),W=S[0],q=S[1],z=function(e){null==p||p(e),null==w||w(!1),q(!1)};a((function(){q(r)}),[r]);var B=function(){null==_||_()},D=function(){return d.map((function(e,t){return T?T(e,t):n.createElement(c,{className:o("xh-action-sheet-main-panel-item",R),key:t,onClick:function(){!function(e,n){null==f||f(e,n),q(!1)}(e,t)}},"string"==typeof e?e:e.text)}))};return n.createElement(c,{className:o("xh-action-sheet",{inline:F}),onClick:function(){w?w(!r):d.length<=0||q(!0)}},n.createElement(i,{visible:W},n.createElement(c,{className:o("xh-action-sheet-main",E,N),style:v},n.createElement(c,{className:"xh-action-sheet-main-header"},n.createElement(c,{className:"xh-action-sheet-main-header-title"},m),n.createElement(c,{className:"xh-action-sheet-main-header-desc"},u),(I||"controlled"===N&&!j)&&n.createElement(c,{className:"xh-action-sheet-main-header-close",onClick:function(){return z()}})),n.createElement(c,{className:o("xh-action-sheet-main-panel",{panel:!T}),onClick:function(e){return"h5"!==process.env.TARO_ENV&&e.stopPropagation()}},P?n.createElement(P,null,D()):n.createElement(n.Fragment,null,D())),n.createElement(c,{className:"xh-action-sheet-main-action",onClick:function(e){return"h5"!==process.env.TARO_ENV&&e.stopPropagation()}},"controlled"===N?n.createElement(c,null,n.createElement(c,{className:"xh-action-sheet-main-action-submit",onClick:B},k),j&&n.createElement(c,{className:"xh-action-sheet-main-action-cancel mode",onClick:function(){return z(!0)}},g)):n.createElement(c,{className:"xh-action-sheet-main-action-cancel",onClick:function(){return z(!0)}},g)))),x)};export{l as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/ActionSheet/index.tsx"],"sourcesContent":["import React, { useState, ReactNode, ReactElement, useEffect } from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\n\nimport Popup from \"../Popup\";\nimport \"./index.scss\";\n\nexport interface ActionSheetOption {\n text: ReactNode;\n value: string | number;\n [key: string]: any;\n}\n\nexport type ActionValue = string | ActionSheetOption;\nexport interface ActionProps<T extends ActionValue = ActionValue> {\n visible?: boolean;\n title?: ReactNode;\n data: T[];\n defaultValueData?: (string | number)[];\n className?: string;\n style?: React.CSSProperties;\n onConfirm?: (selectedValue: T, index: number) => void;\n onCancel?: (bottom?: boolean) => void;\n onClose?: () => void;\n onClick?: (flag: boolean) => void;\n children?: ReactNode;\n description?: ReactNode;\n /**\n * @summary controlled模式下,组件为受控组件,需要外部来显示和隐藏\n * @description submit 模式下会显示提交按钮,可以自定义,也可以显示取消按钮但是得传进来一个Toggle事件用来显示隐藏\n */\n mode?: \"controlled\";\n cancelText?: ReactNode;\n /**\n * submit模式下,默认不展示取消按钮,可以设置\n */\n showCancel?: boolean;\n submitText?: string;\n renderItem?: (item: T, index: number) => ReactNode;\n ItemWrapper?: React.FC<{}>;\n onSubmit?: () => void;\n justifyContent?: \"start\" | \"end\";\n /**\n * 显示右上角的关闭、默认只有不显示下面的取消的时候才出现\n */\n showClose?: boolean;\n inline?: boolean;\n}\n\nconst ActionSheet = <T extends ActionValue>(\n props: ActionProps<T>\n): ReactElement => {\n const {\n visible = false,\n title,\n description,\n data = [],\n onConfirm,\n onCancel,\n className,\n children,\n style,\n mode,\n submitText = \"提交\",\n cancelText = \"取消\",\n showCancel = false,\n renderItem,\n ItemWrapper,\n onSubmit,\n onClick,\n showClose = false,\n justifyContent = \"center\",\n inline = false,\n } = props;\n\n const [innerVisible, setInnerVisible] = useState(visible);\n\n const handleCancel = (bottom?: boolean) => {\n onCancel?.(bottom);\n onClick?.(false);\n setInnerVisible(false);\n };\n\n useEffect(() => {\n setInnerVisible(visible);\n }, [visible]);\n\n const handleClick = () => {\n if (onClick) {\n onClick(!visible);\n return;\n }\n if (data.length <= 0) return;\n setInnerVisible(true);\n };\n\n const handleConfirm = (item: T, index: number) => {\n onConfirm?.(item, index);\n setInnerVisible(false);\n };\n\n const handleSubmit = () => {\n onSubmit?.();\n };\n\n const submitButton = () => {\n return (\n <View>\n <View\n className=\"xh-action-sheet-main-action-submit\"\n onClick={handleSubmit}\n >\n {submitText}\n </View>\n {showCancel && (\n <View\n className=\"xh-action-sheet-main-action-cancel mode\"\n onClick={() => handleCancel(true)}\n >\n {cancelText}\n </View>\n )}\n </View>\n );\n };\n\n const itemRender = () =>\n data.map((item, index) => {\n return renderItem ? (\n renderItem(item, index)\n ) : (\n <View\n className={classNames(\n \"xh-action-sheet-main-panel-item\",\n justifyContent\n )}\n key={index}\n onClick={() => {\n handleConfirm(item, index);\n }}\n >\n {typeof item === \"string\" ? item : item.text}\n </View>\n );\n });\n\n return (\n <View\n className={classNames(\"xh-action-sheet\", { inline })}\n onClick={handleClick}\n >\n <Popup visible={innerVisible}>\n <View\n className={classNames(\"xh-action-sheet-main\", className, mode)}\n style={style}\n >\n <View className=\"xh-action-sheet-main-header\">\n <View className=\"xh-action-sheet-main-header-title\">{title}</View>\n <View className=\"xh-action-sheet-main-header-desc\">\n {description}\n </View>\n {(showClose || (mode === \"controlled\" && !showCancel)) && (\n <View\n className=\"xh-action-sheet-main-header-close\"\n onClick={() => handleCancel()}\n ></View>\n )}\n </View>\n <View\n className={classNames(\"xh-action-sheet-main-panel\", {\n panel: !renderItem,\n })}\n onClick={e => process.env.TARO_ENV !== \"h5\" && e.stopPropagation()}\n >\n {ItemWrapper ? (\n <ItemWrapper>{itemRender()}</ItemWrapper>\n ) : (\n <React.Fragment>{itemRender()}</React.Fragment>\n )}\n </View>\n <View\n className=\"xh-action-sheet-main-action\"\n onClick={e => process.env.TARO_ENV !== \"h5\" && e.stopPropagation()}\n >\n {mode === \"controlled\" ? (\n submitButton()\n ) : (\n <View\n className=\"xh-action-sheet-main-action-cancel\"\n onClick={() => handleCancel(true)}\n >\n {cancelText}\n </View>\n )}\n </View>\n </View>\n </Popup>\n {children}\n </View>\n );\n};\n\nexport default ActionSheet;\n"],"names":["ActionSheet","props","_a","visible","title","description","_b","data","onConfirm","onCancel","className","children","style","mode","_c","submitText","_d","cancelText","_e","showCancel","renderItem","ItemWrapper","onSubmit","onClick","_f","showClose","_g","justifyContent","_h","inline","_j","__read","useState","innerVisible","setInnerVisible","handleCancel","bottom","useEffect","handleSubmit","itemRender","map","item","index","React","createElement","View","classNames","key","handleConfirm","text","length","Popup","panel","e","process","env","TARO_ENV","stopPropagation","Fragment"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{__rest as t,__assign as e}from"../node_modules/tslib/tslib.es6.js";import a from"react";import i from"classnames";import{View as s}from"@tarojs/components";import{pxTransform as m}from"../src/utils/index.js";var r=function(r){var c=r.className,o=r.style,l=r.size,n=void 0===l?36:l,d=t(r,["className","style","size"]),f=i("xh-activity-indicator",c),h=e(e({},o),d);return 36!==n&&(h=e(e({},h),{width:m(n),height:m(n)})),a.createElement(s,{className:f,style:h},a.createElement(s,{className:"xh-activity-indicator-main"}),a.createElement(s,{className:"xh-activity-indicator-main"}),a.createElement(s,{className:"xh-activity-indicator-main"}))};export{r as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/ActivityIndicator/index.tsx"],"sourcesContent":["import React, { CSSProperties, FC } from \"react\";\nimport classNames from \"classnames\";\nimport { View } from \"@tarojs/components\";\nimport { pxTransform } from \"@/utils\";\nimport type { StandardLonghandProperties } from \"csstype\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport \"./index.scss\";\n\nexport type LoadingProps = {\n style?: CSSProperties & {\n \"--loading-border-color\"?: StandardLonghandProperties[\"color\"];\n \"--loading-border-width\"?: string;\n };\n size?: number;\n} & XHComponentCommonProps;\n\nconst Activityindicator: FC<LoadingProps> = ({\n className,\n style,\n size = 36,\n ...rest\n}) => {\n const cls = classNames(\"xh-activity-indicator\", className);\n\n let finalStyle = {\n ...style,\n ...rest,\n };\n if (size !== 36) {\n finalStyle = {\n ...finalStyle,\n width: pxTransform(size),\n height: pxTransform(size),\n };\n }\n\n return (\n <View className={cls} style={finalStyle}>\n <View className=\"xh-activity-indicator-main\"></View>\n <View className=\"xh-activity-indicator-main\"></View>\n <View className=\"xh-activity-indicator-main\"></View>\n </View>\n );\n};\n\nexport default Activityindicator;\n"],"names":["Activityindicator","_a","className","style","_b","size","rest","__rest","cls","classNames","finalStyle","__assign","width","pxTransform","height","React","createElement","View"],"mappings":"uNAgBM,IAAAA,EAAsC,SAACC,GAC3C,IAAAC,EAASD,EAAAC,UACTC,EAAKF,EAAAE,MACLC,EAASH,EAAAI,KAATA,OAAI,IAAAD,EAAG,GAAEA,EACNE,EAAIC,EAAAN,EAJoC,8BAMrCO,EAAMC,EAAW,wBAAyBP,GAE5CQ,EACCC,EAAAA,EAAA,CAAA,EAAAR,GACAG,GAUL,OARa,KAATD,IACFK,SACKA,GAAU,CACbE,MAAOC,EAAYR,GACnBS,OAAQD,EAAYR,MAKtBU,EAACC,cAAAC,EAAK,CAAAf,UAAWM,EAAKL,MAAOO,GAC3BK,EAAAC,cAACC,EAAI,CAACf,UAAU,+BAChBa,EAAAC,cAACC,EAAI,CAACf,UAAU,+BAChBa,EAACC,cAAAC,GAAKf,UAAU,+BAGtB"}
@@ -1,2 +1,2 @@
1
- import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{useState as n,useEffect as a,useCallback as o}from"react";import r from"classnames";import{View as l}from"@tarojs/components";import{pxTransform as m}from"../src/utils/index.js";import u from"../Badge/index.js";import c from"../Space/index.js";import i from"../node_modules/react-transition-group/esm/CSSTransition.js";var s=[{text:1,value:1,type:"number"},{text:2,value:2,type:"number"},{text:3,value:3,type:"number"},{text:"",value:"",type:"delete"},{text:4,value:4,type:"number"},{text:5,value:5,type:"number"},{text:6,value:6,type:"number"},{text:"",value:"",type:"none"},{text:7,value:7,type:"number"},{text:8,value:8,type:"number"},{text:9,value:9,type:"number"},{text:"",value:"",type:"none"},{text:"00",value:"00",type:"number"},{text:0,value:0,type:"number"},{text:"",value:"",type:"close"},{text:"",value:"",type:"none"}],p=function(p){var d=p.onBlur,y=p.show,v=p.maxLength,x=void 0===v?Number.MAX_SAFE_INTEGER:v,f=p.closeOnClickSpace,b=void 0===f||f,k=p.onClose,h=p.onChange,E=p.value,g=p.className,N=p.onConfirm,C=p.recommend,j=void 0===C?[]:C,S=p.header,_=p.disabled,L=void 0!==_&&_,w=p.tip,A=e(n(E),2),O=A[0],P=A[1];function T(e){k&&k(e),d&&d(e)}a((function(){return b&&document.addEventListener("click",T),function(){document.removeEventListener("click",T)}}),[]),a((function(){P(E)}),[E]);var B=o((function(e,t){var n=t.type,a=t.value;if("h5"===process.env.TARO_ENV&&e.stopImmediatePropagation(),!L&&"none"!==n)if("close"!==n){var o=O;"delete"===n?o=O.slice(0,O.length-1):o.replace(/^0+/g,"").length<x&&(o=O+a),o!==O&&(P(o),null==h||h(o))}else T(e)}),[O,L]),I=r("xh-amount-keyboard",g);return t.createElement(i,{classNames:"slide-up",in:y,unmountOnExit:!0,timeout:200},t.createElement(l,{className:I},t.createElement(l,{className:"xh-amount-keyboard-header"},t.createElement(l,{className:"xh-amount-keyboard-header-wrapper"},S||j.length>0&&t.createElement(l,{className:"xh-amount-keyboard-header-wrapper-text"},"猜您想借"," ",t.createElement(c,{style:{marginLeft:m(24)}},null==j?void 0:j.map((function(e,n){return t.createElement(l,{key:n,onClick:function(t){return function(e,t){e.stopPropagation(),null==N||N("".concat(t))}(t,e)}},t.createElement(u,{content:"¥".concat(e),key:n}))})))),w)),t.createElement(l,{className:"xh-amount-keyboard-body"},s.map((function(e,n){return t.createElement(l,{key:n,className:r("xh-amount-keyboard-body-key",{none:"none"===e.type,delete:"delete"===e.type,close:"close"===e.type}),onClick:function(t){B(t,e)}},e.text)})),t.createElement(l,{className:"xh-amount-keyboard-body-key confirm-fake",onClick:function(e){e.stopPropagation(),null==N||N(O)}},"确定"))))};export{p as default};
1
+ import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{useState as n,useEffect as a,useCallback as o}from"react";import r from"classnames";import{View as l}from"@tarojs/components";import{pxTransform as m}from"../src/utils/index.js";import u from"../Badge/index.js";import c from"../Space/index.js";import i from"../node_modules/react-transition-group/esm/CSSTransition.js";var s=[{text:1,value:1,type:"number"},{text:2,value:2,type:"number"},{text:3,value:3,type:"number"},{text:"",value:"",type:"delete"},{text:4,value:4,type:"number"},{text:5,value:5,type:"number"},{text:6,value:6,type:"number"},{text:"",value:"",type:"none"},{text:7,value:7,type:"number"},{text:8,value:8,type:"number"},{text:9,value:9,type:"number"},{text:"",value:"",type:"none"},{text:"00",value:"00",type:"number"},{text:0,value:0,type:"number"},{text:"",value:"",type:"close"},{text:"",value:"",type:"none"}],p=function(p){var d=p.onBlur,y=p.show,v=p.maxLength,x=void 0===v?Number.MAX_SAFE_INTEGER:v,f=p.closeOnClickSpace,b=void 0===f||f,k=p.onClose,h=p.onChange,E=p.value,g=p.className,N=p.onConfirm,C=p.recommend,j=void 0===C?[]:C,S=p.header,_=p.disabled,L=void 0!==_&&_,w=p.tip,A=e(n(E),2),O=A[0],P=A[1];function T(e){k&&k(e),d&&d(e)}a((function(){return b&&document.addEventListener("click",T),function(){document.removeEventListener("click",T)}}),[]),a((function(){P(E)}),[E]);var B=o((function(e,t){var n=t.type,a=t.value;if("h5"===process.env.TARO_ENV&&e.stopImmediatePropagation(),!L&&"none"!==n)if("close"!==n){var o=O;"delete"===n?o=O.slice(0,O.length-1):o.replace(/^0+/g,"").length<x&&(o=O+a),o!==O&&(P(o),null==h||h(o))}else T(e)}),[O,L]),I=r("xh-amount-keyboard",g);return t.createElement(i,{classNames:"slide-up",in:y,unmountOnExit:!0,timeout:200},t.createElement(l,{className:I},t.createElement(l,{className:"xh-amount-keyboard-header"},t.createElement(l,{className:"xh-amount-keyboard-header-wrapper"},S||j.length>0&&t.createElement(l,{className:"xh-amount-keyboard-header-wrapper-text"},"猜您想借"," ",t.createElement(c,{style:{marginLeft:m(24)}},null==j?void 0:j.map((function(e,n){return t.createElement(l,{key:n,onClick:function(t){return function(e,t){e.stopPropagation(),null==N||N("".concat(t),!0)}(t,e)}},t.createElement(u,{content:"¥".concat(e),key:n}))})))),w)),t.createElement(l,{className:"xh-amount-keyboard-body"},s.map((function(e,n){return t.createElement(l,{key:n,className:r("xh-amount-keyboard-body-key",{none:"none"===e.type,delete:"delete"===e.type,close:"close"===e.type}),onClick:function(t){B(t,e)}},e.text)})),t.createElement(l,{className:"xh-amount-keyboard-body-key confirm-fake",onClick:function(e){e.stopPropagation(),null==N||N(O)}},"确定"))))};export{p as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/AmountKeyboard/index.tsx"],"sourcesContent":["import React, {\n FC,\n useState,\n useEffect,\n MouseEvent,\n ReactNode,\n useCallback,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { ITouchEvent, View } from \"@tarojs/components\";\nimport { pxTransform } from \"@/utils\";\n\nimport Badge from \"../Badge\";\nimport \"./index.scss\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport Space from \"../Space\";\n\nexport type NumberKeyboardProps = {\n show: boolean;\n showClose?: boolean;\n closeOnClickSpace?: boolean;\n maxLength?: number;\n onBlur?: (e: MouseEvent | Event) => void;\n onClose?: (e: MouseEvent | Event) => void;\n onChange?: (value: string) => void;\n value: string;\n header?: ReactNode;\n onConfirm?: (value: string) => void;\n recommend?: Array<number | string>;\n tip?: ReactNode;\n disabled?: boolean;\n} & XHComponentCommonProps;\n\nexport type KeyType = \"number\" | \"delete\" | \"string\" | \"none\" | \"close\";\n\nexport interface IKey {\n text: number | string;\n value: number | string;\n type: KeyType;\n}\n\nconst XHAmountKeys: IKey[] = [\n { text: 1, value: 1, type: \"number\" },\n { text: 2, value: 2, type: \"number\" },\n { text: 3, value: 3, type: \"number\" },\n { text: \"\", value: \"\", type: \"delete\" },\n { text: 4, value: 4, type: \"number\" },\n { text: 5, value: 5, type: \"number\" },\n { text: 6, value: 6, type: \"number\" },\n { text: \"\", value: \"\", type: \"none\" },\n { text: 7, value: 7, type: \"number\" },\n { text: 8, value: 8, type: \"number\" },\n { text: 9, value: 9, type: \"number\" },\n { text: \"\", value: \"\", type: \"none\" },\n { text: \"00\", value: \"00\", type: \"number\" },\n { text: 0, value: 0, type: \"number\" },\n { text: \"\", value: \"\", type: \"close\" },\n { text: \"\", value: \"\", type: \"none\" },\n];\n\nconst AmountKeyboard: FC<NumberKeyboardProps> = props => {\n const {\n onBlur,\n show,\n maxLength = Number.MAX_SAFE_INTEGER,\n closeOnClickSpace = true,\n onClose,\n onChange,\n value,\n className,\n onConfirm,\n recommend = [],\n header,\n disabled = false,\n tip,\n } = props;\n const [input, setInput] = useState(value);\n\n useEffect(() => {\n if (closeOnClickSpace) {\n document.addEventListener(\"click\", handleClose);\n }\n\n return () => {\n document.removeEventListener(\"click\", handleClose);\n };\n }, []);\n\n useEffect(() => {\n setInput(value);\n }, [value]);\n\n function handleClose(e): void {\n onClose && onClose(e);\n onBlur && onBlur(e);\n }\n\n const handleOnRecommand = (e: ITouchEvent, amount: number | string) => {\n e.stopPropagation();\n onConfirm?.(`${amount}`);\n };\n\n const handleKeyPress = useCallback(\n (e, { type, value }: IKey): void => {\n if (process.env.TARO_ENV === \"h5\") {\n e.stopImmediatePropagation();\n }\n if (disabled) return;\n if (type === \"none\") return;\n\n if (type === \"close\") {\n handleClose(e);\n return;\n }\n let newInput = input;\n\n if (type === \"delete\") {\n newInput = input.slice(0, input.length - 1);\n } else if (newInput.replace(/^0+/g, \"\").length < maxLength) {\n newInput = input + value;\n }\n\n // 前后两个值相等就不触发onchange\n if (newInput === input) return;\n setInput(newInput);\n onChange?.(newInput);\n },\n [input, disabled]\n );\n\n const handleConfirm = (e: ITouchEvent) => {\n e.stopPropagation();\n onConfirm?.(input);\n };\n const keyboardcls = classNames(\"xh-amount-keyboard\", className);\n\n return (\n <CSSTransition classNames=\"slide-up\" in={show} unmountOnExit timeout={200}>\n <View className={keyboardcls}>\n <View className=\"xh-amount-keyboard-header\">\n <View className=\"xh-amount-keyboard-header-wrapper\">\n {header ||\n (recommend.length > 0 && (\n <View className=\"xh-amount-keyboard-header-wrapper-text\">\n 猜您想借{\" \"}\n <Space style={{ marginLeft: pxTransform(24) }}>\n {recommend?.map((amount, index) => (\n <View\n key={index}\n onClick={e => handleOnRecommand(e, amount)}\n >\n <Badge content={`¥${amount}`} key={index} />\n </View>\n ))}\n </Space>\n </View>\n ))}\n {tip}\n </View>\n </View>\n <View className=\"xh-amount-keyboard-body\">\n {XHAmountKeys.map((key, index) => (\n <View\n key={index}\n className={classNames(\"xh-amount-keyboard-body-key\", {\n none: key.type === \"none\",\n delete: key.type === \"delete\",\n close: key.type === \"close\",\n })}\n onClick={e => {\n handleKeyPress(e, key);\n }}\n >\n {key.text}\n </View>\n ))}\n <View\n className=\"xh-amount-keyboard-body-key confirm-fake\"\n onClick={handleConfirm}\n >\n 确定\n </View>\n </View>\n </View>\n </CSSTransition>\n );\n};\n\nexport default AmountKeyboard;\n"],"names":["XHAmountKeys","text","value","type","AmountKeyboard","props","onBlur","show","_a","maxLength","Number","MAX_SAFE_INTEGER","_b","closeOnClickSpace","onClose","onChange","className","onConfirm","_c","recommend","header","_d","disabled","tip","_e","__read","useState","input","setInput","handleClose","e","useEffect","document","addEventListener","removeEventListener","handleKeyPress","useCallback","process","env","TARO_ENV","stopImmediatePropagation","newInput","slice","length","replace","keyboardcls","classNames","React","createElement","CSSTransition","in","unmountOnExit","timeout","View","Space","style","marginLeft","pxTransform","map","amount","index","key","onClick","stopPropagation","concat","handleOnRecommand","Badge","content","none","delete","close"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/AmountKeyboard/index.tsx"],"sourcesContent":["import React, {\n FC,\n useState,\n useEffect,\n MouseEvent,\n ReactNode,\n useCallback,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { ITouchEvent, View } from \"@tarojs/components\";\nimport { pxTransform } from \"@/utils\";\n\nimport Badge from \"../Badge\";\nimport \"./index.scss\";\nimport { XHComponentCommonProps } from \"../../types\";\nimport Space from \"../Space\";\n\nexport type NumberKeyboardProps = {\n show: boolean;\n showClose?: boolean;\n closeOnClickSpace?: boolean;\n maxLength?: number;\n onBlur?: (e: MouseEvent | Event) => void;\n onClose?: (e: MouseEvent | Event) => void;\n onChange?: (value: string) => void;\n value: string;\n header?: ReactNode;\n /**\n *\n * @param value 输入值\n * @param recommend 是否是点击推荐金额触发\n * @returns void\n */\n onConfirm?: (value: string, recommend?: boolean) => void;\n recommend?: Array<number | string>;\n tip?: ReactNode;\n disabled?: boolean;\n} & XHComponentCommonProps;\n\nexport type KeyType = \"number\" | \"delete\" | \"string\" | \"none\" | \"close\";\n\nexport interface IKey {\n text: number | string;\n value: number | string;\n type: KeyType;\n}\n\nconst XHAmountKeys: IKey[] = [\n { text: 1, value: 1, type: \"number\" },\n { text: 2, value: 2, type: \"number\" },\n { text: 3, value: 3, type: \"number\" },\n { text: \"\", value: \"\", type: \"delete\" },\n { text: 4, value: 4, type: \"number\" },\n { text: 5, value: 5, type: \"number\" },\n { text: 6, value: 6, type: \"number\" },\n { text: \"\", value: \"\", type: \"none\" },\n { text: 7, value: 7, type: \"number\" },\n { text: 8, value: 8, type: \"number\" },\n { text: 9, value: 9, type: \"number\" },\n { text: \"\", value: \"\", type: \"none\" },\n { text: \"00\", value: \"00\", type: \"number\" },\n { text: 0, value: 0, type: \"number\" },\n { text: \"\", value: \"\", type: \"close\" },\n { text: \"\", value: \"\", type: \"none\" },\n];\n\nconst AmountKeyboard: FC<NumberKeyboardProps> = props => {\n const {\n onBlur,\n show,\n maxLength = Number.MAX_SAFE_INTEGER,\n closeOnClickSpace = true,\n onClose,\n onChange,\n value,\n className,\n onConfirm,\n recommend = [],\n header,\n disabled = false,\n tip,\n } = props;\n const [input, setInput] = useState(value);\n\n useEffect(() => {\n if (closeOnClickSpace) {\n document.addEventListener(\"click\", handleClose);\n }\n\n return () => {\n document.removeEventListener(\"click\", handleClose);\n };\n }, []);\n\n useEffect(() => {\n setInput(value);\n }, [value]);\n\n function handleClose(e): void {\n onClose && onClose(e);\n onBlur && onBlur(e);\n }\n\n const handleOnRecommand = (e: ITouchEvent, amount: number | string) => {\n e.stopPropagation();\n onConfirm?.(`${amount}`, true);\n };\n\n const handleKeyPress = useCallback(\n (e, { type, value }: IKey): void => {\n if (process.env.TARO_ENV === \"h5\") {\n e.stopImmediatePropagation();\n }\n if (disabled) return;\n if (type === \"none\") return;\n\n if (type === \"close\") {\n handleClose(e);\n return;\n }\n let newInput = input;\n\n if (type === \"delete\") {\n newInput = input.slice(0, input.length - 1);\n } else if (newInput.replace(/^0+/g, \"\").length < maxLength) {\n newInput = input + value;\n }\n\n // 前后两个值相等就不触发onchange\n if (newInput === input) return;\n setInput(newInput);\n onChange?.(newInput);\n },\n [input, disabled]\n );\n\n const handleConfirm = (e: ITouchEvent) => {\n e.stopPropagation();\n onConfirm?.(input);\n };\n const keyboardcls = classNames(\"xh-amount-keyboard\", className);\n\n return (\n <CSSTransition classNames=\"slide-up\" in={show} unmountOnExit timeout={200}>\n <View className={keyboardcls}>\n <View className=\"xh-amount-keyboard-header\">\n <View className=\"xh-amount-keyboard-header-wrapper\">\n {header ||\n (recommend.length > 0 && (\n <View className=\"xh-amount-keyboard-header-wrapper-text\">\n 猜您想借{\" \"}\n <Space style={{ marginLeft: pxTransform(24) }}>\n {recommend?.map((amount, index) => (\n <View\n key={index}\n onClick={e => handleOnRecommand(e, amount)}\n >\n <Badge content={`¥${amount}`} key={index} />\n </View>\n ))}\n </Space>\n </View>\n ))}\n {tip}\n </View>\n </View>\n <View className=\"xh-amount-keyboard-body\">\n {XHAmountKeys.map((key, index) => (\n <View\n key={index}\n className={classNames(\"xh-amount-keyboard-body-key\", {\n none: key.type === \"none\",\n delete: key.type === \"delete\",\n close: key.type === \"close\",\n })}\n onClick={e => {\n handleKeyPress(e, key);\n }}\n >\n {key.text}\n </View>\n ))}\n <View\n className=\"xh-amount-keyboard-body-key confirm-fake\"\n onClick={handleConfirm}\n >\n 确定\n </View>\n </View>\n </View>\n </CSSTransition>\n );\n};\n\nexport default AmountKeyboard;\n"],"names":["XHAmountKeys","text","value","type","AmountKeyboard","props","onBlur","show","_a","maxLength","Number","MAX_SAFE_INTEGER","_b","closeOnClickSpace","onClose","onChange","className","onConfirm","_c","recommend","header","_d","disabled","tip","_e","__read","useState","input","setInput","handleClose","e","useEffect","document","addEventListener","removeEventListener","handleKeyPress","useCallback","process","env","TARO_ENV","stopImmediatePropagation","newInput","slice","length","replace","keyboardcls","classNames","React","createElement","CSSTransition","in","unmountOnExit","timeout","View","Space","style","marginLeft","pxTransform","map","amount","index","key","onClick","stopPropagation","concat","handleOnRecommand","Badge","content","none","delete","close"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__read as e}from"../node_modules/tslib/tslib.es6.js";import t,{useState as o,useRef as n,useEffect as r}from"react";import a from"classnames";import{Button as s}from"@tarojs/components";import{useTaroEnv as i}from"../src/hooks/index.js";import l from"./DotJump.js";var m=function(m){var u=m.disabled,d=void 0!==u&&u,p=m.type,c=void 0===p?"default":p,h=m.size,b=void 0===h?"normal":h,g=m.shape,f=void 0===g?"round":g,x=m.children,y=m.className,v=m.htmlType,P=m.formType,T=m.text,E=m.openType,M=m.lang,C=m.sessionFrom,w=m.sendMessageTitle,I=m.sendMessagePath,N=m.sendMessageImg,j=m.showMessageCard,k=m.appParameter,G=m.onGetUserInfo,S=m.onGetPhoneNumber,W=m.onOpenSetting,q=m.onError,A=m.onContact,D=m.onClick,F=m.preventTime,O=void 0===F?2500:F,U=m.style,z=m.loading,B=m.loadingStyle,J=m.loadingSpace,_=i(),H=e(o(!1),2),K=H[0],L=H[1],Q=n(),R=a("xh-button",{"xh-button-default":"default"===c,"xh-button-primary":"primary"===c,"xh-button-secondary":"secondary"===c,"xh-button-ghost":"ghost"===c,"xh-button-warn":"warn"===c,"xh-button-square":"square"===f,"xh-button-round":"round"===f,"xh-button-rectangle":"rectangle"===f,"xh-button-normal":"normal"===b,"xh-button-small":"mini"===b,"xh-button-full":"full"===b,"xh-button-disabled":d,"xh-button-webutton":"WEAPP"===_},y),V=function(e){"WEB"===_&&e.nativeEvent.stopImmediatePropagation(),e.preventDefault(),K&&0!==O||(0!==O&&(Q.current=setTimeout((function(){L(!1),clearTimeout(Q.current)}),O)),0!==O&&L(!0),D&&D(e))};r((function(){return function(){clearTimeout(Q.current)}}),[]);var X=t.createElement(s,{className:R,formType:P,openType:E,lang:M,type:c,sessionFrom:C,sendMessageTitle:w,sendMessagePath:I,sendMessageImg:N,showMessageCard:j,appParameter:k,onGetUserInfo:G,onGetPhoneNumber:S,onOpenSetting:W,onError:q,onContact:A,onClick:V,disabled:d,style:U,loading:z},x);return"WEAPP"===_?X:t.createElement("button",{className:R,disabled:d,type:v,onClick:d?void 0:V,style:U},x||T,z&&t.createElement(l,{style:B,space:J}))};export{m as default};
1
+ import{__read as e}from"../node_modules/tslib/tslib.es6.js";import o,{useState as n,useRef as t,useEffect as r}from"react";import a from"classnames";import{Button as s}from"@tarojs/components";import{useTaroEnv as l}from"../src/hooks/index.js";import i from"./DotJump.js";var m=function(m){var d=m.disabled,p=void 0!==d&&d,c=m.type,u=void 0===c?"default":c,g=m.size,f=void 0===g?"normal":g,y=m.shape,h=void 0===y?"round":y,v=m.children,b=m.className,P=m.htmlType,T=m.formType,E=m.text,M=m.openType,w=m.lang,C=m.sessionFrom,I=m.sendMessageTitle,N=m.sendMessagePath,j=m.sendMessageImg,k=m.showMessageCard,x=m.appParameter,G=m.onGetUserInfo,S=m.onGetPhoneNumber,W=m.onOpenSetting,q=m.onError,A=m.onContact,D=m.onClick,F=m.preventTime,O=void 0===F?2500:F,U=m.style,z=m.loading,B=m.loadingStyle,J=m.loadingSpace,_=m.ghost,H=void 0!==_&&_,K=m.hollow,L=void 0!==K&&K,Q=l(),R=e(n(!1),2),V=R[0],X=R[1],Y=t(),Z=a("xh-button",{default:"default"===u,primary:"primary"===u,secondary:"secondary"===u,ghost:H,hollow:L,warn:"warn"===u,quare:"square"===h,round:"round"===h,rectangle:"rectangle"===h,normal:"normal"===f,small:"mini"===f,full:"full"===f,disabled:p,webutton:"WEAPP"===Q},b),$=function(e){"WEB"===Q&&e.nativeEvent.stopImmediatePropagation(),e.preventDefault(),V&&0!==O||(0!==O&&(Y.current=setTimeout((function(){X(!1),clearTimeout(Y.current)}),O)),0!==O&&X(!0),D&&D(e))};r((function(){return function(){clearTimeout(Y.current)}}),[]);var ee=o.createElement(s,{className:Z,formType:T,openType:M,lang:w,type:u,sessionFrom:C,sendMessageTitle:I,sendMessagePath:N,sendMessageImg:j,showMessageCard:k,appParameter:x,onGetUserInfo:G,onGetPhoneNumber:S,onOpenSetting:W,onError:q,onContact:A,onClick:$,disabled:p,style:U,loading:z},v);return"WEAPP"===Q?ee:o.createElement("button",{className:Z,disabled:p,type:P,onClick:p?void 0:$,style:U},v||E,z&&o.createElement(i,{style:B,space:J}))};export{m as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["import React, {\n FC,\n MouseEventHandler,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { Button } from \"@tarojs/components\";\nimport { ButtonProps } from \"@tarojs/components/types/Button\";\nimport {\n ITouchEvent,\n TouchEventFunction,\n} from \"@tarojs/components/types/common\";\n\nimport { useTaroEnv } from \"../../hooks\";\nimport \"./index.scss\";\nimport DotJump from \"./DotJump\";\n\nexport type ButtonType = \"default\" | \"secondary\" | \"primary\" | \"warn\" | \"ghost\";\n\nexport type ButtonShape = \"square\" | \"round\" | \"rectangle\";\n\nexport type ButtonSize = \"default\" | \"mini\" | \"full\";\n\nexport type WechatOpenType =\n | \"contact\"\n /** 触发用户转发,使用前建议先阅读使用指引\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95\n */\n | \"share\"\n /** 获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html\n */\n | \"getPhoneNumber\"\n /** 获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 */\n | \"getUserInfo\"\n /** 用户实名信息授权,已经弃用 */\n | \"getRealnameAuthInfo\"\n /** 打开APP,可以通过app-parameter属性设定向APP传的参数\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html\n */\n | \"launchApp\"\n /** 打开授权设置页 */\n | \"openSetting\"\n /** 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容 */\n | \"feedback\";\nexport type XhButtonProps = {\n htmlType?: \"button\" | \"submit\" | \"reset\";\n type?: ButtonType;\n size?: ButtonSize;\n shape?: ButtonShape;\n disabled?: boolean;\n className?: string;\n styleName?: string;\n text?: string;\n preventTime?: number;\n onClick?: (e: ITouchEvent | MouseEvent) => void;\n style?: React.CSSProperties;\n loading?: boolean;\n loadingStyle?: React.CSSProperties;\n loadingSpace?: number;\n} & Omit<ButtonProps, \"type\" | \"size\">;\n\nconst XhButton: FC<XhButtonProps> = props => {\n const {\n disabled = false,\n type = \"default\",\n size = \"normal\",\n shape = \"round\",\n children,\n className,\n htmlType,\n formType,\n text,\n openType,\n lang,\n sessionFrom,\n sendMessageTitle,\n sendMessagePath,\n sendMessageImg,\n showMessageCard,\n appParameter,\n onGetUserInfo,\n onGetPhoneNumber,\n onOpenSetting,\n onError,\n onContact,\n onClick,\n preventTime = 2500,\n style,\n loading,\n loadingStyle,\n loadingSpace,\n } = props;\n const state = useTaroEnv();\n const [preventClick, setPreventClick] = useState(false);\n const timer = useRef<NodeJS.Timeout | undefined>();\n const classObj = classNames(\n \"xh-button\",\n {\n \"xh-button-default\": type === \"default\",\n \"xh-button-primary\": type === \"primary\",\n \"xh-button-secondary\": type === \"secondary\",\n \"xh-button-ghost\": type === \"ghost\",\n \"xh-button-warn\": type === \"warn\",\n \"xh-button-square\": shape === \"square\",\n \"xh-button-round\": shape === \"round\",\n \"xh-button-rectangle\": shape === \"rectangle\",\n \"xh-button-normal\": size === \"normal\",\n \"xh-button-small\": size === \"mini\",\n \"xh-button-full\": size === \"full\",\n \"xh-button-disabled\": disabled,\n \"xh-button-webutton\": state === \"WEAPP\",\n },\n className\n );\n\n const handleClick: MouseEventHandler & TouchEventFunction = e => {\n state === \"WEB\" && e.nativeEvent.stopImmediatePropagation();\n e.preventDefault();\n\n if (preventClick && preventTime !== 0) {\n console.log(\"重复点击\");\n return;\n }\n if (preventTime !== 0) {\n timer.current = setTimeout(() => {\n setPreventClick(false);\n clearTimeout(timer.current);\n }, preventTime);\n }\n if (preventTime !== 0) setPreventClick(true);\n console.log(\"正常点击\");\n onClick && onClick(e);\n };\n\n useEffect(() => {\n return () => {\n clearTimeout(timer.current);\n };\n }, []);\n\n const weButton = (\n <Button\n className={classObj}\n formType={formType}\n openType={openType}\n lang={lang}\n type={type as ButtonProps[\"type\"]}\n sessionFrom={sessionFrom}\n sendMessageTitle={sendMessageTitle}\n sendMessagePath={sendMessagePath}\n sendMessageImg={sendMessageImg}\n showMessageCard={showMessageCard}\n appParameter={appParameter}\n onGetUserInfo={onGetUserInfo}\n onGetPhoneNumber={onGetPhoneNumber}\n onOpenSetting={onOpenSetting}\n onError={onError}\n onContact={onContact}\n onClick={handleClick}\n disabled={disabled}\n style={style}\n loading={loading}\n >\n {children}\n </Button>\n );\n\n if (state === \"WEAPP\") {\n return weButton;\n }\n\n return (\n // eslint-disable-next-line react/button-has-type\n <button\n className={classObj}\n disabled={disabled}\n type={htmlType}\n onClick={disabled ? undefined : handleClick}\n style={style}\n >\n {children || text}\n {loading && <DotJump style={loadingStyle} space={loadingSpace} />}\n </button>\n );\n};\n\nexport default XhButton;\n"],"names":["XhButton","props","_a","disabled","_b","type","_c","size","_d","shape","children","className","htmlType","formType","text","openType","lang","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","appParameter","onGetUserInfo","onGetPhoneNumber","onOpenSetting","onError","onContact","onClick","_e","preventTime","style","loading","loadingStyle","loadingSpace","state","useTaroEnv","_f","__read","useState","preventClick","setPreventClick","timer","useRef","classObj","classNames","handleClick","e","nativeEvent","stopImmediatePropagation","preventDefault","current","setTimeout","clearTimeout","useEffect","weButton","React","Button","createElement","undefined","DotJump","space"],"mappings":"gRAgEM,IAAAA,EAA8B,SAAAC,GAEhC,IAAAC,EA4BED,EAAKE,SA5BPA,cAAgBD,EAChBE,EA2BEH,EA3BcI,KAAhBA,OAAI,IAAAD,EAAG,UAASA,EAChBE,EA0BEL,OA1BFM,OAAO,IAAAD,EAAA,WACPE,EAyBEP,EAAKQ,MAzBPA,OAAK,IAAAD,EAAG,QAAOA,EACfE,EAwBET,EAAKS,SAvBPC,EAuBEV,EAAKU,UAtBPC,EAsBEX,EAAKW,SArBPC,EAqBEZ,EAAKY,SApBPC,EAoBEb,EAAKa,KAnBPC,EAmBEd,EAAKc,SAlBPC,EAkBEf,EAAKe,KAjBPC,EAiBEhB,EAjBSgB,YACXC,EAgBEjB,EAhBciB,iBAChBC,EAeElB,EAfakB,gBACfC,EAcEnB,EAdYmB,eACdC,EAaEpB,EAbaoB,gBACfC,EAYErB,EAZUqB,aACZC,EAWEtB,EAXWsB,cACbC,EAUEvB,EAVcuB,iBAChBC,EASExB,gBARFyB,EAQEzB,EAAKyB,QAPPC,EAOE1B,EAAK0B,UANPC,EAME3B,EAAK2B,QALPC,EAKE5B,EALgB6B,YAAlBA,OAAW,IAAAD,EAAG,KAAIA,EAClBE,EAIE9B,EAJG8B,MACLC,EAGE/B,EAHK+B,QACPC,EAEEhC,EAFUgC,aACZC,EACEjC,eACEkC,EAAQC,IACRC,EAAAC,EAAkCC,GAAS,GAAM,GAAhDC,EAAYH,EAAA,GAAEI,OACfC,EAAQC,IACRC,EAAWC,EACf,YACA,CACE,oBAA8B,YAATxC,EACrB,oBAA8B,YAATA,EACrB,sBAAgC,cAATA,EACvB,kBAA4B,UAATA,EACnB,iBAA2B,SAATA,EAClB,mBAA8B,WAAVI,EACpB,kBAA6B,UAAVA,EACnB,sBAAiC,cAAVA,EACvB,mBAA6B,WAATF,EACpB,kBAA4B,SAATA,EACnB,iBAA2B,SAATA,EAClB,qBAAsBJ,EACtB,qBAAgC,UAAVgC,GAExBxB,GAGImC,EAAsD,SAAAC,GAChD,QAAVZ,GAAmBY,EAAEC,YAAYC,2BACjCF,EAAEG,iBAEEV,GAAgC,IAAhBV,IAIA,IAAhBA,IACFY,EAAMS,QAAUC,YAAW,WACzBX,GAAgB,GAChBY,aAAaX,EAAMS,QACpB,GAAErB,IAEe,IAAhBA,GAAmBW,GAAgB,GAEvCb,GAAWA,EAAQmB,GACrB,EAEAO,GAAU,WACR,OAAO,WACLD,aAAaX,EAAMS,QACrB,CACD,GAAE,IAEH,IAAMI,EACJC,gBAACC,EAAM,CACL9C,UAAWiC,EACX/B,SAAUA,EACVE,SAAUA,EACVC,KAAMA,EACNX,KAAMA,EACNY,YAAaA,EACbC,iBAAkBA,EAClBC,gBAAiBA,EACjBC,eAAgBA,EAChBC,gBAAiBA,EACjBC,aAAcA,EACdC,cAAeA,EACfC,iBAAkBA,EAClBC,cAAeA,EACfC,QAASA,EACTC,UAAWA,EACXC,QAASkB,EACT3C,SAAUA,EACV4B,MAAOA,EACPC,QAASA,GAERtB,GAIL,MAAc,UAAVyB,EACKoB,EAKPC,EACEE,cAAA,SAAA,CAAA/C,UAAWiC,EACXzC,SAAUA,EACVE,KAAMO,EACNgB,QAASzB,OAAWwD,EAAYb,EAChCf,MAAOA,GAENrB,GAAYI,EACZkB,GAAWwB,EAAAE,cAACE,EAAO,CAAC7B,MAAOE,EAAc4B,MAAO3B,IAGvD"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["import React, {\n FC,\n MouseEventHandler,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { Button } from \"@tarojs/components\";\nimport { ButtonProps } from \"@tarojs/components/types/Button\";\nimport {\n ITouchEvent,\n TouchEventFunction,\n} from \"@tarojs/components/types/common\";\n\nimport { useTaroEnv } from \"../../hooks\";\nimport \"./index.scss\";\nimport DotJump from \"./DotJump\";\n\nexport type ButtonType = \"default\" | \"secondary\" | \"primary\" | \"warn\";\n\nexport type ButtonShape = \"square\" | \"round\" | \"rectangle\";\n\nexport type ButtonSize = \"default\" | \"mini\" | \"full\";\n\nexport type WechatOpenType =\n | \"contact\"\n /** 触发用户转发,使用前建议先阅读使用指引\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95\n */\n | \"share\"\n /** 获取用户手机号,可以从 bindgetphonenumber 回调中获取到用户信息\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html\n */\n | \"getPhoneNumber\"\n /** 获取用户信息,可以从 bindgetuserinfo 回调中获取到用户信息 */\n | \"getUserInfo\"\n /** 用户实名信息授权,已经弃用 */\n | \"getRealnameAuthInfo\"\n /** 打开APP,可以通过app-parameter属性设定向APP传的参数\n * @see https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html\n */\n | \"launchApp\"\n /** 打开授权设置页 */\n | \"openSetting\"\n /** 打开“意见反馈”页面,用户可提交反馈内容并上传日志,开发者可以登录小程序管理后台后进入左侧菜单“客服反馈”页面获取到反馈内容 */\n | \"feedback\";\nexport type XhButtonProps = {\n htmlType?: \"button\" | \"submit\" | \"reset\";\n type?: ButtonType;\n size?: ButtonSize;\n shape?: ButtonShape;\n disabled?: boolean;\n className?: string;\n styleName?: string;\n text?: string;\n preventTime?: number;\n onClick?: (e: ITouchEvent | MouseEvent) => void;\n style?: React.CSSProperties;\n loading?: boolean;\n loadingStyle?: React.CSSProperties;\n loadingSpace?: number;\n ghost?: boolean;\n /**\n * 镂空\n */\n hollow?: boolean;\n} & Omit<ButtonProps, \"type\" | \"size\">;\n\nconst XhButton: FC<XhButtonProps> = props => {\n const {\n disabled = false,\n type = \"default\",\n size = \"normal\",\n shape = \"round\",\n children,\n className,\n htmlType,\n formType,\n text,\n openType,\n lang,\n sessionFrom,\n sendMessageTitle,\n sendMessagePath,\n sendMessageImg,\n showMessageCard,\n appParameter,\n onGetUserInfo,\n onGetPhoneNumber,\n onOpenSetting,\n onError,\n onContact,\n onClick,\n preventTime = 2500,\n style,\n loading,\n loadingStyle,\n loadingSpace,\n ghost = false,\n hollow = false,\n } = props;\n const state = useTaroEnv();\n const [preventClick, setPreventClick] = useState(false);\n const timer = useRef<NodeJS.Timeout | undefined>();\n const classObj = classNames(\n \"xh-button\",\n {\n default: type === \"default\",\n primary: type === \"primary\",\n secondary: type === \"secondary\",\n ghost: ghost,\n hollow: hollow,\n warn: type === \"warn\",\n quare: shape === \"square\",\n round: shape === \"round\",\n rectangle: shape === \"rectangle\",\n normal: size === \"normal\",\n small: size === \"mini\",\n full: size === \"full\",\n disabled: disabled,\n webutton: state === \"WEAPP\",\n },\n className\n );\n\n const handleClick: MouseEventHandler & TouchEventFunction = e => {\n state === \"WEB\" && e.nativeEvent.stopImmediatePropagation();\n e.preventDefault();\n\n if (preventClick && preventTime !== 0) {\n console.log(\"重复点击\");\n return;\n }\n if (preventTime !== 0) {\n timer.current = setTimeout(() => {\n setPreventClick(false);\n clearTimeout(timer.current);\n }, preventTime);\n }\n if (preventTime !== 0) setPreventClick(true);\n console.log(\"正常点击\");\n onClick && onClick(e);\n };\n\n useEffect(() => {\n return () => {\n clearTimeout(timer.current);\n };\n }, []);\n\n const weButton = (\n <Button\n className={classObj}\n formType={formType}\n openType={openType}\n lang={lang}\n type={type as ButtonProps[\"type\"]}\n sessionFrom={sessionFrom}\n sendMessageTitle={sendMessageTitle}\n sendMessagePath={sendMessagePath}\n sendMessageImg={sendMessageImg}\n showMessageCard={showMessageCard}\n appParameter={appParameter}\n onGetUserInfo={onGetUserInfo}\n onGetPhoneNumber={onGetPhoneNumber}\n onOpenSetting={onOpenSetting}\n onError={onError}\n onContact={onContact}\n onClick={handleClick}\n disabled={disabled}\n style={style}\n loading={loading}\n >\n {children}\n </Button>\n );\n\n if (state === \"WEAPP\") {\n return weButton;\n }\n\n return (\n // eslint-disable-next-line react/button-has-type\n <button\n className={classObj}\n disabled={disabled}\n type={htmlType}\n onClick={disabled ? undefined : handleClick}\n style={style}\n >\n {children || text}\n {loading && <DotJump style={loadingStyle} space={loadingSpace} />}\n </button>\n );\n};\n\nexport default XhButton;\n"],"names":["XhButton","props","_a","disabled","_b","type","_c","size","_d","shape","children","className","htmlType","formType","text","openType","lang","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","appParameter","onGetUserInfo","onGetPhoneNumber","onOpenSetting","onError","onContact","onClick","_e","preventTime","style","loading","loadingStyle","loadingSpace","_f","ghost","_g","hollow","state","useTaroEnv","_h","__read","useState","preventClick","setPreventClick","timer","useRef","classObj","classNames","default","primary","secondary","warn","quare","round","rectangle","normal","small","full","webutton","handleClick","e","nativeEvent","stopImmediatePropagation","preventDefault","current","setTimeout","clearTimeout","useEffect","weButton","React","Button","createElement","undefined","DotJump","space"],"mappings":"gRAqEM,IAAAA,EAA8B,SAAAC,GAEhC,IAAAC,EA8BED,EAAKE,SA9BPA,OAAQ,IAAAD,GAAQA,EAChBE,EA6BEH,OA7BFI,aAAO,UAASD,EAChBE,EA4BEL,EA5BaM,KAAfA,OAAO,IAAAD,EAAA,WACPE,EA2BEP,EA3BaQ,MAAfA,OAAQ,IAAAD,EAAA,UACRE,EA0BET,EAAKS,SAzBPC,EAyBEV,EAAKU,UAxBPC,EAwBEX,EAxBMW,SACRC,EAuBEZ,EAvBMY,SACRC,EAsBEb,OArBFc,EAqBEd,EAAKc,SApBPC,EAoBEf,EAAKe,KAnBPC,EAmBEhB,EAnBSgB,YACXC,EAkBEjB,mBAjBFkB,EAiBElB,EAAKkB,gBAhBPC,EAgBEnB,EAAKmB,eAfPC,EAeEpB,EAfaoB,gBACfC,EAcErB,EAdUqB,aACZC,EAaEtB,gBAZFuB,EAYEvB,EAAKuB,iBAXPC,EAWExB,EAAKwB,cAVPC,EAUEzB,EAVKyB,QACPC,EASE1B,YARF2B,EAQE3B,EAAK2B,QAPPC,EAOE5B,EAPgB6B,YAAlBA,OAAc,IAAAD,EAAA,OACdE,EAME9B,EAAK8B,MALPC,EAKE/B,EALK+B,QACPC,EAIEhC,eAHFiC,EAGEjC,eAFFkC,EAEElC,EAFWmC,MAAbA,OAAQ,IAAAD,KACRE,EACEpC,EADYqC,OAAdA,OAAS,IAAAD,KAELE,EAAQC,IACRC,EAAAC,EAAkCC,GAAS,GAAM,GAAhDC,EAAYH,EAAA,GAAEI,OACfC,EAAQC,IACRC,EAAWC,EACf,YACA,CACEC,QAAkB,YAAT7C,EACT8C,QAAkB,YAAT9C,EACT+C,UAAoB,cAAT/C,EACX+B,MAAOA,EACPE,OAAQA,EACRe,KAAe,SAAThD,EACNiD,MAAiB,WAAV7C,EACP8C,MAAiB,UAAV9C,EACP+C,UAAqB,cAAV/C,EACXgD,OAAiB,WAATlD,EACRmD,MAAgB,SAATnD,EACPoD,KAAe,SAATpD,EACNJ,SAAUA,EACVyD,SAAoB,UAAVrB,GAEZ5B,GAGIkD,EAAsD,SAAAC,GAChD,QAAVvB,GAAmBuB,EAAEC,YAAYC,2BACjCF,EAAEG,iBAEErB,GAAgC,IAAhBd,IAIA,IAAhBA,IACFgB,EAAMoB,QAAUC,YAAW,WACzBtB,GAAgB,GAChBuB,aAAatB,EAAMoB,QACpB,GAAEpC,IAEe,IAAhBA,GAAmBe,GAAgB,GAEvCjB,GAAWA,EAAQkC,GACrB,EAEAO,GAAU,WACR,OAAO,WACLD,aAAatB,EAAMoB,QACrB,CACD,GAAE,IAEH,IAAMI,GACJC,gBAACC,EAAM,CACL7D,UAAWqC,EACXnC,SAAUA,EACVE,SAAUA,EACVC,KAAMA,EACNX,KAAMA,EACNY,YAAaA,EACbC,iBAAkBA,EAClBC,gBAAiBA,EACjBC,eAAgBA,EAChBC,gBAAiBA,EACjBC,aAAcA,EACdC,cAAeA,EACfC,iBAAkBA,EAClBC,cAAeA,EACfC,QAASA,EACTC,UAAWA,EACXC,QAASiC,EACT1D,SAAUA,EACV4B,MAAOA,EACPC,QAASA,GAERtB,GAIL,MAAc,UAAV6B,EACK+B,GAKPC,EACEE,cAAA,SAAA,CAAA9D,UAAWqC,EACX7C,SAAUA,EACVE,KAAMO,EACNgB,QAASzB,OAAWuE,EAAYb,EAChC9B,MAAOA,GAENrB,GAAYI,EACZkB,GAAWuC,EAAAE,cAACE,EAAO,CAAC5C,MAAOE,EAAc2C,MAAO1C,IAGvD"}
@@ -1,2 +1,2 @@
1
- import{__rest as n,__read as t,__assign as e}from"../node_modules/tslib/tslib.es6.js";import r,{forwardRef as c,useRef as a,useState as o,useImperativeHandle as i,useEffect as u,useMemo as l}from"react";import s from"classnames";import m from"../Button/index.js";var f=c((function(c,f){var v=c.timeout,d=void 0===v?59:v,h=c.text,p=void 0===h?"获取验证码":h,x=c.onClick,I=c.className,b=c.ingText,g=void 0===b?"s重新获取":b,k=c.onEnd,C=n(c,["timeout","text","onClick","className","ingText","onEnd"]),E=a(),N=t(o(0),2),j=N[0],w=N[1],y=t(o(!1),2),D=y[0],M=y[1],T=function(){E.current&&clearInterval(E.current),w(0),M(!1)};i(f,(function(){return{reset:T,begin:z,beginning:D}}),[D]),u((function(){return E.current&&clearInterval(E.current),function(){E.current&&clearInterval(E.current)}}),[]);var q=l((function(){return j?"".concat(j).concat(g):p}),[j,p,g]),z=function(){var n=Date.now(),t=n;M(!0),E.current&&clearInterval(E.current),w(d),E.current=setInterval((function(){t=Date.now();var e=n+1e3*d+100,r=Math.max(Math.floor((e-t)/1e3),0);0===r&&(E.current&&clearInterval(E.current),M(!1),k&&k()),w(r)}),1e3)};return r.createElement(m,e({},c,{className:s("xh-captcha",I),disabled:D,onClick:function(){var n=x();n&&n.then&&n.then(z).catch((function(){M(!1)}))},type:"secondary",shape:"square",size:"mini"},C),q)}));export{f as default};
1
+ import{__rest as t,__read as e,__assign as n}from"../node_modules/tslib/tslib.es6.js";import r,{forwardRef as a,useRef as c,useState as o,useImperativeHandle as i,useEffect as u,useMemo as l}from"react";import s from"classnames";import m from"../Button/index.js";var f=a((function(a,f){var v=a.timeout,d=void 0===v?59:v,h=a.text,p=void 0===h?"获取验证码":h,x=a.onClick,I=a.className,b=a.ingText,g=void 0===b?"s重新获取":b,k=a.onEnd,C=a.shape,E=void 0===C?"square":C,N=t(a,["timeout","text","onClick","className","ingText","onEnd","shape"]),j=c(),w=e(o(0),2),y=w[0],D=w[1],M=e(o(!1),2),T=M[0],q=M[1],B=function(){j.current&&clearInterval(j.current),D(0),q(!1)};i(f,(function(){return{reset:B,begin:z,beginning:T}}),[T]),u((function(){return j.current&&clearInterval(j.current),function(){j.current&&clearInterval(j.current)}}),[]);var _=l((function(){return y?"".concat(y).concat(g):p}),[y,p,g]),z=function(){var t=Date.now(),e=t;q(!0),j.current&&clearInterval(j.current),D(d),j.current=setInterval((function(){e=Date.now();var n=t+1e3*d+100,r=Math.max(Math.floor((n-e)/1e3),0);0===r&&(j.current&&clearInterval(j.current),q(!1),k&&k()),D(r)}),1e3)};return r.createElement(m,n({},a,{className:s("xh-captcha",I),disabled:T,onClick:function(){var t=x();t&&t.then&&t.then(z).catch((function(){q(!1)}))},type:"secondary",shape:E},N),_)}));export{f as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Captcha/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useState,\n useEffect,\n useImperativeHandle,\n forwardRef,\n Ref,\n useMemo,\n} from \"react\";\nimport classnames from \"classnames\";\n\nimport Button, { XhButtonProps } from \"../Button\";\n\nimport \"./index.scss\";\n\nexport type refMe = {\n reset: () => void;\n begin: () => void;\n beginning: boolean;\n};\n\nexport interface CaptchaProps extends XhButtonProps {\n timeout?: number;\n className?: string;\n styleName?: string;\n text?: string;\n onClick: () => Promise<boolean>;\n ref: Ref<refMe>;\n timeingTemp?: string;\n ingText?: string;\n onEnd?: () => void;\n}\n\nconst CountdownButton = forwardRef<refMe, CaptchaProps>((props, fromRef) => {\n const {\n timeout = 59,\n text = \"获取验证码\",\n onClick,\n className,\n ingText = \"s重新获取\",\n onEnd,\n ...rest\n } = props;\n const intervalRef = useRef<NodeJS.Timeout | null>();\n const [time, setTime] = useState(0);\n const [disabled, setDisabled] = useState(false);\n\n const reset = (): void => {\n intervalRef.current && clearInterval(intervalRef.current);\n setTime(0);\n setDisabled(false);\n };\n\n useImperativeHandle(\n fromRef,\n () => ({\n reset,\n begin: counter,\n beginning: disabled,\n }),\n [disabled]\n );\n\n useEffect(() => {\n intervalRef.current && clearInterval(intervalRef.current);\n return () => {\n intervalRef.current && clearInterval(intervalRef.current);\n };\n }, []);\n\n // 倒计时\n const buttonText = useMemo((): string | number => {\n if (time) {\n return `${time}${ingText}`;\n }\n return text;\n }, [time, text, ingText]);\n\n const counter = () => {\n const now = Date.now();\n let nowStamp = now;\n\n setDisabled(true);\n\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n\n setTime(timeout);\n\n intervalRef.current = setInterval(() => {\n nowStamp = Date.now();\n const overTimeStamp = now + timeout * 1000 + 100;\n const leftTime = Math.max(\n Math.floor((overTimeStamp - nowStamp) / 1000),\n 0\n );\n\n if (leftTime === 0) {\n intervalRef.current && clearInterval(intervalRef.current);\n setDisabled(false);\n onEnd && onEnd();\n }\n\n setTime(leftTime);\n }, 1000);\n };\n\n const handleClick = (): any => {\n const promise = onClick();\n if (promise && promise.then) {\n promise.then(counter).catch(() => {\n console.log(\"callback reject....\");\n setDisabled(false);\n });\n }\n };\n\n return (\n <Button\n {...props}\n className={classnames(\"xh-captcha\", className)}\n disabled={disabled}\n onClick={handleClick}\n type=\"secondary\"\n shape=\"square\"\n size=\"mini\"\n {...rest}\n >\n {buttonText}\n </Button>\n );\n});\nexport default CountdownButton;\n"],"names":["CountdownButton","forwardRef","props","fromRef","_a","timeout","_b","text","onClick","className","_c","ingText","onEnd","rest","intervalRef","useRef","_d","__read","useState","time","setTime","_e","disabled","setDisabled","reset","current","clearInterval","useImperativeHandle","begin","counter","beginning","useEffect","buttonText","useMemo","concat","now","Date","nowStamp","setInterval","overTimeStamp","leftTime","Math","max","floor","React","createElement","Button","classnames","promise","then","catch","type","shape","size"],"mappings":"uQAiCA,IAAMA,EAAkBC,GAAgC,SAACC,EAAOC,GAE5D,IAAAC,EAOEF,EAPUG,QAAZA,OAAU,IAAAD,EAAA,GAAEA,EACZE,EAMEJ,OANFK,aAAO,QAAOD,EACdE,EAKEN,EAAKM,QAJPC,EAIEP,EAAKO,UAHPC,EAGER,UAHFS,OAAU,IAAAD,EAAA,QAAOA,EACjBE,EAEEV,QADCW,IACDX,EARE,CAQL,UAAA,OAAA,UAAA,YAAA,UAAA,UACKY,EAAcC,IACdC,EAAAC,EAAkBC,EAAS,GAAE,GAA5BC,EAAIH,EAAA,GAAEI,OACPC,EAAAJ,EAA0BC,GAAS,GAAM,GAAxCI,EAAQD,EAAA,GAAEE,OAEXC,EAAQ,WACZV,EAAYW,SAAWC,cAAcZ,EAAYW,SACjDL,EAAQ,GACRG,GAAY,EACd,EAEAI,EACExB,GACA,WAAM,MAAC,CACLqB,MAAKA,EACLI,MAAOC,EACPC,UAAWR,EACX,GACF,CAACA,IAGHS,GAAU,WAER,OADAjB,EAAYW,SAAWC,cAAcZ,EAAYW,SAC1C,WACLX,EAAYW,SAAWC,cAAcZ,EAAYW,QACnD,CACD,GAAE,IAGH,IAAMO,EAAaC,GAAQ,WACzB,OAAId,EACK,GAAGe,OAAAf,GAAOe,OAAAvB,GAEZJ,CACR,GAAE,CAACY,EAAMZ,EAAMI,IAEVkB,EAAU,WACd,IAAMM,EAAMC,KAAKD,MACbE,EAAWF,EAEfZ,GAAY,GAERT,EAAYW,SACdC,cAAcZ,EAAYW,SAG5BL,EAAQf,GAERS,EAAYW,QAAUa,aAAY,WAChCD,EAAWD,KAAKD,MAChB,IAAMI,EAAgBJ,EAAgB,IAAV9B,EAAiB,IACvCmC,EAAWC,KAAKC,IACpBD,KAAKE,OAAOJ,EAAgBF,GAAY,KACxC,GAGe,IAAbG,IACF1B,EAAYW,SAAWC,cAAcZ,EAAYW,SACjDF,GAAY,GACZX,GAASA,KAGXQ,EAAQoB,EACT,GAAE,IACL,EAYA,OACEI,EAACC,cAAAC,OACK5C,EAAK,CACTO,UAAWsC,EAAW,aAActC,GACpCa,SAAUA,EACVd,QAfgB,WAClB,IAAMwC,EAAUxC,IACZwC,GAAWA,EAAQC,MACrBD,EAAQC,KAAKpB,GAASqB,OAAM,WAE1B3B,GAAY,EACd,GAEJ,EAQI4B,KAAK,YACLC,MAAM,SACNC,KAAK,QACDxC,GAEHmB,EAGP"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Captcha/index.tsx"],"sourcesContent":["import React, {\n useRef,\n useState,\n useEffect,\n useImperativeHandle,\n forwardRef,\n Ref,\n useMemo,\n} from \"react\";\nimport classnames from \"classnames\";\n\nimport Button, { XhButtonProps } from \"../Button\";\n\nimport \"./index.scss\";\n\nexport type refMe = {\n reset: () => void;\n begin: () => void;\n beginning: boolean;\n};\n\nexport interface CaptchaProps extends XhButtonProps {\n timeout?: number;\n className?: string;\n styleName?: string;\n text?: string;\n onClick: () => Promise<boolean>;\n ref: Ref<refMe>;\n timeingTemp?: string;\n ingText?: string;\n onEnd?: () => void;\n}\n\nconst CountdownButton = forwardRef<refMe, CaptchaProps>((props, fromRef) => {\n const {\n timeout = 59,\n text = \"获取验证码\",\n onClick,\n className,\n ingText = \"s重新获取\",\n onEnd,\n shape = \"square\",\n ...rest\n } = props;\n const intervalRef = useRef<NodeJS.Timeout | null>();\n const [time, setTime] = useState(0);\n const [disabled, setDisabled] = useState(false);\n\n const reset = (): void => {\n intervalRef.current && clearInterval(intervalRef.current);\n setTime(0);\n setDisabled(false);\n };\n\n useImperativeHandle(\n fromRef,\n () => ({\n reset,\n begin: counter,\n beginning: disabled,\n }),\n [disabled]\n );\n\n useEffect(() => {\n intervalRef.current && clearInterval(intervalRef.current);\n return () => {\n intervalRef.current && clearInterval(intervalRef.current);\n };\n }, []);\n\n // 倒计时\n const buttonText = useMemo((): string | number => {\n if (time) {\n return `${time}${ingText}`;\n }\n return text;\n }, [time, text, ingText]);\n\n const counter = () => {\n const now = Date.now();\n let nowStamp = now;\n\n setDisabled(true);\n\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n\n setTime(timeout);\n\n intervalRef.current = setInterval(() => {\n nowStamp = Date.now();\n const overTimeStamp = now + timeout * 1000 + 100;\n const leftTime = Math.max(\n Math.floor((overTimeStamp - nowStamp) / 1000),\n 0\n );\n\n if (leftTime === 0) {\n intervalRef.current && clearInterval(intervalRef.current);\n setDisabled(false);\n onEnd && onEnd();\n }\n\n setTime(leftTime);\n }, 1000);\n };\n\n const handleClick = (): any => {\n const promise = onClick();\n if (promise && promise.then) {\n promise.then(counter).catch(() => {\n console.log(\"callback reject....\");\n setDisabled(false);\n });\n }\n };\n\n return (\n <Button\n {...props}\n className={classnames(\"xh-captcha\", className)}\n disabled={disabled}\n onClick={handleClick}\n type=\"secondary\"\n shape={shape}\n {...rest}\n >\n {buttonText}\n </Button>\n );\n});\nexport default CountdownButton;\n"],"names":["CountdownButton","forwardRef","props","fromRef","_a","timeout","_b","text","onClick","className","_c","ingText","onEnd","_d","shape","rest","__rest","intervalRef","useRef","_e","__read","useState","time","setTime","_f","disabled","setDisabled","reset","current","clearInterval","useImperativeHandle","begin","counter","beginning","useEffect","buttonText","useMemo","concat","now","Date","nowStamp","setInterval","overTimeStamp","leftTime","Math","max","floor","React","createElement","Button","__assign","classnames","promise","then","catch","type"],"mappings":"uQAiCA,IAAMA,EAAkBC,GAAgC,SAACC,EAAOC,GAE5D,IAAAC,EAQEF,EAAKG,QARPA,OAAU,IAAAD,EAAA,GAAEA,EACZE,EAOEJ,EAPYK,KAAdA,OAAO,IAAAD,EAAA,QAAOA,EACdE,EAMEN,EAAKM,QALPC,EAKEP,EALOO,UACTC,EAIER,EAAKS,QAJPA,OAAU,IAAAD,EAAA,QAAOA,EACjBE,EAGEV,EAAKU,MAFPC,EAEEX,EAAKY,MAFPA,OAAQ,IAAAD,EAAA,SAAQA,EACbE,EAAIC,EACLd,EATE,CASL,UAAA,OAAA,UAAA,YAAA,UAAA,QAAA,UACKe,EAAcC,IACdC,EAAAC,EAAkBC,EAAS,GAAE,GAA5BC,EAAIH,EAAA,GAAEI,OACPC,EAAAJ,EAA0BC,GAAS,GAAM,GAAxCI,EAAQD,EAAA,GAAEE,OAEXC,EAAQ,WACZV,EAAYW,SAAWC,cAAcZ,EAAYW,SACjDL,EAAQ,GACRG,GAAY,EACd,EAEAI,EACE3B,GACA,WAAM,MAAC,CACLwB,MAAKA,EACLI,MAAOC,EACPC,UAAWR,EACX,GACF,CAACA,IAGHS,GAAU,WAER,OADAjB,EAAYW,SAAWC,cAAcZ,EAAYW,SAC1C,WACLX,EAAYW,SAAWC,cAAcZ,EAAYW,QACnD,CACD,GAAE,IAGH,IAAMO,EAAaC,GAAQ,WACzB,OAAId,EACK,GAAGe,OAAAf,GAAOe,OAAA1B,GAEZJ,CACR,GAAE,CAACe,EAAMf,EAAMI,IAEVqB,EAAU,WACd,IAAMM,EAAMC,KAAKD,MACbE,EAAWF,EAEfZ,GAAY,GAERT,EAAYW,SACdC,cAAcZ,EAAYW,SAG5BL,EAAQlB,GAERY,EAAYW,QAAUa,aAAY,WAChCD,EAAWD,KAAKD,MAChB,IAAMI,EAAgBJ,EAAgB,IAAVjC,EAAiB,IACvCsC,EAAWC,KAAKC,IACpBD,KAAKE,OAAOJ,EAAgBF,GAAY,KACxC,GAGe,IAAbG,IACF1B,EAAYW,SAAWC,cAAcZ,EAAYW,SACjDF,GAAY,GACZd,GAASA,KAGXW,EAAQoB,EACT,GAAE,IACL,EAYA,OACEI,EAACC,cAAAC,EACKC,EAAA,CAAA,EAAAhD,GACJO,UAAW0C,EAAW,aAAc1C,GACpCgB,SAAUA,EACVjB,QAfgB,WAClB,IAAM4C,EAAU5C,IACZ4C,GAAWA,EAAQC,MACrBD,EAAQC,KAAKrB,GAASsB,OAAM,WAE1B5B,GAAY,EACd,GAEJ,EAQI6B,KAAK,YACLzC,MAAOA,GACHC,GAEHoB,EAGP"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{View as l,Text as a}from"@tarojs/components";import c from"classnames";var t=function(t){var o=t.icon,n=t.value,r=t.extraIcon,s=t.arrow,i=t.border,m=void 0===i||i,d=t.paddingHorizontal,p=void 0===d||d,u=t.onClick,v=t.className,h=t.outline,x=void 0===h||h,E=t.descriptionColor,N=void 0===E?"":E,f=t.valueColor,b=t.ellipsis,y=void 0===b||b,C=t.content,g=t.contentDescription,k=t.description,w=t.subDescription,z=t.secondary,D=t.alignItems,H=void 0===D?o?"start":"center":D,I=t.placeholder,j=void 0===I?"":I,q=c("xh-cell",{border:m},{secondary:z},{outline:x},{paddingHorizontal:p},H,v),A=c("xh-cell-main",{ellipsis:y});return e.createElement(l,{className:q,onClick:function(e){u&&u(e)}},o&&e.createElement(l,{className:"xh-cell-icon"},o),e.createElement(l,{className:A},C&&e.createElement(l,{className:"xh-cell-main-content"},C),g&&e.createElement(l,{className:"xh-cell-main-description"},g)),e.createElement(l,{className:"xh-cell-description",style:{color:N}},k?e.createElement(l,null,k):e.createElement(l,{className:"xh-cell-description-placeholder"},j),e.createElement(a,{className:"xh-cell-description-sub"},w)),e.createElement(l,{className:"xh-cell-value"},e.createElement(l,{className:"xh-cell-value-info",style:{color:f}},n),e.createElement(l,{className:"xh-cell-value-icon"},r||s&&e.createElement(l,{className:"xh-cell-value-icon-arrow"}))))};export{t as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Cell/index.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { View, Text, ITouchEvent } from \"@tarojs/components\";\nimport classNames from \"classnames\";\nimport { StandardLonghandProperties } from \"csstype\";\nimport { XHComponentCommonProps } from \"../../types\";\n\nimport \"./index.scss\";\n\nexport type XHCellProps = {\n content?: ReactNode;\n contentDescription?: ReactNode;\n description?: ReactNode;\n subDescription?: ReactNode;\n paddingHorizontal?: boolean;\n icon?: ReactNode;\n value?: ReactNode;\n extraIcon?: ReactNode;\n border?: boolean;\n arrow?: boolean;\n outline?: boolean;\n onClick?: (e: ITouchEvent) => void;\n descriptionColor?: StandardLonghandProperties[\"color\"];\n valueColor?: StandardLonghandProperties[\"color\"];\n ellipsis?: boolean;\n placeholder?: string;\n alignItems?: \"start\" | \"center\" | \"end\";\n /**\n * @description 是否是次级列表\n */\n secondary?: boolean;\n} & XHComponentCommonProps;\n\nconst XHCell: FC<XHCellProps> = props => {\n const {\n icon,\n value,\n extraIcon,\n arrow,\n border = true,\n paddingHorizontal = true,\n onClick,\n className,\n outline = true,\n descriptionColor = \"\",\n valueColor,\n ellipsis = true,\n content,\n contentDescription,\n description,\n subDescription,\n secondary,\n alignItems = icon ? \"start\" : \"center\",\n placeholder = \"\",\n } = props;\n\n const cellcls = classNames(\n \"xh-cell\",\n { border },\n { secondary },\n { outline },\n { paddingHorizontal },\n alignItems,\n className\n );\n\n const mainCls = classNames(\"xh-cell-main\", {\n ellipsis,\n });\n\n const handleClick = (e: ITouchEvent) => {\n onClick && onClick(e);\n };\n\n return (\n <View className={cellcls} onClick={handleClick}>\n {icon && <View className=\"xh-cell-icon\">{icon}</View>}\n <View className={mainCls}>\n {content && <View className=\"xh-cell-main-content\">{content}</View>}\n {contentDescription && (\n <View className=\"xh-cell-main-description\">{contentDescription}</View>\n )}\n </View>\n <View className=\"xh-cell-description\" style={{ color: descriptionColor }}>\n {description ? (\n <View>{description}</View>\n ) : (\n <View className=\"xh-cell-description-placeholder\">{placeholder}</View>\n )}\n <Text className=\"xh-cell-description-sub\">{subDescription}</Text>\n </View>\n <View className=\"xh-cell-value\">\n <View className=\"xh-cell-value-info\" style={{ color: valueColor }}>\n {value}\n </View>\n <View className=\"xh-cell-value-icon\">\n {extraIcon\n ? extraIcon\n : arrow && <View className=\"xh-cell-value-icon-arrow\" />}\n </View>\n </View>\n </View>\n );\n};\nexport default XHCell;\n"],"names":["XHCell","props","icon","value","extraIcon","arrow","_a","border","_b","paddingHorizontal","onClick","className","_c","outline","_d","descriptionColor","valueColor","_e","ellipsis","content","contentDescription","description","subDescription","secondary","_f","alignItems","_g","placeholder","cellcls","classNames","mainCls","React","createElement","View","e","style","color","Text"],"mappings":"mGAgCM,IAAAA,EAA0B,SAAAC,GAE5B,IAAAC,EAmBED,EAAKC,KAlBPC,EAkBEF,EAlBGE,MACLC,EAiBEH,EAAKG,UAhBPC,EAgBEJ,EAhBGI,MACLC,EAeEL,EAfWM,OAAbA,OAAM,IAAAD,GAAOA,EACbE,EAcEP,EAdsBQ,kBAAxBA,OAAiB,IAAAD,GAAOA,EACxBE,EAaET,EAbKS,QACPC,EAYEV,EAZOU,UACTC,EAWEX,EAXYY,QAAdA,OAAO,IAAAD,GAAOA,EACdE,EAUEb,EAAKc,iBAVPA,aAAmB,GAAED,EACrBE,EASEf,EATQe,WACVC,EAQEhB,EARaiB,SAAfA,OAAQ,IAAAD,GAAOA,EACfE,EAOElB,EAPKkB,QACPC,EAMEnB,EAAKmB,mBALPC,EAKEpB,EALSoB,YACXC,EAIErB,EAJYqB,eACdC,EAGEtB,EAAKsB,UAFPC,EAEEvB,EAAKwB,WAFPA,OAAa,IAAAD,EAAAtB,EAAO,QAAU,SAAQsB,EACtCE,EACEzB,EAAK0B,YADPA,OAAc,IAAAD,EAAA,KAGVE,EAAUC,EACd,UACA,CAAEtB,OAAMA,GACR,CAAEgB,UAASA,GACX,CAAEV,QAAOA,GACT,CAAEJ,kBAAiBA,GACnBgB,EACAd,GAGImB,EAAUD,EAAW,eAAgB,CACzCX,SAAQA,IAOV,OACEa,EAACC,cAAAC,EAAK,CAAAtB,UAAWiB,EAASlB,QALR,SAACwB,GACnBxB,GAAWA,EAAQwB,EACrB,GAIKhC,GAAQ6B,gBAACE,EAAI,CAACtB,UAAU,gBAAgBT,GACzC6B,EAAAC,cAACC,EAAI,CAACtB,UAAWmB,GACdX,GAAWY,gBAACE,EAAI,CAACtB,UAAU,wBAAwBQ,GACnDC,GACCW,EAACC,cAAAC,EAAK,CAAAtB,UAAU,4BAA4BS,IAGhDW,EAAAC,cAACC,EAAI,CAACtB,UAAU,sBAAsBwB,MAAO,CAAEC,MAAOrB,IACnDM,EACCU,gBAACE,EAAI,KAAEZ,GAEPU,EAACC,cAAAC,EAAK,CAAAtB,UAAU,mCAAmCgB,GAErDI,EAACC,cAAAK,GAAK1B,UAAU,2BAA2BW,IAE7CS,EAAAC,cAACC,EAAI,CAACtB,UAAU,iBACdoB,EAAAC,cAACC,EAAI,CAACtB,UAAU,qBAAqBwB,MAAO,CAAEC,MAAOpB,IAClDb,GAEH4B,EAAAC,cAACC,EAAK,CAAAtB,UAAU,sBACbP,GAEGC,GAAS0B,EAAAC,cAACC,EAAK,CAAAtB,UAAU,+BAKvC"}
@@ -1,2 +1,2 @@
1
- import e from"react";import a from"classnames";import{CheckboxGroup as c}from"@tarojs/components";import t from"../src/hooks/useGenerateId.js";import l from"./Group/index.js";var s=function(l){var s=l.className,o=l.name,n=l.label,r=l.id,h=l.circle,m=l.onChange,i=l.align,p=l.direction,u=l.justify,x=l.checked,d=l.disabled,b=l.value,k=l.style,v=l.color,E=void 0===v?"#f6ab00":v,N=t(r,"xh-checkbox-id"),f=function(e){var a=x||!1,c="";"h5"===process.env.TARO_ENV?(a=e.target.checked,c=e.target.value):(a=e.detail.value.length>0,c=e.detail.value[0]),m&&m(a,c)},g=a("xh-checkbox",s,i,p,u,{h5:"h5"===process.env.TARO_ENV});return"h5"!==process.env.TARO_ENV?e.createElement(c,{onChange:f},e.createElement("label",{htmlFor:N,className:g,style:k},e.createElement("input",{type:"checkbox",id:N,name:o,className:a("xh-checkbox-input",{tt:"tt"===process.env.TARO_ENV}),onChange:f,disabled:d,value:b,checked:x,color:E}),e.createElement("span",{className:a("xh-checkbox-input-fake",h&&"circle",{tt:"tt"===process.env.TARO_ENV})}),e.createElement("span",{className:"xh-checkbox-label"},n))):e.createElement("label",{htmlFor:N,className:g,style:k},e.createElement("input",{type:"checkbox",id:N,name:o,className:"xh-checkbox-input",onChange:f,value:b,defaultChecked:x}),e.createElement("span",{className:a("xh-checkbox-input-fake",h&&"circle")}),e.createElement("span",{className:"xh-checkbox-label"},n))};s.Group=l;export{s as default};
1
+ import e from"react";import a from"classnames";import{CheckboxGroup as t}from"@tarojs/components";import c from"../src/hooks/useGenerateId.js";import{pxTransform as l}from"../src/utils/index.js";import s from"./Group/index.js";var o=function(s){var o=s.className,r=s.name,n=s.label,h=s.id,i=s.circle,m=s.onChange,p=s.align,d=s.direction,u=s.justify,x=s.checked,b=s.disabled,k=s.value,v=s.style,f=s.size,E=void 0===f?0:f,N=s.color,g=void 0===N?"#f6ab00":N,y=c(h,"xh-checkbox-id"),C=function(e){var a=x||!1,t="";"h5"===process.env.TARO_ENV?(a=e.target.checked,t=e.target.value):(a=e.detail.value.length>0,t=e.detail.value[0]),m&&m(a,t)},j=a("xh-checkbox",o,p,d,u,{h5:"h5"===process.env.TARO_ENV});return"h5"!==process.env.TARO_ENV?e.createElement(t,{onChange:C},e.createElement("label",{htmlFor:y,className:j,style:v},e.createElement("input",{type:"checkbox",id:y,name:r,className:a("xh-checkbox-input",{tt:"tt"===process.env.TARO_ENV}),onChange:C,disabled:b,value:k,checked:x,color:g}),e.createElement("span",{className:a("xh-checkbox-input-fake",i&&"circle",{tt:"tt"===process.env.TARO_ENV}),style:E>0?{width:l(E),height:l(E)}:{}}),e.createElement("span",{className:"xh-checkbox-label"},n))):e.createElement("label",{htmlFor:y,className:j,style:v},e.createElement("input",{type:"checkbox",id:y,name:r,className:"xh-checkbox-input",onChange:C,value:k,defaultChecked:x}),e.createElement("span",{style:E>0?{width:l(E),height:l(E)}:{},className:a("xh-checkbox-input-fake",i&&"circle")}),e.createElement("span",{className:"xh-checkbox-label"},n))};o.Group=s;export{o as default};
2
2
  //# sourceMappingURL=index.js.map