@tuya-miniapp/smart-ui 2.6.4-beta-7 → 2.6.4-beta-8

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 (623) hide show
  1. package/dist/calendar/calendar.wxml +1 -1
  2. package/dist/common/style/clearfix.css +1 -0
  3. package/dist/common/style/clearfix.wxss +1 -0
  4. package/dist/common/style/ellipsis.css +1 -0
  5. package/dist/common/style/ellipsis.wxss +1 -0
  6. package/dist/common/style/hairline.css +1 -0
  7. package/dist/common/style/hairline.wxss +1 -0
  8. package/dist/common/style/mixins/clearfix.css +0 -0
  9. package/dist/common/style/mixins/clearfix.wxss +0 -0
  10. package/dist/common/style/mixins/ellipsis.css +0 -0
  11. package/dist/common/style/mixins/ellipsis.wxss +0 -0
  12. package/dist/common/style/mixins/hairline.css +1 -0
  13. package/dist/common/style/mixins/hairline.wxss +1 -0
  14. package/dist/common/style/var.css +1 -0
  15. package/dist/common/style/var.wxss +1 -0
  16. package/dist/common/utils.d.ts +1 -0
  17. package/dist/common/utils.js +7 -0
  18. package/dist/loading/index.css +1 -1
  19. package/dist/loading/index.js +5 -5
  20. package/dist/loading/index.wxs +5 -5
  21. package/dist/loading/index.wxss +1 -1
  22. package/dist/picker-column/index.css +1 -1
  23. package/dist/picker-column/index.js +85 -264
  24. package/dist/picker-column/index.wxml +63 -25
  25. package/dist/picker-column/index.wxs +453 -26
  26. package/dist/picker-column/index.wxss +1 -1
  27. package/dist/popup/index.css +1 -0
  28. package/dist/popup/index.wxss +1 -0
  29. package/dist/rate/index.css +1 -0
  30. package/dist/rate/index.wxss +1 -0
  31. package/dist/row/index.css +1 -0
  32. package/dist/row/index.wxss +1 -0
  33. package/dist/search/index.css +1 -0
  34. package/dist/search/index.wxss +1 -0
  35. package/dist/sidebar/index.css +1 -0
  36. package/dist/sidebar/index.wxss +1 -0
  37. package/dist/sidebar-item/index.css +1 -0
  38. package/dist/sidebar-item/index.wxss +1 -0
  39. package/dist/skeleton/index.css +1 -0
  40. package/dist/skeleton/index.wxss +1 -0
  41. package/dist/slider/index.css +1 -0
  42. package/dist/slider/index.wxss +1 -0
  43. package/dist/stepper/index.css +1 -0
  44. package/dist/stepper/index.wxss +1 -0
  45. package/dist/steps/index.css +1 -0
  46. package/dist/steps/index.wxss +1 -0
  47. package/dist/sticky/index.css +1 -0
  48. package/dist/sticky/index.wxss +1 -0
  49. package/dist/swipe-cell/index.css +1 -0
  50. package/dist/swipe-cell/index.wxss +1 -0
  51. package/dist/switch/index.css +1 -0
  52. package/dist/switch/index.wxss +1 -0
  53. package/dist/tab/index.css +1 -0
  54. package/dist/tab/index.wxss +1 -0
  55. package/dist/tabbar/index.css +1 -0
  56. package/dist/tabbar/index.wxss +1 -0
  57. package/dist/tabbar-item/index.css +1 -0
  58. package/dist/tabbar-item/index.wxss +1 -0
  59. package/dist/tabs/index.css +1 -0
  60. package/dist/tabs/index.wxss +1 -0
  61. package/dist/tag/index.css +1 -0
  62. package/dist/tag/index.wxss +1 -0
  63. package/dist/toast/index.css +1 -0
  64. package/dist/toast/index.wxss +1 -0
  65. package/dist/transition/index.css +1 -0
  66. package/dist/transition/index.wxss +1 -0
  67. package/dist/tree-select/index.css +1 -0
  68. package/dist/tree-select/index.wxss +1 -0
  69. package/dist/wxs/strToStyleObject.wxs +10 -0
  70. package/lib/action-sheet/index.css +1 -0
  71. package/lib/action-sheet/index.d.ts +1 -0
  72. package/lib/action-sheet/index.js +121 -0
  73. package/lib/action-sheet/index.json +8 -0
  74. package/lib/action-sheet/index.wxml +87 -0
  75. package/lib/action-sheet/index.wxss +1 -0
  76. package/lib/area/index.css +1 -0
  77. package/lib/area/index.d.ts +1 -0
  78. package/lib/area/index.js +234 -0
  79. package/lib/area/index.json +6 -0
  80. package/lib/area/index.wxml +20 -0
  81. package/lib/area/index.wxs +8 -0
  82. package/lib/area/index.wxss +1 -0
  83. package/lib/battery/index.d.ts +1 -0
  84. package/lib/battery/index.js +105 -0
  85. package/lib/battery/index.json +4 -0
  86. package/lib/battery/index.wxml +1 -0
  87. package/lib/bottom-sheet/index.css +1 -0
  88. package/lib/bottom-sheet/index.d.ts +1 -0
  89. package/lib/bottom-sheet/index.js +82 -0
  90. package/lib/bottom-sheet/index.json +8 -0
  91. package/lib/bottom-sheet/index.wxml +43 -0
  92. package/lib/bottom-sheet/index.wxs +12 -0
  93. package/lib/bottom-sheet/index.wxss +1 -0
  94. package/lib/button/index.css +1 -0
  95. package/lib/button/index.d.ts +1 -0
  96. package/lib/button/index.js +64 -0
  97. package/lib/button/index.json +7 -0
  98. package/lib/button/index.wxml +64 -0
  99. package/lib/button/index.wxs +39 -0
  100. package/lib/button/index.wxss +1 -0
  101. package/lib/calendar/calendar.wxml +84 -0
  102. package/lib/calendar/index.css +1 -0
  103. package/lib/calendar/index.d.ts +1 -0
  104. package/lib/calendar/index.js +465 -0
  105. package/lib/calendar/index.json +12 -0
  106. package/lib/calendar/index.wxml +25 -0
  107. package/lib/calendar/index.wxs +59 -0
  108. package/lib/calendar/index.wxss +1 -0
  109. package/lib/calendar-header/index.css +1 -0
  110. package/lib/calendar-header/index.d.ts +1 -0
  111. package/lib/calendar-header/index.js +75 -0
  112. package/lib/calendar-header/index.json +6 -0
  113. package/lib/calendar-header/index.wxml +27 -0
  114. package/lib/calendar-header/index.wxss +1 -0
  115. package/lib/calendar-month/index.css +1 -0
  116. package/lib/calendar-month/index.d.ts +1 -0
  117. package/lib/calendar-month/index.js +179 -0
  118. package/lib/calendar-month/index.json +3 -0
  119. package/lib/calendar-month/index.wxml +22 -0
  120. package/lib/calendar-month/index.wxs +73 -0
  121. package/lib/calendar-month/index.wxss +1 -0
  122. package/lib/calendar-month-list/index.css +1 -0
  123. package/lib/calendar-month-list/index.d.ts +1 -0
  124. package/lib/calendar-month-list/index.js +105 -0
  125. package/lib/calendar-month-list/index.json +7 -0
  126. package/lib/calendar-month-list/index.wxml +15 -0
  127. package/lib/calendar-month-list/index.wxss +1 -0
  128. package/lib/calendar-utils/types.d.ts +7 -0
  129. package/lib/calendar-utils/types.js +2 -0
  130. package/lib/calendar-utils/utils.d.ts +21 -0
  131. package/lib/calendar-utils/utils.js +175 -0
  132. package/lib/calendar-utils/utils.wxs +25 -0
  133. package/lib/calendar-year-list/index.css +1 -0
  134. package/lib/calendar-year-list/index.d.ts +1 -0
  135. package/lib/calendar-year-list/index.js +115 -0
  136. package/lib/calendar-year-list/index.json +7 -0
  137. package/lib/calendar-year-list/index.wxml +15 -0
  138. package/lib/calendar-year-list/index.wxss +1 -0
  139. package/lib/cascader/index.css +1 -0
  140. package/lib/cascader/index.d.ts +1 -0
  141. package/lib/cascader/index.js +207 -0
  142. package/lib/cascader/index.json +8 -0
  143. package/lib/cascader/index.wxml +56 -0
  144. package/lib/cascader/index.wxs +21 -0
  145. package/lib/cascader/index.wxss +1 -0
  146. package/lib/cell/index.css +1 -0
  147. package/lib/cell/index.d.ts +1 -0
  148. package/lib/cell/index.js +48 -0
  149. package/lib/cell/index.json +6 -0
  150. package/lib/cell/index.wxml +47 -0
  151. package/lib/cell/index.wxs +17 -0
  152. package/lib/cell/index.wxss +1 -0
  153. package/lib/cell-group/index.css +1 -0
  154. package/lib/cell-group/index.d.ts +1 -0
  155. package/lib/cell-group/index.js +14 -0
  156. package/lib/cell-group/index.json +3 -0
  157. package/lib/cell-group/index.wxml +15 -0
  158. package/lib/cell-group/index.wxs +14 -0
  159. package/lib/cell-group/index.wxss +1 -0
  160. package/lib/checkbox/index.css +1 -0
  161. package/lib/checkbox/index.d.ts +1 -0
  162. package/lib/checkbox/index.js +84 -0
  163. package/lib/checkbox/index.json +6 -0
  164. package/lib/checkbox/index.wxml +32 -0
  165. package/lib/checkbox/index.wxs +20 -0
  166. package/lib/checkbox/index.wxss +1 -0
  167. package/lib/checkbox-group/index.css +1 -0
  168. package/lib/checkbox-group/index.d.ts +1 -0
  169. package/lib/checkbox-group/index.js +39 -0
  170. package/lib/checkbox-group/index.json +3 -0
  171. package/lib/checkbox-group/index.wxml +5 -0
  172. package/lib/checkbox-group/index.wxss +1 -0
  173. package/lib/circle/index.css +1 -0
  174. package/lib/circle/index.d.ts +1 -0
  175. package/lib/circle/index.js +134 -0
  176. package/lib/circle/index.json +3 -0
  177. package/lib/circle/index.rjs +232 -0
  178. package/lib/circle/index.wxml +8 -0
  179. package/lib/circle/index.wxss +1 -0
  180. package/lib/col/index.css +1 -0
  181. package/lib/col/index.d.ts +1 -0
  182. package/lib/col/index.js +11 -0
  183. package/lib/col/index.json +3 -0
  184. package/lib/col/index.wxml +9 -0
  185. package/lib/col/index.wxs +18 -0
  186. package/lib/col/index.wxss +1 -0
  187. package/lib/collapse/index.css +1 -0
  188. package/lib/collapse/index.d.ts +1 -0
  189. package/lib/collapse/index.js +48 -0
  190. package/lib/collapse/index.json +3 -0
  191. package/lib/collapse/index.wxml +3 -0
  192. package/lib/collapse/index.wxss +1 -0
  193. package/lib/collapse-item/animate.d.ts +2 -0
  194. package/lib/collapse-item/animate.js +43 -0
  195. package/lib/collapse-item/index.css +1 -0
  196. package/lib/collapse-item/index.d.ts +1 -0
  197. package/lib/collapse-item/index.js +64 -0
  198. package/lib/collapse-item/index.json +6 -0
  199. package/lib/collapse-item/index.wxml +45 -0
  200. package/lib/collapse-item/index.wxss +1 -0
  201. package/lib/common/appLog.d.ts +10 -0
  202. package/lib/common/appLog.js +112 -0
  203. package/lib/common/color.d.ts +7 -0
  204. package/lib/common/color.js +10 -0
  205. package/lib/common/component.d.ts +4 -0
  206. package/lib/common/component.js +49 -0
  207. package/lib/common/index.css +1 -0
  208. package/lib/common/index.wxss +1 -0
  209. package/lib/common/relation.d.ts +15 -0
  210. package/lib/common/relation.js +65 -0
  211. package/lib/common/style/clearfix.css +1 -0
  212. package/lib/common/style/clearfix.wxss +1 -0
  213. package/lib/common/style/ellipsis.css +1 -0
  214. package/lib/common/style/ellipsis.wxss +1 -0
  215. package/lib/common/style/hairline.css +1 -0
  216. package/lib/common/style/hairline.wxss +1 -0
  217. package/lib/common/style/mixins/clearfix.css +0 -0
  218. package/lib/common/style/mixins/clearfix.wxss +0 -0
  219. package/lib/common/style/mixins/ellipsis.css +0 -0
  220. package/lib/common/style/mixins/ellipsis.wxss +0 -0
  221. package/lib/common/style/mixins/hairline.css +1 -0
  222. package/lib/common/style/mixins/hairline.wxss +1 -0
  223. package/lib/common/style/var.css +1 -0
  224. package/lib/common/style/var.wxss +1 -0
  225. package/lib/common/ty.d.ts +7 -0
  226. package/lib/common/ty.js +35 -0
  227. package/lib/common/utils.d.ts +25 -0
  228. package/lib/common/utils.js +148 -0
  229. package/lib/common/validator.d.ts +9 -0
  230. package/lib/common/validator.js +43 -0
  231. package/lib/common/version.d.ts +15 -0
  232. package/lib/common/version.js +70 -0
  233. package/lib/config-provider/index.d.ts +1 -0
  234. package/lib/config-provider/index.js +11 -0
  235. package/lib/config-provider/index.json +3 -0
  236. package/lib/config-provider/index.wxml +5 -0
  237. package/lib/config-provider/index.wxs +29 -0
  238. package/lib/count-down/index.css +1 -0
  239. package/lib/count-down/index.d.ts +1 -0
  240. package/lib/count-down/index.js +104 -0
  241. package/lib/count-down/index.json +3 -0
  242. package/lib/count-down/index.wxml +4 -0
  243. package/lib/count-down/index.wxss +1 -0
  244. package/lib/count-down/utils.d.ts +10 -0
  245. package/lib/count-down/utils.js +64 -0
  246. package/lib/custom-keyboard/index.css +1 -0
  247. package/lib/custom-keyboard/index.d.ts +1 -0
  248. package/lib/custom-keyboard/index.js +156 -0
  249. package/lib/custom-keyboard/index.json +9 -0
  250. package/lib/custom-keyboard/index.wxml +44 -0
  251. package/lib/custom-keyboard/index.wxss +1 -0
  252. package/lib/datetime-picker/index.css +1 -0
  253. package/lib/datetime-picker/index.d.ts +1 -0
  254. package/lib/datetime-picker/index.js +512 -0
  255. package/lib/datetime-picker/index.json +6 -0
  256. package/lib/datetime-picker/index.wxml +22 -0
  257. package/lib/datetime-picker/index.wxss +1 -0
  258. package/lib/definitions/index.d.ts +29 -0
  259. package/lib/definitions/index.js +2 -0
  260. package/lib/dialog/dialog.d.ts +74 -0
  261. package/lib/dialog/dialog.js +137 -0
  262. package/lib/dialog/index.css +1 -0
  263. package/lib/dialog/index.d.ts +1 -0
  264. package/lib/dialog/index.js +222 -0
  265. package/lib/dialog/index.json +10 -0
  266. package/lib/dialog/index.wxml +144 -0
  267. package/lib/dialog/index.wxss +1 -0
  268. package/lib/divider/index.css +1 -0
  269. package/lib/divider/index.d.ts +1 -0
  270. package/lib/divider/index.js +14 -0
  271. package/lib/divider/index.json +4 -0
  272. package/lib/divider/index.wxml +9 -0
  273. package/lib/divider/index.wxs +18 -0
  274. package/lib/divider/index.wxss +1 -0
  275. package/lib/dropdown-item/index.css +1 -0
  276. package/lib/dropdown-item/index.d.ts +1 -0
  277. package/lib/dropdown-item/index.js +150 -0
  278. package/lib/dropdown-item/index.json +8 -0
  279. package/lib/dropdown-item/index.wxml +52 -0
  280. package/lib/dropdown-item/index.wxss +1 -0
  281. package/lib/dropdown-item/shared.d.ts +5 -0
  282. package/lib/dropdown-item/shared.js +2 -0
  283. package/lib/dropdown-menu/index.css +1 -0
  284. package/lib/dropdown-menu/index.d.ts +1 -0
  285. package/lib/dropdown-menu/index.js +137 -0
  286. package/lib/dropdown-menu/index.json +6 -0
  287. package/lib/dropdown-menu/index.wxml +24 -0
  288. package/lib/dropdown-menu/index.wxs +16 -0
  289. package/lib/dropdown-menu/index.wxss +1 -0
  290. package/lib/empty/index.css +1 -0
  291. package/lib/empty/index.d.ts +1 -0
  292. package/lib/empty/index.js +31 -0
  293. package/lib/empty/index.json +4 -0
  294. package/lib/empty/index.wxml +22 -0
  295. package/lib/empty/index.wxs +13 -0
  296. package/lib/empty/index.wxss +1 -0
  297. package/lib/field/cell-input.wxml +59 -0
  298. package/lib/field/cell-textarea.wxml +28 -0
  299. package/lib/field/index.css +1 -0
  300. package/lib/field/index.d.ts +1 -0
  301. package/lib/field/index.js +158 -0
  302. package/lib/field/index.json +7 -0
  303. package/lib/field/index.wxml +4 -0
  304. package/lib/field/index.wxs +19 -0
  305. package/lib/field/index.wxss +1 -0
  306. package/lib/field/input.wxml +30 -0
  307. package/lib/field/props.d.ts +4 -0
  308. package/lib/field/props.js +59 -0
  309. package/lib/field/textarea.wxml +32 -0
  310. package/lib/field/types.d.ts +8 -0
  311. package/lib/field/types.js +2 -0
  312. package/lib/goods-action/index.css +1 -0
  313. package/lib/goods-action/index.d.ts +1 -0
  314. package/lib/goods-action/index.js +17 -0
  315. package/lib/goods-action/index.json +3 -0
  316. package/lib/goods-action/index.wxml +5 -0
  317. package/lib/goods-action/index.wxss +1 -0
  318. package/lib/goods-action-button/index.css +1 -0
  319. package/lib/goods-action-button/index.d.ts +1 -0
  320. package/lib/goods-action-button/index.js +46 -0
  321. package/lib/goods-action-button/index.json +6 -0
  322. package/lib/goods-action-button/index.wxml +35 -0
  323. package/lib/goods-action-button/index.wxss +1 -0
  324. package/lib/goods-action-icon/index.css +1 -0
  325. package/lib/goods-action-icon/index.d.ts +1 -0
  326. package/lib/goods-action-icon/index.js +29 -0
  327. package/lib/goods-action-icon/index.json +7 -0
  328. package/lib/goods-action-icon/index.wxml +41 -0
  329. package/lib/goods-action-icon/index.wxss +1 -0
  330. package/lib/grid/index.css +1 -0
  331. package/lib/grid/index.d.ts +1 -0
  332. package/lib/grid/index.js +57 -0
  333. package/lib/grid/index.json +3 -0
  334. package/lib/grid/index.wxml +8 -0
  335. package/lib/grid/index.wxs +13 -0
  336. package/lib/grid/index.wxss +1 -0
  337. package/lib/grid-item/index.css +1 -0
  338. package/lib/grid-item/index.d.ts +1 -0
  339. package/lib/grid-item/index.js +54 -0
  340. package/lib/grid-item/index.json +6 -0
  341. package/lib/grid-item/index.wxml +27 -0
  342. package/lib/grid-item/index.wxs +32 -0
  343. package/lib/grid-item/index.wxss +1 -0
  344. package/lib/icon/index.css +1 -0
  345. package/lib/icon/index.d.ts +1 -0
  346. package/lib/icon/index.js +23 -0
  347. package/lib/icon/index.json +6 -0
  348. package/lib/icon/index.wxml +30 -0
  349. package/lib/icon/index.wxs +98 -0
  350. package/lib/icon/index.wxss +1 -0
  351. package/lib/image/index.css +1 -0
  352. package/lib/image/index.d.ts +1 -0
  353. package/lib/image/index.js +75 -0
  354. package/lib/image/index.json +7 -0
  355. package/lib/image/index.wxml +40 -0
  356. package/lib/image/index.wxs +42 -0
  357. package/lib/image/index.wxss +1 -0
  358. package/lib/index-anchor/index.css +1 -0
  359. package/lib/index-anchor/index.d.ts +1 -0
  360. package/lib/index-anchor/index.js +28 -0
  361. package/lib/index-anchor/index.json +3 -0
  362. package/lib/index-anchor/index.wxml +14 -0
  363. package/lib/index-anchor/index.wxss +1 -0
  364. package/lib/index-bar/index.css +1 -0
  365. package/lib/index-bar/index.d.ts +1 -0
  366. package/lib/index-bar/index.js +244 -0
  367. package/lib/index-bar/index.json +3 -0
  368. package/lib/index-bar/index.wxml +22 -0
  369. package/lib/index-bar/index.wxss +1 -0
  370. package/lib/info/index.css +1 -0
  371. package/lib/info/index.d.ts +1 -0
  372. package/lib/info/index.js +10 -0
  373. package/lib/info/index.json +3 -0
  374. package/lib/info/index.wxml +7 -0
  375. package/lib/info/index.wxss +1 -0
  376. package/lib/loading/index.css +1 -0
  377. package/lib/loading/index.d.ts +1 -0
  378. package/lib/loading/index.js +44 -0
  379. package/lib/loading/index.json +3 -0
  380. package/lib/loading/index.wxml +17 -0
  381. package/lib/loading/index.wxs +38 -0
  382. package/lib/loading/index.wxss +1 -0
  383. package/lib/mixins/basic.d.ts +1 -0
  384. package/lib/mixins/basic.js +30 -0
  385. package/lib/mixins/button.d.ts +1 -0
  386. package/lib/mixins/button.js +54 -0
  387. package/lib/mixins/link.d.ts +1 -0
  388. package/lib/mixins/link.js +26 -0
  389. package/lib/mixins/page-scroll.d.ts +6 -0
  390. package/lib/mixins/page-scroll.js +47 -0
  391. package/lib/mixins/touch.d.ts +1 -0
  392. package/lib/mixins/touch.js +39 -0
  393. package/lib/mixins/transition.d.ts +1 -0
  394. package/lib/mixins/transition.js +235 -0
  395. package/lib/nav-bar/index.css +1 -0
  396. package/lib/nav-bar/index.d.ts +1 -0
  397. package/lib/nav-bar/index.js +116 -0
  398. package/lib/nav-bar/index.json +6 -0
  399. package/lib/nav-bar/index.wxml +70 -0
  400. package/lib/nav-bar/index.wxs +14 -0
  401. package/lib/nav-bar/index.wxss +1 -0
  402. package/lib/normal-slider/index.css +1 -0
  403. package/lib/normal-slider/index.d.ts +1 -0
  404. package/lib/normal-slider/index.js +160 -0
  405. package/lib/normal-slider/index.json +6 -0
  406. package/lib/normal-slider/index.wxml +35 -0
  407. package/lib/normal-slider/index.wxss +1 -0
  408. package/lib/notice-bar/index.css +1 -0
  409. package/lib/notice-bar/index.d.ts +1 -0
  410. package/lib/notice-bar/index.js +178 -0
  411. package/lib/notice-bar/index.json +6 -0
  412. package/lib/notice-bar/index.wxml +52 -0
  413. package/lib/notice-bar/index.wxs +11 -0
  414. package/lib/notice-bar/index.wxss +1 -0
  415. package/lib/notify/index.css +1 -0
  416. package/lib/notify/index.d.ts +1 -0
  417. package/lib/notify/index.js +80 -0
  418. package/lib/notify/index.json +6 -0
  419. package/lib/notify/index.wxml +22 -0
  420. package/lib/notify/index.wxs +22 -0
  421. package/lib/notify/index.wxss +1 -0
  422. package/lib/notify/notify.d.ts +29 -0
  423. package/lib/notify/notify.js +72 -0
  424. package/lib/overlay/index.css +1 -0
  425. package/lib/overlay/index.d.ts +1 -0
  426. package/lib/overlay/index.js +32 -0
  427. package/lib/overlay/index.json +6 -0
  428. package/lib/overlay/index.wxml +7 -0
  429. package/lib/overlay/index.wxss +1 -0
  430. package/lib/overlay/overlay.wxml +10 -0
  431. package/lib/picker/index.css +1 -0
  432. package/lib/picker/index.d.ts +1 -0
  433. package/lib/picker/index.js +184 -0
  434. package/lib/picker/index.json +7 -0
  435. package/lib/picker/index.wxml +47 -0
  436. package/lib/picker/index.wxs +44 -0
  437. package/lib/picker/index.wxss +1 -0
  438. package/lib/picker/shared.d.ts +33 -0
  439. package/lib/picker/shared.js +36 -0
  440. package/lib/picker/toolbar.wxml +23 -0
  441. package/lib/picker-column/index.css +1 -0
  442. package/lib/picker-column/index.d.ts +1 -0
  443. package/lib/picker-column/index.js +226 -0
  444. package/lib/picker-column/index.json +3 -0
  445. package/lib/picker-column/index.wxml +81 -0
  446. package/lib/picker-column/index.wxs +506 -0
  447. package/lib/picker-column/index.wxss +1 -0
  448. package/lib/popover/index.css +1 -0
  449. package/lib/popover/index.d.ts +1 -0
  450. package/lib/popover/index.js +220 -0
  451. package/lib/popover/index.json +7 -0
  452. package/lib/popover/index.wxml +31 -0
  453. package/lib/popover/index.wxss +1 -0
  454. package/lib/popup/index.css +1 -0
  455. package/lib/popup/index.d.ts +1 -0
  456. package/lib/popup/index.js +122 -0
  457. package/lib/popup/index.json +7 -0
  458. package/lib/popup/index.wxml +21 -0
  459. package/lib/popup/index.wxs +23 -0
  460. package/lib/popup/index.wxss +1 -0
  461. package/lib/popup/popup.wxml +16 -0
  462. package/lib/progress/index.css +1 -0
  463. package/lib/progress/index.d.ts +1 -0
  464. package/lib/progress/index.js +52 -0
  465. package/lib/progress/index.json +3 -0
  466. package/lib/progress/index.wxml +20 -0
  467. package/lib/progress/index.wxs +36 -0
  468. package/lib/progress/index.wxss +1 -0
  469. package/lib/radio/index.css +1 -0
  470. package/lib/radio/index.d.ts +1 -0
  471. package/lib/radio/index.js +75 -0
  472. package/lib/radio/index.json +6 -0
  473. package/lib/radio/index.wxml +32 -0
  474. package/lib/radio/index.wxs +33 -0
  475. package/lib/radio/index.wxss +1 -0
  476. package/lib/radio-group/index.css +1 -0
  477. package/lib/radio-group/index.d.ts +1 -0
  478. package/lib/radio-group/index.js +29 -0
  479. package/lib/radio-group/index.json +3 -0
  480. package/lib/radio-group/index.wxml +5 -0
  481. package/lib/radio-group/index.wxss +1 -0
  482. package/lib/rate/index.css +1 -0
  483. package/lib/rate/index.d.ts +1 -0
  484. package/lib/rate/index.js +107 -0
  485. package/lib/rate/index.json +6 -0
  486. package/lib/rate/index.wxml +35 -0
  487. package/lib/rate/index.wxss +1 -0
  488. package/lib/row/index.css +1 -0
  489. package/lib/row/index.d.ts +1 -0
  490. package/lib/row/index.js +26 -0
  491. package/lib/row/index.json +3 -0
  492. package/lib/row/index.wxml +5 -0
  493. package/lib/row/index.wxs +18 -0
  494. package/lib/row/index.wxss +1 -0
  495. package/lib/search/index.css +1 -0
  496. package/lib/search/index.d.ts +1 -0
  497. package/lib/search/index.js +106 -0
  498. package/lib/search/index.json +7 -0
  499. package/lib/search/index.wxml +57 -0
  500. package/lib/search/index.wxss +1 -0
  501. package/lib/sidebar/index.css +1 -0
  502. package/lib/sidebar/index.d.ts +1 -0
  503. package/lib/sidebar/index.js +36 -0
  504. package/lib/sidebar/index.json +3 -0
  505. package/lib/sidebar/index.wxml +3 -0
  506. package/lib/sidebar/index.wxss +1 -0
  507. package/lib/sidebar-item/index.css +1 -0
  508. package/lib/sidebar-item/index.d.ts +1 -0
  509. package/lib/sidebar-item/index.js +32 -0
  510. package/lib/sidebar-item/index.json +6 -0
  511. package/lib/sidebar-item/index.wxml +18 -0
  512. package/lib/sidebar-item/index.wxss +1 -0
  513. package/lib/skeleton/index.css +1 -0
  514. package/lib/skeleton/index.d.ts +1 -0
  515. package/lib/skeleton/index.js +48 -0
  516. package/lib/skeleton/index.json +4 -0
  517. package/lib/skeleton/index.wxml +29 -0
  518. package/lib/skeleton/index.wxss +1 -0
  519. package/lib/slider/index.css +1 -0
  520. package/lib/slider/index.d.ts +1 -0
  521. package/lib/slider/index.js +208 -0
  522. package/lib/slider/index.json +3 -0
  523. package/lib/slider/index.wxml +68 -0
  524. package/lib/slider/index.wxs +14 -0
  525. package/lib/slider/index.wxss +1 -0
  526. package/lib/stepper/index.css +1 -0
  527. package/lib/stepper/index.d.ts +1 -0
  528. package/lib/stepper/index.js +225 -0
  529. package/lib/stepper/index.json +6 -0
  530. package/lib/stepper/index.wxml +45 -0
  531. package/lib/stepper/index.wxs +32 -0
  532. package/lib/stepper/index.wxss +1 -0
  533. package/lib/steps/index.css +1 -0
  534. package/lib/steps/index.d.ts +1 -0
  535. package/lib/steps/index.js +39 -0
  536. package/lib/steps/index.json +6 -0
  537. package/lib/steps/index.wxml +54 -0
  538. package/lib/steps/index.wxss +1 -0
  539. package/lib/sticky/index.css +1 -0
  540. package/lib/sticky/index.d.ts +1 -0
  541. package/lib/sticky/index.js +128 -0
  542. package/lib/sticky/index.json +3 -0
  543. package/lib/sticky/index.wxml +8 -0
  544. package/lib/sticky/index.wxs +25 -0
  545. package/lib/sticky/index.wxss +1 -0
  546. package/lib/swipe-cell/index.css +1 -0
  547. package/lib/swipe-cell/index.d.ts +1 -0
  548. package/lib/swipe-cell/index.js +142 -0
  549. package/lib/swipe-cell/index.json +3 -0
  550. package/lib/swipe-cell/index.wxml +21 -0
  551. package/lib/swipe-cell/index.wxss +1 -0
  552. package/lib/switch/index.css +1 -0
  553. package/lib/switch/index.d.ts +1 -0
  554. package/lib/switch/index.js +42 -0
  555. package/lib/switch/index.json +6 -0
  556. package/lib/switch/index.wxml +39 -0
  557. package/lib/switch/index.wxs +26 -0
  558. package/lib/switch/index.wxss +1 -0
  559. package/lib/tab/index.css +1 -0
  560. package/lib/tab/index.d.ts +1 -0
  561. package/lib/tab/index.js +66 -0
  562. package/lib/tab/index.json +3 -0
  563. package/lib/tab/index.wxml +8 -0
  564. package/lib/tab/index.wxss +1 -0
  565. package/lib/tabbar/index.css +1 -0
  566. package/lib/tabbar/index.d.ts +1 -0
  567. package/lib/tabbar/index.js +73 -0
  568. package/lib/tabbar/index.json +3 -0
  569. package/lib/tabbar/index.wxml +12 -0
  570. package/lib/tabbar/index.wxss +1 -0
  571. package/lib/tabbar-item/index.css +1 -0
  572. package/lib/tabbar-item/index.d.ts +1 -0
  573. package/lib/tabbar-item/index.js +79 -0
  574. package/lib/tabbar-item/index.json +7 -0
  575. package/lib/tabbar-item/index.wxml +32 -0
  576. package/lib/tabbar-item/index.wxss +1 -0
  577. package/lib/tabs/index.css +1 -0
  578. package/lib/tabs/index.d.ts +1 -0
  579. package/lib/tabs/index.js +329 -0
  580. package/lib/tabs/index.json +7 -0
  581. package/lib/tabs/index.wxml +67 -0
  582. package/lib/tabs/index.wxs +99 -0
  583. package/lib/tabs/index.wxss +1 -0
  584. package/lib/tag/index.css +1 -0
  585. package/lib/tag/index.d.ts +1 -0
  586. package/lib/tag/index.js +34 -0
  587. package/lib/tag/index.json +6 -0
  588. package/lib/tag/index.wxml +17 -0
  589. package/lib/tag/index.wxs +13 -0
  590. package/lib/tag/index.wxss +1 -0
  591. package/lib/toast/icons.d.ts +3 -0
  592. package/lib/toast/icons.js +12 -0
  593. package/lib/toast/index.css +1 -0
  594. package/lib/toast/index.d.ts +1 -0
  595. package/lib/toast/index.js +63 -0
  596. package/lib/toast/index.json +9 -0
  597. package/lib/toast/index.wxml +33 -0
  598. package/lib/toast/index.wxss +1 -0
  599. package/lib/toast/toast.d.ts +35 -0
  600. package/lib/toast/toast.js +116 -0
  601. package/lib/transition/index.css +1 -0
  602. package/lib/transition/index.d.ts +1 -0
  603. package/lib/transition/index.js +15 -0
  604. package/lib/transition/index.json +3 -0
  605. package/lib/transition/index.wxml +9 -0
  606. package/lib/transition/index.wxs +17 -0
  607. package/lib/transition/index.wxss +1 -0
  608. package/lib/tree-select/index.css +1 -0
  609. package/lib/tree-select/index.d.ts +1 -0
  610. package/lib/tree-select/index.js +74 -0
  611. package/lib/tree-select/index.json +8 -0
  612. package/lib/tree-select/index.wxml +41 -0
  613. package/lib/tree-select/index.wxs +12 -0
  614. package/lib/tree-select/index.wxss +1 -0
  615. package/lib/wxs/add-unit.wxs +12 -0
  616. package/lib/wxs/array.wxs +5 -0
  617. package/lib/wxs/bem.wxs +39 -0
  618. package/lib/wxs/memoize.wxs +55 -0
  619. package/lib/wxs/object.wxs +13 -0
  620. package/lib/wxs/strToStyleObject.wxs +10 -0
  621. package/lib/wxs/style.wxs +46 -0
  622. package/lib/wxs/utils.wxs +10 -0
  623. package/package.json +1 -1
@@ -4,7 +4,7 @@
4
4
  <header
5
5
  title="{{ title }}"
6
6
  showTitle="{{ showTitle }}"
7
- subtitle="{{ type === 'year' ? '' : type === 'month' ? computed.formatYearTitle(originCurrentDateMonthly, visibleIndex, locale.yearFormatter) : computed.formatMonthTitle(months[visibleIndex], locale.subFormatter) }}"
7
+ subtitle="{{ type === 'year' ? '' : type === 'month' ? computed.formatYearTitle(originCurrentDateMonthly, visibleIndex, locale.yearFormatter) : computed.formatMonthTitle(months[visibleIndex], subFormatter) }}"
8
8
  subFormatter="{{locale.subFormatter || 'YYYY-MM'}}"
9
9
  showSubtitle="{{ showSubtitle }}"
10
10
  firstDayOfWeek="{{ firstDayOfWeek }}"
@@ -0,0 +1 @@
1
+ .smart-clearfix:after{clear:both;content:"";display:table}
@@ -0,0 +1 @@
1
+ .smart-clearfix:after{clear:both;content:"";display:table}
@@ -0,0 +1 @@
1
+ .smart-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-multi-ellipsis--l2{-webkit-line-clamp:2}.smart-multi-ellipsis--l2,.smart-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.smart-multi-ellipsis--l3{-webkit-line-clamp:3}
@@ -0,0 +1 @@
1
+ .smart-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-multi-ellipsis--l2{-webkit-line-clamp:2}.smart-multi-ellipsis--l2,.smart-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.smart-multi-ellipsis--l3{-webkit-line-clamp:3}
@@ -0,0 +1 @@
1
+ :root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}.smart-hairline,.smart-hairline--bottom,.smart-hairline--left,.smart-hairline--right,.smart-hairline--surround,.smart-hairline--top,.smart-hairline--top-bottom{position:relative}.smart-hairline--bottom:after,.smart-hairline--left:after,.smart-hairline--right:after,.smart-hairline--surround:after,.smart-hairline--top-bottom:after,.smart-hairline--top:after,.smart-hairline:after{border:0 solid var(--hairline-color,var(--app-B6-N7,rgba(0,0,0,.1)));bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.smart-hairline--top:after{border-top-width:var(--hairline-top-width,1px)}.smart-hairline--left:after{border-left-width:var(--hairline-left-width,1px)}.smart-hairline--right:after{border-right-width:var(--hairline-right-width,1px)}.smart-hairline--bottom:after{border-bottom-width:var(--hairline-bottom-width,1px)}.smart-hairline--top-bottom:after{border-width:var(--hairline-top-bottom-width,1px 0)}.smart-hairline--surround:after{border-width:var(--hairline-surround-width,1px)}
@@ -0,0 +1 @@
1
+ :root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}.smart-hairline,.smart-hairline--bottom,.smart-hairline--left,.smart-hairline--right,.smart-hairline--surround,.smart-hairline--top,.smart-hairline--top-bottom{position:relative}.smart-hairline--bottom:after,.smart-hairline--left:after,.smart-hairline--right:after,.smart-hairline--surround:after,.smart-hairline--top-bottom:after,.smart-hairline--top:after,.smart-hairline:after{border:0 solid var(--hairline-color,var(--app-B6-N7,rgba(0,0,0,.1)));bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.smart-hairline--top:after{border-top-width:var(--hairline-top-width,1px)}.smart-hairline--left:after{border-left-width:var(--hairline-left-width,1px)}.smart-hairline--right:after{border-right-width:var(--hairline-right-width,1px)}.smart-hairline--bottom:after{border-bottom-width:var(--hairline-bottom-width,1px)}.smart-hairline--top-bottom:after{border-width:var(--hairline-top-bottom-width,1px 0)}.smart-hairline--surround:after{border-width:var(--hairline-surround-width,1px)}
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ :root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}
@@ -0,0 +1 @@
1
+ :root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}
@@ -0,0 +1 @@
1
+ :root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}
@@ -0,0 +1 @@
1
+ :root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}
@@ -22,3 +22,4 @@ export declare function replacePlaceholders(template: any, values: any): any;
22
22
  export declare const getSafeAreaInsetMin: () => number;
23
23
  export declare function getSafeBottomOffset(): number;
24
24
  export declare const getDateString: (date: Date) => string | undefined;
25
+ export declare function generateRangeArray(start: number, end: number): number[];
@@ -111,3 +111,10 @@ export const getDateString = (date) => {
111
111
  const formattedDate = `${year}/${month}/${day}`;
112
112
  return formattedDate;
113
113
  };
114
+ export function generateRangeArray(start, end) {
115
+ const resultArray = [];
116
+ for (let i = start; i < end; i++) {
117
+ resultArray.push(i);
118
+ }
119
+ return resultArray;
120
+ }
@@ -1 +1 @@
1
- @import '../common/index.css';:root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}:host{font-size:0;line-height:1}.smart-loading{align-items:center;color:var(--loading-spinner-color,#1989fa);display:inline-flex;justify-content:center}.smart-loading__spinner{animation:smart-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;background:var(--loading-spinner-color,#1989fa);box-sizing:border-box;height:var(--loading-spinner-size,30px);max-height:100%;max-width:100%;position:relative;width:var(--loading-spinner-size,30px)}.smart-loading__spinner--spinner{animation-timing-function:steps(8)}.smart-loading__text{color:var(--loading-text-color,#969799);font-size:var(--loading-text-font-size,14px);line-height:var(--loading-text-line-height,20px);margin-left:var(--padding-xs,8px)}.smart-loading__text:empty{display:none}.smart-loading--vertical{flex-direction:column}.smart-loading--vertical .smart-loading__text{margin:var(--padding-xs,8px) 0 0}@keyframes smart-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ @import '../common/index.css';:root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}:host{font-size:0;line-height:1}.smart-loading{align-items:center;color:var(--loading-spinner-color,#c8c9cc);display:inline-flex;justify-content:center}.smart-loading__spinner{animation:smart-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;box-sizing:border-box;height:var(--loading-spinner-size,30px);max-height:100%;max-width:100%;position:relative;width:var(--loading-spinner-size,30px)}.smart-loading__spinner--spinner{animation-timing-function:steps(8)}.smart-loading__text{color:var(--loading-text-color,#969799);font-size:var(--loading-text-font-size,14px);line-height:var(--loading-text-line-height,20px);margin-left:var(--padding-xs,8px)}.smart-loading__text:empty{display:none}.smart-loading--vertical{flex-direction:column}.smart-loading--vertical .smart-loading__text{margin:var(--padding-xs,8px) 0 0}@keyframes smart-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
@@ -3,7 +3,7 @@ SmartComponent({
3
3
  props: {
4
4
  color: {
5
5
  type: String,
6
- value: 'var(--loading-spinner-color, #1989FA)',
6
+ value: '#1989FA'
7
7
  },
8
8
  vertical: Boolean,
9
9
  type: {
@@ -18,12 +18,12 @@ SmartComponent({
18
18
  },
19
19
  data: {
20
20
  spinner: '',
21
- circular: '',
21
+ circular: ''
22
22
  },
23
23
  created() {
24
24
  this.setData({
25
25
  spinner: this.SpinnerLoading({ color: this.data.color }),
26
- circular: this.CircularLoading({ color: this.data.color }),
26
+ circular: this.CircularLoading({ color: this.data.color })
27
27
  });
28
28
  },
29
29
  methods: {
@@ -35,6 +35,6 @@ SmartComponent({
35
35
  },
36
36
  SpinnerLoading({ color = '#3678E3' }) {
37
37
  return this.createSvgIcon(`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_1695_29273"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_1695_29273)"><g><path d="M14.73077392578125,8.807690000000001L14.73077392578125,6.26923C14.73077392578125,5.568254,15.29902692578125,5,16.00000392578125,5C16.70097392578125,5,17.26923392578125,5.568254,17.26923392578125,6.26923L17.26923392578125,8.807690000000001C17.26923392578125,9.50867,16.70097392578125,10.07693,16.00000392578125,10.07693C15.29902692578125,10.07693,14.73077392578125,9.50867,14.73077392578125,8.807690000000001Z" fill="${color}" fill-opacity="1"/></g><g transform="matrix(0.7071067690849304,0.7071067690849304,-0.7071067690849304,0.7071067690849304,11.880707750418878,-14.033822285849965)" style="opacity:0.05000000074505806;"><path d="M22.88067626953125,11.132061337890626L22.88067626953125,8.593601337890625C22.88067626953125,7.892624337890625,23.44892926953125,7.324371337890625,24.14990626953125,7.324371337890625C24.85088626953125,7.324371337890625,25.41913626953125,7.892624337890625,25.41913626953125,8.593601337890625L25.41913626953125,11.132061337890626C25.41913626953125,11.833041337890625,24.85088626953125,12.401291337890626,24.14990626953125,12.401291337890626C23.44892926953125,12.401291337890626,22.88067626953125,11.833041337890625,22.88067626953125,11.132061337890626Z" fill="${color}" fill-opacity="1"/></g><g transform="matrix(0,1,-1,0,41.73081970214844,-12.269180297851562)" style="opacity:0.10000000149011612;"><path d="M27,18.53850970214844L27,16.000049702148438C27,15.299072702148438,27.568253,14.730819702148438,28.26923,14.730819702148438C28.97021,14.730819702148438,29.53846,15.299072702148438,29.53846,16.000049702148438L29.53846,18.53850970214844C29.53846,19.23948970214844,28.97021,19.80773970214844,28.26923,19.80773970214844C27.568253,19.80773970214844,27,19.23948970214844,27,18.53850970214844Z" fill="${color}" fill-opacity="1"/></g><g transform="matrix(-0.7071067690849304,0.7071067690849304,-0.7071067690849304,-0.7071067690849304,58.30294381839121,21.611726407169044)" style="opacity:0.15000000596046448;"><path d="M24.675537109375,26.68848833984375L24.675537109375,24.15002833984375C24.675537109375,23.44905133984375,25.243790109375,22.88079833984375,25.944767109375,22.88079833984375C26.645747109375,22.88079833984375,27.213997109375,23.44905133984375,27.213997109375,24.15002833984375L27.213997109375,26.68848833984375C27.213997109375,27.389468339843752,26.645747109375,27.95771833984375,25.944767109375,27.95771833984375C25.243790109375,27.95771833984375,24.675537109375,27.389468339843752,24.675537109375,26.68848833984375Z" fill="${color}" fill-opacity="1"/></g><g transform="matrix(-1,0,0,-1,34.5384521484375,54)" style="opacity:0.30000001192092896;"><path d="M17.26922607421875,30.80769L17.26922607421875,28.26923C17.26922607421875,27.568254,17.83747907421875,27,18.53845607421875,27C19.23942607421875,27,19.80768607421875,27.568254,19.80768607421875,28.26923L19.80768607421875,30.80769C19.80768607421875,31.508670000000002,19.23942607421875,32.07693,18.53845607421875,32.07693C17.83747907421875,32.07693,17.26922607421875,31.508670000000002,17.26922607421875,30.80769Z" fill="${color}" fill-opacity="1"/></g><g transform="matrix(-0.7071068286895752,-0.7071067094802856,0.7071067094802856,-0.7071068286895752,-1.8805817391439632,48.572416538932885)" style="opacity:0.550000011920929;"><path d="M9.119384765625,28.483379697265626L9.119384765625,25.944919697265625C9.119384765625,25.243942697265624,9.687637765625,24.675689697265625,10.388614765625,24.675689697265625C11.089594765625,24.675689697265625,11.657844765625,25.243942697265624,11.657844765625,25.944919697265625L11.657844765625,28.483379697265626C11.657844765625,29.184359697265627,11.089594765625,29.752609697265626,10.388614765625,29.752609697265626C9.687637765625,29.752609697265626,9.119384765625,29.184359697265627,9.119384765625,28.483379697265626Z" fill="${color}" fill-opacity="1"/></g><g transform="matrix(0,-1,1,0,-12.269241333007812,22.269241333007812)" style="opacity:0.699999988079071;"><path d="M5,21.076931333007813L5,18.538471333007813C5,17.83749433300781,5.568253,17.269241333007812,6.26923,17.269241333007812C6.97021,17.269241333007812,7.538460000000001,17.83749433300781,7.538460000000001,18.538471333007813L7.538460000000001,21.076931333007813C7.538460000000001,21.777911333007815,6.97021,22.346161333007814,6.26923,22.346161333007814C5.568253,22.346161333007814,5,21.777911333007815,5,21.076931333007813Z" fill="${color}" fill-opacity="1"/></g><g transform="matrix(0.7071066498756409,-0.70710688829422,0.70710688829422,0.7071066498756409,-4.303046450104375,7.850115344526785)" style="opacity:0.8500000238418579;"><path d="M7.32440185546875,12.926983212890626L7.32440185546875,10.388523212890625C7.32440185546875,9.687546212890625,7.89265485546875,9.119293212890625,8.59363185546875,9.119293212890625C9.29461185546875,9.119293212890625,9.86286185546875,9.687546212890625,9.86286185546875,10.388523212890625L9.86286185546875,12.926983212890626C9.86286185546875,13.627963212890625,9.29461185546875,14.196213212890626,8.59363185546875,14.196213212890626C7.89265485546875,14.196213212890626,7.32440185546875,13.627963212890625,7.32440185546875,12.926983212890626Z" fill="${color}" fill-opacity="1"/></g></g></svg>`);
38
- },
39
- },
38
+ }
39
+ }
40
40
  });
@@ -12,21 +12,21 @@ function textStyle(data) {
12
12
  }
13
13
 
14
14
  function loadingStyle(data) {
15
- var iconSrc = '';
15
+ var iconSrc = ''
16
16
 
17
17
  if (data.type === 'spinner') {
18
- iconSrc = data.spinner;
18
+ iconSrc = data.spinner
19
19
  }
20
20
 
21
21
  if (data.type === 'circular') {
22
- iconSrc = data.circular;
22
+ iconSrc = data.circular
23
23
  }
24
24
 
25
25
  var ret = style({
26
- 'mask-image': "url('".concat(iconSrc, "')"),
26
+ 'background-image': "url('".concat(iconSrc, "')"),
27
27
  width: addUnit(data.size),
28
28
  height: addUnit(data.size),
29
- 'mask-size': addUnit(data.size),
29
+ 'background-size': addUnit(data.size)
30
30
  });
31
31
 
32
32
  return ret;
@@ -1 +1 @@
1
- @import '../common/index.wxss';:root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}:host{font-size:0;line-height:1}.smart-loading{align-items:center;color:var(--loading-spinner-color,#1989fa);display:inline-flex;justify-content:center}.smart-loading__spinner{animation:smart-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;background:var(--loading-spinner-color,#1989fa);box-sizing:border-box;height:var(--loading-spinner-size,30px);max-height:100%;max-width:100%;position:relative;width:var(--loading-spinner-size,30px)}.smart-loading__spinner--spinner{animation-timing-function:steps(8)}.smart-loading__text{color:var(--loading-text-color,#969799);font-size:var(--loading-text-font-size,14px);line-height:var(--loading-text-line-height,20px);margin-left:var(--padding-xs,8px)}.smart-loading__text:empty{display:none}.smart-loading--vertical{flex-direction:column}.smart-loading--vertical .smart-loading__text{margin:var(--padding-xs,8px) 0 0}@keyframes smart-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ @import '../common/index.wxss';:root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}:host{font-size:0;line-height:1}.smart-loading{align-items:center;color:var(--loading-spinner-color,#c8c9cc);display:inline-flex;justify-content:center}.smart-loading__spinner{animation:smart-rotate var(--loading-spinner-animation-duration,.8s) linear infinite;box-sizing:border-box;height:var(--loading-spinner-size,30px);max-height:100%;max-width:100%;position:relative;width:var(--loading-spinner-size,30px)}.smart-loading__spinner--spinner{animation-timing-function:steps(8)}.smart-loading__text{color:var(--loading-text-color,#969799);font-size:var(--loading-text-font-size,14px);line-height:var(--loading-text-line-height,20px);margin-left:var(--padding-xs,8px)}.smart-loading__text:empty{display:none}.smart-loading--vertical{flex-direction:column}.smart-loading--vertical .smart-loading__text{margin:var(--padding-xs,8px) 0 0}@keyframes smart-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
@@ -1 +1 @@
1
- @import '../common/index.css';:root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}.smart-picker-column{color:var(--picker-option-selected-text-color,var(--app-B6-N1,#000));font-size:var(--picker-option-font-size,16px);font-weight:var(--font-weight-bold,500);text-align:center}.smart-picker-column,.smart-picker-column__offset{position:relative;width:100%}.smart-picker-column__visual{position:absolute;top:0;width:100%}.smart-picker-column__item{pointer-events:none}.smart-picker-column__item--selected{color:var(--picker-option-selected-text-color,var(--app-B6-N1,#000));font-weight:var(--picker-option-selected-font-weight-bold,var(--font-weight-bold,700))}.smart-picker-column__item--disabled{opacity:var(--picker-option-disabled-opacity,.3)}.smart-picker-column__mask{background:transparent;display:flex;flex-direction:column;height:100%;position:absolute;top:0;width:100%;z-index:10}.smart-picker-column__mask__item{flex:1}.smart-picker-column__unit{align-items:center;display:flex;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:100%}.smart-picker-column__unit_text{color:var(--picker-option-unit-text-color,var(--app-B6-N4,rgba(0,0,0,.4)));font-size:var(--picker-option-unit-font-size,12px);left:100%;margin-left:var(--picker-option-unit-mid-size,4px);position:absolute;text-align:left;top:50%;transform:translateY(-50%);white-space:nowrap}.smart-picker-column__max-text{color:transparent;font-size:var(--picker-option-font-size,16px);font-weight:var(--font-weight-bold,500);position:relative}.smart-picker-column--disabled{opacity:var(--picker-option-disabled-opacity,.3)}
1
+ @import '../common/index.css';:root{--smart-ui-overlay:rgba(0,0,0,.4);--smart-ui-dialog-background:#fff;--smart-ui-border-image:linear-gradient(90deg,transparent,rgba(0,0,0,.3),transparent)}:root[theme=dark]{--smart-ui-overlay:rgba(0,0,0,.7);--smart-ui-dialog-background:#333;--smart-ui-border-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3),hsla(0,0%,100%,0))}.smart-picker-column{color:var(--picker-option-selected-text-color,var(--app-B6-N1,#000));font-size:var(--picker-option-font-size,16px);font-weight:var(--font-weight-bold,500);text-align:center}.smart-picker-column,.smart-picker-column__offset{position:relative;width:100%}.smart-picker-column__visual{position:absolute;top:0;width:100%}.smart-picker-column__item--selected{color:var(--picker-option-selected-text-color,var(--app-B6-N1,#000));font-weight:var(--picker-option-selected-font-weight-bold,var(--font-weight-bold,700))}.smart-picker-column__item--disabled{opacity:var(--picker-option-disabled-opacity,.3);pointer-events:none}.smart-picker-column__mask{background:transparent;display:flex;flex-direction:column;height:100%;position:absolute;top:0;width:100%;z-index:10}.smart-picker-column__mask__item{flex:1}.smart-picker-column__unit{align-items:center;display:flex;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:100%}.smart-picker-column__unit_text{color:var(--picker-option-unit-text-color,var(--app-B6-N4,rgba(0,0,0,.4)));font-size:var(--picker-option-unit-font-size,12px);left:100%;margin-left:var(--picker-option-unit-mid-size,4px);position:absolute;text-align:left;top:50%;transform:translateY(-50%);white-space:nowrap}.smart-picker-column__max-text{color:transparent;font-size:var(--picker-option-font-size,16px);font-weight:var(--font-weight-bold,500);position:relative}.smart-picker-column--disabled{opacity:var(--picker-option-disabled-opacity,.3)}.smart-picker-column__item_0 .smart-picker-column__item__text:after{content:var(--picker-item-content_0,"")}.smart-picker-column__item_1 .smart-picker-column__item__text:after{content:var(--picker-item-content_1,"")}.smart-picker-column__item_2 .smart-picker-column__item__text:after{content:var(--picker-item-content_2,"")}.smart-picker-column__item_3 .smart-picker-column__item__text:after{content:var(--picker-item-content_3,"")}.smart-picker-column__item_4 .smart-picker-column__item__text:after{content:var(--picker-item-content_4,"")}.smart-picker-column__item_5 .smart-picker-column__item__text:after{content:var(--picker-item-content_5,"")}.smart-picker-column__item_6 .smart-picker-column__item__text:after{content:var(--picker-item-content_6,"")}.smart-picker-column__item_7 .smart-picker-column__item__text:after{content:var(--picker-item-content_7,"")}.smart-picker-column__item_8 .smart-picker-column__item__text:after{content:var(--picker-item-content_8,"")}.smart-picker-column__item_9 .smart-picker-column__item__text:after{content:var(--picker-item-content_9,"")}.smart-picker-column__item_10 .smart-picker-column__item__text:after{content:var(--picker-item-content_10,"")}.smart-picker-column__item_11 .smart-picker-column__item__text:after{content:var(--picker-item-content_11,"")}.smart-picker-column__item_12 .smart-picker-column__item__text:after{content:var(--picker-item-content_12,"")}.smart-picker-column__item_13 .smart-picker-column__item__text:after{content:var(--picker-item-content_13,"")}.smart-picker-column__item_14 .smart-picker-column__item__text:after{content:var(--picker-item-content_14,"")}.smart-picker-column__item_15 .smart-picker-column__item__text:after{content:var(--picker-item-content_15,"")}.smart-picker-column__item_16 .smart-picker-column__item__text:after{content:var(--picker-item-content_16,"")}.smart-picker-column__item_17 .smart-picker-column__item__text:after{content:var(--picker-item-content_17,"")}.smart-picker-column__item_18 .smart-picker-column__item__text:after{content:var(--picker-item-content_18,"")}.smart-picker-column__item_19 .smart-picker-column__item__text:after{content:var(--picker-item-content_19,"")}.smart-picker-column__item_20 .smart-picker-column__item__text:after{content:var(--picker-item-content_20,"")}
@@ -1,17 +1,13 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { SmartComponent } from '../common/component';
11
- import { range } from '../common/utils';
2
+ import { generateRangeArray, range } from '../common/utils';
12
3
  import { isObj } from '../common/validator';
13
4
  import ty from '../common/ty';
14
- const DEFAULT_DURATION = 400;
5
+ const compIdList = [];
6
+ const getId = () => {
7
+ const id = 'smart-picker-column-' + compIdList.length;
8
+ compIdList.push(id);
9
+ return id;
10
+ };
15
11
  SmartComponent({
16
12
  classes: ['active-class'],
17
13
  props: {
@@ -30,8 +26,8 @@ SmartComponent({
30
26
  observer(value) {
31
27
  if (!this.data.isInit)
32
28
  return;
29
+ this.updateViewOptions();
33
30
  this.updateUint(value);
34
- this.updateVisibleOptions(this.data.currentIndex);
35
31
  },
36
32
  },
37
33
  defaultIndex: {
@@ -49,10 +45,10 @@ SmartComponent({
49
45
  activeIndex: {
50
46
  type: Number,
51
47
  value: -1,
52
- observer(index) {
48
+ observer() {
53
49
  if (!this.data.isInit)
54
50
  return;
55
- this.setIndex(index, false, this.data.changeAnimation, this.data.animationTime);
51
+ this.updateViewOptions();
56
52
  },
57
53
  },
58
54
  unit: {
@@ -63,6 +59,10 @@ SmartComponent({
63
59
  type: Number,
64
60
  value: 300,
65
61
  },
62
+ loop: {
63
+ type: Boolean,
64
+ value: false,
65
+ },
66
66
  },
67
67
  data: {
68
68
  startY: 0,
@@ -77,158 +77,73 @@ SmartComponent({
77
77
  playing: false,
78
78
  isInit: false,
79
79
  maxText: '',
80
+ instanceId: '',
80
81
  timer: null,
81
82
  preOffsetList: [],
83
+ viewOptions: [],
82
84
  },
83
85
  created() {
84
- const { defaultIndex, activeIndex, options } = this.data;
86
+ this.setData({
87
+ instanceId: getId(),
88
+ });
89
+ this.checkIndex();
90
+ this.updateViewOptions();
91
+ const { options } = this.data;
85
92
  this.updateUint(options);
86
- this.setIndex(activeIndex !== -1 ? activeIndex : defaultIndex, false, this.data.changeAnimation, this.data.animationTime);
87
93
  this.setData({
88
94
  isInit: true,
89
95
  });
90
96
  },
91
97
  methods: {
92
- getCount() {
93
- return this.data.options.length;
94
- },
95
- onTouchStart(event) {
96
- if (this.data.disabled) {
98
+ checkIndex() {
99
+ const { activeIndex } = this.data;
100
+ const index = this.adjustIndex(activeIndex);
101
+ if (activeIndex === index)
97
102
  return;
98
- }
99
- if (this.data.timer) {
100
- clearTimeout(this.data.timer);
101
- this.setData({
102
- timer: null,
103
- });
104
- }
105
- if (!this.data.playing) {
106
- this.$emit('animation-start');
107
- }
108
103
  this.setData({
109
- startY: event.touches[0].clientY,
110
- startOffset: this.data.offset,
111
- duration: 100,
112
- playing: true,
113
- timer: null,
114
- preOffsetList: [this.data.offset],
104
+ activeIndex: index,
115
105
  });
116
106
  },
117
- onTouchMove(event) {
118
- if (this.data.disabled) {
119
- return;
120
- }
107
+ adjustIndex(index) {
121
108
  const { data } = this;
122
- const { preOffsetList } = data;
123
- const deltaY = event.touches[0].clientY - data.startY;
124
- const offset = range(data.startOffset + deltaY, -(this.getCount() * data.itemHeight), data.itemHeight);
125
- const direction = this.checkIsDown(offset);
126
- // 上一次滚动的索引
127
- const preIndex = range(Math.round(-preOffsetList[preOffsetList.length - 1] / data.itemHeight), 0, this.getCount() - 1);
128
- // 最终定位索引
129
- const index = range(Math.round(-offset / data.itemHeight), 0, this.getCount() - 1);
130
- if ((direction === 'up' && index < data.renderStart + 8) ||
131
- (direction === 'down' && index > data.renderStart + data.renderNum - 8)) {
132
- this.updateVisibleOptions(index);
109
+ const count = this.data.options.length;
110
+ index = range(index, 0, count);
111
+ for (let i = index; i < count; i++) {
112
+ if (!this.isDisabled(data.options[i]))
113
+ return i;
133
114
  }
134
- // 索引变化时 粗发震动反馈
135
- if (index !== preIndex) {
136
- // @ts-ignore
137
- this.vibrateShort();
115
+ for (let i = index - 1; i >= 0; i--) {
116
+ if (!this.isDisabled(data.options[i]))
117
+ return i;
138
118
  }
139
- const animationIndex = Math.abs(-offset / data.itemHeight);
140
- this.setData({
141
- offset,
142
- animationIndex: animationIndex,
143
- preOffsetList: [...data.preOffsetList, offset],
144
- animate: false,
145
- });
146
119
  },
147
- onTouchEnd() {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- const { data } = this;
150
- if (data.disabled) {
151
- return;
152
- }
153
- const { preOffsetList } = data;
154
- let preOffset = Math.max(Math.abs(preOffsetList[preOffsetList.length - 3] - preOffsetList[preOffsetList.length - 4]), Math.abs(preOffsetList[preOffsetList.length - 2] - preOffsetList[preOffsetList.length - 3]), Math.abs(preOffsetList[preOffsetList.length - 1] - preOffsetList[preOffsetList.length - 2]));
155
- if (isNaN(preOffset))
156
- preOffset = 0;
157
- preOffset = Math.min(preOffset, 40);
158
- // 三次同样的距离 说明用户一直在顶部或者底部滑动 或在move途中已经是上下边缘了
159
- const isSameTouch = (preOffsetList[preOffsetList.length - 1] === preOffsetList[preOffsetList.length - 2] &&
160
- preOffsetList[preOffsetList.length - 2] === preOffsetList[preOffsetList.length - 3]) ||
161
- preOffsetList[preOffsetList.length - 1] === -(this.getCount() * data.itemHeight) ||
162
- preOffsetList[preOffsetList.length - 1] === data.itemHeight;
163
- // 是否是向下滚动
164
- const direction = this.checkIsDown();
165
- // 当滚动速度比较慢时(<3) 不增加惯性滚动距离
166
- const offset = Math.abs(preOffset) < 3 || isSameTouch || !direction
167
- ? data.offset
168
- : data.offset + (direction === 'down' ? -preOffset : preOffset) * 10;
169
- // 有数字的最大滚动距离
170
- const countHeight = (this.getCount() - 1) * data.itemHeight;
171
- // 动画最大滚动距离 上下各加一个 data.itemHeight 的滚动空间
172
- const animationOffset = range(offset, -(this.getCount() * data.itemHeight), data.itemHeight);
173
- // 最终定位滚动位置
174
- const finOffset = animationOffset < -countHeight ? -countHeight : animationOffset > 0 ? 0 : animationOffset;
175
- // 获取索引
176
- const index = range(Math.round(-finOffset / data.itemHeight), 0, this.getCount() - 1);
177
- // 获取索引的标准距离
178
- const offsetData = -index * data.itemHeight;
179
- // 增加惯性音效
180
- if (Math.abs(offsetData - data.offset) > data.itemHeight && !isSameTouch) {
181
- const countVibrate = Math.abs(offsetData - data.offset) / data.itemHeight;
182
- // @ts-ignore
183
- this.vibrateShort(Math.floor(countVibrate), data.animationTime);
184
- }
185
- // 最终定位索引
186
- this.setData({
187
- duration: isSameTouch ? 150 : data.animationTime,
188
- animationIndex: index,
189
- offset: offsetData,
190
- animate: true,
191
- });
192
- // 更新列表
193
- if ((direction === 'up' && index < data.renderStart + 8) ||
194
- (direction === 'down' && index > data.renderStart + data.renderNum - 8)) {
195
- yield this.updateVisibleOptions(index);
196
- }
197
- // 更新索引
198
- if (index !== data.currentIndex) {
199
- const time = isSameTouch ? 150 : data.animationTime;
200
- // if (!isSameTouch) {
201
- // this.timer = setInterval(() => {
202
- // if (Math.abs(this.data.animationIndex - index) < 0.5) return clearInterval(this.timer);
203
- // this.setData({
204
- // animationIndex: this.data.animationIndex + (index - data.currentIndex > 0 ? 1 : -1),
205
- // });
206
- // }, data.animationTime / Math.abs(index - data.currentIndex));
207
- // }
208
- return this.setData({
209
- timer: setTimeout(() => __awaiter(this, void 0, void 0, function* () {
210
- this.setIndex(index, true, false, this.data.animationTime);
211
- }), time),
212
- });
213
- }
214
- this.setData({
215
- playing: false,
216
- });
217
- this.$emit('animation-end');
218
- });
120
+ isDisabled(option) {
121
+ return isObj(option) && option.disabled;
219
122
  },
220
- checkIsDown(curr) {
221
- const { data } = this;
222
- const { preOffsetList } = data;
223
- const currOffset = curr === undefined ? preOffsetList[preOffsetList.length - 1] : curr;
224
- const preOffset = curr === undefined
225
- ? preOffsetList[preOffsetList.length - 2]
226
- : preOffsetList[preOffsetList.length - 1];
227
- if (currOffset === undefined || preOffset === undefined || currOffset === preOffset)
228
- return;
229
- return currOffset < preOffset ? 'down' : 'up';
123
+ updateViewOptions() {
124
+ const currActiveIndex = this.data.activeIndex < 0 ? 0 : this.data.activeIndex;
125
+ let partNum = Math.floor(currActiveIndex / 10);
126
+ const lastNum = this.data.activeIndex - partNum * 10;
127
+ if (lastNum < 5 && partNum > 0) {
128
+ partNum -= 1;
129
+ }
130
+ const part2Times = Math.floor(partNum / 2);
131
+ const part2Percent = partNum % 2;
132
+ const onePartOffset = part2Percent + part2Times;
133
+ const twoPartOffset = part2Times;
134
+ const isReverse = onePartOffset > twoPartOffset;
135
+ const startPart = twoPartOffset + onePartOffset;
136
+ const viewIndexList = !isReverse
137
+ ? generateRangeArray(startPart * 10, startPart * 10 + 20)
138
+ : [
139
+ ...generateRangeArray(startPart * 10 + 10, startPart * 10 + 20),
140
+ ...generateRangeArray(startPart * 10, startPart * 10 + 10),
141
+ ];
142
+ this.setData({
143
+ viewOptions: viewIndexList,
144
+ });
230
145
  },
231
- vibrateShort(count, time = DEFAULT_DURATION) {
146
+ vibrateShort(count, time) {
232
147
  if (!count) {
233
148
  ty.vibrateShort({ type: 'light' });
234
149
  return;
@@ -241,17 +156,7 @@ SmartComponent({
241
156
  }
242
157
  has++;
243
158
  this.vibrateShort();
244
- }, time / count - 20);
245
- },
246
- onClickItem(event) {
247
- if (this.data.disabled)
248
- return;
249
- const { index } = event.currentTarget.dataset;
250
- if (index === this.data.currentIndex || index < 0 || index > this.data.options.length - 1) {
251
- return;
252
- }
253
- this.vibrateShort(Math.abs(index - this.data.currentIndex), DEFAULT_DURATION);
254
- this.setIndex(index, true, true, this.data.animationTime);
159
+ }, (time || this.data.animationTime) / count - 20);
255
160
  },
256
161
  updateUint(options) {
257
162
  const { unit, valueKey } = this.data;
@@ -267,127 +172,43 @@ SmartComponent({
267
172
  this.setData({ maxText });
268
173
  }
269
174
  },
270
- updateVisibleOptions(targetIndex) {
271
- const { options, visibleItemCount, currentIndex } = this.data;
272
- if (visibleItemCount < 20 && options.length > visibleItemCount) {
273
- let renderNum = 0;
274
- let renderStart = 0;
275
- // 选项多于 20 个时,进行列表优化
276
- renderNum = Math.max(visibleItemCount * 2, 20);
277
- renderStart = Math.max(0, targetIndex - renderNum / 2);
278
- const renderEnd = Math.min(options.length, renderStart + renderNum);
279
- if (currentIndex >= 0) {
280
- if (currentIndex < targetIndex) {
281
- renderStart = Math.max(0, currentIndex - renderNum / 2);
282
- }
283
- }
284
- renderNum = renderEnd - renderStart;
285
- const optionsV = options.slice(renderStart, renderEnd);
286
- return this.set({ optionsV, renderStart, renderNum });
287
- }
288
- return this.set({
289
- optionsV: options,
290
- renderStart: 0,
291
- renderNum: options.length,
292
- });
293
- },
294
- adjustIndex(index) {
295
- const { data } = this;
296
- const count = this.getCount();
297
- index = range(index, 0, count);
298
- for (let i = index; i < count; i++) {
299
- if (!this.isDisabled(data.options[i]))
300
- return i;
301
- }
302
- for (let i = index - 1; i >= 0; i--) {
303
- if (!this.isDisabled(data.options[i]))
304
- return i;
305
- }
306
- },
307
- isDisabled(option) {
308
- return isObj(option) && option.disabled;
309
- },
310
175
  getOptionText(option) {
311
176
  const { data } = this;
312
177
  return isObj(option) && data.valueKey in option ? option[data.valueKey] : option;
313
178
  },
314
- setIndex(index, userAction, animate, time = DEFAULT_DURATION) {
315
- const { data } = this;
316
- index = this.adjustIndex(index) || 0;
317
- const offset = -index * data.itemHeight;
318
- if (this.timer) {
319
- clearTimeout(this.timer);
320
- this.timer = null;
321
- }
322
- if (!data.playing) {
323
- this.$emit('animation-start');
324
- this.setData({
325
- playing: true,
326
- });
327
- }
328
- if (index !== data.currentIndex) {
329
- // 需要动画的情况下,保持最大的截取
330
- this.updateVisibleOptions(index);
331
- if (animate) {
332
- return this.set({
333
- currentIndex: index,
334
- animationIndex: index,
335
- offset,
336
- animate: true,
337
- duration: time,
338
- }).then(() => {
339
- if (!userAction) {
340
- this.setData({
341
- playing: false,
342
- });
343
- this.$emit('animation-end');
344
- return;
345
- }
346
- this.$emit('change', index);
347
- this.setData({
348
- playing: false,
349
- });
350
- this.$emit('animation-end');
351
- });
352
- }
353
- return this.set({
354
- offset,
355
- currentIndex: index,
356
- animationIndex: index,
357
- animate: !!animate,
358
- }).then(() => {
359
- if (!userAction) {
360
- this.setData({
361
- playing: false,
362
- });
363
- this.$emit('animation-end');
364
- return;
365
- }
366
- this.$emit('change', index);
367
- this.setData({
368
- playing: false,
369
- });
370
- this.$emit('animation-end');
371
- });
372
- }
373
- this.setData({
374
- playing: false,
375
- });
376
- this.$emit('animation-end');
377
- return this.set({ offset });
378
- },
379
179
  setValue(value) {
380
180
  const { options } = this.data;
381
181
  for (let i = 0; i < options.length; i++) {
382
182
  if (this.getOptionText(options[i]) === value) {
383
- return this.setIndex(i, false, this.data.changeAnimation, this.data.animationTime);
183
+ return this.setIndex(i);
384
184
  }
385
185
  }
386
186
  return Promise.resolve();
387
187
  },
188
+ setIndex(index) {
189
+ this.setData({
190
+ activeIndex: index,
191
+ });
192
+ },
388
193
  getValue() {
389
194
  const { data } = this;
390
- return data.options[data.currentIndex];
195
+ return data.options[data.activeIndex < 0 ? 0 : data.activeIndex];
196
+ },
197
+ viewOptionsChange(list) {
198
+ this.setData({
199
+ viewOptions: list,
200
+ });
201
+ },
202
+ activeIndexChange(index) {
203
+ this.setData({
204
+ activeIndex: index,
205
+ });
206
+ this.$emit('change', index);
207
+ },
208
+ animationIndexChange(index) {
209
+ this.setData({
210
+ animationIndex: index,
211
+ });
391
212
  },
392
213
  },
393
214
  });