@wangxinowo/vue-datepicker-next 1.0.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 (571) hide show
  1. package/README.md +104 -0
  2. package/dist/vue-datepicker-next.min.css +3560 -0
  3. package/dist/vue-datepicker-next.min.js +11 -0
  4. package/package.json +84 -0
  5. package/src/components/_util/BaseMixin.js +40 -0
  6. package/src/components/_util/ContainerRender.jsx +98 -0
  7. package/src/components/_util/FormDecoratorDirective.js +10 -0
  8. package/src/components/_util/KeyCode.js +521 -0
  9. package/src/components/_util/Portal.js +51 -0
  10. package/src/components/_util/PortalWrapper.js +156 -0
  11. package/src/components/_util/StateMixin.js +10 -0
  12. package/src/components/_util/__tests__/easings.test.js +13 -0
  13. package/src/components/_util/__tests__/scrollTo.test.js +56 -0
  14. package/src/components/_util/antDirective.js +13 -0
  15. package/src/components/_util/antInputDirective.js +73 -0
  16. package/src/components/_util/callMoment.js +4 -0
  17. package/src/components/_util/colors.js +17 -0
  18. package/src/components/_util/createChainedFunction.js +22 -0
  19. package/src/components/_util/css-animation/Event.js +130 -0
  20. package/src/components/_util/css-animation/index.js +184 -0
  21. package/src/components/_util/easings.js +8 -0
  22. package/src/components/_util/env.js +14 -0
  23. package/src/components/_util/getLocale.js +30 -0
  24. package/src/components/_util/getRequestAnimationFrame.js +46 -0
  25. package/src/components/_util/getScroll.js +17 -0
  26. package/src/components/_util/getScrollBarSize.js +38 -0
  27. package/src/components/_util/getTransitionProps.js +34 -0
  28. package/src/components/_util/interopDefault.js +4 -0
  29. package/src/components/_util/isCssAnimationSupported.js +24 -0
  30. package/src/components/_util/isFlexSupported.js +12 -0
  31. package/src/components/_util/isNumeric.js +4 -0
  32. package/src/components/_util/isValid.js +4 -0
  33. package/src/components/_util/moment-util.js +75 -0
  34. package/src/components/_util/openAnimation.js +67 -0
  35. package/src/components/_util/portalDirective.js +24 -0
  36. package/src/components/_util/props-util.js +335 -0
  37. package/src/components/_util/proxyComponent.jsx +58 -0
  38. package/src/components/_util/raf.js +32 -0
  39. package/src/components/_util/requestAnimationTimeout.js +23 -0
  40. package/src/components/_util/responsiveObserve.js +94 -0
  41. package/src/components/_util/scrollTo.js +37 -0
  42. package/src/components/_util/setStyle.js +25 -0
  43. package/src/components/_util/store/PropTypes.js +7 -0
  44. package/src/components/_util/store/Provider.jsx +15 -0
  45. package/src/components/_util/store/connect.jsx +106 -0
  46. package/src/components/_util/store/create.js +30 -0
  47. package/src/components/_util/store/index.js +5 -0
  48. package/src/components/_util/styleChecker.js +13 -0
  49. package/src/components/_util/switchScrollingEffect.js +20 -0
  50. package/src/components/_util/throttleByAnimationFrame.js +45 -0
  51. package/src/components/_util/transButton.jsx +81 -0
  52. package/src/components/_util/triggerEvent.js +8 -0
  53. package/src/components/_util/type.js +4 -0
  54. package/src/components/_util/vnode.js +147 -0
  55. package/src/components/_util/vue-types/index.js +263 -0
  56. package/src/components/_util/vue-types/utils.js +200 -0
  57. package/src/components/_util/warning.js +7 -0
  58. package/src/components/_util/wave.jsx +169 -0
  59. package/src/components/base/index.js +9 -0
  60. package/src/components/base/style/index.js +2 -0
  61. package/src/components/button/__tests__/__snapshots__/demo.test.js.snap +103 -0
  62. package/src/components/button/__tests__/__snapshots__/index.test.js.snap +43 -0
  63. package/src/components/button/__tests__/demo.test.js +3 -0
  64. package/src/components/button/__tests__/index.test.js +239 -0
  65. package/src/components/button/button-group.jsx +52 -0
  66. package/src/components/button/button.jsx +186 -0
  67. package/src/components/button/buttonTypes.js +13 -0
  68. package/src/components/button/index.js +14 -0
  69. package/src/components/button/style/index.js +2 -0
  70. package/src/components/button/style/index.less +224 -0
  71. package/src/components/button/style/mixin.less +357 -0
  72. package/src/components/calendar/locale/en_US.js +2 -0
  73. package/src/components/config-provider/__tests__/index.test.js +44 -0
  74. package/src/components/config-provider/configConsumerProps.jsx +9 -0
  75. package/src/components/config-provider/index.jsx +91 -0
  76. package/src/components/config-provider/renderEmpty.jsx +42 -0
  77. package/src/components/config-provider/style/index.js +1 -0
  78. package/src/components/config-provider/style/index.less +2 -0
  79. package/src/components/date-picker/InputIcon.js +20 -0
  80. package/src/components/date-picker/PresetPanel.jsx +102 -0
  81. package/src/components/date-picker/RangePicker.jsx +1010 -0
  82. package/src/components/date-picker/WeekPicker.jsx +235 -0
  83. package/src/components/date-picker/__tests__/DatePicker.test.js +189 -0
  84. package/src/components/date-picker/__tests__/MonthPicker.test.js +29 -0
  85. package/src/components/date-picker/__tests__/RangePicker.test.js +417 -0
  86. package/src/components/date-picker/__tests__/WeekPicker.test.js +24 -0
  87. package/src/components/date-picker/__tests__/__snapshots__/DatePicker.test.js.snap +3 -0
  88. package/src/components/date-picker/__tests__/__snapshots__/RangePicker.test.js.snap +695 -0
  89. package/src/components/date-picker/__tests__/__snapshots__/WeekPicker.test.js.snap +3 -0
  90. package/src/components/date-picker/__tests__/__snapshots__/demo.test.js.snap +49 -0
  91. package/src/components/date-picker/__tests__/__snapshots__/other.test.js.snap +240 -0
  92. package/src/components/date-picker/__tests__/demo.test.js +3 -0
  93. package/src/components/date-picker/__tests__/mount.test.js +11 -0
  94. package/src/components/date-picker/__tests__/other.test.js +88 -0
  95. package/src/components/date-picker/__tests__/showTime.test.js +234 -0
  96. package/src/components/date-picker/__tests__/utils.js +34 -0
  97. package/src/components/date-picker/createPicker.js +273 -0
  98. package/src/components/date-picker/generate/dayjs.js +438 -0
  99. package/src/components/date-picker/generate/index.js +125 -0
  100. package/src/components/date-picker/generate/moment.js +357 -0
  101. package/src/components/date-picker/index.js +37 -0
  102. package/src/components/date-picker/interface.js +172 -0
  103. package/src/components/date-picker/locale/ar_EG.js +23 -0
  104. package/src/components/date-picker/locale/bg_BG.js +19 -0
  105. package/src/components/date-picker/locale/ca_ES.js +19 -0
  106. package/src/components/date-picker/locale/cs_CZ.js +19 -0
  107. package/src/components/date-picker/locale/da_DK.js +19 -0
  108. package/src/components/date-picker/locale/de_DE.js +19 -0
  109. package/src/components/date-picker/locale/el_GR.js +19 -0
  110. package/src/components/date-picker/locale/en_GB.js +19 -0
  111. package/src/components/date-picker/locale/en_US.js +19 -0
  112. package/src/components/date-picker/locale/es_ES.js +19 -0
  113. package/src/components/date-picker/locale/et_EE.js +19 -0
  114. package/src/components/date-picker/locale/example.json +39 -0
  115. package/src/components/date-picker/locale/fa_IR.js +19 -0
  116. package/src/components/date-picker/locale/fi_FI.js +19 -0
  117. package/src/components/date-picker/locale/fr_BE.js +19 -0
  118. package/src/components/date-picker/locale/fr_FR.js +19 -0
  119. package/src/components/date-picker/locale/ga_IE.js +19 -0
  120. package/src/components/date-picker/locale/he_IL.js +19 -0
  121. package/src/components/date-picker/locale/hi_IN.js +19 -0
  122. package/src/components/date-picker/locale/hr_HR.js +19 -0
  123. package/src/components/date-picker/locale/hu_HU.js +19 -0
  124. package/src/components/date-picker/locale/id_ID.js +19 -0
  125. package/src/components/date-picker/locale/is_IS.js +19 -0
  126. package/src/components/date-picker/locale/it_IT.js +19 -0
  127. package/src/components/date-picker/locale/ja_JP.js +18 -0
  128. package/src/components/date-picker/locale/kn_IN.js +19 -0
  129. package/src/components/date-picker/locale/ko_KR.js +19 -0
  130. package/src/components/date-picker/locale/ku_IQ.js +18 -0
  131. package/src/components/date-picker/locale/lv_LV.js +19 -0
  132. package/src/components/date-picker/locale/mk_MK.js +19 -0
  133. package/src/components/date-picker/locale/mn_MN.js +19 -0
  134. package/src/components/date-picker/locale/ms_MY.js +19 -0
  135. package/src/components/date-picker/locale/nb_NO.js +19 -0
  136. package/src/components/date-picker/locale/nl_BE.js +19 -0
  137. package/src/components/date-picker/locale/nl_NL.js +19 -0
  138. package/src/components/date-picker/locale/pl_PL.js +19 -0
  139. package/src/components/date-picker/locale/pt_BR.js +19 -0
  140. package/src/components/date-picker/locale/pt_PT.js +46 -0
  141. package/src/components/date-picker/locale/ro_RO.js +19 -0
  142. package/src/components/date-picker/locale/ru_RU.js +22 -0
  143. package/src/components/date-picker/locale/sk_SK.js +19 -0
  144. package/src/components/date-picker/locale/sl_SI.js +43 -0
  145. package/src/components/date-picker/locale/sr_RS.js +19 -0
  146. package/src/components/date-picker/locale/sv_SE.js +18 -0
  147. package/src/components/date-picker/locale/ta_IN.js +20 -0
  148. package/src/components/date-picker/locale/th_TH.js +19 -0
  149. package/src/components/date-picker/locale/tr_TR.js +19 -0
  150. package/src/components/date-picker/locale/uk_UA.js +18 -0
  151. package/src/components/date-picker/locale/vi_VN.js +19 -0
  152. package/src/components/date-picker/locale/zh_CN.js +21 -0
  153. package/src/components/date-picker/locale/zh_TW.js +20 -0
  154. package/src/components/date-picker/statusUtils.js +53 -0
  155. package/src/components/date-picker/style/Calendar.less +402 -0
  156. package/src/components/date-picker/style/DecadePanel.less +81 -0
  157. package/src/components/date-picker/style/MonthPanel.less +86 -0
  158. package/src/components/date-picker/style/MonthPicker.less +11 -0
  159. package/src/components/date-picker/style/Picker.less +113 -0
  160. package/src/components/date-picker/style/RangePicker.less +327 -0
  161. package/src/components/date-picker/style/TimePicker.less +151 -0
  162. package/src/components/date-picker/style/WeekPicker.less +21 -0
  163. package/src/components/date-picker/style/YearPanel.less +93 -0
  164. package/src/components/date-picker/style/index.js +8 -0
  165. package/src/components/date-picker/style/index.less +20 -0
  166. package/src/components/date-picker/style/presets.less +69 -0
  167. package/src/components/date-picker/style/status.less +94 -0
  168. package/src/components/date-picker/style/transitions.less +176 -0
  169. package/src/components/date-picker/utils.js +209 -0
  170. package/src/components/date-picker/wrapPicker.js +258 -0
  171. package/src/components/empty/__tests__/__snapshots__/demo.test.js.snap +195 -0
  172. package/src/components/empty/__tests__/demo.test.js +3 -0
  173. package/src/components/empty/__tests__/index.test.js +25 -0
  174. package/src/components/empty/empty.jsx +47 -0
  175. package/src/components/empty/index.jsx +78 -0
  176. package/src/components/empty/simple.jsx +20 -0
  177. package/src/components/empty/style/index.js +2 -0
  178. package/src/components/empty/style/index.less +52 -0
  179. package/src/components/icon/IconFont.jsx +52 -0
  180. package/src/components/icon/__tests__/__snapshots__/demo.test.js.snap +671 -0
  181. package/src/components/icon/__tests__/__snapshots__/index.test.js.snap +77 -0
  182. package/src/components/icon/__tests__/demo.test.js +3 -0
  183. package/src/components/icon/__tests__/index.test.js +236 -0
  184. package/src/components/icon/index.js +185 -0
  185. package/src/components/icon/style/index.js +2 -0
  186. package/src/components/icon/style/index.less +4 -0
  187. package/src/components/icon/twoTonePrimaryColor.js +12 -0
  188. package/src/components/icon/utils.js +77 -0
  189. package/src/components/input/ClearableLabeledInput.jsx +182 -0
  190. package/src/components/input/Group.jsx +41 -0
  191. package/src/components/input/Input.jsx +240 -0
  192. package/src/components/input/Password.jsx +117 -0
  193. package/src/components/input/ResizableTextArea.jsx +158 -0
  194. package/src/components/input/Search.jsx +185 -0
  195. package/src/components/input/TextArea.jsx +131 -0
  196. package/src/components/input/__tests__/Search.test.js +134 -0
  197. package/src/components/input/__tests__/__snapshots__/Search.test.js.snap +5 -0
  198. package/src/components/input/__tests__/__snapshots__/demo.test.js.snap +86 -0
  199. package/src/components/input/__tests__/__snapshots__/index.test.js.snap +9 -0
  200. package/src/components/input/__tests__/demo.test.js +3 -0
  201. package/src/components/input/__tests__/index.test.js +124 -0
  202. package/src/components/input/calculateNodeHeight.js +151 -0
  203. package/src/components/input/index.js +27 -0
  204. package/src/components/input/inputProps.js +36 -0
  205. package/src/components/input/style/index.js +5 -0
  206. package/src/components/input/style/index.less +52 -0
  207. package/src/components/input/style/mixin.less +453 -0
  208. package/src/components/input/style/search-input.less +34 -0
  209. package/src/components/locale/ar_EG.js +43 -0
  210. package/src/components/locale/bg_BG.js +43 -0
  211. package/src/components/locale/ca_ES.js +41 -0
  212. package/src/components/locale/cs_CZ.js +41 -0
  213. package/src/components/locale/da_DK.js +43 -0
  214. package/src/components/locale/de_DE.js +43 -0
  215. package/src/components/locale/default.js +62 -0
  216. package/src/components/locale/el_GR.js +43 -0
  217. package/src/components/locale/en_GB.js +43 -0
  218. package/src/components/locale/en_US.js +3 -0
  219. package/src/components/locale/es_ES.js +59 -0
  220. package/src/components/locale/et_EE.js +43 -0
  221. package/src/components/locale/fa_IR.js +43 -0
  222. package/src/components/locale/fi_FI.js +44 -0
  223. package/src/components/locale/fr_BE.js +47 -0
  224. package/src/components/locale/fr_FR.js +47 -0
  225. package/src/components/locale/ga_IE.js +43 -0
  226. package/src/components/locale/he_IL.js +43 -0
  227. package/src/components/locale/hi_IN.js +51 -0
  228. package/src/components/locale/hr_HR.js +57 -0
  229. package/src/components/locale/hu_HU.js +44 -0
  230. package/src/components/locale/hy_AM.js +109 -0
  231. package/src/components/locale/id_ID.js +45 -0
  232. package/src/components/locale/is_IS.js +43 -0
  233. package/src/components/locale/it_IT.js +56 -0
  234. package/src/components/locale/ja_JP.js +43 -0
  235. package/src/components/locale/kn_IN.js +51 -0
  236. package/src/components/locale/ko_KR.js +43 -0
  237. package/src/components/locale/ku_IQ.js +43 -0
  238. package/src/components/locale/lv_LV.js +43 -0
  239. package/src/components/locale/mk_MK.js +58 -0
  240. package/src/components/locale/mn_MN.js +43 -0
  241. package/src/components/locale/ms_MY.js +63 -0
  242. package/src/components/locale/nb_NO.js +43 -0
  243. package/src/components/locale/ne_NP.js +44 -0
  244. package/src/components/locale/nl_BE.js +43 -0
  245. package/src/components/locale/nl_NL.js +62 -0
  246. package/src/components/locale/pl_PL.js +43 -0
  247. package/src/components/locale/pt_BR.js +49 -0
  248. package/src/components/locale/pt_PT.js +44 -0
  249. package/src/components/locale/ro_RO.js +62 -0
  250. package/src/components/locale/ru_RU.js +53 -0
  251. package/src/components/locale/sk_SK.js +62 -0
  252. package/src/components/locale/sl_SI.js +43 -0
  253. package/src/components/locale/sr_RS.js +43 -0
  254. package/src/components/locale/sv_SE.js +47 -0
  255. package/src/components/locale/ta_IN.js +63 -0
  256. package/src/components/locale/th_TH.js +62 -0
  257. package/src/components/locale/tr_TR.js +57 -0
  258. package/src/components/locale/uk_UA.js +43 -0
  259. package/src/components/locale/vi_VN.js +43 -0
  260. package/src/components/locale/zh_CN.js +62 -0
  261. package/src/components/locale/zh_TW.js +49 -0
  262. package/src/components/locale-provider/LocaleReceiver.jsx +43 -0
  263. package/src/components/locale-provider/__tests__/__snapshots__/demo.test.js.snap +434 -0
  264. package/src/components/locale-provider/__tests__/__snapshots__/index.test.js.snap +22618 -0
  265. package/src/components/locale-provider/__tests__/demo.test.js +3 -0
  266. package/src/components/locale-provider/__tests__/index.test.js +271 -0
  267. package/src/components/locale-provider/ar_EG.js +3 -0
  268. package/src/components/locale-provider/bg_BG.js +3 -0
  269. package/src/components/locale-provider/ca_ES.js +3 -0
  270. package/src/components/locale-provider/cs_CZ.js +3 -0
  271. package/src/components/locale-provider/da_DK.js +3 -0
  272. package/src/components/locale-provider/de_DE.js +3 -0
  273. package/src/components/locale-provider/default.js +3 -0
  274. package/src/components/locale-provider/el_GR.js +3 -0
  275. package/src/components/locale-provider/en_GB.js +3 -0
  276. package/src/components/locale-provider/en_US.js +3 -0
  277. package/src/components/locale-provider/es_ES.js +3 -0
  278. package/src/components/locale-provider/et_EE.js +3 -0
  279. package/src/components/locale-provider/fa_IR.js +3 -0
  280. package/src/components/locale-provider/fi_FI.js +3 -0
  281. package/src/components/locale-provider/fr_BE.js +3 -0
  282. package/src/components/locale-provider/fr_FR.js +3 -0
  283. package/src/components/locale-provider/ga_IE.js +3 -0
  284. package/src/components/locale-provider/he_IL.js +3 -0
  285. package/src/components/locale-provider/hi_IN.js +3 -0
  286. package/src/components/locale-provider/hr_HR.js +3 -0
  287. package/src/components/locale-provider/hu_HU.js +3 -0
  288. package/src/components/locale-provider/hy_AM.js +3 -0
  289. package/src/components/locale-provider/id_ID.js +3 -0
  290. package/src/components/locale-provider/index.jsx +82 -0
  291. package/src/components/locale-provider/is_IS.js +3 -0
  292. package/src/components/locale-provider/it_IT.js +3 -0
  293. package/src/components/locale-provider/ja_JP.js +3 -0
  294. package/src/components/locale-provider/kn_IN.js +3 -0
  295. package/src/components/locale-provider/ko_KR.js +3 -0
  296. package/src/components/locale-provider/ku_IQ.js +3 -0
  297. package/src/components/locale-provider/lv_LV.js +3 -0
  298. package/src/components/locale-provider/mk_MK.js +3 -0
  299. package/src/components/locale-provider/mn_MN.js +3 -0
  300. package/src/components/locale-provider/ms_MY.js +3 -0
  301. package/src/components/locale-provider/nb_NO.js +3 -0
  302. package/src/components/locale-provider/ne-NP.js +3 -0
  303. package/src/components/locale-provider/ne_NP.js +3 -0
  304. package/src/components/locale-provider/nl_BE.js +3 -0
  305. package/src/components/locale-provider/nl_NL.js +3 -0
  306. package/src/components/locale-provider/pl_PL.js +3 -0
  307. package/src/components/locale-provider/pt_BR.js +3 -0
  308. package/src/components/locale-provider/pt_PT.js +3 -0
  309. package/src/components/locale-provider/ro_RO.js +3 -0
  310. package/src/components/locale-provider/ru_RU.js +3 -0
  311. package/src/components/locale-provider/sk_SK.js +3 -0
  312. package/src/components/locale-provider/sl_SI.js +3 -0
  313. package/src/components/locale-provider/sr_RS.js +3 -0
  314. package/src/components/locale-provider/style/index.js +1 -0
  315. package/src/components/locale-provider/style/index.less +2 -0
  316. package/src/components/locale-provider/sv_SE.js +3 -0
  317. package/src/components/locale-provider/ta_IN.js +62 -0
  318. package/src/components/locale-provider/th_TH.js +3 -0
  319. package/src/components/locale-provider/tr_TR.js +3 -0
  320. package/src/components/locale-provider/uk_UA.js +3 -0
  321. package/src/components/locale-provider/vi_VN.js +3 -0
  322. package/src/components/locale-provider/zh_CN.js +3 -0
  323. package/src/components/locale-provider/zh_TW.js +3 -0
  324. package/src/components/style/color/bezierEasing.less +110 -0
  325. package/src/components/style/color/colorPalette.less +75 -0
  326. package/src/components/style/color/colors.less +149 -0
  327. package/src/components/style/color/tinyColor.less +1184 -0
  328. package/src/components/style/core/base.less +510 -0
  329. package/src/components/style/core/iconfont.less +19 -0
  330. package/src/components/style/core/index.less +4 -0
  331. package/src/components/style/core/motion/fade.less +31 -0
  332. package/src/components/style/core/motion/move.less +120 -0
  333. package/src/components/style/core/motion/other.less +45 -0
  334. package/src/components/style/core/motion/slide.less +120 -0
  335. package/src/components/style/core/motion/swing.less +34 -0
  336. package/src/components/style/core/motion/zoom.less +162 -0
  337. package/src/components/style/core/motion.less +20 -0
  338. package/src/components/style/index.js +1 -0
  339. package/src/components/style/index.less +2 -0
  340. package/src/components/style/index.tsx +1 -0
  341. package/src/components/style/mixins/clearfix.less +13 -0
  342. package/src/components/style/mixins/compatibility.less +22 -0
  343. package/src/components/style/mixins/iconfont.less +43 -0
  344. package/src/components/style/mixins/index.less +10 -0
  345. package/src/components/style/mixins/motion.less +35 -0
  346. package/src/components/style/mixins/operation-unit.less +18 -0
  347. package/src/components/style/mixins/reset.less +13 -0
  348. package/src/components/style/mixins/size.less +10 -0
  349. package/src/components/style/mixins/typography.less +49 -0
  350. package/src/components/style/themes/default.less +701 -0
  351. package/src/components/style/themes/index.less +1 -0
  352. package/src/components/style/v2-compatible-reset.js +1 -0
  353. package/src/components/style/v2-compatible-reset.less +51 -0
  354. package/src/components/style/v2-compatible-reset.tsx +1 -0
  355. package/src/components/tag/CheckableTag.jsx +43 -0
  356. package/src/components/tag/Tag.jsx +145 -0
  357. package/src/components/tag/__tests__/__snapshots__/demo.test.js.snap +92 -0
  358. package/src/components/tag/__tests__/__snapshots__/index.test.js.snap +13 -0
  359. package/src/components/tag/__tests__/demo.test.js +3 -0
  360. package/src/components/tag/__tests__/index.test.js +82 -0
  361. package/src/components/tag/index.js +14 -0
  362. package/src/components/tag/style/index.js +2 -0
  363. package/src/components/tag/style/index.less +106 -0
  364. package/src/components/time-picker/__tests__/__snapshots__/demo.test.js.snap +39 -0
  365. package/src/components/time-picker/__tests__/__snapshots__/index.test.js.snap +5 -0
  366. package/src/components/time-picker/__tests__/demo.test.js +3 -0
  367. package/src/components/time-picker/__tests__/index.test.js +55 -0
  368. package/src/components/time-picker/index.jsx +267 -0
  369. package/src/components/time-picker/locale/ar_EG.js +5 -0
  370. package/src/components/time-picker/locale/bg_BG.js +5 -0
  371. package/src/components/time-picker/locale/ca_ES.js +5 -0
  372. package/src/components/time-picker/locale/cs_CZ.js +5 -0
  373. package/src/components/time-picker/locale/da_DK.js +5 -0
  374. package/src/components/time-picker/locale/de_DE.js +5 -0
  375. package/src/components/time-picker/locale/el_GR.js +5 -0
  376. package/src/components/time-picker/locale/en_GB.js +5 -0
  377. package/src/components/time-picker/locale/en_US.js +5 -0
  378. package/src/components/time-picker/locale/es_ES.js +5 -0
  379. package/src/components/time-picker/locale/et_EE.js +5 -0
  380. package/src/components/time-picker/locale/fa_IR.js +5 -0
  381. package/src/components/time-picker/locale/fi_FI.js +5 -0
  382. package/src/components/time-picker/locale/fr_BE.js +5 -0
  383. package/src/components/time-picker/locale/fr_FR.js +5 -0
  384. package/src/components/time-picker/locale/ga_IE.js +5 -0
  385. package/src/components/time-picker/locale/he_IL.js +5 -0
  386. package/src/components/time-picker/locale/hi_IN.js +5 -0
  387. package/src/components/time-picker/locale/hr_HR.js +5 -0
  388. package/src/components/time-picker/locale/hu_HU.js +5 -0
  389. package/src/components/time-picker/locale/id_ID.js +5 -0
  390. package/src/components/time-picker/locale/is_IS.js +5 -0
  391. package/src/components/time-picker/locale/it_IT.js +5 -0
  392. package/src/components/time-picker/locale/ja_JP.js +5 -0
  393. package/src/components/time-picker/locale/kn_IN.js +5 -0
  394. package/src/components/time-picker/locale/ko_KR.js +5 -0
  395. package/src/components/time-picker/locale/ku_IQ.js +5 -0
  396. package/src/components/time-picker/locale/lv_LV.js +5 -0
  397. package/src/components/time-picker/locale/mk_MK.js +5 -0
  398. package/src/components/time-picker/locale/mn_MN.js +5 -0
  399. package/src/components/time-picker/locale/ms_MY.js +5 -0
  400. package/src/components/time-picker/locale/nb_NO.js +5 -0
  401. package/src/components/time-picker/locale/nl_BE.js +5 -0
  402. package/src/components/time-picker/locale/nl_NL.js +5 -0
  403. package/src/components/time-picker/locale/pl_PL.js +5 -0
  404. package/src/components/time-picker/locale/pt_BR.js +5 -0
  405. package/src/components/time-picker/locale/pt_PT.js +5 -0
  406. package/src/components/time-picker/locale/ro_RO.js +5 -0
  407. package/src/components/time-picker/locale/ru_RU.js +8 -0
  408. package/src/components/time-picker/locale/sk_SK.js +5 -0
  409. package/src/components/time-picker/locale/sl_SI.js +5 -0
  410. package/src/components/time-picker/locale/sr_RS.js +5 -0
  411. package/src/components/time-picker/locale/sv_SE.js +5 -0
  412. package/src/components/time-picker/locale/ta_IN.js +5 -0
  413. package/src/components/time-picker/locale/th_TH.js +5 -0
  414. package/src/components/time-picker/locale/tr_TR.js +5 -0
  415. package/src/components/time-picker/locale/uk_UA.js +5 -0
  416. package/src/components/time-picker/locale/vi_VN.js +5 -0
  417. package/src/components/time-picker/locale/zh_CN.js +5 -0
  418. package/src/components/time-picker/locale/zh_TW.js +5 -0
  419. package/src/components/time-picker/style/index.js +2 -0
  420. package/src/components/time-picker/style/index.less +246 -0
  421. package/src/components/tooltip/Tooltip.jsx +219 -0
  422. package/src/components/tooltip/__tests__/__snapshots__/demo.test.js.snap +20 -0
  423. package/src/components/tooltip/__tests__/demo.test.js +3 -0
  424. package/src/components/tooltip/__tests__/tooltip.test.js +204 -0
  425. package/src/components/tooltip/abstractTooltipProps.js +34 -0
  426. package/src/components/tooltip/index.js +10 -0
  427. package/src/components/tooltip/placements.js +96 -0
  428. package/src/components/tooltip/style/index.js +2 -0
  429. package/src/components/tooltip/style/index.less +187 -0
  430. package/src/components/vc-align/Align.jsx +149 -0
  431. package/src/components/vc-align/index.js +3 -0
  432. package/src/components/vc-align/util.js +52 -0
  433. package/src/components/vc-calendar/assets/common/Calendar.less +106 -0
  434. package/src/components/vc-calendar/assets/common/FullCalendar.less +91 -0
  435. package/src/components/vc-calendar/assets/common/Picker.less +10 -0
  436. package/src/components/vc-calendar/assets/common/RangeCalendar.less +131 -0
  437. package/src/components/vc-calendar/assets/common/index.less +16 -0
  438. package/src/components/vc-calendar/assets/index/Calendar.less +301 -0
  439. package/src/components/vc-calendar/assets/index/DecadePanel.less +122 -0
  440. package/src/components/vc-calendar/assets/index/Input.less +23 -0
  441. package/src/components/vc-calendar/assets/index/MonthPanel.less +143 -0
  442. package/src/components/vc-calendar/assets/index/Picker.less +110 -0
  443. package/src/components/vc-calendar/assets/index/Time.less +6 -0
  444. package/src/components/vc-calendar/assets/index/TimePanel.less +72 -0
  445. package/src/components/vc-calendar/assets/index/YearPanel.less +136 -0
  446. package/src/components/vc-calendar/assets/index.less +10 -0
  447. package/src/components/vc-calendar/index.js +8 -0
  448. package/src/components/vc-calendar/src/Calendar.jsx +390 -0
  449. package/src/components/vc-calendar/src/FullCalendar.jsx +166 -0
  450. package/src/components/vc-calendar/src/MonthCalendar.jsx +125 -0
  451. package/src/components/vc-calendar/src/Picker.jsx +244 -0
  452. package/src/components/vc-calendar/src/RangeCalendar.jsx +1031 -0
  453. package/src/components/vc-calendar/src/calendar/CalendarFooter.jsx +86 -0
  454. package/src/components/vc-calendar/src/calendar/CalendarHeader.jsx +264 -0
  455. package/src/components/vc-calendar/src/calendar/OkButton.jsx +18 -0
  456. package/src/components/vc-calendar/src/calendar/TimePickerButton.jsx +22 -0
  457. package/src/components/vc-calendar/src/calendar/TodayButton.jsx +33 -0
  458. package/src/components/vc-calendar/src/date/DateConstants.js +4 -0
  459. package/src/components/vc-calendar/src/date/DateInput.jsx +226 -0
  460. package/src/components/vc-calendar/src/date/DateTBody.jsx +261 -0
  461. package/src/components/vc-calendar/src/date/DateTHead.jsx +49 -0
  462. package/src/components/vc-calendar/src/date/DateTable.jsx +20 -0
  463. package/src/components/vc-calendar/src/decade/DecadePanel.jsx +131 -0
  464. package/src/components/vc-calendar/src/full-calendar/CalendarHeader.jsx +134 -0
  465. package/src/components/vc-calendar/src/index.js +3 -0
  466. package/src/components/vc-calendar/src/locale/ar_EG.js +27 -0
  467. package/src/components/vc-calendar/src/locale/bg_BG.js +27 -0
  468. package/src/components/vc-calendar/src/locale/ca_ES.js +27 -0
  469. package/src/components/vc-calendar/src/locale/cs_CZ.js +27 -0
  470. package/src/components/vc-calendar/src/locale/da_DK.js +27 -0
  471. package/src/components/vc-calendar/src/locale/de_DE.js +27 -0
  472. package/src/components/vc-calendar/src/locale/el_GR.js +27 -0
  473. package/src/components/vc-calendar/src/locale/en_GB.js +27 -0
  474. package/src/components/vc-calendar/src/locale/en_US.js +28 -0
  475. package/src/components/vc-calendar/src/locale/es_ES.js +27 -0
  476. package/src/components/vc-calendar/src/locale/et_EE.js +27 -0
  477. package/src/components/vc-calendar/src/locale/fa_IR.js +27 -0
  478. package/src/components/vc-calendar/src/locale/fi_FI.js +27 -0
  479. package/src/components/vc-calendar/src/locale/fr_BE.js +27 -0
  480. package/src/components/vc-calendar/src/locale/fr_FR.js +27 -0
  481. package/src/components/vc-calendar/src/locale/ga_IE.js +28 -0
  482. package/src/components/vc-calendar/src/locale/he_IL.js +28 -0
  483. package/src/components/vc-calendar/src/locale/hi_IN.js +28 -0
  484. package/src/components/vc-calendar/src/locale/hr_HR.js +28 -0
  485. package/src/components/vc-calendar/src/locale/hu_HU.js +27 -0
  486. package/src/components/vc-calendar/src/locale/id_ID.js +28 -0
  487. package/src/components/vc-calendar/src/locale/is_IS.js +27 -0
  488. package/src/components/vc-calendar/src/locale/it_IT.js +27 -0
  489. package/src/components/vc-calendar/src/locale/ja_JP.js +26 -0
  490. package/src/components/vc-calendar/src/locale/kn_IN.js +28 -0
  491. package/src/components/vc-calendar/src/locale/ko_KR.js +27 -0
  492. package/src/components/vc-calendar/src/locale/ku_IQ.js +27 -0
  493. package/src/components/vc-calendar/src/locale/lv_LV.js +27 -0
  494. package/src/components/vc-calendar/src/locale/mk_MK.js +27 -0
  495. package/src/components/vc-calendar/src/locale/mm_MM.js +28 -0
  496. package/src/components/vc-calendar/src/locale/mn_MN.js +28 -0
  497. package/src/components/vc-calendar/src/locale/ms_MY.js +27 -0
  498. package/src/components/vc-calendar/src/locale/nb_NO.js +27 -0
  499. package/src/components/vc-calendar/src/locale/nl_BE.js +27 -0
  500. package/src/components/vc-calendar/src/locale/nl_NL.js +27 -0
  501. package/src/components/vc-calendar/src/locale/pl_PL.js +27 -0
  502. package/src/components/vc-calendar/src/locale/pt_BR.js +27 -0
  503. package/src/components/vc-calendar/src/locale/pt_PT.js +27 -0
  504. package/src/components/vc-calendar/src/locale/ro_RO.js +28 -0
  505. package/src/components/vc-calendar/src/locale/ru_RU.js +27 -0
  506. package/src/components/vc-calendar/src/locale/sk_SK.js +28 -0
  507. package/src/components/vc-calendar/src/locale/sl_SI.js +27 -0
  508. package/src/components/vc-calendar/src/locale/sr_RS.js +27 -0
  509. package/src/components/vc-calendar/src/locale/sv_SE.js +27 -0
  510. package/src/components/vc-calendar/src/locale/ta_IN.js +28 -0
  511. package/src/components/vc-calendar/src/locale/th_TH.js +27 -0
  512. package/src/components/vc-calendar/src/locale/tr_TR.js +27 -0
  513. package/src/components/vc-calendar/src/locale/ug_CN.js +26 -0
  514. package/src/components/vc-calendar/src/locale/uk_UA.js +27 -0
  515. package/src/components/vc-calendar/src/locale/vi_VN.js +28 -0
  516. package/src/components/vc-calendar/src/locale/zh_CN.js +27 -0
  517. package/src/components/vc-calendar/src/locale/zh_TW.js +26 -0
  518. package/src/components/vc-calendar/src/mixin/CalendarMixin.js +122 -0
  519. package/src/components/vc-calendar/src/mixin/CommonMixin.js +26 -0
  520. package/src/components/vc-calendar/src/month/MonthPanel.jsx +123 -0
  521. package/src/components/vc-calendar/src/month/MonthTable.jsx +138 -0
  522. package/src/components/vc-calendar/src/picker/placements.js +35 -0
  523. package/src/components/vc-calendar/src/range-calendar/CalendarPart.jsx +171 -0
  524. package/src/components/vc-calendar/src/util/index.js +113 -0
  525. package/src/components/vc-calendar/src/util/toTime.js +15 -0
  526. package/src/components/vc-calendar/src/year/YearPanel.jsx +167 -0
  527. package/src/components/vc-pagination/locale/en_US.js +15 -0
  528. package/src/components/vc-select/DropdownMenu.jsx +216 -0
  529. package/src/components/vc-select/OptGroup.jsx +8 -0
  530. package/src/components/vc-select/Option.jsx +11 -0
  531. package/src/components/vc-select/PropTypes.js +59 -0
  532. package/src/components/vc-select/Select.jsx +1716 -0
  533. package/src/components/vc-select/SelectTrigger.jsx +259 -0
  534. package/src/components/vc-select/assets/index.less +541 -0
  535. package/src/components/vc-select/index.js +11 -0
  536. package/src/components/vc-select/util.js +223 -0
  537. package/src/components/vc-time-picker/Combobox.jsx +214 -0
  538. package/src/components/vc-time-picker/Header.jsx +187 -0
  539. package/src/components/vc-time-picker/Panel.jsx +225 -0
  540. package/src/components/vc-time-picker/Select.jsx +140 -0
  541. package/src/components/vc-time-picker/TimePicker.jsx +386 -0
  542. package/src/components/vc-time-picker/assets/index/Header.less +22 -0
  543. package/src/components/vc-time-picker/assets/index/Panel.less +29 -0
  544. package/src/components/vc-time-picker/assets/index/Picker.less +25 -0
  545. package/src/components/vc-time-picker/assets/index/Select.less +62 -0
  546. package/src/components/vc-time-picker/assets/index.less +44 -0
  547. package/src/components/vc-time-picker/index.js +2 -0
  548. package/src/components/vc-time-picker/placements.js +35 -0
  549. package/src/components/vc-tooltip/Content.jsx +23 -0
  550. package/src/components/vc-tooltip/Tooltip.jsx +106 -0
  551. package/src/components/vc-tooltip/assets/boostrap/anim.less +61 -0
  552. package/src/components/vc-tooltip/assets/bootstrap.less +171 -0
  553. package/src/components/vc-tooltip/assets/bootstrap_white.less +190 -0
  554. package/src/components/vc-tooltip/index.js +4 -0
  555. package/src/components/vc-tooltip/placements.js +83 -0
  556. package/src/components/vc-trigger/LazyRenderBox.jsx +22 -0
  557. package/src/components/vc-trigger/Popup.jsx +336 -0
  558. package/src/components/vc-trigger/PopupInner.jsx +25 -0
  559. package/src/components/vc-trigger/Trigger.jsx +663 -0
  560. package/src/components/vc-trigger/assets/index.less +72 -0
  561. package/src/components/vc-trigger/assets/mask.less +65 -0
  562. package/src/components/vc-trigger/index.js +3 -0
  563. package/src/components/vc-trigger/index.md +160 -0
  564. package/src/components/vc-trigger/t.js +665 -0
  565. package/src/components/vc-trigger/utils.js +27 -0
  566. package/src/components/vc-util/Dom/addEventListener.js +5 -0
  567. package/src/components/vc-util/Dom/class.js +28 -0
  568. package/src/components/vc-util/Dom/contains.js +11 -0
  569. package/src/components/vc-util/warning.js +38 -0
  570. package/src/index.js +44 -0
  571. package/types/index.d.ts +112 -0
@@ -0,0 +1,34 @@
1
+ import animate from './css-animation';
2
+ const noop = () => {};
3
+ const getTransitionProps = (transitionName, opt = {}) => {
4
+ const { beforeEnter, enter, afterEnter, leave, afterLeave, appear = true, tag, nativeOn } = opt;
5
+ const transitionProps = {
6
+ props: {
7
+ appear,
8
+ css: false,
9
+ },
10
+ on: {
11
+ beforeEnter: beforeEnter || noop,
12
+ enter:
13
+ enter ||
14
+ ((el, done) => {
15
+ animate(el, `${transitionName}-enter`, done);
16
+ }),
17
+ afterEnter: afterEnter || noop,
18
+ leave:
19
+ leave ||
20
+ ((el, done) => {
21
+ animate(el, `${transitionName}-leave`, done);
22
+ }),
23
+ afterLeave: afterLeave || noop,
24
+ },
25
+ nativeOn,
26
+ };
27
+ // transition-group
28
+ if (tag) {
29
+ transitionProps.tag = tag;
30
+ }
31
+ return transitionProps;
32
+ };
33
+
34
+ export default getTransitionProps;
@@ -0,0 +1,4 @@
1
+ // https://github.com/moment/moment/issues/3650
2
+ export default function interopDefault(m) {
3
+ return m.default || m;
4
+ }
@@ -0,0 +1,24 @@
1
+ let animation;
2
+
3
+ function isCssAnimationSupported() {
4
+ if (animation !== undefined) {
5
+ return animation;
6
+ }
7
+ const domPrefixes = 'Webkit Moz O ms Khtml'.split(' ');
8
+ const elm = document.createElement('div');
9
+ if (elm.style.animationName !== undefined) {
10
+ animation = true;
11
+ }
12
+ if (animation !== undefined) {
13
+ for (let i = 0; i < domPrefixes.length; i++) {
14
+ if (elm.style[`${domPrefixes[i]}AnimationName`] !== undefined) {
15
+ animation = true;
16
+ break;
17
+ }
18
+ }
19
+ }
20
+ animation = animation || false;
21
+ return animation;
22
+ }
23
+
24
+ export default isCssAnimationSupported;
@@ -0,0 +1,12 @@
1
+ export default function isFlexSupported() {
2
+ if (typeof window !== 'undefined' && window.document && window.document.documentElement) {
3
+ const { documentElement } = window.document;
4
+ return (
5
+ 'flex' in documentElement.style ||
6
+ 'webkitFlex' in documentElement.style ||
7
+ 'Flex' in documentElement.style ||
8
+ 'msFlex' in documentElement.style
9
+ );
10
+ }
11
+ return false;
12
+ }
@@ -0,0 +1,4 @@
1
+ const isNumeric = value => {
2
+ return !isNaN(parseFloat(value)) && isFinite(value);
3
+ };
4
+ export default isNumeric;
@@ -0,0 +1,4 @@
1
+ const isValid = value => {
2
+ return value !== undefined && value !== null && value !== '';
3
+ };
4
+ export default isValid;
@@ -0,0 +1,75 @@
1
+ import interopDefault from './interopDefault';
2
+ import * as moment from 'moment';
3
+ import warning from './warning';
4
+ import isNil from 'lodash/isNil';
5
+
6
+ export const TimeType = {
7
+ validator(value) {
8
+ return typeof value === 'string' || isNil(value) || moment.isMoment(value);
9
+ },
10
+ };
11
+
12
+ export const TimesType = {
13
+ validator(value) {
14
+ if (Array.isArray(value)) {
15
+ return (
16
+ value.length === 0 ||
17
+ value.findIndex(val => typeof val !== 'string') === -1 ||
18
+ value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1
19
+ );
20
+ }
21
+ return false;
22
+ },
23
+ };
24
+
25
+ export const TimeOrTimesType = {
26
+ validator(value) {
27
+ if (Array.isArray(value)) {
28
+ return (
29
+ value.length === 0 ||
30
+ value.findIndex(val => typeof val !== 'string') === -1 ||
31
+ value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1
32
+ );
33
+ } else {
34
+ return typeof value === 'string' || isNil(value) || moment.isMoment(value);
35
+ }
36
+ },
37
+ };
38
+
39
+ export function checkValidate(componentName, value, propName, valueFormat) {
40
+ const values = Array.isArray(value) ? value : [value];
41
+ values.forEach(val => {
42
+ if (!val) return;
43
+ valueFormat &&
44
+ warning(
45
+ interopDefault(moment)(val, valueFormat).isValid(),
46
+ componentName,
47
+ `When set \`valueFormat\`, \`${propName}\` should provides invalidate string time. `,
48
+ );
49
+ !valueFormat &&
50
+ warning(
51
+ interopDefault(moment).isMoment(val) && val.isValid(),
52
+ componentName,
53
+ `\`${propName}\` provides invalidate moment time. If you want to set empty value, use \`null\` instead.`,
54
+ );
55
+ });
56
+ }
57
+ export const stringToMoment = (value, valueFormat) => {
58
+ if (Array.isArray(value)) {
59
+ return value.map(val =>
60
+ typeof val === 'string' && val ? interopDefault(moment)(val, valueFormat) : val || null,
61
+ );
62
+ } else {
63
+ return typeof value === 'string' && value
64
+ ? interopDefault(moment)(value, valueFormat)
65
+ : value || null;
66
+ }
67
+ };
68
+
69
+ export const momentToString = (value, valueFormat) => {
70
+ if (Array.isArray(value)) {
71
+ return value.map(val => (interopDefault(moment).isMoment(val) ? val.format(valueFormat) : val));
72
+ } else {
73
+ return interopDefault(moment).isMoment(value) ? value.format(valueFormat) : value;
74
+ }
75
+ };
@@ -0,0 +1,67 @@
1
+ import cssAnimation from './css-animation';
2
+ import raf from 'raf';
3
+ import Vue from 'vue';
4
+
5
+ function animate(node, show, done) {
6
+ let height;
7
+ let requestAnimationFrameId;
8
+ let appearRequestAnimationFrameId;
9
+ return cssAnimation(node, 'ant-motion-collapse-legacy', {
10
+ start() {
11
+ if (appearRequestAnimationFrameId) {
12
+ raf.cancel(appearRequestAnimationFrameId);
13
+ }
14
+ if (!show) {
15
+ node.style.height = `${node.offsetHeight}px`;
16
+ node.style.opacity = '1';
17
+ } else {
18
+ height = node.offsetHeight;
19
+ // not get offsetHeight when appear
20
+ // set it into raf get correct offsetHeight
21
+ if (height === 0) {
22
+ appearRequestAnimationFrameId = raf(() => {
23
+ height = node.offsetHeight;
24
+ node.style.height = '0px';
25
+ node.style.opacity = '0';
26
+ });
27
+ } else {
28
+ node.style.height = '0px';
29
+ node.style.opacity = '0';
30
+ }
31
+ }
32
+ },
33
+ active() {
34
+ if (requestAnimationFrameId) {
35
+ raf.cancel(requestAnimationFrameId);
36
+ }
37
+ requestAnimationFrameId = raf(() => {
38
+ node.style.height = `${show ? height : 0}px`;
39
+ node.style.opacity = show ? '1' : '0';
40
+ });
41
+ },
42
+ end() {
43
+ if (appearRequestAnimationFrameId) {
44
+ raf.cancel(appearRequestAnimationFrameId);
45
+ }
46
+ if (requestAnimationFrameId) {
47
+ raf.cancel(requestAnimationFrameId);
48
+ }
49
+ node.style.height = '';
50
+ node.style.opacity = '';
51
+ done && done();
52
+ },
53
+ });
54
+ }
55
+
56
+ const animation = {
57
+ enter(node, done) {
58
+ Vue.nextTick(() => {
59
+ animate(node, true, done);
60
+ });
61
+ },
62
+ leave(node, done) {
63
+ return animate(node, false, done);
64
+ },
65
+ };
66
+
67
+ export default animation;
@@ -0,0 +1,24 @@
1
+ export function antPortal(Vue) {
2
+ return Vue.directive('ant-portal', {
3
+ inserted(el, binding) {
4
+ const { value } = binding;
5
+ const parentNode = typeof value === 'function' ? value(el) : value;
6
+ if (parentNode !== el.parentNode) {
7
+ parentNode.appendChild(el);
8
+ }
9
+ },
10
+ componentUpdated(el, binding) {
11
+ const { value } = binding;
12
+ const parentNode = typeof value === 'function' ? value(el) : value;
13
+ if (parentNode !== el.parentNode) {
14
+ parentNode.appendChild(el);
15
+ }
16
+ },
17
+ });
18
+ }
19
+
20
+ export default {
21
+ install: Vue => {
22
+ antPortal(Vue);
23
+ },
24
+ };
@@ -0,0 +1,335 @@
1
+ import isPlainObject from 'lodash/isPlainObject';
2
+ import classNames from 'classnames';
3
+ function getType(fn) {
4
+ const match = fn && fn.toString().match(/^\s*function (\w+)/);
5
+ return match ? match[1] : '';
6
+ }
7
+
8
+ const camelizeRE = /-(\w)/g;
9
+ const camelize = str => {
10
+ return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));
11
+ };
12
+ const parseStyleText = (cssText = '', camel) => {
13
+ const res = {};
14
+ const listDelimiter = /;(?![^(]*\))/g;
15
+ const propertyDelimiter = /:(.+)/;
16
+ cssText.split(listDelimiter).forEach(function(item) {
17
+ if (item) {
18
+ const tmp = item.split(propertyDelimiter);
19
+ if (tmp.length > 1) {
20
+ const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim();
21
+ res[k] = tmp[1].trim();
22
+ }
23
+ }
24
+ });
25
+ return res;
26
+ };
27
+
28
+ const hasProp = (instance, prop) => {
29
+ const $options = instance.$options || {};
30
+ const propsData = $options.propsData || {};
31
+ return prop in propsData;
32
+ };
33
+ const slotHasProp = (slot, prop) => {
34
+ const $options = slot.componentOptions || {};
35
+ const propsData = $options.propsData || {};
36
+ return prop in propsData;
37
+ };
38
+ const filterProps = (props, propsData = {}) => {
39
+ const res = {};
40
+ Object.keys(props).forEach(k => {
41
+ if (k in propsData || props[k] !== undefined) {
42
+ res[k] = props[k];
43
+ }
44
+ });
45
+ return res;
46
+ };
47
+
48
+ const getScopedSlots = ele => {
49
+ return (ele.data && ele.data.scopedSlots) || {};
50
+ };
51
+
52
+ const getSlots = ele => {
53
+ let componentOptions = ele.componentOptions || {};
54
+ if (ele.$vnode) {
55
+ componentOptions = ele.$vnode.componentOptions || {};
56
+ }
57
+ const children = ele.children || componentOptions.children || [];
58
+ const slots = {};
59
+ children.forEach(child => {
60
+ if (!isEmptyElement(child)) {
61
+ const name = (child.data && child.data.slot) || 'default';
62
+ slots[name] = slots[name] || [];
63
+ slots[name].push(child);
64
+ }
65
+ });
66
+ return { ...slots, ...getScopedSlots(ele) };
67
+ };
68
+ const getSlot = (self, name = 'default', options = {}) => {
69
+ return (
70
+ (self.$scopedSlots && self.$scopedSlots[name] && self.$scopedSlots[name](options)) ||
71
+ self.$slots[name] ||
72
+ []
73
+ );
74
+ };
75
+
76
+ const getAllChildren = ele => {
77
+ let componentOptions = ele.componentOptions || {};
78
+ if (ele.$vnode) {
79
+ componentOptions = ele.$vnode.componentOptions || {};
80
+ }
81
+ return ele.children || componentOptions.children || [];
82
+ };
83
+ const getSlotOptions = ele => {
84
+ if (ele.fnOptions) {
85
+ // 函数式组件
86
+ return ele.fnOptions;
87
+ }
88
+ let componentOptions = ele.componentOptions;
89
+ if (ele.$vnode) {
90
+ componentOptions = ele.$vnode.componentOptions;
91
+ }
92
+ return componentOptions ? componentOptions.Ctor.options || {} : {};
93
+ };
94
+ const getOptionProps = instance => {
95
+ if (instance.componentOptions) {
96
+ const componentOptions = instance.componentOptions;
97
+ const { propsData = {}, Ctor = {} } = componentOptions;
98
+ const props = (Ctor.options || {}).props || {};
99
+ const res = {};
100
+ for (const [k, v] of Object.entries(props)) {
101
+ const def = v.default;
102
+ if (def !== undefined) {
103
+ res[k] =
104
+ typeof def === 'function' && getType(v.type) !== 'Function' ? def.call(instance) : def;
105
+ }
106
+ }
107
+ return { ...res, ...propsData };
108
+ }
109
+ const { $options = {}, $props = {} } = instance;
110
+ return filterProps($props, $options.propsData);
111
+ };
112
+
113
+ const getComponentFromProp = (instance, prop, options = instance, execute = true) => {
114
+ if (instance.$createElement) {
115
+ const h = instance.$createElement;
116
+ const temp = instance[prop];
117
+ if (temp !== undefined) {
118
+ return typeof temp === 'function' && execute ? temp(h, options) : temp;
119
+ }
120
+ return (
121
+ (instance.$scopedSlots[prop] && execute && instance.$scopedSlots[prop](options)) ||
122
+ instance.$scopedSlots[prop] ||
123
+ instance.$slots[prop] ||
124
+ undefined
125
+ );
126
+ } else {
127
+ const h = instance.context.$createElement;
128
+ const temp = getPropsData(instance)[prop];
129
+ if (temp !== undefined) {
130
+ return typeof temp === 'function' && execute ? temp(h, options) : temp;
131
+ }
132
+ const slotScope = getScopedSlots(instance)[prop];
133
+ if (slotScope !== undefined) {
134
+ return typeof slotScope === 'function' && execute ? slotScope(h, options) : slotScope;
135
+ }
136
+ const slotsProp = [];
137
+ const componentOptions = instance.componentOptions || {};
138
+ (componentOptions.children || []).forEach(child => {
139
+ if (child.data && child.data.slot === prop) {
140
+ if (child.data.attrs) {
141
+ delete child.data.attrs.slot;
142
+ }
143
+ if (child.tag === 'template') {
144
+ slotsProp.push(child.children);
145
+ } else {
146
+ slotsProp.push(child);
147
+ }
148
+ }
149
+ });
150
+ return slotsProp.length ? slotsProp : undefined;
151
+ }
152
+ };
153
+
154
+ const getAllProps = ele => {
155
+ let data = ele.data || {};
156
+ let componentOptions = ele.componentOptions || {};
157
+ if (ele.$vnode) {
158
+ data = ele.$vnode.data || {};
159
+ componentOptions = ele.$vnode.componentOptions || {};
160
+ }
161
+ return { ...data.props, ...data.attrs, ...componentOptions.propsData };
162
+ };
163
+
164
+ const getPropsData = ele => {
165
+ let componentOptions = ele.componentOptions;
166
+ if (ele.$vnode) {
167
+ componentOptions = ele.$vnode.componentOptions;
168
+ }
169
+ return componentOptions ? componentOptions.propsData || {} : {};
170
+ };
171
+ const getValueByProp = (ele, prop) => {
172
+ return getPropsData(ele)[prop];
173
+ };
174
+
175
+ const getAttrs = ele => {
176
+ let data = ele.data;
177
+ if (ele.$vnode) {
178
+ data = ele.$vnode.data;
179
+ }
180
+ return data ? data.attrs || {} : {};
181
+ };
182
+
183
+ const getKey = ele => {
184
+ let key = ele.key;
185
+ if (ele.$vnode) {
186
+ key = ele.$vnode.key;
187
+ }
188
+ return key;
189
+ };
190
+
191
+ export function getEvents(child) {
192
+ let events = {};
193
+ if (child.componentOptions && child.componentOptions.listeners) {
194
+ events = child.componentOptions.listeners;
195
+ } else if (child.data && child.data.on) {
196
+ events = child.data.on;
197
+ }
198
+ return { ...events };
199
+ }
200
+
201
+ // 获取 xxx.native 或者 原生标签 事件
202
+ export function getDataEvents(child) {
203
+ let events = {};
204
+ if (child.data && child.data.on) {
205
+ events = child.data.on;
206
+ }
207
+ return { ...events };
208
+ }
209
+
210
+ // use getListeners instead this.$listeners
211
+ // https://github.com/vueComponent/ant-design-vue/issues/1705
212
+ export function getListeners(context) {
213
+ return (context.$vnode ? context.$vnode.componentOptions.listeners : context.$listeners) || {};
214
+ }
215
+ export function getClass(ele) {
216
+ let data = {};
217
+ if (ele.data) {
218
+ data = ele.data;
219
+ } else if (ele.$vnode && ele.$vnode.data) {
220
+ data = ele.$vnode.data;
221
+ }
222
+ const tempCls = data.class || {};
223
+ const staticClass = data.staticClass;
224
+ let cls = {};
225
+ staticClass &&
226
+ staticClass.split(' ').forEach(c => {
227
+ cls[c.trim()] = true;
228
+ });
229
+ if (typeof tempCls === 'string') {
230
+ tempCls.split(' ').forEach(c => {
231
+ cls[c.trim()] = true;
232
+ });
233
+ } else if (Array.isArray(tempCls)) {
234
+ classNames(tempCls)
235
+ .split(' ')
236
+ .forEach(c => {
237
+ cls[c.trim()] = true;
238
+ });
239
+ } else {
240
+ cls = { ...cls, ...tempCls };
241
+ }
242
+ return cls;
243
+ }
244
+ export function getStyle(ele, camel) {
245
+ let data = {};
246
+ if (ele.data) {
247
+ data = ele.data;
248
+ } else if (ele.$vnode && ele.$vnode.data) {
249
+ data = ele.$vnode.data;
250
+ }
251
+ let style = data.style || data.staticStyle;
252
+ if (typeof style === 'string') {
253
+ style = parseStyleText(style, camel);
254
+ } else if (camel && style) {
255
+ // 驼峰化
256
+ const res = {};
257
+ Object.keys(style).forEach(k => (res[camelize(k)] = style[k]));
258
+ return res;
259
+ }
260
+ return style;
261
+ }
262
+
263
+ export function getComponentName(opts) {
264
+ return opts && (opts.Ctor.options.name || opts.tag);
265
+ }
266
+
267
+ export function isEmptyElement(c) {
268
+ return !(c.tag || (c.text && c.text.trim() !== ''));
269
+ }
270
+
271
+ export function isStringElement(c) {
272
+ return !c.tag;
273
+ }
274
+
275
+ export function filterEmpty(children = []) {
276
+ return children.filter(c => !isEmptyElement(c));
277
+ }
278
+ const initDefaultProps = (propTypes, defaultProps) => {
279
+ Object.keys(defaultProps).forEach(k => {
280
+ if (propTypes[k]) {
281
+ propTypes[k].def && (propTypes[k] = propTypes[k].def(defaultProps[k]));
282
+ } else {
283
+ throw new Error(`not have ${k} prop`);
284
+ }
285
+ });
286
+ return propTypes;
287
+ };
288
+
289
+ export function mergeProps() {
290
+ const args = [].slice.call(arguments, 0);
291
+ const props = {};
292
+ args.forEach((p = {}) => {
293
+ for (const [k, v] of Object.entries(p)) {
294
+ props[k] = props[k] || {};
295
+ if (isPlainObject(v)) {
296
+ Object.assign(props[k], v);
297
+ } else {
298
+ props[k] = v;
299
+ }
300
+ }
301
+ });
302
+ return props;
303
+ }
304
+
305
+ function isValidElement(element) {
306
+ return (
307
+ element &&
308
+ typeof element === 'object' &&
309
+ 'componentOptions' in element &&
310
+ 'context' in element &&
311
+ element.tag !== undefined
312
+ ); // remove text node
313
+ }
314
+
315
+ export {
316
+ hasProp,
317
+ filterProps,
318
+ getOptionProps,
319
+ getComponentFromProp,
320
+ getSlotOptions,
321
+ slotHasProp,
322
+ getPropsData,
323
+ getKey,
324
+ getAttrs,
325
+ getValueByProp,
326
+ parseStyleText,
327
+ initDefaultProps,
328
+ isValidElement,
329
+ camelize,
330
+ getSlots,
331
+ getSlot,
332
+ getAllProps,
333
+ getAllChildren,
334
+ };
335
+ export default hasProp;
@@ -0,0 +1,58 @@
1
+ import PropTypes from './vue-types';
2
+ import { getOptionProps, getListeners } from './props-util';
3
+
4
+ function getDisplayName(WrappedComponent) {
5
+ return WrappedComponent.name || 'Component';
6
+ }
7
+ export default function wrapWithConnect(WrappedComponent) {
8
+ const tempProps = WrappedComponent.props || {};
9
+ const methods = WrappedComponent.methods || {};
10
+ const props = {};
11
+ Object.keys(tempProps).forEach(k => {
12
+ props[k] = { ...tempProps[k], required: false };
13
+ });
14
+ WrappedComponent.props.__propsSymbol__ = PropTypes.any;
15
+ WrappedComponent.props.children = PropTypes.array.def([]);
16
+ const ProxyWrappedComponent = {
17
+ props,
18
+ model: WrappedComponent.model,
19
+ name: `Proxy_${getDisplayName(WrappedComponent)}`,
20
+ methods: {
21
+ getProxyWrappedInstance() {
22
+ return this.$refs.wrappedInstance;
23
+ },
24
+ },
25
+ render() {
26
+ const { $slots = {}, $scopedSlots } = this;
27
+ const props = getOptionProps(this);
28
+ const wrapProps = {
29
+ props: {
30
+ ...props,
31
+ __propsSymbol__: Symbol(),
32
+ componentWillReceiveProps: { ...props },
33
+ children: $slots.default || props.children || [],
34
+ },
35
+ on: getListeners(this),
36
+ };
37
+ if (Object.keys($scopedSlots).length) {
38
+ wrapProps.scopedSlots = $scopedSlots;
39
+ }
40
+ const slotsKey = Object.keys($slots);
41
+ return (
42
+ <WrappedComponent {...wrapProps} ref="wrappedInstance">
43
+ {slotsKey.length
44
+ ? slotsKey.map(name => {
45
+ return <template slot={name}>{$slots[name]}</template>;
46
+ })
47
+ : null}
48
+ </WrappedComponent>
49
+ );
50
+ },
51
+ };
52
+ Object.keys(methods).map(m => {
53
+ ProxyWrappedComponent.methods[m] = function() {
54
+ return this.getProxyWrappedInstance()[m](...arguments);
55
+ };
56
+ });
57
+ return ProxyWrappedComponent;
58
+ }
@@ -0,0 +1,32 @@
1
+ import raf from 'raf';
2
+
3
+ let id = 0;
4
+ const ids = {};
5
+
6
+ // Support call raf with delay specified frame
7
+ export default function wrapperRaf(callback, delayFrames = 1) {
8
+ const myId = id++;
9
+ let restFrames = delayFrames;
10
+
11
+ function internalCallback() {
12
+ restFrames -= 1;
13
+
14
+ if (restFrames <= 0) {
15
+ callback();
16
+ delete ids[myId];
17
+ } else {
18
+ ids[myId] = raf(internalCallback);
19
+ }
20
+ }
21
+
22
+ ids[myId] = raf(internalCallback);
23
+
24
+ return myId;
25
+ }
26
+
27
+ wrapperRaf.cancel = function(pid) {
28
+ if (pid === undefined) return;
29
+ raf.cancel(ids[pid]);
30
+ delete ids[pid];
31
+ };
32
+ wrapperRaf.ids = ids; // export this for test usage