taro-ui 3.3.2 → 3.3.3

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 (283) hide show
  1. package/{lib → dist}/components/avatar/index.js +2 -1
  2. package/dist/components/avatar/index.js.map +1 -0
  3. package/dist/index.esm.js +6254 -0
  4. package/dist/index.esm.js.map +1 -0
  5. package/dist/index.js +6339 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +41 -10
  8. package/lib/components/avatar/index.js.map +0 -1
  9. package/lib/index.js +0 -109
  10. package/lib/index.js.map +0 -1
  11. /package/{lib → dist}/common/component.d.ts +0 -0
  12. /package/{lib → dist}/common/component.js +0 -0
  13. /package/{lib → dist}/common/component.js.map +0 -0
  14. /package/{lib → dist}/common/utils.d.ts +0 -0
  15. /package/{lib → dist}/common/utils.js +0 -0
  16. /package/{lib → dist}/common/utils.js.map +0 -0
  17. /package/{lib → dist}/components/accordion/index.d.ts +0 -0
  18. /package/{lib → dist}/components/accordion/index.js +0 -0
  19. /package/{lib → dist}/components/accordion/index.js.map +0 -0
  20. /package/{lib → dist}/components/action-sheet/body/index.d.ts +0 -0
  21. /package/{lib → dist}/components/action-sheet/body/index.js +0 -0
  22. /package/{lib → dist}/components/action-sheet/body/index.js.map +0 -0
  23. /package/{lib → dist}/components/action-sheet/body/item/index.d.ts +0 -0
  24. /package/{lib → dist}/components/action-sheet/body/item/index.js +0 -0
  25. /package/{lib → dist}/components/action-sheet/body/item/index.js.map +0 -0
  26. /package/{lib → dist}/components/action-sheet/footer/index.d.ts +0 -0
  27. /package/{lib → dist}/components/action-sheet/footer/index.js +0 -0
  28. /package/{lib → dist}/components/action-sheet/footer/index.js.map +0 -0
  29. /package/{lib → dist}/components/action-sheet/header/index.d.ts +0 -0
  30. /package/{lib → dist}/components/action-sheet/header/index.js +0 -0
  31. /package/{lib → dist}/components/action-sheet/header/index.js.map +0 -0
  32. /package/{lib → dist}/components/action-sheet/index.d.ts +0 -0
  33. /package/{lib → dist}/components/action-sheet/index.js +0 -0
  34. /package/{lib → dist}/components/action-sheet/index.js.map +0 -0
  35. /package/{lib → dist}/components/activity-indicator/index.d.ts +0 -0
  36. /package/{lib → dist}/components/activity-indicator/index.js +0 -0
  37. /package/{lib → dist}/components/activity-indicator/index.js.map +0 -0
  38. /package/{lib → dist}/components/avatar/index.d.ts +0 -0
  39. /package/{lib → dist}/components/badge/index.d.ts +0 -0
  40. /package/{lib → dist}/components/badge/index.js +0 -0
  41. /package/{lib → dist}/components/badge/index.js.map +0 -0
  42. /package/{lib → dist}/components/button/index.d.ts +0 -0
  43. /package/{lib → dist}/components/button/index.js +0 -0
  44. /package/{lib → dist}/components/button/index.js.map +0 -0
  45. /package/{lib → dist}/components/calendar/body/index.d.ts +0 -0
  46. /package/{lib → dist}/components/calendar/body/index.js +0 -0
  47. /package/{lib → dist}/components/calendar/body/index.js.map +0 -0
  48. /package/{lib → dist}/components/calendar/common/constant.d.ts +0 -0
  49. /package/{lib → dist}/components/calendar/common/constant.js +0 -0
  50. /package/{lib → dist}/components/calendar/common/constant.js.map +0 -0
  51. /package/{lib → dist}/components/calendar/common/helper.d.ts +0 -0
  52. /package/{lib → dist}/components/calendar/common/helper.js +0 -0
  53. /package/{lib → dist}/components/calendar/common/helper.js.map +0 -0
  54. /package/{lib → dist}/components/calendar/common/plugins.d.ts +0 -0
  55. /package/{lib → dist}/components/calendar/common/plugins.js +0 -0
  56. /package/{lib → dist}/components/calendar/common/plugins.js.map +0 -0
  57. /package/{lib → dist}/components/calendar/controller/index.d.ts +0 -0
  58. /package/{lib → dist}/components/calendar/controller/index.js +0 -0
  59. /package/{lib → dist}/components/calendar/controller/index.js.map +0 -0
  60. /package/{lib → dist}/components/calendar/index.d.ts +0 -0
  61. /package/{lib → dist}/components/calendar/index.js +0 -0
  62. /package/{lib → dist}/components/calendar/index.js.map +0 -0
  63. /package/{lib → dist}/components/calendar/ui/date-list/index.d.ts +0 -0
  64. /package/{lib → dist}/components/calendar/ui/date-list/index.js +0 -0
  65. /package/{lib → dist}/components/calendar/ui/date-list/index.js.map +0 -0
  66. /package/{lib → dist}/components/calendar/ui/day-list/index.d.ts +0 -0
  67. /package/{lib → dist}/components/calendar/ui/day-list/index.js +0 -0
  68. /package/{lib → dist}/components/calendar/ui/day-list/index.js.map +0 -0
  69. /package/{lib → dist}/components/card/index.d.ts +0 -0
  70. /package/{lib → dist}/components/card/index.js +0 -0
  71. /package/{lib → dist}/components/card/index.js.map +0 -0
  72. /package/{lib → dist}/components/checkbox/index.d.ts +0 -0
  73. /package/{lib → dist}/components/checkbox/index.js +0 -0
  74. /package/{lib → dist}/components/checkbox/index.js.map +0 -0
  75. /package/{lib → dist}/components/countdown/index.d.ts +0 -0
  76. /package/{lib → dist}/components/countdown/index.js +0 -0
  77. /package/{lib → dist}/components/countdown/index.js.map +0 -0
  78. /package/{lib → dist}/components/countdown/item/index.d.ts +0 -0
  79. /package/{lib → dist}/components/countdown/item/index.js +0 -0
  80. /package/{lib → dist}/components/countdown/item/index.js.map +0 -0
  81. /package/{lib → dist}/components/curtain/index.d.ts +0 -0
  82. /package/{lib → dist}/components/curtain/index.js +0 -0
  83. /package/{lib → dist}/components/curtain/index.js.map +0 -0
  84. /package/{lib → dist}/components/divider/index.d.ts +0 -0
  85. /package/{lib → dist}/components/divider/index.js +0 -0
  86. /package/{lib → dist}/components/divider/index.js.map +0 -0
  87. /package/{lib → dist}/components/drawer/index.d.ts +0 -0
  88. /package/{lib → dist}/components/drawer/index.js +0 -0
  89. /package/{lib → dist}/components/drawer/index.js.map +0 -0
  90. /package/{lib → dist}/components/fab/index.d.ts +0 -0
  91. /package/{lib → dist}/components/fab/index.js +0 -0
  92. /package/{lib → dist}/components/fab/index.js.map +0 -0
  93. /package/{lib → dist}/components/flex/index.d.ts +0 -0
  94. /package/{lib → dist}/components/flex/index.js +0 -0
  95. /package/{lib → dist}/components/flex/index.js.map +0 -0
  96. /package/{lib → dist}/components/flex/item/index.d.ts +0 -0
  97. /package/{lib → dist}/components/flex/item/index.js +0 -0
  98. /package/{lib → dist}/components/flex/item/index.js.map +0 -0
  99. /package/{lib → dist}/components/float-layout/index.d.ts +0 -0
  100. /package/{lib → dist}/components/float-layout/index.js +0 -0
  101. /package/{lib → dist}/components/float-layout/index.js.map +0 -0
  102. /package/{lib → dist}/components/form/index.d.ts +0 -0
  103. /package/{lib → dist}/components/form/index.js +0 -0
  104. /package/{lib → dist}/components/form/index.js.map +0 -0
  105. /package/{lib → dist}/components/grid/index.d.ts +0 -0
  106. /package/{lib → dist}/components/grid/index.js +0 -0
  107. /package/{lib → dist}/components/grid/index.js.map +0 -0
  108. /package/{lib → dist}/components/icon/index.d.ts +0 -0
  109. /package/{lib → dist}/components/icon/index.js +0 -0
  110. /package/{lib → dist}/components/icon/index.js.map +0 -0
  111. /package/{lib → dist}/components/image-picker/index.d.ts +0 -0
  112. /package/{lib → dist}/components/image-picker/index.js +0 -0
  113. /package/{lib → dist}/components/image-picker/index.js.map +0 -0
  114. /package/{lib → dist}/components/indexes/index.d.ts +0 -0
  115. /package/{lib → dist}/components/indexes/index.js +0 -0
  116. /package/{lib → dist}/components/indexes/index.js.map +0 -0
  117. /package/{lib → dist}/components/input/index.d.ts +0 -0
  118. /package/{lib → dist}/components/input/index.js +0 -0
  119. /package/{lib → dist}/components/input/index.js.map +0 -0
  120. /package/{lib → dist}/components/input-number/index.d.ts +0 -0
  121. /package/{lib → dist}/components/input-number/index.js +0 -0
  122. /package/{lib → dist}/components/input-number/index.js.map +0 -0
  123. /package/{lib → dist}/components/list/index.d.ts +0 -0
  124. /package/{lib → dist}/components/list/index.js +0 -0
  125. /package/{lib → dist}/components/list/index.js.map +0 -0
  126. /package/{lib → dist}/components/list/item/index.d.ts +0 -0
  127. /package/{lib → dist}/components/list/item/index.js +0 -0
  128. /package/{lib → dist}/components/list/item/index.js.map +0 -0
  129. /package/{lib → dist}/components/load-more/index.d.ts +0 -0
  130. /package/{lib → dist}/components/load-more/index.js +0 -0
  131. /package/{lib → dist}/components/load-more/index.js.map +0 -0
  132. /package/{lib → dist}/components/loading/index.d.ts +0 -0
  133. /package/{lib → dist}/components/loading/index.js +0 -0
  134. /package/{lib → dist}/components/loading/index.js.map +0 -0
  135. /package/{lib → dist}/components/message/index.d.ts +0 -0
  136. /package/{lib → dist}/components/message/index.js +0 -0
  137. /package/{lib → dist}/components/message/index.js.map +0 -0
  138. /package/{lib → dist}/components/modal/action/index.d.ts +0 -0
  139. /package/{lib → dist}/components/modal/action/index.js +0 -0
  140. /package/{lib → dist}/components/modal/action/index.js.map +0 -0
  141. /package/{lib → dist}/components/modal/content/index.d.ts +0 -0
  142. /package/{lib → dist}/components/modal/content/index.js +0 -0
  143. /package/{lib → dist}/components/modal/content/index.js.map +0 -0
  144. /package/{lib → dist}/components/modal/header/index.d.ts +0 -0
  145. /package/{lib → dist}/components/modal/header/index.js +0 -0
  146. /package/{lib → dist}/components/modal/header/index.js.map +0 -0
  147. /package/{lib → dist}/components/modal/index.d.ts +0 -0
  148. /package/{lib → dist}/components/modal/index.js +0 -0
  149. /package/{lib → dist}/components/modal/index.js.map +0 -0
  150. /package/{lib → dist}/components/nav-bar/index.d.ts +0 -0
  151. /package/{lib → dist}/components/nav-bar/index.js +0 -0
  152. /package/{lib → dist}/components/nav-bar/index.js.map +0 -0
  153. /package/{lib → dist}/components/noticebar/index.d.ts +0 -0
  154. /package/{lib → dist}/components/noticebar/index.js +0 -0
  155. /package/{lib → dist}/components/noticebar/index.js.map +0 -0
  156. /package/{lib → dist}/components/pagination/index.d.ts +0 -0
  157. /package/{lib → dist}/components/pagination/index.js +0 -0
  158. /package/{lib → dist}/components/pagination/index.js.map +0 -0
  159. /package/{lib → dist}/components/progress/index.d.ts +0 -0
  160. /package/{lib → dist}/components/progress/index.js +0 -0
  161. /package/{lib → dist}/components/progress/index.js.map +0 -0
  162. /package/{lib → dist}/components/radio/index.d.ts +0 -0
  163. /package/{lib → dist}/components/radio/index.js +0 -0
  164. /package/{lib → dist}/components/radio/index.js.map +0 -0
  165. /package/{lib → dist}/components/range/index.d.ts +0 -0
  166. /package/{lib → dist}/components/range/index.js +0 -0
  167. /package/{lib → dist}/components/range/index.js.map +0 -0
  168. /package/{lib → dist}/components/rate/index.d.ts +0 -0
  169. /package/{lib → dist}/components/rate/index.js +0 -0
  170. /package/{lib → dist}/components/rate/index.js.map +0 -0
  171. /package/{lib → dist}/components/search-bar/index.d.ts +0 -0
  172. /package/{lib → dist}/components/search-bar/index.js +0 -0
  173. /package/{lib → dist}/components/search-bar/index.js.map +0 -0
  174. /package/{lib → dist}/components/segmented-control/index.d.ts +0 -0
  175. /package/{lib → dist}/components/segmented-control/index.js +0 -0
  176. /package/{lib → dist}/components/segmented-control/index.js.map +0 -0
  177. /package/{lib → dist}/components/slider/index.d.ts +0 -0
  178. /package/{lib → dist}/components/slider/index.js +0 -0
  179. /package/{lib → dist}/components/slider/index.js.map +0 -0
  180. /package/{lib → dist}/components/steps/index.d.ts +0 -0
  181. /package/{lib → dist}/components/steps/index.js +0 -0
  182. /package/{lib → dist}/components/steps/index.js.map +0 -0
  183. /package/{lib → dist}/components/swipe-action/index.d.ts +0 -0
  184. /package/{lib → dist}/components/swipe-action/index.js +0 -0
  185. /package/{lib → dist}/components/swipe-action/index.js.map +0 -0
  186. /package/{lib → dist}/components/swipe-action/options/index.d.ts +0 -0
  187. /package/{lib → dist}/components/swipe-action/options/index.js +0 -0
  188. /package/{lib → dist}/components/swipe-action/options/index.js.map +0 -0
  189. /package/{lib → dist}/components/switch/index.d.ts +0 -0
  190. /package/{lib → dist}/components/switch/index.js +0 -0
  191. /package/{lib → dist}/components/switch/index.js.map +0 -0
  192. /package/{lib → dist}/components/tab-bar/index.d.ts +0 -0
  193. /package/{lib → dist}/components/tab-bar/index.js +0 -0
  194. /package/{lib → dist}/components/tab-bar/index.js.map +0 -0
  195. /package/{lib → dist}/components/tabs/index.d.ts +0 -0
  196. /package/{lib → dist}/components/tabs/index.js +0 -0
  197. /package/{lib → dist}/components/tabs/index.js.map +0 -0
  198. /package/{lib → dist}/components/tabs-pane/index.d.ts +0 -0
  199. /package/{lib → dist}/components/tabs-pane/index.js +0 -0
  200. /package/{lib → dist}/components/tabs-pane/index.js.map +0 -0
  201. /package/{lib → dist}/components/tag/index.d.ts +0 -0
  202. /package/{lib → dist}/components/tag/index.js +0 -0
  203. /package/{lib → dist}/components/tag/index.js.map +0 -0
  204. /package/{lib → dist}/components/textarea/index.d.ts +0 -0
  205. /package/{lib → dist}/components/textarea/index.js +0 -0
  206. /package/{lib → dist}/components/textarea/index.js.map +0 -0
  207. /package/{lib → dist}/components/timeline/index.d.ts +0 -0
  208. /package/{lib → dist}/components/timeline/index.js +0 -0
  209. /package/{lib → dist}/components/timeline/index.js.map +0 -0
  210. /package/{lib → dist}/components/toast/img.json +0 -0
  211. /package/{lib → dist}/components/toast/index.d.ts +0 -0
  212. /package/{lib → dist}/components/toast/index.js +0 -0
  213. /package/{lib → dist}/components/toast/index.js.map +0 -0
  214. /package/{lib → dist}/index.d.ts +0 -0
  215. /package/{lib → dist}/style/components/accordion.scss +0 -0
  216. /package/{lib → dist}/style/components/action-sheet.scss +0 -0
  217. /package/{lib → dist}/style/components/activity-indicator.scss +0 -0
  218. /package/{lib → dist}/style/components/article.scss +0 -0
  219. /package/{lib → dist}/style/components/avatar.scss +0 -0
  220. /package/{lib → dist}/style/components/badge.scss +0 -0
  221. /package/{lib → dist}/style/components/button.scss +0 -0
  222. /package/{lib → dist}/style/components/calendar.scss +0 -0
  223. /package/{lib → dist}/style/components/card.scss +0 -0
  224. /package/{lib → dist}/style/components/checkbox.scss +0 -0
  225. /package/{lib → dist}/style/components/countdown.scss +0 -0
  226. /package/{lib → dist}/style/components/curtain.scss +0 -0
  227. /package/{lib → dist}/style/components/divider.scss +0 -0
  228. /package/{lib → dist}/style/components/drawer.scss +0 -0
  229. /package/{lib → dist}/style/components/fab.scss +0 -0
  230. /package/{lib → dist}/style/components/flex.scss +0 -0
  231. /package/{lib → dist}/style/components/float-layout.scss +0 -0
  232. /package/{lib → dist}/style/components/form.scss +0 -0
  233. /package/{lib → dist}/style/components/grid.scss +0 -0
  234. /package/{lib → dist}/style/components/icon.scss +0 -0
  235. /package/{lib → dist}/style/components/image-picker.scss +0 -0
  236. /package/{lib → dist}/style/components/index.scss +0 -0
  237. /package/{lib → dist}/style/components/indexes.scss +0 -0
  238. /package/{lib → dist}/style/components/input-number.scss +0 -0
  239. /package/{lib → dist}/style/components/input.scss +0 -0
  240. /package/{lib → dist}/style/components/list.scss +0 -0
  241. /package/{lib → dist}/style/components/load-more.scss +0 -0
  242. /package/{lib → dist}/style/components/loading.scss +0 -0
  243. /package/{lib → dist}/style/components/message.scss +0 -0
  244. /package/{lib → dist}/style/components/modal.scss +0 -0
  245. /package/{lib → dist}/style/components/nav-bar.scss +0 -0
  246. /package/{lib → dist}/style/components/noticebar.scss +0 -0
  247. /package/{lib → dist}/style/components/pagination.scss +0 -0
  248. /package/{lib → dist}/style/components/progress.scss +0 -0
  249. /package/{lib → dist}/style/components/radio.scss +0 -0
  250. /package/{lib → dist}/style/components/range.scss +0 -0
  251. /package/{lib → dist}/style/components/rate.scss +0 -0
  252. /package/{lib → dist}/style/components/search-bar.scss +0 -0
  253. /package/{lib → dist}/style/components/segmented-control.scss +0 -0
  254. /package/{lib → dist}/style/components/slider.scss +0 -0
  255. /package/{lib → dist}/style/components/steps.scss +0 -0
  256. /package/{lib → dist}/style/components/swipe-action.scss +0 -0
  257. /package/{lib → dist}/style/components/switch.scss +0 -0
  258. /package/{lib → dist}/style/components/tab-bar.scss +0 -0
  259. /package/{lib → dist}/style/components/tabs.scss +0 -0
  260. /package/{lib → dist}/style/components/tag.scss +0 -0
  261. /package/{lib → dist}/style/components/textarea.scss +0 -0
  262. /package/{lib → dist}/style/components/timeline.scss +0 -0
  263. /package/{lib → dist}/style/components/toast.scss +0 -0
  264. /package/{lib → dist}/style/index.css +0 -0
  265. /package/{lib → dist}/style/index.css.map +0 -0
  266. /package/{lib → dist}/style/index.scss +0 -0
  267. /package/{lib → dist}/style/mixins/index.scss +0 -0
  268. /package/{lib → dist}/style/mixins/libs/absolute-center.scss +0 -0
  269. /package/{lib → dist}/style/mixins/libs/active.scss +0 -0
  270. /package/{lib → dist}/style/mixins/libs/alignhack.scss +0 -0
  271. /package/{lib → dist}/style/mixins/libs/border.scss +0 -0
  272. /package/{lib → dist}/style/mixins/libs/clearfix.scss +0 -0
  273. /package/{lib → dist}/style/mixins/libs/disabled.scss +0 -0
  274. /package/{lib → dist}/style/mixins/libs/flex.scss +0 -0
  275. /package/{lib → dist}/style/mixins/libs/hairline.scss +0 -0
  276. /package/{lib → dist}/style/mixins/libs/line.scss +0 -0
  277. /package/{lib → dist}/style/mixins/libs/overlay.scss +0 -0
  278. /package/{lib → dist}/style/mixins/libs/placeholder.scss +0 -0
  279. /package/{lib → dist}/style/mixins/libs/shade.scss +0 -0
  280. /package/{lib → dist}/style/mixins/libs/tint.scss +0 -0
  281. /package/{lib → dist}/style/themes/purple.scss +0 -0
  282. /package/{lib → dist}/style/themes/red.scss +0 -0
  283. /package/{lib → dist}/style/variables/default.scss +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../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/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/common/component.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport {\n AtActionSheetProps,\n AtActionSheetState\n} from '../../../types/action-sheet'\nimport AtActionSheetBody from './body/index'\nimport AtActionSheetFooter from './footer/index'\nimport AtActionSheetHeader from './header/index'\n\nexport default class AtActionSheet extends React.Component<\n AtActionSheetProps,\n AtActionSheetState\n> {\n public static defaultProps: AtActionSheetProps\n public static propTypes: InferProps<AtActionSheetProps>\n\n public constructor(props: AtActionSheetProps) {\n super(props)\n const { isOpened } = props\n\n this.state = {\n _isOpened: isOpened\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtActionSheetProps): void {\n const { isOpened } = nextProps\n if (isOpened !== this.state._isOpened) {\n this.setState({\n _isOpened: isOpened\n })\n\n !isOpened && this.handleClose()\n }\n }\n\n private handleClose = (): void => {\n if (typeof this.props.onClose === 'function') {\n this.props.onClose()\n }\n }\n\n private handleCancel = (): void => {\n if (typeof this.props.onCancel === 'function') {\n return this.props.onCancel()\n }\n this.close()\n }\n\n private close = (): void => {\n this.setState(\n {\n _isOpened: false\n },\n this.handleClose\n )\n }\n\n private handleTouchMove = (e: CommonEvent): void => {\n e.stopPropagation()\n e.preventDefault()\n }\n\n public render(): JSX.Element {\n const { title, cancelText, className } = this.props\n const { _isOpened } = this.state\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={this.handleTouchMove}>\n <View onClick={this.close} className='at-action-sheet__overlay' />\n <View className='at-action-sheet__container'>\n {title && <AtActionSheetHeader>{title}</AtActionSheetHeader>}\n <AtActionSheetBody>{this.props.children}</AtActionSheetBody>\n {cancelText && (\n <AtActionSheetFooter onClick={this.handleCancel}>\n {cancelText}\n </AtActionSheetFooter>\n )}\n </View>\n </View>\n )\n }\n}\n\nAtActionSheet.defaultProps = {\n title: '',\n cancelText: '',\n isOpened: false\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","import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetBodyProps } from '../../../../types/action-sheet'\n\nexport default class AtActionSheetBody extends React.Component<AtActionSheetBodyProps> {\n public render(): JSX.Element {\n const rootClass = classNames('at-action-sheet__body', this.props.className)\n return <View className={rootClass}>{this.props.children}</View>\n }\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetFooterProps } from '../../../../types/action-sheet'\n\nexport default class AtActionSheetFooter extends React.Component<AtActionSheetFooterProps> {\n public static defaultProps: AtActionSheetFooterProps\n public static propTypes: InferProps<AtActionSheetFooterProps>\n\n private handleClick = (...args: any[]): void => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(...args)\n }\n }\n\n public render(): JSX.Element {\n const rootClass = classNames(\n 'at-action-sheet__footer',\n this.props.className\n )\n\n return (\n <View onClick={this.handleClick} className={rootClass}>\n {this.props.children}\n </View>\n )\n }\n}\n\nAtActionSheetFooter.propTypes = {\n onClick: PropTypes.func\n}\n","import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetHeaderProps } from '../../../../types/action-sheet'\n\nexport default class AtActionSheetHeader extends React.Component<AtActionSheetHeaderProps> {\n public render(): JSX.Element {\n const rootClass = classNames(\n 'at-action-sheet__header',\n this.props.className\n )\n\n return <View className={rootClass}>{this.props.children}</View>\n }\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtActionSheetItemProps } from '../../../../../types/action-sheet'\n\nexport default class AtActionSheetItem extends React.Component<AtActionSheetItemProps> {\n public static defaultProps: AtActionSheetItemProps\n public static propTypes: InferProps<AtActionSheetItemProps>\n\n private handleClick = (args: any): void => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(args)\n }\n }\n\n public render(): JSX.Element {\n const rootClass = classNames('at-action-sheet__item', this.props.className)\n\n return (\n <View className={rootClass} onClick={this.handleClick}>\n {this.props.children}\n </View>\n )\n }\n}\n\nAtActionSheetItem.propTypes = {\n onClick: PropTypes.func\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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\nexport default class AtActivityIndicator extends React.Component<AtActivityIndicatorProps> {\n public static defaultProps: AtActivityIndicatorProps\n public static propTypes: InferProps<AtActivityIndicatorProps>\n\n public render(): JSX.Element {\n const { color, size, mode, content, isOpened } = this.props\n\n const rootClass = classNames(\n 'at-activity-indicator',\n {\n 'at-activity-indicator--center': mode === 'center',\n 'at-activity-indicator--isopened': isOpened\n },\n this.props.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}\n\nAtActivityIndicator.defaultProps = {\n size: 0,\n mode: 'normal',\n color: '',\n content: '',\n className: '',\n isOpened: true\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","import PropTypes, { InferProps } 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\nexport default class AtLoading extends React.Component<AtLoadingProps> {\n public static defaultProps: AtLoadingProps\n public static propTypes: InferProps<AtLoadingProps>\n\n public render(): JSX.Element {\n const { color, size } = this.props\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}\n\nAtLoading.defaultProps = {\n size: 0,\n color: ''\n}\n\nAtLoading.propTypes = {\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n color: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n}\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\nexport {\n delay,\n delayQuerySelector,\n uuid,\n getEventDetail,\n initTestEnv,\n isTest,\n pxTransform,\n handleTouchScroll,\n delayGetClientRect,\n delayGetScrollOffset,\n mergeStyle,\n isJSXElement\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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, AtAvatarState } from '../../../types/avatar'\n\nconst SIZE_CLASS = {\n large: 'large',\n normal: 'normal',\n small: 'small'\n}\n\nexport default class AtAvatar extends React.Component<\n AtAvatarProps,\n AtAvatarState\n> {\n public static defaultProps: AtAvatarProps\n public static propTypes: InferProps<AtAvatarProps>\n\n public constructor(props: AtAvatarProps) {\n super(props)\n this.state = {\n isWEAPP: Taro.getEnv() === Taro.ENV_TYPE.WEAPP\n }\n }\n\n public render(): JSX.Element {\n const { size, circle, image, text, openData, customStyle } = this.props\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 this.state.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, this.props.className)}\n style={customStyle}\n >\n {elem}\n </View>\n )\n }\n}\n\nAtAvatar.defaultProps = {\n size: 'normal',\n circle: false,\n text: '',\n image: '',\n customStyle: {},\n className: ''\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtBadgeProps } from '../../../types/badge'\n\nexport default class AtBadge extends React.Component<AtBadgeProps> {\n public static defaultProps: AtBadgeProps\n public static propTypes: InferProps<AtBadgeProps>\n\n public constructor(props: AtBadgeProps) {\n super(props)\n this.state = {}\n }\n\n private formatValue(\n value: string | number | undefined,\n maxValue: number\n ): string | number {\n if (value === '' || value === null || typeof value === 'undefined')\n return ''\n const numValue = +value\n if (Number.isNaN(numValue)) {\n return value\n }\n return numValue > maxValue ? `${maxValue}+` : numValue\n }\n\n public render(): JSX.Element {\n const { dot, value, maxValue = 99, customStyle } = this.props\n const rootClassName = ['at-badge']\n\n const val = this.formatValue(value, maxValue)\n\n return (\n <View\n className={classNames(rootClassName, this.props.className)}\n style={customStyle}\n >\n {this.props.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}\n\nAtBadge.defaultProps = {\n dot: false,\n value: '',\n maxValue: 99,\n customStyle: {},\n className: ''\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, { InferProps } 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, AtButtonState } 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\nexport default class AtButton extends React.Component<\n AtButtonProps,\n AtButtonState\n> {\n public static defaultProps: AtButtonProps\n public static propTypes: InferProps<AtButtonProps>\n\n public constructor(props: AtButtonProps) {\n super(props)\n this.state = {\n isWEB: Taro.getEnv() === Taro.ENV_TYPE.WEB,\n isWEAPP: Taro.getEnv() === Taro.ENV_TYPE.WEAPP,\n isALIPAY: Taro.getEnv() === Taro.ENV_TYPE.ALIPAY\n }\n }\n\n private onClick(event: CommonEvent): void {\n if (!this.props.disabled) {\n this.props.onClick && this.props.onClick(event)\n }\n }\n\n private onGetUserInfo(event: CommonEvent): void {\n this.props.onGetUserInfo && this.props.onGetUserInfo(event)\n }\n\n private onContact(\n event: BaseEventOrig<ButtonProps.onContactEventDetail>\n ): void {\n this.props.onContact && this.props.onContact(event)\n }\n\n private onGetPhoneNumber(event: CommonEvent): void {\n this.props.onGetPhoneNumber && this.props.onGetPhoneNumber(event)\n }\n\n private onError(event: CommonEvent): void {\n this.props.onError && this.props.onError(event)\n }\n\n private onOpenSetting(event: CommonEvent): void {\n this.props.onOpenSetting && this.props.onOpenSetting(event)\n }\n\n public render(): JSX.Element {\n const {\n size = 'normal',\n type = '',\n circle,\n full,\n loading,\n disabled,\n customStyle,\n formType,\n openType,\n lang,\n sessionFrom,\n sendMessageTitle,\n sendMessagePath,\n sendMessageImg,\n showMessageCard,\n appParameter\n } = this.props\n const { isWEAPP, isALIPAY, isWEB } = this.state\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--${type}`]: TYPE_CLASS[type],\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={this.onGetUserInfo.bind(this)}\n onGetPhoneNumber={this.onGetPhoneNumber.bind(this)}\n onOpenSetting={this.onOpenSetting.bind(this)}\n onError={this.onError.bind(this)}\n onContact={this.onContact.bind(this)}\n ></Button>\n )\n\n return (\n <View\n className={classNames(rootClassName, classObject, this.props.className)}\n style={customStyle}\n onClick={this.onClick.bind(this)}\n >\n {isWEB && !disabled && webButton}\n {isWEAPP && !disabled && button}\n {isALIPAY && !disabled && button}\n {loadingComponent}\n <View className='at-button__text'>{this.props.children}</View>\n </View>\n )\n }\n}\n\nAtButton.defaultProps = {\n size: 'normal',\n circle: false,\n full: false,\n loading: false,\n disabled: false,\n customStyle: {},\n // Button props\n lang: 'en',\n sessionFrom: '',\n sendMessageTitle: '',\n sendMessagePath: '',\n sendMessageImg: '',\n showMessageCard: false,\n appParameter: ''\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { AtCardProps } from '../../../types/card'\n\nexport default class AtCard extends React.Component<AtCardProps> {\n public static defaultProps: AtCardProps\n public static propTypes: InferProps<AtCardProps>\n\n private handleClick = (args: any): void => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(args)\n }\n }\n\n public render(): JSX.Element {\n const { title, note, extra, extraStyle, thumb, isFull, icon, renderIcon } =\n this.props\n\n const rootClass = classNames(\n 'at-card',\n {\n 'at-card--full': isFull\n },\n this.props.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={this.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'>{this.props.children}</View>\n {note && <View className='at-card__content-note'>{note}</View>}\n </View>\n </View>\n )\n }\n}\n\nAtCard.defaultProps = {\n note: '',\n isFull: false,\n thumb: '',\n title: '',\n extraStyle: {}\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, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtCheckboxProps } from '../../../types/checkbox'\n\nexport default class AtCheckbox extends React.Component<AtCheckboxProps<any>> {\n public static defaultProps: AtCheckboxProps<any>\n public static propTypes: InferProps<AtCheckboxProps<any>>\n\n private handleClick(idx: number): void {\n const { selectedList, options } = this.props\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 this.props.onChange([...selectedSet])\n }\n\n public render(): JSX.Element {\n const { customStyle, className, options, selectedList } = this.props\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={this.handleClick.bind(this, 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}\n\nAtCheckbox.defaultProps = {\n customStyle: '',\n className: '',\n options: [],\n selectedList: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtDrawerProps, AtDrawerState } from '../../../types/drawer'\nimport AtList from '../list/index'\nimport AtListItem from '../list/item/index'\n\nexport default class AtDrawer extends React.Component<\n AtDrawerProps,\n AtDrawerState\n> {\n public static defaultProps: AtDrawerProps\n public static propTypes: InferProps<AtDrawerProps>\n\n public constructor(props: AtDrawerProps) {\n super(props)\n this.state = {\n animShow: false,\n _show: props.show\n }\n }\n\n public componentDidMount(): void {\n const { _show } = this.state\n if (_show) this.animShow()\n }\n\n private onItemClick(index: number): void {\n this.props.onItemClick && this.props.onItemClick(index)\n this.animHide()\n }\n\n private onHide(): void {\n this.setState({ _show: false }, () => {\n this.props.onClose && this.props.onClose()\n })\n }\n\n private animHide(): void {\n this.setState({\n animShow: false\n })\n setTimeout(() => {\n this.onHide()\n }, 300)\n }\n\n private animShow(): void {\n this.setState({ _show: true })\n setTimeout(() => {\n this.setState({\n animShow: true\n })\n }, 200)\n }\n\n private onMaskClick(): void {\n this.animHide()\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtDrawerProps): void {\n const { show } = nextProps\n if (show !== this.state._show) {\n show ? this.animShow() : this.animHide()\n }\n }\n\n public render(): JSX.Element {\n const { mask, width, right, items } = this.props\n const { animShow, _show } = this.state\n const rootClassName = ['at-drawer']\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\n className={classNames(rootClassName, classObject, this.props.className)}\n >\n <View\n className='at-drawer__mask'\n style={maskStyle}\n onClick={this.onMaskClick.bind(this)}\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={this.onItemClick.bind(this, index)}\n title={name}\n arrow='right'\n ></AtListItem>\n ))}\n </AtList>\n ) : (\n this.props.children\n )}\n </View>\n </View>\n ) : (\n <View></View>\n )\n }\n}\n\nAtDrawer.defaultProps = {\n show: false,\n mask: true,\n width: '',\n right: false,\n items: []\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtListProps } from '../../../types/list'\n\nexport default class AtList extends React.Component<AtListProps> {\n public static defaultProps: AtListProps\n public static propTypes: InferProps<AtListProps>\n\n public render(): JSX.Element {\n const rootClass = classNames(\n 'at-list',\n {\n 'at-list--no-border': !this.props.hasBorder\n },\n this.props.className\n )\n\n return <View className={rootClass}>{this.props.children}</View>\n }\n}\n\nAtList.defaultProps = {\n hasBorder: true\n}\n\nAtList.propTypes = {\n hasBorder: PropTypes.bool\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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\nexport default class AtListItem extends React.Component<AtListItemProps> {\n public static defaultProps: AtListItemProps\n public static propTypes: InferProps<AtListItemProps>\n\n private handleClick = (event: ITouchEvent): void => {\n if (typeof this.props.onClick === 'function' && !this.props.disabled) {\n this.props.onClick(event)\n }\n }\n\n private handleSwitchClick(e: CommonEvent): void {\n e.stopPropagation()\n }\n\n private handleSwitchChange = (event: CommonEvent): void => {\n if (\n typeof this.props.onSwitchChange === 'function' &&\n !this.props.disabled\n ) {\n this.props.onSwitchChange(event)\n }\n }\n\n public render(): JSX.Element {\n const {\n note,\n arrow,\n thumb,\n iconInfo,\n disabled,\n isSwitch,\n hasBorder,\n extraThumb,\n switchColor,\n switchIsCheck,\n icon\n } = this.props\n\n const { extraText, title } = this.props\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 this.props.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\n className='item-thumb__info'\n mode='scaleToFill'\n src={thumb}\n />\n </View>\n )\n }\n }\n\n return (\n <View className={rootClass} onClick={this.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\n className='item-extra__switch'\n onClick={this.handleSwitchClick}\n >\n <Switch\n color={switchColor}\n disabled={disabled}\n checked={switchIsCheck}\n onChange={this.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}\n\nAtListItem.defaultProps = {\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}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { ScrollView, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport {\n AtFloatLayoutProps,\n AtFloatLayoutState\n} from '../../../types/float-layout'\nimport { handleTouchScroll } from '../../common/utils'\n\nexport default class AtFloatLayout extends React.Component<\n AtFloatLayoutProps,\n AtFloatLayoutState\n> {\n public static defaultProps: AtFloatLayoutProps\n public static propTypes: InferProps<AtFloatLayoutProps>\n\n public constructor(props: AtFloatLayoutProps) {\n super(props)\n\n const { isOpened } = props\n this.state = {\n _isOpened: isOpened\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtFloatLayoutProps): void {\n const { isOpened } = nextProps\n\n if (this.props.isOpened !== isOpened) {\n handleTouchScroll(isOpened)\n }\n\n if (isOpened !== this.state._isOpened) {\n this.setState({\n _isOpened: isOpened\n })\n }\n }\n\n private handleClose = (e): void => {\n if (typeof this.props.onClose === 'function') {\n this.props.onClose(e)\n }\n }\n\n private close = (e): void => {\n this.setState(\n {\n _isOpened: false\n },\n () => this.handleClose(e)\n )\n }\n\n private handleTouchMove = (e: CommonEvent): void => {\n e.stopPropagation()\n }\n\n public render(): JSX.Element {\n const { _isOpened } = this.state\n const {\n title,\n\n scrollY,\n scrollX,\n scrollTop,\n scrollLeft,\n upperThreshold,\n lowerThreshold,\n scrollWithAnimation\n } = this.props\n\n const rootClass = classNames(\n 'at-float-layout',\n {\n 'at-float-layout--active': _isOpened\n },\n this.props.className\n )\n\n return (\n <View className={rootClass} onTouchMove={this.handleTouchMove}>\n <View onClick={this.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={this.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={this.props.onScroll}\n onScrollToLower={this.props.onScrollToLower}\n onScrollToUpper={this.props.onScrollToUpper}\n className='layout-body__content'\n >\n {this.props.children}\n </ScrollView>\n </View>\n </View>\n </View>\n )\n }\n}\n\nAtFloatLayout.defaultProps = {\n title: '',\n isOpened: false,\n\n scrollY: true,\n scrollX: false,\n scrollWithAnimation: false\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Form } from '@tarojs/components'\nimport { AtFormProps } from '../../../types/form'\n\nexport default class AtForm extends React.Component<AtFormProps> {\n public static defaultProps: AtFormProps\n public static propTypes: InferProps<AtFormProps>\n\n private onSubmit(): void {\n this.props.onSubmit && this.props.onSubmit(arguments as any)\n }\n\n private onReset(): void {\n this.props.onReset && this.props.onReset(arguments as any)\n }\n\n public render(): JSX.Element {\n const { customStyle, className, reportSubmit } = this.props\n const rootCls = classNames('at-form', className)\n\n return (\n <Form\n className={rootCls}\n style={customStyle}\n onSubmit={this.onSubmit.bind(this)}\n reportSubmit={reportSubmit}\n onReset={this.onReset.bind(this)}\n >\n {this.props.children}\n </Form>\n )\n }\n}\n\nAtForm.defaultProps = {\n customStyle: '',\n className: '',\n reportSubmit: false\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","import classNames from 'classnames'\nimport _chunk from 'lodash/chunk'\nimport PropTypes, { InferProps } 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\nexport default class AtGrid extends React.Component<AtGridProps> {\n public static defaultProps: AtGridProps\n public static propTypes: InferProps<AtGridProps>\n\n private handleClick = (\n item: AtGridItem,\n index: number,\n row: number,\n event: CommonEvent\n ): void => {\n const { onClick, columnNum = 3 } = this.props\n if (typeof onClick === 'function') {\n const clickIndex = row * columnNum + index\n onClick(item, clickIndex, event)\n }\n }\n\n public render(): JSX.Element | null {\n const { data, mode, columnNum = 3, hasBorder } = this.props\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', this.props.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={this.handleClick.bind(this, childItem, index, i)}\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 [`${\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'>\n {childItem.value}\n </Text>\n </View>\n </View>\n </View>\n ))}\n </View>\n ))}\n </View>\n )\n }\n}\n\nAtGrid.defaultProps = {\n data: [],\n columnNum: 3,\n mode: 'square',\n hasBorder: true\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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 class AtIcon extends React.Component<AtIconProps> {\n public static defaultProps: AtIconProps\n public static propTypes: InferProps<AtIconProps>\n\n private handleClick(): void {\n this.props.onClick && this.props.onClick(arguments as any)\n }\n\n public render(): JSX.Element {\n const {\n customStyle = {},\n className,\n prefixClass,\n value,\n size,\n color\n } = this.props\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={this.handleClick.bind(this)}\n ></Text>\n )\n }\n}\n\nAtIcon.defaultProps = {\n customStyle: '',\n className: '',\n prefixClass: 'at-icon',\n value: '',\n color: '',\n size: 24\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, { InferProps } from 'prop-types'\nimport React 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'\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\nexport default class AtInput extends React.Component<AtInputProps> {\n public static defaultProps: AtInputProps\n public static propTypes: InferProps<AtInputProps>\n // TODO: 有待考证是否为合理方式处理 #840\n private inputClearing = false\n\n private handleInput = (event: BaseEventOrig<InputEventDetail>): void =>\n this.props.onChange?.(event.detail.value, event)\n\n private handleFocus = (event: BaseEventOrig<FocusEventDetail>): void => {\n if (typeof this.props.onFocus === 'function') {\n this.props.onFocus(event.detail.value, event)\n }\n }\n\n private handleBlur = (event: BaseEventOrig<BlurEventDetail>): void => {\n if (typeof this.props.onBlur === 'function') {\n this.props.onBlur(event.detail.value, event)\n }\n if (event.type === 'blur' && !this.inputClearing) {\n // fix # 583 AtInput 不触发 onChange 的问题\n this.props.onChange?.(\n event.detail.value,\n event as BaseEventOrig<InputEventDetail>\n )\n }\n // 还原状态\n this.inputClearing = false\n }\n\n private handleConfirm = (event: BaseEventOrig<ConfirmEventDetail>): void => {\n if (typeof this.props.onConfirm === 'function') {\n this.props.onConfirm(event.detail.value, event)\n }\n }\n\n private handleClick = (event: ITouchEvent): void => {\n if (!this.props.editable && typeof this.props.onClick === 'function') {\n this.props.onClick(event)\n }\n }\n\n private handleClearValue = (event: ITouchEvent): void => {\n this.inputClearing = true\n this.props.onChange?.('', event)\n }\n\n private handleKeyboardHeightChange = (\n event: BaseEventOrig<KeyboardHeightEventDetail>\n ): void => {\n if (typeof this.props.onKeyboardHeightChange === 'function') {\n this.props.onKeyboardHeightChange(event)\n }\n }\n\n private handleErrorClick = (event: ITouchEvent): void => {\n if (typeof this.props.onErrorClick === 'function') {\n this.props.onErrorClick(event)\n }\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n name,\n cursorSpacing,\n confirmType,\n cursor,\n selectionStart,\n selectionEnd,\n adjustPosition,\n border,\n title,\n error,\n clear,\n placeholder,\n placeholderStyle,\n placeholderClass,\n autoFocus = false,\n focus = false,\n value,\n required\n } = this.props\n const { type, maxLength, disabled, password } = getInputProps(this.props)\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': disabled\n })\n // TODO: overlayCls 是否需要移除\n const overlayCls = classNames('at-input__overlay', {\n 'at-input__overlay--hidden': !disabled\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={this.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={type}\n disabled={disabled}\n password={password}\n placeholderStyle={placeholderStyle}\n placeholderClass={placeholderCls}\n placeholder={placeholder}\n cursorSpacing={cursorSpacing}\n maxlength={maxLength}\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={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onConfirm={this.handleConfirm}\n onKeyboardHeightChange={this.handleKeyboardHeightChange}\n />\n {clear && value && (\n <View className='at-input__icon' onTouchEnd={this.handleClearValue}>\n <Text className='at-icon at-icon-close-circle at-input__icon-close'></Text>\n </View>\n )}\n {error && (\n <View\n className='at-input__icon'\n onTouchStart={this.handleErrorClick}\n >\n <Text className='at-icon at-icon-alert-circle at-input__icon-alert'></Text>\n </View>\n )}\n <View className='at-input__children'>{this.props.children}</View>\n </View>\n </View>\n )\n }\n}\n\nAtInput.defaultProps = {\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 maxlength: 140,\n maxLength: 140,\n type: 'text',\n disabled: false,\n border: true,\n editable: true,\n error: false,\n clear: false,\n autoFocus: false,\n focus: false,\n required: false,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\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","import classNames from 'classnames'\nimport _toString from 'lodash/toString'\nimport PropTypes, { InferProps } 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 { 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\nexport default class AtInputNumber extends React.Component<AtInputNumberProps> {\n public static defaultProps: AtInputNumberProps\n public static propTypes: InferProps<AtInputNumberProps>\n\n private handleClick(clickType: 'minus' | 'plus', e: CommonEvent): void {\n const { disabled, value, min = 0, max = 100, step = 1 } = this.props\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 this.handleError({\n type: 'DISABLED',\n errorValue\n })\n } else {\n this.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(this.handleValue(newValue))\n this.props.onChange(newValue, e)\n }\n\n private handleValue = (value: string | number): string => {\n const { max = 100, min = 0 } = this.props\n let resultValue = value === '' ? min : value\n // 此处不能使用 Math.max,会是字符串变数字,并丢失 .\n if (Number(resultValue) > max) {\n resultValue = max\n this.handleError({\n type: 'OVER',\n errorValue: resultValue\n })\n }\n if (Number(resultValue) < min) {\n resultValue = min\n this.handleError({\n type: 'LOW',\n errorValue: resultValue\n })\n }\n if (resultValue && !Number(resultValue)) {\n resultValue = parseFloat(String(resultValue)) || min\n\n this.handleError({\n type: 'OVER',\n errorValue: resultValue\n })\n }\n\n resultValue = parseValue(String(resultValue))\n return resultValue\n }\n\n private handleInput = (e: CommonEvent & ExtendEvent): string => {\n const { value } = e.target\n const { disabled } = this.props\n if (disabled) return ''\n\n const newValue = this.handleValue(value)\n this.props.onChange(Number(newValue), e)\n return newValue\n }\n\n private handleBlur = (event: ITouchEvent): void =>\n this.props.onBlur && this.props.onBlur(event)\n\n private handleError = (errorValue: InputError): void => {\n if (!this.props.onErrorInput) {\n return\n }\n this.props.onErrorInput(errorValue)\n }\n\n public render(): JSX.Element {\n const {\n customStyle,\n className,\n width,\n disabled,\n value,\n type,\n min = 0,\n max = 100,\n size,\n disabledInput\n } = this.props\n\n const inputStyle = {\n width: width ? `${pxTransform(width)}` : ''\n }\n const inputValue =\n typeof value !== 'undefined' ? Number(this.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={this.handleClick.bind(this, 'minus')}\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={this.handleInput}\n onBlur={this.handleBlur}\n />\n <View\n className={plusBtnCls}\n onClick={this.handleClick.bind(this, 'plus')}\n >\n <Text className='at-icon at-icon-add at-input-number__btn-add'></Text>\n </View>\n </View>\n )\n }\n}\n\nAtInputNumber.defaultProps = {\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 // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Button, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtModalProps, AtModalState } from '../../../types/modal'\nimport { handleTouchScroll } from '../../common/utils'\nimport AtModalAction from './action/index'\nimport AtModalContent from './content/index'\nimport AtModalHeader from './header/index'\n\nexport default class AtModal extends React.Component<\n AtModalProps,\n AtModalState\n> {\n public static defaultProps: AtModalProps\n public static propTypes: InferProps<AtModalProps>\n\n public constructor(props: AtModalProps) {\n super(props)\n const { isOpened } = props\n this.state = {\n _isOpened: isOpened,\n isWEB: Taro.getEnv() === Taro.ENV_TYPE.WEB\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtModalProps): void {\n const { isOpened } = nextProps\n\n if (this.props.isOpened !== isOpened) {\n handleTouchScroll(isOpened)\n }\n\n if (isOpened !== this.state._isOpened) {\n this.setState({\n _isOpened: isOpened\n })\n }\n }\n\n private handleClickOverlay = (): void => {\n if (this.props.closeOnClickOverlay) {\n this.setState(\n {\n _isOpened: false\n },\n this.handleClose\n )\n }\n }\n\n private handleClose = (event?: CommonEvent): void => {\n if (typeof this.props.onClose === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.props.onClose(event!)\n }\n }\n\n private handleCancel = (event: CommonEvent): void => {\n if (typeof this.props.onCancel === 'function') {\n this.props.onCancel(event)\n }\n }\n\n private handleConfirm = (event: CommonEvent): void => {\n if (typeof this.props.onConfirm === 'function') {\n this.props.onConfirm(event)\n }\n }\n\n private handleTouchMove = (e: CommonEvent): void => {\n e.stopPropagation()\n }\n\n public render(): JSX.Element {\n const { _isOpened, isWEB } = this.state\n const { title, content, cancelText, confirmText } = this.props\n const rootClass = classNames(\n 'at-modal',\n {\n 'at-modal--active': _isOpened\n },\n this.props.className\n )\n\n if (title || content) {\n const isRenderAction = cancelText || confirmText\n return (\n <View className={rootClass}>\n <View\n onClick={this.handleClickOverlay}\n className='at-modal__overlay'\n />\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={this.handleCancel}>{cancelText}</Button>\n )}\n {confirmText && (\n <Button onClick={this.handleConfirm}>{confirmText}</Button>\n )}\n </AtModalAction>\n )}\n </View>\n </View>\n )\n }\n\n return (\n <View onTouchMove={this.handleTouchMove} className={rootClass}>\n <View className='at-modal__overlay' onClick={this.handleClickOverlay} />\n <View className='at-modal__container'>{this.props.children}</View>\n </View>\n )\n }\n}\n\nAtModal.defaultProps = {\n isOpened: false,\n closeOnClickOverlay: true\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtModalActionProps } from '../../../../types/modal'\n\nexport default class AtModalAction extends React.Component<AtModalActionProps> {\n public static defaultProps: AtModalActionProps\n public static propTypes: InferProps<AtModalActionProps>\n\n public render(): JSX.Element {\n const rootClass = classNames(\n 'at-modal__footer',\n {\n 'at-modal__footer--simple': this.props.isSimple\n },\n this.props.className\n )\n\n return (\n <View className={rootClass}>\n <View className='at-modal__action'>{this.props.children}</View>\n </View>\n )\n }\n}\n\nAtModalAction.defaultProps = {\n isSimple: false\n}\n\nAtModalAction.propTypes = {\n isSimple: PropTypes.bool\n}\n","import classNames from 'classnames'\nimport React from 'react'\nimport { ScrollView } from '@tarojs/components'\nimport { AtModalContentProps } from '../../../../types/modal'\n\nexport default class AtModalContent extends React.Component<AtModalContentProps> {\n public render(): JSX.Element {\n const rootClass = classNames('at-modal__content', this.props.className)\n return (\n <ScrollView scrollY className={rootClass}>\n {this.props.children}\n </ScrollView>\n )\n }\n}\n","import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtModalHeaderProps } from '../../../../types/modal'\n\nexport default class AtModalHeader extends React.Component<AtModalHeaderProps> {\n public render(): JSX.Element {\n const rootClass = classNames('at-modal__header', this.props.className)\n return <View className={rootClass}>{this.props.children}</View>\n }\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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\nexport default class AtNavBar extends React.Component<AtNavBarProps> {\n public static defaultProps: AtNavBarProps\n public static propTypes: InferProps<AtNavBarProps>\n\n private handleClickLeftView(event: ITouchEvent): void {\n this.props.onClickLeftIcon && this.props.onClickLeftIcon(event)\n }\n\n private handleClickSt(event: ITouchEvent): void {\n this.props.onClickRgIconSt && this.props.onClickRgIconSt(event)\n }\n\n private handleClickNd(event: ITouchEvent): void {\n this.props.onClickRgIconNd && this.props.onClickRgIconNd(event)\n }\n\n private handleClickTitle(event: ITouchEvent): void {\n this.props.onClickTitle && this.props.onClickTitle(event)\n }\n\n public render(): JSX.Element {\n const {\n customStyle,\n className,\n color,\n fixed,\n border,\n leftIconType,\n leftText,\n title,\n rightFirstIconType,\n rightSecondIconType\n } = this.props\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}`]:\n 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={this.handleClickLeftView.bind(this)}\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\n className='at-nav-bar__title'\n onClick={this.handleClickTitle.bind(this)}\n >\n {title || this.props.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={this.handleClickNd.bind(this)}\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={this.handleClickSt.bind(this)}\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}\n\nAtNavBar.defaultProps = {\n customStyle: '',\n className: '',\n fixed: false,\n border: true,\n color: '',\n leftIconType: '',\n leftText: '',\n title: '',\n rightFirstIconType: '',\n rightSecondIconType: ''\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtNoticeBarProps, AtNoticeBarState } from '../../../types/noticebar'\n\nexport default class AtNoticebar extends React.Component<\n AtNoticeBarProps,\n AtNoticeBarState\n> {\n public static defaultProps: AtNoticeBarProps\n public static propTypes: InferProps<AtNoticeBarProps>\n\n private timeout: ReturnType<typeof setTimeout> | null\n private interval: ReturnType<typeof setInterval> | null\n\n public constructor(props: AtNoticeBarProps) {\n super(props)\n const animElemId = `J_${Math.ceil(Math.random() * 10e5).toString(36)}`\n this.state = {\n show: true,\n animElemId,\n animationData: {\n actions: [{}]\n },\n dura: 0,\n isWEAPP: Taro.getEnv() === Taro.ENV_TYPE.WEAPP,\n isALIPAY: Taro.getEnv() === Taro.ENV_TYPE.ALIPAY,\n isWEB: Taro.getEnv() === Taro.ENV_TYPE.WEB\n }\n }\n\n private onClose(event: CommonEvent): void {\n this.setState({\n show: false\n })\n this.props.onClose && this.props.onClose(event)\n }\n\n private onGotoMore(event: CommonEvent): void {\n this.props.onGotoMore && this.props.onGotoMore(event)\n }\n\n public UNSAFE_componentWillReceiveProps(): void {\n if (!this.timeout) {\n this.interval && clearInterval(this.interval)\n this.initAnimation()\n }\n }\n\n public componentDidMount(): void {\n if (!this.props.marquee) return\n this.initAnimation()\n }\n\n private initAnimation(): void {\n const { isWEAPP, isALIPAY } = this.state\n this.timeout = setTimeout(() => {\n this.timeout = null\n if (this.state.isWEB) {\n const { speed = 100 } = this.props\n const elem = document.querySelector(`.${this.state.animElemId}`)\n if (!elem) return\n const width = elem.getBoundingClientRect().width\n const dura = width / +speed\n this.setState({ dura })\n } else if (isWEAPP || isALIPAY) {\n const query = Taro.createSelectorQuery()\n query\n .select(`.${this.state.animElemId}`)\n .boundingClientRect()\n .exec(res => {\n const queryRes = res[0]\n if (!queryRes) return\n const { width } = queryRes\n const { speed = 100 } = this.props\n const dura = width / +speed\n const animation = Taro.createAnimation({\n duration: dura * 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 this.setState({ animationData: resetOpacityAnimation.export() })\n\n setTimeout(() => {\n resetAnimation.translateX(0).step()\n this.setState({ animationData: resetAnimation.export() })\n }, 300)\n\n setTimeout(() => {\n resetOpacityAnimation.opacity(1).step()\n this.setState({ animationData: resetOpacityAnimation.export() })\n }, 600)\n\n setTimeout(() => {\n animation.translateX(-width).step()\n this.setState({ animationData: animation.export() })\n }, 900)\n }\n animBody()\n this.interval = setInterval(animBody, dura * 1000 + 1000)\n })\n }\n }, 1000)\n }\n\n public render(): JSX.Element | boolean {\n const {\n single,\n icon,\n marquee,\n customStyle,\n className,\n moreText = '查看详情'\n } = this.props\n let { showMore, close } = this.props\n const { dura, show, animElemId, animationData, isWEAPP, isALIPAY } =\n this.state\n const rootClassName = ['at-noticebar']\n\n if (!single) showMore = false\n\n const style = {}\n const innerClassName = ['at-noticebar__content-inner']\n if (marquee) {\n close = 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(rootClassName, classObject, className)}\n style={customStyle}\n >\n {close && (\n <View\n className='at-noticebar__close'\n onClick={this.onClose.bind(this)}\n >\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 {/* start hack 百度小程序 */}\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 {this.props.children}\n </View>\n </View>\n </View>\n {showMore && (\n <View\n className='at-noticebar__more'\n onClick={this.onGotoMore.bind(this)}\n >\n <Text className='text'>{moreText}</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}\n\nAtNoticebar.defaultProps = {\n close: false,\n single: false,\n marquee: false,\n speed: 100,\n moreText: '查看详情',\n showMore: false,\n icon: '',\n customStyle: {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtPaginationProps, AtPaginationState } 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\nexport default class AtPagination extends React.Component<\n AtPaginationProps,\n AtPaginationState\n> {\n public static defaultProps: AtPaginationProps\n public static propTypes: InferProps<AtPaginationProps>\n\n public constructor(props: AtPaginationProps) {\n super(props)\n const { current, pageSize = 20, total } = this.props\n const maxPage = getMaxPage(Math.ceil(total / pageSize))\n this.state = {\n currentPage: current || 1,\n maxPage,\n pickerRange: createPickerRange(maxPage)\n }\n }\n\n private onPrev(): void {\n let { currentPage } = this.state\n const originCur = currentPage\n currentPage -= 1\n currentPage = Math.max(1, currentPage)\n if (originCur === currentPage) return\n this.props.onPageChange &&\n this.props.onPageChange({ type: 'prev', current: currentPage })\n this.setState({ currentPage })\n }\n\n private onNext(): void {\n let { currentPage } = this.state\n const originCur = currentPage\n const { maxPage } = this.state\n currentPage += 1\n currentPage = Math.min(maxPage, currentPage)\n if (originCur === currentPage) return\n this.props.onPageChange &&\n this.props.onPageChange({ type: 'next', current: currentPage })\n this.setState({ currentPage })\n }\n\n public UNSAFE_componentWillReceiveProps(props: AtPaginationProps): void {\n const { total, pageSize = 20, current } = props\n const maxPage = getMaxPage(Math.ceil(total / pageSize))\n if (maxPage !== this.state.maxPage) {\n this.setState({\n maxPage,\n pickerRange: createPickerRange(maxPage)\n })\n }\n if (typeof current === 'number' && current !== this.state.currentPage) {\n this.setState({ currentPage: current })\n }\n }\n\n // onPickerChange (evt) {\n // const { value } = evt.detail\n // const current = +value + 1\n // if (current === this.state.currentPage) return\n // this.props.onPageChange && this.props.onPageChange({ type: 'pick', current })\n // this.setState({\n // currentPage: current,\n // })\n // }\n\n public render(): JSX.Element {\n const {\n icon,\n // pickerSelect,\n customStyle\n } = this.props\n const {\n currentPage,\n maxPage\n // pickerRange,\n } = this.state\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, this.props.className)}\n style={customStyle}\n >\n <View className='at-pagination__btn-prev'>\n {icon && (\n <AtButton\n onClick={this.onPrev.bind(this)}\n size='small'\n disabled={prevDisabled}\n >\n <Text className='at-icon at-icon-chevron-left'></Text>\n </AtButton>\n )}\n {!icon && (\n <AtButton\n onClick={this.onPrev.bind(this)}\n size='small'\n disabled={prevDisabled}\n >\n 上一页\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\n onClick={this.onNext.bind(this)}\n size='small'\n disabled={nextDisabled}\n >\n <Text className='at-icon at-icon-chevron-right'></Text>\n </AtButton>\n )}\n {!icon && (\n <AtButton\n onClick={this.onNext.bind(this)}\n size='small'\n disabled={nextDisabled}\n >\n 下一页\n </AtButton>\n )}\n </View>\n {/* {pickerSelect && <View className='at-pagination__number'>\n {<Picker mode='selector' range={pickerRange} value={currentPage - 1} onChange={this.onPickerChange.bind(this)}>\n <Text className='at-pagination__number-current'>{currentPage}</Text>/{ maxPage }\n </Picker>}\n </View>} */}\n {/* {!pickerSelect && <View className='at-pagination__number'>\n <Text className='at-pagination__number-current'>{currentPage}</Text>/{ maxPage }\n </View>} */}\n </View>\n )\n }\n}\n\nAtPagination.defaultProps = {\n current: 1,\n total: 0,\n pageSize: 20,\n icon: false,\n customStyle: {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtProgressProps } from '../../../types/progress'\n\nexport default class AtProgress extends React.Component<AtProgressProps> {\n public static propTypes: InferProps<AtProgressProps>\n\n public render(): JSX.Element {\n const { color } = this.props\n let { percent } = this.props\n const { strokeWidth, status, isHidePercent } = this.props\n\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 this.props.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}\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, { InferProps } 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'\n\nexport default class AtRadio extends React.Component<AtRadioProps<any>> {\n public static defaultProps: AtRadioProps<any>\n public static propTypes: InferProps<AtRadioProps<any>>\n\n private handleClick(option: RadioOption<any>, event: CommonEvent): void {\n if (option.disabled) return\n this.props.onClick(option.value, event)\n }\n\n public render(): JSX.Element {\n const { customStyle, className, options, value } = this.props\n\n return (\n <View className={classNames('at-radio', className)} style={customStyle}>\n {options.map(option => (\n <View\n key={option.value}\n onClick={this.handleClick.bind(this, option)}\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}\n\nAtRadio.defaultProps = {\n customStyle: '',\n className: '',\n value: '',\n options: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtRateProps } from '../../../types/rate'\nimport { pxTransform } from '../../common/utils'\n\nexport default class AtRate extends React.Component<AtRateProps> {\n public static defaultProps: AtRateProps\n public static propTypes: InferProps<AtRateProps>\n\n private handleClick(event: CommonEvent): void {\n this.props.onChange && this.props.onChange(event)\n }\n\n public render(): JSX.Element {\n const {\n customStyle,\n className,\n value = 0,\n max = 5,\n size,\n margin = 5\n } = this.props\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={this.handleClick.bind(this, i + 1)}\n >\n <Text\n className='at-icon at-icon-star-2'\n style={starIconStyle}\n ></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}\n\nAtRate.defaultProps = {\n customStyle: '',\n className: '',\n size: 0,\n value: 0,\n max: 5,\n margin: 5\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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, pxTransform } from '../../common/utils'\n\nexport default class AtSegmentedControl extends React.Component<AtSegmentedControlProps> {\n public static defaultProps: AtSegmentedControlProps\n public static propTypes: InferProps<AtSegmentedControlProps>\n\n private handleClick(index: number, event: CommonEvent): void {\n if (this.props.disabled) return\n this.props.onClick(index, event)\n }\n\n public render(): JSX.Element {\n const {\n customStyle = '',\n className,\n disabled,\n values,\n selectedColor,\n current,\n color,\n fontSize = 28\n } = this.props\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={this.handleClick.bind(this, i)}\n >\n {value}\n </View>\n ))}\n </View>\n )\n }\n}\n\nAtSegmentedControl.defaultProps = {\n customStyle: '',\n className: '',\n current: 0,\n color: '',\n fontSize: 28,\n disabled: false,\n selectedColor: '',\n values: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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\nexport default class AtSwitch extends React.Component<AtSwitchProps> {\n public static defaultProps: AtSwitchProps\n public static propTypes: InferProps<AtSwitchProps>\n\n private handleChange = (event: CommonEvent): void => {\n const { value, checked } = event.detail\n const state = typeof value === 'undefined' ? checked : value\n this.props.onChange && this.props.onChange(state)\n }\n\n public render(): JSX.Element {\n const { customStyle, className, disabled, border, title, checked, color } =\n this.props\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={this.handleChange}\n />\n </View>\n </View>\n )\n }\n}\n\nAtSwitch.defaultProps = {\n customStyle: '',\n className: '',\n title: '',\n color: '#6190e8',\n border: true,\n disabled: false,\n checked: false\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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\nexport default class AtTabBar extends React.Component<AtTabBarProps> {\n public static defaultProps: AtTabBarProps\n public static propTypes: InferProps<AtTabBarProps>\n\n // constructor () {\n // super(...arguments)\n // this.state = {\n // isIPhoneX: false\n // }\n // }\n\n // componentDidMount () {\n // const curEnv = Taro.getEnv()\n\n // if (\n // curEnv === Taro.ENV_TYPE.WEAPP &&\n // Taro.getSystemInfoSync().model.indexOf('iPhone X') >= 0\n // ) {\n // this.setState({ isIPhoneX: true })\n // }\n // }\n\n private handleClick(index: number, event: CommonEvent): void {\n this.props.onClick(index, event)\n }\n\n public render(): JSX.Element {\n const {\n customStyle = '',\n className,\n fixed,\n backgroundColor,\n tabList,\n current,\n color,\n iconSize,\n fontSize,\n selectedColor\n } = this.props\n // const { isIPhoneX } = this.state\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 // 'at-tab-bar--ipx': isIPhoneX\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={this.handleClick.bind(this, i)}\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'}-${\n 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}\n\nAtTabBar.defaultProps = {\n customStyle: '',\n className: '',\n fixed: false,\n current: 0,\n tabList: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { ScrollView, View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport Taro from '@tarojs/taro'\nimport { AtTabsProps, AtTabsState } from '../../../types/tabs'\nimport { isTest, mergeStyle, uuid } from '../../common/utils'\n\nconst ENV = Taro.getEnv()\nconst MIN_DISTANCE = 100\nconst MAX_INTERVAL = 10\n\nexport default class AtTabs extends React.Component<AtTabsProps, AtTabsState> {\n public static defaultProps: AtTabsProps\n public static propTypes: InferProps<AtTabsProps>\n\n private _tabId: string\n private _touchDot: number\n private _timer: ReturnType<typeof setInterval> | null\n private _interval: number\n private _isMoving: boolean\n private tabHeaderRef: any\n\n public constructor(props: AtTabsProps) {\n super(props)\n this.state = {\n _scrollLeft: 0,\n _scrollTop: 0,\n _scrollIntoView: ''\n }\n this._tabId = isTest() ? 'tabs-AOTU2018' : uuid()\n // 触摸时的原点\n this._touchDot = 0\n // 定时器\n this._timer = null\n // 滑动时间间隔\n this._interval = 0\n // 是否已经在滑动\n this._isMoving = false\n }\n\n private updateState = (idx: number): void => {\n if (this.props.scroll) {\n // 标签栏滚动\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 this.setState({\n _scrollIntoView: `tab${this._tabId}${index}`\n })\n break\n }\n case Taro.ENV_TYPE.WEB: {\n const index = Math.max(idx - 1, 0)\n const prevTabItem = this.tabHeaderRef.children[index]\n prevTabItem &&\n this.setState({\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 private handleClick(index: number, event: CommonEvent): void {\n this.props.onClick(index, event)\n }\n\n private handleTouchStart(e: ITouchEvent): void {\n const { swipeable, tabDirection } = this.props\n if (!swipeable || tabDirection === 'vertical') return\n // 获取触摸时的原点\n this._touchDot = e.touches[0].pageX\n // 使用js计时器记录时间\n this._timer = setInterval(() => {\n this._interval++\n }, 100)\n }\n\n private handleTouchMove(e: ITouchEvent): void {\n const { swipeable, tabDirection, current, tabList } = this.props\n if (!swipeable || tabDirection === 'vertical') return\n\n const touchMove = e.touches[0].pageX\n const moveDistance = touchMove - this._touchDot\n const maxIndex = tabList.length\n\n if (\n !this._isMoving &&\n this._interval < MAX_INTERVAL &&\n this._touchDot > 20\n ) {\n // 向左滑动\n if (current + 1 < maxIndex && moveDistance <= -MIN_DISTANCE) {\n this._isMoving = true\n this.handleClick(current + 1, e)\n\n // 向右滑动\n } else if (current - 1 >= 0 && moveDistance >= MIN_DISTANCE) {\n this._isMoving = true\n this.handleClick(current - 1, e)\n }\n }\n }\n\n private handleTouchEnd(): void {\n const { swipeable, tabDirection } = this.props\n if (!swipeable || tabDirection === 'vertical') return\n\n this._timer && clearInterval(this._timer)\n this._interval = 0\n this._isMoving = false\n }\n\n private getTabHeaderRef(): void {\n if (ENV === Taro.ENV_TYPE.WEB) {\n this.tabHeaderRef = document.getElementById(this._tabId)\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtTabsProps): void {\n if (nextProps.scroll !== this.props.scroll) {\n this.getTabHeaderRef()\n }\n if (nextProps.current !== this.props.current) {\n this.updateState(nextProps.current)\n }\n }\n\n public componentDidMount(): void {\n this.getTabHeaderRef()\n this.updateState(this.props.current)\n }\n\n public componentWillUnmount(): void {\n this.tabHeaderRef = null\n }\n\n public render(): JSX.Element {\n const {\n customStyle = '',\n className,\n height,\n tabDirection,\n animated,\n tabList,\n scroll,\n current\n } = this.props\n const { _scrollLeft, _scrollTop, _scrollIntoView } = this.state\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${this._tabId}${idx}`}\n key={`at-tabs-item-${idx}`}\n onClick={this.handleClick.bind(this, idx)}\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={this._tabId}\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={this._tabId} className='at-tabs__header'>\n {tabItems}\n </View>\n )}\n <View\n className='at-tabs__body'\n onTouchStart={this.handleTouchStart.bind(this)}\n onTouchEnd={this.handleTouchEnd.bind(this)}\n onTouchMove={this.handleTouchMove.bind(this)}\n style={mergeStyle(bodyStyle, heightStyle)}\n >\n <View className='at-tabs__underline' style={underlineStyle}></View>\n {this.props.children}\n </View>\n </View>\n )\n }\n}\n\nAtTabs.defaultProps = {\n customStyle: '',\n className: '',\n tabDirection: 'horizontal',\n height: '',\n current: 0,\n swipeable: true,\n scroll: false,\n animated: true,\n tabList: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClick: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtTabsPaneProps } from '../../../types/tabs-pane'\n\nexport default class AtTabsPane extends React.Component<AtTabsPaneProps> {\n public static defaultProps: AtTabsPaneProps\n public static propTypes: InferProps<AtTabsPaneProps>\n\n public render(): JSX.Element {\n const { customStyle, className, tabDirection, index, current } = this.props\n\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 {this.props.children}\n </View>\n )\n }\n}\n\nAtTabsPane.defaultProps = {\n customStyle: '',\n className: '',\n tabDirection: 'horizontal',\n index: 0,\n current: 0\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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 class AtTag extends React.Component<AtTagProps> {\n public static defaultProps: AtTagProps\n public static propTypes: InferProps<AtTagProps>\n\n private onClick(event: CommonEvent): void {\n const { name = '', active = false, disabled, onClick } = this.props\n if (!disabled) {\n typeof onClick === 'function' &&\n onClick(\n {\n name,\n active\n },\n event\n )\n }\n }\n\n public render(): JSX.Element {\n const {\n size = 'normal',\n type = '',\n circle = false,\n disabled = false,\n active = false,\n customStyle\n } = this.props\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, this.props.className)}\n style={customStyle}\n onClick={this.onClick.bind(this)}\n >\n {this.props.children}\n </View>\n )\n }\n}\n\nAtTag.defaultProps = {\n size: 'normal',\n type: '',\n name: '',\n circle: false,\n active: false,\n disabled: false,\n customStyle: {}\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, { InferProps } 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 { 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\nconst ENV = Taro.getEnv()\n\nexport default class AtTextarea extends React.Component<AtTextareaProps> {\n public static defaultProps: AtTextareaProps\n public static propTypes: InferProps<AtTextareaProps>\n\n private handleInput = (event: CommonEvent & ExtendEvent): void => {\n this.props.onChange(event.detail.value, event)\n }\n\n private handleFocus = (event: CommonEvent): void => {\n this.props.onFocus && this.props.onFocus(event)\n }\n\n private handleBlur = (event: CommonEvent): void => {\n this.props.onBlur && this.props.onBlur(event)\n }\n\n private handleConfirm = (event: CommonEvent): void => {\n this.props.onConfirm && this.props.onConfirm(event)\n }\n\n private handleLinechange = (event: CommonEvent): void => {\n this.props.onLinechange && this.props.onLinechange(event)\n }\n\n public render(): JSX.Element {\n const {\n customStyle,\n className,\n value,\n cursorSpacing,\n placeholder,\n placeholderStyle,\n placeholderClass,\n maxLength = 200,\n count,\n disabled,\n autoFocus,\n focus,\n showConfirmBar,\n selectionStart,\n selectionEnd,\n fixed,\n textOverflowForbidden = true,\n height\n } = this.props\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={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onConfirm={this.handleConfirm}\n onLineChange={this.handleLinechange}\n />\n {count && (\n <View className='at-textarea__counter'>\n {(value || '').length}/{_maxLength}\n </View>\n )}\n </View>\n )\n }\n}\n\nAtTextarea.defaultProps = {\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 // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtTimelineProps } from '../../../types/timeline'\n\nexport default class AtTimeline extends React.Component<AtTimelineProps> {\n public static defaultProps: AtTimelineProps\n public static propTypes: InferProps<AtTimelineProps>\n\n public render(): JSX.Element {\n const { pending, items, customStyle, onClickItem } = this.props\n\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 = (index, e) => {\n onClickItem?.(index, 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(\n rootClassName,\n rootClassObject,\n this.props.className\n )}\n style={customStyle}\n >\n {itemElems}\n </View>\n )\n }\n}\n\nAtTimeline.defaultProps = {\n pending: false,\n items: [],\n customStyle: {}\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, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Image, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtToastProps, AtToastState } from '../../../types/toast'\nimport statusImg from './img.json'\n\nexport default class AtToast extends React.Component<\n AtToastProps,\n AtToastState\n> {\n public static defaultProps: AtToastProps\n public static propTypes: InferProps<AtToastProps>\n\n private _timer: ReturnType<typeof setTimeout> | null\n\n public constructor(props: AtToastProps) {\n super(props)\n const { isOpened, duration } = props\n if (isOpened) {\n this.makeTimer(duration || 0)\n }\n this._timer = null\n this.state = {\n _isOpened: isOpened\n }\n }\n\n private clearTimmer(): void {\n if (this._timer) {\n clearTimeout(this._timer)\n this._timer = null\n }\n }\n\n private makeTimer(duration: number): void {\n if (duration === 0) {\n return\n }\n this._timer = setTimeout(() => {\n this.close()\n }, +duration)\n }\n\n private close(): void {\n const { _isOpened } = this.state\n if (_isOpened) {\n this.setState(\n {\n _isOpened: false\n },\n this.handleClose // TODO: Fix dirty hack\n )\n this.clearTimmer()\n }\n }\n\n private handleClose(event?: CommonEvent): void {\n // TODO: Fix dirty hack\n if (typeof this.props.onClose === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.props.onClose(event!)\n }\n }\n\n private handleClick = (event: CommonEvent): void => {\n const { onClick, status } = this.props\n if (status === 'loading') {\n return\n }\n if (onClick) {\n return onClick(event)\n }\n this.close()\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtToastProps): void {\n const { isOpened, duration } = nextProps\n if (!isOpened) {\n this.close()\n return\n }\n\n if (!this.state._isOpened) {\n this.setState({\n _isOpened: true\n })\n } else {\n this.clearTimmer()\n }\n this.makeTimer(duration || 0)\n }\n\n public render(): JSX.Element | null {\n const { _isOpened } = this.state\n const { customStyle, text, icon, status, image, hasMask } = this.props\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', this.props.className)}>\n {hasMask && <View className='at-toast__overlay' />}\n <View\n className={bodyClass}\n style={customStyle}\n onClick={this.handleClick}\n >\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}\n\nAtToast.defaultProps = {\n duration: 3000,\n isOpened: false\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","{\n \"error\":\n \"data:image/png;base64,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\",\n \"success\":\n \"data:image/png;base64,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\",\n \"loading\":\n \"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, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtAccordionProps, AtAccordionState } from '../../../types/accordion'\nimport { delayQuerySelector, uuid } from '../../common/utils'\n\nexport default class AtAccordion extends React.Component<\n AtAccordionProps,\n AtAccordionState\n> {\n private isCompleted: boolean\n private startOpen: boolean\n\n public static defaultProps: AtAccordionProps\n public static propTypes: InferProps<AtAccordionProps>\n\n public constructor(props: AtAccordionProps) {\n super(props)\n this.isCompleted = true\n this.startOpen = false\n this.state = {\n componentId: uuid(),\n wrapperHeight: 0\n }\n }\n\n private handleClick = (event: CommonEvent): void => {\n const { open } = this.props\n if (!this.isCompleted) return\n\n this.props.onClick && this.props.onClick(!open, event)\n }\n\n private toggleWithAnimation(): void {\n const { open, isAnimation } = this.props\n const { componentId } = this.state\n if (!this.isCompleted || !isAnimation) return\n\n this.isCompleted = false\n\n delayQuerySelector(`#at-accordion__body-${componentId}`, 0).then(rect => {\n const height = parseInt(rect[0].height.toString())\n const startHeight = open ? height : 0\n const endHeight = open ? 0 : height\n this.startOpen = false\n this.setState(\n {\n wrapperHeight: startHeight\n },\n () => {\n setTimeout(() => {\n this.setState(\n {\n wrapperHeight: endHeight\n },\n () => {\n setTimeout(() => {\n this.isCompleted = true\n this.setState({})\n }, 700)\n }\n )\n }, 100)\n }\n )\n })\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtAccordionProps): void {\n if (nextProps.open !== this.props.open) {\n this.startOpen = !!nextProps.open && !!nextProps.isAnimation\n this.toggleWithAnimation()\n }\n }\n\n public render(): JSX.Element {\n const { customStyle, className, title, icon, hasBorder, open, note } =\n this.props\n const { wrapperHeight } = this.state\n\n const rootCls = classNames('at-accordion', className)\n const prefixClass = (icon && icon.prefixClass) || 'at-icon'\n const iconCls = classNames({\n [prefixClass]: true,\n [`${prefixClass}-${icon && icon.value}`]: icon && icon.value,\n 'at-accordion__icon': true\n })\n const headerCls = classNames('at-accordion__header', {\n 'at-accordion__header--noborder': !hasBorder\n })\n const arrowCls = classNames('at-accordion__arrow', {\n 'at-accordion__arrow--folded': !!open\n })\n const contentCls = classNames('at-accordion__content', {\n 'at-accordion__content--inactive':\n (!open && this.isCompleted) || this.startOpen\n })\n const iconStyle = {\n color: (icon && icon.color) || '',\n fontSize: (icon && `${icon.size}px`) || ''\n }\n const contentStyle = { height: `${wrapperHeight}px` }\n\n if (this.isCompleted) {\n contentStyle.height = ''\n }\n\n const { componentId } = this.state\n\n return (\n <View className={rootCls} style={customStyle}>\n <View className={headerCls} onClick={this.handleClick}>\n {icon && icon.value && (\n <Text className={iconCls} style={iconStyle}></Text>\n )}\n <View className='at-accordion__info'>\n <View className='at-accordion__info__title'>{title}</View>\n <View className='at-accordion__info__note'>{note}</View>\n </View>\n <View className={arrowCls}>\n <Text className='at-icon at-icon-chevron-down'></Text>\n </View>\n </View>\n <View style={contentStyle} className={contentCls}>\n <View\n id={`at-accordion__body-${componentId}`}\n className='at-accordion__body'\n >\n {this.props.children}\n </View>\n </View>\n </View>\n )\n }\n}\n\nAtAccordion.defaultProps = {\n open: false,\n customStyle: '',\n className: '',\n title: '',\n note: '',\n icon: { value: '' },\n hasBorder: true,\n isAnimation: true\n}\n\nAtAccordion.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n open: PropTypes.bool,\n isAnimation: PropTypes.bool,\n title: PropTypes.string,\n note: PropTypes.string,\n icon: PropTypes.object,\n hasBorder: PropTypes.bool,\n onClick: PropTypes.func\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Slider, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtSliderProps, AtSliderState } from '../../../types/slider'\n\nexport default class AtSlider extends React.Component<\n AtSliderProps,\n AtSliderState\n> {\n public static defaultProps: AtSliderProps\n public static propTypes: InferProps<AtSliderProps>\n\n public constructor(props: AtSliderProps) {\n super(props)\n const { value = 0, min = 0, max = 100 } = props\n this.state = {\n _value: AtSlider.clampNumber(value, min, max)\n }\n }\n\n protected static clampNumber(\n value: number,\n lower: number,\n upper: number\n ): number {\n return Math.max(lower, Math.min(upper, value))\n }\n\n private handleChanging(e: CommonEvent): void {\n const { _value } = this.state\n const { value }: { value: number } = e.detail\n\n if (value !== _value) {\n this.setState({ _value: value })\n }\n this.props.onChanging && this.props.onChanging(value)\n }\n\n private handleChange(e: CommonEvent): void {\n const { value } = e.detail\n\n this.setState({ _value: value })\n this.props.onChange && this.props.onChange(value)\n }\n\n public UNSAFE_componentWillReceiveProps(props: AtSliderProps): void {\n const { value = 0, min = 0, max = 100 } = props\n this.setState({\n _value: AtSlider.clampNumber(value, min, max)\n })\n }\n\n public render(): JSX.Element {\n const { _value } = this.state\n const {\n customStyle,\n className,\n min,\n max,\n step,\n disabled,\n activeColor,\n backgroundColor,\n blockSize,\n blockColor,\n showValue\n } = this.props\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={this.handleChanging.bind(this)}\n onChange={this.handleChange.bind(this)}\n ></Slider>\n </View>\n {showValue && <View className='at-slider__text'>{`${_value}`}</View>}\n </View>\n )\n }\n}\n\nAtSlider.defaultProps = {\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}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React 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 default class AtSwipeAction extends React.Component<\n AtSwipeActionProps,\n AtSwipeActionState\n> {\n public static defaultProps: AtSwipeActionProps\n public static propTypes: InferProps<AtSwipeActionProps>\n\n private moveX: number\n\n public constructor(props: AtSwipeActionProps) {\n super(props)\n const { isOpened } = props\n this.state = {\n componentId: uuid(),\n // eslint-disable-next-line no-extra-boolean-cast\n offsetSize: 0,\n _isOpened: !!isOpened,\n needAnimation: false,\n eleWidth: 0,\n maxOffsetSize: 0\n }\n this.moveX = this.state.offsetSize\n }\n\n public componentDidMount(): void {\n this.getAreaWidth()\n }\n\n // 当 eleWidth 发生变化时,需要重新计算 maxOffsetSize\n public componentDidUpdate(_, prevState: AtSwipeActionState): void {\n const { eleWidth } = this.state\n if (prevState.eleWidth !== eleWidth) {\n this.getMaxOffsetSize()\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtSwipeActionProps): void {\n const { isOpened } = nextProps\n const { _isOpened, maxOffsetSize } = this.state\n\n if (isOpened !== _isOpened) {\n this.moveX = isOpened ? 0 : maxOffsetSize\n this._reset(!!isOpened) // TODO: Check behavior\n }\n }\n\n /**\n * 获取滑动区域宽度\n */\n private async getAreaWidth(): Promise<void> {\n const systemInfo = await Taro.getSystemInfo()\n this.setState({\n eleWidth: systemInfo.windowWidth\n })\n }\n\n /**\n * 获取最大偏移量\n */\n private async getMaxOffsetSize(): Promise<void> {\n const { componentId } = this.state\n\n const actionOptionsRect = await delayGetClientRect({\n selectorStr: `#swipeActionOptions-${componentId}`\n })\n\n const maxOffsetSize = actionOptionsRect[0].width\n\n this.setState({\n maxOffsetSize\n })\n }\n\n private _reset(isOpened: boolean): void {\n if (isOpened) {\n const { maxOffsetSize } = this.state\n if (process.env.TARO_ENV === 'jd') {\n this.setState({\n _isOpened: true,\n offsetSize: -maxOffsetSize + 0.01\n })\n } else {\n this.setState({\n _isOpened: true,\n offsetSize: -maxOffsetSize\n })\n }\n } else {\n this.setState(\n {\n offsetSize: this.moveX\n },\n () => {\n this.setState({\n offsetSize: 0,\n _isOpened: false\n })\n }\n )\n }\n }\n\n private handleOpened = (event: CommonEvent): void => {\n const { onOpened } = this.props\n if (typeof onOpened === 'function') {\n onOpened(event)\n }\n }\n\n private handleClosed = (event: CommonEvent): void => {\n const { onClosed } = this.props\n if (typeof onClosed === 'function') {\n onClosed(event)\n }\n }\n\n private handleClick = (\n item: SwipeActionOption,\n index: number,\n event: CommonEvent\n ): void => {\n const { onClick, autoClose } = this.props\n\n if (typeof onClick === 'function') {\n onClick(item, index, event)\n }\n if (autoClose) {\n this._reset(false) // TODO: Check behavior\n this.handleClosed(event)\n }\n }\n\n onTouchEnd = e => {\n const { maxOffsetSize } = this.state\n if (Math.abs(this.moveX) < maxOffsetSize / 2) {\n this._reset(false)\n this.handleClosed(e)\n } else {\n this._reset(true)\n this.handleOpened(e)\n }\n }\n\n onChange = e => {\n this.moveX = e.detail.x\n }\n\n public render(): JSX.Element {\n const { componentId, maxOffsetSize, eleWidth, offsetSize } = this.state\n\n const { options, disabled } = this.props\n const rootClass = classNames('at-swipe-action', this.props.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={this.onTouchEnd}\n onChange={this.onChange}\n disabled={disabled}\n style={{\n width: `${eleWidth + maxOffsetSize}px`\n }}\n >\n {this.props.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 => this.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\nAtSwipeAction.defaultProps = {\n options: [],\n isOpened: false,\n disabled: false,\n autoClose: false,\n maxDistance: 0,\n areaWidth: 0\n}\n\nAtSwipeAction.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","import classNames from 'classnames'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtSwipeActionOptionsProps } from '../../../../types/swipe-action'\n\nexport default class AtSwipeActionOptions extends React.Component<AtSwipeActionOptionsProps> {\n public render(): JSX.Element {\n const rootClass = classNames(\n 'at-swipe-action__options',\n this.props.className\n )\n\n return (\n <View\n id={`swipeActionOptions-${this.props.componentId}`}\n className={rootClass}\n style={this.props.customStyle}\n >\n {this.props.children}\n </View>\n )\n }\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Input, Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtSearchBarProps, AtSearchBarState } from '../../../types/search-bar'\n\ntype ExtendEvent = {\n target: {\n value: string\n }\n}\n\nexport default class AtSearchBar extends React.Component<\n AtSearchBarProps,\n AtSearchBarState\n> {\n public static defaultProps: AtSearchBarProps\n public static propTypes: InferProps<AtSearchBarProps>\n\n public constructor(props: AtSearchBarProps) {\n super(props)\n this.state = {\n isFocus: !!props.focus\n }\n }\n\n private handleFocus = (event: CommonEvent): void => {\n this.setState({\n isFocus: true\n })\n this.props.onFocus && this.props.onFocus(event)\n }\n\n private handleBlur = (event: CommonEvent): void => {\n this.setState({\n isFocus: false\n })\n this.props.onBlur && this.props.onBlur(event)\n }\n\n private handleChange = (e: CommonEvent & ExtendEvent): void => {\n this.props.onChange(e.detail.value, e)\n }\n\n private handleClear = (event: CommonEvent): void => {\n if (this.props.onClear) {\n this.props.onClear(event)\n } else {\n this.props.onChange('', event)\n }\n }\n\n private handleConfirm = (event: CommonEvent): void => {\n this.props.onConfirm && this.props.onConfirm(event)\n }\n\n private handleActionClick = (event: CommonEvent): void => {\n this.props.onActionClick && this.props.onActionClick(event)\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtSearchBarProps): void {\n if (nextProps.focus !== this.props.focus) {\n this.setState({ isFocus: !!nextProps.focus })\n }\n }\n\n public render(): JSX.Element {\n const {\n value,\n placeholder,\n maxLength,\n fixed,\n disabled,\n showActionButton,\n actionName = '搜索',\n inputType, // 处理issue#464\n className,\n customStyle,\n enableNative\n } = this.props\n const { isFocus } = this.state\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 (actionName.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\n className='at-search-bar__placeholder'\n style={placeholderStyle}\n >\n {isFocus ? '' : placeholder}\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={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onConfirm={this.handleConfirm}\n />\n <View\n className='at-search-bar__clear'\n style={clearIconStyle}\n onTouchStart={this.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={this.handleActionClick}\n >\n {actionName}\n </View>\n </View>\n )\n }\n}\n\nAtSearchBar.defaultProps = {\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 // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {},\n enableNative: true\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtLoadMoreProps } from '../../../types/load-more'\nimport AtActivityIndicator from '../activity-indicator/index'\nimport AtButton from '../button/index'\n\nexport default class AtLoadMore extends React.Component<AtLoadMoreProps> {\n public static defaultProps: AtLoadMoreProps\n public static propTypes: InferProps<AtLoadMoreProps>\n\n private onClick(): void {\n this.props.onClick && this.props.onClick(arguments as any)\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n loadingText,\n moreText,\n status,\n moreBtnStyle,\n noMoreTextStyle,\n noMoreText\n } = this.props\n\n let component: JSX.Element | null = null\n if (status === 'loading') {\n component = <AtActivityIndicator mode='center' content={loadingText} />\n } else if (status === 'more') {\n component = (\n <View className='at-load-more__cnt'>\n <AtButton\n full\n onClick={this.onClick.bind(this)}\n customStyle={moreBtnStyle}\n >\n {moreText}\n </AtButton>\n </View>\n )\n } else {\n component = (\n <Text className='at-load-more__tip' style={noMoreTextStyle}>\n {noMoreText}\n </Text>\n )\n }\n\n return (\n <View\n className={classNames('at-load-more', className)}\n style={customStyle}\n >\n {component}\n </View>\n )\n }\n}\n\nAtLoadMore.defaultProps = {\n customStyle: '',\n className: '',\n noMoreTextStyle: '',\n moreBtnStyle: '',\n status: 'more',\n loadingText: '加载中',\n moreText: '查看更多',\n noMoreText: '没有更多'\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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 class AtDivider extends React.Component<AtDividerProps> {\n public static defaultProps: AtDividerProps\n public static propTypes: InferProps<AtDividerProps>\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n content,\n height,\n fontColor,\n fontSize,\n lineColor\n } = this.props\n\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 === '' ? this.props.children : content}\n </View>\n <View className='at-divider__line' style={lineStyle}></View>\n </View>\n )\n }\n}\n\nAtDivider.defaultProps = {\n content: '',\n height: 0,\n fontColor: '',\n fontSize: 0,\n lineColor: ''\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, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { AtCountDownProps, AtCountdownState } 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\nconst defaultFormat = {\n day: '天',\n hours: '时',\n minutes: '分',\n seconds: '秒'\n}\n\nexport default class AtCountdown extends React.Component<\n AtCountDownProps,\n AtCountdownState\n> {\n public static defaultProps: AtCountDownProps\n public static propTypes: InferProps<AtCountDownProps>\n\n private seconds: number\n private timer: NodeJS.Timeout | number | undefined\n\n public constructor(props: AtCountDownProps) {\n super(props)\n const { day = 0, hours = 0, minutes = 0, seconds = 0 } = this.props\n this.seconds = toSeconds(day, hours, minutes, seconds)\n const {\n day: _day,\n hours: _hours,\n minutes: _minutes,\n seconds: _seconds\n } = this.calculateTime()\n\n this.state = {\n _day,\n _hours,\n _minutes,\n _seconds\n }\n }\n\n private setTimer(): void {\n if (!this.timer) this.countdonwn()\n }\n\n private clearTimer(): void {\n if (this.timer) {\n clearTimeout(this.timer as number)\n this.timer = 0\n }\n }\n\n private calculateTime(): TimeObject {\n let [day, hours, minutes, seconds] = [0, 0, 0, 0]\n\n if (this.seconds > 0) {\n day = this.props.isShowDay ? Math.floor(this.seconds / (60 * 60 * 24)) : 0\n hours = this.props.isShowHour\n ? Math.floor(this.seconds / (60 * 60)) - day * 24\n : 0\n minutes = this.props.isShowMinute\n ? Math.floor(this.seconds / 60) - day * 24 * 60 - hours * 60\n : 0\n seconds =\n Math.floor(this.seconds) -\n day * 24 * 60 * 60 -\n hours * 60 * 60 -\n minutes * 60\n }\n return {\n day,\n hours,\n minutes,\n seconds\n }\n }\n\n private countdonwn(): void {\n const { day, hours, minutes, seconds } = this.calculateTime()\n\n this.setState({\n _day: day,\n _hours: hours,\n _minutes: minutes,\n _seconds: seconds\n })\n this.seconds--\n\n if (this.seconds < 0) {\n this.clearTimer()\n this.props.onTimeUp && this.props.onTimeUp()\n return\n }\n\n this.timer = setTimeout(() => {\n this.countdonwn()\n }, 1000)\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtCountDownProps): void {\n if (JSON.stringify(this.props) === JSON.stringify(nextProps)) return\n\n const { day = 0, hours = 0, minutes = 0, seconds = 0 } = nextProps\n this.seconds = toSeconds(day, hours, minutes, seconds)\n this.clearTimer()\n this.setTimer()\n }\n\n public componentDidMount(): void {\n this.setTimer()\n }\n\n public componentWillUnmount(): void {\n this.clearTimer()\n }\n\n public componentDidHide(): void {\n this.clearTimer()\n }\n\n public componentDidShow(): void {\n this.setTimer()\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n format = defaultFormat,\n isCard,\n isShowDay,\n isShowHour,\n isShowMinute\n } = this.props\n\n const { _day, _hours, _minutes, _seconds } = this.state\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 && (\n <AtCountdownItem num={_day} separator={format?.day || '天'} />\n )}\n {isShowHour && (\n <AtCountdownItem num={_hours} separator={format?.hours || ''} />\n )}\n {isShowMinute && (\n <AtCountdownItem num={_minutes} separator={format?.minutes || ''} />\n )}\n <AtCountdownItem num={_seconds} separator={format?.seconds || ''} />\n </View>\n )\n }\n}\n\nAtCountdown.defaultProps = {\n customStyle: '',\n className: '',\n isCard: false,\n isShowDay: false,\n isShowHour: true,\n isShowMinute: true,\n format: defaultFormat,\n day: 0,\n hours: 0,\n minutes: 0,\n seconds: 0\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","import PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { AtCountdownItemProps } from '../../../../types/countdown'\n\nexport default class AtCountdownItem extends React.Component<AtCountdownItemProps> {\n public static defaultProps: AtCountdownItemProps\n public static propTypes: InferProps<AtCountdownItemProps>\n\n private formatNum(num: number): string {\n return num <= 9 ? `0${num}` : `${num}`\n }\n\n public render(): JSX.Element {\n const { num, separator } = this.props\n\n return (\n <View className='at-countdown__item'>\n <View className='at-countdown__time-box'>\n <Text className='at-countdown__time'>{this.formatNum(num)}</Text>\n </View>\n <Text className='at-countdown__separator'>{separator}</Text>\n </View>\n )\n }\n}\n\nAtCountdownItem.defaultProps = {\n num: 0,\n separator: ':'\n}\n\nAtCountdownItem.propTypes = {\n num: PropTypes.number.isRequired,\n separator: PropTypes.string\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { Text, View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtStepsProps } from '../../../types/steps'\n\nexport default class AtSteps extends React.Component<AtStepsProps> {\n public static defaultProps: AtStepsProps\n public static propTypes: InferProps<AtStepsProps>\n\n private handleClick(current: number, event: CommonEvent): void {\n this.props.onChange(current, event)\n }\n\n public render(): JSX.Element {\n const { customStyle, className, items, current } = this.props\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={this.handleClick.bind(this, i)}\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':\n 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}\n\nAtSteps.defaultProps = {\n customStyle: '',\n className: '',\n current: 0,\n items: [],\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\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, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent } from '@tarojs/components/types/common'\nimport { AtCurtainProps } from '../../../types/curtain'\n\nexport default class AtCurtain extends React.Component<AtCurtainProps> {\n public static defaultProps: AtCurtainProps\n public static propTypes: InferProps<AtCurtainProps>\n\n private onClose(e: CommonEvent): void {\n e.stopPropagation()\n this.props.onClose(e)\n }\n\n private _stopPropagation(e: CommonEvent): void {\n e.stopPropagation()\n }\n\n public render(): JSX.Element {\n const { className, customStyle, isOpened, closeBtnPosition } = this.props\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={this._stopPropagation}\n >\n <View className='at-curtain__container'>\n <View className='at-curtain__body'>\n {this.props.children}\n <View\n className={btnCloseClass}\n onClick={this.onClose.bind(this)}\n ></View>\n </View>\n </View>\n </View>\n )\n }\n}\n\nAtCurtain.defaultProps = {\n customStyle: '',\n className: '',\n isOpened: false,\n closeBtnPosition: 'bottom',\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport Taro from '@tarojs/taro'\nimport { AtMessageProps, AtMessageState } from '../../../types/message'\n\nexport default class AtMessage extends React.Component<\n AtMessageProps,\n AtMessageState\n> {\n public static defaultProps: AtMessageProps\n public static propTypes: InferProps<AtMessageProps>\n\n private _timer: NodeJS.Timeout | number | null\n\n public constructor(props: AtMessageProps) {\n super(props)\n this.state = {\n _isOpened: false,\n _message: '',\n _type: 'info',\n _duration: 3000\n }\n this._timer = null\n }\n\n private bindMessageListener(): void {\n Taro.eventCenter.on('atMessage', (options = {}) => {\n const { message, type, duration } = options\n const newState = {\n _isOpened: true,\n _message: message,\n _type: type,\n _duration: duration || this.state._duration\n }\n this.setState(newState, () => {\n clearTimeout(this._timer as number)\n this._timer = setTimeout(() => {\n this.setState({\n _isOpened: false\n })\n }, this.state._duration)\n })\n })\n // 绑定函数\n Taro.atMessage = Taro.eventCenter.trigger.bind(\n Taro.eventCenter,\n 'atMessage'\n )\n }\n\n public componentDidShow(): void {\n this.bindMessageListener()\n }\n\n public componentDidMount(): void {\n this.bindMessageListener()\n }\n\n public componentDidHide(): void {\n Taro.eventCenter.off('atMessage')\n }\n\n public componentWillUnmount(): void {\n Taro.eventCenter.off('atMessage')\n }\n\n public render(): JSX.Element {\n const { className, customStyle } = this.props\n const { _message, _isOpened, _type } = this.state\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}\n\nAtMessage.defaultProps = {\n customStyle: '',\n className: ''\n}\n\nAtMessage.propTypes = {\n customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n className: PropTypes.oneOfType([PropTypes.array, PropTypes.string])\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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 { 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\nconst ENV = Taro.getEnv()\n\nexport default class AtImagePicker extends React.Component<AtImagePickerProps> {\n public static defaultProps: AtImagePickerProps\n public static propTypes: InferProps<AtImagePickerProps>\n\n private chooseFile = (): void => {\n const { files = [], multiple, count, sizeType, sourceType } = this.props\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 this.props.onChange(newFiles, 'add')\n })\n .catch(err => {\n this.props?.onFail?.(err)\n })\n }\n\n private handleImageClick = (idx: number): void => {\n this.props.onImageClick &&\n this.props.onImageClick(idx, this.props.files[idx])\n }\n\n private handleRemoveImg = (idx: number, event: ITouchEvent): void => {\n event.stopPropagation()\n event.preventDefault()\n const { files = [] } = this.props\n if (ENV === Taro.ENV_TYPE.WEB) {\n window.URL.revokeObjectURL(files[idx].url)\n }\n const newFiles = files.filter((_, i) => i !== idx)\n this.props.onChange(newFiles, 'remove', idx)\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n files,\n mode,\n length = 4,\n showAddBtn = true\n } = this.props\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\n className='at-image-picker__flex-item'\n key={i * length + j}\n >\n <View className='at-image-picker__item'>\n <View\n className='at-image-picker__remove-btn'\n onClick={this.handleRemoveImg.bind(this, i * length + j)}\n ></View>\n <Image\n className='at-image-picker__preview-img'\n mode={mode}\n src={item.url}\n onClick={this.handleImageClick.bind(this, 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={this.chooseFile}>\n {this.props.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}\n\nAtImagePicker.defaultProps = {\n className: '',\n customStyle: '',\n files: [],\n mode: 'aspectFill',\n showAddBtn: true,\n multiple: false,\n length: 4,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: (): void => {}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { CommonEvent, ITouchEvent } from '@tarojs/components/types/common'\nimport { AtRangeProps, AtRangeState } from '../../../types/range'\nimport {\n delayQuerySelector,\n getEventDetail,\n mergeStyle\n} from '../../common/utils'\n\nexport default class AtRange extends React.Component<\n AtRangeProps,\n AtRangeState\n> {\n public static defaultProps: AtRangeProps\n public static propTypes: InferProps<AtRangeProps>\n\n private width: number\n private left: number\n private deltaValue: number\n private currentSlider: string\n\n public constructor(props: AtRangeProps) {\n super(props)\n const { min = 0, max = 100 } = props\n // range 宽度\n this.width = 0\n // range 到屏幕左边的距离\n this.left = 0\n this.deltaValue = max - min\n this.currentSlider = ''\n this.state = {\n aX: 0,\n bX: 0\n }\n }\n\n private handleClick = (event: CommonEvent): void => {\n if (this.currentSlider && !this.props.disabled) {\n let sliderValue = 0\n const detail = getEventDetail(event)\n sliderValue = detail.x - this.left\n this.setSliderValue(this.currentSlider, sliderValue, 'onChange')\n }\n }\n\n private handleTouchMove(sliderName: string, event: ITouchEvent): void {\n if (this.props.disabled) return\n event.stopPropagation()\n\n const clientX = event.touches[0].clientX\n this.setSliderValue(sliderName, clientX - this.left, 'onChange')\n }\n\n private handleTouchEnd(sliderName: string): void {\n if (this.props.disabled) return\n\n this.currentSlider = sliderName\n this.triggerEvent('onAfterChange')\n }\n\n private setSliderValue(\n sliderName: string,\n targetValue: number,\n funcName: string\n ): void {\n const distance = Math.min(Math.max(targetValue, 0), this.width)\n const sliderValue = Math.floor((distance / this.width) * 100)\n if (funcName) {\n this.setState(\n {\n [sliderName]: sliderValue\n },\n () => this.triggerEvent(funcName)\n )\n } else {\n this.setState({\n [sliderName]: sliderValue\n })\n }\n }\n\n private setValue(value: number[]): void {\n const { min = 0 } = this.props\n const aX = Math.round(((value[0] - min) / this.deltaValue) * 100) // fix issue #670\n const bX = Math.round(((value[1] - min) / this.deltaValue) * 100) // fix issue #670\n this.setState({ aX, bX })\n }\n\n private triggerEvent(funcName: string): void {\n const { min = 0 } = this.props\n const { aX, bX } = this.state\n const a = Math.round((aX / 100) * this.deltaValue) + min // fix issue #670\n const b = Math.round((bX / 100) * this.deltaValue) + min // fix issue #670\n const result = [a, b].sort((x, y) => x - y) as [number, number]\n\n if (funcName === 'onChange') {\n this.props.onChange && this.props.onChange(result)\n } else if (funcName === 'onAfterChange') {\n this.props.onAfterChange && this.props.onAfterChange(result)\n }\n }\n\n private updatePos(): void {\n delayQuerySelector('.at-range__container', 0).then(rect => {\n this.width = Math.round(rect[0]?.width)\n this.left = Math.round(rect[0]?.left)\n })\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtRangeProps): void {\n const { value = [] } = nextProps\n this.updatePos()\n if (\n this.props.value?.[0] !== value?.[0] ||\n this.props.value?.[1] !== value?.[1]\n ) {\n this.setValue(value)\n }\n }\n\n public componentDidMount(): void {\n const { value = [] } = this.props\n this.updatePos()\n this.setValue(value)\n }\n\n public render(): JSX.Element {\n const {\n className,\n customStyle,\n sliderStyle = {},\n railStyle = {},\n trackStyle = {},\n blockSize,\n disabled\n } = this.props\n\n const rootCls = classNames(\n 'at-range',\n {\n 'at-range--disabled': disabled\n },\n className\n )\n\n const { aX, bX } = this.state\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={this.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={this.handleTouchMove.bind(this, 'aX')}\n onTouchEnd={this.handleTouchEnd.bind(this, 'aX')}\n ></View>\n <View\n className='at-range__slider'\n style={mergeStyle(sliderBStyle, sliderStyle)}\n onTouchMove={this.handleTouchMove.bind(this, 'bX')}\n onTouchEnd={this.handleTouchEnd.bind(this, 'bX')}\n ></View>\n </View>\n </View>\n )\n }\n}\n\nAtRange.defaultProps = {\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}\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","import classNames from 'classnames'\nimport PropTypes, { InferProps } from 'prop-types'\nimport React 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\nexport default class AtIndexes extends React.Component<\n AtIndexesProps,\n AtIndexesState\n> {\n public static defaultProps: AtIndexesProps\n public static propTypes: InferProps<AtIndexesProps>\n\n private menuHeight: number\n private startTop: number\n private itemHeight: number\n private currentIndex: number\n private listId: string\n private timeoutTimer: NodeJS.Timeout | number | undefined\n private listRef: any\n private indexMap: { key: string; startHeight: number; endHeight: number }[]\n\n public constructor(props: AtIndexesProps) {\n super(props)\n this.state = {\n _scrollIntoView: '',\n _scrollTop: 0,\n _tipText: '',\n _isShowToast: false,\n isWEB: Taro.getEnv() === Taro.ENV_TYPE.WEB,\n currentIndex: -1\n }\n // 右侧导航高度\n this.menuHeight = 0\n // 右侧导航距离顶部高度\n this.startTop = 0\n // 右侧导航元素高度\n this.itemHeight = 0\n // 当前索引\n this.currentIndex = -1\n this.listId = isTest() ? 'indexes-list-AOTU2018' : `list-${uuid()}`\n this.indexMap = []\n }\n\n private handleClick = (item: Item): void => {\n this.props.onClick && this.props.onClick(item)\n }\n\n private handleTouchMove = (event: ITouchEvent): void => {\n event.stopPropagation()\n event.preventDefault()\n\n const { list } = this.props\n const pageY = event.touches[0].pageY\n const index = Math.floor((pageY - this.startTop) / this.itemHeight)\n\n if (index >= 0 && index <= list.length && this.currentIndex !== index) {\n this.currentIndex = index\n const key = index > 0 ? list[index - 1].key : 'top'\n const touchView = `at-indexes__list-${key}`\n this.jumpTarget(touchView, index)\n }\n }\n\n private handleTouchEnd = (): void => {\n this.currentIndex = -1\n }\n\n private jumpTarget(_scrollIntoView: string, idx: number): void {\n const { topKey = 'Top', list } = this.props\n const _tipText = 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 = this.listRef.children[idx].offsetTop\n const _scrollTop = targetOffsetTop - rect[0].top\n this.updateState({\n _scrollTop,\n _scrollIntoView,\n _tipText\n })\n })\n return\n }\n\n this.updateState({\n _scrollIntoView,\n _tipText\n })\n }\n\n private __jumpTarget(key: string): void {\n const { list } = this.props\n // const index = _findIndex(list, ['key', key])\n const index = list.findIndex(item => item.key === key)\n const targetView = `at-indexes__list-${key}`\n this.jumpTarget(targetView, index + 1)\n }\n\n private updateState(state: Partial<AtIndexesState>): void {\n const { isShowToast, isVibrate } = this.props\n const { _scrollIntoView, _tipText, _scrollTop } = state\n // TODO: Fix dirty hack\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n this.setState(\n {\n _scrollIntoView: _scrollIntoView!,\n _tipText: _tipText!,\n _scrollTop: _scrollTop!,\n _isShowToast: isShowToast!\n },\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n () => {\n clearTimeout(this.timeoutTimer as number)\n this.timeoutTimer = setTimeout(() => {\n this.setState({\n _tipText: '',\n _isShowToast: false\n })\n }, 3000)\n }\n )\n\n if (isVibrate) {\n Taro.vibrateShort()\n }\n }\n\n private async initData(): Promise<void> {\n delayQuerySelector('.at-indexes__menu').then(rect => {\n const len = this.props.list.length\n this.menuHeight = rect[0].height\n this.startTop = rect[0].top\n this.itemHeight = Math.floor(this.menuHeight / (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 this.indexMap = []\n this.props.list.forEach((dataList, i) => {\n if (i === 0) {\n this.indexMap.push({\n key: dataList.key,\n startHeight: headerHeight,\n endHeight:\n dataList.items.length * itemHeight + headerHeight + titleHeight\n })\n } else {\n const prev = this.indexMap[i - 1]\n this.indexMap.push({\n key: dataList.key,\n startHeight: prev.endHeight,\n endHeight:\n prev.endHeight + dataList.items.length * itemHeight + titleHeight\n })\n }\n })\n }\n\n private handleScroll(e: CommonEvent): void {\n if (e && e.detail) {\n const scrollTop = e.detail.scrollTop\n\n this.setState({\n _scrollTop: scrollTop\n })\n\n this.getAnchorIndex(scrollTop)\n }\n }\n\n // 根据滚动高度,判断当前应该显示的索引值\n private getAnchorIndex(scrollTop: number) {\n const index = this.indexMap.findIndex(item => {\n return scrollTop >= item.startHeight && scrollTop < item.endHeight\n })\n\n this.setState({\n currentIndex: index\n })\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtIndexesProps): void {\n if (nextProps.list.length !== this.props.list.length) {\n this.initData()\n }\n }\n\n public componentDidMount(): void {\n if (ENV === Taro.ENV_TYPE.WEB) {\n this.listRef = document.getElementById(this.listId)\n }\n this.initData()\n }\n\n public UNSAFE_componentWillMount(): void {\n this.props.onScrollIntoView &&\n this.props.onScrollIntoView(this.__jumpTarget.bind(this))\n }\n\n public render(): JSX.Element {\n const { className, customStyle, animation, topKey, list } = this.props\n const {\n _scrollTop,\n _scrollIntoView,\n _tipText,\n _isShowToast,\n isWEB,\n currentIndex\n } = this.state\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={this.jumpTarget.bind(this, 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={this.handleClick.bind(this, 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={this.handleTouchMove}\n onTouchEnd={this.handleTouchEnd}\n >\n <View\n className='at-indexes__menu-item'\n onClick={this.jumpTarget.bind(this, 'at-indexes__top', 0)}\n >\n {topKey}\n </View>\n {menuList}\n </View>\n <ScrollView\n className='at-indexes__body'\n id={this.listId}\n scrollY\n scrollWithAnimation={animation}\n // eslint-disable-next-line no-undefined\n scrollTop={isWEB ? _scrollTop : undefined}\n scrollIntoView={!isWEB ? _scrollIntoView : ''}\n onScroll={this.handleScroll.bind(this)}\n >\n <View className='at-indexes__content' id='at-indexes__top'>\n {this.props.children}\n </View>\n {indexesList}\n </ScrollView>\n </View>\n )\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\nAtIndexes.defaultProps = {\n customStyle: '',\n className: '',\n animation: false,\n topKey: 'Top',\n isVibrate: true,\n isShowToast: true,\n list: []\n}\n","import classnames from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport React from 'react'\nimport { View } from '@tarojs/components'\nimport { BaseEventOrig } from '@tarojs/components/types/common'\nimport {\n AtCalendarDefaultProps,\n AtCalendarProps,\n AtCalendarPropsWithDefaults,\n AtCalendarState,\n Calendar\n} from '../../../types/calendar'\nimport AtCalendarBody from './body/index'\nimport AtCalendarController from './controller/index'\n\nconst defaultProps: AtCalendarDefaultProps = {\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: 'YYYY年MM月'\n}\n\nexport default class AtCalendar extends React.Component<\n AtCalendarProps,\n Readonly<AtCalendarState>\n> {\n static defaultProps: AtCalendarDefaultProps = defaultProps\n\n public constructor(props: AtCalendarProps) {\n super(props)\n\n const { currentDate, isMultiSelect } = props as AtCalendarPropsWithDefaults\n\n this.state = this.getInitializeState(currentDate, isMultiSelect)\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: AtCalendarProps): void {\n const { currentDate, isMultiSelect } = nextProps\n if (!currentDate || currentDate === this.props.currentDate) return\n\n if (isMultiSelect && this.props.isMultiSelect) {\n const { start, end } = currentDate as Calendar.SelectedDate\n const { start: preStart, end: preEnd } = this.props\n .currentDate as Calendar.SelectedDate\n\n if (start === preStart && preEnd === end) {\n return\n }\n }\n\n const stateValue: AtCalendarState = this.getInitializeState(\n currentDate,\n isMultiSelect\n )\n\n this.setState(stateValue)\n }\n\n private getSingleSelectdState = (value: Dayjs): Partial<AtCalendarState> => {\n const { generateDate } = this.state\n\n const stateValue: Partial<AtCalendarState> = {\n selectedDate: this.getSelectedDate(value.valueOf())\n }\n\n const dayjsGenerateDate: Dayjs = value.startOf('month')\n const generateDateValue: number = dayjsGenerateDate.valueOf()\n\n if (generateDateValue !== generateDate) {\n this.triggerChangeDate(dayjsGenerateDate)\n stateValue.generateDate = generateDateValue\n }\n\n return stateValue\n }\n\n private getMultiSelectedState = (\n value: Dayjs\n ): Pick<AtCalendarState, 'selectedDate'> => {\n const { selectedDate } = this.state\n const { end, start } = selectedDate\n\n const valueUnix: number = value.valueOf()\n const state: Pick<AtCalendarState, 'selectedDate'> = {\n selectedDate\n }\n\n if (end) {\n state.selectedDate = this.getSelectedDate(valueUnix, 0)\n } else {\n state.selectedDate.end = Math.max(valueUnix, +start)\n state.selectedDate.start = Math.min(valueUnix, +start)\n }\n\n return state\n }\n\n private 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 private getInitializeState(\n currentDate: Calendar.DateArg | Calendar.SelectedDate,\n isMultiSelect?: boolean\n ): AtCalendarState {\n let end: number\n let start: number\n let generateDateValue: number\n\n if (!currentDate) {\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 (isMultiSelect) {\n const { start: cStart, end: cEnd } = currentDate 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(currentDate 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: this.getSelectedDate(start, end)\n }\n }\n\n private triggerChangeDate = (value: Dayjs): void => {\n const { format } = this.props\n\n if (typeof this.props.onMonthChange !== 'function') return\n\n this.props.onMonthChange(value.format(format))\n }\n\n private setMonth = (vectorCount: number): void => {\n const { format } = this.props\n const { generateDate } = this.state\n\n const _generateDate: Dayjs = dayjs(generateDate).add(vectorCount, 'month')\n this.setState({\n generateDate: _generateDate.valueOf()\n })\n\n if (vectorCount && typeof this.props.onMonthChange === 'function') {\n this.props.onMonthChange(_generateDate.format(format))\n }\n }\n\n private handleClickPreMonth = (isMinMonth?: boolean): void => {\n if (isMinMonth === true) {\n return\n }\n\n this.setMonth(-1)\n\n if (typeof this.props.onClickPreMonth === 'function') {\n this.props.onClickPreMonth()\n }\n }\n\n private handleClickNextMonth = (isMaxMonth?: boolean): void => {\n if (isMaxMonth === true) {\n return\n }\n\n this.setMonth(1)\n\n if (typeof this.props.onClickNextMonth === 'function') {\n this.props.onClickNextMonth()\n }\n }\n\n // picker 选择时间改变时触发\n private 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 (this.state.generateDate === _generateDateValue) return\n\n this.triggerChangeDate(_generateDate)\n this.setState({\n generateDate: _generateDateValue\n })\n }\n\n private handleDayClick = (item: Calendar.Item): void => {\n const { isMultiSelect } = this.props\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 = this.getMultiSelectedState(dayjsDate)\n } else {\n stateValue = this.getSingleSelectdState(dayjsDate)\n }\n\n this.setState(stateValue as AtCalendarState, () => {\n this.handleSelectedDate()\n })\n\n if (typeof this.props.onDayClick === 'function') {\n this.props.onDayClick({ value: item.value })\n }\n }\n\n private handleSelectedDate = (): void => {\n const selectDate = this.state.selectedDate\n if (typeof this.props.onSelectDate === 'function') {\n const info: Calendar.SelectedDate = {\n start: dayjs(selectDate.start).format(this.props.format)\n }\n\n if (selectDate.end) {\n info.end = dayjs(selectDate.end).format(this.props.format)\n }\n\n this.props.onSelectDate({\n value: info\n })\n }\n }\n\n private handleDayLongClick = (item: Calendar.Item): void => {\n if (typeof this.props.onDayLongClick === 'function') {\n this.props.onDayLongClick({ value: item.value })\n }\n }\n\n public render(): JSX.Element {\n const { generateDate, selectedDate } = this.state\n const {\n validDates,\n marks,\n format,\n minDate,\n maxDate,\n isSwiper,\n className,\n hideArrow,\n isVertical,\n monthFormat,\n selectedDates\n } = this.props as AtCalendarPropsWithDefaults\n\n return (\n <View className={classnames('at-calendar', className)}>\n <AtCalendarController\n minDate={minDate}\n maxDate={maxDate}\n hideArrow={hideArrow}\n monthFormat={monthFormat}\n generateDate={generateDate}\n onPreMonth={this.handleClickPreMonth}\n onNextMonth={this.handleClickNextMonth}\n onSelectDate={this.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={this.handleDayClick}\n onSwipeMonth={this.setMonth}\n onLongClick={this.handleDayLongClick}\n />\n </View>\n )\n }\n}\n","import classnames from 'classnames'\nimport dayjs from 'dayjs'\nimport React 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 AtCalendarBodyState,\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\nconst defaultProps: Partial<AtCalendarBodyProps> = {\n marks: [],\n selectedDate: {\n end: Date.now(),\n start: Date.now()\n },\n format: 'YYYY-MM-DD',\n generateDate: Date.now()\n}\n\nexport default class AtCalendarBody extends React.Component<\n AtCalendarBodyProps,\n Readonly<AtCalendarBodyState>\n> {\n static defaultProps: Partial<AtCalendarBodyProps> = defaultProps\n\n public constructor(props: AtCalendarBodyProps) {\n super(props)\n const {\n validDates,\n marks,\n format,\n minDate,\n maxDate,\n generateDate,\n selectedDate,\n selectedDates\n } = props\n\n this.generateFunc = generateCalendarGroup({\n validDates,\n format,\n minDate,\n maxDate,\n marks,\n selectedDates\n })\n const listGroup = this.getGroups(generateDate, selectedDate)\n\n this.state = {\n listGroup,\n offsetSize: 0,\n isAnimate: false\n }\n }\n\n public componentDidMount(): void {\n delayQuerySelector('.at-calendar-slider__main').then(res => {\n this.maxWidth = res[0].width\n })\n }\n\n public UNSAFE_componentWillReceiveProps(\n nextProps: AtCalendarBodyProps\n ): void {\n const {\n validDates,\n marks,\n format,\n minDate,\n maxDate,\n generateDate,\n selectedDate,\n selectedDates\n } = nextProps\n\n this.generateFunc = generateCalendarGroup({\n validDates,\n format,\n minDate,\n maxDate,\n marks,\n selectedDates\n })\n const listGroup = this.getGroups(generateDate, selectedDate)\n\n this.setState({\n offsetSize: 0,\n listGroup\n })\n }\n\n private changeCount = 0\n private currentSwiperIndex = 1\n private startX = 0\n private swipeStartPoint = 0\n private isPreMonth = false\n private maxWidth = 0\n private isTouching = false\n\n private generateFunc: (\n generateDate: number,\n selectedDate: Calendar.SelectedDate,\n isShowStatus?: boolean\n ) => Calendar.ListInfo<Calendar.Item>\n\n private getGroups = (\n generateDate: number,\n selectedDate: Calendar.SelectedDate\n ): AtCalendarBodyListGroup => {\n const dayjsDate = dayjs(generateDate)\n const arr: AtCalendarBodyListGroup = []\n const preList: Calendar.ListInfo<Calendar.Item> = this.generateFunc(\n dayjsDate.subtract(1, 'month').valueOf(),\n selectedDate\n )\n\n const nowList: Calendar.ListInfo<Calendar.Item> = this.generateFunc(\n generateDate,\n selectedDate,\n true\n )\n\n const nextList: Calendar.ListInfo<Calendar.Item> = this.generateFunc(\n dayjsDate.add(1, 'month').valueOf(),\n selectedDate\n )\n\n const preListIndex =\n this.currentSwiperIndex === 0 ? 2 : this.currentSwiperIndex - 1\n const nextListIndex =\n this.currentSwiperIndex === 2 ? 0 : this.currentSwiperIndex + 1\n\n arr[preListIndex] = preList\n arr[nextListIndex] = nextList\n arr[this.currentSwiperIndex] = nowList\n\n return arr\n }\n\n private handleTouchStart = (e: ITouchEvent): void => {\n if (!this.props.isSwiper) {\n return\n }\n this.isTouching = true\n this.startX = e.touches[0].clientX\n }\n\n private handleTouchMove = (e: ITouchEvent): void => {\n if (!this.props.isSwiper) {\n return\n }\n if (!this.isTouching) return\n\n const { clientX } = e.touches[0]\n const offsetSize = clientX - this.startX\n\n this.setState({\n offsetSize\n })\n }\n\n private animateMoveSlide = (offset: number, callback?: () => void): void => {\n this.setState(\n {\n isAnimate: true\n },\n () => {\n this.setState({\n offsetSize: offset\n })\n setTimeout(() => {\n this.setState(\n {\n isAnimate: false\n },\n () => {\n callback?.()\n }\n )\n }, ANIMTE_DURATION)\n }\n )\n }\n\n private handleTouchEnd = (): void => {\n if (!this.props.isSwiper) {\n return\n }\n\n const { offsetSize } = this.state\n\n this.isTouching = false\n const isRight = offsetSize > 0\n\n const breakpoint = this.maxWidth / 2\n const absOffsetSize = Math.abs(offsetSize)\n\n if (absOffsetSize > breakpoint) {\n const res = isRight ? this.maxWidth : -this.maxWidth\n return this.animateMoveSlide(res, () => {\n this.props.onSwipeMonth(isRight ? -1 : 1)\n })\n }\n this.animateMoveSlide(0)\n }\n\n private 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 this.currentSwiperIndex = current\n this.changeCount += 1\n }\n }\n\n private handleAnimateFinish = (): void => {\n if (this.changeCount > 0) {\n this.props.onSwipeMonth(\n this.isPreMonth ? -this.changeCount : this.changeCount\n )\n this.changeCount = 0\n }\n }\n\n private handleSwipeTouchStart = (\n e: ITouchEvent & { changedTouches: Array<ITouch> }\n ): void => {\n const { clientY, clientX } = e.changedTouches[0]\n this.swipeStartPoint = this.props.isVertical ? clientY : clientX\n }\n\n private handleSwipeTouchEnd = (\n e: ITouchEvent & { changedTouches: Array<ITouch> }\n ): void => {\n const { clientY, clientX } = e.changedTouches[0]\n this.isPreMonth = this.props.isVertical\n ? clientY - this.swipeStartPoint > 0\n : clientX - this.swipeStartPoint > 0\n }\n\n public render(): JSX.Element {\n const { isSwiper } = this.props\n const { isAnimate, offsetSize, listGroup } = this.state\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={this.props.onDayClick}\n onLongClick={this.props.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={this.handleTouchEnd}\n onTouchMove={this.handleTouchMove}\n onTouchStart={this.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={this.props.onDayClick}\n onLongClick={this.props.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={this.handleChange}\n vertical={this.props.isVertical}\n onAnimationFinish={this.handleAnimateFinish}\n onTouchEnd={this.handleSwipeTouchEnd}\n onTouchStart={this.handleSwipeTouchStart}\n >\n {listGroup.map((item, key) => (\n <SwiperItem key={key} itemId={key.toString()}>\n <AtCalendarDateList\n list={item.list}\n onClick={this.props.onDayClick}\n onLongClick={this.props.onLongClick}\n />\n </SwiperItem>\n ))}\n </Swiper>\n </View>\n )\n }\n}\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\nexport default class AtCalendarList extends React.Component<Props> {\n private handleClick = (item: Calendar.Item): void => {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(item)\n }\n }\n\n private handleLongClick = (item: Calendar.Item): void => {\n if (typeof this.props.onLongClick === 'function') {\n this.props.onLongClick(item)\n }\n }\n\n public render(): JSX.Element | null {\n const { list } = this.props\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={this.handleClick.bind(this, item)}\n onLongPress={this.handleLongClick.bind(this, item)}\n className={classnames(\n 'flex__item',\n `flex__item--${MAP[item.type]}`,\n {\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 >\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}\n","import React from 'react'\nimport { View } from '@tarojs/components'\n\nexport default class AtCalendarHeader extends React.Component {\n public render(): JSX.Element {\n return (\n <View className='at-calendar__header header'>\n <View className='header__flex'>\n <View className='header__flex-item'>日</View>\n <View className='header__flex-item'>一</View>\n <View className='header__flex-item'>二</View>\n <View className='header__flex-item'>三</View>\n <View className='header__flex-item'>四</View>\n <View className='header__flex-item'>五</View>\n <View className='header__flex-item'>六</View>\n </View>\n </View>\n )\n }\n}\n","import classnames from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport React from 'react'\nimport { Picker, Text, View } from '@tarojs/components'\nimport {\n AtCalendarControllerProps,\n AtCalendarControllerState\n} from '../../../../types/calendar'\n\nexport default class AtCalendarController extends React.Component<\n AtCalendarControllerProps,\n AtCalendarControllerState\n> {\n public render(): JSX.Element {\n const { generateDate, minDate, maxDate, monthFormat, hideArrow } =\n this.props\n\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={this.props.onPreMonth.bind(this, isMinMonth)}\n />\n )}\n <Picker\n mode='date'\n fields='month'\n end={maxDateValue}\n start={minDateValue}\n onChange={this.props.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(\n 'controller__arrow controller__arrow--right',\n {\n 'controller__arrow--disabled': isMaxMonth\n }\n )}\n onClick={this.props.onNextMonth.bind(this, isMaxMonth)}\n />\n )}\n </View>\n )\n }\n}\n","import classNames from 'classnames'\nimport PropTypes, { InferProps } 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\nexport default class AtFab extends React.Component<AtFabProps> {\n public static defaultProps: AtFabProps\n public static propTypes: InferProps<AtFabProps>\n\n private onClick(e: CommonEvent): void {\n if (typeof this.props.onClick === 'function') {\n this.props.onClick(e)\n }\n }\n\n public render(): JSX.Element {\n const { size, className, children } = this.props\n\n const rootClass = classNames('at-fab', className, {\n [`at-fab--${size}`]: size\n })\n\n return (\n <View className={rootClass} onClick={this.onClick.bind(this)}>\n {children}\n </View>\n )\n }\n}\n\nAtFab.propTypes = {\n size: PropTypes.oneOf(['normal', 'small']),\n onClick: PropTypes.func\n}\n\nAtFab.defaultProps = {\n size: 'normal'\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":["classNames","PropTypes","React","View","classNames","React","View","classNames","React","View","React","classNames","View","PropTypes","classNames","PropTypes","React","View","classNames","PropTypes","React","View","PropTypes","React","View","React","React","View","PropTypes","React","classNames","View","PropTypes","classNames","PropTypes","React","Text","View","Taro","OpenData","classNames","PropTypes","React","View","classNames","PropTypes","React","View","Taro","SIZE_CLASS","React","Taro","View","classNames","PropTypes","classNames","PropTypes","React","Image","Text","View","React","classNames","View","Image","Text","PropTypes","classNames","PropTypes","React","Text","View","classNames","PropTypes","React","View","classNames","PropTypes","React","View","classNames","PropTypes","React","Image","Text","View","React","classNames","View","Text","Image","PropTypes","React","View","classNames","PropTypes","classNames","PropTypes","React","Text","View","React","scrollTop","classNames","View","Text","PropTypes","classNames","PropTypes","React","classNames","PropTypes","React","Image","Text","View","React","classNames","View","Image","Text","PropTypes","classNames","PropTypes","React","Text","React","Text","classNames","PropTypes","classNames","PropTypes","React","Text","View","classNames","PropTypes","React","Input","Text","View","React","deltaValue","classNames","View","Text","Input","PropTypes","classNames","PropTypes","React","Button","Text","View","Taro","classNames","PropTypes","React","View","classNames","React","ScrollView","classNames","React","View","React","Taro","classNames","View","Text","Button","PropTypes","classNames","PropTypes","React","Text","View","React","classNames","View","Text","PropTypes","classNames","PropTypes","React","Text","View","Taro","classNames","PropTypes","React","Text","View","React","View","classNames","Text","PropTypes","classNames","PropTypes","React","Text","View","classNames","PropTypes","React","Text","View","classNames","PropTypes","React","Text","View","React","View","classNames","Text","PropTypes","classNames","PropTypes","React","View","React","classNames","View","PropTypes","classNames","PropTypes","React","Switch","View","classNames","PropTypes","React","Image","Text","View","React","View","classNames","Text","Image","PropTypes","classNames","PropTypes","React","ScrollView","View","Taro","ENV","Taro","React","classNames","View","ScrollView","PropTypes","classNames","PropTypes","React","View","classNames","PropTypes","React","View","SIZE_CLASS","TYPE_CLASS","classNames","PropTypes","React","View","Taro","ENV","Taro","React","classNames","View","PropTypes","classNames","PropTypes","React","Text","View","index","classNames","PropTypes","React","Image","Text","View","React","classNames","View","Image","Text","PropTypes","classNames","PropTypes","React","Text","View","React","classNames","View","Text","PropTypes","classNames","PropTypes","React","View","classNames","PropTypes","React","Taro","Text","View","classNames","React","View","React","Taro","classNames","View","Text","PropTypes","classNames","PropTypes","React","Input","Text","View","classNames","PropTypes","React","Text","View","React","View","Text","classNames","PropTypes","classNames","PropTypes","React","View","React","View","classNames","PropTypes","classNames","PropTypes","React","View","PropTypes","React","Text","View","React","View","classNames","PropTypes","classNames","PropTypes","React","Text","View","classNames","PropTypes","React","View","classNames","PropTypes","React","View","Taro","classNames","PropTypes","React","Image","View","Taro","ENV","Taro","React","classNames","View","Image","PropTypes","classNames","PropTypes","React","View","React","classNames","View","PropTypes","classNames","PropTypes","React","ScrollView","View","Taro","ENV","Taro","React","scrollTop","classNames","View","ScrollView","PropTypes","classnames","dayjs","React","View","classnames","dayjs","React","View","dayjs","dayjs","i","React","Text","View","React","View","Text","React","View","React","dayjs","View","classnames","classnames","dayjs","React","Text","View","defaultProps","React","dayjs","View","classnames","classNames","PropTypes","React","View","objectToString"]}