taro-ui 3.3.3 → 3.4.0

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 (312) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +85 -0
  3. package/dist/common/utils.d.ts +2 -1
  4. package/dist/common/utils.js +3 -0
  5. package/dist/common/utils.js.map +1 -1
  6. package/dist/components/accordion/index.d.ts +16 -13
  7. package/dist/components/accordion/index.js +77 -97
  8. package/dist/components/accordion/index.js.map +1 -1
  9. package/dist/components/action-sheet/body/index.d.ts +2 -4
  10. package/dist/components/action-sheet/body/index.js +8 -6
  11. package/dist/components/action-sheet/body/index.js.map +1 -1
  12. package/dist/components/action-sheet/body/item/index.d.ts +7 -7
  13. package/dist/components/action-sheet/body/item/index.js +14 -14
  14. package/dist/components/action-sheet/body/item/index.js.map +1 -1
  15. package/dist/components/action-sheet/footer/index.d.ts +7 -7
  16. package/dist/components/action-sheet/footer/index.js +14 -17
  17. package/dist/components/action-sheet/footer/index.js.map +1 -1
  18. package/dist/components/action-sheet/header/index.d.ts +2 -4
  19. package/dist/components/action-sheet/header/index.js +8 -9
  20. package/dist/components/action-sheet/header/index.js.map +1 -1
  21. package/dist/components/action-sheet/index.d.ts +12 -13
  22. package/dist/components/action-sheet/index.js +53 -57
  23. package/dist/components/action-sheet/index.js.map +1 -1
  24. package/dist/components/activity-indicator/index.d.ts +12 -6
  25. package/dist/components/activity-indicator/index.js +19 -22
  26. package/dist/components/activity-indicator/index.js.map +1 -1
  27. package/dist/components/avatar/index.d.ts +14 -8
  28. package/dist/components/avatar/index.js +36 -43
  29. package/dist/components/avatar/index.js.map +1 -1
  30. package/dist/components/badge/index.d.ts +11 -8
  31. package/dist/components/badge/index.js +18 -34
  32. package/dist/components/badge/index.js.map +1 -1
  33. package/dist/components/button/index.d.ts +29 -14
  34. package/dist/components/button/index.js +97 -112
  35. package/dist/components/button/index.js.map +1 -1
  36. package/dist/components/calendar/body/index.d.ts +3 -26
  37. package/dist/components/calendar/body/index.js +215 -235
  38. package/dist/components/calendar/body/index.js.map +1 -1
  39. package/dist/components/calendar/controller/index.d.ts +3 -5
  40. package/dist/components/calendar/controller/index.js +47 -43
  41. package/dist/components/calendar/controller/index.js.map +1 -1
  42. package/dist/components/calendar/index.d.ts +3 -20
  43. package/dist/components/calendar/index.js +219 -201
  44. package/dist/components/calendar/index.js.map +1 -1
  45. package/dist/components/calendar/ui/date-list/index.d.ts +2 -6
  46. package/dist/components/calendar/ui/date-list/index.js +36 -41
  47. package/dist/components/calendar/ui/date-list/index.js.map +1 -1
  48. package/dist/components/calendar/ui/day-list/index.d.ts +2 -4
  49. package/dist/components/calendar/ui/day-list/index.js +6 -5
  50. package/dist/components/calendar/ui/day-list/index.js.map +1 -1
  51. package/dist/components/card/index.d.ts +15 -7
  52. package/dist/components/card/index.js +42 -43
  53. package/dist/components/card/index.js.map +1 -1
  54. package/dist/components/checkbox/index.d.ts +11 -7
  55. package/dist/components/checkbox/index.js +30 -35
  56. package/dist/components/checkbox/index.js.map +1 -1
  57. package/dist/components/config-provider/context.d.ts +6 -0
  58. package/dist/components/config-provider/context.js +13 -0
  59. package/dist/components/config-provider/context.js.map +1 -0
  60. package/dist/components/config-provider/index.d.ts +7 -0
  61. package/dist/components/config-provider/index.js +15 -0
  62. package/dist/components/config-provider/index.js.map +1 -0
  63. package/dist/components/countdown/index.d.ts +19 -19
  64. package/dist/components/countdown/index.js +183 -118
  65. package/dist/components/countdown/index.js.map +1 -1
  66. package/dist/components/countdown/item/index.d.ts +8 -7
  67. package/dist/components/countdown/item/index.js +10 -13
  68. package/dist/components/countdown/item/index.js.map +1 -1
  69. package/dist/components/curtain/index.d.ts +11 -8
  70. package/dist/components/curtain/index.js +36 -45
  71. package/dist/components/curtain/index.js.map +1 -1
  72. package/dist/components/divider/index.d.ts +13 -6
  73. package/dist/components/divider/index.js +29 -38
  74. package/dist/components/divider/index.js.map +1 -1
  75. package/dist/components/drawer/index.d.ts +13 -15
  76. package/dist/components/drawer/index.js +100 -93
  77. package/dist/components/drawer/index.js.map +1 -1
  78. package/dist/components/fab/index.d.ts +8 -7
  79. package/dist/components/fab/index.js +16 -16
  80. package/dist/components/fab/index.js.map +1 -1
  81. package/dist/components/flex/index.d.ts +11 -5
  82. package/dist/components/flex/index.js +17 -18
  83. package/dist/components/flex/index.js.map +1 -1
  84. package/dist/components/flex/item/index.d.ts +11 -5
  85. package/dist/components/flex/item/index.js +17 -18
  86. package/dist/components/flex/item/index.js.map +1 -1
  87. package/dist/components/float-layout/index.d.ts +20 -12
  88. package/dist/components/float-layout/index.js +56 -72
  89. package/dist/components/float-layout/index.js.map +1 -1
  90. package/dist/components/form/index.d.ts +11 -8
  91. package/dist/components/form/index.js +28 -28
  92. package/dist/components/form/index.js.map +1 -1
  93. package/dist/components/grid/index.d.ts +22 -7
  94. package/dist/components/grid/index.js +61 -66
  95. package/dist/components/grid/index.js.map +1 -1
  96. package/dist/components/icon/index.d.ts +13 -7
  97. package/dist/components/icon/index.js +24 -34
  98. package/dist/components/icon/index.js.map +1 -1
  99. package/dist/components/image-picker/index.d.ts +19 -9
  100. package/dist/components/image-picker/index.js +83 -102
  101. package/dist/components/image-picker/index.js.map +1 -1
  102. package/dist/components/indexes/index.d.ts +16 -28
  103. package/dist/components/indexes/index.js +198 -209
  104. package/dist/components/indexes/index.js.map +1 -1
  105. package/dist/components/input/index.d.ts +37 -15
  106. package/dist/components/input/index.js +152 -161
  107. package/dist/components/input/index.js.map +1 -1
  108. package/dist/components/input-number/index.d.ts +20 -11
  109. package/dist/components/input-number/index.js +107 -126
  110. package/dist/components/input-number/index.js.map +1 -1
  111. package/dist/components/list/index.d.ts +7 -6
  112. package/dist/components/list/index.js +15 -15
  113. package/dist/components/list/index.js.map +1 -1
  114. package/dist/components/list/item/index.d.ts +27 -9
  115. package/dist/components/list/item/index.js +89 -117
  116. package/dist/components/list/item/index.js.map +1 -1
  117. package/dist/components/load-more/index.d.ts +15 -7
  118. package/dist/components/load-more/index.js +29 -50
  119. package/dist/components/load-more/index.js.map +1 -1
  120. package/dist/components/loading/index.d.ts +8 -7
  121. package/dist/components/loading/index.js +14 -20
  122. package/dist/components/loading/index.js.map +1 -1
  123. package/dist/components/message/index.d.ts +9 -14
  124. package/dist/components/message/index.js +45 -59
  125. package/dist/components/message/index.js.map +1 -1
  126. package/dist/components/modal/action/index.d.ts +7 -6
  127. package/dist/components/modal/action/index.js +15 -15
  128. package/dist/components/modal/action/index.js.map +1 -1
  129. package/dist/components/modal/content/index.d.ts +2 -4
  130. package/dist/components/modal/content/index.js +8 -6
  131. package/dist/components/modal/content/index.js.map +1 -1
  132. package/dist/components/modal/header/index.d.ts +2 -4
  133. package/dist/components/modal/header/index.js +8 -6
  134. package/dist/components/modal/header/index.js.map +1 -1
  135. package/dist/components/modal/index.d.ts +16 -14
  136. package/dist/components/modal/index.js +63 -77
  137. package/dist/components/modal/index.js.map +1 -1
  138. package/dist/components/nav-bar/index.d.ts +20 -10
  139. package/dist/components/nav-bar/index.js +146 -162
  140. package/dist/components/nav-bar/index.js.map +1 -1
  141. package/dist/components/noticebar/index.d.ts +17 -15
  142. package/dist/components/noticebar/index.js +115 -128
  143. package/dist/components/noticebar/index.js.map +1 -1
  144. package/dist/components/pagination/index.d.ts +13 -11
  145. package/dist/components/pagination/index.js +64 -120
  146. package/dist/components/pagination/index.js.map +1 -1
  147. package/dist/components/progress/index.d.ts +11 -5
  148. package/dist/components/progress/index.js +39 -36
  149. package/dist/components/progress/index.js.map +1 -1
  150. package/dist/components/radio/index.d.ts +11 -7
  151. package/dist/components/radio/index.js +29 -33
  152. package/dist/components/radio/index.js.map +1 -1
  153. package/dist/components/range/index.d.ts +19 -21
  154. package/dist/components/range/index.js +146 -153
  155. package/dist/components/range/index.js.map +1 -1
  156. package/dist/components/rate/index.d.ts +13 -7
  157. package/dist/components/rate/index.js +47 -62
  158. package/dist/components/rate/index.js.map +1 -1
  159. package/dist/components/search-bar/index.d.ts +23 -15
  160. package/dist/components/search-bar/index.js +120 -146
  161. package/dist/components/search-bar/index.js.map +1 -1
  162. package/dist/components/segmented-control/index.d.ts +14 -7
  163. package/dist/components/segmented-control/index.js +52 -66
  164. package/dist/components/segmented-control/index.js.map +1 -1
  165. package/dist/components/slider/index.d.ts +21 -12
  166. package/dist/components/slider/index.js +66 -90
  167. package/dist/components/slider/index.js.map +1 -1
  168. package/dist/components/steps/index.d.ts +11 -7
  169. package/dist/components/steps/index.js +43 -48
  170. package/dist/components/steps/index.js.map +1 -1
  171. package/dist/components/swipe-action/index.d.ts +12 -25
  172. package/dist/components/swipe-action/index.js +118 -115
  173. package/dist/components/swipe-action/index.js.map +1 -1
  174. package/dist/components/swipe-action/options/index.d.ts +2 -4
  175. package/dist/components/swipe-action/options/index.js +18 -17
  176. package/dist/components/swipe-action/options/index.js.map +1 -1
  177. package/dist/components/switch/index.d.ts +14 -7
  178. package/dist/components/switch/index.js +36 -41
  179. package/dist/components/switch/index.js.map +1 -1
  180. package/dist/components/tab-bar/index.d.ts +17 -7
  181. package/dist/components/tab-bar/index.js +108 -135
  182. package/dist/components/tab-bar/index.js.map +1 -1
  183. package/dist/components/tabs/index.d.ts +17 -23
  184. package/dist/components/tabs/index.js +185 -174
  185. package/dist/components/tabs/index.js.map +1 -1
  186. package/dist/components/tabs-pane/index.d.ts +11 -6
  187. package/dist/components/tabs-pane/index.js +26 -28
  188. package/dist/components/tabs-pane/index.js.map +1 -1
  189. package/dist/components/tag/index.d.ts +14 -7
  190. package/dist/components/tag/index.js +31 -40
  191. package/dist/components/tag/index.js.map +1 -1
  192. package/dist/components/textarea/index.d.ts +29 -11
  193. package/dist/components/textarea/index.js +72 -92
  194. package/dist/components/textarea/index.js.map +1 -1
  195. package/dist/components/timeline/index.d.ts +9 -6
  196. package/dist/components/timeline/index.js +50 -56
  197. package/dist/components/timeline/index.js.map +1 -1
  198. package/dist/components/toast/img.json +3 -6
  199. package/dist/components/toast/index.d.ts +16 -15
  200. package/dist/components/toast/index.js +85 -94
  201. package/dist/components/toast/index.js.map +1 -1
  202. package/dist/hooks/useComponentLocale.d.ts +2 -0
  203. package/dist/hooks/useComponentLocale.js +12 -0
  204. package/dist/hooks/useComponentLocale.js.map +1 -0
  205. package/dist/index.d.ts +3 -0
  206. package/dist/index.esm.js +4006 -4404
  207. package/dist/index.esm.js.map +1 -1
  208. package/dist/index.js +4032 -4434
  209. package/dist/index.js.map +1 -1
  210. package/dist/locale/en_US.d.ts +3 -0
  211. package/dist/locale/en_US.js +34 -0
  212. package/dist/locale/en_US.js.map +1 -0
  213. package/dist/locale/index.d.ts +4 -0
  214. package/dist/locale/index.js +10 -0
  215. package/dist/locale/index.js.map +1 -0
  216. package/dist/locale/types.d.ts +34 -0
  217. package/dist/locale/types.js +1 -0
  218. package/dist/locale/types.js.map +1 -0
  219. package/dist/locale/zh_CN.d.ts +3 -0
  220. package/dist/locale/zh_CN.js +34 -0
  221. package/dist/locale/zh_CN.js.map +1 -0
  222. package/dist/style/components/avatar.scss +1 -1
  223. package/dist/style/components/badge.scss +7 -2
  224. package/dist/style/components/calendar.scss +1 -1
  225. package/dist/style/components/countdown.scss +2 -1
  226. package/dist/style/components/flex.scss +1 -1
  227. package/dist/style/components/grid.scss +2 -2
  228. package/dist/style/components/icon.scss +302 -101
  229. package/dist/style/components/input.scss +2 -2
  230. package/dist/style/components/progress.scss +1 -1
  231. package/dist/style/components/search-bar.scss +1 -1
  232. package/dist/style/components/steps.scss +2 -2
  233. package/dist/style/components/tabs.scss +1 -1
  234. package/dist/style/components/tag.scss +1 -1
  235. package/dist/style/components/timeline.scss +1 -1
  236. package/dist/style/components/toast.scss +7 -3
  237. package/dist/style/index.css +176 -176
  238. package/dist/style/index.css.map +1 -1
  239. package/dist/style/mixins/libs/hairline.scss +4 -19
  240. package/dist/style/mixins/libs/shade.scss +3 -6
  241. package/dist/style/mixins/libs/tint.scss +4 -7
  242. package/dist/style/themes/purple.scss +15 -15
  243. package/dist/style/themes/red.scss +16 -13
  244. package/dist/style/variables/default.scss +69 -73
  245. package/package.json +5 -3
  246. package/rn/components/accordion/index.tsx +2 -9
  247. package/rn/components/action-sheet/body/index.tsx +1 -3
  248. package/rn/components/action-sheet/body/item/index.tsx +1 -3
  249. package/rn/components/action-sheet/footer/index.tsx +1 -3
  250. package/rn/components/action-sheet/header/index.tsx +1 -3
  251. package/rn/components/activity-indicator/index.tsx +1 -3
  252. package/rn/components/avatar/index.tsx +5 -5
  253. package/rn/components/calendar/controller/index.tsx +2 -7
  254. package/rn/components/card/index.tsx +4 -4
  255. package/rn/components/countdown/index.scss +5 -4
  256. package/rn/components/countdown/item/index.tsx +1 -3
  257. package/rn/components/curtain/index.tsx +5 -5
  258. package/rn/components/flex/index.scss +2 -2
  259. package/rn/components/flex/item/index.scss +2 -2
  260. package/rn/components/grid/index.tsx +15 -15
  261. package/rn/components/icon/index.tsx +4 -4
  262. package/rn/components/image-picker/index.tsx +7 -7
  263. package/rn/components/pagination/index.tsx +7 -7
  264. package/rn/components/progress/index.tsx +5 -5
  265. package/rn/components/radio/index.tsx +7 -7
  266. package/rn/components/rate/index.tsx +4 -4
  267. package/rn/components/segmented-control/index.tsx +8 -8
  268. package/rn/components/slider/index.tsx +9 -9
  269. package/rn/components/steps/index.tsx +8 -8
  270. package/rn/components/swipe-action/options/index.tsx +1 -3
  271. package/rn/components/switch/index.tsx +2 -9
  272. package/rn/components/toast/img.json +3 -6
  273. package/rn/components/toast/index.tsx +8 -8
  274. package/rn/style/components/accordion.scss +1 -1
  275. package/rn/style/components/action-sheet.scss +1 -1
  276. package/rn/style/components/avatar.scss +1 -1
  277. package/rn/style/components/badge.scss +8 -3
  278. package/rn/style/components/button.scss +1 -1
  279. package/rn/style/components/calendar.scss +1 -1
  280. package/rn/style/components/checkbox.scss +1 -1
  281. package/rn/style/components/curtain.scss +1 -1
  282. package/rn/style/components/fab.scss +1 -4
  283. package/rn/style/components/flex.scss +1 -1
  284. package/rn/style/components/grid.scss +2 -6
  285. package/rn/style/components/icon.scss +302 -101
  286. package/rn/style/components/index.scss +41 -41
  287. package/rn/style/components/input.scss +1 -1
  288. package/rn/style/components/list.scss +2 -4
  289. package/rn/style/components/loading.scss +4 -4
  290. package/rn/style/components/message.scss +1 -1
  291. package/rn/style/components/modal.scss +0 -2
  292. package/rn/style/components/nav-bar.scss +3 -3
  293. package/rn/style/components/noticebar.scss +0 -4
  294. package/rn/style/components/progress.scss +1 -1
  295. package/rn/style/components/radio.scss +2 -2
  296. package/rn/style/components/range.scss +1 -1
  297. package/rn/style/components/search-bar.scss +1 -1
  298. package/rn/style/components/segmented-control.scss +4 -1
  299. package/rn/style/components/slider.scss +0 -1
  300. package/rn/style/components/steps.scss +3 -3
  301. package/rn/style/components/switch.scss +0 -1
  302. package/rn/style/components/tabs.scss +2 -2
  303. package/rn/style/components/tag.scss +1 -1
  304. package/rn/style/components/timeline.scss +0 -2
  305. package/rn/style/components/toast.scss +5 -2
  306. package/rn/style/index.scss +1 -1
  307. package/rn/style/mixins/libs/hairline.scss +4 -22
  308. package/rn/style/mixins/libs/shade.scss +1 -4
  309. package/rn/style/mixins/libs/tint.scss +2 -5
  310. package/rn/style/themes/purple.scss +15 -15
  311. package/rn/style/themes/red.scss +16 -13
  312. package/rn/style/variables/default.scss +69 -73
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018 koppt
3
+ Copyright (c) 2018-2026 koppt
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md ADDED
@@ -0,0 +1,85 @@
1
+ # Taro UI
2
+
3
+ [![NPM][npm-version-image]][npm-version-url] [![NPM Downloads][npm-downloads-image]][npm-downloads-url] [![david-dm][david-dm-image]][david-dm-url] [![License][license-image]][license-url]
4
+
5
+ 一款基于 `Taro` 框架开发的多端 UI 组件库
6
+
7
+ ## 特性
8
+
9
+ - 基于 `Taro` 开发 UI 组件
10
+ - 一套组件可以在 `微信小程序`,`支付宝小程序`,`百度小程序`,`H5`,`ReactNative` 多端适配运行
11
+ - 提供友好的 API,可灵活的使用组件
12
+
13
+ ## 关于 Taro
14
+
15
+ Taro 是由 [凹凸实验室](https://aotu.io) 倾力打造的多端开发解决方案。现如今市面上端的形态多种多样,Web、ReactNative、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。
16
+
17
+ 使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信小程序、H5、RN等)运行的代码。
18
+
19
+ ## 体验
20
+
21
+ 请使用微信扫一扫以下体验码
22
+
23
+ ![QRCode](https://user-images.githubusercontent.com/1240899/46650700-25a4e600-cbd0-11e8-90ff-905edb39c340.jpg)
24
+
25
+ ## 相关链接
26
+
27
+ - [Taro UI 使用文档](https://jd-opensource.github.io/taro-ui/#/)
28
+ - [Taro UI 官方示例](https://github.com/NervJS/taro-ui-demo)
29
+ - [Taro](https://taro.jd.com/)
30
+ - [Taro 物料市场](https://taro-ext.jd.com)
31
+ - [Taro 论坛 Taro-UI 板块](https://taro-club.jd.com/category/11/taro-ui)
32
+
33
+ ## 安装
34
+
35
+ ### 2.x
36
+ 当 Taro 版本 < 3 时,使用 2.x 版本
37
+
38
+ ```bash
39
+ $ npm install taro-ui@2.3.4
40
+ ```
41
+
42
+ ### 3.x
43
+ 当 Taro 版本 ≥ 3 时,使用 3.x 版本
44
+
45
+ ```bash
46
+ $ npm install taro-ui@latest
47
+ ```
48
+
49
+ ## 使用
50
+
51
+ 在代码中 `import` 需要的组件并按照文档说明使用
52
+
53
+ ```js
54
+ import { AtButton } from 'taro-ui'
55
+ ```
56
+
57
+ ## 开发交流
58
+
59
+ [官方微信交流群](https://github.com/NervJS/taro-ui/issues/16)
60
+
61
+ ## 开发计划
62
+
63
+ [查看 Roadmap →](../../ROADMAP.md)
64
+
65
+ ## 路线图
66
+
67
+ Taro UI 正在积极恢复维护中,当前重点完成 Monorepo 重构、CSS 预编译和 Taro v4 兼容性验证。详细规划请查看 [ROADMAP.md](../../ROADMAP.md)。
68
+
69
+ ## 贡献
70
+
71
+ 如果你在使用 `Taro UI` 时遇到问题,或者有好的建议,欢迎给我们提 `Issue` 或 `Pull Request`。在开始之前,请阅读 [贡献指南](../../.github/CONTRIBUTING.md)
72
+
73
+ ## License
74
+
75
+ MIT
76
+
77
+ [npm-version-image]: https://img.shields.io/npm/v/taro-ui.svg?style=flat-square
78
+ [npm-version-url]: https://www.npmjs.com/package/taro-ui
79
+ [npm-downloads-image]: https://img.shields.io/npm/dm/taro-ui?style=flat-square
80
+ [npm-downloads-url]: https://www.npmjs.com/package/taro-ui
81
+ [david-dm-image]: https://david-dm.org/NervJS/taro-ui.svg?style=flat-square
82
+ [david-dm-url]: https://david-dm.org/NervJS/taro-ui
83
+ [license-image]: https://img.shields.io/github/license/jd-opensource/taro-ui?style=flat-square
84
+ [license-url]: ../../LICENSE
85
+ [roadmap-image]: ../../docs/assets/taro-ui-roadmap.svg
@@ -38,4 +38,5 @@ declare function mergeStyle(style1: object | string, style2: object | string): o
38
38
  * @returns
39
39
  */
40
40
  declare function isJSXElement(props: any, propName: any, componentName: any): Error | undefined;
41
- export { delay, delayQuerySelector, uuid, getEventDetail, initTestEnv, isTest, pxTransform, handleTouchScroll, delayGetClientRect, delayGetScrollOffset, mergeStyle, isJSXElement };
41
+ declare function noop(): void;
42
+ export { delay, delayQuerySelector, uuid, getEventDetail, initTestEnv, isTest, pxTransform, handleTouchScroll, delayGetClientRect, delayGetScrollOffset, mergeStyle, isJSXElement, noop };
@@ -186,6 +186,8 @@ function isJSXElement(props, propName, componentName) {
186
186
  );
187
187
  }
188
188
  }
189
+ function noop() {
190
+ }
189
191
  export {
190
192
  delay,
191
193
  delayGetClientRect,
@@ -197,6 +199,7 @@ export {
197
199
  isJSXElement,
198
200
  isTest,
199
201
  mergeStyle,
202
+ noop,
200
203
  pxTransform,
201
204
  uuid
202
205
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/utils.ts"],"sourcesContent":["import Taro from '@tarojs/taro'\nimport React from 'react'\nimport { SelectorQuery } from '@tarojs/taro/types/index'\n\nconst ENV = Taro.getEnv()\n\nfunction delay(delayTime = 25): Promise<void> {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve()\n }, delayTime)\n })\n}\n\nfunction delayQuerySelector(\n selectorStr: string,\n delayTime = 500\n): Promise<any[]> {\n return new Promise(resolve => {\n Taro.nextTick(() => {\n const selector: SelectorQuery = Taro.createSelectorQuery()\n delay(delayTime).then(() => {\n selector\n .select(selectorStr)\n .boundingClientRect()\n .exec((res: any[]) => {\n resolve(res)\n })\n })\n })\n })\n}\n\nfunction delayGetScrollOffset({ delayTime = 500 }): Promise<any[]> {\n return new Promise(resolve => {\n delay(delayTime).then(() => {\n Taro.createSelectorQuery()\n .selectViewport()\n .scrollOffset()\n .exec((res: any[]) => {\n resolve(res)\n })\n })\n })\n}\n\nfunction delayGetClientRect({ selectorStr, delayTime = 500 }): Promise<any[]> {\n const selector: SelectorQuery = Taro.createSelectorQuery()\n\n return new Promise(resolve => {\n delay(delayTime).then(() => {\n selector\n .select(selectorStr)\n .boundingClientRect()\n .exec((res: any[]) => {\n resolve(res)\n })\n })\n })\n}\n\nfunction uuid(len = 8, radix = 16): string {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')\n const value: string[] = []\n let i = 0\n radix = radix || chars.length\n\n if (len) {\n // Compact form\n for (i = 0; i < len; i++) value[i] = chars[0 | (Math.random() * radix)]\n } else {\n // rfc4122, version 4 form\n let r\n\n // rfc4122 requires these characters\n /* eslint-disable-next-line */\n value[8] = value[13] = value[18] = value[23] = '-'\n value[14] = '4'\n\n // Fill in random data. At i==19 set the high bits of clock sequence as\n // per rfc4122, sec. 4.1.5\n for (i = 0; i < 36; i++) {\n if (!value[i]) {\n r = 0 | (Math.random() * 16)\n value[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r]\n }\n }\n }\n\n return value.join('')\n}\n\ninterface EventDetail {\n pageX: number\n pageY: number\n clientX: number\n clientY: number\n offsetX: number\n offsetY: number\n x: number\n y: number\n}\n\nfunction getEventDetail(event: any): EventDetail {\n let detail: EventDetail\n switch (ENV) {\n case Taro.ENV_TYPE.WEB:\n detail = {\n pageX: event.pageX,\n pageY: event.pageY,\n clientX: event.clientX,\n clientY: event.clientY,\n offsetX: event.offsetX,\n offsetY: event.offsetY,\n x: event.x,\n y: event.y\n }\n break\n\n case Taro.ENV_TYPE.WEAPP:\n detail = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY,\n clientX: event.touches[0].clientX,\n clientY: event.touches[0].clientY,\n offsetX: event.target.offsetLeft,\n offsetY: event.target.offsetTop,\n x: event.target.x,\n y: event.target.y\n }\n break\n\n case Taro.ENV_TYPE.ALIPAY:\n detail = {\n pageX: event.target.pageX,\n pageY: event.target.pageY,\n clientX: event.target.clientX,\n clientY: event.target.clientY,\n offsetX: event.target.offsetLeft,\n offsetY: event.target.offsetTop,\n x: event.target.x,\n y: event.target.y\n }\n break\n\n case Taro.ENV_TYPE.SWAN:\n detail = {\n pageX: event.changedTouches[0].pageX,\n pageY: event.changedTouches[0].pageY,\n clientX: event.target.clientX,\n clientY: event.target.clientY,\n offsetX: event.target.offsetLeft,\n offsetY: event.target.offsetTop,\n x: event.detail.x,\n y: event.detail.y\n }\n break\n\n default:\n detail = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n offsetX: 0,\n offsetY: 0,\n x: 0,\n y: 0\n }\n console.warn('getEventDetail暂未支持该环境')\n break\n }\n return detail\n}\n\nfunction initTestEnv(): void {\n if (process.env.NODE_ENV === 'test') {\n Taro.initPxTransform({\n designWidth: 750,\n deviceRatio: {\n '640': 2.34 / 2,\n '750': 1,\n '828': 1.81 / 2\n }\n })\n }\n}\n\nfunction isTest(): boolean {\n return process.env.NODE_ENV === 'test'\n}\n\nlet scrollTop = 0\n\nfunction handleTouchScroll(flag: any): void {\n if (ENV !== Taro.ENV_TYPE.WEB) {\n return\n }\n if (flag) {\n scrollTop = document.documentElement.scrollTop\n\n // 使body脱离文档流\n document.body.classList.add('at-frozen')\n\n // 把脱离文档流的body拉上去!否则页面会回到顶部!\n document.body.style.top = `${-scrollTop}px`\n } else {\n document.body.style.top = ''\n document.body.classList.remove('at-frozen')\n\n document.documentElement.scrollTop = scrollTop\n }\n}\n\nfunction pxTransform(size: number): string {\n if (!size) return ''\n\n return Taro.pxTransform(size)\n}\n\nfunction objectToString(style: object | string): string {\n if (style && typeof style === 'object') {\n let styleStr = ''\n Object.keys(style).forEach(key => {\n const lowerCaseKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n styleStr += `${lowerCaseKey}:${style[key]};`\n })\n return styleStr\n } else if (style && typeof style === 'string') {\n return style\n }\n return ''\n}\n\n/**\n * 合并 style\n * @param {Object|String} style1\n * @param {Object|String} style2\n * @returns {String}\n */\nfunction mergeStyle(\n style1: object | string,\n style2: object | string\n): object | string {\n if (\n style1 &&\n typeof style1 === 'object' &&\n style2 &&\n typeof style2 === 'object'\n ) {\n return Object.assign({}, style1, style2)\n }\n return objectToString(style1) + objectToString(style2)\n}\n\n/**\n * 自定义验证器,用于验证参数是否是 JSX.Element\n * @param {any} props\n * @param {string} propName\n * @param {string} componentName\n * @returns\n */\nfunction isJSXElement(props, propName, componentName) {\n if (!React.isValidElement(props[propName])) {\n return new Error(\n `Invalid prop ${propName} supplied to ${componentName}. It must be a valid JSX element.`\n )\n }\n}\n\nexport {\n delay,\n delayQuerySelector,\n uuid,\n getEventDetail,\n initTestEnv,\n isTest,\n pxTransform,\n handleTouchScroll,\n delayGetClientRect,\n delayGetScrollOffset,\n mergeStyle,\n isJSXElement\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/common/utils.ts"],"sourcesContent":["import Taro from '@tarojs/taro'\nimport React from 'react'\nimport { SelectorQuery } from '@tarojs/taro/types/index'\n\nconst ENV = Taro.getEnv()\n\nfunction delay(delayTime = 25): Promise<void> {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve()\n }, delayTime)\n })\n}\n\nfunction delayQuerySelector(\n selectorStr: string,\n delayTime = 500\n): Promise<any[]> {\n return new Promise(resolve => {\n Taro.nextTick(() => {\n const selector: SelectorQuery = Taro.createSelectorQuery()\n delay(delayTime).then(() => {\n selector\n .select(selectorStr)\n .boundingClientRect()\n .exec((res: any[]) => {\n resolve(res)\n })\n })\n })\n })\n}\n\nfunction delayGetScrollOffset({ delayTime = 500 }): Promise<any[]> {\n return new Promise(resolve => {\n delay(delayTime).then(() => {\n Taro.createSelectorQuery()\n .selectViewport()\n .scrollOffset()\n .exec((res: any[]) => {\n resolve(res)\n })\n })\n })\n}\n\nfunction delayGetClientRect({ selectorStr, delayTime = 500 }): Promise<any[]> {\n const selector: SelectorQuery = Taro.createSelectorQuery()\n\n return new Promise(resolve => {\n delay(delayTime).then(() => {\n selector\n .select(selectorStr)\n .boundingClientRect()\n .exec((res: any[]) => {\n resolve(res)\n })\n })\n })\n}\n\nfunction uuid(len = 8, radix = 16): string {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')\n const value: string[] = []\n let i = 0\n radix = radix || chars.length\n\n if (len) {\n // Compact form\n for (i = 0; i < len; i++) value[i] = chars[0 | (Math.random() * radix)]\n } else {\n // rfc4122, version 4 form\n let r\n\n // rfc4122 requires these characters\n /* eslint-disable-next-line */\n value[8] = value[13] = value[18] = value[23] = '-'\n value[14] = '4'\n\n // Fill in random data. At i==19 set the high bits of clock sequence as\n // per rfc4122, sec. 4.1.5\n for (i = 0; i < 36; i++) {\n if (!value[i]) {\n r = 0 | (Math.random() * 16)\n value[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r]\n }\n }\n }\n\n return value.join('')\n}\n\ninterface EventDetail {\n pageX: number\n pageY: number\n clientX: number\n clientY: number\n offsetX: number\n offsetY: number\n x: number\n y: number\n}\n\nfunction getEventDetail(event: any): EventDetail {\n let detail: EventDetail\n switch (ENV) {\n case Taro.ENV_TYPE.WEB:\n detail = {\n pageX: event.pageX,\n pageY: event.pageY,\n clientX: event.clientX,\n clientY: event.clientY,\n offsetX: event.offsetX,\n offsetY: event.offsetY,\n x: event.x,\n y: event.y\n }\n break\n\n case Taro.ENV_TYPE.WEAPP:\n detail = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY,\n clientX: event.touches[0].clientX,\n clientY: event.touches[0].clientY,\n offsetX: event.target.offsetLeft,\n offsetY: event.target.offsetTop,\n x: event.target.x,\n y: event.target.y\n }\n break\n\n case Taro.ENV_TYPE.ALIPAY:\n detail = {\n pageX: event.target.pageX,\n pageY: event.target.pageY,\n clientX: event.target.clientX,\n clientY: event.target.clientY,\n offsetX: event.target.offsetLeft,\n offsetY: event.target.offsetTop,\n x: event.target.x,\n y: event.target.y\n }\n break\n\n case Taro.ENV_TYPE.SWAN:\n detail = {\n pageX: event.changedTouches[0].pageX,\n pageY: event.changedTouches[0].pageY,\n clientX: event.target.clientX,\n clientY: event.target.clientY,\n offsetX: event.target.offsetLeft,\n offsetY: event.target.offsetTop,\n x: event.detail.x,\n y: event.detail.y\n }\n break\n\n default:\n detail = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n offsetX: 0,\n offsetY: 0,\n x: 0,\n y: 0\n }\n console.warn('getEventDetail暂未支持该环境')\n break\n }\n return detail\n}\n\nfunction initTestEnv(): void {\n if (process.env.NODE_ENV === 'test') {\n Taro.initPxTransform({\n designWidth: 750,\n deviceRatio: {\n '640': 2.34 / 2,\n '750': 1,\n '828': 1.81 / 2\n }\n })\n }\n}\n\nfunction isTest(): boolean {\n return process.env.NODE_ENV === 'test'\n}\n\nlet scrollTop = 0\n\nfunction handleTouchScroll(flag: any): void {\n if (ENV !== Taro.ENV_TYPE.WEB) {\n return\n }\n if (flag) {\n scrollTop = document.documentElement.scrollTop\n\n // 使body脱离文档流\n document.body.classList.add('at-frozen')\n\n // 把脱离文档流的body拉上去!否则页面会回到顶部!\n document.body.style.top = `${-scrollTop}px`\n } else {\n document.body.style.top = ''\n document.body.classList.remove('at-frozen')\n\n document.documentElement.scrollTop = scrollTop\n }\n}\n\nfunction pxTransform(size: number): string {\n if (!size) return ''\n\n return Taro.pxTransform(size)\n}\n\nfunction objectToString(style: object | string): string {\n if (style && typeof style === 'object') {\n let styleStr = ''\n Object.keys(style).forEach(key => {\n const lowerCaseKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n styleStr += `${lowerCaseKey}:${style[key]};`\n })\n return styleStr\n } else if (style && typeof style === 'string') {\n return style\n }\n return ''\n}\n\n/**\n * 合并 style\n * @param {Object|String} style1\n * @param {Object|String} style2\n * @returns {String}\n */\nfunction mergeStyle(\n style1: object | string,\n style2: object | string\n): object | string {\n if (\n style1 &&\n typeof style1 === 'object' &&\n style2 &&\n typeof style2 === 'object'\n ) {\n return Object.assign({}, style1, style2)\n }\n return objectToString(style1) + objectToString(style2)\n}\n\n/**\n * 自定义验证器,用于验证参数是否是 JSX.Element\n * @param {any} props\n * @param {string} propName\n * @param {string} componentName\n * @returns\n */\nfunction isJSXElement(props, propName, componentName) {\n if (!React.isValidElement(props[propName])) {\n return new Error(\n `Invalid prop ${propName} supplied to ${componentName}. It must be a valid JSX element.`\n )\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop(): void {}\n\nexport {\n delay,\n delayQuerySelector,\n uuid,\n getEventDetail,\n initTestEnv,\n isTest,\n pxTransform,\n handleTouchScroll,\n delayGetClientRect,\n delayGetScrollOffset,\n mergeStyle,\n isJSXElement,\n noop\n}\n"],"mappings":"AAAA,OAAO,UAAU;AACjB,OAAO,WAAW;AAGlB,MAAM,MAAM,KAAK,OAAO;AAExB,SAAS,MAAM,YAAY,IAAmB;AAC5C,SAAO,IAAI,QAAQ,aAAW;AAC5B,eAAW,MAAM;AACf,cAAQ;AAAA,IACV,GAAG,SAAS;AAAA,EACd,CAAC;AACH;AAEA,SAAS,mBACP,aACA,YAAY,KACI;AAChB,SAAO,IAAI,QAAQ,aAAW;AAC5B,SAAK,SAAS,MAAM;AAClB,YAAM,WAA0B,KAAK,oBAAoB;AACzD,YAAM,SAAS,EAAE,KAAK,MAAM;AAC1B,iBACG,OAAO,WAAW,EAClB,mBAAmB,EACnB,KAAK,CAAC,QAAe;AACpB,kBAAQ,GAAG;AAAA,QACb,CAAC;AAAA,MACL,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH;AAEA,SAAS,qBAAqB,EAAE,YAAY,IAAI,GAAmB;AACjE,SAAO,IAAI,QAAQ,aAAW;AAC5B,UAAM,SAAS,EAAE,KAAK,MAAM;AAC1B,WAAK,oBAAoB,EACtB,eAAe,EACf,aAAa,EACb,KAAK,CAAC,QAAe;AACpB,gBAAQ,GAAG;AAAA,MACb,CAAC;AAAA,IACL,CAAC;AAAA,EACH,CAAC;AACH;AAEA,SAAS,mBAAmB,EAAE,aAAa,YAAY,IAAI,GAAmB;AAC5E,QAAM,WAA0B,KAAK,oBAAoB;AAEzD,SAAO,IAAI,QAAQ,aAAW;AAC5B,UAAM,SAAS,EAAE,KAAK,MAAM;AAC1B,eACG,OAAO,WAAW,EAClB,mBAAmB,EACnB,KAAK,CAAC,QAAe;AACpB,gBAAQ,GAAG;AAAA,MACb,CAAC;AAAA,IACL,CAAC;AAAA,EACH,CAAC;AACH;AAEA,SAAS,KAAK,MAAM,GAAG,QAAQ,IAAY;AACzC,QAAM,QAAQ,uDAAuD,MAAM,EAAE;AAC7E,QAAM,QAAkB,CAAC;AACzB,MAAI,IAAI;AACR,UAAQ,SAAS,MAAM;AAEvB,MAAI,KAAK;AAEP,SAAK,IAAI,GAAG,IAAI,KAAK,IAAK,OAAM,CAAC,IAAI,MAAM,IAAK,KAAK,OAAO,IAAI,KAAM;AAAA,EACxE,OAAO;AAEL,QAAI;AAIJ,UAAM,CAAC,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI;AAC/C,UAAM,EAAE,IAAI;AAIZ,SAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACvB,UAAI,CAAC,MAAM,CAAC,GAAG;AACb,YAAI,IAAK,KAAK,OAAO,IAAI;AACzB,cAAM,CAAC,IAAI,MAAM,MAAM,KAAM,IAAI,IAAO,IAAM,CAAC;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AAEA,SAAO,MAAM,KAAK,EAAE;AACtB;AAaA,SAAS,eAAe,OAAyB;AAC/C,MAAI;AACJ,UAAQ,KAAK;AAAA,IACX,KAAK,KAAK,SAAS;AACjB,eAAS;AAAA,QACP,OAAO,MAAM;AAAA,QACb,OAAO,MAAM;AAAA,QACb,SAAS,MAAM;AAAA,QACf,SAAS,MAAM;AAAA,QACf,SAAS,MAAM;AAAA,QACf,SAAS,MAAM;AAAA,QACf,GAAG,MAAM;AAAA,QACT,GAAG,MAAM;AAAA,MACX;AACA;AAAA,IAEF,KAAK,KAAK,SAAS;AACjB,eAAS;AAAA,QACP,OAAO,MAAM,QAAQ,CAAC,EAAE;AAAA,QACxB,OAAO,MAAM,QAAQ,CAAC,EAAE;AAAA,QACxB,SAAS,MAAM,QAAQ,CAAC,EAAE;AAAA,QAC1B,SAAS,MAAM,QAAQ,CAAC,EAAE;AAAA,QAC1B,SAAS,MAAM,OAAO;AAAA,QACtB,SAAS,MAAM,OAAO;AAAA,QACtB,GAAG,MAAM,OAAO;AAAA,QAChB,GAAG,MAAM,OAAO;AAAA,MAClB;AACA;AAAA,IAEF,KAAK,KAAK,SAAS;AACjB,eAAS;AAAA,QACP,OAAO,MAAM,OAAO;AAAA,QACpB,OAAO,MAAM,OAAO;AAAA,QACpB,SAAS,MAAM,OAAO;AAAA,QACtB,SAAS,MAAM,OAAO;AAAA,QACtB,SAAS,MAAM,OAAO;AAAA,QACtB,SAAS,MAAM,OAAO;AAAA,QACtB,GAAG,MAAM,OAAO;AAAA,QAChB,GAAG,MAAM,OAAO;AAAA,MAClB;AACA;AAAA,IAEF,KAAK,KAAK,SAAS;AACjB,eAAS;AAAA,QACP,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,QAC/B,OAAO,MAAM,eAAe,CAAC,EAAE;AAAA,QAC/B,SAAS,MAAM,OAAO;AAAA,QACtB,SAAS,MAAM,OAAO;AAAA,QACtB,SAAS,MAAM,OAAO;AAAA,QACtB,SAAS,MAAM,OAAO;AAAA,QACtB,GAAG,MAAM,OAAO;AAAA,QAChB,GAAG,MAAM,OAAO;AAAA,MAClB;AACA;AAAA,IAEF;AACE,eAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AACA,cAAQ,KAAK,0DAAuB;AACpC;AAAA,EACJ;AACA,SAAO;AACT;AAEA,SAAS,cAAoB;AAC3B,MAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,SAAK,gBAAgB;AAAA,MACnB,aAAa;AAAA,MACb,aAAa;AAAA,QACX,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO,OAAO;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEA,SAAS,SAAkB;AACzB,SAAO,QAAQ,IAAI,aAAa;AAClC;AAEA,IAAI,YAAY;AAEhB,SAAS,kBAAkB,MAAiB;AAC1C,MAAI,QAAQ,KAAK,SAAS,KAAK;AAC7B;AAAA,EACF;AACA,MAAI,MAAM;AACR,gBAAY,SAAS,gBAAgB;AAGrC,aAAS,KAAK,UAAU,IAAI,WAAW;AAGvC,aAAS,KAAK,MAAM,MAAM,GAAG,CAAC,SAAS;AAAA,EACzC,OAAO;AACL,aAAS,KAAK,MAAM,MAAM;AAC1B,aAAS,KAAK,UAAU,OAAO,WAAW;AAE1C,aAAS,gBAAgB,YAAY;AAAA,EACvC;AACF;AAEA,SAAS,YAAY,MAAsB;AACzC,MAAI,CAAC,KAAM,QAAO;AAElB,SAAO,KAAK,YAAY,IAAI;AAC9B;AAEA,SAAS,eAAe,OAAgC;AACtD,MAAI,SAAS,OAAO,UAAU,UAAU;AACtC,QAAI,WAAW;AACf,WAAO,KAAK,KAAK,EAAE,QAAQ,SAAO;AAChC,YAAM,eAAe,IAAI,QAAQ,YAAY,KAAK,EAAE,YAAY;AAChE,kBAAY,GAAG,YAAY,IAAI,MAAM,GAAG,CAAC;AAAA,IAC3C,CAAC;AACD,WAAO;AAAA,EACT,WAAW,SAAS,OAAO,UAAU,UAAU;AAC7C,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAQA,SAAS,WACP,QACA,QACiB;AACjB,MACE,UACA,OAAO,WAAW,YAClB,UACA,OAAO,WAAW,UAClB;AACA,WAAO,OAAO,OAAO,CAAC,GAAG,QAAQ,MAAM;AAAA,EACzC;AACA,SAAO,eAAe,MAAM,IAAI,eAAe,MAAM;AACvD;AASA,SAAS,aAAa,OAAO,UAAU,eAAe;AACpD,MAAI,CAAC,MAAM,eAAe,MAAM,QAAQ,CAAC,GAAG;AAC1C,WAAO,IAAI;AAAA,MACT,gBAAgB,QAAQ,gBAAgB,aAAa;AAAA,IACvD;AAAA,EACF;AACF;AAGA,SAAS,OAAa;AAAC;","names":[]}
@@ -1,14 +1,17 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
3
- import { AtAccordionProps, AtAccordionState } from '../../../types/accordion';
4
- export default class AtAccordion extends React.Component<AtAccordionProps, AtAccordionState> {
5
- private isCompleted;
6
- private startOpen;
7
- static defaultProps: AtAccordionProps;
8
- static propTypes: InferProps<AtAccordionProps>;
9
- constructor(props: AtAccordionProps);
10
- private handleClick;
11
- private toggleWithAnimation;
12
- UNSAFE_componentWillReceiveProps(nextProps: AtAccordionProps): void;
13
- render(): JSX.Element;
1
+ import PropTypes from 'prop-types';
2
+ import { AtAccordionProps } from '../../../types/accordion';
3
+ declare function AtAccordion({ open, customStyle, className, title, note, icon, hasBorder, isAnimation, children, onClick }: AtAccordionProps): JSX.Element;
4
+ declare namespace AtAccordion {
5
+ var propTypes: {
6
+ customStyle: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
7
+ className: PropTypes.Requireable<NonNullable<string | any[] | null | undefined>>;
8
+ open: PropTypes.Requireable<boolean>;
9
+ isAnimation: PropTypes.Requireable<boolean>;
10
+ title: PropTypes.Requireable<string>;
11
+ note: PropTypes.Requireable<string>;
12
+ icon: PropTypes.Requireable<object>;
13
+ hasBorder: PropTypes.Requireable<boolean>;
14
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
15
+ };
14
16
  }
17
+ export default AtAccordion;
@@ -1,109 +1,88 @@
1
1
  import classNames from "classnames";
2
2
  import PropTypes from "prop-types";
3
- import React from "react";
3
+ import React, { useLayoutEffect, useRef, useState } from "react";
4
4
  import { Text, View } from "@tarojs/components";
5
5
  import { delayQuerySelector, uuid } from "../../common/utils";
6
- class AtAccordion extends React.Component {
7
- constructor(props) {
8
- super(props);
9
- this.handleClick = (event) => {
10
- const { open } = this.props;
11
- if (!this.isCompleted) return;
12
- this.props.onClick && this.props.onClick(!open, event);
13
- };
14
- this.isCompleted = true;
15
- this.startOpen = false;
16
- this.state = {
17
- componentId: uuid(),
18
- wrapperHeight: 0
19
- };
20
- }
21
- toggleWithAnimation() {
22
- const { open, isAnimation } = this.props;
23
- const { componentId } = this.state;
24
- if (!this.isCompleted || !isAnimation) return;
25
- this.isCompleted = false;
6
+ function AtAccordion({
7
+ open = false,
8
+ customStyle = "",
9
+ className = "",
10
+ title = "",
11
+ note = "",
12
+ icon = { value: "" },
13
+ hasBorder = true,
14
+ isAnimation = true,
15
+ children,
16
+ onClick
17
+ }) {
18
+ const isCompletedRef = useRef(true);
19
+ const [componentId] = useState(() => uuid());
20
+ const [wrapperHeight, setWrapperHeight] = useState(0);
21
+ const [startOpen, setStartOpen] = useState(false);
22
+ const [, setRenderEpoch] = useState(0);
23
+ const prevOpenRef = useRef(open);
24
+ const toggleWithAnimation = (wasOpen) => {
25
+ if (!isCompletedRef.current || !isAnimation) return;
26
+ isCompletedRef.current = false;
26
27
  delayQuerySelector(`#at-accordion__body-${componentId}`, 0).then((rect) => {
27
28
  const height = parseInt(rect[0].height.toString());
28
- const startHeight = open ? height : 0;
29
- const endHeight = open ? 0 : height;
30
- this.startOpen = false;
31
- this.setState(
32
- {
33
- wrapperHeight: startHeight
34
- },
35
- () => {
36
- setTimeout(() => {
37
- this.setState(
38
- {
39
- wrapperHeight: endHeight
40
- },
41
- () => {
42
- setTimeout(() => {
43
- this.isCompleted = true;
44
- this.setState({});
45
- }, 700);
46
- }
47
- );
48
- }, 100);
49
- }
50
- );
29
+ const startHeight = wasOpen ? height : 0;
30
+ const endHeight = wasOpen ? 0 : height;
31
+ setStartOpen(false);
32
+ setWrapperHeight(startHeight);
33
+ setTimeout(() => {
34
+ setWrapperHeight(endHeight);
35
+ setTimeout(() => {
36
+ isCompletedRef.current = true;
37
+ setRenderEpoch((epoch) => epoch + 1);
38
+ }, 700);
39
+ }, 100);
51
40
  });
52
- }
53
- UNSAFE_componentWillReceiveProps(nextProps) {
54
- if (nextProps.open !== this.props.open) {
55
- this.startOpen = !!nextProps.open && !!nextProps.isAnimation;
56
- this.toggleWithAnimation();
41
+ };
42
+ useLayoutEffect(() => {
43
+ if (prevOpenRef.current !== open) {
44
+ setStartOpen(!!open && !!isAnimation);
45
+ toggleWithAnimation(prevOpenRef.current);
46
+ prevOpenRef.current = open;
57
47
  }
48
+ }, [open, isAnimation]);
49
+ const handleClick = (event) => {
50
+ if (!isCompletedRef.current) return;
51
+ onClick && onClick(!open, event);
52
+ };
53
+ const rootCls = classNames("at-accordion", className);
54
+ const prefixClass = icon && icon.prefixClass || "at-icon";
55
+ const iconCls = classNames({
56
+ [prefixClass]: true,
57
+ [`${prefixClass}-${icon && icon.value}`]: icon && icon.value,
58
+ "at-accordion__icon": true
59
+ });
60
+ const headerCls = classNames("at-accordion__header", {
61
+ "at-accordion__header--noborder": !hasBorder
62
+ });
63
+ const arrowCls = classNames("at-accordion__arrow", {
64
+ "at-accordion__arrow--folded": !!open
65
+ });
66
+ const contentCls = classNames("at-accordion__content", {
67
+ "at-accordion__content--inactive": !open && isCompletedRef.current || startOpen
68
+ });
69
+ const iconStyle = {
70
+ color: icon && icon.color || "",
71
+ fontSize: icon && `${icon.size}px` || ""
72
+ };
73
+ const contentStyle = { height: `${wrapperHeight}px` };
74
+ if (isCompletedRef.current) {
75
+ contentStyle.height = "";
58
76
  }
59
- render() {
60
- const { customStyle, className, title, icon, hasBorder, open, note } = this.props;
61
- const { wrapperHeight } = this.state;
62
- const rootCls = classNames("at-accordion", className);
63
- const prefixClass = icon && icon.prefixClass || "at-icon";
64
- const iconCls = classNames({
65
- [prefixClass]: true,
66
- [`${prefixClass}-${icon && icon.value}`]: icon && icon.value,
67
- "at-accordion__icon": true
68
- });
69
- const headerCls = classNames("at-accordion__header", {
70
- "at-accordion__header--noborder": !hasBorder
71
- });
72
- const arrowCls = classNames("at-accordion__arrow", {
73
- "at-accordion__arrow--folded": !!open
74
- });
75
- const contentCls = classNames("at-accordion__content", {
76
- "at-accordion__content--inactive": !open && this.isCompleted || this.startOpen
77
- });
78
- const iconStyle = {
79
- color: icon && icon.color || "",
80
- fontSize: icon && `${icon.size}px` || ""
81
- };
82
- const contentStyle = { height: `${wrapperHeight}px` };
83
- if (this.isCompleted) {
84
- contentStyle.height = "";
85
- }
86
- const { componentId } = this.state;
87
- return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: headerCls, onClick: this.handleClick }, icon && icon.value && /* @__PURE__ */ React.createElement(Text, { className: iconCls, style: iconStyle }), /* @__PURE__ */ React.createElement(View, { className: "at-accordion__info" }, /* @__PURE__ */ React.createElement(View, { className: "at-accordion__info__title" }, title), /* @__PURE__ */ React.createElement(View, { className: "at-accordion__info__note" }, note)), /* @__PURE__ */ React.createElement(View, { className: arrowCls }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-chevron-down" }))), /* @__PURE__ */ React.createElement(View, { style: contentStyle, className: contentCls }, /* @__PURE__ */ React.createElement(
88
- View,
89
- {
90
- id: `at-accordion__body-${componentId}`,
91
- className: "at-accordion__body"
92
- },
93
- this.props.children
94
- )));
95
- }
77
+ return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(View, { className: headerCls, onClick: handleClick }, icon && icon.value && /* @__PURE__ */ React.createElement(Text, { className: iconCls, style: iconStyle }), /* @__PURE__ */ React.createElement(View, { className: "at-accordion__info" }, /* @__PURE__ */ React.createElement(View, { className: "at-accordion__info__title" }, title), /* @__PURE__ */ React.createElement(View, { className: "at-accordion__info__note" }, note)), /* @__PURE__ */ React.createElement(View, { className: arrowCls }, /* @__PURE__ */ React.createElement(Text, { className: "at-icon at-icon-chevron-down" }))), /* @__PURE__ */ React.createElement(View, { style: contentStyle, className: contentCls }, /* @__PURE__ */ React.createElement(
78
+ View,
79
+ {
80
+ id: `at-accordion__body-${componentId}`,
81
+ className: "at-accordion__body"
82
+ },
83
+ children
84
+ )));
96
85
  }
97
- AtAccordion.defaultProps = {
98
- open: false,
99
- customStyle: "",
100
- className: "",
101
- title: "",
102
- note: "",
103
- icon: { value: "" },
104
- hasBorder: true,
105
- isAnimation: true
106
- };
107
86
  AtAccordion.propTypes = {
108
87
  customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
109
88
  className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
@@ -115,7 +94,8 @@ AtAccordion.propTypes = {
115
94
  hasBorder: PropTypes.bool,
116
95
  onClick: PropTypes.func
117
96
  };
97
+ var accordion_default = AtAccordion;
118
98
  export {
119
- AtAccordion as default
99
+ accordion_default as default
120
100
  };
121
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/accordion/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtAccordionProps, AtAccordionState } from '../../../types/accordion'\nimport { delayQuerySelector, uuid } from '../../common/utils'\n\nexport default class AtAccordion extends React.Component<\n AtAccordionProps,\n AtAccordionState\n> {\n private isCompleted: boolean\n private startOpen: boolean\n\n public static defaultProps: AtAccordionProps\n public static propTypes: InferProps<AtAccordionProps>\n\n public constructor(props: AtAccordionProps) {\n super(props)\n this.isCompleted = true\n this.startOpen = false\n this.state = {\n componentId: uuid(),\n wrapperHeight: 0\n }\n }\n\n private handleClick = (event: CommonEvent): void => {\n const { open } = this.props\n if (!this.isCompleted) return\n\n this.props.onClick && this.props.onClick(!open, event)\n }\n\n private toggleWithAnimation(): void {\n const { open, isAnimation } = this.props\n const { componentId } = this.state\n if (!this.isCompleted || !isAnimation) return\n\n this.isCompleted = false\n\n delayQuerySelector(`#at-accordion__body-${componentId}`, 0).then(rect => {\n const height = parseInt(rect[0].height.toString())\n const startHeight = open ? height : 0\n const endHeight = open ? 0 : height\n this.startOpen = false\n this.setState(\n {\n wrapperHeight: startHeight\n },\n () => {\n setTimeout(() => {\n this.setState(\n {\n wrapperHeight: endHeight\n },\n () => {\n setTimeout(() => {\n this.isCompleted = true\n this.setState({})\n }, 700)\n }\n )\n }, 100)\n }\n )\n })\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtAccordionProps): void {\n if (nextProps.open !== this.props.open) {\n this.startOpen = !!nextProps.open && !!nextProps.isAnimation\n this.toggleWithAnimation()\n }\n }\n\n public render(): JSX.Element {\n const { customStyle, className, title, icon, hasBorder, open, note } =\n this.props\n const { wrapperHeight } = this.state\n\n const rootCls = classNames('at-accordion', className)\n const prefixClass = (icon && icon.prefixClass) || 'at-icon'\n const iconCls = classNames({\n [prefixClass]: true,\n [`${prefixClass}-${icon && icon.value}`]: icon && icon.value,\n 'at-accordion__icon': true\n })\n const headerCls = classNames('at-accordion__header', {\n 'at-accordion__header--noborder': !hasBorder\n })\n const arrowCls = classNames('at-accordion__arrow', {\n 'at-accordion__arrow--folded': !!open\n })\n const contentCls = classNames('at-accordion__content', {\n 'at-accordion__content--inactive':\n (!open && this.isCompleted) || this.startOpen\n })\n const iconStyle = {\n color: (icon && icon.color) || '',\n fontSize: (icon && `${icon.size}px`) || ''\n }\n const contentStyle = { height: `${wrapperHeight}px` }\n\n if (this.isCompleted) {\n contentStyle.height = ''\n }\n\n const { componentId } = this.state\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={headerCls} onClick={this.handleClick}>\n {icon && icon.value && (\n <Text className={iconCls} style={iconStyle}></Text>\n )}\n <View className='at-accordion__info'>\n <View className='at-accordion__info__title'>{title}</View>\n <View className='at-accordion__info__note'>{note}</View>\n </View>\n <View className={arrowCls}>\n <Text className='at-icon at-icon-chevron-down'></Text>\n </View>\n </View>\n <View style={contentStyle} className={contentCls}>\n <View\n id={`at-accordion__body-${componentId}`}\n className='at-accordion__body'\n >\n {this.props.children}\n </View>\n </View>\n </View>\n )\n }\n}\n\nAtAccordion.defaultProps = {\n open: false,\n customStyle: '',\n className: '',\n title: '',\n note: '',\n icon: { value: '' },\n hasBorder: true,\n isAnimation: true\n}\n\nAtAccordion.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n open: PropTypes.bool,\n isAnimation: PropTypes.bool,\n title: PropTypes.string,\n note: PropTypes.string,\n icon: PropTypes.object,\n hasBorder: PropTypes.bool,\n onClick: PropTypes.func\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/accordion/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useLayoutEffect, useRef, useState } from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtAccordionProps } from '../../../types/accordion'\nimport { delayQuerySelector, uuid } from '../../common/utils'\n\nfunction AtAccordion({\n open = false,\n customStyle = '',\n className = '',\n title = '',\n note = '',\n icon = { value: '' },\n hasBorder = true,\n isAnimation = true,\n children,\n onClick\n}: AtAccordionProps): JSX.Element {\n const isCompletedRef = useRef(true)\n const [componentId] = useState(() => uuid())\n const [wrapperHeight, setWrapperHeight] = useState(0)\n const [startOpen, setStartOpen] = useState(false)\n const [, setRenderEpoch] = useState(0)\n const prevOpenRef = useRef(open)\n\n const toggleWithAnimation = (wasOpen: boolean): void => {\n if (!isCompletedRef.current || !isAnimation) return\n\n isCompletedRef.current = false\n\n delayQuerySelector(`#at-accordion__body-${componentId}`, 0).then(rect => {\n const height = parseInt(rect[0].height.toString())\n const startHeight = wasOpen ? height : 0\n const endHeight = wasOpen ? 0 : height\n setStartOpen(false)\n setWrapperHeight(startHeight)\n setTimeout(() => {\n setWrapperHeight(endHeight)\n setTimeout(() => {\n isCompletedRef.current = true\n setRenderEpoch(epoch => epoch + 1)\n }, 700)\n }, 100)\n })\n }\n\n useLayoutEffect(() => {\n if (prevOpenRef.current !== open) {\n setStartOpen(!!open && !!isAnimation)\n toggleWithAnimation(prevOpenRef.current)\n prevOpenRef.current = open\n }\n }, [open, isAnimation])\n\n const handleClick = (event: CommonEvent): void => {\n if (!isCompletedRef.current) return\n\n onClick && onClick(!open, event)\n }\n\n const rootCls = classNames('at-accordion', className)\n const prefixClass = (icon && icon.prefixClass) || 'at-icon'\n const iconCls = classNames({\n [prefixClass]: true,\n [`${prefixClass}-${icon && icon.value}`]: icon && icon.value,\n 'at-accordion__icon': true\n })\n const headerCls = classNames('at-accordion__header', {\n 'at-accordion__header--noborder': !hasBorder\n })\n const arrowCls = classNames('at-accordion__arrow', {\n 'at-accordion__arrow--folded': !!open\n })\n const contentCls = classNames('at-accordion__content', {\n 'at-accordion__content--inactive':\n (!open && isCompletedRef.current) || startOpen\n })\n const iconStyle = {\n color: (icon && icon.color) || '',\n fontSize: (icon && `${icon.size}px`) || ''\n }\n const contentStyle: { height?: string } = { height: `${wrapperHeight}px` }\n\n if (isCompletedRef.current) {\n contentStyle.height = ''\n }\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={headerCls} onClick={handleClick}>\n {icon && icon.value && (\n <Text className={iconCls} style={iconStyle}></Text>\n )}\n <View className='at-accordion__info'>\n <View className='at-accordion__info__title'>{title}</View>\n <View className='at-accordion__info__note'>{note}</View>\n </View>\n <View className={arrowCls}>\n <Text className='at-icon at-icon-chevron-down'></Text>\n </View>\n </View>\n <View style={contentStyle} className={contentCls}>\n <View\n id={`at-accordion__body-${componentId}`}\n className='at-accordion__body'\n >\n {children}\n </View>\n </View>\n </View>\n )\n}\n\nAtAccordion.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n open: PropTypes.bool,\n isAnimation: PropTypes.bool,\n title: PropTypes.string,\n note: PropTypes.string,\n icon: PropTypes.object,\n hasBorder: PropTypes.bool,\n onClick: PropTypes.func\n}\n\nexport default AtAccordion\n"],"mappings":"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","names":[]}
@@ -1,5 +1,3 @@
1
- import React from 'react';
2
1
  import { AtActionSheetBodyProps } from '../../../../types/action-sheet';
3
- export default class AtActionSheetBody extends React.Component<AtActionSheetBodyProps> {
4
- render(): JSX.Element;
5
- }
2
+ declare function AtActionSheetBody({ className, children }: AtActionSheetBodyProps): JSX.Element;
3
+ export default AtActionSheetBody;
@@ -1,13 +1,15 @@
1
1
  import classNames from "classnames";
2
2
  import React from "react";
3
3
  import { View } from "@tarojs/components";
4
- class AtActionSheetBody extends React.Component {
5
- render() {
6
- const rootClass = classNames("at-action-sheet__body", this.props.className);
7
- return /* @__PURE__ */ React.createElement(View, { className: rootClass }, this.props.children);
8
- }
4
+ function AtActionSheetBody({
5
+ className,
6
+ children
7
+ }) {
8
+ const rootClass = classNames("at-action-sheet__body", className);
9
+ return /* @__PURE__ */ React.createElement(View, { className: rootClass }, children);
9
10
  }
11
+ var body_default = AtActionSheetBody;
10
12
  export {
11
- AtActionSheetBody as default
13
+ body_default as default
12
14
  };
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/action-sheet/body/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetBodyProps } from '../../../../types/action-sheet'\n\nexport default class AtActionSheetBody extends React.Component<AtActionSheetBodyProps> {\n public render(): JSX.Element {\n const rootClass = classNames('at-action-sheet__body', this.props.className)\n return <View className={rootClass}>{this.props.children}</View>\n }\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,SAAS,YAAY;AAGrB,MAAO,0BAAwC,MAAM,UAAkC;AAAA,EAC9E,SAAsB;AAC3B,UAAM,YAAY,WAAW,yBAAyB,KAAK,MAAM,SAAS;AAC1E,WAAO,oCAAC,QAAK,WAAW,aAAY,KAAK,MAAM,QAAS;AAAA,EAC1D;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/action-sheet/body/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetBodyProps } from '../../../../types/action-sheet'\n\nfunction AtActionSheetBody({\n className,\n children\n}: AtActionSheetBodyProps): JSX.Element {\n const rootClass = classNames('at-action-sheet__body', className)\n return <View className={rootClass}>{children}</View>\n}\n\nexport default AtActionSheetBody\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,SAAS,YAAY;AAGrB,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AACF,GAAwC;AACtC,QAAM,YAAY,WAAW,yBAAyB,SAAS;AAC/D,SAAO,oCAAC,QAAK,WAAW,aAAY,QAAS;AAC/C;AAEA,IAAO,eAAQ;","names":[]}
@@ -1,9 +1,9 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtActionSheetItemProps } from '../../../../../types/action-sheet';
4
- export default class AtActionSheetItem extends React.Component<AtActionSheetItemProps> {
5
- static defaultProps: AtActionSheetItemProps;
6
- static propTypes: InferProps<AtActionSheetItemProps>;
7
- private handleClick;
8
- render(): JSX.Element;
3
+ declare function AtActionSheetItem({ className, children, onClick }: AtActionSheetItemProps): JSX.Element;
4
+ declare namespace AtActionSheetItem {
5
+ var propTypes: {
6
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
7
+ };
9
8
  }
9
+ export default AtActionSheetItem;
@@ -2,24 +2,24 @@ import classNames from "classnames";
2
2
  import PropTypes from "prop-types";
3
3
  import React from "react";
4
4
  import { View } from "@tarojs/components";
5
- class AtActionSheetItem extends React.Component {
6
- constructor() {
7
- super(...arguments);
8
- this.handleClick = (args) => {
9
- if (typeof this.props.onClick === "function") {
10
- this.props.onClick(args);
11
- }
12
- };
13
- }
14
- render() {
15
- const rootClass = classNames("at-action-sheet__item", this.props.className);
16
- return /* @__PURE__ */ React.createElement(View, { className: rootClass, onClick: this.handleClick }, this.props.children);
17
- }
5
+ function AtActionSheetItem({
6
+ className,
7
+ children,
8
+ onClick
9
+ }) {
10
+ const handleClick = (args) => {
11
+ if (typeof onClick === "function") {
12
+ onClick(args);
13
+ }
14
+ };
15
+ const rootClass = classNames("at-action-sheet__item", className);
16
+ return /* @__PURE__ */ React.createElement(View, { className: rootClass, onClick: handleClick }, children);
18
17
  }
19
18
  AtActionSheetItem.propTypes = {
20
19
  onClick: PropTypes.func
21
20
  };
21
+ var item_default = AtActionSheetItem;
22
22
  export {
23
- AtActionSheetItem as default
23
+ item_default as default
24
24
  };
25
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/action-sheet/body/item/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetItemProps } from '../../../../../types/action-sheet'\n\nexport default class AtActionSheetItem extends React.Component<AtActionSheetItemProps> {\n public static defaultProps: AtActionSheetItemProps\n public static propTypes: InferProps<AtActionSheetItemProps>\n\n private handleClick = (args: any): void => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(args)\n }\n }\n\n public render(): JSX.Element {\n const rootClass = classNames('at-action-sheet__item', this.props.className)\n\n return (\n <View className={rootClass} onClick={this.handleClick}>\n {this.props.children}\n </View>\n )\n }\n}\n\nAtActionSheetItem.propTypes = {\n onClick: PropTypes.func\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,YAAY;AAGrB,MAAO,0BAAwC,MAAM,UAAkC;AAAA,EAAvF;AAAA;AAIE,SAAQ,cAAc,CAAC,SAAoB;AACzC,UAAI,OAAO,KAAK,MAAM,YAAY,YAAY;AAC5C,aAAK,MAAM,QAAQ,IAAI;AAAA,MACzB;AAAA,IACF;AAAA;AAAA,EAEO,SAAsB;AAC3B,UAAM,YAAY,WAAW,yBAAyB,KAAK,MAAM,SAAS;AAE1E,WACE,oCAAC,QAAK,WAAW,WAAW,SAAS,KAAK,eACvC,KAAK,MAAM,QACd;AAAA,EAEJ;AACF;AAEA,kBAAkB,YAAY;AAAA,EAC5B,SAAS,UAAU;AACrB;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/action-sheet/body/item/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetItemProps } from '../../../../../types/action-sheet'\n\nfunction AtActionSheetItem({\n className,\n children,\n onClick\n}: AtActionSheetItemProps): JSX.Element {\n const handleClick = (args: any): void => {\n if (typeof onClick === 'function') {\n onClick(args)\n }\n }\n\n const rootClass = classNames('at-action-sheet__item', className)\n\n return (\n <View className={rootClass} onClick={handleClick}>\n {children}\n </View>\n )\n}\n\nAtActionSheetItem.propTypes = {\n onClick: PropTypes.func\n}\n\nexport default AtActionSheetItem\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAAe;AACtB,OAAO,WAAW;AAClB,SAAS,YAAY;AAGrB,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAAwC;AACtC,QAAM,cAAc,CAAC,SAAoB;AACvC,QAAI,OAAO,YAAY,YAAY;AACjC,cAAQ,IAAI;AAAA,IACd;AAAA,EACF;AAEA,QAAM,YAAY,WAAW,yBAAyB,SAAS;AAE/D,SACE,oCAAC,QAAK,WAAW,WAAW,SAAS,eAClC,QACH;AAEJ;AAEA,kBAAkB,YAAY;AAAA,EAC5B,SAAS,UAAU;AACrB;AAEA,IAAO,eAAQ;","names":[]}
@@ -1,9 +1,9 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
1
+ import PropTypes from 'prop-types';
3
2
  import { AtActionSheetFooterProps } from '../../../../types/action-sheet';
4
- export default class AtActionSheetFooter extends React.Component<AtActionSheetFooterProps> {
5
- static defaultProps: AtActionSheetFooterProps;
6
- static propTypes: InferProps<AtActionSheetFooterProps>;
7
- private handleClick;
8
- render(): JSX.Element;
3
+ declare function AtActionSheetFooter({ className, children, onClick }: AtActionSheetFooterProps): JSX.Element;
4
+ declare namespace AtActionSheetFooter {
5
+ var propTypes: {
6
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
7
+ };
9
8
  }
9
+ export default AtActionSheetFooter;
@@ -2,27 +2,24 @@ import classNames from "classnames";
2
2
  import PropTypes from "prop-types";
3
3
  import React from "react";
4
4
  import { View } from "@tarojs/components";
5
- class AtActionSheetFooter extends React.Component {
6
- constructor() {
7
- super(...arguments);
8
- this.handleClick = (...args) => {
9
- if (typeof this.props.onClick === "function") {
10
- this.props.onClick(...args);
11
- }
12
- };
13
- }
14
- render() {
15
- const rootClass = classNames(
16
- "at-action-sheet__footer",
17
- this.props.className
18
- );
19
- return /* @__PURE__ */ React.createElement(View, { onClick: this.handleClick, className: rootClass }, this.props.children);
20
- }
5
+ function AtActionSheetFooter({
6
+ className,
7
+ children,
8
+ onClick
9
+ }) {
10
+ const handleClick = (...args) => {
11
+ if (typeof onClick === "function") {
12
+ onClick(...args);
13
+ }
14
+ };
15
+ const rootClass = classNames("at-action-sheet__footer", className);
16
+ return /* @__PURE__ */ React.createElement(View, { onClick: handleClick, className: rootClass }, children);
21
17
  }
22
18
  AtActionSheetFooter.propTypes = {
23
19
  onClick: PropTypes.func
24
20
  };
21
+ var footer_default = AtActionSheetFooter;
25
22
  export {
26
- AtActionSheetFooter as default
23
+ footer_default as default
27
24
  };
28
25
  //# sourceMappingURL=index.js.map