taro-ui 3.3.2 → 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 (561) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +85 -0
  3. package/{lib → dist}/common/utils.d.ts +2 -1
  4. package/{lib → dist}/common/utils.js +3 -0
  5. package/{lib → dist}/common/utils.js.map +1 -1
  6. package/dist/components/accordion/index.d.ts +17 -0
  7. package/dist/components/accordion/index.js +101 -0
  8. package/dist/components/accordion/index.js.map +1 -0
  9. package/dist/components/action-sheet/body/index.d.ts +3 -0
  10. package/dist/components/action-sheet/body/index.js +15 -0
  11. package/dist/components/action-sheet/body/index.js.map +1 -0
  12. package/dist/components/action-sheet/body/item/index.d.ts +9 -0
  13. package/dist/components/action-sheet/body/item/index.js +25 -0
  14. package/dist/components/action-sheet/body/item/index.js.map +1 -0
  15. package/dist/components/action-sheet/footer/index.d.ts +9 -0
  16. package/dist/components/action-sheet/footer/index.js +25 -0
  17. package/dist/components/action-sheet/footer/index.js.map +1 -0
  18. package/dist/components/action-sheet/header/index.d.ts +3 -0
  19. package/dist/components/action-sheet/header/index.js +15 -0
  20. package/dist/components/action-sheet/header/index.js.map +1 -0
  21. package/dist/components/action-sheet/index.d.ts +13 -0
  22. package/dist/components/action-sheet/index.js +72 -0
  23. package/dist/components/action-sheet/index.js.map +1 -0
  24. package/dist/components/activity-indicator/index.d.ts +14 -0
  25. package/dist/components/activity-indicator/index.js +36 -0
  26. package/dist/components/activity-indicator/index.js.map +1 -0
  27. package/dist/components/avatar/index.d.ts +15 -0
  28. package/dist/components/avatar/index.js +61 -0
  29. package/dist/components/avatar/index.js.map +1 -0
  30. package/dist/components/badge/index.d.ts +13 -0
  31. package/dist/components/badge/index.js +35 -0
  32. package/dist/components/badge/index.js.map +1 -0
  33. package/dist/components/button/index.d.ts +30 -0
  34. package/dist/components/button/index.js +162 -0
  35. package/dist/components/button/index.js.map +1 -0
  36. package/dist/components/calendar/body/index.d.ts +3 -0
  37. package/dist/components/calendar/body/index.js +269 -0
  38. package/dist/components/calendar/body/index.js.map +1 -0
  39. package/dist/components/calendar/controller/index.d.ts +3 -0
  40. package/dist/components/calendar/controller/index.js +55 -0
  41. package/dist/components/calendar/controller/index.js.map +1 -0
  42. package/dist/components/calendar/index.d.ts +3 -0
  43. package/dist/components/calendar/index.js +262 -0
  44. package/dist/components/calendar/index.js.map +1 -0
  45. package/{lib → dist}/components/calendar/ui/date-list/index.d.ts +2 -6
  46. package/dist/components/calendar/ui/date-list/index.js +49 -0
  47. package/dist/components/calendar/ui/date-list/index.js.map +1 -0
  48. package/dist/components/calendar/ui/day-list/index.d.ts +2 -0
  49. package/dist/components/calendar/ui/day-list/index.js +12 -0
  50. package/dist/components/calendar/ui/day-list/index.js.map +1 -0
  51. package/dist/components/card/index.d.ts +17 -0
  52. package/dist/components/card/index.js +79 -0
  53. package/dist/components/card/index.js.map +1 -0
  54. package/dist/components/checkbox/index.d.ts +13 -0
  55. package/dist/components/checkbox/index.js +54 -0
  56. package/dist/components/checkbox/index.js.map +1 -0
  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 +20 -0
  64. package/dist/components/countdown/index.js +217 -0
  65. package/dist/components/countdown/index.js.map +1 -0
  66. package/dist/components/countdown/item/index.d.ts +10 -0
  67. package/dist/components/countdown/item/index.js +21 -0
  68. package/dist/components/countdown/item/index.js.map +1 -0
  69. package/dist/components/curtain/index.d.ts +13 -0
  70. package/dist/components/curtain/index.js +53 -0
  71. package/dist/components/curtain/index.js.map +1 -0
  72. package/dist/components/divider/index.d.ts +15 -0
  73. package/dist/components/divider/index.js +48 -0
  74. package/dist/components/divider/index.js.map +1 -0
  75. package/dist/components/drawer/index.d.ts +14 -0
  76. package/dist/components/drawer/index.js +121 -0
  77. package/dist/components/drawer/index.js.map +1 -0
  78. package/dist/components/fab/index.d.ts +10 -0
  79. package/dist/components/fab/index.js +29 -0
  80. package/dist/components/fab/index.js.map +1 -0
  81. package/dist/components/flex/index.d.ts +13 -0
  82. package/{lib → dist}/components/flex/index.js +17 -18
  83. package/dist/components/flex/index.js.map +1 -0
  84. package/dist/components/flex/item/index.d.ts +13 -0
  85. package/dist/components/flex/item/index.js +33 -0
  86. package/dist/components/flex/item/index.js.map +1 -0
  87. package/dist/components/float-layout/index.d.ts +21 -0
  88. package/dist/components/float-layout/index.js +88 -0
  89. package/dist/components/float-layout/index.js.map +1 -0
  90. package/dist/components/form/index.d.ts +13 -0
  91. package/dist/components/form/index.js +43 -0
  92. package/dist/components/form/index.js.map +1 -0
  93. package/dist/components/grid/index.d.ts +24 -0
  94. package/dist/components/grid/index.js +96 -0
  95. package/dist/components/grid/index.js.map +1 -0
  96. package/dist/components/icon/index.d.ts +15 -0
  97. package/dist/components/icon/index.js +44 -0
  98. package/dist/components/icon/index.js.map +1 -0
  99. package/dist/components/image-picker/index.d.ts +21 -0
  100. package/dist/components/image-picker/index.js +145 -0
  101. package/dist/components/image-picker/index.js.map +1 -0
  102. package/dist/components/indexes/index.d.ts +17 -0
  103. package/dist/components/indexes/index.js +261 -0
  104. package/dist/components/indexes/index.js.map +1 -0
  105. package/dist/components/input/index.d.ts +39 -0
  106. package/dist/components/input/index.js +223 -0
  107. package/dist/components/input/index.js.map +1 -0
  108. package/dist/components/input-number/index.d.ts +22 -0
  109. package/dist/components/input-number/index.js +174 -0
  110. package/dist/components/input-number/index.js.map +1 -0
  111. package/dist/components/list/index.d.ts +9 -0
  112. package/dist/components/list/index.js +26 -0
  113. package/dist/components/list/index.js.map +1 -0
  114. package/dist/components/list/item/index.d.ts +29 -0
  115. package/dist/components/list/item/index.js +124 -0
  116. package/dist/components/list/item/index.js.map +1 -0
  117. package/dist/components/load-more/index.d.ts +17 -0
  118. package/dist/components/load-more/index.js +51 -0
  119. package/dist/components/load-more/index.js.map +1 -0
  120. package/dist/components/loading/index.d.ts +13 -0
  121. package/dist/components/loading/index.js +26 -0
  122. package/dist/components/loading/index.js.map +1 -0
  123. package/dist/components/message/index.d.ts +10 -0
  124. package/dist/components/message/index.js +64 -0
  125. package/dist/components/message/index.js.map +1 -0
  126. package/dist/components/modal/action/index.d.ts +9 -0
  127. package/dist/components/modal/action/index.js +26 -0
  128. package/dist/components/modal/action/index.js.map +1 -0
  129. package/dist/components/modal/content/index.d.ts +3 -0
  130. package/dist/components/modal/content/index.js +15 -0
  131. package/dist/components/modal/content/index.js.map +1 -0
  132. package/dist/components/modal/header/index.d.ts +3 -0
  133. package/dist/components/modal/header/index.js +15 -0
  134. package/dist/components/modal/header/index.js.map +1 -0
  135. package/dist/components/modal/index.d.ts +17 -0
  136. package/dist/components/modal/index.js +92 -0
  137. package/dist/components/modal/index.js.map +1 -0
  138. package/dist/components/nav-bar/index.d.ts +22 -0
  139. package/dist/components/nav-bar/index.js +201 -0
  140. package/dist/components/nav-bar/index.js.map +1 -0
  141. package/dist/components/noticebar/index.d.ts +18 -0
  142. package/dist/components/noticebar/index.js +173 -0
  143. package/dist/components/noticebar/index.js.map +1 -0
  144. package/dist/components/pagination/index.d.ts +14 -0
  145. package/dist/components/pagination/index.js +90 -0
  146. package/dist/components/pagination/index.js.map +1 -0
  147. package/dist/components/progress/index.d.ts +13 -0
  148. package/dist/components/progress/index.js +56 -0
  149. package/dist/components/progress/index.js.map +1 -0
  150. package/dist/components/radio/index.d.ts +13 -0
  151. package/dist/components/radio/index.js +50 -0
  152. package/dist/components/radio/index.js.map +1 -0
  153. package/dist/components/range/index.d.ts +20 -0
  154. package/dist/components/range/index.js +200 -0
  155. package/dist/components/range/index.js.map +1 -0
  156. package/dist/components/rate/index.d.ts +15 -0
  157. package/dist/components/rate/index.js +67 -0
  158. package/dist/components/rate/index.js.map +1 -0
  159. package/dist/components/search-bar/index.d.ts +24 -0
  160. package/dist/components/search-bar/index.js +150 -0
  161. package/dist/components/search-bar/index.js.map +1 -0
  162. package/dist/components/segmented-control/index.d.ts +16 -0
  163. package/dist/components/segmented-control/index.js +70 -0
  164. package/dist/components/segmented-control/index.js.map +1 -0
  165. package/dist/components/slider/index.d.ts +22 -0
  166. package/dist/components/slider/index.js +91 -0
  167. package/dist/components/slider/index.js.map +1 -0
  168. package/dist/components/steps/index.d.ts +13 -0
  169. package/dist/components/steps/index.js +62 -0
  170. package/dist/components/steps/index.js.map +1 -0
  171. package/dist/components/swipe-action/index.d.ts +14 -0
  172. package/dist/components/swipe-action/index.js +223 -0
  173. package/dist/components/swipe-action/index.js.map +1 -0
  174. package/dist/components/swipe-action/options/index.d.ts +3 -0
  175. package/dist/components/swipe-action/options/index.js +25 -0
  176. package/dist/components/swipe-action/options/index.js.map +1 -0
  177. package/dist/components/switch/index.d.ts +16 -0
  178. package/dist/components/switch/index.js +54 -0
  179. package/dist/components/switch/index.js.map +1 -0
  180. package/dist/components/tab-bar/index.d.ts +19 -0
  181. package/dist/components/tab-bar/index.js +143 -0
  182. package/dist/components/tab-bar/index.js.map +1 -0
  183. package/dist/components/tabs/index.d.ts +18 -0
  184. package/dist/components/tabs/index.js +230 -0
  185. package/dist/components/tabs/index.js.map +1 -0
  186. package/dist/components/tabs-pane/index.d.ts +13 -0
  187. package/dist/components/tabs-pane/index.js +41 -0
  188. package/dist/components/tabs-pane/index.js.map +1 -0
  189. package/dist/components/tag/index.d.ts +16 -0
  190. package/dist/components/tag/index.js +66 -0
  191. package/dist/components/tag/index.js.map +1 -0
  192. package/dist/components/textarea/index.d.ts +31 -0
  193. package/dist/components/textarea/index.js +121 -0
  194. package/dist/components/textarea/index.js.map +1 -0
  195. package/dist/components/timeline/index.d.ts +11 -0
  196. package/dist/components/timeline/index.js +70 -0
  197. package/dist/components/timeline/index.js.map +1 -0
  198. package/dist/components/toast/img.json +5 -0
  199. package/dist/components/toast/index.d.ts +17 -0
  200. package/dist/components/toast/index.js +115 -0
  201. package/dist/components/toast/index.js.map +1 -0
  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/{lib → dist}/index.d.ts +3 -0
  206. package/dist/index.esm.js +5856 -0
  207. package/dist/index.esm.js.map +1 -0
  208. package/dist/index.js +5937 -0
  209. package/dist/index.js.map +1 -0
  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/{lib → dist}/style/components/avatar.scss +1 -1
  223. package/{lib → dist}/style/components/badge.scss +7 -2
  224. package/{lib → dist}/style/components/calendar.scss +1 -1
  225. package/{lib → dist}/style/components/countdown.scss +2 -1
  226. package/{lib → dist}/style/components/flex.scss +1 -1
  227. package/{lib → dist}/style/components/grid.scss +2 -2
  228. package/{lib → dist}/style/components/icon.scss +302 -101
  229. package/{lib → dist}/style/components/input.scss +2 -2
  230. package/{lib → dist}/style/components/progress.scss +1 -1
  231. package/{lib → dist}/style/components/search-bar.scss +1 -1
  232. package/{lib → dist}/style/components/steps.scss +2 -2
  233. package/{lib → dist}/style/components/tabs.scss +1 -1
  234. package/{lib → dist}/style/components/tag.scss +1 -1
  235. package/{lib → dist}/style/components/timeline.scss +1 -1
  236. package/{lib → dist}/style/components/toast.scss +7 -3
  237. package/{lib → dist}/style/index.css +176 -176
  238. package/dist/style/index.css.map +1 -0
  239. package/{lib → dist}/style/mixins/libs/hairline.scss +4 -19
  240. package/{lib → dist}/style/mixins/libs/shade.scss +3 -6
  241. package/{lib → dist}/style/mixins/libs/tint.scss +4 -7
  242. package/{lib → dist}/style/themes/purple.scss +15 -15
  243. package/{lib → dist}/style/themes/red.scss +16 -13
  244. package/{lib → dist}/style/variables/default.scss +69 -73
  245. package/package.json +45 -12
  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
  313. package/lib/components/accordion/index.d.ts +0 -14
  314. package/lib/components/accordion/index.js +0 -121
  315. package/lib/components/accordion/index.js.map +0 -1
  316. package/lib/components/action-sheet/body/index.d.ts +0 -5
  317. package/lib/components/action-sheet/body/index.js +0 -13
  318. package/lib/components/action-sheet/body/index.js.map +0 -1
  319. package/lib/components/action-sheet/body/item/index.d.ts +0 -9
  320. package/lib/components/action-sheet/body/item/index.js +0 -25
  321. package/lib/components/action-sheet/body/item/index.js.map +0 -1
  322. package/lib/components/action-sheet/footer/index.d.ts +0 -9
  323. package/lib/components/action-sheet/footer/index.js +0 -28
  324. package/lib/components/action-sheet/footer/index.js.map +0 -1
  325. package/lib/components/action-sheet/header/index.d.ts +0 -5
  326. package/lib/components/action-sheet/header/index.js +0 -16
  327. package/lib/components/action-sheet/header/index.js.map +0 -1
  328. package/lib/components/action-sheet/index.d.ts +0 -14
  329. package/lib/components/action-sheet/index.js +0 -76
  330. package/lib/components/action-sheet/index.js.map +0 -1
  331. package/lib/components/activity-indicator/index.d.ts +0 -8
  332. package/lib/components/activity-indicator/index.js +0 -39
  333. package/lib/components/activity-indicator/index.js.map +0 -1
  334. package/lib/components/avatar/index.d.ts +0 -9
  335. package/lib/components/avatar/index.js +0 -67
  336. package/lib/components/avatar/index.js.map +0 -1
  337. package/lib/components/badge/index.d.ts +0 -10
  338. package/lib/components/badge/index.js +0 -51
  339. package/lib/components/badge/index.js.map +0 -1
  340. package/lib/components/button/index.d.ts +0 -15
  341. package/lib/components/button/index.js +0 -177
  342. package/lib/components/button/index.js.map +0 -1
  343. package/lib/components/calendar/body/index.d.ts +0 -26
  344. package/lib/components/calendar/body/index.js +0 -289
  345. package/lib/components/calendar/body/index.js.map +0 -1
  346. package/lib/components/calendar/controller/index.d.ts +0 -5
  347. package/lib/components/calendar/controller/index.js +0 -51
  348. package/lib/components/calendar/controller/index.js.map +0 -1
  349. package/lib/components/calendar/index.d.ts +0 -20
  350. package/lib/components/calendar/index.js +0 -244
  351. package/lib/components/calendar/index.js.map +0 -1
  352. package/lib/components/calendar/ui/date-list/index.js +0 -54
  353. package/lib/components/calendar/ui/date-list/index.js.map +0 -1
  354. package/lib/components/calendar/ui/day-list/index.d.ts +0 -4
  355. package/lib/components/calendar/ui/day-list/index.js +0 -11
  356. package/lib/components/calendar/ui/day-list/index.js.map +0 -1
  357. package/lib/components/card/index.d.ts +0 -9
  358. package/lib/components/card/index.js +0 -80
  359. package/lib/components/card/index.js.map +0 -1
  360. package/lib/components/checkbox/index.d.ts +0 -9
  361. package/lib/components/checkbox/index.js +0 -59
  362. package/lib/components/checkbox/index.js.map +0 -1
  363. package/lib/components/countdown/index.d.ts +0 -20
  364. package/lib/components/countdown/index.js +0 -152
  365. package/lib/components/countdown/index.js.map +0 -1
  366. package/lib/components/countdown/item/index.d.ts +0 -9
  367. package/lib/components/countdown/item/index.js +0 -24
  368. package/lib/components/countdown/item/index.js.map +0 -1
  369. package/lib/components/curtain/index.d.ts +0 -10
  370. package/lib/components/curtain/index.js +0 -62
  371. package/lib/components/curtain/index.js.map +0 -1
  372. package/lib/components/divider/index.d.ts +0 -8
  373. package/lib/components/divider/index.js +0 -57
  374. package/lib/components/divider/index.js.map +0 -1
  375. package/lib/components/drawer/index.d.ts +0 -16
  376. package/lib/components/drawer/index.js +0 -114
  377. package/lib/components/drawer/index.js.map +0 -1
  378. package/lib/components/fab/index.d.ts +0 -9
  379. package/lib/components/fab/index.js +0 -29
  380. package/lib/components/fab/index.js.map +0 -1
  381. package/lib/components/flex/index.d.ts +0 -7
  382. package/lib/components/flex/index.js.map +0 -1
  383. package/lib/components/flex/item/index.d.ts +0 -7
  384. package/lib/components/flex/item/index.js +0 -34
  385. package/lib/components/flex/item/index.js.map +0 -1
  386. package/lib/components/float-layout/index.d.ts +0 -13
  387. package/lib/components/float-layout/index.js +0 -104
  388. package/lib/components/float-layout/index.js.map +0 -1
  389. package/lib/components/form/index.d.ts +0 -10
  390. package/lib/components/form/index.js +0 -43
  391. package/lib/components/form/index.js.map +0 -1
  392. package/lib/components/grid/index.d.ts +0 -9
  393. package/lib/components/grid/index.js +0 -101
  394. package/lib/components/grid/index.js.map +0 -1
  395. package/lib/components/icon/index.d.ts +0 -9
  396. package/lib/components/icon/index.js +0 -54
  397. package/lib/components/icon/index.js.map +0 -1
  398. package/lib/components/image-picker/index.d.ts +0 -11
  399. package/lib/components/image-picker/index.js +0 -164
  400. package/lib/components/image-picker/index.js.map +0 -1
  401. package/lib/components/indexes/index.d.ts +0 -29
  402. package/lib/components/indexes/index.js +0 -272
  403. package/lib/components/indexes/index.js.map +0 -1
  404. package/lib/components/input/index.d.ts +0 -17
  405. package/lib/components/input/index.js +0 -232
  406. package/lib/components/input/index.js.map +0 -1
  407. package/lib/components/input-number/index.d.ts +0 -13
  408. package/lib/components/input-number/index.js +0 -193
  409. package/lib/components/input-number/index.js.map +0 -1
  410. package/lib/components/list/index.d.ts +0 -8
  411. package/lib/components/list/index.js +0 -26
  412. package/lib/components/list/index.js.map +0 -1
  413. package/lib/components/list/item/index.d.ts +0 -11
  414. package/lib/components/list/item/index.js +0 -152
  415. package/lib/components/list/item/index.js.map +0 -1
  416. package/lib/components/load-more/index.d.ts +0 -9
  417. package/lib/components/load-more/index.js +0 -72
  418. package/lib/components/load-more/index.js.map +0 -1
  419. package/lib/components/loading/index.d.ts +0 -12
  420. package/lib/components/loading/index.js +0 -32
  421. package/lib/components/loading/index.js.map +0 -1
  422. package/lib/components/message/index.d.ts +0 -15
  423. package/lib/components/message/index.js +0 -78
  424. package/lib/components/message/index.js.map +0 -1
  425. package/lib/components/modal/action/index.d.ts +0 -8
  426. package/lib/components/modal/action/index.js +0 -26
  427. package/lib/components/modal/action/index.js.map +0 -1
  428. package/lib/components/modal/content/index.d.ts +0 -5
  429. package/lib/components/modal/content/index.js +0 -13
  430. package/lib/components/modal/content/index.js.map +0 -1
  431. package/lib/components/modal/header/index.d.ts +0 -5
  432. package/lib/components/modal/header/index.js +0 -13
  433. package/lib/components/modal/header/index.js.map +0 -1
  434. package/lib/components/modal/index.d.ts +0 -15
  435. package/lib/components/modal/index.js +0 -106
  436. package/lib/components/modal/index.js.map +0 -1
  437. package/lib/components/nav-bar/index.d.ts +0 -12
  438. package/lib/components/nav-bar/index.js +0 -217
  439. package/lib/components/nav-bar/index.js.map +0 -1
  440. package/lib/components/noticebar/index.d.ts +0 -16
  441. package/lib/components/noticebar/index.js +0 -186
  442. package/lib/components/noticebar/index.js.map +0 -1
  443. package/lib/components/pagination/index.d.ts +0 -12
  444. package/lib/components/pagination/index.js +0 -146
  445. package/lib/components/pagination/index.js.map +0 -1
  446. package/lib/components/progress/index.d.ts +0 -7
  447. package/lib/components/progress/index.js +0 -53
  448. package/lib/components/progress/index.js.map +0 -1
  449. package/lib/components/radio/index.d.ts +0 -9
  450. package/lib/components/radio/index.js +0 -54
  451. package/lib/components/radio/index.js.map +0 -1
  452. package/lib/components/range/index.d.ts +0 -22
  453. package/lib/components/range/index.js +0 -207
  454. package/lib/components/range/index.js.map +0 -1
  455. package/lib/components/rate/index.d.ts +0 -9
  456. package/lib/components/rate/index.js +0 -82
  457. package/lib/components/rate/index.js.map +0 -1
  458. package/lib/components/search-bar/index.d.ts +0 -16
  459. package/lib/components/search-bar/index.js +0 -176
  460. package/lib/components/search-bar/index.js.map +0 -1
  461. package/lib/components/segmented-control/index.d.ts +0 -9
  462. package/lib/components/segmented-control/index.js +0 -84
  463. package/lib/components/segmented-control/index.js.map +0 -1
  464. package/lib/components/slider/index.d.ts +0 -13
  465. package/lib/components/slider/index.js +0 -115
  466. package/lib/components/slider/index.js.map +0 -1
  467. package/lib/components/steps/index.d.ts +0 -9
  468. package/lib/components/steps/index.js +0 -67
  469. package/lib/components/steps/index.js.map +0 -1
  470. package/lib/components/swipe-action/index.d.ts +0 -27
  471. package/lib/components/swipe-action/index.js +0 -220
  472. package/lib/components/swipe-action/index.js.map +0 -1
  473. package/lib/components/swipe-action/options/index.d.ts +0 -5
  474. package/lib/components/swipe-action/options/index.js +0 -24
  475. package/lib/components/swipe-action/options/index.js.map +0 -1
  476. package/lib/components/switch/index.d.ts +0 -9
  477. package/lib/components/switch/index.js +0 -59
  478. package/lib/components/switch/index.js.map +0 -1
  479. package/lib/components/tab-bar/index.d.ts +0 -9
  480. package/lib/components/tab-bar/index.js +0 -170
  481. package/lib/components/tab-bar/index.js.map +0 -1
  482. package/lib/components/tabs/index.d.ts +0 -24
  483. package/lib/components/tabs/index.js +0 -219
  484. package/lib/components/tabs/index.js.map +0 -1
  485. package/lib/components/tabs-pane/index.d.ts +0 -8
  486. package/lib/components/tabs-pane/index.js +0 -43
  487. package/lib/components/tabs-pane/index.js.map +0 -1
  488. package/lib/components/tag/index.d.ts +0 -9
  489. package/lib/components/tag/index.js +0 -75
  490. package/lib/components/tag/index.js.map +0 -1
  491. package/lib/components/textarea/index.d.ts +0 -13
  492. package/lib/components/textarea/index.js +0 -141
  493. package/lib/components/textarea/index.js.map +0 -1
  494. package/lib/components/timeline/index.d.ts +0 -8
  495. package/lib/components/timeline/index.js +0 -76
  496. package/lib/components/timeline/index.js.map +0 -1
  497. package/lib/components/toast/img.json +0 -8
  498. package/lib/components/toast/index.d.ts +0 -16
  499. package/lib/components/toast/index.js +0 -124
  500. package/lib/components/toast/index.js.map +0 -1
  501. package/lib/index.js +0 -109
  502. package/lib/index.js.map +0 -1
  503. package/lib/style/index.css.map +0 -1
  504. /package/{lib → dist}/common/component.d.ts +0 -0
  505. /package/{lib → dist}/common/component.js +0 -0
  506. /package/{lib → dist}/common/component.js.map +0 -0
  507. /package/{lib → dist}/components/calendar/common/constant.d.ts +0 -0
  508. /package/{lib → dist}/components/calendar/common/constant.js +0 -0
  509. /package/{lib → dist}/components/calendar/common/constant.js.map +0 -0
  510. /package/{lib → dist}/components/calendar/common/helper.d.ts +0 -0
  511. /package/{lib → dist}/components/calendar/common/helper.js +0 -0
  512. /package/{lib → dist}/components/calendar/common/helper.js.map +0 -0
  513. /package/{lib → dist}/components/calendar/common/plugins.d.ts +0 -0
  514. /package/{lib → dist}/components/calendar/common/plugins.js +0 -0
  515. /package/{lib → dist}/components/calendar/common/plugins.js.map +0 -0
  516. /package/{lib → dist}/style/components/accordion.scss +0 -0
  517. /package/{lib → dist}/style/components/action-sheet.scss +0 -0
  518. /package/{lib → dist}/style/components/activity-indicator.scss +0 -0
  519. /package/{lib → dist}/style/components/article.scss +0 -0
  520. /package/{lib → dist}/style/components/button.scss +0 -0
  521. /package/{lib → dist}/style/components/card.scss +0 -0
  522. /package/{lib → dist}/style/components/checkbox.scss +0 -0
  523. /package/{lib → dist}/style/components/curtain.scss +0 -0
  524. /package/{lib → dist}/style/components/divider.scss +0 -0
  525. /package/{lib → dist}/style/components/drawer.scss +0 -0
  526. /package/{lib → dist}/style/components/fab.scss +0 -0
  527. /package/{lib → dist}/style/components/float-layout.scss +0 -0
  528. /package/{lib → dist}/style/components/form.scss +0 -0
  529. /package/{lib → dist}/style/components/image-picker.scss +0 -0
  530. /package/{lib → dist}/style/components/index.scss +0 -0
  531. /package/{lib → dist}/style/components/indexes.scss +0 -0
  532. /package/{lib → dist}/style/components/input-number.scss +0 -0
  533. /package/{lib → dist}/style/components/list.scss +0 -0
  534. /package/{lib → dist}/style/components/load-more.scss +0 -0
  535. /package/{lib → dist}/style/components/loading.scss +0 -0
  536. /package/{lib → dist}/style/components/message.scss +0 -0
  537. /package/{lib → dist}/style/components/modal.scss +0 -0
  538. /package/{lib → dist}/style/components/nav-bar.scss +0 -0
  539. /package/{lib → dist}/style/components/noticebar.scss +0 -0
  540. /package/{lib → dist}/style/components/pagination.scss +0 -0
  541. /package/{lib → dist}/style/components/radio.scss +0 -0
  542. /package/{lib → dist}/style/components/range.scss +0 -0
  543. /package/{lib → dist}/style/components/rate.scss +0 -0
  544. /package/{lib → dist}/style/components/segmented-control.scss +0 -0
  545. /package/{lib → dist}/style/components/slider.scss +0 -0
  546. /package/{lib → dist}/style/components/swipe-action.scss +0 -0
  547. /package/{lib → dist}/style/components/switch.scss +0 -0
  548. /package/{lib → dist}/style/components/tab-bar.scss +0 -0
  549. /package/{lib → dist}/style/components/textarea.scss +0 -0
  550. /package/{lib → dist}/style/index.scss +0 -0
  551. /package/{lib → dist}/style/mixins/index.scss +0 -0
  552. /package/{lib → dist}/style/mixins/libs/absolute-center.scss +0 -0
  553. /package/{lib → dist}/style/mixins/libs/active.scss +0 -0
  554. /package/{lib → dist}/style/mixins/libs/alignhack.scss +0 -0
  555. /package/{lib → dist}/style/mixins/libs/border.scss +0 -0
  556. /package/{lib → dist}/style/mixins/libs/clearfix.scss +0 -0
  557. /package/{lib → dist}/style/mixins/libs/disabled.scss +0 -0
  558. /package/{lib → dist}/style/mixins/libs/flex.scss +0 -0
  559. /package/{lib → dist}/style/mixins/libs/line.scss +0 -0
  560. /package/{lib → dist}/style/mixins/libs/overlay.scss +0 -0
  561. /package/{lib → dist}/style/mixins/libs/placeholder.scss +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/components/action-sheet/index.tsx","../src/components/action-sheet/body/index.tsx","../src/components/action-sheet/footer/index.tsx","../src/components/action-sheet/header/index.tsx","../src/components/action-sheet/body/item/index.tsx","../src/components/activity-indicator/index.tsx","../src/components/loading/index.tsx","../src/common/utils.ts","../src/components/avatar/index.tsx","../src/components/badge/index.tsx","../src/components/button/index.tsx","../src/components/card/index.tsx","../src/components/checkbox/index.tsx","../src/components/drawer/index.tsx","../src/components/list/index.tsx","../src/components/list/item/index.tsx","../src/components/float-layout/index.tsx","../src/components/form/index.tsx","../src/components/grid/index.tsx","../src/components/icon/index.tsx","../src/components/input/index.tsx","../src/components/input-number/index.tsx","../src/components/modal/index.tsx","../src/components/modal/action/index.tsx","../src/components/modal/content/index.tsx","../src/components/modal/header/index.tsx","../src/components/nav-bar/index.tsx","../src/components/noticebar/index.tsx","../src/hooks/useComponentLocale.ts","../src/components/config-provider/context.ts","../src/locale/zh_CN.ts","../src/locale/en_US.ts","../src/locale/index.ts","../src/components/pagination/index.tsx","../src/components/progress/index.tsx","../src/components/radio/index.tsx","../src/components/rate/index.tsx","../src/components/segmented-control/index.tsx","../src/components/switch/index.tsx","../src/components/tab-bar/index.tsx","../src/components/tabs/index.tsx","../src/components/tabs-pane/index.tsx","../src/components/tag/index.tsx","../src/components/textarea/index.tsx","../src/components/timeline/index.tsx","../src/components/toast/index.tsx","../src/components/toast/img.json","../src/components/accordion/index.tsx","../src/components/slider/index.tsx","../src/components/swipe-action/index.tsx","../src/components/swipe-action/options/index.tsx","../src/components/search-bar/index.tsx","../src/components/load-more/index.tsx","../src/components/divider/index.tsx","../src/components/countdown/index.tsx","../src/components/countdown/item/index.tsx","../src/components/steps/index.tsx","../src/components/curtain/index.tsx","../src/components/message/index.tsx","../src/components/image-picker/index.tsx","../src/components/range/index.tsx","../src/components/indexes/index.tsx","../src/components/calendar/index.tsx","../src/components/calendar/body/index.tsx","../src/components/calendar/common/helper.ts","../src/components/calendar/common/constant.ts","../src/components/calendar/common/plugins.ts","../src/components/calendar/ui/date-list/index.tsx","../src/components/calendar/ui/day-list/index.tsx","../src/components/calendar/controller/index.tsx","../src/components/fab/index.tsx","../src/components/config-provider/index.tsx","../src/common/component.tsx"],"sourcesContent":["export { default as AtActionSheet } from './components/action-sheet'\nexport { default as AtActionSheetItem } from './components/action-sheet/body/item'\nexport { default as AtActivityIndicator } from './components/activity-indicator'\nexport { default as AtAvatar } from './components/avatar'\nexport { default as AtBadge } from './components/badge'\nexport { default as AtButton } from './components/button'\nexport { default as AtCard } from './components/card'\nexport { default as AtCheckbox } from './components/checkbox'\nexport { default as AtDrawer } from './components/drawer'\nexport { default as AtFloatLayout } from './components/float-layout'\nexport { default as AtForm } from './components/form'\nexport { default as AtGrid } from './components/grid'\nexport { default as AtIcon } from './components/icon'\nexport { default as AtInput } from './components/input'\nexport { default as AtInputNumber } from './components/input-number'\nexport { default as AtList } from './components/list'\nexport { default as AtListItem } from './components/list/item'\nexport { default as AtModal } from './components/modal'\nexport { default as AtModalHeader } from './components/modal/header'\nexport { default as AtModalContent } from './components/modal/content'\nexport { default as AtModalAction } from './components/modal/action'\nexport { default as AtNavBar } from './components/nav-bar'\nexport { default as AtNoticebar } from './components/noticebar'\nexport { default as AtPagination } from './components/pagination'\nexport { default as AtProgress } from './components/progress'\nexport { default as AtRadio } from './components/radio'\nexport { default as AtRate } from './components/rate'\nexport { default as AtSegmentedControl } from './components/segmented-control'\nexport { default as AtSwitch } from './components/switch'\nexport { default as AtTabBar } from './components/tab-bar'\nexport { default as AtTabs } from './components/tabs'\nexport { default as AtTabsPane } from './components/tabs-pane'\nexport { default as AtTag } from './components/tag'\nexport { default as AtTextarea } from './components/textarea'\nexport { default as AtTimeline } from './components/timeline'\nexport { default as AtToast } from './components/toast'\nexport { default as AtAccordion } from './components/accordion'\nexport { default as AtSlider } from './components/slider'\nexport { default as AtSwipeAction } from './components/swipe-action'\nexport { default as AtSearchBar } from './components/search-bar'\nexport { default as AtLoadMore } from './components/load-more'\nexport { default as AtDivider } from './components/divider'\nexport { default as AtCountdown } from './components/countdown'\nexport { default as AtSteps } from './components/steps'\nexport { default as AtCurtain } from './components/curtain'\nexport { default as AtMessage } from './components/message'\nexport { default as AtImagePicker } from './components/image-picker'\nexport { default as AtRange } from './components/range'\nexport { default as AtIndexes } from './components/indexes'\nexport { default as AtCalendar } from './components/calendar'\nexport { default as AtFab } from './components/fab'\nexport { default as ConfigProvider } from './components/config-provider'\nexport { zhCN, enUS } from './locale'\nexport type { Locale, PartialLocale } from './locale/types'\n\n/* 私有的组件 */\nexport { default as AtLoading } from './components/loading'\nexport { default as AtComponent } from './common/component'\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtActionSheetProps } from '../../../types/action-sheet'\nimport AtActionSheetBody from './body/index'\nimport AtActionSheetFooter from './footer/index'\nimport AtActionSheetHeader from './header/index'\n\nfunction AtActionSheet({\n title = '',\n cancelText = '',\n isOpened = false,\n className,\n children,\n onClose,\n onCancel\n}: AtActionSheetProps): JSX.Element {\n const [_isOpened, setIsOpened] = useState(isOpened)\n const prevIsOpenedPropRef = useRef(isOpened)\n\n const handleClose = (): void => {\n if (typeof onClose === 'function') {\n onClose()\n }\n }\n\n useEffect(() => {\n if (prevIsOpenedPropRef.current !== isOpened) {\n setIsOpened(prev => {\n if (isOpened !== prev) {\n if (!isOpened) {\n handleClose()\n }\n return isOpened\n }\n return prev\n })\n prevIsOpenedPropRef.current = isOpened\n }\n }, [isOpened])\n\n const close = (): void => {\n setIsOpened(false)\n handleClose()\n }\n\n const handleCancel = (): void => {\n if (typeof onCancel === 'function') {\n return onCancel()\n }\n close()\n }\n\n const handleTouchMove = (e: CommonEvent): void => {\n e.stopPropagation()\n e.preventDefault()\n }\n\n const rootClass = classNames(\n 'at-action-sheet',\n {\n 'at-action-sheet--active': _isOpened\n },\n className\n )\n\n return (\n <View className={rootClass} onTouchMove={handleTouchMove}>\n <View onClick={close} className='at-action-sheet__overlay' />\n <View className='at-action-sheet__container'>\n {title && <AtActionSheetHeader>{title}</AtActionSheetHeader>}\n <AtActionSheetBody>{children}</AtActionSheetBody>\n {cancelText && (\n <AtActionSheetFooter onClick={handleCancel}>\n {cancelText}\n </AtActionSheetFooter>\n )}\n </View>\n </View>\n )\n}\n\nAtActionSheet.propTypes = {\n title: PropTypes.string,\n onClose: PropTypes.func,\n onCancel: PropTypes.func,\n isOpened: PropTypes.bool.isRequired,\n cancelText: PropTypes.string\n}\n\nexport default AtActionSheet\n","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","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetFooterProps } from '../../../../types/action-sheet'\n\nfunction AtActionSheetFooter({\n className,\n children,\n onClick\n}: AtActionSheetFooterProps): 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__footer', className)\n\n return (\n <View onClick={handleClick} className={rootClass}>\n {children}\n </View>\n )\n}\n\nAtActionSheetFooter.propTypes = {\n onClick: PropTypes.func\n}\n\nexport default AtActionSheetFooter\n","import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetHeaderProps } from '../../../../types/action-sheet'\n\nfunction AtActionSheetHeader({\n className,\n children\n}: AtActionSheetHeaderProps): JSX.Element {\n const rootClass = classNames('at-action-sheet__header', className)\n\n return <View className={rootClass}>{children}</View>\n}\n\nexport default AtActionSheetHeader\n","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","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtActivityIndicatorProps } from '../../../types/activity-indicator'\nimport AtLoading from '../loading/index'\n\nfunction AtActivityIndicator({\n color = '',\n size = 0,\n mode = 'normal',\n content = '',\n className = '',\n isOpened = true\n}: AtActivityIndicatorProps): JSX.Element {\n const rootClass = classNames(\n 'at-activity-indicator',\n {\n 'at-activity-indicator--center': mode === 'center',\n 'at-activity-indicator--isopened': isOpened\n },\n className\n )\n\n return (\n <View className={rootClass}>\n <View className='at-activity-indicator__body'>\n <AtLoading size={size} color={color} />\n </View>\n {content && (\n <Text className='at-activity-indicator__content'>{content}</Text>\n )}\n </View>\n )\n}\n\nAtActivityIndicator.propTypes = {\n size: PropTypes.number,\n mode: PropTypes.string,\n color: PropTypes.string,\n content: PropTypes.string,\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n isOpened: PropTypes.bool\n}\n\nexport default AtActivityIndicator\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { pxTransform } from '../../common/utils'\n\ninterface AtLoadingProps {\n size?: string | number\n color?: string | number\n}\n\nfunction AtLoading({ color = '', size = 0 }: AtLoadingProps): JSX.Element {\n const loadingSize = typeof size === 'string' ? size : String(size)\n const sizeStyle = {\n width: size ? `${pxTransform(parseInt(loadingSize))}` : '',\n height: size ? `${pxTransform(parseInt(loadingSize))}` : ''\n }\n const colorStyle = {\n border: color ? `1px solid ${color}` : '',\n borderColor: color ? `${color} transparent transparent transparent` : ''\n }\n const ringStyle = Object.assign({}, colorStyle, sizeStyle)\n\n return (\n <View className='at-loading' style={sizeStyle}>\n <View className='at-loading__ring' style={ringStyle}></View>\n <View className='at-loading__ring' style={ringStyle}></View>\n <View className='at-loading__ring' style={ringStyle}></View>\n </View>\n )\n}\n\nAtLoading.propTypes = {\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n color: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n}\n\nexport default AtLoading\n","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","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport * as TaroComponents from '@tarojs/components'\nimport Taro from '@tarojs/taro'\nimport { AtAvatarProps } from '../../../types/avatar'\n\nconst SIZE_CLASS = {\n large: 'large',\n normal: 'normal',\n small: 'small'\n}\n\nfunction AtAvatar({\n size = 'normal',\n circle = false,\n text = '',\n image = '',\n customStyle = {},\n className = '',\n openData\n}: AtAvatarProps): JSX.Element {\n const isWEAPP = Taro.getEnv() === Taro.ENV_TYPE.WEAPP\n const rootClassName = ['at-avatar']\n const iconSize = SIZE_CLASS[size || 'normal']\n const classObject = {\n [`at-avatar--${iconSize}`]: iconSize,\n 'at-avatar--circle': circle\n }\n\n let letter = ''\n if (text) letter = text[0]\n\n let elem: React.ReactNode\n if (\n openData &&\n openData.type === 'userAvatarUrl' &&\n isWEAPP &&\n Taro.canIUse('open-data')\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const OpenData = (TaroComponents as any).OpenData\n elem = <OpenData type={openData.type}></OpenData>\n } else if (image) {\n elem = <Image className='at-avatar__img' src={image} />\n } else {\n elem = <Text className='at-avatar__text'>{letter}</Text>\n }\n return (\n <View\n className={classNames(rootClassName, classObject, className)}\n style={customStyle}\n >\n {elem}\n </View>\n )\n}\n\nAtAvatar.propTypes = {\n size: PropTypes.oneOf(['large', 'normal', 'small']),\n circle: PropTypes.bool,\n text: PropTypes.string,\n image: PropTypes.string,\n openData: PropTypes.object,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string])\n}\n\nexport default AtAvatar\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtBadgeProps } from '../../../types/badge'\n\nfunction formatValue(\n value: string | number | undefined,\n maxValue: number\n): string | number {\n if (value === '' || value === null || typeof value === 'undefined') return ''\n const numValue = +value\n if (Number.isNaN(numValue)) {\n return value\n }\n return numValue > maxValue ? `${maxValue}+` : numValue\n}\n\nexport default function AtBadge({\n dot = false,\n value = '',\n maxValue = 99,\n customStyle = {},\n className = '',\n children\n}: AtBadgeProps): JSX.Element {\n const rootClassName = ['at-badge']\n\n const val = formatValue(value, maxValue)\n\n return (\n <View className={classNames(rootClassName, className)} style={customStyle}>\n {children}\n {dot ? (\n <View className='at-badge__dot'></View>\n ) : (\n val !== '' && <View className='at-badge__num'>{val}</View>\n )}\n </View>\n )\n}\n\nAtBadge.propTypes = {\n dot: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxValue: PropTypes.number,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string])\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Button, View } from '@tarojs/components'\nimport { ButtonProps } from '@tarojs/components/types/Button'\nimport { BaseEventOrig, CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtButtonProps } from '../../../types/button'\nimport AtLoading from '../loading/index'\n\nconst SIZE_CLASS = {\n normal: 'normal',\n small: 'small'\n}\n\nconst TYPE_CLASS = {\n primary: 'primary',\n secondary: 'secondary'\n}\n\nfunction AtButton({\n size = 'normal',\n type,\n circle = false,\n full = false,\n loading = false,\n disabled = false,\n customStyle = {},\n className,\n children,\n formType,\n openType,\n lang = 'en',\n sessionFrom = '',\n sendMessageTitle = '',\n sendMessagePath = '',\n sendMessageImg = '',\n showMessageCard = false,\n appParameter = '',\n onClick,\n onGetUserInfo,\n onContact,\n onGetPhoneNumber,\n onError,\n onOpenSetting\n}: AtButtonProps): JSX.Element {\n const isWEB = Taro.getEnv() === Taro.ENV_TYPE.WEB\n const isWEAPP = Taro.getEnv() === Taro.ENV_TYPE.WEAPP\n const isALIPAY = Taro.getEnv() === Taro.ENV_TYPE.ALIPAY\n\n const handleClick = (event: CommonEvent): void => {\n if (!disabled) {\n onClick && onClick(event)\n }\n }\n\n const handleGetUserInfo = (event: CommonEvent): void => {\n onGetUserInfo && onGetUserInfo(event)\n }\n\n const handleContact = (\n event: BaseEventOrig<ButtonProps.onContactEventDetail>\n ): void => {\n onContact && onContact(event)\n }\n\n const handleGetPhoneNumber = (event: CommonEvent): void => {\n onGetPhoneNumber && onGetPhoneNumber(event)\n }\n\n const handleError = (event: CommonEvent): void => {\n onError && onError(event)\n }\n\n const handleOpenSetting = (event: CommonEvent): void => {\n onOpenSetting && onOpenSetting(event)\n }\n\n const buttonType = type ?? ''\n const rootClassName = ['at-button']\n const classObject = {\n [`at-button--${SIZE_CLASS[size]}`]: SIZE_CLASS[size],\n 'at-button--disabled': disabled,\n [`at-button--${buttonType}`]: buttonType\n ? TYPE_CLASS[buttonType as keyof typeof TYPE_CLASS]\n : false,\n 'at-button--circle': circle,\n 'at-button--full': full\n }\n const loadingColor = type === 'primary' ? '#fff' : ''\n const loadingSize = size === 'small' ? '30' : 0\n\n let loadingComponent: JSX.Element | null = null\n if (loading) {\n loadingComponent = (\n <View className='at-button__icon'>\n <AtLoading color={loadingColor} size={loadingSize} />\n </View>\n )\n rootClassName.push('at-button--icon')\n }\n\n const webButton = (\n <Button\n className='at-button__wxbutton'\n lang={lang}\n formType={formType}\n ></Button>\n )\n\n const button = (\n <Button\n className='at-button__wxbutton'\n formType={formType}\n openType={openType}\n lang={lang}\n sessionFrom={sessionFrom}\n sendMessageTitle={sendMessageTitle}\n sendMessagePath={sendMessagePath}\n sendMessageImg={sendMessageImg}\n showMessageCard={showMessageCard}\n appParameter={appParameter}\n onGetUserInfo={handleGetUserInfo}\n onGetPhoneNumber={handleGetPhoneNumber}\n onOpenSetting={handleOpenSetting}\n onError={handleError}\n onContact={handleContact}\n ></Button>\n )\n\n return (\n <View\n className={classNames(rootClassName, classObject, className)}\n style={customStyle}\n onClick={handleClick}\n >\n {isWEB && !disabled && webButton}\n {isWEAPP && !disabled && button}\n {isALIPAY && !disabled && button}\n {loadingComponent}\n <View className='at-button__text'>{children}</View>\n </View>\n )\n}\n\nAtButton.propTypes = {\n size: PropTypes.oneOf(['normal', 'small']),\n type: PropTypes.oneOf(['primary', 'secondary', '']),\n circle: PropTypes.bool,\n full: PropTypes.bool,\n loading: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n formType: PropTypes.oneOf(['submit', 'reset', '']),\n openType: PropTypes.oneOf([\n 'contact',\n 'share',\n 'getUserInfo',\n 'getPhoneNumber',\n 'launchApp',\n 'openSetting',\n 'feedback',\n 'getRealnameAuthInfo',\n 'getAuthorize',\n 'contactShare',\n ''\n ]),\n lang: PropTypes.string,\n sessionFrom: PropTypes.string,\n sendMessageTitle: PropTypes.string,\n sendMessagePath: PropTypes.string,\n sendMessageImg: PropTypes.string,\n showMessageCard: PropTypes.bool,\n appParameter: PropTypes.string,\n onGetUserInfo: PropTypes.func,\n onContact: PropTypes.func,\n onGetPhoneNumber: PropTypes.func,\n onError: PropTypes.func,\n onOpenSetting: PropTypes.func\n}\n\nexport default AtButton\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { AtCardProps } from '../../../types/card'\n\nexport default function AtCard({\n title = '',\n note = '',\n extra,\n extraStyle = {},\n thumb = '',\n isFull = false,\n icon,\n renderIcon,\n className,\n children,\n onClick\n}: AtCardProps): JSX.Element {\n const handleClick = (args: any): void => {\n if (typeof onClick === 'function') {\n onClick(args)\n }\n }\n\n const rootClass = classNames(\n 'at-card',\n {\n 'at-card--full': isFull\n },\n className\n )\n const iconClass = classNames({\n 'at-icon': true,\n [`at-icon-${icon && icon.value}`]: icon && icon.value,\n 'at-card__header-icon': true\n })\n\n const iconStyle = {\n color: (icon && icon.color) || '',\n fontSize: (icon && `${icon.size}px`) || ''\n }\n\n return (\n <View onClick={handleClick} className={rootClass}>\n <View className='at-card__header'>\n {thumb && (\n <View className='at-card__header-thumb'>\n <Image\n className='at-card__header-thumb-info'\n mode='scaleToFill'\n src={thumb}\n />\n </View>\n )}\n {renderIcon || ''}\n {!thumb && icon && icon.value && (\n <Text className={iconClass} style={iconStyle}></Text>\n )}\n\n <Text className='at-card__header-title'>{title}</Text>\n {extra && (\n <View style={{ ...extraStyle }} className='at-card__header-extra'>\n {extra}\n </View>\n )}\n </View>\n <View className='at-card__content'>\n <View className='at-card__content-info'>{children}</View>\n {note && <View className='at-card__content-note'>{note}</View>}\n </View>\n </View>\n )\n}\n\nAtCard.propTypes = {\n note: PropTypes.string,\n isFull: PropTypes.bool,\n thumb: PropTypes.string,\n title: PropTypes.string,\n extra: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n icon: PropTypes.object,\n onClick: PropTypes.func,\n renderIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n extraStyle: PropTypes.object // 自定义extra样式\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtCheckboxProps } from '../../../types/checkbox'\nimport { noop } from '../../common/utils'\n\nfunction AtCheckbox({\n customStyle = '',\n className = '',\n options = [],\n selectedList = [],\n onChange = noop\n}: AtCheckboxProps<any>): JSX.Element {\n const handleClick = (idx: number): void => {\n const option = options[idx]\n const { disabled, value } = option\n if (disabled) return\n\n const selectedSet = new Set(selectedList)\n if (!selectedSet.has(value)) {\n selectedSet.add(value)\n } else {\n selectedSet.delete(value)\n }\n onChange([...selectedSet])\n }\n\n const rootCls = classNames('at-checkbox', className)\n\n return (\n <View className={rootCls} style={customStyle}>\n {options.map((option, idx) => {\n const { value, disabled, label, desc } = option\n const optionCls = classNames('at-checkbox__option', {\n 'at-checkbox__option--disabled': disabled,\n 'at-checkbox__option--selected': selectedList.includes(value)\n })\n\n return (\n <View\n className={optionCls}\n key={value}\n onClick={() => handleClick(idx)}\n >\n <View className='at-checkbox__option-wrap'>\n <View className='at-checkbox__option-cnt'>\n <View className='at-checkbox__icon-cnt'>\n <Text className='at-icon at-icon-check'></Text>\n </View>\n <View className='at-checkbox__title'>{label}</View>\n </View>\n {desc && <View className='at-checkbox__desc'>{desc}</View>}\n </View>\n </View>\n )\n })}\n </View>\n )\n}\n\nAtCheckbox.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n options: PropTypes.array,\n selectedList: PropTypes.array,\n onChange: PropTypes.func\n}\n\nexport default AtCheckbox\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport { AtDrawerProps } from '../../../types/drawer'\nimport AtList from '../list/index'\nimport AtListItem from '../list/item/index'\n\nfunction AtDrawer({\n show = false,\n mask = true,\n width = '',\n right = false,\n items = [],\n className,\n children,\n onItemClick,\n onClose\n}: AtDrawerProps): JSX.Element {\n const [animShow, setAnimShow] = useState(false)\n const [_show, setShow] = useState(show)\n const showStateRef = useRef(show)\n const isMountRef = useRef(true)\n const hideTimerRef = useRef<ReturnType<typeof setTimeout>>()\n const showTimerRef = useRef<ReturnType<typeof setTimeout>>()\n\n const onHide = (): void => {\n setShow(false)\n onClose && onClose()\n }\n\n const animHide = (): void => {\n setAnimShow(false)\n if (hideTimerRef.current) {\n clearTimeout(hideTimerRef.current)\n }\n hideTimerRef.current = setTimeout(() => {\n onHide()\n }, 300)\n }\n\n const runAnimShow = (): void => {\n setShow(true)\n if (showTimerRef.current) {\n clearTimeout(showTimerRef.current)\n }\n showTimerRef.current = setTimeout(() => {\n setAnimShow(true)\n }, 200)\n }\n\n useEffect(() => {\n showStateRef.current = _show\n }, [_show])\n\n useEffect(() => {\n if (isMountRef.current) {\n isMountRef.current = false\n if (show) {\n runAnimShow()\n }\n return\n }\n if (show !== showStateRef.current) {\n show ? runAnimShow() : animHide()\n }\n }, [show])\n\n useEffect(() => {\n return () => {\n if (hideTimerRef.current) {\n clearTimeout(hideTimerRef.current)\n }\n if (showTimerRef.current) {\n clearTimeout(showTimerRef.current)\n }\n }\n }, [])\n\n const onItemClickHandler = (index: number): void => {\n onItemClick && onItemClick(index)\n animHide()\n }\n\n const onMaskClick = (): void => {\n animHide()\n }\n\n const maskStyle = {\n display: mask ? 'block' : 'none',\n opacity: animShow ? 1 : 0\n }\n const listStyle = {\n width,\n transition: animShow\n ? 'all 225ms cubic-bezier(0, 0, 0.2, 1)'\n : 'all 195ms cubic-bezier(0.4, 0, 0.6, 1)'\n }\n\n const classObject = {\n 'at-drawer--show': animShow,\n 'at-drawer--right': right,\n 'at-drawer--left': !right\n }\n\n return _show ? (\n <View className={classNames(['at-drawer'], classObject, className)}>\n <View\n className='at-drawer__mask'\n style={maskStyle}\n onClick={onMaskClick}\n ></View>\n\n <View className='at-drawer__content' style={listStyle}>\n {!!items && items.length ? (\n <AtList>\n {items.map((name, index) => (\n <AtListItem\n key={`${name}-${index}`}\n data-index={index}\n onClick={() => onItemClickHandler(index)}\n title={name}\n arrow='right'\n ></AtListItem>\n ))}\n </AtList>\n ) : (\n children\n )}\n </View>\n </View>\n ) : (\n <View></View>\n )\n}\n\nAtDrawer.propTypes = {\n show: PropTypes.bool,\n mask: PropTypes.bool,\n width: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.string),\n onItemClick: PropTypes.func,\n onClose: PropTypes.func\n}\n\nexport default AtDrawer\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtListProps } from '../../../types/list'\n\nfunction AtList({\n hasBorder = true,\n className,\n children\n}: AtListProps): JSX.Element {\n const rootClass = classNames(\n 'at-list',\n {\n 'at-list--no-border': !hasBorder\n },\n className\n )\n\n return <View className={rootClass}>{children}</View>\n}\n\nAtList.propTypes = {\n hasBorder: PropTypes.bool\n}\n\nexport default AtList\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Image, Switch, Text, View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport { AtListItemProps } from '../../../../types/list'\nimport { mergeStyle } from '../../../common/utils'\n\nfunction AtListItem({\n note = '',\n disabled = false,\n title = '',\n thumb = '',\n isSwitch = false,\n hasBorder = true,\n switchColor = '#6190E8',\n switchIsCheck = false,\n extraText = '',\n extraThumb = '',\n iconInfo = { value: '' },\n arrow,\n icon,\n className,\n onClick,\n onSwitchChange\n}: AtListItemProps): JSX.Element {\n const handleClick = (event: ITouchEvent): void => {\n if (typeof onClick === 'function' && !disabled) {\n onClick(event)\n }\n }\n\n const handleSwitchClick = (e: CommonEvent): void => {\n e.stopPropagation()\n }\n\n const handleSwitchChange = (event: CommonEvent): void => {\n if (typeof onSwitchChange === 'function' && !disabled) {\n onSwitchChange(event)\n }\n }\n\n const rootClass = classNames(\n 'at-list__item',\n {\n 'at-list__item--thumb': thumb,\n 'at-list__item--multiple': note,\n 'at-list__item--disabled': disabled,\n 'at-list__item--no-border': !hasBorder\n },\n className\n )\n\n const renderIcon = () => {\n if (icon) {\n return <View className='item-icon'>{icon}</View>\n } else if (iconInfo?.value) {\n const iconClass = classNames(\n (iconInfo && iconInfo.prefixClass) || 'at-icon',\n {\n [`${(iconInfo && iconInfo.prefixClass) || 'at-icon'}-${\n iconInfo && iconInfo.value\n }`]: iconInfo && iconInfo.value\n },\n iconInfo && iconInfo.className\n )\n return (\n <View className='at-list__item-icon item-icon'>\n <Text\n className={iconClass}\n style={mergeStyle(\n {\n color: iconInfo.color || '',\n fontSize: `${iconInfo.size || 24}px`\n },\n iconInfo.customStyle || ''\n )}\n ></Text>\n </View>\n )\n } else if (thumb) {\n return (\n <View className='at-list__item-thumb item-thumb'>\n <Image className='item-thumb__info' mode='scaleToFill' src={thumb} />\n </View>\n )\n }\n }\n\n return (\n <View className={rootClass} onClick={handleClick}>\n <View className='at-list__item-container'>\n {renderIcon()}\n <View className='at-list__item-content item-content'>\n <View className='item-content__info'>\n <View className='item-content__info-title'>{title}</View>\n {note && <View className='item-content__info-note'>{note}</View>}\n </View>\n </View>\n <View className='at-list__item-extra item-extra'>\n {extraText && <View className='item-extra__info'>{extraText}</View>}\n\n {extraThumb && !extraText && (\n <View className='item-extra__image'>\n <Image\n className='item-extra__image-info'\n mode='aspectFit'\n src={extraThumb}\n />\n </View>\n )}\n\n {isSwitch && !extraThumb && !extraText && (\n <View className='item-extra__switch' onClick={handleSwitchClick}>\n <Switch\n color={switchColor}\n disabled={disabled}\n checked={switchIsCheck}\n onChange={handleSwitchChange}\n />\n </View>\n )}\n\n {arrow ? (\n <View className='item-extra__icon'>\n <Text\n className={`at-icon item-extra__icon-arrow at-icon-chevron-${arrow}`}\n />\n </View>\n ) : null}\n </View>\n </View>\n </View>\n )\n}\n\nAtListItem.propTypes = {\n note: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n disabled: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n thumb: PropTypes.string,\n onClick: PropTypes.func,\n isSwitch: PropTypes.bool,\n hasBorder: PropTypes.bool,\n switchColor: PropTypes.string,\n switchIsCheck: PropTypes.bool,\n extraText: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n extraThumb: PropTypes.string,\n onSwitchChange: PropTypes.func,\n arrow: PropTypes.oneOf(['up', 'down', 'right']),\n iconInfo: PropTypes.shape({\n size: PropTypes.number,\n value: PropTypes.string,\n color: PropTypes.string,\n prefixClass: PropTypes.string,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string])\n })\n}\n\nexport default AtListItem\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { ScrollView, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtFloatLayoutProps } from '../../../types/float-layout'\nimport { handleTouchScroll } from '../../common/utils'\n\nfunction AtFloatLayout({\n title = '',\n isOpened = false,\n scrollY = true,\n scrollX = false,\n scrollWithAnimation = false,\n scrollTop,\n scrollLeft,\n upperThreshold,\n lowerThreshold,\n className,\n children,\n onClose,\n onScroll,\n onScrollToLower,\n onScrollToUpper\n}: AtFloatLayoutProps): JSX.Element {\n const [_isOpened, setIsOpened] = useState(isOpened)\n const prevIsOpenedPropRef = useRef(isOpened)\n\n useEffect(() => {\n if (prevIsOpenedPropRef.current !== isOpened) {\n handleTouchScroll(isOpened)\n prevIsOpenedPropRef.current = isOpened\n }\n setIsOpened(prev => (isOpened !== prev ? isOpened : prev))\n }, [isOpened])\n\n const handleClose = (e): void => {\n if (typeof onClose === 'function') {\n onClose(e)\n }\n }\n\n const close = (e): void => {\n setIsOpened(false)\n handleClose(e)\n }\n\n const handleTouchMove = (e: CommonEvent): void => {\n e.stopPropagation()\n }\n\n const rootClass = classNames(\n 'at-float-layout',\n {\n 'at-float-layout--active': _isOpened\n },\n className\n )\n\n return (\n <View className={rootClass} onTouchMove={handleTouchMove}>\n <View onClick={close} className='at-float-layout__overlay' />\n <View className='at-float-layout__container layout'>\n {title ? (\n <View className='layout-header'>\n <Text className='layout-header__title'>{title}</Text>\n <View className='layout-header__btn-close' onClick={close} />\n </View>\n ) : null}\n <View className='layout-body'>\n <ScrollView\n scrollY={scrollY}\n scrollX={scrollX}\n scrollTop={scrollTop}\n scrollLeft={scrollLeft}\n upperThreshold={upperThreshold}\n lowerThreshold={lowerThreshold}\n scrollWithAnimation={scrollWithAnimation}\n onScroll={onScroll}\n onScrollToLower={onScrollToLower}\n onScrollToUpper={onScrollToUpper}\n className='layout-body__content'\n >\n {children}\n </ScrollView>\n </View>\n </View>\n </View>\n )\n}\n\nAtFloatLayout.propTypes = {\n title: PropTypes.string,\n isOpened: PropTypes.bool,\n scrollY: PropTypes.bool,\n scrollX: PropTypes.bool,\n scrollTop: PropTypes.number,\n scrollLeft: PropTypes.number,\n upperThreshold: PropTypes.number,\n lowerThreshold: PropTypes.number,\n scrollWithAnimation: PropTypes.bool,\n onClose: PropTypes.func,\n onScroll: PropTypes.func,\n onScrollToLower: PropTypes.func,\n onScrollToUpper: PropTypes.func\n}\n\nexport default AtFloatLayout\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Form } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtFormProps } from '../../../types/form'\n\nfunction AtForm({\n customStyle = '',\n className = '',\n reportSubmit = false,\n onSubmit,\n onReset,\n children\n}: AtFormProps): JSX.Element {\n const handleSubmit = (event: CommonEvent): void => {\n onSubmit && onSubmit(event)\n }\n\n const handleReset = (event: CommonEvent): void => {\n onReset && onReset(event)\n }\n\n const rootCls = classNames('at-form', className)\n\n return (\n <Form\n className={rootCls}\n style={customStyle}\n onSubmit={handleSubmit}\n reportSubmit={reportSubmit}\n onReset={handleReset}\n >\n {children}\n </Form>\n )\n}\n\nAtForm.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n reportSubmit: PropTypes.bool,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func\n}\n\nexport default AtForm\n","import classNames from 'classnames'\nimport _chunk from 'lodash/chunk'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtGridItem, AtGridProps } from '../../../types/grid'\nimport { mergeStyle } from '../../common/utils'\n\nfunction AtGrid({\n data = [],\n mode = 'square',\n columnNum = 3,\n hasBorder = true,\n className,\n onClick\n}: AtGridProps): JSX.Element | null {\n const handleClick = (\n item: AtGridItem,\n index: number,\n row: number,\n event: CommonEvent\n ): void => {\n if (typeof onClick === 'function') {\n const clickIndex = row * columnNum + index\n onClick(item, clickIndex, event)\n }\n }\n\n if (Array.isArray(data) && data.length === 0) {\n return null\n }\n\n const gridGroup = _chunk(data, columnNum)\n\n const bodyClass = classNames(\n ['at-grid__flex-item', 'at-grid-item', `at-grid-item--${mode}`],\n {\n 'at-grid-item--no-border': !hasBorder\n }\n )\n\n return (\n <View className={classNames('at-grid', className)}>\n {gridGroup.map((item, i) => (\n <View className='at-grid__flex' key={`at-grid-group-${i}`}>\n {item.map((childItem, index) => (\n <View\n key={`at-grid-item-${index}`}\n className={classNames(bodyClass, {\n 'at-grid-item--last': index === columnNum - 1\n })}\n onClick={event => handleClick(childItem, index, i, event)}\n style={{\n flex: `0 0 ${100 / columnNum}%`\n }}\n >\n <View className='at-grid-item__content'>\n <View className='at-grid-item__content-inner'>\n <View className='content-inner__icon'>\n {childItem.image && (\n <Image\n className='content-inner__img'\n src={childItem.image}\n mode='scaleToFill'\n />\n )}\n {childItem.iconInfo && !childItem.image && (\n <Text\n className={classNames(\n childItem.iconInfo.prefixClass || 'at-icon',\n {\n [`${childItem.iconInfo.prefixClass || 'at-icon'}-${\n childItem.iconInfo.value\n }`]: childItem.iconInfo.value\n },\n childItem.iconInfo.className\n )}\n style={mergeStyle(\n {\n color: childItem.iconInfo.color,\n fontSize: `${childItem.iconInfo.size || 24}px`\n },\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n childItem.iconInfo!.customStyle!\n )}\n />\n )}\n </View>\n <Text className='content-inner__text'>{childItem.value}</Text>\n </View>\n </View>\n </View>\n ))}\n </View>\n ))}\n </View>\n )\n}\n\nAtGrid.propTypes = {\n mode: PropTypes.string,\n onClick: PropTypes.func,\n hasBorder: PropTypes.bool,\n columnNum: PropTypes.number,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n image: PropTypes.string,\n value: PropTypes.string,\n iconInfo: PropTypes.shape({\n size: PropTypes.number,\n value: PropTypes.string,\n color: PropTypes.string,\n prefixClass: PropTypes.string,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string])\n })\n })\n )\n}\n\nexport default AtGrid\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text } from '@tarojs/components'\nimport { AtIconProps } from '../../../types/icon'\nimport { mergeStyle, pxTransform } from '../../common/utils'\n\nexport default function AtIcon({\n customStyle = {},\n className = '',\n prefixClass = 'at-icon',\n value = '',\n color = '',\n size = 24,\n onClick\n}: AtIconProps): JSX.Element {\n function handleClick(): void {\n onClick && onClick(arguments as any)\n }\n\n const rootStyle = {\n fontSize: `${pxTransform(parseInt(String(size)) * 2)}`,\n color\n }\n\n const iconName = value ? `${prefixClass}-${value}` : ''\n return (\n <Text\n className={classNames(prefixClass, iconName, className)}\n style={mergeStyle(rootStyle, customStyle)}\n onClick={handleClick}\n ></Text>\n )\n}\n\nAtIcon.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n prefixClass: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onClick: PropTypes.func\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useRef } from 'react'\nimport { Input, Label, Text, View } from '@tarojs/components'\nimport { BaseEventOrig, ITouchEvent } from '@tarojs/components/types/common'\nimport { InputProps } from '@tarojs/components/types/Input'\nimport {\n AtInputProps,\n BlurEventDetail,\n ConfirmEventDetail,\n FocusEventDetail,\n InputEventDetail,\n KeyboardHeightEventDetail\n} from '../../../types/input'\nimport { noop } from '../../common/utils'\n\ntype PickAtInputProps = Pick<\n AtInputProps,\n 'maxLength' | 'maxlength' | 'disabled' | 'password'\n>\ntype GetInputPropsReturn = PickAtInputProps & Pick<InputProps, 'type'>\n\nfunction getInputProps(props: AtInputProps): GetInputPropsReturn {\n const actualProps = {\n type: props.type,\n maxLength: props.maxLength || props.maxlength,\n disabled: props.disabled,\n password: false\n }\n\n switch (actualProps.type) {\n case 'phone':\n actualProps.type = 'number'\n actualProps.maxLength = 11\n break\n case 'password':\n actualProps.type = 'text'\n actualProps.password = true\n break\n default:\n break\n }\n if (!props.disabled && !props.editable) {\n actualProps.disabled = true\n }\n return actualProps as GetInputPropsReturn\n}\n\nfunction AtInput(props: AtInputProps): JSX.Element {\n const {\n className = '',\n customStyle = '',\n value = '',\n name = '',\n placeholder = '',\n placeholderStyle = '',\n placeholderClass = '',\n title = '',\n cursorSpacing = 50,\n confirmType = 'done',\n selectionStart = -1,\n selectionEnd = -1,\n adjustPosition = true,\n editable = true,\n border = true,\n error = false,\n clear = false,\n autoFocus = false,\n focus = false,\n required = false,\n cursor,\n onChange = noop,\n onFocus,\n onBlur,\n onConfirm,\n onErrorClick,\n onClick,\n onKeyboardHeightChange,\n children\n } = props\n // TODO: 有待考证是否为合理方式处理 #840\n const inputClearing = useRef(false)\n\n const handleInput = (event: BaseEventOrig<InputEventDetail>): void =>\n onChange?.(event.detail.value, event)\n\n const handleFocus = (event: BaseEventOrig<FocusEventDetail>): void => {\n if (typeof onFocus === 'function') {\n onFocus(event.detail.value, event)\n }\n }\n\n const handleBlur = (event: BaseEventOrig<BlurEventDetail>): void => {\n if (typeof onBlur === 'function') {\n onBlur(event.detail.value, event)\n }\n if (event.type === 'blur' && !inputClearing.current) {\n // fix # 583 AtInput 不触发 onChange 的问题\n onChange?.(event.detail.value, event as BaseEventOrig<InputEventDetail>)\n }\n // 还原状态\n inputClearing.current = false\n }\n\n const handleConfirm = (event: BaseEventOrig<ConfirmEventDetail>): void => {\n if (typeof onConfirm === 'function') {\n onConfirm(event.detail.value, event)\n }\n }\n\n const handleClick = (event: ITouchEvent): void => {\n if (!editable && typeof onClick === 'function') {\n onClick(event)\n }\n }\n\n const handleClearValue = (event: ITouchEvent): void => {\n inputClearing.current = true\n onChange?.('', event)\n }\n\n const handleKeyboardHeightChange = (\n event: BaseEventOrig<KeyboardHeightEventDetail>\n ): void => {\n if (typeof onKeyboardHeightChange === 'function') {\n onKeyboardHeightChange(event)\n }\n }\n\n const handleErrorClick = (event: ITouchEvent): void => {\n if (typeof onErrorClick === 'function') {\n onErrorClick(event)\n }\n }\n\n const {\n type: inputType,\n maxLength: inputMaxLength,\n disabled: inputDisabled,\n password\n } = getInputProps({\n ...props,\n type: props.type ?? 'text',\n maxlength: props.maxlength ?? 140,\n maxLength: props.maxLength ?? 140,\n disabled: props.disabled ?? false,\n editable: props.editable ?? true\n })\n\n const rootCls = classNames(\n 'at-input',\n {\n 'at-input--without-border': !border\n },\n className\n )\n const containerCls = classNames('at-input__container', {\n 'at-input--error': error,\n 'at-input--disabled': inputDisabled\n })\n // TODO: overlayCls 是否需要移除\n const overlayCls = classNames('at-input__overlay', {\n 'at-input__overlay--hidden': !inputDisabled\n })\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={containerCls}>\n <View className={overlayCls} onClick={handleClick}></View>\n {title && (\n <Label\n className={`at-input__title ${\n required && 'at-input__title--required'\n }`}\n for={name}\n >\n {title}\n </Label>\n )}\n <Input\n className='at-input__input'\n id={name}\n name={name}\n type={inputType}\n disabled={inputDisabled}\n password={password}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n placeholder={placeholder}\n cursorSpacing={cursorSpacing}\n maxlength={inputMaxLength}\n autoFocus={autoFocus}\n // TODO: 临时解决方案,等 Taro 更新后还原到 focus={focus}\n focus={focus}\n value={value}\n confirmType={confirmType}\n cursor={cursor}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n adjustPosition={adjustPosition}\n onInput={handleInput}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onConfirm={handleConfirm}\n onKeyboardHeightChange={handleKeyboardHeightChange}\n />\n {clear && value && (\n <View className='at-input__icon' onTouchEnd={handleClearValue}>\n <Text className='at-icon at-icon-close-circle at-input__icon-close'></Text>\n </View>\n )}\n {error && (\n <View className='at-input__icon' onTouchStart={handleErrorClick}>\n <Text className='at-icon at-icon-alert-circle at-input__icon-alert'></Text>\n </View>\n )}\n <View className='at-input__children'>{children}</View>\n </View>\n </View>\n )\n}\n\nAtInput.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n placeholder: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholderClass: PropTypes.string,\n title: PropTypes.string,\n confirmType: PropTypes.string,\n cursor: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionStart: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectionEnd: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n adjustPosition: PropTypes.bool,\n cursorSpacing: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxlength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n type: PropTypes.string,\n disabled: PropTypes.bool,\n border: PropTypes.bool,\n editable: PropTypes.bool,\n error: PropTypes.bool,\n clear: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onErrorClick: PropTypes.func,\n onClick: PropTypes.func,\n required: PropTypes.bool\n}\n\nexport default AtInput\n","import classNames from 'classnames'\nimport _toString from 'lodash/toString'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Input, Text, View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport { AtInputNumberProps, InputError } from '../../../types/input-number'\nimport { noop, pxTransform } from '../../common/utils'\n\n// TODO: Check all types\n\n// 实现两数相加并保留小数点后最短尾数\nfunction addNum(num1: number, num2: number): number {\n let sq1: number, sq2: number\n try {\n sq1 = _toString(num1).split('.')[1].length\n } catch (e) {\n sq1 = 0\n }\n try {\n sq2 = _toString(num2).split('.')[1].length\n } catch (e) {\n sq2 = 0\n }\n const m = Math.pow(10, Math.max(sq1, sq2))\n return (Math.round(num1 * m) + Math.round(num2 * m)) / m\n}\n\n// 格式化数字,处理01变成1,并且不处理1. 这种情况\nfunction parseValue(num: string): string {\n if (num === '') return '0'\n\n const numStr = _toString(num)\n if (numStr.indexOf('0') === 0 && numStr.indexOf('.') === -1) {\n // 处理01变成1,并且不处理1.\n return _toString(parseFloat(num))\n }\n return _toString(num)\n}\n\ntype ExtendEvent = {\n target: {\n value: string | number\n }\n}\n\nfunction AtInputNumber({\n customStyle = {},\n className = '',\n disabled = false,\n disabledInput = false,\n type = 'number',\n width = 0,\n min = 0,\n max = 100,\n step = 1,\n size = 'normal',\n value,\n onChange = noop,\n onBlur,\n onErrorInput\n}: AtInputNumberProps): JSX.Element {\n const handleError = (errorValue: InputError): void => {\n if (!onErrorInput) {\n return\n }\n onErrorInput(errorValue)\n }\n\n const handleValue = (val: string | number): string => {\n let resultValue = val === '' ? min : val\n // 此处不能使用 Math.max,会是字符串变数字,并丢失 .\n if (Number(resultValue) > max) {\n resultValue = max\n handleError({\n type: 'OVER',\n errorValue: resultValue\n })\n }\n if (Number(resultValue) < min) {\n resultValue = min\n handleError({\n type: 'LOW',\n errorValue: resultValue\n })\n }\n if (resultValue && !Number(resultValue)) {\n resultValue = parseFloat(String(resultValue)) || min\n\n handleError({\n type: 'OVER',\n errorValue: resultValue\n })\n }\n\n resultValue = parseValue(String(resultValue))\n return resultValue\n }\n\n const handleClick = (clickType: 'minus' | 'plus', e: CommonEvent): void => {\n const lowThanMin = clickType === 'minus' && Number(value) <= min\n const overThanMax = clickType === 'plus' && Number(value) >= max\n if (lowThanMin || overThanMax || disabled) {\n const deltaValue = clickType === 'minus' ? -step : step\n const errorValue = addNum(Number(value), deltaValue)\n if (disabled) {\n handleError({\n type: 'DISABLED',\n errorValue\n })\n } else {\n handleError({\n type: lowThanMin ? 'LOW' : 'OVER',\n errorValue\n })\n }\n return\n }\n const deltaValue = clickType === 'minus' ? -step : step\n let newValue = addNum(Number(value), deltaValue)\n newValue = Number(handleValue(newValue))\n onChange(newValue, e)\n }\n\n const handleInput = (e: CommonEvent & ExtendEvent): string => {\n const { value: inputVal } = e.target\n if (disabled) return ''\n\n const newValue = handleValue(inputVal)\n onChange(Number(newValue), e)\n return newValue\n }\n\n const handleBlur = (event: ITouchEvent): void => onBlur && onBlur(event)\n\n const inputStyle = {\n width: width ? `${pxTransform(width)}` : ''\n }\n const inputValue =\n typeof value !== 'undefined' ? Number(handleValue(value)) : null\n const rootCls = classNames(\n 'at-input-number',\n {\n 'at-input-number--lg': size === 'large'\n },\n className\n )\n const minusBtnCls = classNames('at-input-number__btn', {\n 'at-input-number--disabled':\n (inputValue !== null && inputValue <= min) || disabled\n })\n const plusBtnCls = classNames('at-input-number__btn', {\n 'at-input-number--disabled':\n (inputValue !== null && inputValue >= max) || disabled\n })\n\n return (\n <View className={rootCls} style={customStyle}>\n <View\n className={minusBtnCls}\n onClick={(e: CommonEvent) => handleClick('minus', e)}\n >\n <Text className='at-icon at-icon-subtract at-input-number__btn-subtract'></Text>\n </View>\n <Input\n className='at-input-number__input'\n style={inputStyle}\n type={type}\n value={inputValue !== null ? String(inputValue) : ''}\n disabled={disabledInput || disabled}\n onInput={handleInput}\n onBlur={handleBlur}\n />\n <View\n className={plusBtnCls}\n onClick={(e: CommonEvent) => handleClick('plus', e)}\n >\n <Text className='at-icon at-icon-add at-input-number__btn-add'></Text>\n </View>\n </View>\n )\n}\n\nAtInputNumber.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n type: PropTypes.oneOf(['number', 'digit']),\n disabled: PropTypes.bool,\n width: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n size: PropTypes.oneOf(['normal', 'large']),\n disabledInput: PropTypes.bool,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n onErrorInput: PropTypes.func\n}\n\nexport default AtInputNumber\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { Button, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtModalProps } from '../../../types/modal'\nimport { handleTouchScroll } from '../../common/utils'\nimport AtModalAction from './action/index'\nimport AtModalContent from './content/index'\nimport AtModalHeader from './header/index'\n\nfunction AtModal({\n isOpened = false,\n closeOnClickOverlay = true,\n title,\n content,\n cancelText,\n confirmText,\n className,\n children,\n onClose,\n onCancel,\n onConfirm\n}: AtModalProps): JSX.Element {\n const [_isOpened, setIsOpened] = useState(isOpened)\n const prevIsOpenedPropRef = useRef(isOpened)\n const isWEB = Taro.getEnv() === Taro.ENV_TYPE.WEB\n\n useEffect(() => {\n if (prevIsOpenedPropRef.current !== isOpened) {\n handleTouchScroll(isOpened)\n prevIsOpenedPropRef.current = isOpened\n }\n setIsOpened(prev => (isOpened !== prev ? isOpened : prev))\n }, [isOpened])\n\n const handleClose = (event?: CommonEvent): void => {\n if (typeof onClose === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n onClose(event!)\n }\n }\n\n const handleClickOverlay = (): void => {\n if (closeOnClickOverlay) {\n setIsOpened(false)\n handleClose()\n }\n }\n\n const handleCancel = (event: CommonEvent): void => {\n if (typeof onCancel === 'function') {\n onCancel(event)\n }\n }\n\n const handleConfirm = (event: CommonEvent): void => {\n if (typeof onConfirm === 'function') {\n onConfirm(event)\n }\n }\n\n const handleTouchMove = (e: CommonEvent): void => {\n e.stopPropagation()\n }\n\n const rootClass = classNames(\n 'at-modal',\n {\n 'at-modal--active': _isOpened\n },\n className\n )\n\n if (title || content) {\n const isRenderAction = cancelText || confirmText\n return (\n <View className={rootClass}>\n <View onClick={handleClickOverlay} className='at-modal__overlay' />\n <View className='at-modal__container'>\n {title && (\n <AtModalHeader>\n <Text>{title}</Text>\n </AtModalHeader>\n )}\n {content && (\n <AtModalContent>\n <View className='content-simple'>\n {isWEB ? (\n <Text\n dangerouslySetInnerHTML={{\n __html: content.replace(/\\\\n/g, '<br/>')\n }}\n ></Text>\n ) : (\n <Text>{content}</Text>\n )}\n </View>\n </AtModalContent>\n )}\n {isRenderAction && (\n <AtModalAction isSimple>\n {cancelText && (\n <Button onClick={handleCancel}>{cancelText}</Button>\n )}\n {confirmText && (\n <Button onClick={handleConfirm}>{confirmText}</Button>\n )}\n </AtModalAction>\n )}\n </View>\n </View>\n )\n }\n\n return (\n <View onTouchMove={handleTouchMove} className={rootClass}>\n <View className='at-modal__overlay' onClick={handleClickOverlay} />\n <View className='at-modal__container'>{children}</View>\n </View>\n )\n}\n\nAtModal.propTypes = {\n title: PropTypes.string,\n isOpened: PropTypes.bool,\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func,\n onClose: PropTypes.func,\n content: PropTypes.string,\n closeOnClickOverlay: PropTypes.bool,\n cancelText: PropTypes.string,\n confirmText: PropTypes.string\n}\n\nexport default AtModal\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtModalActionProps } from '../../../../types/modal'\n\nfunction AtModalAction({\n isSimple = false,\n className,\n children\n}: AtModalActionProps): JSX.Element {\n const rootClass = classNames(\n 'at-modal__footer',\n {\n 'at-modal__footer--simple': isSimple\n },\n className\n )\n\n return (\n <View className={rootClass}>\n <View className='at-modal__action'>{children}</View>\n </View>\n )\n}\n\nAtModalAction.propTypes = {\n isSimple: PropTypes.bool\n}\n\nexport default AtModalAction\n","import classNames from 'classnames'\nimport React from 'react'\nimport { ScrollView } from '@tarojs/components'\nimport { AtModalContentProps } from '../../../../types/modal'\n\nfunction AtModalContent({\n className,\n children\n}: AtModalContentProps): JSX.Element {\n const rootClass = classNames('at-modal__content', className)\n return (\n <ScrollView scrollY className={rootClass}>\n {children}\n </ScrollView>\n )\n}\n\nexport default AtModalContent\n","import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtModalHeaderProps } from '../../../../types/modal'\n\nfunction AtModalHeader({\n className,\n children\n}: AtModalHeaderProps): JSX.Element {\n const rootClass = classNames('at-modal__header', className)\n return <View className={rootClass}>{children}</View>\n}\n\nexport default AtModalHeader\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { ITouchEvent } from '@tarojs/components/types/common'\nimport { AtNavBarProps } from '../../../types/nav-bar'\nimport { mergeStyle, pxTransform } from '../../common/utils'\n\nfunction AtNavBar({\n customStyle = '',\n className = '',\n fixed = false,\n border = true,\n color = '',\n leftIconType = '',\n leftText = '',\n title = '',\n rightFirstIconType = '',\n rightSecondIconType = '',\n children,\n onClickLeftIcon,\n onClickRgIconSt,\n onClickRgIconNd,\n onClickTitle\n}: AtNavBarProps): JSX.Element {\n const handleClickLeftView = (event: ITouchEvent): void => {\n onClickLeftIcon && onClickLeftIcon(event)\n }\n\n const handleClickSt = (event: ITouchEvent): void => {\n onClickRgIconSt && onClickRgIconSt(event)\n }\n\n const handleClickNd = (event: ITouchEvent): void => {\n onClickRgIconNd && onClickRgIconNd(event)\n }\n\n const handleClickTitle = (event: ITouchEvent): void => {\n onClickTitle && onClickTitle(event)\n }\n\n const linkStyle = { color }\n\n const defaultIconInfo = {\n customStyle: '',\n className: '',\n prefixClass: 'at-icon',\n value: '',\n color: '',\n size: 24\n }\n\n const leftIconInfo =\n leftIconType instanceof Object\n ? { ...defaultIconInfo, ...leftIconType }\n : { ...defaultIconInfo, value: leftIconType }\n const leftIconClass = classNames(\n leftIconInfo.prefixClass,\n {\n [`${leftIconInfo.prefixClass}-${leftIconInfo.value}`]: leftIconInfo.value\n },\n leftIconInfo.className\n )\n\n const rightFirstIconInfo =\n rightFirstIconType instanceof Object\n ? { ...defaultIconInfo, ...rightFirstIconType }\n : { ...defaultIconInfo, value: rightFirstIconType }\n const rightFirstIconClass = classNames(\n rightFirstIconInfo.prefixClass,\n {\n [`${rightFirstIconInfo.prefixClass}-${rightFirstIconInfo.value}`]:\n rightFirstIconInfo.value\n },\n rightFirstIconInfo.className\n )\n\n const rightSecondIconInfo =\n rightSecondIconType instanceof Object\n ? { ...defaultIconInfo, ...rightSecondIconType }\n : { ...defaultIconInfo, value: rightSecondIconType }\n const rightSecondIconClass = classNames(\n rightSecondIconInfo.prefixClass,\n {\n [`${rightSecondIconInfo.prefixClass}-${rightSecondIconInfo.value}`]:\n rightSecondIconInfo.value\n },\n rightSecondIconInfo.className\n )\n\n return (\n <View\n className={classNames(\n {\n 'at-nav-bar': true,\n 'at-nav-bar--fixed': fixed,\n 'at-nav-bar--no-border': !border\n },\n className\n )}\n style={customStyle}\n >\n <View\n className='at-nav-bar__left-view'\n onClick={handleClickLeftView}\n style={linkStyle}\n >\n {leftIconType && (\n <Text\n className={leftIconClass}\n style={mergeStyle(\n {\n color: leftIconInfo.color,\n fontSize: `${pxTransform(\n parseInt(leftIconInfo.size.toString()) * 2\n )}`\n },\n leftIconInfo.customStyle\n )}\n ></Text>\n )}\n <Text className='at-nav-bar__text'>{leftText}</Text>\n </View>\n <View className='at-nav-bar__title' onClick={handleClickTitle}>\n {title || children}\n </View>\n <View className='at-nav-bar__right-view'>\n <View\n className={classNames({\n 'at-nav-bar__container': true,\n 'at-nav-bar__container--hide': !rightSecondIconType\n })}\n style={linkStyle}\n onClick={handleClickNd}\n >\n {rightSecondIconType && (\n <Text\n className={rightSecondIconClass}\n style={mergeStyle(\n {\n color: rightSecondIconInfo.color,\n fontSize: `${pxTransform(\n parseInt(rightSecondIconInfo.size.toString()) * 2\n )}`\n },\n rightSecondIconInfo.customStyle\n )}\n ></Text>\n )}\n </View>\n <View\n className={classNames({\n 'at-nav-bar__container': true,\n 'at-nav-bar__container--hide': !rightFirstIconType\n })}\n style={linkStyle}\n onClick={handleClickSt}\n >\n {rightFirstIconType && (\n <Text\n className={rightFirstIconClass}\n style={mergeStyle(\n {\n color: rightFirstIconInfo.color,\n fontSize: `${pxTransform(\n parseInt(rightFirstIconInfo.size.toString()) * 2\n )}`\n },\n rightFirstIconInfo.customStyle\n )}\n ></Text>\n )}\n </View>\n </View>\n </View>\n )\n}\n\nAtNavBar.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n fixed: PropTypes.bool,\n border: PropTypes.bool,\n color: PropTypes.string,\n leftIconType: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n leftText: PropTypes.string,\n title: PropTypes.string,\n rightFirstIconType: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n rightSecondIconType: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object\n ]),\n onClickLeftIcon: PropTypes.func,\n onClickRgIconSt: PropTypes.func,\n onClickRgIconNd: PropTypes.func,\n onClickTitle: PropTypes.func\n}\n\nexport default AtNavBar\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport { AtNoticeBarProps } from '../../../types/noticebar'\n\nfunction AtNoticebar({\n close = false,\n single = false,\n marquee = false,\n speed = 100,\n moreText,\n showMore = false,\n icon = '',\n customStyle = {},\n className,\n children,\n onClose,\n onGotoMore\n}: AtNoticeBarProps): JSX.Element | boolean {\n const locale = useComponentLocale('NoticeBar')\n const resolvedMoreText = moreText ?? locale.moreText\n const [show, setShow] = useState(true)\n const [animElemId] = useState(\n () => `J_${Math.ceil(Math.random() * 10e5).toString(36)}`\n )\n const [animationData, setAnimationData] = useState<{\n actions: Record<string, unknown>[]\n }>({\n actions: [{}]\n })\n const [dura, setDura] = useState(0)\n const isWEAPP = Taro.getEnv() === Taro.ENV_TYPE.WEAPP\n const isALIPAY = Taro.getEnv() === Taro.ENV_TYPE.ALIPAY\n const isWEB = Taro.getEnv() === Taro.ENV_TYPE.WEB\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null)\n const animElemIdRef = useRef(animElemId)\n\n const initAnimation = useCallback((): void => {\n timeoutRef.current = setTimeout(() => {\n timeoutRef.current = null\n if (isWEB) {\n const elem = document.querySelector(`.${animElemIdRef.current}`)\n if (!elem) return\n const width = elem.getBoundingClientRect().width\n const animDura = width / +speed\n setDura(animDura)\n } else if (isWEAPP || isALIPAY) {\n const query = Taro.createSelectorQuery()\n query\n .select(`.${animElemIdRef.current}`)\n .boundingClientRect()\n .exec(res => {\n const queryRes = res[0]\n if (!queryRes) return\n const { width } = queryRes\n const animDura = width / +speed\n const animation = Taro.createAnimation({\n duration: animDura * 1000,\n timingFunction: 'linear'\n })\n const resetAnimation = Taro.createAnimation({\n duration: 0,\n timingFunction: 'linear'\n })\n const resetOpacityAnimation = Taro.createAnimation({\n duration: 0,\n timingFunction: 'linear'\n })\n const animBody = (): void => {\n resetOpacityAnimation.opacity(0).step()\n setAnimationData(resetOpacityAnimation.export())\n\n setTimeout(() => {\n resetAnimation.translateX(0).step()\n setAnimationData(resetAnimation.export())\n }, 300)\n\n setTimeout(() => {\n resetOpacityAnimation.opacity(1).step()\n setAnimationData(resetOpacityAnimation.export())\n }, 600)\n\n setTimeout(() => {\n animation.translateX(-width).step()\n setAnimationData(animation.export())\n }, 900)\n }\n animBody()\n intervalRef.current = setInterval(animBody, animDura * 1000 + 1000)\n })\n }\n }, 1000)\n }, [isWEB, isWEAPP, isALIPAY, speed])\n\n useEffect(() => {\n if (!marquee) return\n initAnimation()\n }, [marquee, initAnimation])\n\n useEffect(() => {\n if (!timeoutRef.current) {\n intervalRef.current && clearInterval(intervalRef.current)\n initAnimation()\n }\n }, [\n children,\n single,\n marquee,\n speed,\n icon,\n close,\n showMore,\n resolvedMoreText,\n className,\n customStyle,\n initAnimation\n ])\n\n const handleClose = (event: CommonEvent): void => {\n setShow(false)\n onClose && onClose(event)\n }\n\n const handleGotoMore = (event: CommonEvent): void => {\n onGotoMore && onGotoMore(event)\n }\n\n let resolvedShowMore = showMore\n if (!single) resolvedShowMore = false\n\n const style: Record<string, string> = {}\n const innerClassName = ['at-noticebar__content-inner']\n let resolvedClose = close\n if (marquee) {\n resolvedClose = false\n innerClassName.push(animElemId)\n style['animation-delay'] = '3s'\n\n if (dura > 0) {\n style['animation-duration'] = `${dura}s`\n style['animation-delay'] = '1s'\n }\n }\n\n const classObject = {\n 'at-noticebar--marquee': marquee,\n 'at-noticebar--weapp': marquee && (isWEAPP || isALIPAY),\n 'at-noticebar--single': !marquee && single\n }\n\n const iconClass = ['at-icon']\n if (icon) iconClass.push(`at-icon-${icon}`)\n\n return (\n show && (\n <View\n className={classNames('at-noticebar', classObject, className)}\n style={customStyle}\n >\n {resolvedClose && (\n <View className='at-noticebar__close' onClick={handleClose}>\n <Text className='at-icon at-icon-close'></Text>\n </View>\n )}\n <View className='at-noticebar__content'>\n {icon && (\n <View className='at-noticebar__content-icon'>\n <Text className={classNames(iconClass, iconClass)}></Text>\n </View>\n )}\n <View className='at-noticebar__content-text'>\n <View\n id={animElemId}\n animation={animationData}\n className={classNames(innerClassName)}\n style={style}\n >\n {children}\n </View>\n </View>\n </View>\n {resolvedShowMore && (\n <View className='at-noticebar__more' onClick={handleGotoMore}>\n <Text className='text'>{resolvedMoreText}</Text>\n <View className='at-noticebar__more-icon'>\n <Text className='at-icon at-icon-chevron-right'></Text>\n </View>\n </View>\n )}\n </View>\n )\n )\n}\n\nAtNoticebar.propTypes = {\n close: PropTypes.bool,\n single: PropTypes.bool,\n marquee: PropTypes.bool,\n speed: PropTypes.number,\n moreText: PropTypes.string,\n showMore: PropTypes.bool,\n icon: PropTypes.string,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n onClose: PropTypes.func,\n onGotoMore: PropTypes.func\n}\n\nexport default AtNoticebar\n","import { useContext } from 'react'\nimport { ConfigContext } from '../components/config-provider/context'\nimport { defaultLocale } from '../locale'\nimport { Locale } from '../locale/types'\n\nexport function useComponentLocale<K extends keyof Locale>(\n component: K\n): Locale[K] {\n const { locale } = useContext(ConfigContext)\n return locale?.[component] ?? defaultLocale[component]\n}\n","import { createContext, useContext } from 'react'\nimport { defaultLocale } from '../../locale'\nimport { Locale } from '../../locale/types'\n\nexport interface ConfigContextValue {\n locale: Locale\n}\n\nexport const ConfigContext = createContext<ConfigContextValue>({\n locale: defaultLocale\n})\n\nexport function useConfig() {\n return useContext(ConfigContext)\n}\n","import { Locale } from './types'\n\nconst zhCN: Locale = {\n locale: 'zh-CN',\n LoadMore: {\n loadingText: '加载中',\n moreText: '查看更多',\n noMoreText: '没有更多'\n },\n SearchBar: {\n placeholder: '搜索',\n actionName: '搜索'\n },\n NoticeBar: {\n moreText: '查看详情'\n },\n Countdown: {\n day: '天',\n hours: '时',\n minutes: '分',\n seconds: '秒'\n },\n Calendar: {\n monthFormat: 'YYYY年MM月',\n weekdays: ['日', '一', '二', '三', '四', '五', '六']\n },\n Pagination: {\n prev: '上一页',\n next: '下一页'\n }\n}\n\nexport default zhCN\n","import { Locale } from './types'\n\nconst enUS: Locale = {\n locale: 'en-US',\n LoadMore: {\n loadingText: 'Loading...',\n moreText: 'Load more',\n noMoreText: 'No more'\n },\n SearchBar: {\n placeholder: 'Search',\n actionName: 'Search'\n },\n NoticeBar: {\n moreText: 'More'\n },\n Countdown: {\n day: 'd',\n hours: 'h',\n minutes: 'm',\n seconds: 's'\n },\n Calendar: {\n monthFormat: 'MMMM YYYY',\n weekdays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n },\n Pagination: {\n prev: 'Previous',\n next: 'Next'\n }\n}\n\nexport default enUS\n","export { default as zhCN } from './zh_CN'\nexport { default as enUS } from './en_US'\nimport zhCN from './zh_CN'\nexport type { Locale, PartialLocale } from './types'\n\nexport const defaultLocale = zhCN\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useState } from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport { AtPaginationProps } from '../../../types/pagination'\nimport AtButton from '../button/index'\n\nconst MIN_MAXPAGE = 1\nconst getMaxPage = (maxPage = 0): number => {\n if (maxPage <= 0) return MIN_MAXPAGE\n return maxPage\n}\n\nconst createPickerRange = (max: number): number[] => {\n const range = new Array(max).fill(0).map((_val, index) => index + 1)\n return range\n}\n\nfunction AtPagination({\n current = 1,\n total = 0,\n pageSize = 20,\n icon = false,\n customStyle = {},\n className,\n onPageChange\n}: AtPaginationProps): JSX.Element {\n const locale = useComponentLocale('Pagination')\n const initialMaxPage = getMaxPage(Math.ceil(total / pageSize))\n const [currentPage, setCurrentPage] = useState(current || 1)\n const [maxPage, setMaxPage] = useState(initialMaxPage)\n const [, setPickerRange] = useState(() => createPickerRange(initialMaxPage))\n\n useEffect(() => {\n const newMaxPage = getMaxPage(Math.ceil(total / pageSize))\n setMaxPage(prev => {\n if (newMaxPage !== prev) {\n setPickerRange(createPickerRange(newMaxPage))\n return newMaxPage\n }\n return prev\n })\n if (typeof current === 'number') {\n setCurrentPage(prev => (current !== prev ? current : prev))\n }\n }, [total, pageSize, current])\n\n const onPrev = (): void => {\n let nextPage = currentPage\n const originCur = nextPage\n nextPage -= 1\n nextPage = Math.max(1, nextPage)\n if (originCur === nextPage) return\n onPageChange && onPageChange({ type: 'prev', current: nextPage })\n setCurrentPage(nextPage)\n }\n\n const onNext = (): void => {\n let nextPage = currentPage\n const originCur = nextPage\n nextPage += 1\n nextPage = Math.min(maxPage, nextPage)\n if (originCur === nextPage) return\n onPageChange && onPageChange({ type: 'next', current: nextPage })\n setCurrentPage(nextPage)\n }\n\n const rootClassName = ['at-pagination']\n\n const prevDisabled = maxPage === MIN_MAXPAGE || currentPage === 1\n const nextDisabled = maxPage === MIN_MAXPAGE || currentPage === maxPage\n\n const classObject = {\n 'at-pagination--icon': icon\n }\n\n return (\n <View\n className={classNames(rootClassName, classObject, className)}\n style={customStyle}\n >\n <View className='at-pagination__btn-prev'>\n {icon && (\n <AtButton onClick={onPrev} size='small' disabled={prevDisabled}>\n <Text className='at-icon at-icon-chevron-left'></Text>\n </AtButton>\n )}\n {!icon && (\n <AtButton onClick={onPrev} size='small' disabled={prevDisabled}>\n {locale.prev}\n </AtButton>\n )}\n </View>\n <View className='at-pagination__number'>\n <Text className='at-pagination__number-current'>{currentPage}</Text>/\n {maxPage}\n </View>\n <View className='at-pagination__btn-next'>\n {icon && (\n <AtButton onClick={onNext} size='small' disabled={nextDisabled}>\n <Text className='at-icon at-icon-chevron-right'></Text>\n </AtButton>\n )}\n {!icon && (\n <AtButton onClick={onNext} size='small' disabled={nextDisabled}>\n {locale.next}\n </AtButton>\n )}\n </View>\n </View>\n )\n}\n\nAtPagination.propTypes = {\n current: PropTypes.number,\n total: PropTypes.number,\n pageSize: PropTypes.number,\n icon: PropTypes.bool,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n onPageChange: PropTypes.func\n}\n\nexport default AtPagination\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtProgressProps } from '../../../types/progress'\n\nexport default function AtProgress({\n color,\n percent: percentProp,\n strokeWidth,\n status,\n isHidePercent,\n className\n}: AtProgressProps): JSX.Element {\n let percent = percentProp\n if (typeof percent !== 'number') {\n percent = 0\n }\n\n if (percent < 0) {\n percent = 0\n } else if (percent > 100) {\n percent = 100\n }\n\n const rootClass = classNames(\n 'at-progress',\n {\n [`at-progress--${status}`]: !!status\n },\n className\n )\n const iconClass = classNames('at-icon', {\n 'at-icon-close-circle': status === 'error',\n 'at-icon-check-circle': status === 'success'\n })\n\n const progressStyle = {\n width: percent && `${+percent}%`,\n height: strokeWidth && `${+strokeWidth}px`,\n backgroundColor: color\n }\n\n return (\n <View className={rootClass}>\n <View className='at-progress__outer'>\n <View className='at-progress__outer-inner'>\n <View\n className='at-progress__outer-inner-background'\n style={progressStyle}\n />\n </View>\n </View>\n\n {!isHidePercent && (\n <View className='at-progress__content'>\n {!status || status === 'progress' ? (\n `${percent}%`\n ) : (\n <Text className={iconClass}></Text>\n )}\n </View>\n )}\n </View>\n )\n}\n\nAtProgress.propTypes = {\n color: PropTypes.string,\n status: PropTypes.string,\n percent: PropTypes.number,\n strokeWidth: PropTypes.number,\n isHidePercent: PropTypes.bool\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtRadioProps, RadioOption } from '../../../types/radio'\nimport { noop } from '../../common/utils'\n\nfunction AtRadio({\n customStyle = '',\n className = '',\n value = '',\n options = [],\n onClick = noop\n}: AtRadioProps<any>): JSX.Element {\n const handleClick = (option: RadioOption<any>, event: CommonEvent): void => {\n if (option.disabled) return\n onClick(option.value, event)\n }\n\n return (\n <View className={classNames('at-radio', className)} style={customStyle}>\n {options.map(option => (\n <View\n key={option.value}\n onClick={event => handleClick(option, event)}\n className={classNames({\n 'at-radio__option': true,\n 'at-radio__option--disabled': option.disabled\n })}\n >\n <View className='at-radio__option-wrap'>\n <View className='at-radio__option-container'>\n <View className='at-radio__title'>{option.label}</View>\n <View\n className={classNames({\n 'at-radio__icon': true,\n 'at-radio__icon--checked': value === option.value\n })}\n >\n <Text className='at-icon at-icon-check'></Text>\n </View>\n </View>\n {option.desc && (\n <View className='at-radio__desc'>{option.desc}</View>\n )}\n </View>\n </View>\n ))}\n </View>\n )\n}\n\nAtRadio.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n value: PropTypes.string,\n options: PropTypes.array,\n onClick: PropTypes.func\n}\n\nexport default AtRadio\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtRateProps } from '../../../types/rate'\nimport { pxTransform } from '../../common/utils'\n\nfunction AtRate({\n customStyle = '',\n className = '',\n value = 0,\n max = 5,\n size = 0,\n margin = 5,\n onChange\n}: AtRateProps): JSX.Element {\n const handleClick = (event: CommonEvent): void => {\n onChange && onChange(event)\n }\n\n const iconStyle = {\n marginRight: pxTransform(margin)\n }\n const starIconStyle = {\n fontSize: size ? `${size}px` : ''\n }\n\n // 生成星星颜色 className 数组,方便在jsx中直接map\n const classNameArr: string[] = []\n const floorValue = Math.floor(value)\n const ceilValue = Math.ceil(value)\n for (let i = 0; i < max; i++) {\n if (floorValue > i) {\n classNameArr.push('at-rate__icon at-rate__icon--on')\n } else if (ceilValue - 1 === i) {\n classNameArr.push('at-rate__icon at-rate__icon--half')\n } else {\n classNameArr.push('at-rate__icon at-rate__icon--off')\n }\n }\n\n return (\n <View className={classNames('at-rate', className)} style={customStyle}>\n {classNameArr.map((cls, i) => (\n <View\n className={cls}\n key={`at-rate-star-${i}`}\n style={iconStyle}\n onClick={handleClick.bind(null, i + 1)}\n >\n <Text className='at-icon at-icon-star-2' style={starIconStyle}></Text>\n <View className='at-rate__left'>\n <Text\n className='at-icon at-icon-star-2'\n style={starIconStyle}\n ></Text>\n </View>\n </View>\n ))}\n </View>\n )\n}\n\nAtRate.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.number,\n max: PropTypes.number,\n margin: PropTypes.number,\n onChange: PropTypes.func\n}\n\nexport default AtRate\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtSegmentedControlProps } from '../../../types/segmented-control'\nimport { mergeStyle, noop, pxTransform } from '../../common/utils'\n\nfunction AtSegmentedControl({\n customStyle = '',\n className = '',\n disabled = false,\n values = [],\n selectedColor = '',\n current = 0,\n color = '',\n fontSize = 28,\n onClick = noop\n}: AtSegmentedControlProps): JSX.Element {\n const handleClick = (index: number, event: CommonEvent): void => {\n if (disabled) return\n onClick(index, event)\n }\n\n const rootStyle = {\n borderColor: selectedColor\n }\n const itemStyle = {\n color: selectedColor,\n fontSize: pxTransform(fontSize),\n borderColor: selectedColor,\n backgroundColor: color\n }\n const selectedItemStyle = {\n color,\n fontSize: pxTransform(fontSize),\n borderColor: selectedColor,\n backgroundColor: selectedColor\n }\n const rootCls = classNames(\n 'at-segmented-control',\n {\n 'at-segmented-control--disabled': disabled\n },\n className\n )\n\n return (\n <View className={rootCls} style={mergeStyle(rootStyle, customStyle)}>\n {values.map((value, i) => (\n <View\n className={classNames('at-segmented-control__item', {\n 'at-segmented-control__item--active': current === i\n })}\n style={current === i ? selectedItemStyle : itemStyle}\n key={value}\n onClick={event => handleClick(i, event)}\n >\n {value}\n </View>\n ))}\n </View>\n )\n}\n\nAtSegmentedControl.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n current: PropTypes.number,\n color: PropTypes.string,\n fontSize: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n values: PropTypes.array,\n onClick: PropTypes.func\n}\n\nexport default AtSegmentedControl\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Switch, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtSwitchProps } from '../../../types/switch'\n\nfunction AtSwitch({\n customStyle = '',\n className = '',\n title = '',\n color = '#6190e8',\n border = true,\n disabled = false,\n checked = false,\n onChange\n}: AtSwitchProps): JSX.Element {\n const handleChange = (event: CommonEvent): void => {\n const { value, checked: eventChecked } = event.detail\n const state = typeof value === 'undefined' ? eventChecked : value\n onChange && onChange(state)\n }\n\n const rootCls = classNames(\n 'at-switch',\n {\n 'at-switch--without-border': !border\n },\n className\n )\n const containerCls = classNames('at-switch__container', {\n 'at-switch--disabled': disabled\n })\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className='at-switch__title'>{title}</View>\n <View className={containerCls}>\n <View className='at-switch__mask'></View>\n <Switch\n className='at-switch__switch'\n checked={checked}\n color={color}\n onChange={handleChange}\n />\n </View>\n </View>\n )\n}\n\nAtSwitch.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n title: PropTypes.string,\n color: PropTypes.string,\n checked: PropTypes.bool,\n border: PropTypes.bool,\n disabled: PropTypes.bool,\n onChange: PropTypes.func\n}\n\nexport default AtSwitch\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtTabBarProps, TabItem } from '../../../types/tab-bar'\nimport { mergeStyle } from '../../common/utils'\nimport AtBadge from '../badge/index'\n\nfunction AtTabBar({\n customStyle = '',\n className = '',\n fixed = false,\n backgroundColor,\n tabList = [],\n current = 0,\n color,\n iconSize,\n fontSize,\n selectedColor,\n onClick\n}: AtTabBarProps): JSX.Element {\n const handleClick = (index: number, event: CommonEvent): void => {\n onClick && onClick(index, event)\n }\n\n const defaultStyle = {\n color: color || ''\n }\n const selectedStyle = {\n color: selectedColor || ''\n }\n const titleStyle = {\n fontSize: fontSize ? `${fontSize}px` : ''\n }\n const rootStyle = {\n backgroundColor: backgroundColor || ''\n }\n const imgStyle = {\n width: `${iconSize}px`,\n height: `${iconSize}px`\n }\n\n return (\n <View\n className={classNames(\n {\n 'at-tab-bar': true,\n 'at-tab-bar--fixed': fixed\n },\n className\n )}\n style={mergeStyle(rootStyle, customStyle)}\n >\n {tabList.map((item: TabItem, i: number) => (\n <View\n className={classNames('at-tab-bar__item', {\n 'at-tab-bar__item--active': current === i\n })}\n style={current === i ? selectedStyle : defaultStyle}\n key={i}\n onClick={(event: CommonEvent) => handleClick(i, event)}\n >\n {item.iconType ? (\n <AtBadge\n dot={!!item.dot}\n value={item.text}\n maxValue={Number(item.max)}\n >\n <View className='at-tab-bar__icon'>\n <Text\n className={classNames(\n `${item.iconPrefixClass || 'at-icon'}`,\n {\n [`${item.iconPrefixClass || 'at-icon'}-${\n item.selectedIconType\n }`]: current === i && item.selectedIconType,\n [`${item.iconPrefixClass || 'at-icon'}-${item.iconType}`]:\n !(current === i && item.selectedIconType)\n }\n )}\n style={{\n color: current === i ? selectedColor : color,\n fontSize: iconSize ? `${iconSize}px` : ''\n }}\n ></Text>\n </View>\n </AtBadge>\n ) : null}\n\n {item.image ? (\n <AtBadge\n dot={!!item.dot}\n value={item.text}\n maxValue={Number(item.max)}\n >\n <View className='at-tab-bar__icon'>\n <Image\n className={classNames('at-tab-bar__inner-img', {\n 'at-tab-bar__inner-img--inactive': current !== i\n })}\n mode='widthFix'\n src={item.selectedImage || item.image}\n style={imgStyle}\n ></Image>\n <Image\n className={classNames('at-tab-bar__inner-img', {\n 'at-tab-bar__inner-img--inactive': current === i\n })}\n mode='widthFix'\n src={item.image}\n style={imgStyle}\n ></Image>\n </View>\n </AtBadge>\n ) : null}\n\n <View>\n <AtBadge\n dot={item.iconType || item.image ? false : !!item.dot}\n value={item.iconType || item.image ? '' : item.text}\n maxValue={item.iconType || item.image ? 0 : Number(item.max)}\n >\n <View className='at-tab-bar__title' style={titleStyle}>\n {item.title}\n </View>\n </AtBadge>\n </View>\n </View>\n ))}\n </View>\n )\n}\n\nAtTabBar.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n fixed: PropTypes.bool,\n backgroundColor: PropTypes.string,\n current: PropTypes.number,\n iconSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n fontSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n color: PropTypes.string,\n selectedColor: PropTypes.string,\n tabList: PropTypes.array,\n onClick: PropTypes.func\n}\n\nexport default AtTabBar\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { ScrollView, View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtTabsProps } from '../../../types/tabs'\nimport { isTest, mergeStyle, uuid } from '../../common/utils'\n\nconst ENV = Taro.getEnv()\nconst MIN_DISTANCE = 100\nconst MAX_INTERVAL = 10\n\nfunction AtTabs({\n customStyle = '',\n className = '',\n tabDirection = 'horizontal',\n height = '',\n current = 0,\n swipeable = true,\n scroll = false,\n animated = true,\n tabList = [],\n onClick,\n children\n}: AtTabsProps): JSX.Element {\n const tabIdRef = useRef(isTest() ? 'tabs-AOTU2018' : uuid())\n const touchDotRef = useRef(0)\n const timerRef = useRef<ReturnType<typeof setInterval> | null>(null)\n const intervalRef = useRef(0)\n const isMovingRef = useRef(false)\n const tabHeaderRef = useRef<any>(null)\n\n const [scrollState, setScrollState] = useState({\n _scrollLeft: 0,\n _scrollTop: 0,\n _scrollIntoView: ''\n })\n\n const getTabHeaderRef = (): void => {\n if (ENV === Taro.ENV_TYPE.WEB) {\n tabHeaderRef.current = document.getElementById(tabIdRef.current)\n }\n }\n\n const updateState = (idx: number): void => {\n if (scroll) {\n switch (ENV) {\n case Taro.ENV_TYPE.WEAPP:\n case Taro.ENV_TYPE.ALIPAY:\n case Taro.ENV_TYPE.SWAN: {\n const index = Math.max(idx - 1, 0)\n setScrollState(prev => ({\n ...prev,\n _scrollIntoView: `tab${tabIdRef.current}${index}`\n }))\n break\n }\n case Taro.ENV_TYPE.WEB: {\n const index = Math.max(idx - 1, 0)\n const prevTabItem = tabHeaderRef.current?.children[index]\n prevTabItem &&\n setScrollState(prev => ({\n ...prev,\n _scrollTop: prevTabItem.offsetTop,\n _scrollLeft: prevTabItem.offsetLeft\n }))\n break\n }\n default: {\n console.warn('AtTab 组件在该环境还未适配')\n break\n }\n }\n }\n }\n\n const handleClick = (index: number, event: CommonEvent): void => {\n onClick && onClick(index, event)\n }\n\n const handleTouchStart = (e: ITouchEvent): void => {\n if (!swipeable || tabDirection === 'vertical') return\n touchDotRef.current = e.touches[0].pageX\n timerRef.current = setInterval(() => {\n intervalRef.current++\n }, 100)\n }\n\n const handleTouchMove = (e: ITouchEvent): void => {\n if (!swipeable || tabDirection === 'vertical') return\n\n const touchMove = e.touches[0].pageX\n const moveDistance = touchMove - touchDotRef.current\n const maxIndex = tabList.length\n\n if (\n !isMovingRef.current &&\n intervalRef.current < MAX_INTERVAL &&\n touchDotRef.current > 20\n ) {\n if (current + 1 < maxIndex && moveDistance <= -MIN_DISTANCE) {\n isMovingRef.current = true\n handleClick(current + 1, e)\n } else if (current - 1 >= 0 && moveDistance >= MIN_DISTANCE) {\n isMovingRef.current = true\n handleClick(current - 1, e)\n }\n }\n }\n\n const handleTouchEnd = (): void => {\n if (!swipeable || tabDirection === 'vertical') return\n\n timerRef.current && clearInterval(timerRef.current)\n intervalRef.current = 0\n isMovingRef.current = false\n }\n\n useEffect(() => {\n getTabHeaderRef()\n updateState(current)\n return () => {\n tabHeaderRef.current = null\n }\n // componentDidMount / componentWillUnmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const prevScrollRef = useRef(scroll)\n const prevCurrentRef = useRef(current)\n const isMountRef = useRef(true)\n useEffect(() => {\n if (isMountRef.current) {\n isMountRef.current = false\n return\n }\n if (scroll !== prevScrollRef.current) {\n getTabHeaderRef()\n prevScrollRef.current = scroll\n }\n if (current !== prevCurrentRef.current) {\n updateState(current)\n prevCurrentRef.current = current\n }\n }, [scroll, current])\n\n const { _scrollLeft, _scrollTop, _scrollIntoView } = scrollState\n\n const heightStyle = { height }\n const underlineStyle = {\n height: tabDirection === 'vertical' ? `${tabList.length * 100}%` : '1PX',\n width: tabDirection === 'horizontal' ? `${tabList.length * 100}%` : '1PX'\n }\n const bodyStyle: React.CSSProperties = {}\n let transformStyle = `translate3d(0px, -${current * 100}%, 0px)`\n if (tabDirection === 'horizontal') {\n transformStyle = `translate3d(-${current * 100}%, 0px, 0px)`\n }\n Object.assign(bodyStyle, {\n transform: transformStyle\n })\n if (!animated) {\n bodyStyle.transition = 'unset'\n }\n\n const tabItems = tabList.map((item, idx) => {\n const itemCls = classNames({\n 'at-tabs__item': true,\n 'at-tabs__item--active': current === idx\n })\n\n return (\n <View\n className={itemCls}\n id={`tab${tabIdRef.current}${idx}`}\n key={`at-tabs-item-${idx}`}\n onClick={(event: CommonEvent) => handleClick(idx, event)}\n >\n {item.title}\n <View className='at-tabs__item-underline'></View>\n </View>\n )\n })\n const rootCls = classNames(\n {\n 'at-tabs': true,\n 'at-tabs--scroll': scroll,\n [`at-tabs--${tabDirection}`]: true,\n [`at-tabs--${ENV}`]: true\n },\n className\n )\n const scrollX = tabDirection === 'horizontal'\n const scrollY = tabDirection === 'vertical'\n\n return (\n <View className={rootCls} style={mergeStyle(heightStyle, customStyle)}>\n {scroll ? (\n <ScrollView\n id={tabIdRef.current}\n className='at-tabs__header'\n style={heightStyle}\n scrollX={scrollX}\n scrollY={scrollY}\n scrollWithAnimation\n scrollLeft={_scrollLeft}\n scrollTop={_scrollTop}\n scrollIntoView={_scrollIntoView}\n >\n {tabItems}\n </ScrollView>\n ) : (\n <View id={tabIdRef.current} className='at-tabs__header'>\n {tabItems}\n </View>\n )}\n <View\n className='at-tabs__body'\n onTouchStart={handleTouchStart}\n onTouchEnd={handleTouchEnd}\n onTouchMove={handleTouchMove}\n style={mergeStyle(bodyStyle, heightStyle)}\n >\n <View className='at-tabs__underline' style={underlineStyle}></View>\n {children}\n </View>\n </View>\n )\n}\n\nAtTabs.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n height: PropTypes.string,\n tabDirection: PropTypes.oneOf(['horizontal', 'vertical']),\n current: PropTypes.number,\n swipeable: PropTypes.bool,\n scroll: PropTypes.bool,\n animated: PropTypes.bool,\n tabList: PropTypes.array,\n onClick: PropTypes.func\n}\n\nexport default AtTabs\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtTabsPaneProps } from '../../../types/tabs-pane'\n\nfunction AtTabsPane({\n customStyle = '',\n className = '',\n tabDirection = 'horizontal',\n index = 0,\n current = 0,\n children\n}: AtTabsPaneProps): JSX.Element {\n return (\n <View\n className={classNames(\n {\n 'at-tabs-pane': true,\n 'at-tabs-pane--vertical': tabDirection === 'vertical',\n 'at-tabs-pane--active': index === current,\n 'at-tabs-pane--inactive': index !== current\n },\n className\n )}\n style={customStyle}\n >\n {children}\n </View>\n )\n}\n\nAtTabsPane.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n tabDirection: PropTypes.oneOf(['horizontal', 'vertical']),\n index: PropTypes.number,\n current: PropTypes.number\n}\n\nexport default AtTabsPane\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtTagProps } from '../../../types/tag'\n\nconst SIZE_CLASS = {\n normal: 'normal',\n small: 'small'\n}\n\nconst TYPE_CLASS = {\n primary: 'primary'\n}\n\nexport default function AtTag({\n size = 'normal',\n type = '',\n name = '',\n circle = false,\n disabled = false,\n active = false,\n customStyle = {},\n className,\n children,\n onClick\n}: AtTagProps): JSX.Element {\n const handleClick = (event: CommonEvent): void => {\n if (!disabled) {\n typeof onClick === 'function' &&\n onClick(\n {\n name,\n active\n },\n event\n )\n }\n }\n\n const rootClassName = ['at-tag']\n\n const classObject = {\n [`at-tag--${SIZE_CLASS[size]}`]: SIZE_CLASS[size],\n [`at-tag--${type}`]: TYPE_CLASS[type],\n 'at-tag--disabled': disabled,\n 'at-tag--active': active,\n 'at-tag--circle': circle\n }\n\n return (\n <View\n className={classNames(rootClassName, classObject, className)}\n style={customStyle}\n onClick={handleClick}\n >\n {children}\n </View>\n )\n}\n\nAtTag.propTypes = {\n size: PropTypes.oneOf(['normal', 'small']),\n type: PropTypes.oneOf(['', 'primary']),\n name: PropTypes.string,\n circle: PropTypes.bool,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n onClick: PropTypes.func\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Textarea, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtTextareaProps } from '../../../types/textarea'\nimport { noop, pxTransform } from '../../common/utils'\n\ntype ExtendEvent = {\n target: {\n value: string\n }\n}\n\nfunction getMaxLength(\n maxLength: number,\n textOverflowForbidden: boolean\n): number {\n if (!textOverflowForbidden) {\n return maxLength + 500\n }\n return maxLength\n}\n\nfunction AtTextarea({\n customStyle = '',\n className = '',\n cursorSpacing = 100,\n maxLength = 200,\n placeholder = '',\n disabled = false,\n autoFocus = false,\n focus = false,\n showConfirmBar = false,\n selectionStart = -1,\n selectionEnd = -1,\n count = true,\n fixed = false,\n height = '',\n textOverflowForbidden = true,\n value,\n placeholderStyle,\n placeholderClass,\n onChange = noop,\n onFocus,\n onBlur,\n onConfirm,\n onLinechange\n}: AtTextareaProps): JSX.Element {\n const ENV = Taro.getEnv()\n\n const handleInput = (event: CommonEvent & ExtendEvent): void => {\n onChange(event.detail.value, event)\n }\n\n const handleFocus = (event: CommonEvent): void => {\n onFocus && onFocus(event)\n }\n\n const handleBlur = (event: CommonEvent): void => {\n onBlur && onBlur(event)\n }\n\n const handleConfirm = (event: CommonEvent): void => {\n onConfirm && onConfirm(event)\n }\n\n const handleLinechange = (event: CommonEvent): void => {\n onLinechange && onLinechange(event)\n }\n\n const _maxLength = parseInt(maxLength.toString())\n const actualMaxLength = getMaxLength(_maxLength, textOverflowForbidden)\n const textareaStyle = height ? `height:${pxTransform(Number(height))}` : ''\n const rootCls = classNames(\n 'at-textarea',\n `at-textarea--${ENV}`,\n {\n 'at-textarea--error': _maxLength < (value || '').length\n },\n className\n )\n const placeholderCls = classNames('placeholder', placeholderClass)\n\n return (\n <View className={rootCls} style={customStyle}>\n <Textarea\n className='at-textarea__textarea'\n style={textareaStyle}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n cursorSpacing={cursorSpacing}\n value={value || ''}\n maxlength={actualMaxLength}\n placeholder={placeholder}\n disabled={disabled}\n autoFocus={autoFocus}\n focus={focus}\n showConfirmBar={showConfirmBar}\n selectionStart={selectionStart}\n selectionEnd={selectionEnd}\n fixed={fixed}\n onInput={handleInput}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onConfirm={handleConfirm}\n onLineChange={handleLinechange}\n />\n {count && (\n <View className='at-textarea__counter'>\n {(value || '').length}/{_maxLength}\n </View>\n )}\n </View>\n )\n}\n\nAtTextarea.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n value: PropTypes.string,\n cursorSpacing: PropTypes.number,\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholderClass: PropTypes.string,\n placeholderStyle: PropTypes.string,\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n focus: PropTypes.bool,\n showConfirmBar: PropTypes.bool,\n selectionStart: PropTypes.number,\n selectionEnd: PropTypes.number,\n count: PropTypes.bool,\n textOverflowForbidden: PropTypes.bool,\n fixed: PropTypes.bool,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onLinechange: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func\n}\n\nexport default AtTextarea\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtTimelineProps } from '../../../types/timeline'\n\nexport default function AtTimeline({\n pending = false,\n items = [],\n customStyle = {},\n className,\n onClickItem\n}: AtTimelineProps): JSX.Element {\n const rootClassName = ['at-timeline']\n if (pending) rootClassName.push('at-timeline--pending')\n\n const rootClassObject = {\n 'at-timeline--pending': pending\n }\n\n const itemElems = items.map((item, index) => {\n const { title = '', color, icon, content = [] } = item\n\n const iconClass = classNames({\n 'at-icon': true,\n [`at-icon-${icon}`]: icon\n })\n\n const itemRootClassName = ['at-timeline-item']\n if (color) itemRootClassName.push(`at-timeline-item--${color}`)\n\n const dotClass: string[] = []\n if (icon) {\n dotClass.push('at-timeline-item__icon')\n } else {\n dotClass.push('at-timeline-item__dot')\n }\n\n const handleItemClick = (itemIndex: number, e: any): void => {\n onClickItem?.(itemIndex, e)\n }\n\n return (\n <View\n className={classNames(itemRootClassName)}\n key={`at-timeline-item-${index}`}\n onClick={e => handleItemClick(index, e)}\n >\n <View className='at-timeline-item__tail'></View>\n <View className={classNames(dotClass)}>\n {icon && <Text className={iconClass}></Text>}\n </View>\n <View className='at-timeline-item__content'>\n <View className='at-timeline-item__content-item'>{title}</View>\n {content.map((sub, subIndex) => (\n <View\n className='at-timeline-item__content-item at-timeline-item__content--sub'\n key={subIndex}\n >\n {sub}\n </View>\n ))}\n </View>\n </View>\n )\n })\n return (\n <View\n className={classNames(rootClassName, rootClassObject, className)}\n style={customStyle}\n >\n {itemElems}\n </View>\n )\n}\n\nAtTimeline.propTypes = {\n pending: PropTypes.bool,\n items: PropTypes.arrayOf(PropTypes.object),\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string])\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtToastProps } from '../../../types/toast'\nimport statusImg from './img.json'\n\nfunction AtToast({\n duration = 3000,\n isOpened = false,\n customStyle,\n text,\n icon,\n status,\n image,\n hasMask,\n className,\n onClick,\n onClose\n}: AtToastProps): JSX.Element | null {\n const [_isOpened, setIsOpened] = useState(isOpened)\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const isOpenedRef = useRef(_isOpened)\n isOpenedRef.current = _isOpened\n\n const clearTimmer = (): void => {\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n }\n }\n\n const handleClose = (event?: CommonEvent): void => {\n if (typeof onClose === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n onClose(event!)\n }\n }\n\n const close = (): void => {\n if (isOpenedRef.current) {\n setIsOpened(false)\n handleClose()\n clearTimmer()\n }\n }\n\n const makeTimer = (timerDuration: number): void => {\n if (timerDuration === 0) {\n return\n }\n timerRef.current = setTimeout(() => {\n close()\n }, +timerDuration)\n }\n\n useEffect(() => {\n if (isOpened) {\n makeTimer(duration || 0)\n timerRef.current = null\n }\n // constructor: timer started then ref cleared\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const isMountRef = useRef(true)\n useEffect(() => {\n if (isMountRef.current) {\n isMountRef.current = false\n return\n }\n\n if (!isOpened) {\n close()\n return\n }\n\n if (!isOpenedRef.current) {\n setIsOpened(true)\n } else {\n clearTimmer()\n }\n makeTimer(duration || 0)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened, duration])\n\n const handleClick = (event: CommonEvent): void => {\n if (status === 'loading') {\n return\n }\n if (onClick) {\n return onClick(event)\n }\n close()\n }\n\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n const realImg = image || statusImg[status!] || null\n const isRenderIcon = !!(icon && !(image || statusImg[status!]))\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n\n const bodyClass = classNames('toast-body', {\n 'at-toast__body--custom-image': image,\n 'toast-body--text': !realImg && !icon,\n [`at-toast__body--${status}`]: !!status\n })\n\n const iconClass = classNames('at-icon', {\n [`at-icon-${icon}`]: icon\n })\n\n return _isOpened ? (\n <View className={classNames('at-toast', className)}>\n {hasMask && <View className='at-toast__overlay' />}\n <View className={bodyClass} style={customStyle} onClick={handleClick}>\n <View className='toast-body-content'>\n {realImg ? (\n <View className='toast-body-content__img'>\n <Image\n className='toast-body-content__img-item'\n src={realImg}\n mode='scaleToFill'\n />\n </View>\n ) : null}\n {isRenderIcon && (\n <View className='toast-body-content__icon'>\n <Text className={iconClass} />\n </View>\n )}\n {text && (\n <View className='toast-body-content__info'>\n <Text>{text}</Text>\n </View>\n )}\n </View>\n </View>\n </View>\n ) : null\n}\n\nAtToast.propTypes = {\n text: PropTypes.string,\n icon: PropTypes.string,\n hasMask: PropTypes.bool,\n image: PropTypes.string,\n isOpened: PropTypes.bool,\n duration: PropTypes.number,\n status: PropTypes.oneOf(['', 'error', 'loading', 'success']),\n onClick: PropTypes.func,\n onClose: PropTypes.func\n}\n\nexport default AtToast\n","{\n \"error\": \"data:image/png;base64,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\",\n \"success\": \"data:image/png;base64,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\",\n \"loading\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAn1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Kd3m4AAAANHRSTlMA6AN+QRH69xUI7Z7x2sWzcWYvphvj4MxiXVIiGAuH08K9ibepmI+Oc2tKHQ+helY5NykfkF5N9AAABmhJREFUeNrdnWlT4kAQhjt3CARIwg1yH3Lpqv3/f9tabsYJMUGCsM6b56NVVjGV6WP6pLvTijTb8bS2X29U581BaBEmLY9T1LrVpukSGhFn06n2W4SExvn4q2ecL6PxeSbrPwRBxN/iG0NSHyHs55kGB1KdVqTxBTjLnU6qo1csdx+ag8CIujXOxe+pf5QEIzPYNDo5OnlbITD2/WObM9AeHwiOYbDMEB/PgHRiwo3GaWpbKFkR6LvI4RTdF4Lk0JtyihXk/Xrnbe2kRKVHoLjjlImphwSKZXicxH4iVB4eNU6ywPHy01SME1nRTIJluOAEtgFpU/4xaHOC2YhgeRjbJble9Dplid0nXHSDEzQJGFNjyZyAGc1YUgVWXqfXqwH3dsy7XnVUf/iD1oQ/mUCfxKonvgn07ao0EnKCLPGkVxO6i6AZl8SeEDVLYuNPToLsd53cLhvZF35HSrwG/D55R5daeAathKkiLaNB0FiTsohJS/sUE9wo0QcmCxaEjcEC3BjkB/rsU0xg48L/GH2KSZ2wkWICm3VIi4kH/V4k0qccsyJsXm2OAc0zfnWEu9g+Fz20OWZL2Aw4pgYu77QoiRtMQ0eoYMC6lWxj8kjYVDThz0PHHt95LIvievBEpRq4LSGjLL6jJepWfPRP8umo7AgbV9iSJYGzFvXC6lc+n+eNYwICR7ywpgROj2MQOgTOcXBK4gNTJEwJgbPjGJBOmlx04QOvCZyNKIkgcEKOAc8yyEa0ZwJnWZKgIwVlUcBDjsHqMc2gXY5yCKJjOaqGiPoiBkHg7EtjSUQ/I3gJAVGjHGVcRJuySLswiV0CxxQ5HwJnxDHoySsSoVPwkg6iLv9jQOBEZdG/Rjkqm4mCshgSkXRvEDhmSeq3KCzLa1c48u2PASxaBPvodUXGPR6J46GexBLVHMKiRIRJRWTgSBOfBhNd1M+SqKwDzVfLg4i8D2h5irxaHrZDL4Vdww6oSPUroo57gkQaRB/7iSVdlDp2iEs6jQ3st6J046vYJR3yYTXHrh+QT90mQztbMvgwwA46ynBQiB10lAE6i2MgW2CTIdMasiFJBrG7yPo3mVYQhmRDgCQTPU3kEFcy9WYip3iTyVCXcR350/R0B7cOIlkwIKX9SHDIEo7ksdoEx2lRTQu2Ejhd5uSjmsR04dkKtYMhXQr4zKBh03RxpsuYkZSv5bITTHfrawHzWtwtqEh2Rkn5H8jOq6wifx8xApHVdmEAdl5lNsIMARstZWtSVufVjGDIbhYLOOaNQMhp3zs4aN0xeQ2VS/F3kMyVbHHNU8pjgiC36Vj3oWZ0nGkD70HN6DjTmK93gGZ0nB2VsAWa0SGHV2DP6Pjmpz7CSIkc8HL+4jmKh1O+HbljgIxBlEOQ8pUzQtL9+7FUUnG1FVbBlwwK07sAjsr8ktFtLxxjv5KiXDhMb8UxU0UDKpeON7Q8xY3JxQMne8wqp6sLjACtqzxEu8hQ1tBWd4h2sTG5T+oO0S44uHihqpgUHSXtyiHaSpX+Fx/ubdoqLmG5Zty6oeASlqsG4Osz5ZawXLmSYKSptoSl8JIIKSZKOcLXr+3oK7WEJblIBXmdzM9+y5xVuV0/XTZ0VGNlXHL90/FKjafCyrhbLOSq1H9/ZdxtVqRZyZVxLSqKQkvrrPoPdpAqtUYweUO50Ipb1RY76sffWXGbXrV51G8SECt+vVRcftrkotdL1XW0fZsl01f6BoUXBJ98ZXv8QLmovrL5RO64PaAc1F+irRs2J1gMKQuIteYn14sdI0etAyyadxecRHtMiQrQ6v8nm5N4hkU3xTI8TmI/0Z0I63xCbezSzXDHNT6hHtL96Hl8grN+o5vwtnb4BK9Hd8VacYpZ70A/5NCbcYqVRffmpcspnGin09Xou8jhFN0X+g/o2xqn0TbhlWK30ThNbavT3ZHqJY22DIYFTV+wFKcoqAzvpPAl7WN/Txex7x/bLMk1T/ensu1wJp3GJjBHlMvIDDaNvP/dVuj/o/d8zqXWjYxgYIZ716roesVy96E5CIyoW+Nc/J5Ov4O+Wzp8I5zlTqdf5BBM+QZMAwXaC4aGzz/CN5SpdPuznvCVTNaKLatwn1c+F8RfPatZwd7qVzt8IZ1qX6nk9xdcs1kVOjZPM1ebpppf4itWOGjOq42639Y8x7YdT2v79UZ13hyEFt2Fv6Loy9OZgJFyAAAAAElFTkSuQmCC\"\n}\n","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","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useState } from 'react'\nimport { Slider, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtSliderProps } from '../../../types/slider'\n\nfunction clampNumber(value: number, lower: number, upper: number): number {\n return Math.max(lower, Math.min(upper, value))\n}\n\nfunction AtSlider({\n customStyle = '',\n className = '',\n min = 0,\n max = 100,\n step = 1,\n value = 0,\n disabled = false,\n activeColor = '#6190e8',\n backgroundColor = '#e9e9e9',\n blockSize = 28,\n blockColor = '#ffffff',\n showValue = false,\n onChange,\n onChanging\n}: AtSliderProps): JSX.Element {\n const [_value, setValue] = useState(() => clampNumber(value, min, max))\n\n useEffect(() => {\n setValue(clampNumber(value, min, max))\n }, [value, min, max])\n\n const handleChanging = (e: CommonEvent): void => {\n const { value: detailValue }: { value: number } = e.detail\n\n if (detailValue !== _value) {\n setValue(detailValue)\n }\n onChanging && onChanging(detailValue)\n }\n\n const handleChange = (e: CommonEvent): void => {\n const { value: detailValue } = e.detail\n\n setValue(detailValue)\n onChange && onChange(detailValue)\n }\n\n return (\n <View\n className={classNames(\n {\n 'at-slider': true,\n 'at-slider--disabled': disabled\n },\n className\n )}\n style={customStyle}\n >\n <View className='at-slider__inner'>\n <Slider\n min={min}\n max={max}\n step={step}\n value={_value}\n disabled={disabled}\n activeColor={activeColor}\n backgroundColor={backgroundColor}\n blockSize={blockSize}\n blockColor={blockColor}\n onChanging={handleChanging}\n onChange={handleChange}\n ></Slider>\n </View>\n {showValue && <View className='at-slider__text'>{`${_value}`}</View>}\n </View>\n )\n}\n\nAtSlider.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n activeColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n blockSize: PropTypes.number,\n blockColor: PropTypes.string,\n showValue: PropTypes.bool,\n onChange: PropTypes.func,\n onChanging: PropTypes.func\n}\n\nexport default AtSlider\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState\n} from 'react'\nimport Taro from '@tarojs/taro'\nimport { Text, View, MovableArea, MovableView } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport {\n AtSwipeActionProps,\n AtSwipeActionState,\n SwipeActionOption\n} from '../../../types/swipe-action'\nimport { uuid, delayGetClientRect } from '../../common/utils'\nimport AtSwipeActionOptions from './options/index'\n\nexport type AtSwipeActionInstance = {\n state: AtSwipeActionState\n onChange: (e: { detail: { x: number } }) => void\n onTouchEnd: (e: CommonEvent) => void\n}\n\nconst AtSwipeAction = forwardRef<AtSwipeActionInstance, AtSwipeActionProps>(\n function AtSwipeAction(\n {\n options = [],\n isOpened = false,\n disabled = false,\n autoClose = false,\n className,\n children,\n onClick,\n onOpened,\n onClosed\n },\n ref\n ): JSX.Element {\n const [componentId] = useState(() => uuid())\n const [offsetSize, setOffsetSize] = useState(0)\n const [_isOpened, setIsOpened] = useState(!!isOpened)\n const [eleWidth, setEleWidth] = useState(0)\n const [maxOffsetSize, setMaxOffsetSize] = useState(0)\n const moveXRef = useRef(offsetSize)\n\n const getMaxOffsetSize = useCallback(async (): Promise<void> => {\n const actionOptionsRect = await delayGetClientRect({\n selectorStr: `#swipeActionOptions-${componentId}`\n })\n\n setMaxOffsetSize(actionOptionsRect[0].width)\n }, [componentId])\n\n const getAreaWidth = useCallback(async (): Promise<void> => {\n const systemInfo = await Taro.getSystemInfo()\n setEleWidth(systemInfo.windowWidth)\n }, [])\n\n const _reset = useCallback(\n (opened: boolean): void => {\n if (opened) {\n if (process.env.TARO_ENV === 'jd') {\n setIsOpened(true)\n setOffsetSize(-maxOffsetSize + 0.01)\n } else {\n setIsOpened(true)\n setOffsetSize(-maxOffsetSize)\n }\n } else {\n const currentMoveX = moveXRef.current\n setIsOpened(false)\n setOffsetSize(currentMoveX)\n setTimeout(() => {\n setOffsetSize(0)\n }, 0)\n }\n },\n [maxOffsetSize]\n )\n\n useEffect(() => {\n getAreaWidth()\n }, [getAreaWidth])\n\n useEffect(() => {\n if (eleWidth > 0) {\n getMaxOffsetSize()\n }\n }, [eleWidth, getMaxOffsetSize])\n\n const isOpenedPropRef = useRef(isOpened)\n useEffect(() => {\n if (isOpenedPropRef.current === isOpened) return\n isOpenedPropRef.current = isOpened\n if (isOpened !== _isOpened) {\n moveXRef.current = isOpened ? 0 : maxOffsetSize\n _reset(!!isOpened)\n }\n }, [isOpened, _isOpened, maxOffsetSize, _reset])\n\n const handleOpened = (event: CommonEvent): void => {\n if (typeof onOpened === 'function') {\n onOpened(event)\n }\n }\n\n const handleClosed = (event: CommonEvent): void => {\n if (typeof onClosed === 'function') {\n onClosed(event)\n }\n }\n\n const handleClick = (\n item: SwipeActionOption,\n index: number,\n event: CommonEvent\n ): void => {\n if (typeof onClick === 'function') {\n onClick(item, index, event)\n }\n if (autoClose) {\n _reset(false)\n handleClosed(event)\n }\n }\n\n const onTouchEnd = (e: CommonEvent): void => {\n if (Math.abs(moveXRef.current) < maxOffsetSize / 2) {\n _reset(false)\n handleClosed(e)\n } else {\n _reset(true)\n handleOpened(e)\n }\n }\n\n const onChange = (e: { detail: { x: number } }): void => {\n moveXRef.current = e.detail.x\n }\n\n const stateRef = useRef<AtSwipeActionState>({\n componentId,\n offsetSize,\n _isOpened,\n needAnimation: false,\n eleWidth,\n maxOffsetSize\n })\n stateRef.current = {\n componentId,\n offsetSize,\n _isOpened,\n needAnimation: false,\n eleWidth,\n maxOffsetSize\n }\n\n useImperativeHandle(\n ref,\n () => ({\n get state() {\n return stateRef.current\n },\n onChange,\n onTouchEnd\n }),\n [onChange, onTouchEnd]\n )\n\n const rootClass = classNames('at-swipe-action', className)\n\n return (\n <View\n id={`swipeAction-${componentId}`}\n className={rootClass}\n style={{\n width: `${eleWidth}px`\n }}\n >\n <MovableArea\n className='at-swipe-action__area'\n style={{\n width: `${eleWidth}px`\n }}\n >\n <MovableView\n className='at-swipe-action__content'\n direction='horizontal'\n damping={50}\n x={offsetSize}\n onTouchEnd={onTouchEnd}\n onChange={onChange}\n disabled={disabled}\n style={{\n width: `${eleWidth + maxOffsetSize}px`\n }}\n >\n {children}\n {Array.isArray(options) && options.length > 0 ? (\n <AtSwipeActionOptions\n options={options}\n componentId={componentId}\n customStyle={{\n opacity: maxOffsetSize ? 1 : 0\n }}\n >\n {options.map((item, key) => (\n <View\n key={`${item.text}-${key}`}\n style={item.style}\n onClick={(e): void => handleClick(item, key, e)}\n className={classNames(\n 'at-swipe-action__option',\n item.className\n )}\n >\n <Text className='option__text'>{item.text}</Text>\n </View>\n ))}\n </AtSwipeActionOptions>\n ) : null}\n </MovableView>\n </MovableArea>\n </View>\n )\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n;(AtSwipeAction as any).propTypes = {\n isOpened: PropTypes.bool,\n disabled: PropTypes.bool,\n autoClose: PropTypes.bool,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.array\n ])\n })\n ),\n\n onClick: PropTypes.func,\n onOpened: PropTypes.func,\n onClosed: PropTypes.func\n}\n\nexport default AtSwipeAction\n","import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtSwipeActionOptionsProps } from '../../../../types/swipe-action'\n\nfunction AtSwipeActionOptions({\n className,\n componentId,\n customStyle,\n children\n}: AtSwipeActionOptionsProps): JSX.Element {\n const rootClass = classNames('at-swipe-action__options', className)\n\n return (\n <View\n id={`swipeActionOptions-${componentId}`}\n className={rootClass}\n style={customStyle}\n >\n {children}\n </View>\n )\n}\n\nexport default AtSwipeActionOptions\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useState } from 'react'\nimport { Input, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport { AtSearchBarProps } from '../../../types/search-bar'\n\ntype ExtendEvent = {\n target: {\n value: string\n }\n}\n\nfunction AtSearchBar({\n value = '',\n placeholder,\n maxLength = 140,\n fixed = false,\n focus = false,\n disabled = false,\n showActionButton = false,\n actionName,\n inputType = 'text',\n className,\n customStyle,\n enableNative = true,\n onChange,\n onFocus,\n onBlur,\n onConfirm,\n onActionClick,\n onClear\n}: AtSearchBarProps): JSX.Element {\n const locale = useComponentLocale('SearchBar')\n const resolvedPlaceholder = placeholder ?? locale.placeholder\n const resolvedActionName = actionName ?? locale.actionName\n const [isFocus, setIsFocus] = useState(!!focus)\n\n useEffect(() => {\n setIsFocus(!!focus)\n }, [focus])\n\n const handleFocus = (event: CommonEvent): void => {\n setIsFocus(true)\n onFocus && onFocus(event)\n }\n\n const handleBlur = (event: CommonEvent): void => {\n setIsFocus(false)\n onBlur && onBlur(event)\n }\n\n const handleChange = (e: CommonEvent & ExtendEvent): void => {\n onChange && onChange(e.detail.value, e)\n }\n\n const handleClear = (event: CommonEvent): void => {\n if (onClear) {\n onClear(event)\n } else {\n onChange && onChange('', event)\n }\n }\n\n const handleConfirm = (event: CommonEvent): void => {\n onConfirm && onConfirm(event)\n }\n\n const handleActionClick = (event: CommonEvent): void => {\n onActionClick && onActionClick(event)\n }\n\n const fontSize = 14\n const rootCls = classNames(\n 'at-search-bar',\n {\n 'at-search-bar--fixed': fixed\n },\n className\n )\n const placeholderWrapStyle: React.CSSProperties = {}\n const actionStyle: React.CSSProperties = {}\n if (isFocus || (!isFocus && value)) {\n actionStyle.opacity = 1\n actionStyle.marginRight = `0`\n placeholderWrapStyle.flexGrow = 0\n } else if (!isFocus && !value) {\n placeholderWrapStyle.flexGrow = 1\n actionStyle.opacity = 0\n actionStyle.marginRight = `-${\n (resolvedActionName.length + 1) * fontSize + fontSize / 2 + 10\n }px`\n }\n if (showActionButton) {\n actionStyle.opacity = 1\n actionStyle.marginRight = `0`\n }\n\n const clearIconStyle: React.CSSProperties = { display: 'flex' }\n const placeholderStyle: React.CSSProperties = { visibility: 'hidden' }\n if (!value.length) {\n clearIconStyle.display = 'none'\n placeholderStyle.visibility = 'visible'\n }\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className='at-search-bar__input-cnt'>\n <View\n className='at-search-bar__placeholder-wrap'\n style={placeholderWrapStyle}\n >\n <Text className='at-icon at-icon-search'></Text>\n <Text className='at-search-bar__placeholder' style={placeholderStyle}>\n {isFocus ? '' : resolvedPlaceholder}\n </Text>\n </View>\n <Input\n className='at-search-bar__input'\n type={inputType}\n confirmType='search'\n value={value}\n focus={isFocus}\n disabled={disabled}\n maxlength={maxLength}\n // @ts-ignore ci 上面这个检查不通过, 暂时跳过ts检查\n enableNative={enableNative}\n onInput={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onConfirm={handleConfirm}\n />\n <View\n className='at-search-bar__clear'\n style={clearIconStyle}\n onTouchStart={handleClear}\n >\n <Text className='at-icon at-icon-close-circle'></Text>\n </View>\n </View>\n <View\n className='at-search-bar__action'\n style={actionStyle}\n onClick={handleActionClick}\n >\n {resolvedActionName}\n </View>\n </View>\n )\n}\n\nAtSearchBar.propTypes = {\n value: PropTypes.string,\n placeholder: PropTypes.string,\n maxLength: PropTypes.number,\n fixed: PropTypes.bool,\n focus: PropTypes.bool,\n disabled: PropTypes.bool,\n showActionButton: PropTypes.bool,\n actionName: PropTypes.string,\n inputType: PropTypes.oneOf(['text', 'number', 'idcard', 'digit']),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onConfirm: PropTypes.func,\n onActionClick: PropTypes.func,\n onClear: PropTypes.func,\n enableNative: PropTypes.bool\n}\n\nexport default AtSearchBar\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport { AtLoadMoreProps } from '../../../types/load-more'\nimport AtActivityIndicator from '../activity-indicator/index'\nimport AtButton from '../button/index'\n\nfunction AtLoadMore({\n className = '',\n customStyle = '',\n loadingText,\n moreText,\n status = 'more',\n moreBtnStyle = '',\n noMoreTextStyle = '',\n noMoreText,\n onClick\n}: AtLoadMoreProps): JSX.Element {\n const locale = useComponentLocale('LoadMore')\n const resolvedLoadingText = loadingText ?? locale.loadingText\n const resolvedMoreText = moreText ?? locale.moreText\n const resolvedNoMoreText = noMoreText ?? locale.noMoreText\n const handleClick = (event: CommonEvent): void => {\n onClick && onClick(event)\n }\n\n let component: JSX.Element | null = null\n if (status === 'loading') {\n component = (\n <AtActivityIndicator mode='center' content={resolvedLoadingText} />\n )\n } else if (status === 'more') {\n component = (\n <View className='at-load-more__cnt'>\n <AtButton full onClick={handleClick} customStyle={moreBtnStyle}>\n {resolvedMoreText}\n </AtButton>\n </View>\n )\n } else {\n component = (\n <Text className='at-load-more__tip' style={noMoreTextStyle}>\n {resolvedNoMoreText}\n </Text>\n )\n }\n\n return (\n <View className={classNames('at-load-more', className)} style={customStyle}>\n {component}\n </View>\n )\n}\n\nAtLoadMore.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n noMoreTextStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n moreBtnStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n status: PropTypes.oneOf(['more', 'loading', 'noMore']),\n loadingText: PropTypes.string,\n moreText: PropTypes.string,\n noMoreText: PropTypes.string,\n onClick: PropTypes.func\n}\n\nexport default AtLoadMore\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtDividerProps } from '../../../types/divider'\nimport { mergeStyle, pxTransform } from '../../common/utils'\n\nexport default function AtDivider({\n className,\n customStyle,\n content = '',\n height = 0,\n fontColor = '',\n fontSize = 0,\n lineColor = '',\n children\n}: AtDividerProps): JSX.Element {\n const rootStyle = {\n height: height ? `${pxTransform(Number(height))}` : ''\n }\n\n const fontStyle = {\n color: fontColor,\n fontSize: fontSize ? `${pxTransform(Number(fontSize))}` : ''\n }\n\n const lineStyle: React.CSSProperties = {\n backgroundColor: lineColor\n }\n\n return (\n <View\n className={classNames('at-divider', className)}\n style={mergeStyle(rootStyle, customStyle as object)}\n >\n <View className='at-divider__content' style={fontStyle}>\n {content === '' ? children : content}\n </View>\n <View className='at-divider__line' style={lineStyle}></View>\n </View>\n )\n}\n\nAtDivider.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n content: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n fontColor: PropTypes.string,\n fontSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n lineColor: PropTypes.string\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport { useDidHide, useDidShow } from '@tarojs/taro'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport { AtCountDownProps } from '../../../types/countdown'\nimport AtCountdownItem from './item'\n\ntype TimeObject = {\n day: number\n hours: number\n minutes: number\n seconds: number\n}\n\nconst toSeconds = (\n day: number,\n hours: number,\n minutes: number,\n seconds: number\n): number => day * 60 * 60 * 24 + hours * 60 * 60 + minutes * 60 + seconds\n\nfunction AtCountdown({\n customStyle = '',\n className = '',\n format,\n isCard = false,\n isShowDay = false,\n isShowHour = true,\n isShowMinute = true,\n day = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n onTimeUp\n}: AtCountDownProps): JSX.Element {\n const locale = useComponentLocale('Countdown')\n const mergedFormat = useMemo(\n () => ({\n day: format?.day ?? locale.day,\n hours: format?.hours ?? locale.hours,\n minutes: format?.minutes ?? locale.minutes,\n seconds: format?.seconds ?? locale.seconds\n }),\n [\n format?.day,\n format?.hours,\n format?.minutes,\n format?.seconds,\n locale.day,\n locale.hours,\n locale.minutes,\n locale.seconds\n ]\n )\n const propsRef = useRef<AtCountDownProps>({\n customStyle,\n className,\n format: mergedFormat,\n isCard,\n isShowDay,\n isShowHour,\n isShowMinute,\n day,\n hours,\n minutes,\n seconds,\n onTimeUp\n })\n const isMountedRef = useRef(false)\n const secondsRef = useRef(toSeconds(day, hours, minutes, seconds))\n const timerRef = useRef<NodeJS.Timeout | number>()\n\n const calculateTime = useCallback((): TimeObject => {\n let [calcDay, calcHours, calcMinutes, calcSeconds] = [0, 0, 0, 0]\n\n if (secondsRef.current > 0) {\n calcDay = isShowDay ? Math.floor(secondsRef.current / (60 * 60 * 24)) : 0\n calcHours = isShowHour\n ? Math.floor(secondsRef.current / (60 * 60)) - calcDay * 24\n : 0\n calcMinutes = isShowMinute\n ? Math.floor(secondsRef.current / 60) -\n calcDay * 24 * 60 -\n calcHours * 60\n : 0\n calcSeconds =\n Math.floor(secondsRef.current) -\n calcDay * 24 * 60 * 60 -\n calcHours * 60 * 60 -\n calcMinutes * 60\n }\n return {\n day: calcDay,\n hours: calcHours,\n minutes: calcMinutes,\n seconds: calcSeconds\n }\n }, [isShowDay, isShowHour, isShowMinute])\n\n const initialTime = calculateTime()\n const [_day, setDay] = useState(initialTime.day)\n const [_hours, setHours] = useState(initialTime.hours)\n const [_minutes, setMinutes] = useState(initialTime.minutes)\n const [_seconds, setSeconds] = useState(initialTime.seconds)\n\n const clearTimer = useCallback((): void => {\n if (timerRef.current) {\n clearTimeout(timerRef.current as number)\n timerRef.current = 0\n }\n }, [])\n\n const countdown = useCallback((): void => {\n const {\n day: calcDay,\n hours: calcHours,\n minutes: calcMinutes,\n seconds: calcSeconds\n } = calculateTime()\n\n setDay(calcDay)\n setHours(calcHours)\n setMinutes(calcMinutes)\n setSeconds(calcSeconds)\n secondsRef.current--\n\n if (secondsRef.current < 0) {\n clearTimer()\n onTimeUp && onTimeUp()\n return\n }\n\n timerRef.current = setTimeout(() => {\n countdown()\n }, 1000)\n }, [calculateTime, clearTimer, onTimeUp])\n\n const setTimer = useCallback((): void => {\n if (!timerRef.current) countdown()\n }, [countdown])\n\n useEffect(() => {\n propsRef.current = {\n customStyle,\n className,\n format: mergedFormat,\n isCard,\n isShowDay,\n isShowHour,\n isShowMinute,\n day,\n hours,\n minutes,\n seconds,\n onTimeUp\n }\n })\n\n useEffect(() => {\n const nextProps = {\n customStyle,\n className,\n format: mergedFormat,\n isCard,\n isShowDay,\n isShowHour,\n isShowMinute,\n day,\n hours,\n minutes,\n seconds,\n onTimeUp\n }\n if (!isMountedRef.current) {\n isMountedRef.current = true\n propsRef.current = nextProps\n return\n }\n if (JSON.stringify(propsRef.current) === JSON.stringify(nextProps)) return\n\n propsRef.current = nextProps\n secondsRef.current = toSeconds(day, hours, minutes, seconds)\n clearTimer()\n setTimer()\n }, [\n customStyle,\n className,\n mergedFormat,\n isCard,\n isShowDay,\n isShowHour,\n isShowMinute,\n day,\n hours,\n minutes,\n seconds,\n onTimeUp,\n clearTimer,\n setTimer\n ])\n\n useEffect(() => {\n setTimer()\n return () => {\n clearTimer()\n }\n }, [setTimer, clearTimer])\n\n useDidHide(() => {\n clearTimer()\n })\n\n useDidShow(() => {\n setTimer()\n })\n\n return (\n <View\n className={classNames(\n {\n 'at-countdown': true,\n 'at-countdown--card': isCard\n },\n className\n )}\n style={customStyle}\n >\n {isShowDay && <AtCountdownItem num={_day} separator={mergedFormat.day} />}\n {isShowHour && (\n <AtCountdownItem num={_hours} separator={mergedFormat.hours} />\n )}\n {isShowMinute && (\n <AtCountdownItem num={_minutes} separator={mergedFormat.minutes} />\n )}\n <AtCountdownItem num={_seconds} separator={mergedFormat.seconds} />\n </View>\n )\n}\n\nAtCountdown.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n isCard: PropTypes.bool,\n isShowDay: PropTypes.bool,\n isShowHour: PropTypes.bool,\n isShowMinute: PropTypes.bool,\n format: PropTypes.object,\n day: PropTypes.number,\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n onTimeUp: PropTypes.func\n}\n\nexport default AtCountdown\n","import PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtCountdownItemProps } from '../../../../types/countdown'\n\nfunction formatNum(num: number): string {\n return num <= 9 ? `0${num}` : `${num}`\n}\n\nfunction AtCountdownItem({\n num = 0,\n separator = ':'\n}: AtCountdownItemProps): JSX.Element {\n return (\n <View className='at-countdown__item'>\n <View className='at-countdown__time-box'>\n <Text className='at-countdown__time'>{formatNum(num)}</Text>\n </View>\n <Text className='at-countdown__separator'>{separator}</Text>\n </View>\n )\n}\n\nAtCountdownItem.propTypes = {\n num: PropTypes.number.isRequired,\n separator: PropTypes.string\n}\n\nexport default AtCountdownItem\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtStepsProps } from '../../../types/steps'\nimport { noop } from '../../common/utils'\n\nexport default function AtSteps({\n customStyle = '',\n className = '',\n current = 0,\n items = [],\n onChange = noop\n}: AtStepsProps): JSX.Element {\n const handleClick = (stepCurrent: number, event: CommonEvent): void => {\n onChange(stepCurrent, event)\n }\n\n return (\n <View className={classNames('at-steps', className)} style={customStyle}>\n {!!items &&\n items.map((item, i) => (\n <View\n key={item.title}\n className={classNames({\n 'at-steps__item': true,\n 'at-steps__item--active': i === current,\n 'at-steps__item--inactive': i !== current\n })}\n onClick={event => handleClick(i, event)}\n >\n <View className='at-steps__circular-wrap'>\n {i !== 0 && <View className='at-steps__left-line'></View>}\n {item.status ? (\n <View\n className={classNames({\n 'at-icon': true,\n 'at-icon-check-circle': item.status === 'success',\n 'at-icon-close-circle': item.status === 'error',\n 'at-steps__single-icon': true,\n 'at-steps__single-icon--success': item.status === 'success',\n 'at-steps__single-icon--error': item.status === 'error'\n })}\n ></View>\n ) : (\n <View className='at-steps__circular'>\n {item.icon ? (\n <Text\n className={classNames('at-icon', {\n [`at-icon-${item.icon.value}`]: item.icon.value,\n 'at-steps__circle-icon': true\n })}\n ></Text>\n ) : (\n <Text className='at-steps__num'>{i + 1}</Text>\n )}\n </View>\n )}\n {i !== items.length - 1 && (\n <View className='at-steps__right-line'></View>\n )}\n </View>\n <View className='at-steps__title'>{item.title}</View>\n <View className='at-steps__desc'>{item.desc}</View>\n </View>\n ))}\n </View>\n )\n}\n\nAtSteps.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n current: PropTypes.number,\n items: PropTypes.array,\n onChange: PropTypes.func\n}\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtCurtainProps } from '../../../types/curtain'\nimport { noop } from '../../common/utils'\n\nfunction AtCurtain({\n className = '',\n customStyle = '',\n isOpened = false,\n closeBtnPosition = 'bottom',\n onClose = noop,\n children\n}: AtCurtainProps): JSX.Element {\n const handleClose = (e: CommonEvent): void => {\n e.stopPropagation()\n onClose(e)\n }\n\n const stopPropagation = (e: CommonEvent): void => {\n e.stopPropagation()\n }\n\n const curtainClass = classNames(\n {\n 'at-curtain': true,\n 'at-curtain--closed': !isOpened\n },\n className\n )\n const btnCloseClass = classNames({\n 'at-curtain__btn-close': true,\n [`at-curtain__btn-close--${closeBtnPosition}`]: closeBtnPosition\n })\n\n return (\n <View\n className={curtainClass}\n style={customStyle}\n onClick={stopPropagation}\n >\n <View className='at-curtain__container'>\n <View className='at-curtain__body'>\n {children}\n <View className={btnCloseClass} onClick={handleClose}></View>\n </View>\n </View>\n </View>\n )\n}\n\nAtCurtain.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n isOpened: PropTypes.bool,\n closeBtnPosition: PropTypes.string,\n onClose: PropTypes.func\n}\n\nexport default AtCurtain\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport Taro, { useDidHide, useDidShow } from '@tarojs/taro'\nimport { AtMessageProps } from '../../../types/message'\n\nfunction AtMessage({\n customStyle = '',\n className = ''\n}: AtMessageProps): JSX.Element {\n const [_isOpened, setIsOpened] = useState(false)\n const [_message, setMessage] = useState('')\n const [_type, setType] = useState('info')\n const durationRef = useRef(3000)\n const timerRef = useRef<NodeJS.Timeout | number | null>(null)\n\n const bindMessageListener = useCallback((): void => {\n Taro.eventCenter.on('atMessage', (options = {}) => {\n const { message, type, duration } = options\n const newDuration = duration || durationRef.current\n durationRef.current = newDuration\n setIsOpened(true)\n setMessage(message)\n setType(type)\n clearTimeout(timerRef.current as number)\n timerRef.current = setTimeout(() => {\n setIsOpened(false)\n }, newDuration)\n })\n Taro.atMessage = Taro.eventCenter.trigger.bind(\n Taro.eventCenter,\n 'atMessage'\n )\n }, [])\n\n useEffect(() => {\n bindMessageListener()\n return () => {\n Taro.eventCenter.off('atMessage')\n }\n }, [bindMessageListener])\n\n useDidShow(() => {\n bindMessageListener()\n })\n\n useDidHide(() => {\n Taro.eventCenter.off('atMessage')\n })\n\n const rootCls = classNames(\n {\n 'at-message': true,\n 'at-message--show': _isOpened,\n 'at-message--hidden': !_isOpened\n },\n `at-message--${_type}`,\n className\n )\n\n return (\n <View className={rootCls} style={customStyle}>\n {_message}\n </View>\n )\n}\n\nAtMessage.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string])\n}\n\nexport default AtMessage\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { Image, View } from '@tarojs/components'\nimport { ITouchEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtImagePickerProps, File } from '../../../types/image-picker'\nimport { noop, uuid } from '../../common/utils'\n\ninterface MatrixFile extends Partial<File> {\n type: 'blank' | 'btn'\n uuid: string\n}\n\n// 生成 jsx 二维矩阵\nconst generateMatrix = (\n files: MatrixFile[],\n col: number,\n showAddBtn: boolean\n): MatrixFile[][] => {\n const matrix: Array<MatrixFile>[] = []\n const length = showAddBtn ? files.length + 1 : files.length\n const row = Math.ceil(length / col)\n for (let i = 0; i < row; i++) {\n if (i === row - 1) {\n // 最后一行数据加上添加按钮\n const lastArr = files.slice(i * col)\n if (lastArr.length < col) {\n if (showAddBtn) {\n lastArr.push({ type: 'btn', uuid: uuid() })\n }\n // 填补剩下的空列\n for (let j = lastArr.length; j < col; j++) {\n lastArr.push({ type: 'blank', uuid: uuid() })\n }\n }\n matrix.push(lastArr)\n } else {\n matrix.push(files.slice(i * col, (i + 1) * col))\n }\n }\n return matrix\n}\n\nfunction AtImagePicker({\n className = '',\n customStyle = '',\n files = [],\n mode = 'aspectFill',\n showAddBtn = true,\n multiple = false,\n length = 4,\n count,\n sizeType,\n sourceType,\n onChange = noop,\n onImageClick,\n onFail,\n children\n}: AtImagePickerProps): JSX.Element {\n const ENV = Taro.getEnv()\n\n const chooseFile = (): void => {\n const filePathName =\n ENV === Taro.ENV_TYPE.ALIPAY ? 'apFilePaths' : 'tempFiles'\n // const count = multiple ? 99 : 1\n const params: any = {}\n if (multiple) {\n params.count = 99\n }\n if (count) {\n params.count = count\n }\n if (sizeType) {\n params.sizeType = sizeType\n }\n if (sourceType) {\n params.sourceType = sourceType\n }\n Taro.chooseImage(params)\n .then(res => {\n const targetFiles = res.tempFilePaths.map((path, i) => ({\n url: path,\n file: res[filePathName][i]\n }))\n const newFiles = files.concat(targetFiles)\n onChange(newFiles, 'add')\n })\n .catch(err => {\n onFail?.(err)\n })\n }\n\n const handleImageClick = (idx: number): void => {\n onImageClick && onImageClick(idx, files[idx])\n }\n\n const handleRemoveImg = (idx: number, event: ITouchEvent): void => {\n event.stopPropagation()\n event.preventDefault()\n if (ENV === Taro.ENV_TYPE.WEB) {\n window.URL.revokeObjectURL(files[idx].url)\n }\n const newFiles = files.filter((_, i) => i !== idx)\n onChange(newFiles, 'remove', idx)\n }\n\n const rowLength = length <= 0 ? 1 : length\n // 行数\n const matrix = generateMatrix(files as MatrixFile[], rowLength, showAddBtn)\n const rootCls = classNames('at-image-picker', className)\n\n return (\n <View className={rootCls} style={customStyle}>\n {matrix.map((row, i) => (\n <View className='at-image-picker__flex-box' key={i + 1}>\n {row.map((item, j) =>\n item.url ? (\n <View className='at-image-picker__flex-item' key={i * length + j}>\n <View className='at-image-picker__item'>\n <View\n className='at-image-picker__remove-btn'\n onClick={(event: ITouchEvent) =>\n handleRemoveImg(i * length + j, event)\n }\n ></View>\n <Image\n className='at-image-picker__preview-img'\n mode={mode}\n src={item.url}\n onClick={() => handleImageClick(i * length + j)}\n />\n </View>\n </View>\n ) : (\n <View\n className='at-image-picker__flex-item'\n key={`empty_${i * length}${j}`}\n >\n {item.type === 'btn' && (\n <View onClick={chooseFile}>\n {children || (\n <View className='at-image-picker__item at-image-picker__choose-btn'>\n <View className='add-bar'></View>\n <View className='add-bar'></View>\n </View>\n )}\n </View>\n )}\n </View>\n )\n )}\n </View>\n ))}\n </View>\n )\n}\n\nAtImagePicker.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n files: PropTypes.array,\n mode: PropTypes.oneOf([\n 'scaleToFill',\n 'aspectFit',\n 'aspectFill',\n 'widthFix',\n 'top',\n 'bottom',\n 'center',\n 'left',\n 'right',\n 'top left',\n 'top right',\n 'bottom left',\n 'bottom right'\n ]),\n showAddBtn: PropTypes.bool,\n multiple: PropTypes.bool,\n length: PropTypes.number,\n onChange: PropTypes.func,\n onImageClick: PropTypes.func,\n onFail: PropTypes.func,\n count: PropTypes.number,\n sizeType: PropTypes.array,\n sourceType: PropTypes.array\n}\n\nexport default AtImagePicker\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport { AtRangeProps } from '../../../types/range'\nimport {\n delayQuerySelector,\n getEventDetail,\n mergeStyle\n} from '../../common/utils'\n\nfunction AtRange({\n customStyle = '',\n className = '',\n sliderStyle = {},\n railStyle = {},\n trackStyle = {},\n value = [0, 0],\n min = 0,\n max = 100,\n disabled = false,\n blockSize = 0,\n onChange,\n onAfterChange\n}: AtRangeProps): JSX.Element {\n const widthRef = useRef(0)\n const leftRef = useRef(0)\n const deltaValueRef = useRef(max - min)\n const currentSliderRef = useRef('')\n const [{ aX, bX }, setAxis] = useState({ aX: 0, bX: 0 })\n const stateRef = useRef({ aX: 0, bX: 0 })\n stateRef.current = { aX, bX }\n\n deltaValueRef.current = max - min\n\n const triggerEvent = (funcName: string): void => {\n const { aX: stateAX, bX: stateBX } = stateRef.current\n const a = Math.round((stateAX / 100) * deltaValueRef.current) + min\n const b = Math.round((stateBX / 100) * deltaValueRef.current) + min\n const result = [a, b].sort((x, y) => x - y) as [number, number]\n\n if (funcName === 'onChange') {\n onChange && onChange(result)\n } else if (funcName === 'onAfterChange') {\n onAfterChange && onAfterChange(result)\n }\n }\n\n const setValue = (nextValue: number[]): void => {\n const aXVal = Math.round(\n ((nextValue[0] - min) / deltaValueRef.current) * 100\n )\n const bXVal = Math.round(\n ((nextValue[1] - min) / deltaValueRef.current) * 100\n )\n setAxis({ aX: aXVal, bX: bXVal })\n }\n\n const setSliderValue = (\n sliderName: string,\n targetValue: number,\n funcName: string\n ): void => {\n const distance = Math.min(Math.max(targetValue, 0), widthRef.current)\n const sliderValue = Math.floor((distance / widthRef.current) * 100)\n if (funcName) {\n setAxis(prev => {\n const next = { ...prev, [sliderName]: sliderValue }\n stateRef.current = next\n const a = Math.round((next.aX / 100) * deltaValueRef.current) + min\n const b = Math.round((next.bX / 100) * deltaValueRef.current) + min\n const result = [a, b].sort((x, y) => x - y) as [number, number]\n if (funcName === 'onChange') {\n onChange && onChange(result)\n } else if (funcName === 'onAfterChange') {\n onAfterChange && onAfterChange(result)\n }\n return next\n })\n } else {\n setAxis(prev => ({ ...prev, [sliderName]: sliderValue }))\n }\n }\n\n const updatePos = (): void => {\n delayQuerySelector('.at-range__container', 0).then(rect => {\n widthRef.current = Math.round(rect[0]?.width)\n leftRef.current = Math.round(rect[0]?.left)\n })\n }\n\n const handleClick = (event: CommonEvent): void => {\n if (currentSliderRef.current && !disabled) {\n let sliderValue = 0\n const detail = getEventDetail(event)\n sliderValue = detail.x - leftRef.current\n setSliderValue(currentSliderRef.current, sliderValue, 'onChange')\n }\n }\n\n const handleTouchMove = (sliderName: string, event: ITouchEvent): void => {\n if (disabled) return\n event.stopPropagation()\n\n const clientX = event.touches[0].clientX\n setSliderValue(sliderName, clientX - leftRef.current, 'onChange')\n }\n\n const handleTouchEnd = (sliderName: string): void => {\n if (disabled) return\n\n currentSliderRef.current = sliderName\n triggerEvent('onAfterChange')\n }\n\n useEffect(() => {\n updatePos()\n setValue(value)\n // componentDidMount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const prevValueRef = useRef(value)\n useEffect(() => {\n updatePos()\n if (\n prevValueRef.current?.[0] !== value?.[0] ||\n prevValueRef.current?.[1] !== value?.[1]\n ) {\n setValue(value)\n }\n prevValueRef.current = value\n }, [value, min, max])\n\n const rootCls = classNames(\n 'at-range',\n {\n 'at-range--disabled': disabled\n },\n className\n )\n\n const sliderCommonStyle = {\n width: blockSize ? `${blockSize}PX` : '',\n height: blockSize ? `${blockSize}PX` : '',\n marginLeft: blockSize ? `${-blockSize / 2}PX` : ''\n }\n const sliderAStyle = {\n ...sliderCommonStyle,\n left: `${aX}%`\n }\n const sliderBStyle = {\n ...sliderCommonStyle,\n left: `${bX}%`\n }\n const containerStyle = {\n height: blockSize ? `${blockSize}PX` : ''\n }\n const smallerX = Math.min(aX, bX)\n const deltaX = Math.abs(aX - bX)\n const atTrackStyle = {\n left: `${smallerX}%`,\n width: `${deltaX}%`\n }\n\n return (\n <View className={rootCls} style={customStyle} onClick={handleClick}>\n <View className='at-range__container' style={containerStyle}>\n <View className='at-range__rail' style={railStyle}></View>\n <View\n className='at-range__track'\n style={mergeStyle(atTrackStyle, trackStyle)}\n ></View>\n <View\n className='at-range__slider'\n style={mergeStyle(sliderAStyle, sliderStyle)}\n onTouchMove={(event: ITouchEvent) => handleTouchMove('aX', event)}\n onTouchEnd={() => handleTouchEnd('aX')}\n ></View>\n <View\n className='at-range__slider'\n style={mergeStyle(sliderBStyle, sliderStyle)}\n onTouchMove={(event: ITouchEvent) => handleTouchMove('bX', event)}\n onTouchEnd={() => handleTouchEnd('bX')}\n ></View>\n </View>\n </View>\n )\n}\n\nAtRange.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n sliderStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n railStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.array,\n min: PropTypes.number,\n max: PropTypes.number,\n disabled: PropTypes.bool,\n blockSize: PropTypes.number,\n onChange: PropTypes.func,\n onAfterChange: PropTypes.func\n}\n\nexport default AtRange\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { ScrollView, View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtIndexesProps, AtIndexesState, Item } from '../../../types/indexes'\nimport {\n delayQuerySelector,\n isTest,\n pxTransform,\n uuid\n} from '../../common/utils'\nimport AtList from '../list/index'\nimport AtListItem from '../list/item/index'\nimport AtToast from '../toast/index'\n\nconst ENV = Taro.getEnv()\n\nfunction AtIndexes({\n customStyle = '',\n className = '',\n animation = false,\n topKey = 'Top',\n isVibrate = true,\n isShowToast = true,\n list = [],\n onClick,\n onScrollIntoView,\n children\n}: AtIndexesProps): JSX.Element {\n const [_scrollIntoView, setScrollIntoView] = useState('')\n const [_scrollTop, setScrollTop] = useState(0)\n const [_tipText, setTipText] = useState('')\n const [_isShowToast, setIsShowToast] = useState(false)\n const isWEB = Taro.getEnv() === Taro.ENV_TYPE.WEB\n const [currentIndex, setCurrentIndex] = useState(-1)\n\n const menuHeightRef = useRef(0)\n const startTopRef = useRef(0)\n const itemHeightRef = useRef(0)\n const touchCurrentIndexRef = useRef(-1)\n const [listId] = useState(() =>\n isTest() ? 'indexes-list-AOTU2018' : `list-${uuid()}`\n )\n const timeoutTimerRef = useRef<NodeJS.Timeout | number>()\n const listRef = useRef<HTMLElement | null>(null)\n const indexMapRef = useRef<\n { key: string; startHeight: number; endHeight: number }[]\n >([])\n\n const updateState = useCallback(\n (state: Partial<AtIndexesState>): void => {\n const {\n _scrollIntoView: nextScrollIntoView,\n _tipText: nextTipText,\n _scrollTop: nextScrollTop\n } = state\n setScrollIntoView(nextScrollIntoView!)\n setTipText(nextTipText!)\n setScrollTop(nextScrollTop!)\n setIsShowToast(isShowToast!)\n\n clearTimeout(timeoutTimerRef.current as number)\n timeoutTimerRef.current = setTimeout(() => {\n setTipText('')\n setIsShowToast(false)\n }, 3000)\n\n if (isVibrate) {\n Taro.vibrateShort()\n }\n },\n [isShowToast, isVibrate]\n )\n\n const jumpTarget = useCallback(\n (_scrollIntoViewTarget: string, idx: number): void => {\n const _tipTextValue = idx === 0 ? topKey : list[idx - 1].key\n\n if (ENV === Taro.ENV_TYPE.WEB) {\n delayQuerySelector('.at-indexes', 0).then(rect => {\n const targetOffsetTop = (\n listRef.current!.children[idx] as HTMLElement\n ).offsetTop\n const _scrollTopValue = targetOffsetTop - rect[0].top\n updateState({\n _scrollTop: _scrollTopValue,\n _scrollIntoView: _scrollIntoViewTarget,\n _tipText: _tipTextValue\n })\n })\n return\n }\n\n updateState({\n _scrollIntoView: _scrollIntoViewTarget,\n _tipText: _tipTextValue\n })\n },\n [list, topKey, updateState]\n )\n\n const jumpTargetByKey = useCallback(\n (key: string): void => {\n const index = list.findIndex(item => item.key === key)\n const targetView = `at-indexes__list-${key}`\n jumpTarget(targetView, index + 1)\n },\n [list, jumpTarget]\n )\n\n const initData = useCallback(async (): Promise<void> => {\n delayQuerySelector('.at-indexes__menu').then(rect => {\n const len = list.length\n menuHeightRef.current = rect[0].height\n startTopRef.current = rect[0].top\n itemHeightRef.current = Math.floor(menuHeightRef.current / (len + 1))\n })\n\n const headerHeight =\n (await delayQuerySelector('#at-indexes__top'))?.[0]?.height || 0\n const itemHeight =\n (await delayQuerySelector('.at-list__item'))?.[0].height || 0\n const titleHeight =\n (await delayQuerySelector('.at-indexes__list-title'))?.[0].height || 0\n\n indexMapRef.current = []\n list.forEach((dataList, i) => {\n if (i === 0) {\n indexMapRef.current.push({\n key: dataList.key,\n startHeight: headerHeight,\n endHeight:\n dataList.items.length * itemHeight + headerHeight + titleHeight\n })\n } else {\n const prev = indexMapRef.current[i - 1]\n indexMapRef.current.push({\n key: dataList.key,\n startHeight: prev.endHeight,\n endHeight:\n prev.endHeight + dataList.items.length * itemHeight + titleHeight\n })\n }\n })\n }, [list])\n\n const getAnchorIndex = useCallback((scrollTop: number): void => {\n const index = indexMapRef.current.findIndex(item => {\n return scrollTop >= item.startHeight && scrollTop < item.endHeight\n })\n\n setCurrentIndex(index)\n }, [])\n\n const handleClick = (item: Item): void => {\n onClick && onClick(item)\n }\n\n const handleTouchMove = (event: ITouchEvent): void => {\n event.stopPropagation()\n event.preventDefault()\n\n const pageY = event.touches[0].pageY\n const index = Math.floor(\n (pageY - startTopRef.current) / itemHeightRef.current\n )\n\n if (\n index >= 0 &&\n index <= list.length &&\n touchCurrentIndexRef.current !== index\n ) {\n touchCurrentIndexRef.current = index\n const key = index > 0 ? list[index - 1].key : 'top'\n const touchView = `at-indexes__list-${key}`\n jumpTarget(touchView, index)\n }\n }\n\n const handleTouchEnd = (): void => {\n touchCurrentIndexRef.current = -1\n }\n\n const handleScroll = (e: CommonEvent): void => {\n if (e && e.detail) {\n const scrollTop = e.detail.scrollTop\n\n setScrollTop(scrollTop)\n\n getAnchorIndex(scrollTop)\n }\n }\n\n useEffect(() => {\n onScrollIntoView && onScrollIntoView(jumpTargetByKey)\n }, [onScrollIntoView, jumpTargetByKey])\n\n const listLengthRef = useRef(list.length)\n\n useEffect(() => {\n if (ENV === Taro.ENV_TYPE.WEB) {\n listRef.current = document.getElementById(listId)\n }\n initData()\n }, [listId, initData])\n\n useEffect(() => {\n if (listLengthRef.current === list.length) return\n listLengthRef.current = list.length\n initData()\n }, [list.length, initData])\n\n const toastStyle = { minWidth: pxTransform(100) }\n const rootCls = classNames('at-indexes', className)\n\n const menuList = list.map((dataList, i) => {\n const { key } = dataList\n const targetView = `at-indexes__list-${key}`\n return (\n <View\n className={classNames('at-indexes__menu-item', {\n 'at-indexes__menu-item--active': currentIndex === i\n })}\n key={key}\n onClick={(): void => jumpTarget(targetView, i + 1)}\n >\n {key}\n </View>\n )\n })\n\n const indexesList = list.map(dataList => (\n <View\n id={`at-indexes__list-${dataList.key}`}\n className='at-indexes__list'\n key={dataList.key}\n >\n <View className='at-indexes__list-title'>{dataList.title}</View>\n <AtList>\n {dataList.items &&\n dataList.items.map(item => (\n <AtListItem\n key={item.name}\n title={item.name}\n onClick={(): void => handleClick(item)}\n />\n ))}\n </AtList>\n </View>\n ))\n\n return (\n <View className={rootCls} style={customStyle}>\n <AtToast\n customStyle={toastStyle}\n isOpened={_isShowToast}\n text={_tipText}\n duration={2000}\n />\n <View\n className='at-indexes__menu'\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n >\n <View\n className='at-indexes__menu-item'\n onClick={(): void => jumpTarget('at-indexes__top', 0)}\n >\n {topKey}\n </View>\n {menuList}\n </View>\n <ScrollView\n className='at-indexes__body'\n id={listId}\n scrollY\n scrollWithAnimation={animation}\n // eslint-disable-next-line no-undefined\n scrollTop={isWEB ? _scrollTop : undefined}\n scrollIntoView={!isWEB ? _scrollIntoView : ''}\n onScroll={handleScroll}\n >\n <View className='at-indexes__content' id='at-indexes__top'>\n {children}\n </View>\n {indexesList}\n </ScrollView>\n </View>\n )\n}\n\nAtIndexes.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n animation: PropTypes.bool,\n isVibrate: PropTypes.bool,\n isShowToast: PropTypes.bool,\n topKey: PropTypes.string,\n list: PropTypes.array,\n onClick: PropTypes.func,\n onScrollIntoView: PropTypes.func\n}\n\nexport default AtIndexes\n","import classnames from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { View } from '@tarojs/components'\nimport { BaseEventOrig } from '@tarojs/components/types/common'\nimport {\n AtCalendarProps,\n AtCalendarPropsWithDefaults,\n AtCalendarState,\n Calendar\n} from '../../../types/calendar'\nimport { useComponentLocale } from '../../hooks/useComponentLocale'\nimport AtCalendarBody from './body/index'\nimport AtCalendarController from './controller/index'\n\nfunction AtCalendar(props: AtCalendarProps): JSX.Element {\n const calendarLocale = useComponentLocale('Calendar')\n const {\n validDates = [],\n marks = [],\n isSwiper = true,\n hideArrow = false,\n isVertical = false,\n selectedDates = [],\n isMultiSelect = false,\n format = 'YYYY-MM-DD',\n currentDate = Date.now(),\n monthFormat,\n minDate,\n maxDate,\n className,\n onMonthChange,\n onClickPreMonth,\n onClickNextMonth,\n onDayClick,\n onSelectDate,\n onDayLongClick\n } = props as AtCalendarPropsWithDefaults\n const resolvedMonthFormat = monthFormat ?? calendarLocale.monthFormat\n const getSelectedDate = (\n start: number,\n end?: number\n ): Calendar.SelectedDate => {\n const stateValue: Calendar.SelectedDate = {\n start,\n end: start\n }\n\n if (typeof end !== 'undefined') {\n stateValue.end = end\n }\n\n return stateValue\n }\n\n const getInitializeState = (\n date: Calendar.DateArg | Calendar.SelectedDate,\n multiSelect?: boolean\n ): AtCalendarState => {\n let end: number\n let start: number\n let generateDateValue: number\n\n if (!date) {\n const dayjsStart = dayjs()\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n return {\n generateDate: generateDateValue,\n selectedDate: {\n start: ''\n }\n }\n }\n\n if (multiSelect) {\n const { start: cStart, end: cEnd } = date as Calendar.SelectedDate\n\n const dayjsStart = dayjs(cStart)\n\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n\n end = cEnd ? dayjs(cEnd).startOf('day').valueOf() : start\n } else {\n const dayjsStart = dayjs(date as Calendar.DateArg)\n\n start = dayjsStart.startOf('day').valueOf()\n generateDateValue = dayjsStart.startOf('month').valueOf()\n\n end = start\n }\n\n return {\n generateDate: generateDateValue,\n selectedDate: getSelectedDate(start, end)\n }\n }\n\n const [generateDate, setGenerateDate] = useState<number>(\n () => getInitializeState(currentDate, isMultiSelect).generateDate\n )\n const [selectedDate, setSelectedDate] = useState<Calendar.SelectedDate>(\n () => getInitializeState(currentDate, isMultiSelect).selectedDate\n )\n\n const prevCurrentDateRef = useRef(currentDate)\n const prevIsMultiSelectRef = useRef(isMultiSelect)\n\n useEffect(() => {\n if (!currentDate || currentDate === prevCurrentDateRef.current) {\n prevCurrentDateRef.current = currentDate\n prevIsMultiSelectRef.current = isMultiSelect\n return\n }\n\n if (isMultiSelect && prevIsMultiSelectRef.current) {\n const { start, end } = currentDate as Calendar.SelectedDate\n const { start: preStart, end: preEnd } =\n prevCurrentDateRef.current as Calendar.SelectedDate\n\n if (start === preStart && preEnd === end) {\n prevCurrentDateRef.current = currentDate\n prevIsMultiSelectRef.current = isMultiSelect\n return\n }\n }\n\n const stateValue = getInitializeState(currentDate, isMultiSelect)\n\n setGenerateDate(stateValue.generateDate)\n setSelectedDate(stateValue.selectedDate)\n prevCurrentDateRef.current = currentDate\n prevIsMultiSelectRef.current = isMultiSelect\n }, [currentDate, isMultiSelect])\n\n const triggerChangeDate = (value: Dayjs): void => {\n if (typeof onMonthChange !== 'function') return\n\n onMonthChange(value.format(format))\n }\n\n const setMonth = (vectorCount: number): void => {\n const _generateDate: Dayjs = dayjs(generateDate).add(vectorCount, 'month')\n const nextGenerateDate = _generateDate.valueOf()\n\n setGenerateDate(nextGenerateDate)\n\n if (vectorCount && typeof onMonthChange === 'function') {\n onMonthChange(_generateDate.format(format))\n }\n }\n\n const handleClickPreMonth = (isMinMonth?: boolean): void => {\n if (isMinMonth === true) {\n return\n }\n\n setMonth(-1)\n\n if (typeof onClickPreMonth === 'function') {\n onClickPreMonth()\n }\n }\n\n const handleClickNextMonth = (isMaxMonth?: boolean): void => {\n if (isMaxMonth === true) {\n return\n }\n\n setMonth(1)\n\n if (typeof onClickNextMonth === 'function') {\n onClickNextMonth()\n }\n }\n\n const handleSelectDate = (e: BaseEventOrig<{ value: string }>): void => {\n const { value } = e.detail\n\n const _generateDate: Dayjs = dayjs(value)\n const _generateDateValue: number = _generateDate.valueOf()\n\n if (generateDate === _generateDateValue) return\n\n triggerChangeDate(_generateDate)\n setGenerateDate(_generateDateValue)\n }\n\n const notifySelectedDate = (selectDate: Calendar.SelectedDate): void => {\n if (typeof onSelectDate === 'function') {\n const info: Calendar.SelectedDate = {\n start: dayjs(selectDate.start).format(format)\n }\n\n if (selectDate.end) {\n info.end = dayjs(selectDate.end).format(format)\n }\n\n onSelectDate({\n value: info\n })\n }\n }\n\n const getSingleSelectdState = (\n value: Dayjs,\n currentGenerateDate: number\n ): Partial<AtCalendarState> => {\n const stateValue: Partial<AtCalendarState> = {\n selectedDate: getSelectedDate(value.valueOf())\n }\n\n const dayjsGenerateDate: Dayjs = value.startOf('month')\n const generateDateValue: number = dayjsGenerateDate.valueOf()\n\n if (generateDateValue !== currentGenerateDate) {\n triggerChangeDate(dayjsGenerateDate)\n stateValue.generateDate = generateDateValue\n }\n\n return stateValue\n }\n\n const getMultiSelectedState = (\n value: Dayjs,\n currentSelectedDate: Calendar.SelectedDate\n ): Pick<AtCalendarState, 'selectedDate'> => {\n const { end, start } = currentSelectedDate\n\n const valueUnix: number = value.valueOf()\n const state: Pick<AtCalendarState, 'selectedDate'> = {\n selectedDate: currentSelectedDate\n }\n\n if (end) {\n state.selectedDate = getSelectedDate(valueUnix, 0)\n } else {\n state.selectedDate = {\n ...currentSelectedDate,\n end: Math.max(valueUnix, +start),\n start: Math.min(valueUnix, +start)\n }\n }\n\n return state\n }\n\n const handleDayClick = (item: Calendar.Item): void => {\n const { isDisabled, value } = item\n\n if (isDisabled) return\n\n const dayjsDate: Dayjs = dayjs(value)\n\n let stateValue: Partial<AtCalendarState> = {}\n\n if (isMultiSelect) {\n stateValue = getMultiSelectedState(dayjsDate, selectedDate)\n } else {\n stateValue = getSingleSelectdState(dayjsDate, generateDate)\n }\n\n if (stateValue.generateDate != null) {\n setGenerateDate(stateValue.generateDate)\n }\n if (stateValue.selectedDate != null) {\n setSelectedDate(stateValue.selectedDate)\n notifySelectedDate(stateValue.selectedDate)\n }\n\n if (typeof onDayClick === 'function') {\n onDayClick({ value: item.value })\n }\n }\n\n const handleDayLongClick = (item: Calendar.Item): void => {\n if (typeof onDayLongClick === 'function') {\n onDayLongClick({ value: item.value })\n }\n }\n\n return (\n <View className={classnames('at-calendar', className)}>\n <AtCalendarController\n minDate={minDate}\n maxDate={maxDate}\n hideArrow={hideArrow}\n monthFormat={resolvedMonthFormat}\n generateDate={generateDate}\n onPreMonth={handleClickPreMonth}\n onNextMonth={handleClickNextMonth}\n onSelectDate={handleSelectDate}\n />\n <AtCalendarBody\n validDates={validDates}\n marks={marks}\n format={format}\n minDate={minDate}\n maxDate={maxDate}\n isSwiper={isSwiper}\n isVertical={isVertical}\n selectedDate={selectedDate}\n selectedDates={selectedDates}\n generateDate={generateDate}\n onDayClick={handleDayClick}\n onSwipeMonth={setMonth}\n onLongClick={handleDayLongClick}\n />\n </View>\n )\n}\n\nexport default AtCalendar\n","import classnames from 'classnames'\nimport dayjs from 'dayjs'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { Swiper, SwiperItem, View } from '@tarojs/components'\nimport {\n BaseEventOrig,\n ITouch,\n ITouchEvent\n} from '@tarojs/components/types/common'\nimport {\n AtCalendarBodyListGroup,\n AtCalendarBodyProps,\n Calendar\n} from '../../../../types/calendar'\nimport { delayQuerySelector } from '../../../common/utils'\nimport generateCalendarGroup from '../common/helper'\nimport AtCalendarDateList from '../ui/date-list/index'\nimport AtCalendarDayList from '../ui/day-list/index'\n\nconst ANIMTE_DURATION = 300\n\nfunction AtCalendarBody({\n marks = [],\n selectedDate = {\n end: Date.now(),\n start: Date.now()\n },\n format = 'YYYY-MM-DD',\n generateDate = Date.now(),\n validDates,\n minDate,\n maxDate,\n selectedDates,\n isSwiper,\n isVertical,\n onDayClick,\n onLongClick,\n onSwipeMonth\n}: AtCalendarBodyProps): JSX.Element {\n const changeCountRef = useRef(0)\n const currentSwiperIndexRef = useRef(1)\n const startXRef = useRef(0)\n const swipeStartPointRef = useRef(0)\n const isPreMonthRef = useRef(false)\n const maxWidthRef = useRef(0)\n const isTouchingRef = useRef(false)\n\n const generateFuncRef = useRef(\n generateCalendarGroup({\n validDates,\n format,\n minDate,\n maxDate,\n marks,\n selectedDates\n })\n )\n\n const getGroups = (\n genDate: number,\n selDate: Calendar.SelectedDate\n ): AtCalendarBodyListGroup => {\n const dayjsDate = dayjs(genDate)\n const arr: AtCalendarBodyListGroup = []\n const preList: Calendar.ListInfo<Calendar.Item> = generateFuncRef.current(\n dayjsDate.subtract(1, 'month').valueOf(),\n selDate\n )\n\n const nowList: Calendar.ListInfo<Calendar.Item> = generateFuncRef.current(\n genDate,\n selDate,\n true\n )\n\n const nextList: Calendar.ListInfo<Calendar.Item> = generateFuncRef.current(\n dayjsDate.add(1, 'month').valueOf(),\n selDate\n )\n\n const preListIndex =\n currentSwiperIndexRef.current === 0\n ? 2\n : currentSwiperIndexRef.current - 1\n const nextListIndex =\n currentSwiperIndexRef.current === 2\n ? 0\n : currentSwiperIndexRef.current + 1\n\n arr[preListIndex] = preList\n arr[nextListIndex] = nextList\n arr[currentSwiperIndexRef.current] = nowList\n\n return arr\n }\n\n const [listGroup, setListGroup] = useState<AtCalendarBodyListGroup>(() =>\n getGroups(generateDate, selectedDate)\n )\n const [offsetSize, setOffsetSize] = useState(0)\n const [isAnimate, setIsAnimate] = useState(false)\n\n useEffect(() => {\n delayQuerySelector('.at-calendar-slider__main').then(res => {\n maxWidthRef.current = res[0].width\n })\n }, [])\n\n const isMountedRef = useRef(false)\n\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true\n return\n }\n\n generateFuncRef.current = generateCalendarGroup({\n validDates,\n format,\n minDate,\n maxDate,\n marks,\n selectedDates\n })\n const nextListGroup = getGroups(generateDate, selectedDate)\n\n setOffsetSize(0)\n setListGroup(nextListGroup)\n }, [\n validDates,\n marks,\n format,\n minDate,\n maxDate,\n generateDate,\n selectedDate,\n selectedDates\n ])\n\n const handleTouchStart = (e: ITouchEvent): void => {\n if (!isSwiper) {\n return\n }\n isTouchingRef.current = true\n startXRef.current = e.touches[0].clientX\n }\n\n const handleTouchMove = (e: ITouchEvent): void => {\n if (!isSwiper) {\n return\n }\n if (!isTouchingRef.current) return\n\n const { clientX } = e.touches[0]\n const nextOffsetSize = clientX - startXRef.current\n\n setOffsetSize(nextOffsetSize)\n }\n\n const animateMoveSlide = (offset: number, callback?: () => void): void => {\n setIsAnimate(true)\n Promise.resolve().then(() => {\n setOffsetSize(offset)\n setTimeout(() => {\n setIsAnimate(false)\n callback?.()\n }, ANIMTE_DURATION)\n })\n }\n\n const handleTouchEnd = (): void => {\n if (!isSwiper) {\n return\n }\n\n isTouchingRef.current = false\n const isRight = offsetSize > 0\n\n const breakpoint = maxWidthRef.current / 2\n const absOffsetSize = Math.abs(offsetSize)\n\n if (absOffsetSize > breakpoint) {\n const res = isRight ? maxWidthRef.current : -maxWidthRef.current\n animateMoveSlide(res, () => {\n onSwipeMonth(isRight ? -1 : 1)\n })\n return\n }\n animateMoveSlide(0)\n }\n\n const handleChange = (\n e: BaseEventOrig<{\n current: number\n source: string\n }>\n ): void => {\n const { current, source } = e.detail\n\n if (source === 'touch') {\n currentSwiperIndexRef.current = current\n changeCountRef.current += 1\n }\n }\n\n const handleAnimateFinish = (): void => {\n if (changeCountRef.current > 0) {\n onSwipeMonth(\n isPreMonthRef.current ? -changeCountRef.current : changeCountRef.current\n )\n changeCountRef.current = 0\n }\n }\n\n const handleSwipeTouchStart = (\n e: ITouchEvent & { changedTouches: Array<ITouch> }\n ): void => {\n const { clientY, clientX } = e.changedTouches[0]\n swipeStartPointRef.current = isVertical ? clientY : clientX\n }\n\n const handleSwipeTouchEnd = (\n e: ITouchEvent & { changedTouches: Array<ITouch> }\n ): void => {\n const { clientY, clientX } = e.changedTouches[0]\n isPreMonthRef.current = isVertical\n ? clientY - swipeStartPointRef.current > 0\n : clientX - swipeStartPointRef.current > 0\n }\n\n if (!isSwiper) {\n return (\n <View\n className={classnames(\n 'main',\n 'at-calendar-slider__main',\n `at-calendar-slider__main--${process.env.TARO_ENV}`\n )}\n >\n <AtCalendarDayList />\n <View className='main__body body'>\n <View className='body__slider body__slider--now'>\n <AtCalendarDateList\n list={listGroup[1].list}\n onClick={onDayClick}\n onLongClick={onLongClick}\n />\n </View>\n </View>\n </View>\n )\n }\n\n /* 需要 Taro 组件库维护 Swiper 使 小程序 和 H5 的表现保持一致 */\n if (process.env.TARO_ENV === 'h5') {\n return (\n <View\n className={classnames(\n 'main',\n 'at-calendar-slider__main',\n `at-calendar-slider__main--${process.env.TARO_ENV}`\n )}\n onTouchEnd={handleTouchEnd}\n onTouchMove={handleTouchMove}\n onTouchStart={handleTouchStart}\n >\n <AtCalendarDayList />\n <View\n className={classnames('main__body body', {\n 'main__body--slider': isSwiper,\n 'main__body--animate': isAnimate\n })}\n style={{\n transform: isSwiper\n ? `translateX(-100%) translate3d(${offsetSize},0,0)`\n : '',\n WebkitTransform: isSwiper\n ? `translateX(-100%) translate3d(${offsetSize}px,0,0)`\n : ''\n }}\n >\n <View className='body__slider body__slider--pre'>\n <AtCalendarDateList list={listGroup[0].list} />\n </View>\n <View className='body__slider body__slider--now'>\n <AtCalendarDateList\n list={listGroup[1].list}\n onClick={onDayClick}\n onLongClick={onLongClick}\n />\n </View>\n <View className='body__slider body__slider--next'>\n <AtCalendarDateList list={listGroup[2].list} />\n </View>\n </View>\n </View>\n )\n }\n\n return (\n <View\n className={classnames(\n 'main',\n 'at-calendar-slider__main',\n `at-calendar-slider__main--${process.env.TARO_ENV}`\n )}\n >\n <AtCalendarDayList />\n <Swiper\n circular\n current={1}\n skipHiddenItemLayout\n className={classnames('main__body')}\n onChange={handleChange}\n vertical={isVertical}\n onAnimationFinish={handleAnimateFinish}\n onTouchEnd={handleSwipeTouchEnd}\n onTouchStart={handleSwipeTouchStart}\n >\n {listGroup.map((item, key) => (\n <SwiperItem key={key} itemId={key.toString()}>\n <AtCalendarDateList\n list={item.list}\n onClick={onDayClick}\n onLongClick={onLongClick}\n />\n </SwiperItem>\n ))}\n </Swiper>\n </View>\n )\n}\n\nexport default AtCalendarBody\n","import dayjs, { Dayjs } from 'dayjs'\nimport _flow from 'lodash/flow'\nimport { Calendar } from '../../../../types/calendar'\nimport * as constant from './constant'\nimport plugins from './plugins'\n\nconst TOTAL = 7 * 6\n\nfunction getFullItem(\n item: Partial<Calendar.Item>,\n options: Calendar.GroupOptions,\n selectedDate: Calendar.SelectedDate,\n isShowStatus?: boolean\n): any {\n if (options.marks.find(x => x.value === item.value)) {\n item.marks = [\n {\n value: item.value as string\n }\n ]\n }\n if (!isShowStatus) return item\n\n const bindedPlugins = plugins.map(fn =>\n fn.bind(null, {\n options,\n selectedDate\n })\n )\n return _flow(bindedPlugins)(item)\n}\n\nexport default function generateCalendarGroup(\n options: Calendar.GroupOptions\n): (\n generateDate: number,\n selectedDate: Calendar.SelectedDate,\n isShowStatus?: boolean\n) => Calendar.ListInfo<Calendar.Item> {\n return function (\n generateDate: number,\n selectedDate: Calendar.SelectedDate,\n isShowStatus?: boolean\n ): Calendar.ListInfo<Calendar.Item> {\n const date = dayjs(generateDate)\n\n const { format } = options\n\n // 获取生成日期的第一天 和 最后一天\n const firstDate = date.startOf('month')\n const lastDate = date.endOf('month')\n\n const preMonthDate = date.subtract(1, 'month')\n\n const list: Calendar.List<Calendar.Item> = []\n\n const nowMonthDays: number = date.daysInMonth() // 获取这个月有多少天\n const preMonthLastDay = preMonthDate.endOf('month').day() // 获取上个月最后一天是周几\n\n // 生成上个月的日期\n for (let i = 1; i <= preMonthLastDay + 1; i++) {\n const thisDate = firstDate.subtract(i, 'day').startOf('day')\n\n let item = {\n marks: [],\n _value: thisDate,\n text: thisDate.date(),\n type: constant.TYPE_PRE_MONTH,\n value: thisDate.format(format)\n }\n\n item = getFullItem(item, options, selectedDate, isShowStatus)\n\n list.push(item)\n }\n list.reverse()\n\n // 生成这个月的日期\n for (let i = 0; i < nowMonthDays; i++) {\n const thisDate = firstDate.add(i, 'day').startOf('day')\n let item = {\n marks: [],\n _value: thisDate,\n text: thisDate.date(),\n type: constant.TYPE_NOW_MONTH,\n value: thisDate.format(format)\n }\n\n item = getFullItem(item, options, selectedDate, isShowStatus)\n\n list.push(item)\n }\n\n // 生成下个月的日期\n let i = 1\n while (list.length < TOTAL) {\n const thisDate = lastDate.add(i++, 'day').startOf('day')\n let item = {\n marks: [],\n _value: thisDate,\n text: thisDate.date(),\n type: constant.TYPE_NEXT_MONTH,\n value: thisDate.format(format)\n }\n\n item = getFullItem(item, options, selectedDate, isShowStatus)\n\n list.push(item)\n }\n\n return {\n list,\n value: generateDate\n }\n }\n}\n\nexport function getGenerateDate(date: Calendar.DateArg | undefined): Dayjs {\n return dayjs(date).startOf('month')\n}\n","export const TYPE_PRE_MONTH = -1\n\nexport const TYPE_NOW_MONTH = 0\n\nexport const TYPE_NEXT_MONTH = 1\n","import dayjs from 'dayjs'\nimport _isEmpty from 'lodash/isEmpty'\nimport { Calendar } from '../../../../types/calendar'\n\ninterface PluginArg {\n options: Calendar.GroupOptions\n\n selectedDate: Calendar.SelectedDate\n}\n\nexport function handleActive(\n args: PluginArg,\n item: Calendar.Item\n): Calendar.Item {\n const { selectedDate } = args\n const { _value } = item\n\n const { start, end } = selectedDate\n\n const dayjsEnd = dayjs(end)\n const dayjsStart = start ? dayjs(start) : dayjsEnd\n\n item.isSelected =\n _value?.isSame(dayjsEnd) ||\n _value?.isSame(dayjsStart) ||\n (_value?.isAfter(dayjsStart) && _value?.isBefore(dayjsEnd))\n\n item.isSelectedHead = _value?.isSame(dayjsStart)\n item.isSelectedTail = _value?.isSame(dayjsEnd)\n\n item.isToday = _value?.diff(dayjs(Date.now()).startOf('day'), 'day') === 0\n\n return item\n}\n\nexport function handleMarks(\n args: PluginArg,\n item: Calendar.Item\n): Calendar.Item {\n const { options } = args\n const { _value } = item\n const { marks } = options\n\n const markList = marks.filter(mark =>\n _value ? dayjs(mark.value).startOf('day').isSame(_value) : false\n )\n\n item.marks = markList.slice(0, 1)\n\n return item\n}\n\n// export function handleSelectedDates (args: PluginArg): Calendar.Item {\n// const { item, options } = args\n// const { _value } = item\n// const { selectedDates } = options\n\n// if (selectedDates.length === 0) return args\n\n// _forEach(selectedDates, date => {\n// const { isSelected, isHead, isTail } = item\n\n// // 如果当前 Item 已经具备了 三种状态下 无需继续判断 跳出循环\n// if (isSelected) {\n// return false\n// }\n\n// const { start, end } = date\n\n// const dayjsEnd = dayjs(end).startOf('day')\n// const dayjsStart = dayjs(start).startOf('day')\n\n// item.isSelected =\n// item.isSelected ||\n// (_value.isAfter(dayjsStart) && _value.isBefore(dayjsEnd))\n\n// item.isHead = item.isHead || _value.isSame(dayjsStart)\n\n// item.isTail = item.isTail || _value.isSame(dayjsEnd)\n// })\n\n// return item\n// }\n\nexport function handleDisabled(\n args: PluginArg,\n item: Calendar.Item\n): Calendar.Item {\n const { options } = args\n const { _value } = item\n const { minDate, maxDate } = options\n\n const dayjsMinDate = dayjs(minDate)\n const dayjsMaxDate = dayjs(maxDate)\n\n item.isDisabled =\n !!(minDate && _value?.isBefore(dayjsMinDate)) ||\n !!(maxDate && _value?.isAfter(dayjsMaxDate))\n\n return item\n}\n\nexport function handleValid(\n args: PluginArg,\n item: Calendar.Item\n): Calendar.Item {\n const { options } = args\n const { _value } = item\n const { validDates } = options\n\n if (!_isEmpty(validDates)) {\n const isInclude = validDates.some(date =>\n _value ? dayjs(date.value).startOf('day').isSame(_value) : false\n )\n\n item.isDisabled = !isInclude\n }\n\n delete item._value\n\n return item\n}\n\nexport default [handleActive, handleMarks, handleDisabled, handleValid]\n","import classnames from 'classnames'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { Calendar } from '../../../../../types/calendar'\nimport * as constant from '../../common/constant'\n\nconst MAP: { [key: number]: string } = {\n [constant.TYPE_PRE_MONTH]: 'pre',\n [constant.TYPE_NOW_MONTH]: 'now',\n [constant.TYPE_NEXT_MONTH]: 'next'\n}\n\nexport interface Props {\n list: Calendar.List<Calendar.Item>\n\n onClick?: (item: Calendar.Item) => void\n\n onLongClick?: (item: Calendar.Item) => void\n}\n\nfunction AtCalendarList({\n list,\n onClick,\n onLongClick\n}: Props): JSX.Element | null {\n const handleClick = (item: Calendar.Item): void => {\n if (typeof onClick === 'function') {\n onClick(item)\n }\n }\n\n const handleLongClick = (item: Calendar.Item): void => {\n if (typeof onLongClick === 'function') {\n onLongClick(item)\n }\n }\n\n if (!list || list.length === 0) return null\n\n return (\n <View className='at-calendar__list flex'>\n {list.map((item: Calendar.Item) => (\n <View\n key={`list-item-${item.value}`}\n onClick={() => handleClick(item)}\n onLongPress={() => handleLongClick(item)}\n className={classnames('flex__item', `flex__item--${MAP[item.type]}`, {\n 'flex__item--today': item.isToday,\n 'flex__item--active': item.isActive,\n 'flex__item--selected': item.isSelected,\n 'flex__item--selected-head': item.isSelectedHead,\n 'flex__item--selected-tail': item.isSelectedTail,\n 'flex__item--blur':\n item.isDisabled ||\n item.type === constant.TYPE_PRE_MONTH ||\n item.type === constant.TYPE_NEXT_MONTH\n })}\n >\n <View className='flex__item-container'>\n <View className='container-text'>{item.text}</View>\n </View>\n <View className='flex__item-extra extra'>\n {item.marks && item.marks.length > 0 ? (\n <View className='extra-marks'>\n {item.marks.map((mark, key) => (\n <Text key={key} className='mark'>\n {mark.value}\n </Text>\n ))}\n </View>\n ) : null}\n </View>\n </View>\n ))}\n </View>\n )\n}\n\nexport default AtCalendarList\n","import React from 'react'\nimport { View } from '@tarojs/components'\nimport { useComponentLocale } from '../../../../hooks/useComponentLocale'\n\nfunction AtCalendarHeader(): JSX.Element {\n const { weekdays } = useComponentLocale('Calendar')\n\n return (\n <View className='at-calendar__header header'>\n <View className='header__flex'>\n {weekdays.map(weekday => (\n <View key={weekday} className='header__flex-item'>\n {weekday}\n </View>\n ))}\n </View>\n </View>\n )\n}\n\nexport default AtCalendarHeader\n","import classnames from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport React from 'react'\nimport { Picker, Text, View } from '@tarojs/components'\nimport { AtCalendarControllerProps } from '../../../../types/calendar'\n\nfunction AtCalendarController({\n generateDate,\n minDate,\n maxDate,\n monthFormat,\n hideArrow,\n onPreMonth,\n onNextMonth,\n onSelectDate\n}: AtCalendarControllerProps): JSX.Element {\n const dayjsDate: Dayjs = dayjs(generateDate)\n const dayjsMinDate: Dayjs | boolean = !!minDate && dayjs(minDate)\n const dayjsMaxDate: Dayjs | boolean = !!maxDate && dayjs(maxDate)\n\n const isMinMonth: boolean =\n dayjsMinDate && dayjsMinDate.startOf('month').isSame(dayjsDate)\n\n const isMaxMonth: boolean =\n dayjsMaxDate && dayjsMaxDate.startOf('month').isSame(dayjsDate)\n\n const minDateValue: string = dayjsMinDate\n ? dayjsMinDate.format('YYYY-MM')\n : ''\n const maxDateValue: string = dayjsMaxDate\n ? dayjsMaxDate.format('YYYY-MM')\n : ''\n\n return (\n <View className='at-calendar__controller controller'>\n {hideArrow ? null : (\n <View\n className={classnames('controller__arrow controller__arrow--left', {\n 'controller__arrow--disabled': isMinMonth\n })}\n onClick={() =>\n (onPreMonth as (monthDisabled?: boolean) => void)(isMinMonth)\n }\n />\n )}\n <Picker\n mode='date'\n fields='month'\n end={maxDateValue}\n start={minDateValue}\n onChange={onSelectDate}\n value={dayjsDate.format('YYYY-MM')}\n >\n <Text className='controller__info'>\n {dayjsDate.format(monthFormat)}\n </Text>\n </Picker>\n {hideArrow ? null : (\n <View\n className={classnames('controller__arrow controller__arrow--right', {\n 'controller__arrow--disabled': isMaxMonth\n })}\n onClick={() =>\n (onNextMonth as (monthDisabled?: boolean) => void)(isMaxMonth)\n }\n />\n )}\n </View>\n )\n}\n\nexport default AtCalendarController\n","import classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtFabProps } from '../../../types/fab'\n\nfunction AtFab({\n size = 'normal',\n className,\n children,\n onClick\n}: AtFabProps): JSX.Element {\n const handleClick = (e: CommonEvent): void => {\n if (typeof onClick === 'function') {\n onClick(e)\n }\n }\n\n const rootClass = classNames('at-fab', className, {\n [`at-fab--${size}`]: size\n })\n\n return (\n <View className={rootClass} onClick={handleClick}>\n {children}\n </View>\n )\n}\n\nAtFab.propTypes = {\n size: PropTypes.oneOf(['normal', 'small']),\n onClick: PropTypes.func\n}\n\nexport default AtFab\n","import merge from 'lodash/merge'\nimport React, { useMemo } from 'react'\nimport { defaultLocale } from '../../locale'\nimport { PartialLocale } from '../../locale/types'\nimport { ConfigContext } from './context'\n\nexport interface ConfigProviderProps {\n locale?: PartialLocale\n children?: React.ReactNode\n}\n\nexport default function ConfigProvider({\n locale,\n children\n}: ConfigProviderProps): JSX.Element {\n const mergedLocale = useMemo(() => merge({}, defaultLocale, locale), [locale])\n\n return (\n <ConfigContext.Provider value={{ locale: mergedLocale }}>\n {children}\n </ConfigContext.Provider>\n )\n}\n","import { Component } from 'react'\n\nconst 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\nexport default class AtComponent<P, S> extends Component<P, S> {\n /**\n * 合并 style\n * @param {Object|String} style1\n * @param {Object|String} style2\n * @returns {String}\n */\n 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"],"mappings":"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","names":["item_default","header_default","import_classnames","import_prop_types","import_react","import_components","classNames","React","import_classnames","import_react","import_components","classNames","React","PropTypes","import_classnames","import_react","import_components","classNames","React","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_prop_types","import_react","import_components","import_react","Taro","Taro","Taro","React","PropTypes","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","Taro","OpenData","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","SIZE_CLASS","Taro","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","item_default","React","classNames","item_default","PropTypes","import_classnames","import_prop_types","import_react","import_components","scrollTop","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","_chunk","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","_toString","deltaValue","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_react","import_components","classNames","React","import_classnames","import_react","import_components","classNames","React","header_default","Taro","classNames","React","header_default","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","import_react","import_react","Taro","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","ENV","Taro","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","SIZE_CLASS","TYPE_CLASS","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","ENV","Taro","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_taro","import_components","import_classnames","import_react","import_components","classNames","React","AtSwipeAction","Taro","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","import_prop_types","import_react","import_components","React","PropTypes","item_default","React","classNames","item_default","PropTypes","import_classnames","import_prop_types","import_react","import_components","React","classNames","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","Taro","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","ENV","Taro","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_classnames","import_prop_types","import_react","import_components","import_taro","ENV","Taro","scrollTop","classNames","React","item_default","PropTypes","import_classnames","import_dayjs","import_react","import_components","import_classnames","import_dayjs","import_react","import_components","import_dayjs","dayjs","_isEmpty","_flow","dayjs","i","import_classnames","import_react","import_components","React","classnames","import_react","import_components","React","dayjs","React","classnames","body_default","import_classnames","import_dayjs","import_react","import_components","dayjs","React","classnames","dayjs","React","classnames","body_default","import_classnames","import_prop_types","import_react","import_components","classNames","React","PropTypes","import_react","merge","React","import_react","objectToString"]}