taro-ui 3.3.2 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +85 -0
  3. package/{lib → dist}/common/utils.d.ts +2 -1
  4. package/{lib → dist}/common/utils.js +3 -0
  5. package/{lib → dist}/common/utils.js.map +1 -1
  6. package/dist/components/accordion/index.d.ts +17 -0
  7. package/dist/components/accordion/index.js +101 -0
  8. package/dist/components/accordion/index.js.map +1 -0
  9. package/dist/components/action-sheet/body/index.d.ts +3 -0
  10. package/dist/components/action-sheet/body/index.js +15 -0
  11. package/dist/components/action-sheet/body/index.js.map +1 -0
  12. package/dist/components/action-sheet/body/item/index.d.ts +9 -0
  13. package/dist/components/action-sheet/body/item/index.js +25 -0
  14. package/dist/components/action-sheet/body/item/index.js.map +1 -0
  15. package/dist/components/action-sheet/footer/index.d.ts +9 -0
  16. package/dist/components/action-sheet/footer/index.js +25 -0
  17. package/dist/components/action-sheet/footer/index.js.map +1 -0
  18. package/dist/components/action-sheet/header/index.d.ts +3 -0
  19. package/dist/components/action-sheet/header/index.js +15 -0
  20. package/dist/components/action-sheet/header/index.js.map +1 -0
  21. package/dist/components/action-sheet/index.d.ts +13 -0
  22. package/dist/components/action-sheet/index.js +72 -0
  23. package/dist/components/action-sheet/index.js.map +1 -0
  24. package/dist/components/activity-indicator/index.d.ts +14 -0
  25. package/dist/components/activity-indicator/index.js +36 -0
  26. package/dist/components/activity-indicator/index.js.map +1 -0
  27. package/dist/components/avatar/index.d.ts +15 -0
  28. package/dist/components/avatar/index.js +61 -0
  29. package/dist/components/avatar/index.js.map +1 -0
  30. package/dist/components/badge/index.d.ts +13 -0
  31. package/dist/components/badge/index.js +35 -0
  32. package/dist/components/badge/index.js.map +1 -0
  33. package/dist/components/button/index.d.ts +30 -0
  34. package/dist/components/button/index.js +162 -0
  35. package/dist/components/button/index.js.map +1 -0
  36. package/dist/components/calendar/body/index.d.ts +3 -0
  37. package/dist/components/calendar/body/index.js +269 -0
  38. package/dist/components/calendar/body/index.js.map +1 -0
  39. package/dist/components/calendar/controller/index.d.ts +3 -0
  40. package/dist/components/calendar/controller/index.js +55 -0
  41. package/dist/components/calendar/controller/index.js.map +1 -0
  42. package/dist/components/calendar/index.d.ts +3 -0
  43. package/dist/components/calendar/index.js +262 -0
  44. package/dist/components/calendar/index.js.map +1 -0
  45. package/{lib → dist}/components/calendar/ui/date-list/index.d.ts +2 -6
  46. package/dist/components/calendar/ui/date-list/index.js +49 -0
  47. package/dist/components/calendar/ui/date-list/index.js.map +1 -0
  48. package/dist/components/calendar/ui/day-list/index.d.ts +2 -0
  49. package/dist/components/calendar/ui/day-list/index.js +12 -0
  50. package/dist/components/calendar/ui/day-list/index.js.map +1 -0
  51. package/dist/components/card/index.d.ts +17 -0
  52. package/dist/components/card/index.js +79 -0
  53. package/dist/components/card/index.js.map +1 -0
  54. package/dist/components/checkbox/index.d.ts +13 -0
  55. package/dist/components/checkbox/index.js +54 -0
  56. package/dist/components/checkbox/index.js.map +1 -0
  57. package/dist/components/config-provider/context.d.ts +6 -0
  58. package/dist/components/config-provider/context.js +13 -0
  59. package/dist/components/config-provider/context.js.map +1 -0
  60. package/dist/components/config-provider/index.d.ts +7 -0
  61. package/dist/components/config-provider/index.js +15 -0
  62. package/dist/components/config-provider/index.js.map +1 -0
  63. package/dist/components/countdown/index.d.ts +20 -0
  64. package/dist/components/countdown/index.js +217 -0
  65. package/dist/components/countdown/index.js.map +1 -0
  66. package/dist/components/countdown/item/index.d.ts +10 -0
  67. package/dist/components/countdown/item/index.js +21 -0
  68. package/dist/components/countdown/item/index.js.map +1 -0
  69. package/dist/components/curtain/index.d.ts +13 -0
  70. package/dist/components/curtain/index.js +53 -0
  71. package/dist/components/curtain/index.js.map +1 -0
  72. package/dist/components/divider/index.d.ts +15 -0
  73. package/dist/components/divider/index.js +48 -0
  74. package/dist/components/divider/index.js.map +1 -0
  75. package/dist/components/drawer/index.d.ts +14 -0
  76. package/dist/components/drawer/index.js +121 -0
  77. package/dist/components/drawer/index.js.map +1 -0
  78. package/dist/components/fab/index.d.ts +10 -0
  79. package/dist/components/fab/index.js +29 -0
  80. package/dist/components/fab/index.js.map +1 -0
  81. package/dist/components/flex/index.d.ts +13 -0
  82. package/{lib → dist}/components/flex/index.js +17 -18
  83. package/dist/components/flex/index.js.map +1 -0
  84. package/dist/components/flex/item/index.d.ts +13 -0
  85. package/dist/components/flex/item/index.js +33 -0
  86. package/dist/components/flex/item/index.js.map +1 -0
  87. package/dist/components/float-layout/index.d.ts +21 -0
  88. package/dist/components/float-layout/index.js +88 -0
  89. package/dist/components/float-layout/index.js.map +1 -0
  90. package/dist/components/form/index.d.ts +13 -0
  91. package/dist/components/form/index.js +43 -0
  92. package/dist/components/form/index.js.map +1 -0
  93. package/dist/components/grid/index.d.ts +24 -0
  94. package/dist/components/grid/index.js +96 -0
  95. package/dist/components/grid/index.js.map +1 -0
  96. package/dist/components/icon/index.d.ts +15 -0
  97. package/dist/components/icon/index.js +44 -0
  98. package/dist/components/icon/index.js.map +1 -0
  99. package/dist/components/image-picker/index.d.ts +21 -0
  100. package/dist/components/image-picker/index.js +145 -0
  101. package/dist/components/image-picker/index.js.map +1 -0
  102. package/dist/components/indexes/index.d.ts +17 -0
  103. package/dist/components/indexes/index.js +261 -0
  104. package/dist/components/indexes/index.js.map +1 -0
  105. package/dist/components/input/index.d.ts +39 -0
  106. package/dist/components/input/index.js +223 -0
  107. package/dist/components/input/index.js.map +1 -0
  108. package/dist/components/input-number/index.d.ts +22 -0
  109. package/dist/components/input-number/index.js +174 -0
  110. package/dist/components/input-number/index.js.map +1 -0
  111. package/dist/components/list/index.d.ts +9 -0
  112. package/dist/components/list/index.js +26 -0
  113. package/dist/components/list/index.js.map +1 -0
  114. package/dist/components/list/item/index.d.ts +29 -0
  115. package/dist/components/list/item/index.js +124 -0
  116. package/dist/components/list/item/index.js.map +1 -0
  117. package/dist/components/load-more/index.d.ts +17 -0
  118. package/dist/components/load-more/index.js +51 -0
  119. package/dist/components/load-more/index.js.map +1 -0
  120. package/dist/components/loading/index.d.ts +13 -0
  121. package/dist/components/loading/index.js +26 -0
  122. package/dist/components/loading/index.js.map +1 -0
  123. package/dist/components/message/index.d.ts +10 -0
  124. package/dist/components/message/index.js +64 -0
  125. package/dist/components/message/index.js.map +1 -0
  126. package/dist/components/modal/action/index.d.ts +9 -0
  127. package/dist/components/modal/action/index.js +26 -0
  128. package/dist/components/modal/action/index.js.map +1 -0
  129. package/dist/components/modal/content/index.d.ts +3 -0
  130. package/dist/components/modal/content/index.js +15 -0
  131. package/dist/components/modal/content/index.js.map +1 -0
  132. package/dist/components/modal/header/index.d.ts +3 -0
  133. package/dist/components/modal/header/index.js +15 -0
  134. package/dist/components/modal/header/index.js.map +1 -0
  135. package/dist/components/modal/index.d.ts +17 -0
  136. package/dist/components/modal/index.js +92 -0
  137. package/dist/components/modal/index.js.map +1 -0
  138. package/dist/components/nav-bar/index.d.ts +22 -0
  139. package/dist/components/nav-bar/index.js +201 -0
  140. package/dist/components/nav-bar/index.js.map +1 -0
  141. package/dist/components/noticebar/index.d.ts +18 -0
  142. package/dist/components/noticebar/index.js +173 -0
  143. package/dist/components/noticebar/index.js.map +1 -0
  144. package/dist/components/pagination/index.d.ts +14 -0
  145. package/dist/components/pagination/index.js +90 -0
  146. package/dist/components/pagination/index.js.map +1 -0
  147. package/dist/components/progress/index.d.ts +13 -0
  148. package/dist/components/progress/index.js +56 -0
  149. package/dist/components/progress/index.js.map +1 -0
  150. package/dist/components/radio/index.d.ts +13 -0
  151. package/dist/components/radio/index.js +50 -0
  152. package/dist/components/radio/index.js.map +1 -0
  153. package/dist/components/range/index.d.ts +20 -0
  154. package/dist/components/range/index.js +200 -0
  155. package/dist/components/range/index.js.map +1 -0
  156. package/dist/components/rate/index.d.ts +15 -0
  157. package/dist/components/rate/index.js +67 -0
  158. package/dist/components/rate/index.js.map +1 -0
  159. package/dist/components/search-bar/index.d.ts +24 -0
  160. package/dist/components/search-bar/index.js +150 -0
  161. package/dist/components/search-bar/index.js.map +1 -0
  162. package/dist/components/segmented-control/index.d.ts +16 -0
  163. package/dist/components/segmented-control/index.js +70 -0
  164. package/dist/components/segmented-control/index.js.map +1 -0
  165. package/dist/components/slider/index.d.ts +22 -0
  166. package/dist/components/slider/index.js +91 -0
  167. package/dist/components/slider/index.js.map +1 -0
  168. package/dist/components/steps/index.d.ts +13 -0
  169. package/dist/components/steps/index.js +62 -0
  170. package/dist/components/steps/index.js.map +1 -0
  171. package/dist/components/swipe-action/index.d.ts +14 -0
  172. package/dist/components/swipe-action/index.js +223 -0
  173. package/dist/components/swipe-action/index.js.map +1 -0
  174. package/dist/components/swipe-action/options/index.d.ts +3 -0
  175. package/dist/components/swipe-action/options/index.js +25 -0
  176. package/dist/components/swipe-action/options/index.js.map +1 -0
  177. package/dist/components/switch/index.d.ts +16 -0
  178. package/dist/components/switch/index.js +54 -0
  179. package/dist/components/switch/index.js.map +1 -0
  180. package/dist/components/tab-bar/index.d.ts +19 -0
  181. package/dist/components/tab-bar/index.js +143 -0
  182. package/dist/components/tab-bar/index.js.map +1 -0
  183. package/dist/components/tabs/index.d.ts +18 -0
  184. package/dist/components/tabs/index.js +230 -0
  185. package/dist/components/tabs/index.js.map +1 -0
  186. package/dist/components/tabs-pane/index.d.ts +13 -0
  187. package/dist/components/tabs-pane/index.js +41 -0
  188. package/dist/components/tabs-pane/index.js.map +1 -0
  189. package/dist/components/tag/index.d.ts +16 -0
  190. package/dist/components/tag/index.js +66 -0
  191. package/dist/components/tag/index.js.map +1 -0
  192. package/dist/components/textarea/index.d.ts +31 -0
  193. package/dist/components/textarea/index.js +121 -0
  194. package/dist/components/textarea/index.js.map +1 -0
  195. package/dist/components/timeline/index.d.ts +11 -0
  196. package/dist/components/timeline/index.js +70 -0
  197. package/dist/components/timeline/index.js.map +1 -0
  198. package/dist/components/toast/img.json +5 -0
  199. package/dist/components/toast/index.d.ts +17 -0
  200. package/dist/components/toast/index.js +115 -0
  201. package/dist/components/toast/index.js.map +1 -0
  202. package/dist/hooks/useComponentLocale.d.ts +2 -0
  203. package/dist/hooks/useComponentLocale.js +12 -0
  204. package/dist/hooks/useComponentLocale.js.map +1 -0
  205. package/{lib → dist}/index.d.ts +3 -0
  206. package/dist/index.esm.js +5856 -0
  207. package/dist/index.esm.js.map +1 -0
  208. package/dist/index.js +5937 -0
  209. package/dist/index.js.map +1 -0
  210. package/dist/locale/en_US.d.ts +3 -0
  211. package/dist/locale/en_US.js +34 -0
  212. package/dist/locale/en_US.js.map +1 -0
  213. package/dist/locale/index.d.ts +4 -0
  214. package/dist/locale/index.js +10 -0
  215. package/dist/locale/index.js.map +1 -0
  216. package/dist/locale/types.d.ts +34 -0
  217. package/dist/locale/types.js +1 -0
  218. package/dist/locale/types.js.map +1 -0
  219. package/dist/locale/zh_CN.d.ts +3 -0
  220. package/dist/locale/zh_CN.js +34 -0
  221. package/dist/locale/zh_CN.js.map +1 -0
  222. package/{lib → dist}/style/components/avatar.scss +1 -1
  223. package/{lib → dist}/style/components/badge.scss +7 -2
  224. package/{lib → dist}/style/components/calendar.scss +1 -1
  225. package/{lib → dist}/style/components/countdown.scss +2 -1
  226. package/{lib → dist}/style/components/flex.scss +1 -1
  227. package/{lib → dist}/style/components/grid.scss +2 -2
  228. package/{lib → dist}/style/components/icon.scss +302 -101
  229. package/{lib → dist}/style/components/input.scss +2 -2
  230. package/{lib → dist}/style/components/progress.scss +1 -1
  231. package/{lib → dist}/style/components/search-bar.scss +1 -1
  232. package/{lib → dist}/style/components/steps.scss +2 -2
  233. package/{lib → dist}/style/components/tabs.scss +1 -1
  234. package/{lib → dist}/style/components/tag.scss +1 -1
  235. package/{lib → dist}/style/components/timeline.scss +1 -1
  236. package/{lib → dist}/style/components/toast.scss +7 -3
  237. package/{lib → dist}/style/index.css +176 -176
  238. package/dist/style/index.css.map +1 -0
  239. package/{lib → dist}/style/mixins/libs/hairline.scss +4 -19
  240. package/{lib → dist}/style/mixins/libs/shade.scss +3 -6
  241. package/{lib → dist}/style/mixins/libs/tint.scss +4 -7
  242. package/{lib → dist}/style/themes/purple.scss +15 -15
  243. package/{lib → dist}/style/themes/red.scss +16 -13
  244. package/{lib → dist}/style/variables/default.scss +69 -73
  245. package/package.json +45 -12
  246. package/rn/components/accordion/index.tsx +2 -9
  247. package/rn/components/action-sheet/body/index.tsx +1 -3
  248. package/rn/components/action-sheet/body/item/index.tsx +1 -3
  249. package/rn/components/action-sheet/footer/index.tsx +1 -3
  250. package/rn/components/action-sheet/header/index.tsx +1 -3
  251. package/rn/components/activity-indicator/index.tsx +1 -3
  252. package/rn/components/avatar/index.tsx +5 -5
  253. package/rn/components/calendar/controller/index.tsx +2 -7
  254. package/rn/components/card/index.tsx +4 -4
  255. package/rn/components/countdown/index.scss +5 -4
  256. package/rn/components/countdown/item/index.tsx +1 -3
  257. package/rn/components/curtain/index.tsx +5 -5
  258. package/rn/components/flex/index.scss +2 -2
  259. package/rn/components/flex/item/index.scss +2 -2
  260. package/rn/components/grid/index.tsx +15 -15
  261. package/rn/components/icon/index.tsx +4 -4
  262. package/rn/components/image-picker/index.tsx +7 -7
  263. package/rn/components/pagination/index.tsx +7 -7
  264. package/rn/components/progress/index.tsx +5 -5
  265. package/rn/components/radio/index.tsx +7 -7
  266. package/rn/components/rate/index.tsx +4 -4
  267. package/rn/components/segmented-control/index.tsx +8 -8
  268. package/rn/components/slider/index.tsx +9 -9
  269. package/rn/components/steps/index.tsx +8 -8
  270. package/rn/components/swipe-action/options/index.tsx +1 -3
  271. package/rn/components/switch/index.tsx +2 -9
  272. package/rn/components/toast/img.json +3 -6
  273. package/rn/components/toast/index.tsx +8 -8
  274. package/rn/style/components/accordion.scss +1 -1
  275. package/rn/style/components/action-sheet.scss +1 -1
  276. package/rn/style/components/avatar.scss +1 -1
  277. package/rn/style/components/badge.scss +8 -3
  278. package/rn/style/components/button.scss +1 -1
  279. package/rn/style/components/calendar.scss +1 -1
  280. package/rn/style/components/checkbox.scss +1 -1
  281. package/rn/style/components/curtain.scss +1 -1
  282. package/rn/style/components/fab.scss +1 -4
  283. package/rn/style/components/flex.scss +1 -1
  284. package/rn/style/components/grid.scss +2 -6
  285. package/rn/style/components/icon.scss +302 -101
  286. package/rn/style/components/index.scss +41 -41
  287. package/rn/style/components/input.scss +1 -1
  288. package/rn/style/components/list.scss +2 -4
  289. package/rn/style/components/loading.scss +4 -4
  290. package/rn/style/components/message.scss +1 -1
  291. package/rn/style/components/modal.scss +0 -2
  292. package/rn/style/components/nav-bar.scss +3 -3
  293. package/rn/style/components/noticebar.scss +0 -4
  294. package/rn/style/components/progress.scss +1 -1
  295. package/rn/style/components/radio.scss +2 -2
  296. package/rn/style/components/range.scss +1 -1
  297. package/rn/style/components/search-bar.scss +1 -1
  298. package/rn/style/components/segmented-control.scss +4 -1
  299. package/rn/style/components/slider.scss +0 -1
  300. package/rn/style/components/steps.scss +3 -3
  301. package/rn/style/components/switch.scss +0 -1
  302. package/rn/style/components/tabs.scss +2 -2
  303. package/rn/style/components/tag.scss +1 -1
  304. package/rn/style/components/timeline.scss +0 -2
  305. package/rn/style/components/toast.scss +5 -2
  306. package/rn/style/index.scss +1 -1
  307. package/rn/style/mixins/libs/hairline.scss +4 -22
  308. package/rn/style/mixins/libs/shade.scss +1 -4
  309. package/rn/style/mixins/libs/tint.scss +2 -5
  310. package/rn/style/themes/purple.scss +15 -15
  311. package/rn/style/themes/red.scss +16 -13
  312. package/rn/style/variables/default.scss +69 -73
  313. package/lib/components/accordion/index.d.ts +0 -14
  314. package/lib/components/accordion/index.js +0 -121
  315. package/lib/components/accordion/index.js.map +0 -1
  316. package/lib/components/action-sheet/body/index.d.ts +0 -5
  317. package/lib/components/action-sheet/body/index.js +0 -13
  318. package/lib/components/action-sheet/body/index.js.map +0 -1
  319. package/lib/components/action-sheet/body/item/index.d.ts +0 -9
  320. package/lib/components/action-sheet/body/item/index.js +0 -25
  321. package/lib/components/action-sheet/body/item/index.js.map +0 -1
  322. package/lib/components/action-sheet/footer/index.d.ts +0 -9
  323. package/lib/components/action-sheet/footer/index.js +0 -28
  324. package/lib/components/action-sheet/footer/index.js.map +0 -1
  325. package/lib/components/action-sheet/header/index.d.ts +0 -5
  326. package/lib/components/action-sheet/header/index.js +0 -16
  327. package/lib/components/action-sheet/header/index.js.map +0 -1
  328. package/lib/components/action-sheet/index.d.ts +0 -14
  329. package/lib/components/action-sheet/index.js +0 -76
  330. package/lib/components/action-sheet/index.js.map +0 -1
  331. package/lib/components/activity-indicator/index.d.ts +0 -8
  332. package/lib/components/activity-indicator/index.js +0 -39
  333. package/lib/components/activity-indicator/index.js.map +0 -1
  334. package/lib/components/avatar/index.d.ts +0 -9
  335. package/lib/components/avatar/index.js +0 -67
  336. package/lib/components/avatar/index.js.map +0 -1
  337. package/lib/components/badge/index.d.ts +0 -10
  338. package/lib/components/badge/index.js +0 -51
  339. package/lib/components/badge/index.js.map +0 -1
  340. package/lib/components/button/index.d.ts +0 -15
  341. package/lib/components/button/index.js +0 -177
  342. package/lib/components/button/index.js.map +0 -1
  343. package/lib/components/calendar/body/index.d.ts +0 -26
  344. package/lib/components/calendar/body/index.js +0 -289
  345. package/lib/components/calendar/body/index.js.map +0 -1
  346. package/lib/components/calendar/controller/index.d.ts +0 -5
  347. package/lib/components/calendar/controller/index.js +0 -51
  348. package/lib/components/calendar/controller/index.js.map +0 -1
  349. package/lib/components/calendar/index.d.ts +0 -20
  350. package/lib/components/calendar/index.js +0 -244
  351. package/lib/components/calendar/index.js.map +0 -1
  352. package/lib/components/calendar/ui/date-list/index.js +0 -54
  353. package/lib/components/calendar/ui/date-list/index.js.map +0 -1
  354. package/lib/components/calendar/ui/day-list/index.d.ts +0 -4
  355. package/lib/components/calendar/ui/day-list/index.js +0 -11
  356. package/lib/components/calendar/ui/day-list/index.js.map +0 -1
  357. package/lib/components/card/index.d.ts +0 -9
  358. package/lib/components/card/index.js +0 -80
  359. package/lib/components/card/index.js.map +0 -1
  360. package/lib/components/checkbox/index.d.ts +0 -9
  361. package/lib/components/checkbox/index.js +0 -59
  362. package/lib/components/checkbox/index.js.map +0 -1
  363. package/lib/components/countdown/index.d.ts +0 -20
  364. package/lib/components/countdown/index.js +0 -152
  365. package/lib/components/countdown/index.js.map +0 -1
  366. package/lib/components/countdown/item/index.d.ts +0 -9
  367. package/lib/components/countdown/item/index.js +0 -24
  368. package/lib/components/countdown/item/index.js.map +0 -1
  369. package/lib/components/curtain/index.d.ts +0 -10
  370. package/lib/components/curtain/index.js +0 -62
  371. package/lib/components/curtain/index.js.map +0 -1
  372. package/lib/components/divider/index.d.ts +0 -8
  373. package/lib/components/divider/index.js +0 -57
  374. package/lib/components/divider/index.js.map +0 -1
  375. package/lib/components/drawer/index.d.ts +0 -16
  376. package/lib/components/drawer/index.js +0 -114
  377. package/lib/components/drawer/index.js.map +0 -1
  378. package/lib/components/fab/index.d.ts +0 -9
  379. package/lib/components/fab/index.js +0 -29
  380. package/lib/components/fab/index.js.map +0 -1
  381. package/lib/components/flex/index.d.ts +0 -7
  382. package/lib/components/flex/index.js.map +0 -1
  383. package/lib/components/flex/item/index.d.ts +0 -7
  384. package/lib/components/flex/item/index.js +0 -34
  385. package/lib/components/flex/item/index.js.map +0 -1
  386. package/lib/components/float-layout/index.d.ts +0 -13
  387. package/lib/components/float-layout/index.js +0 -104
  388. package/lib/components/float-layout/index.js.map +0 -1
  389. package/lib/components/form/index.d.ts +0 -10
  390. package/lib/components/form/index.js +0 -43
  391. package/lib/components/form/index.js.map +0 -1
  392. package/lib/components/grid/index.d.ts +0 -9
  393. package/lib/components/grid/index.js +0 -101
  394. package/lib/components/grid/index.js.map +0 -1
  395. package/lib/components/icon/index.d.ts +0 -9
  396. package/lib/components/icon/index.js +0 -54
  397. package/lib/components/icon/index.js.map +0 -1
  398. package/lib/components/image-picker/index.d.ts +0 -11
  399. package/lib/components/image-picker/index.js +0 -164
  400. package/lib/components/image-picker/index.js.map +0 -1
  401. package/lib/components/indexes/index.d.ts +0 -29
  402. package/lib/components/indexes/index.js +0 -272
  403. package/lib/components/indexes/index.js.map +0 -1
  404. package/lib/components/input/index.d.ts +0 -17
  405. package/lib/components/input/index.js +0 -232
  406. package/lib/components/input/index.js.map +0 -1
  407. package/lib/components/input-number/index.d.ts +0 -13
  408. package/lib/components/input-number/index.js +0 -193
  409. package/lib/components/input-number/index.js.map +0 -1
  410. package/lib/components/list/index.d.ts +0 -8
  411. package/lib/components/list/index.js +0 -26
  412. package/lib/components/list/index.js.map +0 -1
  413. package/lib/components/list/item/index.d.ts +0 -11
  414. package/lib/components/list/item/index.js +0 -152
  415. package/lib/components/list/item/index.js.map +0 -1
  416. package/lib/components/load-more/index.d.ts +0 -9
  417. package/lib/components/load-more/index.js +0 -72
  418. package/lib/components/load-more/index.js.map +0 -1
  419. package/lib/components/loading/index.d.ts +0 -12
  420. package/lib/components/loading/index.js +0 -32
  421. package/lib/components/loading/index.js.map +0 -1
  422. package/lib/components/message/index.d.ts +0 -15
  423. package/lib/components/message/index.js +0 -78
  424. package/lib/components/message/index.js.map +0 -1
  425. package/lib/components/modal/action/index.d.ts +0 -8
  426. package/lib/components/modal/action/index.js +0 -26
  427. package/lib/components/modal/action/index.js.map +0 -1
  428. package/lib/components/modal/content/index.d.ts +0 -5
  429. package/lib/components/modal/content/index.js +0 -13
  430. package/lib/components/modal/content/index.js.map +0 -1
  431. package/lib/components/modal/header/index.d.ts +0 -5
  432. package/lib/components/modal/header/index.js +0 -13
  433. package/lib/components/modal/header/index.js.map +0 -1
  434. package/lib/components/modal/index.d.ts +0 -15
  435. package/lib/components/modal/index.js +0 -106
  436. package/lib/components/modal/index.js.map +0 -1
  437. package/lib/components/nav-bar/index.d.ts +0 -12
  438. package/lib/components/nav-bar/index.js +0 -217
  439. package/lib/components/nav-bar/index.js.map +0 -1
  440. package/lib/components/noticebar/index.d.ts +0 -16
  441. package/lib/components/noticebar/index.js +0 -186
  442. package/lib/components/noticebar/index.js.map +0 -1
  443. package/lib/components/pagination/index.d.ts +0 -12
  444. package/lib/components/pagination/index.js +0 -146
  445. package/lib/components/pagination/index.js.map +0 -1
  446. package/lib/components/progress/index.d.ts +0 -7
  447. package/lib/components/progress/index.js +0 -53
  448. package/lib/components/progress/index.js.map +0 -1
  449. package/lib/components/radio/index.d.ts +0 -9
  450. package/lib/components/radio/index.js +0 -54
  451. package/lib/components/radio/index.js.map +0 -1
  452. package/lib/components/range/index.d.ts +0 -22
  453. package/lib/components/range/index.js +0 -207
  454. package/lib/components/range/index.js.map +0 -1
  455. package/lib/components/rate/index.d.ts +0 -9
  456. package/lib/components/rate/index.js +0 -82
  457. package/lib/components/rate/index.js.map +0 -1
  458. package/lib/components/search-bar/index.d.ts +0 -16
  459. package/lib/components/search-bar/index.js +0 -176
  460. package/lib/components/search-bar/index.js.map +0 -1
  461. package/lib/components/segmented-control/index.d.ts +0 -9
  462. package/lib/components/segmented-control/index.js +0 -84
  463. package/lib/components/segmented-control/index.js.map +0 -1
  464. package/lib/components/slider/index.d.ts +0 -13
  465. package/lib/components/slider/index.js +0 -115
  466. package/lib/components/slider/index.js.map +0 -1
  467. package/lib/components/steps/index.d.ts +0 -9
  468. package/lib/components/steps/index.js +0 -67
  469. package/lib/components/steps/index.js.map +0 -1
  470. package/lib/components/swipe-action/index.d.ts +0 -27
  471. package/lib/components/swipe-action/index.js +0 -220
  472. package/lib/components/swipe-action/index.js.map +0 -1
  473. package/lib/components/swipe-action/options/index.d.ts +0 -5
  474. package/lib/components/swipe-action/options/index.js +0 -24
  475. package/lib/components/swipe-action/options/index.js.map +0 -1
  476. package/lib/components/switch/index.d.ts +0 -9
  477. package/lib/components/switch/index.js +0 -59
  478. package/lib/components/switch/index.js.map +0 -1
  479. package/lib/components/tab-bar/index.d.ts +0 -9
  480. package/lib/components/tab-bar/index.js +0 -170
  481. package/lib/components/tab-bar/index.js.map +0 -1
  482. package/lib/components/tabs/index.d.ts +0 -24
  483. package/lib/components/tabs/index.js +0 -219
  484. package/lib/components/tabs/index.js.map +0 -1
  485. package/lib/components/tabs-pane/index.d.ts +0 -8
  486. package/lib/components/tabs-pane/index.js +0 -43
  487. package/lib/components/tabs-pane/index.js.map +0 -1
  488. package/lib/components/tag/index.d.ts +0 -9
  489. package/lib/components/tag/index.js +0 -75
  490. package/lib/components/tag/index.js.map +0 -1
  491. package/lib/components/textarea/index.d.ts +0 -13
  492. package/lib/components/textarea/index.js +0 -141
  493. package/lib/components/textarea/index.js.map +0 -1
  494. package/lib/components/timeline/index.d.ts +0 -8
  495. package/lib/components/timeline/index.js +0 -76
  496. package/lib/components/timeline/index.js.map +0 -1
  497. package/lib/components/toast/img.json +0 -8
  498. package/lib/components/toast/index.d.ts +0 -16
  499. package/lib/components/toast/index.js +0 -124
  500. package/lib/components/toast/index.js.map +0 -1
  501. package/lib/index.js +0 -109
  502. package/lib/index.js.map +0 -1
  503. package/lib/style/index.css.map +0 -1
  504. /package/{lib → dist}/common/component.d.ts +0 -0
  505. /package/{lib → dist}/common/component.js +0 -0
  506. /package/{lib → dist}/common/component.js.map +0 -0
  507. /package/{lib → dist}/components/calendar/common/constant.d.ts +0 -0
  508. /package/{lib → dist}/components/calendar/common/constant.js +0 -0
  509. /package/{lib → dist}/components/calendar/common/constant.js.map +0 -0
  510. /package/{lib → dist}/components/calendar/common/helper.d.ts +0 -0
  511. /package/{lib → dist}/components/calendar/common/helper.js +0 -0
  512. /package/{lib → dist}/components/calendar/common/helper.js.map +0 -0
  513. /package/{lib → dist}/components/calendar/common/plugins.d.ts +0 -0
  514. /package/{lib → dist}/components/calendar/common/plugins.js +0 -0
  515. /package/{lib → dist}/components/calendar/common/plugins.js.map +0 -0
  516. /package/{lib → dist}/style/components/accordion.scss +0 -0
  517. /package/{lib → dist}/style/components/action-sheet.scss +0 -0
  518. /package/{lib → dist}/style/components/activity-indicator.scss +0 -0
  519. /package/{lib → dist}/style/components/article.scss +0 -0
  520. /package/{lib → dist}/style/components/button.scss +0 -0
  521. /package/{lib → dist}/style/components/card.scss +0 -0
  522. /package/{lib → dist}/style/components/checkbox.scss +0 -0
  523. /package/{lib → dist}/style/components/curtain.scss +0 -0
  524. /package/{lib → dist}/style/components/divider.scss +0 -0
  525. /package/{lib → dist}/style/components/drawer.scss +0 -0
  526. /package/{lib → dist}/style/components/fab.scss +0 -0
  527. /package/{lib → dist}/style/components/float-layout.scss +0 -0
  528. /package/{lib → dist}/style/components/form.scss +0 -0
  529. /package/{lib → dist}/style/components/image-picker.scss +0 -0
  530. /package/{lib → dist}/style/components/index.scss +0 -0
  531. /package/{lib → dist}/style/components/indexes.scss +0 -0
  532. /package/{lib → dist}/style/components/input-number.scss +0 -0
  533. /package/{lib → dist}/style/components/list.scss +0 -0
  534. /package/{lib → dist}/style/components/load-more.scss +0 -0
  535. /package/{lib → dist}/style/components/loading.scss +0 -0
  536. /package/{lib → dist}/style/components/message.scss +0 -0
  537. /package/{lib → dist}/style/components/modal.scss +0 -0
  538. /package/{lib → dist}/style/components/nav-bar.scss +0 -0
  539. /package/{lib → dist}/style/components/noticebar.scss +0 -0
  540. /package/{lib → dist}/style/components/pagination.scss +0 -0
  541. /package/{lib → dist}/style/components/radio.scss +0 -0
  542. /package/{lib → dist}/style/components/range.scss +0 -0
  543. /package/{lib → dist}/style/components/rate.scss +0 -0
  544. /package/{lib → dist}/style/components/segmented-control.scss +0 -0
  545. /package/{lib → dist}/style/components/slider.scss +0 -0
  546. /package/{lib → dist}/style/components/swipe-action.scss +0 -0
  547. /package/{lib → dist}/style/components/switch.scss +0 -0
  548. /package/{lib → dist}/style/components/tab-bar.scss +0 -0
  549. /package/{lib → dist}/style/components/textarea.scss +0 -0
  550. /package/{lib → dist}/style/index.scss +0 -0
  551. /package/{lib → dist}/style/mixins/index.scss +0 -0
  552. /package/{lib → dist}/style/mixins/libs/absolute-center.scss +0 -0
  553. /package/{lib → dist}/style/mixins/libs/active.scss +0 -0
  554. /package/{lib → dist}/style/mixins/libs/alignhack.scss +0 -0
  555. /package/{lib → dist}/style/mixins/libs/border.scss +0 -0
  556. /package/{lib → dist}/style/mixins/libs/clearfix.scss +0 -0
  557. /package/{lib → dist}/style/mixins/libs/disabled.scss +0 -0
  558. /package/{lib → dist}/style/mixins/libs/flex.scss +0 -0
  559. /package/{lib → dist}/style/mixins/libs/line.scss +0 -0
  560. /package/{lib → dist}/style/mixins/libs/overlay.scss +0 -0
  561. /package/{lib → dist}/style/mixins/libs/placeholder.scss +0 -0
@@ -1,9 +0,0 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
3
- import { AtIconProps } from '../../../types/icon';
4
- export default class AtIcon extends React.Component<AtIconProps> {
5
- static defaultProps: AtIconProps;
6
- static propTypes: InferProps<AtIconProps>;
7
- private handleClick;
8
- render(): JSX.Element;
9
- }
@@ -1,54 +0,0 @@
1
- import classNames from "classnames";
2
- import PropTypes from "prop-types";
3
- import React from "react";
4
- import { Text } from "@tarojs/components";
5
- import { mergeStyle, pxTransform } from "../../common/utils";
6
- class AtIcon extends React.Component {
7
- handleClick() {
8
- this.props.onClick && this.props.onClick(arguments);
9
- }
10
- render() {
11
- const {
12
- customStyle = {},
13
- className,
14
- prefixClass,
15
- value,
16
- size,
17
- color
18
- } = this.props;
19
- const rootStyle = {
20
- fontSize: `${pxTransform(parseInt(String(size)) * 2)}`,
21
- color
22
- };
23
- const iconName = value ? `${prefixClass}-${value}` : "";
24
- return /* @__PURE__ */ React.createElement(
25
- Text,
26
- {
27
- className: classNames(prefixClass, iconName, className),
28
- style: mergeStyle(rootStyle, customStyle),
29
- onClick: this.handleClick.bind(this)
30
- }
31
- );
32
- }
33
- }
34
- AtIcon.defaultProps = {
35
- customStyle: "",
36
- className: "",
37
- prefixClass: "at-icon",
38
- value: "",
39
- color: "",
40
- size: 24
41
- };
42
- AtIcon.propTypes = {
43
- customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
44
- className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
45
- prefixClass: PropTypes.string,
46
- value: PropTypes.string,
47
- color: PropTypes.string,
48
- size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
49
- onClick: PropTypes.func
50
- };
51
- export {
52
- AtIcon as default
53
- };
54
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["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"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,OAAO,eAA+B;AACtC,OAAO,WAAW;AAClB,SAAS,YAAY;AAErB,SAAS,YAAY,mBAAmB;AAExC,MAAO,eAA6B,MAAM,UAAuB;AAAA,EAIvD,cAAoB;AAC1B,SAAK,MAAM,WAAW,KAAK,MAAM,QAAQ,SAAgB;AAAA,EAC3D;AAAA,EAEO,SAAsB;AAC3B,UAAM;AAAA,MACJ,cAAc,CAAC;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,KAAK;AAET,UAAM,YAAY;AAAA,MAChB,UAAU,GAAG,YAAY,SAAS,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,MACpD;AAAA,IACF;AAEA,UAAM,WAAW,QAAQ,GAAG,WAAW,IAAI,KAAK,KAAK;AACrD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,WAAW,aAAa,UAAU,SAAS;AAAA,QACtD,OAAO,WAAW,WAAW,WAAW;AAAA,QACxC,SAAS,KAAK,YAAY,KAAK,IAAI;AAAA;AAAA,IACpC;AAAA,EAEL;AACF;AAEA,OAAO,eAAe;AAAA,EACpB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,aAAa;AAAA,EACb,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AACR;AAEA,OAAO,YAAY;AAAA,EACjB,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EACrE,WAAW,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,MAAM,CAAC;AAAA,EAClE,aAAa,UAAU;AAAA,EACvB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU;AAAA,EACjB,MAAM,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAC9D,SAAS,UAAU;AACrB;","names":[]}
@@ -1,11 +0,0 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
3
- import { AtImagePickerProps } from '../../../types/image-picker';
4
- export default class AtImagePicker extends React.Component<AtImagePickerProps> {
5
- static defaultProps: AtImagePickerProps;
6
- static propTypes: InferProps<AtImagePickerProps>;
7
- private chooseFile;
8
- private handleImageClick;
9
- private handleRemoveImg;
10
- render(): JSX.Element;
11
- }
@@ -1,164 +0,0 @@
1
- import classNames from "classnames";
2
- import PropTypes from "prop-types";
3
- import React from "react";
4
- import { Image, View } from "@tarojs/components";
5
- import Taro from "@tarojs/taro";
6
- import { uuid } from "../../common/utils";
7
- const generateMatrix = (files, col, showAddBtn) => {
8
- const matrix = [];
9
- const length = showAddBtn ? files.length + 1 : files.length;
10
- const row = Math.ceil(length / col);
11
- for (let i = 0; i < row; i++) {
12
- if (i === row - 1) {
13
- const lastArr = files.slice(i * col);
14
- if (lastArr.length < col) {
15
- if (showAddBtn) {
16
- lastArr.push({ type: "btn", uuid: uuid() });
17
- }
18
- for (let j = lastArr.length; j < col; j++) {
19
- lastArr.push({ type: "blank", uuid: uuid() });
20
- }
21
- }
22
- matrix.push(lastArr);
23
- } else {
24
- matrix.push(files.slice(i * col, (i + 1) * col));
25
- }
26
- }
27
- return matrix;
28
- };
29
- const ENV = Taro.getEnv();
30
- class AtImagePicker extends React.Component {
31
- constructor() {
32
- super(...arguments);
33
- this.chooseFile = () => {
34
- const { files = [], multiple, count, sizeType, sourceType } = this.props;
35
- const filePathName = ENV === Taro.ENV_TYPE.ALIPAY ? "apFilePaths" : "tempFiles";
36
- const params = {};
37
- if (multiple) {
38
- params.count = 99;
39
- }
40
- if (count) {
41
- params.count = count;
42
- }
43
- if (sizeType) {
44
- params.sizeType = sizeType;
45
- }
46
- if (sourceType) {
47
- params.sourceType = sourceType;
48
- }
49
- Taro.chooseImage(params).then((res) => {
50
- const targetFiles = res.tempFilePaths.map((path, i) => ({
51
- url: path,
52
- file: res[filePathName][i]
53
- }));
54
- const newFiles = files.concat(targetFiles);
55
- this.props.onChange(newFiles, "add");
56
- }).catch((err) => {
57
- var _a, _b;
58
- (_b = (_a = this.props) == null ? void 0 : _a.onFail) == null ? void 0 : _b.call(_a, err);
59
- });
60
- };
61
- this.handleImageClick = (idx) => {
62
- this.props.onImageClick && this.props.onImageClick(idx, this.props.files[idx]);
63
- };
64
- this.handleRemoveImg = (idx, event) => {
65
- event.stopPropagation();
66
- event.preventDefault();
67
- const { files = [] } = this.props;
68
- if (ENV === Taro.ENV_TYPE.WEB) {
69
- window.URL.revokeObjectURL(files[idx].url);
70
- }
71
- const newFiles = files.filter((_, i) => i !== idx);
72
- this.props.onChange(newFiles, "remove", idx);
73
- };
74
- }
75
- render() {
76
- const {
77
- className,
78
- customStyle,
79
- files,
80
- mode,
81
- length = 4,
82
- showAddBtn = true
83
- } = this.props;
84
- const rowLength = length <= 0 ? 1 : length;
85
- const matrix = generateMatrix(files, rowLength, showAddBtn);
86
- const rootCls = classNames("at-image-picker", className);
87
- return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, matrix.map((row, i) => /* @__PURE__ */ React.createElement(View, { className: "at-image-picker__flex-box", key: i + 1 }, row.map(
88
- (item, j) => item.url ? /* @__PURE__ */ React.createElement(
89
- View,
90
- {
91
- className: "at-image-picker__flex-item",
92
- key: i * length + j
93
- },
94
- /* @__PURE__ */ React.createElement(View, { className: "at-image-picker__item" }, /* @__PURE__ */ React.createElement(
95
- View,
96
- {
97
- className: "at-image-picker__remove-btn",
98
- onClick: this.handleRemoveImg.bind(this, i * length + j)
99
- }
100
- ), /* @__PURE__ */ React.createElement(
101
- Image,
102
- {
103
- className: "at-image-picker__preview-img",
104
- mode,
105
- src: item.url,
106
- onClick: this.handleImageClick.bind(this, i * length + j)
107
- }
108
- ))
109
- ) : /* @__PURE__ */ React.createElement(
110
- View,
111
- {
112
- className: "at-image-picker__flex-item",
113
- key: `empty_${i * length}${j}`
114
- },
115
- item.type === "btn" && /* @__PURE__ */ React.createElement(View, { onClick: this.chooseFile }, this.props.children || /* @__PURE__ */ React.createElement(View, { className: "at-image-picker__item at-image-picker__choose-btn" }, /* @__PURE__ */ React.createElement(View, { className: "add-bar" }), /* @__PURE__ */ React.createElement(View, { className: "add-bar" })))
116
- )
117
- ))));
118
- }
119
- }
120
- AtImagePicker.defaultProps = {
121
- className: "",
122
- customStyle: "",
123
- files: [],
124
- mode: "aspectFill",
125
- showAddBtn: true,
126
- multiple: false,
127
- length: 4,
128
- // eslint-disable-next-line @typescript-eslint/no-empty-function
129
- onChange: () => {
130
- }
131
- };
132
- AtImagePicker.propTypes = {
133
- className: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
134
- customStyle: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
135
- files: PropTypes.array,
136
- mode: PropTypes.oneOf([
137
- "scaleToFill",
138
- "aspectFit",
139
- "aspectFill",
140
- "widthFix",
141
- "top",
142
- "bottom",
143
- "center",
144
- "left",
145
- "right",
146
- "top left",
147
- "top right",
148
- "bottom left",
149
- "bottom right"
150
- ]),
151
- showAddBtn: PropTypes.bool,
152
- multiple: PropTypes.bool,
153
- length: PropTypes.number,
154
- onChange: PropTypes.func,
155
- onImageClick: PropTypes.func,
156
- onFail: PropTypes.func,
157
- count: PropTypes.number,
158
- sizeType: PropTypes.array,
159
- sourceType: PropTypes.array
160
- };
161
- export {
162
- AtImagePicker as default
163
- };
164
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/image-picker/index.tsx"],"sourcesContent":["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"],"mappings":"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","names":[]}
@@ -1,29 +0,0 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
3
- import { AtIndexesProps, AtIndexesState } from '../../../types/indexes';
4
- export default class AtIndexes extends React.Component<AtIndexesProps, AtIndexesState> {
5
- static defaultProps: AtIndexesProps;
6
- static propTypes: InferProps<AtIndexesProps>;
7
- private menuHeight;
8
- private startTop;
9
- private itemHeight;
10
- private currentIndex;
11
- private listId;
12
- private timeoutTimer;
13
- private listRef;
14
- private indexMap;
15
- constructor(props: AtIndexesProps);
16
- private handleClick;
17
- private handleTouchMove;
18
- private handleTouchEnd;
19
- private jumpTarget;
20
- private __jumpTarget;
21
- private updateState;
22
- private initData;
23
- private handleScroll;
24
- private getAnchorIndex;
25
- UNSAFE_componentWillReceiveProps(nextProps: AtIndexesProps): void;
26
- componentDidMount(): void;
27
- UNSAFE_componentWillMount(): void;
28
- render(): JSX.Element;
29
- }
@@ -1,272 +0,0 @@
1
- import classNames from "classnames";
2
- import PropTypes from "prop-types";
3
- import React from "react";
4
- import { ScrollView, View } from "@tarojs/components";
5
- import Taro from "@tarojs/taro";
6
- import {
7
- delayQuerySelector,
8
- isTest,
9
- pxTransform,
10
- uuid
11
- } from "../../common/utils";
12
- import AtList from "../list/index";
13
- import AtListItem from "../list/item/index";
14
- import AtToast from "../toast/index";
15
- const ENV = Taro.getEnv();
16
- class AtIndexes extends React.Component {
17
- constructor(props) {
18
- super(props);
19
- this.handleClick = (item) => {
20
- this.props.onClick && this.props.onClick(item);
21
- };
22
- this.handleTouchMove = (event) => {
23
- event.stopPropagation();
24
- event.preventDefault();
25
- const { list } = this.props;
26
- const pageY = event.touches[0].pageY;
27
- const index = Math.floor((pageY - this.startTop) / this.itemHeight);
28
- if (index >= 0 && index <= list.length && this.currentIndex !== index) {
29
- this.currentIndex = index;
30
- const key = index > 0 ? list[index - 1].key : "top";
31
- const touchView = `at-indexes__list-${key}`;
32
- this.jumpTarget(touchView, index);
33
- }
34
- };
35
- this.handleTouchEnd = () => {
36
- this.currentIndex = -1;
37
- };
38
- this.state = {
39
- _scrollIntoView: "",
40
- _scrollTop: 0,
41
- _tipText: "",
42
- _isShowToast: false,
43
- isWEB: Taro.getEnv() === Taro.ENV_TYPE.WEB,
44
- currentIndex: -1
45
- };
46
- this.menuHeight = 0;
47
- this.startTop = 0;
48
- this.itemHeight = 0;
49
- this.currentIndex = -1;
50
- this.listId = isTest() ? "indexes-list-AOTU2018" : `list-${uuid()}`;
51
- this.indexMap = [];
52
- }
53
- jumpTarget(_scrollIntoView, idx) {
54
- const { topKey = "Top", list } = this.props;
55
- const _tipText = idx === 0 ? topKey : list[idx - 1].key;
56
- if (ENV === Taro.ENV_TYPE.WEB) {
57
- delayQuerySelector(".at-indexes", 0).then((rect) => {
58
- const targetOffsetTop = this.listRef.children[idx].offsetTop;
59
- const _scrollTop = targetOffsetTop - rect[0].top;
60
- this.updateState({
61
- _scrollTop,
62
- _scrollIntoView,
63
- _tipText
64
- });
65
- });
66
- return;
67
- }
68
- this.updateState({
69
- _scrollIntoView,
70
- _tipText
71
- });
72
- }
73
- __jumpTarget(key) {
74
- const { list } = this.props;
75
- const index = list.findIndex((item) => item.key === key);
76
- const targetView = `at-indexes__list-${key}`;
77
- this.jumpTarget(targetView, index + 1);
78
- }
79
- updateState(state) {
80
- const { isShowToast, isVibrate } = this.props;
81
- const { _scrollIntoView, _tipText, _scrollTop } = state;
82
- this.setState(
83
- {
84
- _scrollIntoView,
85
- _tipText,
86
- _scrollTop,
87
- _isShowToast: isShowToast
88
- },
89
- /* eslint-enable @typescript-eslint/no-non-null-assertion */
90
- () => {
91
- clearTimeout(this.timeoutTimer);
92
- this.timeoutTimer = setTimeout(() => {
93
- this.setState({
94
- _tipText: "",
95
- _isShowToast: false
96
- });
97
- }, 3e3);
98
- }
99
- );
100
- if (isVibrate) {
101
- Taro.vibrateShort();
102
- }
103
- }
104
- async initData() {
105
- var _a, _b, _c, _d;
106
- delayQuerySelector(".at-indexes__menu").then((rect) => {
107
- const len = this.props.list.length;
108
- this.menuHeight = rect[0].height;
109
- this.startTop = rect[0].top;
110
- this.itemHeight = Math.floor(this.menuHeight / (len + 1));
111
- });
112
- const headerHeight = ((_b = (_a = await delayQuerySelector("#at-indexes__top")) == null ? void 0 : _a[0]) == null ? void 0 : _b.height) || 0;
113
- const itemHeight = ((_c = await delayQuerySelector(".at-list__item")) == null ? void 0 : _c[0].height) || 0;
114
- const titleHeight = ((_d = await delayQuerySelector(".at-indexes__list-title")) == null ? void 0 : _d[0].height) || 0;
115
- this.indexMap = [];
116
- this.props.list.forEach((dataList, i) => {
117
- if (i === 0) {
118
- this.indexMap.push({
119
- key: dataList.key,
120
- startHeight: headerHeight,
121
- endHeight: dataList.items.length * itemHeight + headerHeight + titleHeight
122
- });
123
- } else {
124
- const prev = this.indexMap[i - 1];
125
- this.indexMap.push({
126
- key: dataList.key,
127
- startHeight: prev.endHeight,
128
- endHeight: prev.endHeight + dataList.items.length * itemHeight + titleHeight
129
- });
130
- }
131
- });
132
- }
133
- handleScroll(e) {
134
- if (e && e.detail) {
135
- const scrollTop = e.detail.scrollTop;
136
- this.setState({
137
- _scrollTop: scrollTop
138
- });
139
- this.getAnchorIndex(scrollTop);
140
- }
141
- }
142
- // 根据滚动高度,判断当前应该显示的索引值
143
- getAnchorIndex(scrollTop) {
144
- const index = this.indexMap.findIndex((item) => {
145
- return scrollTop >= item.startHeight && scrollTop < item.endHeight;
146
- });
147
- this.setState({
148
- currentIndex: index
149
- });
150
- }
151
- UNSAFE_componentWillReceiveProps(nextProps) {
152
- if (nextProps.list.length !== this.props.list.length) {
153
- this.initData();
154
- }
155
- }
156
- componentDidMount() {
157
- if (ENV === Taro.ENV_TYPE.WEB) {
158
- this.listRef = document.getElementById(this.listId);
159
- }
160
- this.initData();
161
- }
162
- UNSAFE_componentWillMount() {
163
- this.props.onScrollIntoView && this.props.onScrollIntoView(this.__jumpTarget.bind(this));
164
- }
165
- render() {
166
- const { className, customStyle, animation, topKey, list } = this.props;
167
- const {
168
- _scrollTop,
169
- _scrollIntoView,
170
- _tipText,
171
- _isShowToast,
172
- isWEB,
173
- currentIndex
174
- } = this.state;
175
- const toastStyle = { minWidth: pxTransform(100) };
176
- const rootCls = classNames("at-indexes", className);
177
- const menuList = list.map((dataList, i) => {
178
- const { key } = dataList;
179
- const targetView = `at-indexes__list-${key}`;
180
- return /* @__PURE__ */ React.createElement(
181
- View,
182
- {
183
- className: classNames("at-indexes__menu-item", {
184
- "at-indexes__menu-item--active": currentIndex === i
185
- }),
186
- key,
187
- onClick: this.jumpTarget.bind(this, targetView, i + 1)
188
- },
189
- key
190
- );
191
- });
192
- const indexesList = list.map((dataList) => /* @__PURE__ */ React.createElement(
193
- View,
194
- {
195
- id: `at-indexes__list-${dataList.key}`,
196
- className: "at-indexes__list",
197
- key: dataList.key
198
- },
199
- /* @__PURE__ */ React.createElement(View, { className: "at-indexes__list-title" }, dataList.title),
200
- /* @__PURE__ */ React.createElement(AtList, null, dataList.items && dataList.items.map((item) => /* @__PURE__ */ React.createElement(
201
- AtListItem,
202
- {
203
- key: item.name,
204
- title: item.name,
205
- onClick: this.handleClick.bind(this, item)
206
- }
207
- )))
208
- ));
209
- return /* @__PURE__ */ React.createElement(View, { className: rootCls, style: customStyle }, /* @__PURE__ */ React.createElement(
210
- AtToast,
211
- {
212
- customStyle: toastStyle,
213
- isOpened: _isShowToast,
214
- text: _tipText,
215
- duration: 2e3
216
- }
217
- ), /* @__PURE__ */ React.createElement(
218
- View,
219
- {
220
- className: "at-indexes__menu",
221
- onTouchMove: this.handleTouchMove,
222
- onTouchEnd: this.handleTouchEnd
223
- },
224
- /* @__PURE__ */ React.createElement(
225
- View,
226
- {
227
- className: "at-indexes__menu-item",
228
- onClick: this.jumpTarget.bind(this, "at-indexes__top", 0)
229
- },
230
- topKey
231
- ),
232
- menuList
233
- ), /* @__PURE__ */ React.createElement(
234
- ScrollView,
235
- {
236
- className: "at-indexes__body",
237
- id: this.listId,
238
- scrollY: true,
239
- scrollWithAnimation: animation,
240
- scrollTop: isWEB ? _scrollTop : void 0,
241
- scrollIntoView: !isWEB ? _scrollIntoView : "",
242
- onScroll: this.handleScroll.bind(this)
243
- },
244
- /* @__PURE__ */ React.createElement(View, { className: "at-indexes__content", id: "at-indexes__top" }, this.props.children),
245
- indexesList
246
- ));
247
- }
248
- }
249
- AtIndexes.propTypes = {
250
- customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
251
- className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
252
- animation: PropTypes.bool,
253
- isVibrate: PropTypes.bool,
254
- isShowToast: PropTypes.bool,
255
- topKey: PropTypes.string,
256
- list: PropTypes.array,
257
- onClick: PropTypes.func,
258
- onScrollIntoView: PropTypes.func
259
- };
260
- AtIndexes.defaultProps = {
261
- customStyle: "",
262
- className: "",
263
- animation: false,
264
- topKey: "Top",
265
- isVibrate: true,
266
- isShowToast: true,
267
- list: []
268
- };
269
- export {
270
- AtIndexes as default
271
- };
272
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/indexes/index.tsx"],"sourcesContent":["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"],"mappings":"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","names":[]}
@@ -1,17 +0,0 @@
1
- import { InferProps } from 'prop-types';
2
- import React from 'react';
3
- import { AtInputProps } from '../../../types/input';
4
- export default class AtInput extends React.Component<AtInputProps> {
5
- static defaultProps: AtInputProps;
6
- static propTypes: InferProps<AtInputProps>;
7
- private inputClearing;
8
- private handleInput;
9
- private handleFocus;
10
- private handleBlur;
11
- private handleConfirm;
12
- private handleClick;
13
- private handleClearValue;
14
- private handleKeyboardHeightChange;
15
- private handleErrorClick;
16
- render(): JSX.Element;
17
- }