@arco-design/mobile-react 2.19.1 → 2.21.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 (424) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.en-US.md +6 -6
  3. package/README.md +6 -6
  4. package/cjs/_helpers/type.d.ts +1 -1
  5. package/cjs/avatar/group.js +1 -1
  6. package/cjs/avatar/index.d.ts +1 -1
  7. package/cjs/avatar/index.js +11 -14
  8. package/cjs/avatar/style/css/index.css +96 -126
  9. package/cjs/avatar/style/index.less +54 -72
  10. package/cjs/badge/index.d.ts +1 -1
  11. package/cjs/badge/index.js +7 -9
  12. package/cjs/badge/style/css/index.css +5 -5
  13. package/cjs/badge/style/index.less +5 -5
  14. package/cjs/button/hooks.d.ts +1 -2
  15. package/cjs/button/hooks.js +5 -3
  16. package/cjs/button/index.d.ts +6 -0
  17. package/cjs/button/index.js +38 -33
  18. package/cjs/button/style/css/index.css +75 -310
  19. package/cjs/button/style/index.less +32 -38
  20. package/cjs/carousel/index.d.ts +1 -1
  21. package/cjs/carousel/index.js +1 -1
  22. package/cjs/cell/index.d.ts +1 -1
  23. package/cjs/cell/index.js +1 -1
  24. package/cjs/checkbox/index.d.ts +1 -1
  25. package/cjs/checkbox/index.js +1 -1
  26. package/cjs/collapse/index.d.ts +1 -1
  27. package/cjs/collapse/index.js +1 -1
  28. package/cjs/count-down/demo/style/mobile.less +1 -1
  29. package/cjs/count-down/index.d.ts +1 -1
  30. package/cjs/count-down/index.js +1 -1
  31. package/cjs/date-picker/index.d.ts +1 -1
  32. package/cjs/date-picker/index.js +1 -1
  33. package/cjs/dropdown/dropdown.d.ts +3 -0
  34. package/cjs/dropdown/dropdown.js +322 -0
  35. package/cjs/dropdown/index.d.ts +3 -4
  36. package/cjs/dropdown/index.js +3 -303
  37. package/cjs/dropdown/options.js +2 -1
  38. package/cjs/dropdown/style/css/index.css +3 -0
  39. package/cjs/dropdown/style/index.less +2 -0
  40. package/cjs/dropdown/type.d.ts +20 -9
  41. package/cjs/dropdown-menu/dropdown-menu.d.ts +4 -0
  42. package/cjs/dropdown-menu/dropdown-menu.js +273 -0
  43. package/cjs/dropdown-menu/helper.d.ts +1 -1
  44. package/cjs/dropdown-menu/index.d.ts +2 -3
  45. package/cjs/dropdown-menu/index.js +2 -245
  46. package/cjs/dropdown-menu/type.d.ts +21 -20
  47. package/cjs/ellipsis/index.d.ts +1 -1
  48. package/cjs/ellipsis/index.js +1 -1
  49. package/cjs/grid/index.js +13 -12
  50. package/cjs/image/index.d.ts +1 -2
  51. package/cjs/image/index.js +14 -9
  52. package/cjs/image/style/css/index.css +2 -1
  53. package/cjs/image/style/index.less +2 -1
  54. package/cjs/image-picker/add-icon.d.ts +2 -0
  55. package/cjs/image-picker/add-icon.js +22 -0
  56. package/cjs/image-picker/demo/style/css/mobile.css +40 -0
  57. package/cjs/image-picker/demo/style/mobile.less +42 -0
  58. package/cjs/image-picker/index.d.ts +13 -0
  59. package/cjs/image-picker/index.js +331 -0
  60. package/cjs/image-picker/style/css/index.css +147 -0
  61. package/cjs/image-picker/style/css/index.d.ts +2 -0
  62. package/cjs/image-picker/style/css/index.js +5 -0
  63. package/cjs/image-picker/style/index.d.ts +2 -0
  64. package/cjs/image-picker/style/index.js +5 -0
  65. package/cjs/image-picker/style/index.less +116 -0
  66. package/cjs/image-picker/type.d.ts +174 -0
  67. package/cjs/image-picker/type.js +3 -0
  68. package/cjs/image-preview/index.d.ts +3 -3
  69. package/cjs/image-preview/index.js +1 -1
  70. package/cjs/index.d.ts +3 -0
  71. package/cjs/index.js +13 -1
  72. package/cjs/input/hooks.js +49 -8
  73. package/cjs/input/index.d.ts +1 -1
  74. package/cjs/input/index.js +1 -1
  75. package/cjs/input/props.d.ts +8 -2
  76. package/cjs/nav-bar/index.js +7 -2
  77. package/cjs/notice-bar/index.d.ts +1 -1
  78. package/cjs/notice-bar/index.js +1 -1
  79. package/cjs/picker/index.d.ts +1 -1
  80. package/cjs/picker/index.js +1 -1
  81. package/cjs/picker-view/index.d.ts +1 -1
  82. package/cjs/picker-view/index.js +1 -1
  83. package/cjs/popover/index.d.ts +1 -1
  84. package/cjs/popover/index.js +1 -1
  85. package/cjs/popup-swiper/index.js +3 -2
  86. package/cjs/radio/index.d.ts +1 -1
  87. package/cjs/radio/index.js +1 -1
  88. package/cjs/rate/index.d.ts +1 -1
  89. package/cjs/rate/index.js +1 -1
  90. package/cjs/search-bar/association.d.ts +3 -0
  91. package/cjs/search-bar/association.js +92 -0
  92. package/cjs/search-bar/cancel-button.d.ts +10 -0
  93. package/cjs/search-bar/cancel-button.js +41 -0
  94. package/cjs/search-bar/demo/style/css/mobile.css +5 -0
  95. package/cjs/search-bar/demo/style/mobile.less +9 -0
  96. package/cjs/search-bar/highlight.d.ts +12 -0
  97. package/cjs/search-bar/highlight.js +77 -0
  98. package/cjs/search-bar/index.d.ts +13 -0
  99. package/cjs/search-bar/index.js +239 -0
  100. package/cjs/search-bar/style/css/index.css +148 -0
  101. package/cjs/search-bar/style/css/index.d.ts +2 -0
  102. package/cjs/search-bar/style/css/index.js +5 -0
  103. package/cjs/search-bar/style/index.d.ts +2 -0
  104. package/cjs/search-bar/style/index.js +5 -0
  105. package/cjs/search-bar/style/index.less +111 -0
  106. package/cjs/search-bar/type.d.ts +163 -0
  107. package/cjs/search-bar/type.js +3 -0
  108. package/cjs/show-monitor/index.js +31 -3
  109. package/cjs/slider/index.d.ts +1 -1
  110. package/cjs/slider/index.js +1 -1
  111. package/cjs/steps/demo/style/css/mobile.css +1 -1
  112. package/cjs/steps/demo/style/mobile.less +1 -1
  113. package/cjs/steps/index.d.ts +1 -1
  114. package/cjs/steps/index.js +1 -1
  115. package/cjs/steps/style/css/index.css +5 -15
  116. package/cjs/steps/style/index.less +6 -10
  117. package/cjs/sticky/index.d.ts +1 -1
  118. package/cjs/style.d.ts +3 -0
  119. package/cjs/style.js +6 -0
  120. package/cjs/swipe-action/demo/style/css/mobile.css +5 -0
  121. package/cjs/swipe-action/demo/style/mobile.less +9 -0
  122. package/cjs/swipe-action/index.d.ts +12 -0
  123. package/cjs/swipe-action/index.js +339 -0
  124. package/cjs/swipe-action/item.d.ts +11 -0
  125. package/cjs/swipe-action/item.js +52 -0
  126. package/cjs/swipe-action/style/css/index.css +88 -0
  127. package/cjs/swipe-action/style/css/index.d.ts +2 -0
  128. package/cjs/swipe-action/style/css/index.js +5 -0
  129. package/cjs/swipe-action/style/index.d.ts +2 -0
  130. package/cjs/swipe-action/style/index.js +5 -0
  131. package/cjs/swipe-action/style/index.less +89 -0
  132. package/cjs/swipe-action/type.d.ts +123 -0
  133. package/cjs/swipe-action/type.js +3 -0
  134. package/cjs/switch/index.d.ts +1 -1
  135. package/cjs/switch/index.js +1 -1
  136. package/cjs/tabs/tab-pane.js +5 -1
  137. package/cjs/tag/index.d.ts +1 -1
  138. package/cjs/tag/index.js +1 -1
  139. package/cjs/textarea/index.d.ts +1 -1
  140. package/cjs/textarea/index.js +1 -1
  141. package/dist/index.js +8040 -6845
  142. package/dist/index.min.js +6 -7
  143. package/dist/style.css +497 -447
  144. package/dist/style.min.css +1 -1
  145. package/esm/_helpers/type.d.ts +1 -1
  146. package/esm/avatar/group.js +1 -1
  147. package/esm/avatar/index.d.ts +1 -1
  148. package/esm/avatar/index.js +11 -14
  149. package/esm/avatar/style/css/index.css +96 -126
  150. package/esm/avatar/style/index.less +54 -72
  151. package/esm/badge/index.d.ts +1 -1
  152. package/esm/badge/index.js +7 -9
  153. package/esm/badge/style/css/index.css +5 -5
  154. package/esm/badge/style/index.less +5 -5
  155. package/esm/button/hooks.d.ts +1 -2
  156. package/esm/button/hooks.js +5 -3
  157. package/esm/button/index.d.ts +6 -0
  158. package/esm/button/index.js +40 -35
  159. package/esm/button/style/css/index.css +75 -310
  160. package/esm/button/style/index.less +32 -38
  161. package/esm/carousel/index.d.ts +1 -1
  162. package/esm/carousel/index.js +1 -1
  163. package/esm/cell/index.d.ts +1 -1
  164. package/esm/cell/index.js +1 -1
  165. package/esm/checkbox/index.d.ts +1 -1
  166. package/esm/checkbox/index.js +1 -1
  167. package/esm/collapse/index.d.ts +1 -1
  168. package/esm/collapse/index.js +1 -1
  169. package/esm/count-down/demo/style/mobile.less +1 -1
  170. package/esm/count-down/index.d.ts +1 -1
  171. package/esm/count-down/index.js +1 -1
  172. package/esm/date-picker/index.d.ts +1 -1
  173. package/esm/date-picker/index.js +1 -1
  174. package/esm/dropdown/dropdown.d.ts +3 -0
  175. package/esm/dropdown/dropdown.js +304 -0
  176. package/esm/dropdown/index.d.ts +3 -4
  177. package/esm/dropdown/index.js +3 -293
  178. package/esm/dropdown/options.js +2 -1
  179. package/esm/dropdown/style/css/index.css +3 -0
  180. package/esm/dropdown/style/index.less +2 -0
  181. package/esm/dropdown/type.d.ts +20 -9
  182. package/esm/dropdown-menu/dropdown-menu.d.ts +4 -0
  183. package/esm/dropdown-menu/dropdown-menu.js +256 -0
  184. package/esm/dropdown-menu/helper.d.ts +1 -1
  185. package/esm/dropdown-menu/index.d.ts +2 -3
  186. package/esm/dropdown-menu/index.js +2 -237
  187. package/esm/dropdown-menu/type.d.ts +21 -20
  188. package/esm/ellipsis/index.d.ts +1 -1
  189. package/esm/ellipsis/index.js +1 -1
  190. package/esm/grid/index.js +13 -12
  191. package/esm/image/index.d.ts +1 -2
  192. package/esm/image/index.js +15 -10
  193. package/esm/image/style/css/index.css +2 -1
  194. package/esm/image/style/index.less +2 -1
  195. package/esm/image-picker/add-icon.d.ts +2 -0
  196. package/esm/image-picker/add-icon.js +14 -0
  197. package/esm/image-picker/demo/style/css/mobile.css +40 -0
  198. package/esm/image-picker/demo/style/mobile.less +42 -0
  199. package/esm/image-picker/index.d.ts +13 -0
  200. package/esm/image-picker/index.js +302 -0
  201. package/esm/image-picker/style/css/index.css +147 -0
  202. package/esm/image-picker/style/css/index.d.ts +2 -0
  203. package/esm/image-picker/style/css/index.js +2 -0
  204. package/esm/image-picker/style/index.d.ts +2 -0
  205. package/esm/image-picker/style/index.js +2 -0
  206. package/esm/image-picker/style/index.less +116 -0
  207. package/esm/image-picker/type.d.ts +174 -0
  208. package/esm/image-picker/type.js +1 -0
  209. package/esm/image-preview/index.d.ts +3 -3
  210. package/esm/image-preview/index.js +1 -1
  211. package/esm/index.d.ts +3 -0
  212. package/esm/index.js +3 -0
  213. package/esm/input/hooks.js +49 -8
  214. package/esm/input/index.d.ts +1 -1
  215. package/esm/input/index.js +1 -1
  216. package/esm/input/props.d.ts +8 -2
  217. package/esm/nav-bar/index.js +6 -2
  218. package/esm/notice-bar/index.d.ts +1 -1
  219. package/esm/notice-bar/index.js +1 -1
  220. package/esm/picker/index.d.ts +1 -1
  221. package/esm/picker/index.js +1 -1
  222. package/esm/picker-view/index.d.ts +1 -1
  223. package/esm/picker-view/index.js +1 -1
  224. package/esm/popover/index.d.ts +1 -1
  225. package/esm/popover/index.js +1 -1
  226. package/esm/popup-swiper/index.js +3 -2
  227. package/esm/radio/index.d.ts +1 -1
  228. package/esm/radio/index.js +1 -1
  229. package/esm/rate/index.d.ts +1 -1
  230. package/esm/rate/index.js +1 -1
  231. package/esm/search-bar/association.d.ts +3 -0
  232. package/esm/search-bar/association.js +82 -0
  233. package/esm/search-bar/cancel-button.d.ts +10 -0
  234. package/esm/search-bar/cancel-button.js +30 -0
  235. package/esm/search-bar/demo/style/css/mobile.css +5 -0
  236. package/esm/search-bar/demo/style/mobile.less +9 -0
  237. package/esm/search-bar/highlight.d.ts +12 -0
  238. package/esm/search-bar/highlight.js +66 -0
  239. package/esm/search-bar/index.d.ts +13 -0
  240. package/esm/search-bar/index.js +213 -0
  241. package/esm/search-bar/style/css/index.css +148 -0
  242. package/esm/search-bar/style/css/index.d.ts +2 -0
  243. package/esm/search-bar/style/css/index.js +2 -0
  244. package/esm/search-bar/style/index.d.ts +2 -0
  245. package/esm/search-bar/style/index.js +2 -0
  246. package/esm/search-bar/style/index.less +111 -0
  247. package/esm/search-bar/type.d.ts +163 -0
  248. package/esm/search-bar/type.js +1 -0
  249. package/esm/show-monitor/index.js +31 -3
  250. package/esm/slider/index.d.ts +1 -1
  251. package/esm/slider/index.js +1 -1
  252. package/esm/steps/demo/style/css/mobile.css +1 -1
  253. package/esm/steps/demo/style/mobile.less +1 -1
  254. package/esm/steps/index.d.ts +1 -1
  255. package/esm/steps/index.js +1 -1
  256. package/esm/steps/style/css/index.css +5 -15
  257. package/esm/steps/style/index.less +6 -10
  258. package/esm/sticky/index.d.ts +1 -1
  259. package/esm/style.d.ts +3 -0
  260. package/esm/style.js +3 -0
  261. package/esm/swipe-action/demo/style/css/mobile.css +5 -0
  262. package/esm/swipe-action/demo/style/mobile.less +9 -0
  263. package/esm/swipe-action/index.d.ts +12 -0
  264. package/esm/swipe-action/index.js +321 -0
  265. package/esm/swipe-action/item.d.ts +11 -0
  266. package/esm/swipe-action/item.js +42 -0
  267. package/esm/swipe-action/style/css/index.css +88 -0
  268. package/esm/swipe-action/style/css/index.d.ts +2 -0
  269. package/esm/swipe-action/style/css/index.js +2 -0
  270. package/esm/swipe-action/style/index.d.ts +2 -0
  271. package/esm/swipe-action/style/index.js +2 -0
  272. package/esm/swipe-action/style/index.less +89 -0
  273. package/esm/swipe-action/type.d.ts +123 -0
  274. package/esm/swipe-action/type.js +1 -0
  275. package/esm/switch/index.d.ts +1 -1
  276. package/esm/switch/index.js +1 -1
  277. package/esm/tabs/tab-pane.js +5 -1
  278. package/esm/tag/index.d.ts +1 -1
  279. package/esm/tag/index.js +1 -1
  280. package/esm/textarea/index.d.ts +1 -1
  281. package/esm/textarea/index.js +1 -1
  282. package/package.json +3 -3
  283. package/tokens/app/arcodesign/default/css-variables.less +53 -3
  284. package/tokens/app/arcodesign/default/index.d.ts +53 -3
  285. package/tokens/app/arcodesign/default/index.js +54 -4
  286. package/tokens/app/arcodesign/default/index.json +629 -39
  287. package/tokens/app/arcodesign/default/index.less +53 -3
  288. package/umd/_helpers/type.d.ts +1 -1
  289. package/umd/avatar/group.js +1 -1
  290. package/umd/avatar/index.d.ts +1 -1
  291. package/umd/avatar/index.js +11 -14
  292. package/umd/avatar/style/css/index.css +96 -126
  293. package/umd/avatar/style/index.less +54 -72
  294. package/umd/badge/index.d.ts +1 -1
  295. package/umd/badge/index.js +7 -9
  296. package/umd/badge/style/css/index.css +5 -5
  297. package/umd/badge/style/index.less +5 -5
  298. package/umd/button/hooks.d.ts +1 -2
  299. package/umd/button/hooks.js +5 -3
  300. package/umd/button/index.d.ts +6 -0
  301. package/umd/button/index.js +38 -33
  302. package/umd/button/style/css/index.css +75 -310
  303. package/umd/button/style/index.less +32 -38
  304. package/umd/carousel/index.d.ts +1 -1
  305. package/umd/carousel/index.js +1 -1
  306. package/umd/cell/index.d.ts +1 -1
  307. package/umd/cell/index.js +1 -1
  308. package/umd/checkbox/index.d.ts +1 -1
  309. package/umd/checkbox/index.js +1 -1
  310. package/umd/collapse/index.d.ts +1 -1
  311. package/umd/collapse/index.js +1 -1
  312. package/umd/count-down/demo/style/mobile.less +1 -1
  313. package/umd/count-down/index.d.ts +1 -1
  314. package/umd/count-down/index.js +1 -1
  315. package/umd/date-picker/index.d.ts +1 -1
  316. package/umd/date-picker/index.js +1 -1
  317. package/umd/dropdown/dropdown.d.ts +3 -0
  318. package/umd/dropdown/dropdown.js +325 -0
  319. package/umd/dropdown/index.d.ts +3 -4
  320. package/umd/dropdown/index.js +5 -298
  321. package/umd/dropdown/options.js +2 -1
  322. package/umd/dropdown/style/css/index.css +3 -0
  323. package/umd/dropdown/style/index.less +2 -0
  324. package/umd/dropdown/type.d.ts +20 -9
  325. package/umd/dropdown-menu/dropdown-menu.d.ts +4 -0
  326. package/umd/dropdown-menu/dropdown-menu.js +278 -0
  327. package/umd/dropdown-menu/helper.d.ts +1 -1
  328. package/umd/dropdown-menu/index.d.ts +2 -3
  329. package/umd/dropdown-menu/index.js +5 -241
  330. package/umd/dropdown-menu/type.d.ts +21 -20
  331. package/umd/ellipsis/index.d.ts +1 -1
  332. package/umd/ellipsis/index.js +1 -1
  333. package/umd/grid/index.js +13 -12
  334. package/umd/image/index.d.ts +1 -2
  335. package/umd/image/index.js +14 -9
  336. package/umd/image/style/css/index.css +2 -1
  337. package/umd/image/style/index.less +2 -1
  338. package/umd/image-picker/add-icon.d.ts +2 -0
  339. package/umd/image-picker/add-icon.js +35 -0
  340. package/umd/image-picker/demo/style/css/mobile.css +40 -0
  341. package/umd/image-picker/demo/style/mobile.less +42 -0
  342. package/umd/image-picker/index.d.ts +13 -0
  343. package/umd/image-picker/index.js +329 -0
  344. package/umd/image-picker/style/css/index.css +147 -0
  345. package/umd/image-picker/style/css/index.d.ts +2 -0
  346. package/umd/image-picker/style/css/index.js +15 -0
  347. package/umd/image-picker/style/index.d.ts +2 -0
  348. package/umd/image-picker/style/index.js +15 -0
  349. package/umd/image-picker/style/index.less +116 -0
  350. package/umd/image-picker/type.d.ts +174 -0
  351. package/umd/image-picker/type.js +17 -0
  352. package/umd/image-preview/index.d.ts +3 -3
  353. package/umd/image-preview/index.js +1 -1
  354. package/umd/index.d.ts +3 -0
  355. package/umd/index.js +11 -5
  356. package/umd/input/hooks.js +48 -7
  357. package/umd/input/index.d.ts +1 -1
  358. package/umd/input/index.js +1 -1
  359. package/umd/input/props.d.ts +8 -2
  360. package/umd/nav-bar/index.js +9 -6
  361. package/umd/notice-bar/index.d.ts +1 -1
  362. package/umd/notice-bar/index.js +1 -1
  363. package/umd/picker/index.d.ts +1 -1
  364. package/umd/picker/index.js +1 -1
  365. package/umd/picker-view/index.d.ts +1 -1
  366. package/umd/picker-view/index.js +1 -1
  367. package/umd/popover/index.d.ts +1 -1
  368. package/umd/popover/index.js +1 -1
  369. package/umd/popup-swiper/index.js +3 -2
  370. package/umd/radio/index.d.ts +1 -1
  371. package/umd/radio/index.js +1 -1
  372. package/umd/rate/index.d.ts +1 -1
  373. package/umd/rate/index.js +1 -1
  374. package/umd/search-bar/association.d.ts +3 -0
  375. package/umd/search-bar/association.js +101 -0
  376. package/umd/search-bar/cancel-button.d.ts +10 -0
  377. package/umd/search-bar/cancel-button.js +52 -0
  378. package/umd/search-bar/demo/style/css/mobile.css +5 -0
  379. package/umd/search-bar/demo/style/mobile.less +9 -0
  380. package/umd/search-bar/highlight.d.ts +12 -0
  381. package/umd/search-bar/highlight.js +87 -0
  382. package/umd/search-bar/index.d.ts +13 -0
  383. package/umd/search-bar/index.js +235 -0
  384. package/umd/search-bar/style/css/index.css +148 -0
  385. package/umd/search-bar/style/css/index.d.ts +2 -0
  386. package/umd/search-bar/style/css/index.js +15 -0
  387. package/umd/search-bar/style/index.d.ts +2 -0
  388. package/umd/search-bar/style/index.js +15 -0
  389. package/umd/search-bar/style/index.less +111 -0
  390. package/umd/search-bar/type.d.ts +163 -0
  391. package/umd/search-bar/type.js +17 -0
  392. package/umd/show-monitor/index.js +31 -3
  393. package/umd/slider/index.d.ts +1 -1
  394. package/umd/slider/index.js +1 -1
  395. package/umd/steps/demo/style/css/mobile.css +1 -1
  396. package/umd/steps/demo/style/mobile.less +1 -1
  397. package/umd/steps/index.d.ts +1 -1
  398. package/umd/steps/index.js +1 -1
  399. package/umd/steps/style/css/index.css +5 -15
  400. package/umd/steps/style/index.less +6 -10
  401. package/umd/sticky/index.d.ts +1 -1
  402. package/umd/style.d.ts +3 -0
  403. package/umd/style.js +4 -4
  404. package/umd/swipe-action/demo/style/css/mobile.css +5 -0
  405. package/umd/swipe-action/demo/style/mobile.less +9 -0
  406. package/umd/swipe-action/index.d.ts +12 -0
  407. package/umd/swipe-action/index.js +342 -0
  408. package/umd/swipe-action/item.d.ts +11 -0
  409. package/umd/swipe-action/item.js +62 -0
  410. package/umd/swipe-action/style/css/index.css +88 -0
  411. package/umd/swipe-action/style/css/index.d.ts +2 -0
  412. package/umd/swipe-action/style/css/index.js +15 -0
  413. package/umd/swipe-action/style/index.d.ts +2 -0
  414. package/umd/swipe-action/style/index.js +15 -0
  415. package/umd/swipe-action/style/index.less +89 -0
  416. package/umd/swipe-action/type.d.ts +123 -0
  417. package/umd/swipe-action/type.js +17 -0
  418. package/umd/switch/index.d.ts +1 -1
  419. package/umd/switch/index.js +1 -1
  420. package/umd/tabs/tab-pane.js +5 -1
  421. package/umd/tag/index.d.ts +1 -1
  422. package/umd/tag/index.js +1 -1
  423. package/umd/textarea/index.d.ts +1 -1
  424. package/umd/textarea/index.js +1 -1
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.componentGenerator = componentGenerator;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _mobileUtils = require("@arco-design/mobile-utils");
13
+
14
+ var _contextProvider = require("../context-provider");
15
+
16
+ var _helper = require("./helper");
17
+
18
+ var _IconTriDown = _interopRequireDefault(require("../icon/IconTriDown"));
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function componentGenerator(Comp) {
25
+ return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
26
+ var _props$className = props.className,
27
+ className = _props$className === void 0 ? '' : _props$className,
28
+ _props$style = props.style,
29
+ style = _props$style === void 0 ? {} : _props$style,
30
+ _props$options = props.options,
31
+ options = _props$options === void 0 ? [] : _props$options,
32
+ _props$disabled = props.disabled,
33
+ disabled = _props$disabled === void 0 ? [] : _props$disabled,
34
+ _props$selectTips = props.selectTips,
35
+ selectTips = _props$selectTips === void 0 ? [] : _props$selectTips,
36
+ values = props.values,
37
+ _props$defaultValues = props.defaultValues,
38
+ defaultValues = _props$defaultValues === void 0 ? [] : _props$defaultValues,
39
+ icon = props.icon,
40
+ _props$chooseAndClose = props.chooseAndClose,
41
+ chooseAndClose = _props$chooseAndClose === void 0 ? true : _props$chooseAndClose,
42
+ selectIndex = props.selectIndex,
43
+ _props$defaultSelectI = props.defaultSelectIndex,
44
+ defaultSelectIndex = _props$defaultSelectI === void 0 ? 0 : _props$defaultSelectI,
45
+ showDropdown = props.showDropdown,
46
+ _props$defaultShowDro = props.defaultShowDropdown,
47
+ defaultShowDropdown = _props$defaultShowDro === void 0 ? false : _props$defaultShowDro,
48
+ onValuesChange = props.onValuesChange,
49
+ onSelectChange = props.onSelectChange,
50
+ onDropdownChange = props.onDropdownChange,
51
+ _props$getFormattedOp = props.getFormattedOptions,
52
+ getFormattedOptions = _props$getFormattedOp === void 0 ? _helper.getFormattedOptions : _props$getFormattedOp,
53
+ getContainer = props.getContainer,
54
+ children = props.children,
55
+ extraForDropdown = props.extraForDropdown;
56
+
57
+ var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
58
+ prefixCls = _useContext.prefixCls,
59
+ locale = _useContext.locale;
60
+
61
+ var _useState = (0, _react.useState)(defaultValues),
62
+ innerValues = _useState[0],
63
+ setInnerValues = _useState[1];
64
+
65
+ var _useState2 = (0, _react.useState)(0),
66
+ defaultTop = _useState2[0],
67
+ setDefaultTop = _useState2[1];
68
+
69
+ var currentValues = values !== void 0 ? values : innerValues;
70
+
71
+ var _useState3 = (0, _react.useState)(defaultShowDropdown),
72
+ innerShowDropdown = _useState3[0],
73
+ setInnerShowDropdown = _useState3[1];
74
+
75
+ var dropdownShown = showDropdown !== void 0 ? showDropdown : innerShowDropdown;
76
+
77
+ var _useState4 = (0, _react.useState)(defaultSelectIndex),
78
+ innerSelectedIndex = _useState4[0],
79
+ setInnerSelectedIndex = _useState4[1];
80
+
81
+ var selectedIndex = selectIndex !== void 0 ? selectIndex : innerSelectedIndex;
82
+ var selectWrapper = (0, _react.useRef)(null);
83
+ var domRef = (0, _react.useRef)(null);
84
+ var defaultOpItem = {
85
+ label: locale == null ? void 0 : locale.DropdownMenu.select,
86
+ value: -1
87
+ };
88
+ /**
89
+ * 更新选项数组和选择情况
90
+ * @en Update options list and selection
91
+ */
92
+
93
+ var _useMemo = (0, _react.useMemo)(function () {
94
+ return getFormattedOptions(options, currentValues);
95
+ }, [options, currentValues]),
96
+ formattedOptions = _useMemo.formattedOptions;
97
+
98
+ var selectedOptions = (0, _react.useMemo)(function () {
99
+ return formattedOptions.map(function (ops, index) {
100
+ if (props.multiple) {
101
+ var _value = currentValues[index] || [];
102
+
103
+ var opItems = ops.reduce(function (acc, op) {
104
+ return [].concat(acc, _value.includes(op.value) ? [op] : []);
105
+ }, []);
106
+ return opItems.length ? opItems : [defaultOpItem];
107
+ }
108
+
109
+ var value = currentValues[index];
110
+ return ops.find(function (op) {
111
+ return op.value === value;
112
+ }) || ops[0];
113
+ });
114
+ }, [formattedOptions, currentValues, props.multiple]);
115
+ /**
116
+ * 当下拉框的状态变化
117
+ * @en When the state of the dropdown box changes
118
+ */
119
+
120
+ var handleShowDropdownChange = function handleShowDropdownChange(show, index) {
121
+ onDropdownChange && onDropdownChange(show, index);
122
+ setInnerShowDropdown(show);
123
+ };
124
+
125
+ var handleSelectedIndexChange = function handleSelectedIndexChange(idx) {
126
+ setInnerSelectedIndex(idx);
127
+ onSelectChange == null ? void 0 : onSelectChange(idx);
128
+ };
129
+
130
+ var handleValuesChange = function handleValuesChange(val) {
131
+ var newValue = [].concat(currentValues); // 级联情况下 selectedIndex 之后的选项值重置
132
+ // @en Option values are reset after selectedIndex in case of cascade
133
+
134
+ if ((0, _helper.isCascadeArray)(options)) {
135
+ newValue = newValue.slice(0, selectedIndex);
136
+ }
137
+
138
+ newValue[selectedIndex] = val;
139
+ newValue = getFormattedOptions(options, newValue).formattedValue;
140
+ setInnerValues(newValue);
141
+ onValuesChange == null ? void 0 : onValuesChange(newValue);
142
+ };
143
+ /**
144
+ * 处理选择框的点击事件
145
+ * @en Handle click event of dropdown box
146
+ */
147
+
148
+
149
+ var handleSelectClick = function handleSelectClick(idx) {
150
+ if (disabled[idx]) return;
151
+
152
+ if (Number(idx) === selectedIndex) {
153
+ handleShowDropdownChange(!dropdownShown, idx);
154
+ } else {
155
+ handleSelectedIndexChange(idx);
156
+ if (!dropdownShown) handleShowDropdownChange(true, idx);
157
+ }
158
+ };
159
+ /**
160
+ * 判断是否为当前实例下的选择框
161
+ * @en Determine whether it is the dropdown box under the current instance
162
+ */
163
+
164
+
165
+ var isCurrentSelectEl = function isCurrentSelectEl(target) {
166
+ var _ref = extraForDropdown || {},
167
+ isStopTouchEl = _ref.isStopTouchEl;
168
+
169
+ return (0, _helper.isRefDom)(target, selectWrapper) && (0, _helper.isClassNameDom)(target, 'select-item') || (isStopTouchEl == null ? void 0 : isStopTouchEl(target)) || false;
170
+ };
171
+
172
+ (0, _react.useImperativeHandle)(ref, function () {
173
+ return {
174
+ dom: domRef.current
175
+ };
176
+ });
177
+ (0, _react.useEffect)(function () {
178
+ var defaultContainer = selectWrapper.current;
179
+ var container = getContainer ? getContainer() || defaultContainer : defaultContainer;
180
+ setDefaultTop((container == null ? void 0 : container.getBoundingClientRect().bottom) || 0);
181
+ }, [getContainer, dropdownShown]);
182
+
183
+ var onCancel = props.onCancel || function () {
184
+ return handleShowDropdownChange(false);
185
+ };
186
+
187
+ var dropdownCommonProps = (0, _extends2.default)({
188
+ showDropdown: dropdownShown,
189
+ top: (extraForDropdown == null ? void 0 : extraForDropdown.top) || defaultTop,
190
+ onCancel: onCancel
191
+ }, extraForDropdown || {}, {
192
+ isStopTouchEl: isCurrentSelectEl
193
+ });
194
+
195
+ var renderSelectedLabel = function renderSelectedLabel(op, index) {
196
+ if (props.multiple === true) {
197
+ var multipleOp = op || [];
198
+ return props.renderSelectLabel ? props.renderSelectLabel(multipleOp, index) : /*#__PURE__*/_react.default.createElement("div", {
199
+ className: (0, _mobileUtils.cls)(prefixCls + "-select-item-label-text")
200
+ }, multipleOp.map(function (item) {
201
+ return item.label;
202
+ }).join(','));
203
+ }
204
+
205
+ var singleOp = op || [];
206
+ return props.renderSelectLabel ? props.renderSelectLabel(singleOp, index) : /*#__PURE__*/_react.default.createElement("div", {
207
+ className: (0, _mobileUtils.cls)(prefixCls + "-select-item-label-text")
208
+ }, singleOp.label);
209
+ };
210
+
211
+ return /*#__PURE__*/_react.default.createElement("div", {
212
+ ref: domRef,
213
+ className: (0, _mobileUtils.cls)(prefixCls + "-dropdown-menu all-border-box", className, {
214
+ show: dropdownShown
215
+ }),
216
+ style: style
217
+ }, /*#__PURE__*/_react.default.createElement("div", {
218
+ className: (0, _mobileUtils.cls)(prefixCls + "-select"),
219
+ ref: selectWrapper
220
+ }, selectedOptions.map(function (op, index) {
221
+ var tip = selectTips[index] || '';
222
+ return /*#__PURE__*/_react.default.createElement("div", {
223
+ className: (0, _mobileUtils.cls)(prefixCls + "-select-item", {
224
+ 'is-disabled': disabled[index],
225
+ 'is-selected': dropdownShown && selectedIndex === index
226
+ }),
227
+ key: index,
228
+ "data-idx": index,
229
+ onClick: function onClick() {
230
+ return handleSelectClick(index);
231
+ }
232
+ }, tip.length > 0 && /*#__PURE__*/_react.default.createElement("span", {
233
+ className: (0, _mobileUtils.cls)(prefixCls + "-select-item-tip")
234
+ }, tip), /*#__PURE__*/_react.default.createElement("div", {
235
+ className: (0, _mobileUtils.cls)(prefixCls + "-select-item-label")
236
+ }, renderSelectedLabel(op, index), icon === void 0 ? /*#__PURE__*/_react.default.createElement(_IconTriDown.default, {
237
+ className: (0, _mobileUtils.cls)(prefixCls + "-select-item-icon", {
238
+ 'is-show': dropdownShown && selectedIndex === index
239
+ })
240
+ }) : icon));
241
+ }), props.multiple === true ? /*#__PURE__*/_react.default.createElement(Comp, (0, _extends2.default)({
242
+ multiple: true,
243
+ options: formattedOptions[selectedIndex] || [],
244
+ selectedValue: currentValues[selectedIndex] || [],
245
+ onOptionClick: function onOptionClick(selected, val, op) {
246
+ props.onOptionClick == null ? void 0 : props.onOptionClick(selected, val, op, selectedIndex);
247
+ },
248
+ onOptionChange: function onOptionChange(val, op) {
249
+ props.onOptionChange == null ? void 0 : props.onOptionChange(val, op, selectedIndex);
250
+ handleValuesChange(val);
251
+ }
252
+ }, dropdownCommonProps, {
253
+ children: children
254
+ })) : /*#__PURE__*/_react.default.createElement(Comp, (0, _extends2.default)({
255
+ multiple: props.multiple,
256
+ options: formattedOptions[selectedIndex] || [],
257
+ selectedValue: currentValues[selectedIndex] || 0,
258
+ onOptionClick: function onOptionClick(val, op) {
259
+ props.onOptionClick == null ? void 0 : props.onOptionClick(val, op, selectedIndex);
260
+
261
+ if (chooseAndClose) {
262
+ handleShowDropdownChange(false, selectedIndex);
263
+ }
264
+ },
265
+ onOptionChange: function onOptionChange(val, op) {
266
+ props.onOptionChange == null ? void 0 : props.onOptionChange(val, op, selectedIndex);
267
+ handleValuesChange(val);
268
+ }
269
+ }, dropdownCommonProps, {
270
+ children: children
271
+ }))));
272
+ });
273
+ }
@@ -25,7 +25,7 @@ export declare function isString(icon: string | ReactNode): icon is string;
25
25
  * */
26
26
  export declare const getFormattedOptions: (options: OptionsItem[][] | string[] | CascadeOptions[], currentValues: ValueType) => {
27
27
  formattedOptions: OptionsItem[][];
28
- formattedValue: (number | number[])[];
28
+ formattedValue: (string | number | (string | number)[])[];
29
29
  };
30
30
  /**
31
31
  * 判断是否为指定ref内的元素
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { DropdownMenuRef } from './type';
1
+ /// <reference types="react" />
3
2
  export * from './type';
4
3
  /**
5
4
  * 下拉选择组件,点击选择器(select)展开下拉框(dropdown),展示选择项(options),兼容多个选择器的情况。
@@ -9,5 +8,5 @@ export * from './type';
9
8
  * @name 下拉选择菜单
10
9
  * @name_en DropdownMenu
11
10
  */
12
- declare const DropdownMenu: React.ForwardRefExoticComponent<(import("./type").DropdownMenuBasicProps & import("./type").SingleOptionProps & React.RefAttributes<DropdownMenuRef>) | (import("./type").DropdownMenuBasicProps & import("./type").MultipleOptionProps & React.RefAttributes<DropdownMenuRef>)>;
11
+ declare const DropdownMenu: import("react").ForwardRefExoticComponent<(import("./type").DropdownMenuBasicProps & import("./type").SingleOptionProps & import("react").RefAttributes<import("./type").DropdownMenuRef>) | (import("./type").DropdownMenuBasicProps & import("./type").MultipleOptionProps & import("react").RefAttributes<import("./type").DropdownMenuRef>)>;
13
12
  export default DropdownMenu;
@@ -6,20 +6,10 @@ exports.__esModule = true;
6
6
  var _exportNames = {};
7
7
  exports.default = void 0;
8
8
 
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
-
11
- var _react = _interopRequireWildcard(require("react"));
12
-
13
- var _mobileUtils = require("@arco-design/mobile-utils");
14
-
15
- var _contextProvider = require("../context-provider");
16
-
17
- var _helper = require("./helper");
9
+ var _dropdownMenu = require("./dropdown-menu");
18
10
 
19
11
  var _dropdown = _interopRequireDefault(require("../dropdown"));
20
12
 
21
- var _IconTriDown = _interopRequireDefault(require("../icon/IconTriDown"));
22
-
23
13
  var _type = require("./type");
24
14
 
25
15
  Object.keys(_type).forEach(function (key) {
@@ -29,10 +19,6 @@ Object.keys(_type).forEach(function (key) {
29
19
  exports[key] = _type[key];
30
20
  });
31
21
 
32
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
22
  /**
37
23
  * 下拉选择组件,点击选择器(select)展开下拉框(dropdown),展示选择项(options),兼容多个选择器的情况。
38
24
  * @en Dropdown component, click the selector (select) to expand the dropdown box (dropdown), display the options (options), compatible with multiple selectors.
@@ -41,235 +27,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
41
27
  * @name 下拉选择菜单
42
28
  * @name_en DropdownMenu
43
29
  */
44
- var DropdownMenu = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
45
- var _props$className = props.className,
46
- className = _props$className === void 0 ? '' : _props$className,
47
- _props$style = props.style,
48
- style = _props$style === void 0 ? {} : _props$style,
49
- _props$options = props.options,
50
- options = _props$options === void 0 ? [] : _props$options,
51
- _props$disabled = props.disabled,
52
- disabled = _props$disabled === void 0 ? [] : _props$disabled,
53
- _props$selectTips = props.selectTips,
54
- selectTips = _props$selectTips === void 0 ? [] : _props$selectTips,
55
- values = props.values,
56
- _props$defaultValues = props.defaultValues,
57
- defaultValues = _props$defaultValues === void 0 ? [] : _props$defaultValues,
58
- icon = props.icon,
59
- _props$chooseAndClose = props.chooseAndClose,
60
- chooseAndClose = _props$chooseAndClose === void 0 ? true : _props$chooseAndClose,
61
- selectIndex = props.selectIndex,
62
- _props$defaultSelectI = props.defaultSelectIndex,
63
- defaultSelectIndex = _props$defaultSelectI === void 0 ? 0 : _props$defaultSelectI,
64
- showDropdown = props.showDropdown,
65
- _props$defaultShowDro = props.defaultShowDropdown,
66
- defaultShowDropdown = _props$defaultShowDro === void 0 ? false : _props$defaultShowDro,
67
- renderSelectLabel = props.renderSelectLabel,
68
- onValuesChange = props.onValuesChange,
69
- onSelectChange = props.onSelectChange,
70
- onDropdownChange = props.onDropdownChange,
71
- _props$getFormattedOp = props.getFormattedOptions,
72
- getFormattedOptions = _props$getFormattedOp === void 0 ? _helper.getFormattedOptions : _props$getFormattedOp,
73
- children = props.children,
74
- extraForDropdown = props.extraForDropdown;
75
-
76
- var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
77
- prefixCls = _useContext.prefixCls,
78
- locale = _useContext.locale;
79
-
80
- var _useState = (0, _react.useState)(defaultValues),
81
- innerValues = _useState[0],
82
- setInnerValues = _useState[1];
83
-
84
- var _useState2 = (0, _react.useState)(0),
85
- defaultTop = _useState2[0],
86
- setDefaultTop = _useState2[1];
87
-
88
- var currentValues = values !== void 0 ? values : innerValues;
89
-
90
- var _useState3 = (0, _react.useState)(defaultShowDropdown),
91
- innerShowDropdown = _useState3[0],
92
- setInnerShowDropdown = _useState3[1];
93
-
94
- var dropdownShown = showDropdown !== void 0 ? showDropdown : innerShowDropdown;
95
-
96
- var _useState4 = (0, _react.useState)(defaultSelectIndex),
97
- innerSelectedIndex = _useState4[0],
98
- setInnerSelectedIndex = _useState4[1];
99
-
100
- var selectedIndex = selectIndex !== void 0 ? selectIndex : innerSelectedIndex;
101
- var selectWrapper = (0, _react.useRef)(null);
102
- var domRef = (0, _react.useRef)(null);
103
- var defaultOpItem = {
104
- label: locale == null ? void 0 : locale.DropdownMenu.select,
105
- value: -1
106
- };
107
- /**
108
- * 下拉框的容器
109
- * @en Dropdown container
110
- */
111
-
112
- var getContainer = (0, _react.useCallback)(function () {
113
- if (props.getContainer) {
114
- return props.getContainer() || selectWrapper.current;
115
- }
116
-
117
- return selectWrapper.current;
118
- }, [selectWrapper.current]);
119
- /**
120
- * 更新选项数组和选择情况
121
- * @en Update options list and selection
122
- */
123
-
124
- var _useMemo = (0, _react.useMemo)(function () {
125
- return getFormattedOptions(options, currentValues);
126
- }, [options, currentValues]),
127
- formattedOptions = _useMemo.formattedOptions;
128
-
129
- var selectedOptions = (0, _react.useMemo)(function () {
130
- return formattedOptions.map(function (ops, index) {
131
- return ops.find(function (op) {
132
- var value = currentValues[index];
133
- return Array.isArray(value) ? value.includes(op.value) : op.value === value;
134
- }) || (props.multiple ? defaultOpItem : ops[0]);
135
- });
136
- }, [formattedOptions, currentValues]);
137
- /**
138
- * 当下拉框的状态变化
139
- * @en When the state of the dropdown box changes
140
- */
141
-
142
- var handleShowDropdownChange = function handleShowDropdownChange(show, index) {
143
- onDropdownChange && onDropdownChange(show, index);
144
- setInnerShowDropdown(show);
145
- };
146
-
147
- var handleSelectedIndexChange = function handleSelectedIndexChange(idx) {
148
- setInnerSelectedIndex(idx);
149
- onSelectChange == null ? void 0 : onSelectChange(idx);
150
- };
151
-
152
- var handleValuesChange = function handleValuesChange(val) {
153
- var newValue = [].concat(currentValues); // 级联情况下 selectedIndex 之后的选项值重置
154
- // @en Option values are reset after selectedIndex in case of cascade
155
-
156
- if ((0, _helper.isCascadeArray)(options)) {
157
- newValue = newValue.slice(0, selectedIndex);
158
- }
159
-
160
- newValue[selectedIndex] = val;
161
- newValue = getFormattedOptions(options, newValue).formattedValue;
162
- setInnerValues(newValue);
163
- onValuesChange == null ? void 0 : onValuesChange(newValue);
164
- };
165
- /**
166
- * 处理选择框的点击事件
167
- * @en Handle click event of dropdown box
168
- */
169
-
170
-
171
- var handleSelectClick = function handleSelectClick(idx) {
172
- if (disabled[idx]) return;
173
-
174
- if (Number(idx) === selectedIndex) {
175
- handleShowDropdownChange(!dropdownShown, idx);
176
- } else {
177
- handleSelectedIndexChange(idx);
178
- if (!dropdownShown) handleShowDropdownChange(true, idx);
179
- }
180
- };
181
- /**
182
- * 判断是否为当前实例下的选择框
183
- * @en Determine whether it is the dropdown box under the current instance
184
- */
185
-
186
-
187
- var isCurrentSelectEl = function isCurrentSelectEl(target) {
188
- var _ref = extraForDropdown || {},
189
- isStopTouchEl = _ref.isStopTouchEl;
190
-
191
- return (0, _helper.isRefDom)(target, selectWrapper) && (0, _helper.isClassNameDom)(target, 'select-item') || (isStopTouchEl == null ? void 0 : isStopTouchEl(target)) || false;
192
- };
193
-
194
- (0, _react.useImperativeHandle)(ref, function () {
195
- return {
196
- dom: domRef.current
197
- };
198
- });
199
- (0, _react.useEffect)(function () {
200
- var _getContainer;
201
-
202
- setDefaultTop(((_getContainer = getContainer()) == null ? void 0 : _getContainer.getBoundingClientRect().bottom) || 0);
203
- }, [getContainer, dropdownShown]);
204
-
205
- var onCancel = props.onCancel || function () {
206
- return handleShowDropdownChange(false);
207
- };
208
-
209
- var dropdownCommonProps = (0, _extends2.default)({
210
- showDropdown: dropdownShown,
211
- top: (extraForDropdown == null ? void 0 : extraForDropdown.top) || defaultTop,
212
- onCancel: onCancel
213
- }, extraForDropdown || {}, {
214
- isStopTouchEl: isCurrentSelectEl
215
- });
216
- return /*#__PURE__*/_react.default.createElement("div", {
217
- ref: domRef,
218
- className: (0, _mobileUtils.cls)(prefixCls + "-dropdown-menu all-border-box " + (dropdownShown ? 'show' : ''), className),
219
- style: style
220
- }, /*#__PURE__*/_react.default.createElement("div", {
221
- className: (0, _mobileUtils.cls)(prefixCls + "-select"),
222
- ref: selectWrapper
223
- }, selectedOptions.map(function (op, index) {
224
- var tip = selectTips[index] || '';
225
- return /*#__PURE__*/_react.default.createElement("div", {
226
- className: (0, _mobileUtils.cls)(prefixCls + "-select-item", {
227
- 'is-disabled': disabled[index],
228
- 'is-selected': dropdownShown && selectedIndex === index
229
- }),
230
- key: index,
231
- "data-idx": index,
232
- onClick: function onClick() {
233
- return handleSelectClick(index);
234
- }
235
- }, tip.length > 0 && /*#__PURE__*/_react.default.createElement("span", {
236
- className: (0, _mobileUtils.cls)(prefixCls + "-select-item-tip")
237
- }, tip), /*#__PURE__*/_react.default.createElement("div", {
238
- className: (0, _mobileUtils.cls)(prefixCls + "-select-item-label")
239
- }, renderSelectLabel ? renderSelectLabel(op, index) : /*#__PURE__*/_react.default.createElement("div", {
240
- className: (0, _mobileUtils.cls)(prefixCls + "-select-item-label-text")
241
- }, op.label), icon === void 0 ? /*#__PURE__*/_react.default.createElement(_IconTriDown.default, {
242
- className: (0, _mobileUtils.cls)(prefixCls + "-select-item-icon", {
243
- 'is-show': dropdownShown && selectedIndex === index
244
- })
245
- }) : icon));
246
- }), props.multiple === true ? /*#__PURE__*/_react.default.createElement(_dropdown.default, (0, _extends2.default)({
247
- multiple: true,
248
- options: formattedOptions[selectedIndex] || [],
249
- selectedValue: currentValues[selectedIndex] || [],
250
- onOptionClick: function onOptionClick(selected, val, op) {
251
- props.onOptionClick == null ? void 0 : props.onOptionClick(selected, val, op, selectedIndex);
252
- },
253
- onOptionChange: function onOptionChange(val, op) {
254
- props.onOptionChange == null ? void 0 : props.onOptionChange(val, op, selectedIndex);
255
- handleValuesChange(val);
256
- }
257
- }, dropdownCommonProps), children) : /*#__PURE__*/_react.default.createElement(_dropdown.default, (0, _extends2.default)({
258
- multiple: props.multiple,
259
- options: formattedOptions[selectedIndex] || [],
260
- selectedValue: currentValues[selectedIndex] || 0,
261
- onOptionClick: function onOptionClick(val, op) {
262
- props.onOptionClick == null ? void 0 : props.onOptionClick(val, op, selectedIndex);
263
-
264
- if (chooseAndClose) {
265
- handleShowDropdownChange(false, selectedIndex);
266
- }
267
- },
268
- onOptionChange: function onOptionChange(val, op) {
269
- props.onOptionChange == null ? void 0 : props.onOptionChange(val, op, selectedIndex);
270
- handleValuesChange(val);
271
- }
272
- }, dropdownCommonProps), children)));
273
- });
30
+ var DropdownMenu = (0, _dropdownMenu.componentGenerator)(_dropdown.default);
274
31
  var _default = DropdownMenu;
275
32
  exports.default = _default;
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
- import { OptionsItem, DropdownCommonProps } from '../dropdown';
2
+ import { OptionsItem, DropdownCommonProps, OptionValueType } from '../dropdown';
3
3
  export type { OptionsItem, DropdownCommonProps };
4
4
  export interface CascadeOptions extends OptionsItem {
5
5
  /**
@@ -29,11 +29,6 @@ export interface DropdownMenuBasicProps {
29
29
  * @en The selected number of selector (controlled)
30
30
  */
31
31
  selectIndex?: number;
32
- /**
33
- * 自定义选择器
34
- * @en Custom selector
35
- */
36
- renderSelectLabel?: (op: OptionsItem, index: number) => ReactNode;
37
32
  /**
38
33
  * 选择器禁用状态
39
34
  * @en Selector disabled state
@@ -112,47 +107,53 @@ export interface SingleOptionProps {
112
107
  * 初始选择项
113
108
  * @en initial selection item
114
109
  * */
115
- defaultValues?: number[];
110
+ defaultValues?: OptionValueType[];
116
111
  /**
117
112
  * (受控) 每个选择器选中的项
118
113
  * @en (Controlled) The item selected by each selector
119
114
  * */
120
- values?: number[];
115
+ values?: OptionValueType[];
116
+ /**
117
+ * 自定义选择器
118
+ * @en Custom selector
119
+ */
120
+ renderSelectLabel?: (op: OptionsItem, index: number) => ReactNode;
121
121
  /**
122
122
  * 点击选项时触发的回调函数
123
123
  * @en Callback when clicking option
124
124
  * */
125
- onOptionClick?: (value: number, item: OptionsItem, selectIndex?: number) => void;
125
+ onOptionClick?: (value: OptionValueType, item: OptionsItem, selectIndex?: number) => void;
126
126
  /**
127
127
  * 选项改变时触发的回调函数
128
128
  * @en Callback when options change
129
129
  * */
130
- onOptionChange?: (value: number, item: OptionsItem, selectIndex?: number) => void;
130
+ onOptionChange?: (value: OptionValueType, item: OptionsItem, selectIndex?: number) => void;
131
131
  /**
132
132
  * 所有选择器选项总值改变时的回调函数
133
133
  * @en Callback when the total value of all selector options changes
134
134
  * */
135
- onValuesChange?: (values: number[]) => void;
135
+ onValuesChange?: (values: OptionValueType[]) => void;
136
136
  /**
137
137
  * 格式化传入的options
138
138
  * @en Format the input options
139
139
  * */
140
- getFormattedOptions?: (options: SingleOptionProps['options'], values?: number[]) => {
140
+ getFormattedOptions?: (options: SingleOptionProps['options'], values?: OptionValueType[]) => {
141
141
  formattedOptions: OptionsItem[][];
142
- formattedValue: number[];
142
+ formattedValue: OptionValueType[];
143
143
  };
144
144
  }
145
145
  export interface MultipleOptionProps {
146
146
  multiple: true;
147
147
  options: string[] | OptionsItem[][];
148
- defaultValues?: number[][];
149
- values?: number[][];
150
- onOptionClick?: (selected: boolean, val: number, item: OptionsItem, selectIndex?: number) => void;
151
- onOptionChange?: (vals: number[], item: OptionsItem, selectIndex?: number) => void;
152
- onValuesChange?: (values: number[][]) => void;
153
- getFormattedOptions?: (options: SingleOptionProps['options'], values?: number[][]) => {
148
+ defaultValues?: OptionValueType[][];
149
+ values?: OptionValueType[][];
150
+ renderSelectLabel?: (op: OptionsItem[], index: number) => ReactNode;
151
+ onOptionClick?: (selected: boolean, val: OptionValueType, item: OptionsItem, selectIndex?: number) => void;
152
+ onOptionChange?: (vals: OptionValueType[], item: OptionsItem, selectIndex?: number) => void;
153
+ onValuesChange?: (values: OptionValueType[][]) => void;
154
+ getFormattedOptions?: (options: SingleOptionProps['options'], values?: OptionValueType[][]) => {
154
155
  formattedOptions: OptionsItem[][];
155
- formattedValue: number[][];
156
+ formattedValue: OptionValueType[][];
156
157
  };
157
158
  }
158
159
  export declare type OptionProps = SingleOptionProps | MultipleOptionProps;
@@ -4,7 +4,7 @@ export * from './type';
4
4
  /**
5
5
  * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
6
6
  * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
7
- * @type 数据展示
7
+ * @type 信息展示
8
8
  * @type_en Data Display
9
9
  * @name 文本缩略
10
10
  * @name_en Ellipsis
@@ -34,7 +34,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
34
34
  /**
35
35
  * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
36
36
  * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
37
- * @type 数据展示
37
+ * @type 信息展示
38
38
  * @type_en Data Display
39
39
  * @name 文本缩略
40
40
  * @name_en Ellipsis