@opentiny/vue-renderless 3.6.0 → 3.6.1-alpha.2

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 (482) hide show
  1. package/README.md +7 -26
  2. package/action-menu/index.js +15 -15
  3. package/action-menu/vue.js +17 -22
  4. package/action-sheet/index.js +53 -68
  5. package/action-sheet/vue.js +28 -54
  6. package/alert/index.js +10 -21
  7. package/alert/vue.js +19 -33
  8. package/amount/index.js +205 -308
  9. package/amount/vue.js +113 -187
  10. package/anchor/index.js +102 -173
  11. package/anchor/vue.js +26 -47
  12. package/area/index.js +93 -153
  13. package/area/vue.js +26 -62
  14. package/autocomplete/index.js +115 -157
  15. package/autocomplete/vue.js +84 -159
  16. package/autonavi-map/index.js +12 -22
  17. package/avatar/index.js +28 -31
  18. package/avatar/vue.js +16 -19
  19. package/badge/index.js +11 -15
  20. package/badge/vue.js +19 -27
  21. package/baidu-map/index.js +12 -22
  22. package/breadcrumb/index.js +8 -7
  23. package/breadcrumb/vue.js +15 -22
  24. package/breadcrumb-item/index.js +14 -26
  25. package/breadcrumb-item/vue.js +20 -28
  26. package/bulletin-board/index.js +19 -22
  27. package/bulletin-board/vue.js +26 -33
  28. package/button/index.js +14 -18
  29. package/button/vue.js +26 -38
  30. package/button-group/index.js +19 -24
  31. package/button-group/vue.js +32 -45
  32. package/calendar/index.js +168 -203
  33. package/calendar/vue.js +89 -100
  34. package/card-template/index.js +29 -37
  35. package/card-template/vue.js +18 -30
  36. package/carousel/index.js +125 -198
  37. package/carousel/vue.js +132 -188
  38. package/carousel-item/index.js +55 -80
  39. package/carousel-item/vue.js +42 -42
  40. package/cascader/index.js +329 -460
  41. package/cascader/vue.js +159 -319
  42. package/cascader-menu/index.js +32 -39
  43. package/cascader-menu/vue.js +21 -30
  44. package/cascader-node/index.js +41 -60
  45. package/cascader-node/vue.js +27 -59
  46. package/cascader-panel/index.js +229 -311
  47. package/cascader-panel/node.js +118 -190
  48. package/cascader-panel/store.js +49 -76
  49. package/cascader-panel/vue.js +125 -197
  50. package/chart-bar/index.js +129 -439
  51. package/chart-boxplot/index.js +78 -219
  52. package/chart-candle/index.js +134 -379
  53. package/chart-core/deps/constants.js +70 -49
  54. package/chart-core/deps/numerify.js +106 -147
  55. package/chart-core/deps/utils.js +118 -121
  56. package/chart-core/index.js +302 -469
  57. package/chart-core/modules/animation.js +7 -5
  58. package/chart-core/modules/extend.js +18 -19
  59. package/chart-core/modules/mark.js +7 -3
  60. package/chart-core/vue.js +81 -120
  61. package/chart-funnel/index.js +47 -126
  62. package/chart-gauge/index.js +54 -128
  63. package/chart-graph/index.js +22 -35
  64. package/chart-heatmap/index.js +116 -362
  65. package/chart-line/index.js +98 -289
  66. package/chart-liquidfill/index.js +35 -100
  67. package/chart-map/index.js +64 -217
  68. package/chart-pie/index.js +93 -274
  69. package/chart-radar/index.js +59 -135
  70. package/chart-sankey/index.js +51 -137
  71. package/chart-scatter/index.js +118 -313
  72. package/chart-sunburst/index.js +25 -33
  73. package/chart-tree/index.js +43 -85
  74. package/chart-waterfall/index.js +77 -210
  75. package/chart-wordcloud/index.js +36 -85
  76. package/checkbox/index.js +82 -133
  77. package/checkbox/vue.js +62 -132
  78. package/checkbox-button/index.js +60 -96
  79. package/checkbox-button/vue.js +53 -135
  80. package/checkbox-group/index.js +6 -11
  81. package/checkbox-group/vue.js +22 -27
  82. package/chunk-PKUHTIDK.js +37 -0
  83. package/col/index.js +89 -119
  84. package/col/vue.js +21 -31
  85. package/collapse/index.js +31 -40
  86. package/collapse/vue.js +24 -32
  87. package/collapse-item/index.js +22 -36
  88. package/collapse-item/vue.js +22 -42
  89. package/common/array.js +51 -56
  90. package/common/bigInt.js +187 -243
  91. package/common/browser.js +35 -31
  92. package/common/dataset/index.js +74 -110
  93. package/common/date.js +199 -201
  94. package/common/decimal.js +94 -142
  95. package/common/deps/ResizeObserver.js +188 -208
  96. package/common/deps/after-leave.js +12 -10
  97. package/common/deps/clickoutside.js +32 -36
  98. package/common/deps/date-util.js +139 -166
  99. package/common/deps/date.js +206 -241
  100. package/common/deps/debounce.js +8 -4
  101. package/common/deps/dom.js +75 -68
  102. package/common/deps/eSpaceCtrl.js +170 -153
  103. package/common/deps/fullscreen/apis.js +51 -65
  104. package/common/deps/fullscreen/screenfull.js +61 -45
  105. package/common/deps/letter-only.js +12 -8
  106. package/common/deps/memorize.js +100 -125
  107. package/common/deps/modal-queue.js +6 -2
  108. package/common/deps/number-only.js +13 -9
  109. package/common/deps/popper.js +280 -372
  110. package/common/deps/popup-manager.js +71 -75
  111. package/common/deps/repeat-click.js +14 -10
  112. package/common/deps/requestAnimationFrame.js +13 -13
  113. package/common/deps/resize-event.js +15 -10
  114. package/common/deps/scroll-into-view.js +13 -13
  115. package/common/deps/scrollbar-width.js +22 -18
  116. package/common/deps/throttle.js +15 -11
  117. package/common/deps/touch.js +24 -22
  118. package/common/deps/tree-model/node.js +374 -524
  119. package/common/deps/tree-model/tree-store.js +251 -352
  120. package/common/deps/tree-model/util.js +10 -4
  121. package/common/deps/upload-ajax.js +28 -24
  122. package/common/deps/vue-emitter.js +15 -11
  123. package/common/deps/vue-popper.js +181 -214
  124. package/common/deps/vue-popup.js +118 -168
  125. package/common/event.js +10 -9
  126. package/common/index.js +180 -194
  127. package/common/object.js +92 -91
  128. package/common/runtime.js +78 -51
  129. package/common/string.js +194 -266
  130. package/common/type.js +49 -51
  131. package/common/validate/index.js +8 -4
  132. package/common/validate/messages.js +64 -67
  133. package/common/validate/rules/enum.js +10 -6
  134. package/common/validate/rules/index.js +18 -14
  135. package/common/validate/rules/pattern.js +9 -5
  136. package/common/validate/rules/range.js +26 -39
  137. package/common/validate/rules/required.js +8 -10
  138. package/common/validate/rules/type.js +67 -79
  139. package/common/validate/rules/whitespace.js +8 -4
  140. package/common/validate/schema.js +159 -199
  141. package/common/validate/util.js +95 -82
  142. package/common/validate/validations/array.js +14 -17
  143. package/common/validate/validations/date.js +16 -20
  144. package/common/validate/validations/enum.js +14 -16
  145. package/common/validate/validations/float.js +13 -15
  146. package/common/validate/validations/index.js +28 -24
  147. package/common/validate/validations/integer.js +13 -15
  148. package/common/validate/validations/method.js +13 -15
  149. package/common/validate/validations/number.js +15 -17
  150. package/common/validate/validations/pattern.js +14 -16
  151. package/common/validate/validations/required.js +10 -14
  152. package/common/validate/validations/string.js +19 -15
  153. package/common/validate/validations/type.js +17 -13
  154. package/common/xss.js +202 -184
  155. package/company/index.js +34 -49
  156. package/company/vue.js +23 -29
  157. package/container/index.js +72 -98
  158. package/container/vue.js +36 -61
  159. package/country/index.js +33 -47
  160. package/country/vue.js +24 -29
  161. package/credit-card/index.js +72 -86
  162. package/credit-card/vue.js +49 -104
  163. package/credit-card-form/index.js +97 -129
  164. package/credit-card-form/vue.js +102 -133
  165. package/crop/index.js +175 -294
  166. package/crop/vue.js +132 -144
  167. package/currency/index.js +49 -67
  168. package/currency/vue.js +25 -34
  169. package/date-panel/index.js +384 -524
  170. package/date-panel/vue.js +178 -289
  171. package/date-picker/index.js +198 -260
  172. package/date-picker/vue.js +97 -155
  173. package/date-range/index.js +324 -435
  174. package/date-range/vue.js +154 -273
  175. package/date-table/index.js +279 -391
  176. package/date-table/vue.js +63 -139
  177. package/dept/index.js +196 -291
  178. package/dept/vue.js +74 -144
  179. package/detail-page/index.js +72 -131
  180. package/detail-page/vue.js +53 -128
  181. package/dialog-box/index.js +178 -248
  182. package/dialog-box/vue.js +111 -201
  183. package/drop-roles/index.js +44 -65
  184. package/drop-roles/vue.js +23 -31
  185. package/drop-times/index.js +21 -22
  186. package/drop-times/vue.js +19 -23
  187. package/dropdown/index.js +182 -253
  188. package/dropdown/vue.js +55 -101
  189. package/dropdown-item/index.js +113 -167
  190. package/dropdown-item/vue.js +73 -121
  191. package/dropdown-menu/index.js +85 -111
  192. package/dropdown-menu/vue.js +23 -36
  193. package/espace/index.js +86 -106
  194. package/espace/vue.js +26 -48
  195. package/exception/index.js +9 -12
  196. package/exception/vue.js +15 -22
  197. package/fall-menu/index.js +81 -110
  198. package/fall-menu/vue.js +32 -78
  199. package/file-upload/index.js +1081 -1713
  200. package/file-upload/vue.js +175 -417
  201. package/floatbar/index.js +8 -5
  202. package/floatbar/vue.js +13 -16
  203. package/form/index.js +124 -165
  204. package/form/vue.js +54 -66
  205. package/form-item/index.js +255 -328
  206. package/form-item/vue.js +97 -198
  207. package/fullscreen/index.js +95 -127
  208. package/fullscreen/vue.js +36 -72
  209. package/grid/core/index.js +7 -3
  210. package/grid/core/interceptor.js +28 -20
  211. package/grid/core/storeMap.js +11 -7
  212. package/grid/plugins/export.js +72 -95
  213. package/grid/plugins/exportExcel.js +244 -561
  214. package/grid/plugins/header.js +22 -21
  215. package/grid/plugins/resize.js +45 -62
  216. package/grid/static/array/arrayEach.js +7 -3
  217. package/grid/static/array/arrayIndexOf.js +7 -3
  218. package/grid/static/array/eachTree.js +17 -21
  219. package/grid/static/array/every.js +6 -2
  220. package/grid/static/array/filterTree.js +17 -12
  221. package/grid/static/array/find.js +7 -3
  222. package/grid/static/array/findTree.js +19 -30
  223. package/grid/static/array/helperCreateIterateHandle.js +31 -39
  224. package/grid/static/array/helperCreateTreeFunc.js +18 -16
  225. package/grid/static/array/includes.js +6 -4
  226. package/grid/static/array/lastArrayEach.js +7 -3
  227. package/grid/static/array/map.js +11 -10
  228. package/grid/static/array/mapTree.js +19 -23
  229. package/grid/static/array/slice.js +7 -3
  230. package/grid/static/array/sortBy.js +32 -34
  231. package/grid/static/array/sum.js +14 -13
  232. package/grid/static/array/toArray.js +6 -6
  233. package/grid/static/array/toTreeArray.js +13 -15
  234. package/grid/static/base/clear.js +18 -14
  235. package/grid/static/base/clone.js +11 -17
  236. package/grid/static/base/destructuring.js +14 -10
  237. package/grid/static/base/each.js +8 -4
  238. package/grid/static/base/eqNull.js +7 -5
  239. package/grid/static/base/findIndexOf.js +8 -4
  240. package/grid/static/base/get.js +21 -17
  241. package/grid/static/base/has.js +21 -20
  242. package/grid/static/base/hasOwnProp.js +5 -3
  243. package/grid/static/base/helperCreateGetObjects.js +13 -9
  244. package/grid/static/base/helperCreateInInObjectString.js +8 -4
  245. package/grid/static/base/helperCreateInTypeof.js +8 -5
  246. package/grid/static/base/helperCreateIndexOf.js +19 -18
  247. package/grid/static/base/helperCreateiterateIndexOf.js +20 -19
  248. package/grid/static/base/helperDefaultCompare.js +5 -1
  249. package/grid/static/base/helperDeleteProperty.js +7 -3
  250. package/grid/static/base/helperEqualCompare.js +27 -29
  251. package/grid/static/base/helperGetHGSKeys.js +5 -3
  252. package/grid/static/base/indexOf.js +7 -3
  253. package/grid/static/base/isArray.js +7 -3
  254. package/grid/static/base/isBoolean.js +5 -3
  255. package/grid/static/base/isDate.js +7 -3
  256. package/grid/static/base/isEmpty.js +7 -3
  257. package/grid/static/base/isEqual.js +10 -10
  258. package/grid/static/base/isFunction.js +5 -3
  259. package/grid/static/base/isNaN.js +6 -4
  260. package/grid/static/base/isNull.js +5 -3
  261. package/grid/static/base/isNumber.js +5 -3
  262. package/grid/static/base/isObject.js +5 -4
  263. package/grid/static/base/isPlainObject.js +6 -2
  264. package/grid/static/base/isRegExp.js +7 -3
  265. package/grid/static/base/isSet.js +6 -4
  266. package/grid/static/base/isString.js +5 -3
  267. package/grid/static/base/isUndefined.js +5 -3
  268. package/grid/static/base/keys.js +7 -3
  269. package/grid/static/base/lastEach.js +8 -4
  270. package/grid/static/base/remove.js +20 -20
  271. package/grid/static/base/set.js +22 -18
  272. package/grid/static/base/toJSONString.js +5 -3
  273. package/grid/static/base/toStringJSON.js +10 -5
  274. package/grid/static/base/uniqueId.js +6 -4
  275. package/grid/static/browse/browse.js +25 -22
  276. package/grid/static/function/property.js +6 -6
  277. package/grid/static/function/throttle.js +18 -14
  278. package/grid/static/index.js +111 -55
  279. package/grid/static/number/helperCreateToNumber.js +12 -10
  280. package/grid/static/number/toNumber.js +7 -3
  281. package/grid/static/object/assign.js +20 -20
  282. package/grid/static/object/extend.js +7 -3
  283. package/grid/static/object/lastObjectEach.js +9 -5
  284. package/grid/static/object/objectEach.js +8 -4
  285. package/grid/static/object/objectMap.js +11 -7
  286. package/grid/static/object/values.js +15 -7
  287. package/grid/static/static/staticDocument.js +7 -4
  288. package/grid/static/static/staticHGKeyRE.js +6 -2
  289. package/grid/static/static/staticParseInt.js +6 -2
  290. package/grid/static/static/staticStrUndefined.js +6 -2
  291. package/grid/static/static/staticWindow.js +7 -4
  292. package/grid/static/string/template.js +10 -8
  293. package/grid/static/string/toString.js +12 -8
  294. package/grid/utils/column.js +11 -14
  295. package/grid/utils/common.js +84 -102
  296. package/grid/utils/dom.js +104 -117
  297. package/grid/utils/event.js +23 -28
  298. package/grid/utils/index.js +8 -5
  299. package/hrapprover/index.js +80 -105
  300. package/hrapprover/vue.js +45 -90
  301. package/image/index.js +107 -175
  302. package/image/vue.js +56 -126
  303. package/image-viewer/index.js +328 -416
  304. package/image-viewer/vue.js +131 -206
  305. package/index-bar/index.js +42 -51
  306. package/index-bar/vue.js +53 -74
  307. package/index-bar-anchor/vue.js +14 -18
  308. package/input/index.js +232 -302
  309. package/input/vue.js +181 -284
  310. package/ip-address/index.js +168 -335
  311. package/ip-address/vue.js +95 -160
  312. package/layout/vue.js +7 -4
  313. package/link/index.js +9 -10
  314. package/link/vue.js +15 -23
  315. package/link-menu/index.js +86 -128
  316. package/link-menu/vue.js +55 -118
  317. package/list/index.js +12 -12
  318. package/list/vue.js +15 -15
  319. package/loading/index.js +22 -21
  320. package/loading/vue.js +15 -18
  321. package/locales/index.js +72 -104
  322. package/locales/vue.js +23 -41
  323. package/logon-user/index.js +14 -19
  324. package/logon-user/vue.js +17 -20
  325. package/logout/index.js +58 -96
  326. package/logout/vue.js +15 -19
  327. package/milestone/index.js +53 -76
  328. package/milestone/vue.js +28 -26
  329. package/mini-picker/index.js +155 -219
  330. package/mini-picker/vue.js +98 -118
  331. package/modal/index.js +386 -735
  332. package/modal/vue.js +81 -117
  333. package/month-range/index.js +108 -143
  334. package/month-range/vue.js +57 -85
  335. package/month-table/index.js +157 -202
  336. package/month-table/vue.js +42 -64
  337. package/multi-select/index.js +150 -214
  338. package/multi-select/vue.js +58 -102
  339. package/nav-menu/index.js +276 -410
  340. package/nav-menu/vue.js +110 -174
  341. package/notify/index.js +59 -81
  342. package/notify/vue.js +42 -57
  343. package/numeric/index.js +231 -363
  344. package/numeric/vue.js +78 -202
  345. package/option/index.js +44 -72
  346. package/option/vue.js +66 -179
  347. package/option-group/index.js +12 -17
  348. package/option-group/vue.js +25 -30
  349. package/package.json +32 -84
  350. package/pager-item/index.js +91 -103
  351. package/pager-item/vue.js +36 -48
  352. package/panel/index.js +22 -28
  353. package/panel/vue.js +17 -23
  354. package/picker/index.js +689 -963
  355. package/picker/timezone.js +1174 -974
  356. package/picker/vue.js +187 -389
  357. package/picker-column/index.js +182 -232
  358. package/picker-column/vue.js +71 -130
  359. package/pop-upload/index.js +162 -321
  360. package/pop-upload/vue.js +143 -273
  361. package/popeditor/index.js +528 -807
  362. package/popeditor/vue.js +165 -334
  363. package/popover/index.js +160 -219
  364. package/popover/vue.js +76 -162
  365. package/popup/index.js +90 -128
  366. package/popup/vue.js +39 -112
  367. package/progress/index.js +108 -171
  368. package/progress/vue.js +65 -115
  369. package/pull-refresh/index.js +118 -132
  370. package/pull-refresh/vue.js +38 -66
  371. package/radio/index.js +41 -77
  372. package/radio/vue.js +35 -92
  373. package/radio-button/index.js +35 -54
  374. package/radio-button/vue.js +28 -61
  375. package/radio-group/index.js +46 -48
  376. package/radio-group/vue.js +26 -30
  377. package/rate/index.js +158 -197
  378. package/rate/vue.js +90 -138
  379. package/roles/index.js +48 -77
  380. package/roles/vue.js +20 -32
  381. package/row/index.js +15 -16
  382. package/row/vue.js +20 -19
  383. package/scroll-text/index.js +17 -22
  384. package/scroll-text/vue.js +18 -27
  385. package/scrollbar/index.js +87 -115
  386. package/scrollbar/vue-bar.js +23 -46
  387. package/scrollbar/vue.js +25 -33
  388. package/search/index.js +67 -95
  389. package/search/vue.js +80 -100
  390. package/select/index.js +1094 -1584
  391. package/select/vue.js +342 -672
  392. package/select-dropdown/index.js +18 -23
  393. package/select-dropdown/vue.js +56 -112
  394. package/slide-bar/index.js +58 -85
  395. package/slide-bar/vue.js +21 -47
  396. package/slider/index.js +276 -373
  397. package/slider/vue.js +94 -144
  398. package/split/index.js +74 -123
  399. package/split/vue.js +63 -116
  400. package/steps/vue.js +8 -3
  401. package/switch/index.js +35 -43
  402. package/switch/vue.js +32 -58
  403. package/tab-bar/index.js +48 -46
  404. package/tab-bar/vue.js +14 -12
  405. package/tab-dropdown/index.js +11 -10
  406. package/tab-dropdown/vue.js +14 -11
  407. package/tab-item/index.js +20 -35
  408. package/tab-item/vue.js +22 -42
  409. package/tab-nav/index.js +194 -227
  410. package/tab-nav/vue.js +62 -83
  411. package/tabbar/index.js +23 -30
  412. package/tabbar/vue.js +22 -45
  413. package/tabbar-item/index.js +39 -51
  414. package/tabbar-item/vue.js +23 -48
  415. package/table/index.js +69 -103
  416. package/table/vue.js +37 -61
  417. package/tabs/index.js +125 -174
  418. package/tabs/vue.js +98 -143
  419. package/tag/index.js +13 -18
  420. package/tag/vue.js +11 -16
  421. package/tall-storage/index.js +87 -106
  422. package/tall-storage/vue-storage-box.js +14 -20
  423. package/tall-storage/vue.js +27 -35
  424. package/text-popup/index.js +48 -70
  425. package/text-popup/vue.js +27 -60
  426. package/time/index.js +71 -113
  427. package/time/vue.js +65 -108
  428. package/time-line/index.js +30 -56
  429. package/time-line/vue.js +23 -46
  430. package/time-panel/index.js +112 -175
  431. package/time-panel/scrollIntoView.js +12 -10
  432. package/time-panel/vue.js +64 -94
  433. package/time-range/index.js +123 -184
  434. package/time-range/vue.js +63 -115
  435. package/time-spinner/index.js +139 -179
  436. package/time-spinner/vue.js +72 -110
  437. package/toggle-menu/index.js +68 -98
  438. package/toggle-menu/vue.js +64 -54
  439. package/tooltip/index.js +127 -168
  440. package/tooltip/vue.js +81 -134
  441. package/top-box/index.js +46 -79
  442. package/top-box/vue.js +34 -62
  443. package/transfer/index.js +184 -263
  444. package/transfer/vue.js +65 -134
  445. package/transfer-panel/index.js +240 -329
  446. package/transfer-panel/vue.js +127 -232
  447. package/tree/index.js +422 -591
  448. package/tree/vue.js +163 -249
  449. package/tree-menu/index.js +97 -122
  450. package/tree-menu/vue.js +57 -39
  451. package/tree-node/index.js +180 -248
  452. package/tree-node/vue.js +107 -202
  453. package/upload/index.js +201 -276
  454. package/upload/vue.js +51 -82
  455. package/upload-dragger/index.js +38 -49
  456. package/upload-dragger/vue.js +16 -24
  457. package/upload-list/index.js +41 -50
  458. package/upload-list/vue.js +21 -27
  459. package/user/index.js +356 -510
  460. package/user/vue.js +50 -97
  461. package/user-account/index.js +16 -21
  462. package/user-account/vue.js +20 -23
  463. package/user-contact/index.js +11 -10
  464. package/user-contact/vue.js +15 -15
  465. package/user-head/index.js +69 -84
  466. package/user-head/vue.js +24 -45
  467. package/user-link/index.js +31 -41
  468. package/user-link/vue.js +23 -46
  469. package/wheel/index.js +136 -161
  470. package/wheel/vue.js +64 -95
  471. package/wizard/index.js +83 -102
  472. package/wizard/vue.js +19 -34
  473. package/year-table/index.js +31 -37
  474. package/year-table/vue.js +17 -21
  475. package/rich-text/clipboard.js +0 -77
  476. package/rich-text/index.js +0 -176
  477. package/rich-text/module/file-upload.js +0 -118
  478. package/rich-text/module/image-drop.js +0 -54
  479. package/rich-text/module/image-upload.js +0 -84
  480. package/rich-text/options.js +0 -187
  481. package/rich-text/table-module.js +0 -557
  482. package/rich-text/vue.js +0 -149
package/picker/index.js CHANGED
@@ -1,850 +1,600 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
- import { toDate, getDateWithNewTimezone, getStrTimezone, getLocalTimezone } from '@opentiny/vue-renderless/common/date';
6
- import { isNumber, isDate } from '@opentiny/vue-renderless/common/type';
7
- import userPopper from '@opentiny/vue-renderless/common/deps/vue-popper';
8
- import { DATEPICKER } from '@opentiny/vue-renderless/common';
9
- import { formatDate, parseDate, isDateObject, getWeekNumber } from '@opentiny/vue-renderless/common/deps/date-util';
10
- import { extend } from '@opentiny/vue-renderless/common/object';
11
- import globalTimezone from '@opentiny/vue-renderless/picker/timezone';
12
- var iso8601Reg = /^\d{4}-\d{2}-\d{2}(.)\d{2}:\d{2}:\d{2}(.+)$/;
13
- export var getPanel = function getPanel(_ref) {
14
- var DatePanel = _ref.DatePanel,
15
- DateRangePanel = _ref.DateRangePanel,
16
- MonthRangePanel = _ref.MonthRangePanel,
17
- TimePanel = _ref.TimePanel,
18
- TimeRangePanel = _ref.TimeRangePanel,
19
- TimeSelect = _ref.TimeSelect;
20
- return function (type) {
21
- if (type === DATEPICKER.DateRange || type === DATEPICKER.DateTimeRange) {
22
- return DateRangePanel;
23
- } else if (type === DATEPICKER.MonthRange) {
24
- return MonthRangePanel;
25
- } else if (type === DATEPICKER.TimeRange) {
26
- return TimeRangePanel;
27
- } else if (type === DATEPICKER.Time) {
28
- return TimePanel;
29
- } else if (type === DATEPICKER.TimeSelect) {
30
- return TimeSelect;
31
- }
32
- return DatePanel;
33
- };
1
+ import {
2
+ __spreadProps,
3
+ __spreadValues
4
+ } from "../chunk-PKUHTIDK.js";
5
+ import { toDate, getDateWithNewTimezone, getStrTimezone, getLocalTimezone } from "@opentiny/vue-renderless/common/date";
6
+ import { isNumber, isDate } from "@opentiny/vue-renderless/common/type";
7
+ import userPopper from "@opentiny/vue-renderless/common/deps/vue-popper";
8
+ import { DATEPICKER } from "@opentiny/vue-renderless/common";
9
+ import { formatDate, parseDate, isDateObject, getWeekNumber } from "@opentiny/vue-renderless/common/deps/date-util";
10
+ import { extend } from "@opentiny/vue-renderless/common/object";
11
+ import globalTimezone from "@opentiny/vue-renderless/picker/timezone";
12
+ const iso8601Reg = /^\d{4}-\d{2}-\d{2}(.)\d{2}:\d{2}:\d{2}(.+)$/;
13
+ const getPanel = ({ DatePanel, DateRangePanel, MonthRangePanel, TimePanel, TimeRangePanel, TimeSelect }) => (type) => {
14
+ if (type === DATEPICKER.DateRange || type === DATEPICKER.DateTimeRange) {
15
+ return DateRangePanel;
16
+ } else if (type === DATEPICKER.MonthRange) {
17
+ return MonthRangePanel;
18
+ } else if (type === DATEPICKER.TimeRange) {
19
+ return TimeRangePanel;
20
+ } else if (type === DATEPICKER.Time) {
21
+ return TimePanel;
22
+ } else if (type === DATEPICKER.TimeSelect) {
23
+ return TimeSelect;
24
+ }
25
+ return DatePanel;
34
26
  };
35
- export var watchPickerVisible = function watchPickerVisible(_ref2) {
36
- var api = _ref2.api,
37
- vm = _ref2.vm,
38
- dispatch = _ref2.dispatch,
39
- emit = _ref2.emit,
40
- props = _ref2.props,
41
- state = _ref2.state;
42
- return function (value) {
43
- if (props.readonly || state.pickerDisabled) {
44
- return;
45
- }
46
- if (value) {
47
- api.showPicker();
48
- state.valueOnOpen = Array.isArray(props.modelValue) ? _toConsumableArray(props.modelValue) : props.modelValue;
49
- } else {
50
- api.hidePicker();
51
- api.emitChange(props.modelValue);
52
- state.userInput = null;
53
- if (props.validateEvent) {
54
- dispatch('FormItem', 'form.blur');
55
- }
56
- emit('blur', vm);
57
- api.blur();
27
+ const watchPickerVisible = ({ api, vm, dispatch, emit, props, state }) => (value) => {
28
+ if (props.readonly || state.pickerDisabled) {
29
+ return;
30
+ }
31
+ if (value) {
32
+ api.showPicker();
33
+ state.valueOnOpen = Array.isArray(props.modelValue) ? [...props.modelValue] : props.modelValue;
34
+ } else {
35
+ api.hidePicker();
36
+ api.emitChange(props.modelValue);
37
+ state.userInput = null;
38
+ if (props.validateEvent) {
39
+ dispatch("FormItem", "form.blur");
58
40
  }
59
- };
41
+ emit("blur", vm);
42
+ api.blur();
43
+ }
60
44
  };
61
- export var getValueEmpty = function getValueEmpty(props) {
62
- return function () {
63
- var modelValue = props.modelValue;
64
- if (Array.isArray(modelValue)) {
65
- for (var i = 0, len = modelValue.length; i < len; i++) {
66
- if (modelValue[i]) {
67
- return false;
68
- }
69
- }
70
- } else {
71
- if (modelValue) {
45
+ const getValueEmpty = (props) => () => {
46
+ const modelValue = props.modelValue;
47
+ if (Array.isArray(modelValue)) {
48
+ for (let i = 0, len = modelValue.length; i < len; i++) {
49
+ if (modelValue[i]) {
72
50
  return false;
73
51
  }
74
52
  }
75
- return true;
76
- };
77
- };
78
- export var getMode = function getMode(_ref3) {
79
- var state = _ref3.state;
80
- return function () {
81
- if (state.type === DATEPICKER.Week) {
82
- return DATEPICKER.Week;
83
- } else if (state.type === DATEPICKER.Month) {
84
- return DATEPICKER.Month;
85
- } else if (state.type === DATEPICKER.Year) {
86
- return DATEPICKER.Year;
87
- } else if (state.type === DATEPICKER.Dates) {
88
- return DATEPICKER.Dates;
89
- }
90
- return DATEPICKER.Day;
91
- };
92
- };
93
- export var formatAsFormatAndType = function formatAsFormatAndType(_ref4) {
94
- var api = _ref4.api;
95
- return function (value, customFormat, type) {
96
- if (!value) {
97
- return null;
53
+ } else {
54
+ if (modelValue) {
55
+ return false;
98
56
  }
99
- var formatter = (api.typeValueResolveMap()[type] || api.typeValueResolveMap()["default"]).formatter;
100
- var format = customFormat || DATEPICKER.DateFormats[type];
101
- return formatter(value, format);
102
- };
57
+ }
58
+ return true;
59
+ };
60
+ const getMode = ({ state }) => () => {
61
+ if (state.type === DATEPICKER.Week) {
62
+ return DATEPICKER.Week;
63
+ } else if (state.type === DATEPICKER.Month) {
64
+ return DATEPICKER.Month;
65
+ } else if (state.type === DATEPICKER.Year) {
66
+ return DATEPICKER.Year;
67
+ } else if (state.type === DATEPICKER.Dates) {
68
+ return DATEPICKER.Dates;
69
+ }
70
+ return DATEPICKER.Day;
103
71
  };
104
- export var displayValue = function displayValue(_ref5) {
105
- var api = _ref5.api,
106
- props = _ref5.props,
107
- state = _ref5.state;
108
- return function () {
109
- var formattedValue = api.formatAsFormatAndType(state.parsedValue, state.format, state.type, props.rangeSeparator);
110
- if (Array.isArray(state.userInput)) {
111
- return [state.userInput[0] || formattedValue && formattedValue[0] || '', state.userInput[1] || formattedValue && formattedValue[1] || ''];
112
- } else if (state.userInput !== null) {
113
- return state.userInput;
114
- } else if (formattedValue) {
115
- return state.type === DATEPICKER.Dates ? formattedValue.join(', ') : formattedValue;
116
- }
117
- return '';
118
- };
72
+ const formatAsFormatAndType = ({ api }) => (value, customFormat, type) => {
73
+ if (!value) {
74
+ return null;
75
+ }
76
+ const formatter = (api.typeValueResolveMap()[type] || api.typeValueResolveMap().default).formatter;
77
+ const format = customFormat || DATEPICKER.DateFormats[type];
78
+ return formatter(value, format);
79
+ };
80
+ const displayValue = ({ api, props, state }) => () => {
81
+ const formattedValue = api.formatAsFormatAndType(state.parsedValue, state.format, state.type, props.rangeSeparator);
82
+ if (Array.isArray(state.userInput)) {
83
+ return [state.userInput[0] || formattedValue && formattedValue[0] || "", state.userInput[1] || formattedValue && formattedValue[1] || ""];
84
+ } else if (state.userInput !== null) {
85
+ return state.userInput;
86
+ } else if (formattedValue) {
87
+ return state.type === DATEPICKER.Dates ? formattedValue.join(", ") : formattedValue;
88
+ }
89
+ return "";
119
90
  };
120
- export var parseAsFormatAndType = function parseAsFormatAndType(_ref6) {
121
- var api = _ref6.api;
122
- return function (value, customFormat, type) {
123
- var rangeSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '-';
124
- if (!value) {
125
- return null;
126
- }
127
- var parser = (api.typeValueResolveMap()[type] || api.typeValueResolveMap()["default"]).parser;
128
- var format = customFormat || DATEPICKER.DateFormats[type];
129
- return parser(value, format, rangeSeparator);
130
- };
91
+ const parseAsFormatAndType = ({ api }) => (value, customFormat, type, rangeSeparator = "-") => {
92
+ if (!value) {
93
+ return null;
94
+ }
95
+ const parser = (api.typeValueResolveMap()[type] || api.typeValueResolveMap().default).parser;
96
+ const format = customFormat || DATEPICKER.DateFormats[type];
97
+ return parser(value, format, rangeSeparator);
131
98
  };
132
- export var parsedValue = function parsedValue(_ref7) {
133
- var api = _ref7.api,
134
- props = _ref7.props,
135
- state = _ref7.state,
136
- t = _ref7.t;
137
- return function () {
138
- if (!props.modelValue) {
139
- return props.modelValue;
140
- }
141
- if (state.type === DATEPICKER.TimeSelect) {
142
- return props.modelValue;
143
- }
144
- var valueIsDateObject = isDateObject(props.modelValue) || Array.isArray(props.modelValue) && props.modelValue.every(isDateObject);
145
- var _state$timezone = state.timezone,
146
- from = _state$timezone.from,
147
- to = _state$timezone.to,
148
- isServiceTimezone = _state$timezone.isServiceTimezone;
149
- if (valueIsDateObject && !isServiceTimezone) {
150
- return props.modelValue;
151
- }
152
- if (state.valueFormat) {
153
- var date = props.modelValue;
154
- if (isServiceTimezone) {
155
- if (Array.isArray(date)) {
156
- date = [].concat(date).map(function (item) {
157
- return isDate(item) ? formatDate(item, state.valueFormat, t) : item;
158
- });
159
- } else {
160
- date = formatDate(date, state.valueFormat, t);
161
- }
162
- }
163
- var result = api.parseAsFormatAndType(date, state.valueFormat, state.type, props.rangeSeparator);
164
- if (Array.isArray(result)) {
165
- return result.map(function (date) {
166
- return getDateWithNewTimezone(date, from, to);
167
- });
99
+ const parsedValue = ({ api, props, state, t }) => () => {
100
+ if (!props.modelValue) {
101
+ return props.modelValue;
102
+ }
103
+ if (state.type === DATEPICKER.TimeSelect) {
104
+ return props.modelValue;
105
+ }
106
+ const valueIsDateObject = isDateObject(props.modelValue) || Array.isArray(props.modelValue) && props.modelValue.every(isDateObject);
107
+ const { from, to, isServiceTimezone } = state.timezone;
108
+ if (valueIsDateObject && !isServiceTimezone) {
109
+ return props.modelValue;
110
+ }
111
+ if (state.valueFormat) {
112
+ let date = props.modelValue;
113
+ if (isServiceTimezone) {
114
+ if (Array.isArray(date)) {
115
+ date = [].concat(date).map((item) => isDate(item) ? formatDate(item, state.valueFormat, t) : item);
116
+ } else {
117
+ date = formatDate(date, state.valueFormat, t);
168
118
  }
169
- return getDateWithNewTimezone(result || props.modelValue, from, to);
170
- }
171
- var trans = function trans(value) {
172
- return typeof value === 'string' || isNumber(value) ? toDate(value) : value;
173
- };
174
- var values = [].concat(props.modelValue).map(function (val) {
175
- return getDateWithNewTimezone(trans(val), from, to);
176
- });
177
- return values.length > 1 ? values : values[0];
178
- };
179
- };
180
- export var getTimezone = function getTimezone(_ref8) {
181
- var props = _ref8.props,
182
- utils = _ref8.utils;
183
- return function () {
184
- var dbTimezone = props.dbTimezone,
185
- timezone = props.timezone,
186
- isutc8 = props.isutc8,
187
- _props$type = props.type,
188
- type = _props$type === void 0 ? 'date' : _props$type,
189
- iso8601 = props.iso8601;
190
- var setting = utils.getDateFormat && utils.getDateFormat();
191
- var _ref9 = setting || {},
192
- DbTimezone = _ref9.DbTimezone,
193
- Timezone = _ref9.Timezone;
194
- var cur = getLocalTimezone();
195
- var isTzNumber = function isTzNumber(z) {
196
- return typeof z === 'number' && z >= -12 && z <= 12;
197
- };
198
- if (!~type.indexOf('datetime')) {
199
- return {
200
- from: cur,
201
- to: cur
202
- };
203
119
  }
204
- var serveTimezone = isTzNumber(dbTimezone) ? dbTimezone : isTzNumber(DbTimezone) ? DbTimezone : cur;
205
- var clientTimezone = isTzNumber(timezone) ? timezone : isTzNumber(Timezone) ? Timezone : cur;
206
- var value = props.modelValue;
207
- var str = (Array.isArray(value) ? value[0] : value) || '';
208
- var match = typeof str === 'string' && str.match(/(-|\+)(\d{2}):?(\d{2})$/);
209
- if ((iso8601 || setting) && match) {
210
- serveTimezone = getStrTimezone(str);
120
+ const result = api.parseAsFormatAndType(date, state.valueFormat, state.type, props.rangeSeparator);
121
+ if (Array.isArray(result)) {
122
+ return result.map((date2) => getDateWithNewTimezone(date2, from, to));
211
123
  }
212
- return {
213
- from: serveTimezone,
214
- to: isutc8 ? 8 : clientTimezone,
215
- isServiceTimezone: !!setting
216
- };
217
- };
218
- };
219
- var nullOrString = function nullOrString(value) {
220
- var arr = Array.isArray(value) ? value : [value];
221
- return arr.every(function (val) {
222
- return !val && !isNumber(val) || typeof val === 'string';
223
- });
224
- };
225
- export var getValueFormat = function getValueFormat(_ref10) {
226
- var props = _ref10.props,
227
- utils = _ref10.utils;
228
- var valueFormat = props.valueFormat,
229
- iso8601 = props.iso8601,
230
- value = props.modelValue,
231
- _props$type2 = props.type,
232
- type = _props$type2 === void 0 ? 'date' : _props$type2;
233
- var setting = utils.getDateFormat && utils.getDateFormat();
234
- var suffix = '';
235
- var separator = ' ';
236
- if (!valueFormat && ~type.indexOf('datetime') && (iso8601 || setting) && nullOrString(value)) {
237
- var str = (Array.isArray(value) ? value[0] : value) || '';
238
- var match = str.match(iso8601Reg);
124
+ return getDateWithNewTimezone(result || props.modelValue, from, to);
125
+ }
126
+ const trans = (value) => typeof value === "string" || isNumber(value) ? toDate(value) : value;
127
+ const values = [].concat(props.modelValue).map((val) => getDateWithNewTimezone(trans(val), from, to));
128
+ return values.length > 1 ? values : values[0];
129
+ };
130
+ const getTimezone = ({ props, utils }) => () => {
131
+ const { dbTimezone, timezone, isutc8, type = "date", iso8601 } = props;
132
+ const setting = utils.getDateFormat && utils.getDateFormat();
133
+ const { DbTimezone, Timezone } = setting || {};
134
+ const cur = getLocalTimezone();
135
+ const isTzNumber = (z) => typeof z === "number" && z >= -12 && z <= 12;
136
+ if (!~type.indexOf("datetime")) {
137
+ return { from: cur, to: cur };
138
+ }
139
+ let serveTimezone = isTzNumber(dbTimezone) ? dbTimezone : isTzNumber(DbTimezone) ? DbTimezone : cur;
140
+ let clientTimezone = isTzNumber(timezone) ? timezone : isTzNumber(Timezone) ? Timezone : cur;
141
+ const value = props.modelValue;
142
+ const str = (Array.isArray(value) ? value[0] : value) || "";
143
+ const match = typeof str === "string" && str.match(/(-|\+)(\d{2}):?(\d{2})$/);
144
+ if ((iso8601 || setting) && match) {
145
+ serveTimezone = getStrTimezone(str);
146
+ }
147
+ return {
148
+ from: serveTimezone,
149
+ to: isutc8 ? 8 : clientTimezone,
150
+ isServiceTimezone: !!setting
151
+ };
152
+ };
153
+ const nullOrString = (value) => {
154
+ const arr = Array.isArray(value) ? value : [value];
155
+ return arr.every((val) => !val && !isNumber(val) || typeof val === "string");
156
+ };
157
+ const getValueFormat = ({ props, utils }) => {
158
+ const { valueFormat, iso8601, modelValue: value, type = "date" } = props;
159
+ const setting = utils.getDateFormat && utils.getDateFormat();
160
+ let suffix = "";
161
+ let separator = " ";
162
+ if (!valueFormat && ~type.indexOf("datetime") && (iso8601 || setting) && nullOrString(value)) {
163
+ const str = (Array.isArray(value) ? value[0] : value) || "";
164
+ const match = str.match(iso8601Reg);
239
165
  if (match && match.length === 3) {
240
- suffix = match[2] || '';
166
+ suffix = match[2] || "";
241
167
  separator = match[1];
242
168
  }
243
- return "yyyy-MM-dd".concat(separator, "HH:mm:ss").concat(suffix);
169
+ return `yyyy-MM-dd${separator}HH:mm:ss${suffix}`;
244
170
  }
245
171
  return valueFormat;
246
172
  };
247
- export var dateFormatter = function dateFormatter(_ref11) {
248
- var t = _ref11.t;
249
- return function (value, format) {
250
- if (format === DATEPICKER.TimesTamp) {
251
- return value.getTime();
252
- }
253
- return formatDate(value, format, t);
254
- };
173
+ const dateFormatter = ({ t }) => (value, format) => {
174
+ if (format === DATEPICKER.TimesTamp) {
175
+ return value.getTime();
176
+ }
177
+ return formatDate(value, format, t);
255
178
  };
256
- export var dateParser = function dateParser(_ref12) {
257
- var t = _ref12.t;
258
- return function (text, format) {
259
- if (format === DATEPICKER.TimesTamp) {
260
- return new Date(Number(text));
261
- }
262
- return parseDate(text, format, t);
263
- };
179
+ const dateParser = ({ t }) => (text, format) => {
180
+ if (format === DATEPICKER.TimesTamp) {
181
+ return new Date(Number(text));
182
+ }
183
+ return parseDate(text, format, t);
264
184
  };
265
- export var rangeFormatter = function rangeFormatter(api) {
266
- return function (value, format) {
267
- if (Array.isArray(value) && value.length === 2) {
268
- var start = value[0];
269
- var end = value[1];
270
- if (start && end) {
271
- return [api.dateFormatter(start, format), api.dateFormatter(end, format)];
272
- }
185
+ const rangeFormatter = (api) => (value, format) => {
186
+ if (Array.isArray(value) && value.length === 2) {
187
+ const start = value[0];
188
+ const end = value[1];
189
+ if (start && end) {
190
+ return [api.dateFormatter(start, format), api.dateFormatter(end, format)];
273
191
  }
274
- return '';
275
- };
192
+ }
193
+ return "";
276
194
  };
277
- export var rangeParser = function rangeParser(api) {
278
- return function (array, format, separator) {
279
- if (!Array.isArray(array)) {
280
- array = array.split(separator);
281
- }
282
- if (array.length === 2) {
283
- var range1 = array[0];
284
- var range2 = array[1];
285
- return [api.dateParser(range1, format), api.dateParser(range2, format)];
286
- }
287
- return [];
288
- };
195
+ const rangeParser = (api) => (array, format, separator) => {
196
+ if (!Array.isArray(array)) {
197
+ array = array.split(separator);
198
+ }
199
+ if (array.length === 2) {
200
+ const range1 = array[0];
201
+ const range2 = array[1];
202
+ return [api.dateParser(range1, format), api.dateParser(range2, format)];
203
+ }
204
+ return [];
289
205
  };
290
- export var getWeekData = function getWeekData(value) {
291
- var valueday = new Date(value).getDay();
292
- var newDate = new Date(value);
206
+ const getWeekData = (value) => {
207
+ const valueday = new Date(value).getDay();
208
+ let newDate = new Date(value);
293
209
  if (valueday >= 2) {
294
- newDate.setTime(new Date(value).getTime() - (valueday - 1) * 86400000);
210
+ newDate.setTime(new Date(value).getTime() - (valueday - 1) * 864e5);
295
211
  } else if (valueday === 0) {
296
- newDate.setTime(new Date(value).getTime() + (valueday + 1) * 86400000);
212
+ newDate.setTime(new Date(value).getTime() + (valueday + 1) * 864e5);
297
213
  }
298
214
  return newDate;
299
215
  };
300
- var getDefaultOfTypeValueResolveMap = function getDefaultOfTypeValueResolveMap() {
301
- return {
302
- formatter: function formatter(value) {
303
- return value ? String(value) : '';
304
- },
305
- parser: function parser(text) {
306
- return text === undefined || text === '' ? null : text;
307
- }
308
- };
309
- };
310
- var getWeekOfTypeValueResolveMap = function getWeekOfTypeValueResolveMap(_ref13) {
311
- var t = _ref13.t,
312
- api = _ref13.api;
313
- return {
314
- formatter: function formatter(value, format) {
315
- var weekDate = getWeekData(value);
316
- var week = getWeekNumber(weekDate);
317
- var month = weekDate.getMonth();
318
- var trueDate = new Date(weekDate);
319
- if (week === 1 && month === 11) {
320
- trueDate.setHours(0, 0, 0, 0);
321
- trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7);
322
- }
323
- var date = formatDate(trueDate, format, t);
324
- date = /WW/.test(date) ? date.replace(/WW/, week < 10 ? '0' + week : week) : date.replace(/W/, week);
325
- return date;
326
- },
327
- parser: function parser(text, format) {
328
- return api.typeValueResolveMap().date.parser(text, format);
329
- }
330
- };
331
- };
332
- var getNumberOfTypeValueResolveMap = function getNumberOfTypeValueResolveMap() {
333
- return {
334
- formatter: function formatter(value) {
335
- return value ? String(value) : '';
336
- },
337
- parser: function parser(text) {
338
- var result = Number(text);
339
- return !isNaN(text) ? result : null;
340
- }
341
- };
342
- };
343
- var getDatesOfTypeValueResolveMap = function getDatesOfTypeValueResolveMap(api) {
344
- return {
345
- formatter: function formatter(value, format) {
346
- return value.map(function (date) {
347
- return api.dateFormatter(date, format);
348
- });
349
- },
350
- parser: function parser(value, format) {
351
- return (typeof value === 'string' ? value.split(', ') : value).map(function (date) {
352
- return date instanceof Date ? date : api.dateParser(date, format);
353
- });
354
- }
355
- };
356
- };
357
- export var typeValueResolveMap = function typeValueResolveMap(_ref14) {
358
- var api = _ref14.api,
359
- t = _ref14.t;
360
- return function () {
361
- return {
362
- "default": getDefaultOfTypeValueResolveMap(),
363
- week: getWeekOfTypeValueResolveMap({
364
- t: t,
365
- api: api
366
- }),
367
- date: {
368
- formatter: api.dateFormatter,
369
- parser: api.dateParser
370
- },
371
- datetime: {
372
- formatter: api.dateFormatter,
373
- parser: api.dateParser
374
- },
375
- daterange: {
376
- formatter: api.rangeFormatter,
377
- parser: api.rangeParser
378
- },
379
- monthrange: {
380
- formatter: api.rangeFormatter,
381
- parser: api.rangeParser
382
- },
383
- datetimerange: {
384
- formatter: api.rangeFormatter,
385
- parser: api.rangeParser
386
- },
387
- timerange: {
388
- formatter: api.rangeFormatter,
389
- parser: api.rangeParser
390
- },
391
- time: {
392
- formatter: api.dateFormatter,
393
- parser: api.dateParser
394
- },
395
- month: {
396
- formatter: api.dateFormatter,
397
- parser: api.dateParser
398
- },
399
- year: {
400
- formatter: api.dateFormatter,
401
- parser: api.dateParser
402
- },
403
- number: getNumberOfTypeValueResolveMap(),
404
- dates: getDatesOfTypeValueResolveMap(api)
405
- };
406
- };
216
+ const getDefaultOfTypeValueResolveMap = () => ({
217
+ formatter(value) {
218
+ return value ? String(value) : "";
219
+ },
220
+ parser(text) {
221
+ return text === void 0 || text === "" ? null : text;
222
+ }
223
+ });
224
+ const getWeekOfTypeValueResolveMap = ({ t, api }) => ({
225
+ formatter(value, format) {
226
+ const weekDate = getWeekData(value);
227
+ let week = getWeekNumber(weekDate);
228
+ let month = weekDate.getMonth();
229
+ const trueDate = new Date(weekDate);
230
+ if (week === 1 && month === 11) {
231
+ trueDate.setHours(0, 0, 0, 0);
232
+ trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7);
233
+ }
234
+ let date = formatDate(trueDate, format, t);
235
+ date = /WW/.test(date) ? date.replace(/WW/, week < 10 ? "0" + week : week) : date.replace(/W/, week);
236
+ return date;
237
+ },
238
+ parser(text, format) {
239
+ return api.typeValueResolveMap().date.parser(text, format);
240
+ }
241
+ });
242
+ const getNumberOfTypeValueResolveMap = () => ({
243
+ formatter(value) {
244
+ return value ? String(value) : "";
245
+ },
246
+ parser(text) {
247
+ let result = Number(text);
248
+ return !isNaN(text) ? result : null;
249
+ }
250
+ });
251
+ const getDatesOfTypeValueResolveMap = (api) => ({
252
+ formatter(value, format) {
253
+ return value.map((date) => api.dateFormatter(date, format));
254
+ },
255
+ parser(value, format) {
256
+ return (typeof value === "string" ? value.split(", ") : value).map((date) => date instanceof Date ? date : api.dateParser(date, format));
257
+ }
258
+ });
259
+ const typeValueResolveMap = ({ api, t }) => () => ({
260
+ default: getDefaultOfTypeValueResolveMap(),
261
+ week: getWeekOfTypeValueResolveMap({ t, api }),
262
+ date: { formatter: api.dateFormatter, parser: api.dateParser },
263
+ datetime: { formatter: api.dateFormatter, parser: api.dateParser },
264
+ daterange: { formatter: api.rangeFormatter, parser: api.rangeParser },
265
+ monthrange: { formatter: api.rangeFormatter, parser: api.rangeParser },
266
+ datetimerange: { formatter: api.rangeFormatter, parser: api.rangeParser },
267
+ timerange: { formatter: api.rangeFormatter, parser: api.rangeParser },
268
+ time: { formatter: api.dateFormatter, parser: api.dateParser },
269
+ month: { formatter: api.dateFormatter, parser: api.dateParser },
270
+ year: { formatter: api.dateFormatter, parser: api.dateParser },
271
+ number: getNumberOfTypeValueResolveMap(),
272
+ dates: getDatesOfTypeValueResolveMap(api)
273
+ });
274
+ const firstInputId = ({ props, state }) => () => {
275
+ const obj = {};
276
+ let id;
277
+ if (state.ranged) {
278
+ id = props.id && props.id[0];
279
+ } else {
280
+ id = props.id;
281
+ }
282
+ if (id) {
283
+ obj.id = id;
284
+ }
285
+ return obj;
407
286
  };
408
- export var firstInputId = function firstInputId(_ref15) {
409
- var props = _ref15.props,
410
- state = _ref15.state;
411
- return function () {
412
- var obj = {};
413
- var id;
414
- if (state.ranged) {
415
- id = props.id && props.id[0];
416
- } else {
417
- id = props.id;
418
- }
419
- if (id) {
420
- obj.id = id;
421
- }
422
- return obj;
423
- };
287
+ const secondInputId = ({ props, state }) => () => {
288
+ const obj = {};
289
+ let id;
290
+ if (state.ranged) {
291
+ id = props.id && props.id[1];
292
+ }
293
+ if (id) {
294
+ obj.id = id;
295
+ }
296
+ return obj;
297
+ };
298
+ const focus = ({ api, props, refs }) => () => !props.ranged ? refs.reference.focus() : api.handleFocus();
299
+ const blur = (state) => () => state.refInput.forEach((input) => input.blur());
300
+ const parseValue = ({ api, props, state }) => (value) => {
301
+ const isParsed = isDateObject(value) || Array.isArray(value) && value.every(isDateObject);
302
+ if (state.valueFormat && !isParsed) {
303
+ return api.parseAsFormatAndType(value, state.valueFormat, state.type, props.rangeSeparator) || value;
304
+ }
305
+ return value;
424
306
  };
425
- export var secondInputId = function secondInputId(_ref16) {
426
- var props = _ref16.props,
427
- state = _ref16.state;
428
- return function () {
429
- var obj = {};
430
- var id;
431
- if (state.ranged) {
432
- id = props.id && props.id[1];
433
- }
434
- if (id) {
435
- obj.id = id;
436
- }
437
- return obj;
438
- };
307
+ const formatToValue = ({ api, props, state }) => (date) => {
308
+ const isFormattable = isDateObject(date) || Array.isArray(date) && date.every(isDateObject);
309
+ if (state.valueFormat && isFormattable) {
310
+ return api.formatAsFormatAndType(date, state.valueFormat, state.type, props.rangeSeparator);
311
+ }
312
+ return date;
439
313
  };
440
- export var focus = function focus(_ref17) {
441
- var api = _ref17.api,
442
- props = _ref17.props,
443
- refs = _ref17.refs;
444
- return function () {
445
- return !props.ranged ? refs.reference.focus() : api.handleFocus();
446
- };
314
+ const parseString = ({ api, state }) => (value) => {
315
+ const type = Array.isArray(value) ? state.type : state.type.replace(DATEPICKER.Range, "");
316
+ return api.parseAsFormatAndType(value, state.format, type);
447
317
  };
448
- export var blur = function blur(state) {
449
- return function () {
450
- return state.refInput.forEach(function (input) {
451
- return input.blur();
452
- });
453
- };
318
+ const formatToString = ({ api, state }) => (value) => {
319
+ const type = Array.isArray(value) ? state.type : state.type.replace(DATEPICKER.Range, "");
320
+ return api.formatAsFormatAndType(value, state.format, type);
454
321
  };
455
- export var parseValue = function parseValue(_ref18) {
456
- var api = _ref18.api,
457
- props = _ref18.props,
458
- state = _ref18.state;
459
- return function (value) {
460
- var isParsed = isDateObject(value) || Array.isArray(value) && value.every(isDateObject);
461
- if (state.valueFormat && !isParsed) {
462
- return api.parseAsFormatAndType(value, state.valueFormat, state.type, props.rangeSeparator) || value;
463
- }
464
- return value;
465
- };
322
+ const handleMouseEnter = ({ props, state }) => () => {
323
+ if (props.readonly || state.pickerDisabled) {
324
+ return;
325
+ }
326
+ if (!state.valueIsEmpty && props.clearable) {
327
+ state.showClose = true;
328
+ }
466
329
  };
467
- export var formatToValue = function formatToValue(_ref19) {
468
- var api = _ref19.api,
469
- props = _ref19.props,
470
- state = _ref19.state;
471
- return function (date) {
472
- var isFormattable = isDateObject(date) || Array.isArray(date) && date.every(isDateObject);
473
- if (state.valueFormat && isFormattable) {
474
- return api.formatAsFormatAndType(date, state.valueFormat, state.type, props.rangeSeparator);
330
+ const handleChange = ({ api, state }) => () => {
331
+ if (state.userInput) {
332
+ const value = api.parseString(state.displayValue);
333
+ if (value) {
334
+ state.picker.state.value = value;
335
+ if (api.isValidValue(value)) {
336
+ api.emitInput(value);
337
+ state.userInput = null;
338
+ }
475
339
  }
476
- return date;
477
- };
478
- };
479
- export var parseString = function parseString(_ref20) {
480
- var api = _ref20.api,
481
- state = _ref20.state;
482
- return function (value) {
483
- var type = Array.isArray(value) ? state.type : state.type.replace(DATEPICKER.Range, '');
484
- return api.parseAsFormatAndType(value, state.format, type);
485
- };
340
+ }
341
+ if (state.userInput === "") {
342
+ api.emitInput(null);
343
+ api.emitChange(null);
344
+ state.userInput = null;
345
+ }
486
346
  };
487
- export var formatToString = function formatToString(_ref21) {
488
- var api = _ref21.api,
489
- state = _ref21.state;
490
- return function (value) {
491
- var type = Array.isArray(value) ? state.type : state.type.replace(DATEPICKER.Range, '');
492
- return api.formatAsFormatAndType(value, state.format, type);
493
- };
347
+ const handleStartInput = (state) => (event) => {
348
+ if (state.userInput) {
349
+ state.userInput = [event.target.value, state.userInput[1]];
350
+ } else {
351
+ state.userInput = [event.target.value, null];
352
+ }
494
353
  };
495
- export var handleMouseEnter = function handleMouseEnter(_ref22) {
496
- var props = _ref22.props,
497
- state = _ref22.state;
498
- return function () {
499
- if (props.readonly || state.pickerDisabled) {
500
- return;
501
- }
502
- if (!state.valueIsEmpty && props.clearable) {
503
- state.showClose = true;
504
- }
505
- };
354
+ const handleEndInput = (state) => (event) => {
355
+ if (state.userInput) {
356
+ state.userInput = [state.userInput[0], event.target.value];
357
+ } else {
358
+ state.userInput = [null, event.target.value];
359
+ }
506
360
  };
507
- export var handleChange = function handleChange(_ref23) {
508
- var api = _ref23.api,
509
- state = _ref23.state;
510
- return function () {
511
- if (state.userInput) {
512
- var value = api.parseString(state.displayValue);
513
- if (value) {
514
- state.picker.state.value = value;
515
- if (api.isValidValue(value)) {
516
- api.emitInput(value);
517
- state.userInput = null;
518
- }
361
+ const handleStartChange = ({ api, state }) => () => {
362
+ const value = api.parseString(state.userInput && state.userInput[0]);
363
+ if (value) {
364
+ let newValue;
365
+ if (state.displayValue[1]) {
366
+ state.userInput = [api.formatToString(value), state.displayValue[1]];
367
+ newValue = [value, state.picker.state.value && state.picker.state.value[1]];
368
+ } else {
369
+ let now = new Date();
370
+ if (now.getTime() < value.getTime()) {
371
+ state.userInput = [api.formatToString(value), api.formatToString(value)];
372
+ newValue = [value, value];
373
+ } else {
374
+ state.userInput = [api.formatToString(value), api.formatToString(now)];
375
+ newValue = [value, now];
519
376
  }
520
377
  }
521
- if (state.userInput === '') {
522
- api.emitInput(null);
523
- api.emitChange(null);
378
+ state.picker.state.value = newValue;
379
+ if (api.isValidValue(newValue)) {
380
+ api.emitInput(newValue);
524
381
  state.userInput = null;
525
382
  }
526
- };
527
- };
528
- export var handleStartInput = function handleStartInput(state) {
529
- return function (event) {
530
- if (state.userInput) {
531
- state.userInput = [event.target.value, state.userInput[1]];
532
- } else {
533
- state.userInput = [event.target.value, null];
534
- }
535
- };
383
+ }
536
384
  };
537
- export var handleEndInput = function handleEndInput(state) {
538
- return function (event) {
539
- if (state.userInput) {
540
- state.userInput = [state.userInput[0], event.target.value];
385
+ const handleEndChange = ({ api, state }) => () => {
386
+ const value = api.parseString(state.userInput && state.userInput[1]);
387
+ if (value) {
388
+ let newValue;
389
+ if (state.displayValue[0]) {
390
+ state.userInput = [state.displayValue[0], api.formatToString(value)];
391
+ newValue = [state.picker.state.value && state.picker.state.value[0], value];
541
392
  } else {
542
- state.userInput = [null, event.target.value];
543
- }
544
- };
545
- };
546
- export var handleStartChange = function handleStartChange(_ref24) {
547
- var api = _ref24.api,
548
- state = _ref24.state;
549
- return function () {
550
- var value = api.parseString(state.userInput && state.userInput[0]);
551
- if (value) {
552
- var newValue;
553
- if (state.displayValue[1]) {
554
- state.userInput = [api.formatToString(value), state.displayValue[1]];
555
- newValue = [value, state.picker.state.value && state.picker.state.value[1]];
393
+ let now = new Date();
394
+ if (now.getTime() < value.getTime()) {
395
+ state.userInput = [api.formatToString(now), api.formatToString(value)];
396
+ newValue = [now, value];
556
397
  } else {
557
- var now = new Date();
558
- if (now.getTime() < value.getTime()) {
559
- state.userInput = [api.formatToString(value), api.formatToString(value)];
560
- newValue = [value, value];
561
- } else {
562
- state.userInput = [api.formatToString(value), api.formatToString(now)];
563
- newValue = [value, now];
564
- }
565
- }
566
- state.picker.state.value = newValue;
567
- if (api.isValidValue(newValue)) {
568
- api.emitInput(newValue);
569
- state.userInput = null;
398
+ state.userInput = [api.formatToString(value), api.formatToString(value)];
399
+ newValue = [value, value];
570
400
  }
571
401
  }
572
- };
573
- };
574
- export var handleEndChange = function handleEndChange(_ref25) {
575
- var api = _ref25.api,
576
- state = _ref25.state;
577
- return function () {
578
- var value = api.parseString(state.userInput && state.userInput[1]);
579
- if (value) {
580
- var newValue;
581
- if (state.displayValue[0]) {
582
- state.userInput = [state.displayValue[0], api.formatToString(value)];
583
- newValue = [state.picker.state.value && state.picker.state.value[0], value];
584
- } else {
585
- var now = new Date();
586
- if (now.getTime() < value.getTime()) {
587
- state.userInput = [api.formatToString(now), api.formatToString(value)];
588
- newValue = [now, value];
589
- } else {
590
- state.userInput = [api.formatToString(value), api.formatToString(value)];
591
- newValue = [value, value];
592
- }
593
- }
594
- state.picker.state.value = newValue;
595
- if (api.isValidValue(newValue)) {
596
- api.emitInput(newValue);
597
- state.userInput = null;
598
- }
402
+ state.picker.state.value = newValue;
403
+ if (api.isValidValue(newValue)) {
404
+ api.emitInput(newValue);
405
+ state.userInput = null;
599
406
  }
600
- };
407
+ }
601
408
  };
602
- export var handleClickIcon = function handleClickIcon(_ref26) {
603
- var api = _ref26.api,
604
- props = _ref26.props,
605
- state = _ref26.state;
606
- return function (event) {
607
- if (props.readonly || state.pickerDisabled) {
608
- return;
609
- }
610
- if (state.showClose) {
611
- state.valueOnOpen = props.modelValue;
612
- event.stopPropagation();
613
- api.emitInput(null);
614
- api.emitChange(null);
615
- state.showClose = false;
616
- if (state.picker && typeof state.picker.handleClear === 'function') {
617
- state.picker.handleClear();
618
- }
619
- } else {
620
- state.pickerVisible = !state.pickerVisible;
621
- }
622
- };
409
+ const handleClickIcon = ({ api, props, state }) => (event) => {
410
+ if (props.readonly || state.pickerDisabled) {
411
+ return;
412
+ }
413
+ if (state.showClose) {
414
+ state.valueOnOpen = props.modelValue;
415
+ event.stopPropagation();
416
+ api.emitInput(null);
417
+ api.emitChange(null);
418
+ state.showClose = false;
419
+ if (state.picker && typeof state.picker.handleClear === "function") {
420
+ state.picker.handleClear();
421
+ }
422
+ } else {
423
+ state.pickerVisible = !state.pickerVisible;
424
+ }
623
425
  };
624
- export var handleClose = function handleClose(_ref27) {
625
- var api = _ref27.api,
626
- props = _ref27.props,
627
- state = _ref27.state;
628
- return function () {
629
- if (!state.pickerVisible) {
630
- return;
631
- }
632
- state.pickerVisible = false;
633
- if (state.type === DATEPICKER.Dates) {
634
- var oldValue = api.parseAsFormatAndType(state.valueOnOpen, state.valueFormat, state.type, props.rangeSeparator) || state.valueOnOpen;
635
- api.emitInput(oldValue);
636
- }
637
- };
426
+ const handleClose = ({ api, props, state }) => () => {
427
+ if (!state.pickerVisible) {
428
+ return;
429
+ }
430
+ state.pickerVisible = false;
431
+ if (state.type === DATEPICKER.Dates) {
432
+ const oldValue = api.parseAsFormatAndType(state.valueOnOpen, state.valueFormat, state.type, props.rangeSeparator) || state.valueOnOpen;
433
+ api.emitInput(oldValue);
434
+ }
638
435
  };
639
- export var handleFocus = function handleFocus(_ref28) {
640
- var emit = _ref28.emit,
641
- refs = _ref28.refs,
642
- state = _ref28.state;
643
- return function () {
644
- var type = state.type;
645
- if (DATEPICKER.TriggerTypes.indexOf(type) !== -1 && !state.pickerVisible) {
646
- state.pickerVisible = true;
647
- }
648
- emit('focus', refs.reference);
649
- };
436
+ const handleFocus = ({ emit, refs, state }) => () => {
437
+ const type = state.type;
438
+ if (DATEPICKER.TriggerTypes.includes(type) && !state.pickerVisible) {
439
+ state.pickerVisible = true;
440
+ }
441
+ emit("focus", refs.reference);
650
442
  };
651
- export var handleKeydown = function handleKeydown(_ref29) {
652
- var api = _ref29.api,
653
- state = _ref29.state;
654
- return function (event) {
655
- var keyCode = event.keyCode;
656
- if (keyCode === 27) {
657
- state.pickerVisible = false;
658
- event.stopPropagation();
659
- return;
660
- }
661
- if (keyCode === 9) {
662
- if (!state.ranged) {
663
- api.handleChange();
664
- state.pickerVisible = state.picker.state.visible = false;
665
- api.blur();
666
- event.stopPropagation();
667
- } else {
668
- setTimeout(function () {
669
- if (state.refInput.indexOf(document.activeElement) === -1) {
670
- state.pickerVisible = false;
671
- api.blur();
672
- event.stopPropagation();
673
- }
674
- }, 0);
675
- }
676
- return;
677
- }
678
- if (keyCode === 13) {
679
- if (state.userInput === '' || api.isValidValue(api.parseString(state.displayValue))) {
680
- api.handleChange();
681
- state.pickerVisible = state.picker.state.visible = false;
682
- api.blur();
683
- }
684
- event.stopPropagation();
685
- return;
686
- }
687
- if (state.userInput) {
443
+ const handleKeydown = ({ api, state }) => (event) => {
444
+ const keyCode = event.keyCode;
445
+ if (keyCode === 27) {
446
+ state.pickerVisible = false;
447
+ event.stopPropagation();
448
+ return;
449
+ }
450
+ if (keyCode === 9) {
451
+ if (!state.ranged) {
452
+ api.handleChange();
453
+ state.pickerVisible = state.picker.state.visible = false;
454
+ api.blur();
688
455
  event.stopPropagation();
689
- return;
690
- }
691
- if (state.picker && state.picker.handleKeydown) {
692
- state.picker.handleKeydown(event);
693
- }
694
- };
695
- };
696
- export var hidePicker = function hidePicker(_ref30) {
697
- var destroyPopper = _ref30.destroyPopper,
698
- state = _ref30.state;
699
- return function () {
700
- if (state.picker) {
701
- state.picker.resetView && state.picker.resetView();
702
- state.pickerVisible = state.picker.visible = state.picker.state.visible = false;
703
- destroyPopper();
704
- }
705
- };
706
- };
707
- export var showPicker = function showPicker(_ref31) {
708
- var api = _ref31.api,
709
- nextTick = _ref31.nextTick,
710
- updatePopper = _ref31.updatePopper,
711
- state = _ref31.state;
712
- return function () {
713
- if (state.$isServer) {
714
- return;
456
+ } else {
457
+ setTimeout(() => {
458
+ if (!state.refInput.includes(document.activeElement)) {
459
+ state.pickerVisible = false;
460
+ api.blur();
461
+ event.stopPropagation();
462
+ }
463
+ }, 0);
715
464
  }
716
- if (!state.picker) {
717
- api.mountPicker();
465
+ return;
466
+ }
467
+ if (keyCode === 13) {
468
+ if (state.userInput === "" || api.isValidValue(api.parseString(state.displayValue))) {
469
+ api.handleChange();
470
+ state.pickerVisible = state.picker.state.visible = false;
471
+ api.blur();
718
472
  }
719
- state.pickerVisible = state.picker.state.visible = true;
720
- state.picker.state.value = state.parsedValue;
721
- state.picker.resetView && state.picker.resetView();
722
- nextTick(function () {
723
- updatePopper(state.picker.$el);
724
- state.picker.adjustSpinners && state.picker.adjustSpinners();
725
- });
726
- };
473
+ event.stopPropagation();
474
+ return;
475
+ }
476
+ if (state.userInput) {
477
+ event.stopPropagation();
478
+ return;
479
+ }
480
+ if (state.picker && state.picker.handleKeydown) {
481
+ state.picker.handleKeydown(event);
482
+ }
727
483
  };
728
- export var handlePick = function handlePick(_ref32) {
729
- var state = _ref32.state,
730
- api = _ref32.api;
731
- return function () {
732
- var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
733
- var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
734
- state.userInput = null;
735
- state.pickerVisible = state.picker.state.visible = visible;
736
- api.emitInput(date);
737
- state.date = date;
484
+ const hidePicker = ({ destroyPopper, state }) => () => {
485
+ if (state.picker) {
738
486
  state.picker.resetView && state.picker.resetView();
739
- };
487
+ state.pickerVisible = state.picker.visible = state.picker.state.visible = false;
488
+ destroyPopper();
489
+ }
740
490
  };
741
- export var handleSelectRange = function handleSelectRange(state) {
742
- return function (start, end, pos) {
743
- if (state.refInput.length === 0) {
744
- return;
745
- }
746
- var adjust = function adjust(value, start, end) {
747
- if (!value) {
748
- return {
749
- start: start,
750
- end: end
751
- };
752
- }
753
- var valueReg = /(\d+):(\d+):(\d+)(\s+.+)?/;
754
- if (valueReg.test(value)) {
755
- var matched = valueReg.exec(value);
756
- var hourLength = matched[1].length;
757
- var minuteLength = matched[2].length;
758
- var secondLength = matched[3].length;
759
- if (start === 0) {
760
- end = hourLength;
761
- } else if (start === 3) {
762
- start = hourLength + 1;
763
- end = hourLength + minuteLength + 1;
764
- } else {
765
- start = hourLength + minuteLength + 2;
766
- end = hourLength + minuteLength + secondLength + 2;
767
- }
768
- }
769
- return {
770
- start: start,
771
- end: end
772
- };
773
- };
774
- if (!pos || pos === 'min') {
775
- var value = state.refInput[0].value;
776
- var res = adjust(value, start, end);
777
- state.refInput[0].setSelectionRange(res.start, res.end);
778
- state.refInput[0].focus();
779
- } else if (pos === 'max') {
780
- var _value = state.refInput[1].value;
781
- var _res = adjust(_value, start, end);
782
- state.refInput[1].setSelectionRange(_res.start, _res.end);
783
- state.refInput[1].focus();
784
- }
785
- };
491
+ const showPicker = ({ api, nextTick, updatePopper, state }) => () => {
492
+ if (state.$isServer) {
493
+ return;
494
+ }
495
+ if (!state.picker) {
496
+ api.mountPicker();
497
+ }
498
+ state.pickerVisible = state.picker.state.visible = true;
499
+ state.picker.state.value = state.parsedValue;
500
+ state.picker.resetView && state.picker.resetView();
501
+ nextTick(() => {
502
+ updatePopper(state.picker.$el);
503
+ state.picker.adjustSpinners && state.picker.adjustSpinners();
504
+ });
786
505
  };
787
- export var mountPicker = function mountPicker(_ref33) {
788
- var api = _ref33.api,
789
- props = _ref33.props,
790
- state = _ref33.state,
791
- vm = _ref33.vm,
792
- updatePopper = _ref33.updatePopper;
793
- return function () {
794
- state.picker = vm.$refs.picker;
795
- state.picker.state.defaultValue = props.defaultValue;
796
- state.picker.state.defaultTime = props.defaultTime;
797
- state.picker.state.popperClass = props.popperClass;
798
- state.picker.state.popperAppendToBody = props.popperAppendToBody;
799
- state.picker.state.fnUpdatePopper = updatePopper;
800
- state.picker.state.currentInstans = state.picker;
801
- state.picker.state.timezone = state.timezone;
802
- state.picker.state.timezoneData = state.timezoneData;
803
- state.picker.state.showTimezone = props.showTimezone || state.timezone.isServiceTimezone;
804
- state.picker.state.width = state.reference.getBoundingClientRect().width;
805
- state.picker.state.timefmt = props.timeFormat || '';
806
- state.picker.state.showTime = state.type === DATEPICKER.DateTime || state.type === DATEPICKER.DateTimeRange;
807
- state.picker.state.selectionMode = state.selectionMode;
808
- state.picker.state.defaultTimezone = props.defaultTimezone;
809
- state.picker.state.unlinkPanels = props.unlinkPanels;
810
- state.picker.state.emitDbTime = api.emitDbTime;
811
- state.picker.state.arrowControl = state.arrowControl || props.timeArrowControl || props.arrowControl || false;
812
- api.updateOptions();
813
- state.picker.resetView && state.picker.resetView();
814
- };
506
+ const handlePick = ({ state, api }) => (date = "", visible = false) => {
507
+ state.userInput = null;
508
+ state.pickerVisible = state.picker.state.visible = visible;
509
+ api.emitInput(date);
510
+ state.date = date;
511
+ state.picker.resetView && state.picker.resetView();
815
512
  };
816
- export var updateOptions = function updateOptions(_ref34) {
817
- var api = _ref34.api,
818
- props = _ref34.props,
819
- state = _ref34.state;
820
- return function () {
821
- if (!state.picker) {
822
- return;
823
- }
824
- var options = props.pickerOptions;
825
- if (options && options.selectableRange) {
826
- var ranges = options.selectableRange;
827
- var parser = api.typeValueResolveMap().datetimerange.parser;
828
- var format = DATEPICKER.DateFormats.timerange;
829
- ranges = Array.isArray(ranges) ? ranges : [ranges];
830
- state.picker.state.selectableRange = ranges.map(function (range) {
831
- return parser(range, format, props.rangeSeparator);
832
- });
833
- }
834
- for (var option in options) {
835
- if (option in options && option !== DATEPICKER.SelectbaleRange) {
836
- state.picker.state[option] = options[option];
513
+ const handleSelectRange = (state) => (start, end, pos) => {
514
+ if (state.refInput.length === 0) {
515
+ return;
516
+ }
517
+ const adjust = (value, start2, end2) => {
518
+ if (!value) {
519
+ return { start: start2, end: end2 };
520
+ }
521
+ const valueReg = /(\d+):(\d+):(\d+)(\s+.+)?/;
522
+ if (valueReg.test(value)) {
523
+ const matched = valueReg.exec(value);
524
+ const hourLength = matched[1].length;
525
+ const minuteLength = matched[2].length;
526
+ const secondLength = matched[3].length;
527
+ if (start2 === 0) {
528
+ end2 = hourLength;
529
+ } else if (start2 === 3) {
530
+ start2 = hourLength + 1;
531
+ end2 = hourLength + minuteLength + 1;
532
+ } else {
533
+ start2 = hourLength + minuteLength + 2;
534
+ end2 = hourLength + minuteLength + secondLength + 2;
837
535
  }
838
536
  }
839
- if (props.format) {
840
- state.picker.state.format = props.format;
537
+ return { start: start2, end: end2 };
538
+ };
539
+ if (!pos || pos === "min") {
540
+ const value = state.refInput[0].value;
541
+ const res = adjust(value, start, end);
542
+ state.refInput[0].setSelectionRange(res.start, res.end);
543
+ state.refInput[0].focus();
544
+ } else if (pos === "max") {
545
+ const value = state.refInput[1].value;
546
+ const res = adjust(value, start, end);
547
+ state.refInput[1].setSelectionRange(res.start, res.end);
548
+ state.refInput[1].focus();
549
+ }
550
+ };
551
+ const mountPicker = ({ api, props, state, vm, updatePopper }) => () => {
552
+ state.picker = vm.$refs.picker;
553
+ state.picker.state.defaultValue = props.defaultValue;
554
+ state.picker.state.defaultTime = props.defaultTime;
555
+ state.picker.state.popperClass = props.popperClass;
556
+ state.picker.state.popperAppendToBody = props.popperAppendToBody;
557
+ state.picker.state.fnUpdatePopper = updatePopper;
558
+ state.picker.state.currentInstans = state.picker;
559
+ state.picker.state.timezone = state.timezone;
560
+ state.picker.state.timezoneData = state.timezoneData;
561
+ state.picker.state.showTimezone = props.showTimezone || state.timezone.isServiceTimezone;
562
+ state.picker.state.width = state.reference.getBoundingClientRect().width;
563
+ state.picker.state.timefmt = props.timeFormat || "";
564
+ state.picker.state.showTime = state.type === DATEPICKER.DateTime || state.type === DATEPICKER.DateTimeRange;
565
+ state.picker.state.selectionMode = state.selectionMode;
566
+ state.picker.state.defaultTimezone = props.defaultTimezone;
567
+ state.picker.state.unlinkPanels = props.unlinkPanels;
568
+ state.picker.state.emitDbTime = api.emitDbTime;
569
+ state.picker.state.arrowControl = state.arrowControl || props.timeArrowControl || props.arrowControl || false;
570
+ api.updateOptions();
571
+ state.picker.resetView && state.picker.resetView();
572
+ };
573
+ const updateOptions = ({ api, props, state }) => () => {
574
+ if (!state.picker) {
575
+ return;
576
+ }
577
+ const options = props.pickerOptions;
578
+ if (options && options.selectableRange) {
579
+ let ranges = options.selectableRange;
580
+ const parser = api.typeValueResolveMap().datetimerange.parser;
581
+ const format = DATEPICKER.DateFormats.timerange;
582
+ ranges = Array.isArray(ranges) ? ranges : [ranges];
583
+ state.picker.state.selectableRange = ranges.map((range) => parser(range, format, props.rangeSeparator));
584
+ }
585
+ for (const option in options) {
586
+ if (option in options && option !== DATEPICKER.SelectbaleRange) {
587
+ state.picker.state[option] = options[option];
841
588
  }
842
- };
589
+ }
590
+ if (props.format) {
591
+ state.picker.state.format = props.format;
592
+ }
843
593
  };
844
- export var valueEquals = function valueEquals(left, right) {
845
- var dateEquals = function dateEquals(a, b) {
846
- var bIsDate = b instanceof Date;
847
- var aIsDate = a instanceof Date;
594
+ const valueEquals = (left, right) => {
595
+ const dateEquals = (a, b) => {
596
+ const bIsDate = b instanceof Date;
597
+ const aIsDate = a instanceof Date;
848
598
  if (aIsDate && bIsDate) {
849
599
  return a.getTime() === b.getTime();
850
600
  }
@@ -853,213 +603,189 @@ export var valueEquals = function valueEquals(left, right) {
853
603
  }
854
604
  return false;
855
605
  };
856
- var aIsArray = left instanceof Array;
857
- var bIsArray = right instanceof Array;
606
+ const aIsArray = Array.isArray(left);
607
+ const bIsArray = Array.isArray(right);
858
608
  if (aIsArray && bIsArray) {
859
609
  if (left.length !== right.length) {
860
610
  return false;
861
611
  }
862
- return left.every(function (item, index) {
863
- return dateEquals(item, right[index]);
864
- });
612
+ return left.every((item, index) => dateEquals(item, right[index]));
865
613
  }
866
614
  if (!aIsArray && !bIsArray) {
867
615
  return dateEquals(left, right);
868
616
  }
869
617
  return false;
870
618
  };
871
- export var emitChange = function emitChange(_ref35) {
872
- var api = _ref35.api,
873
- dispatch = _ref35.dispatch,
874
- emit = _ref35.emit,
875
- props = _ref35.props,
876
- state = _ref35.state;
877
- return function (val) {
878
- if (!valueEquals(val, state.valueOnOpen)) {
879
- emit('change', val);
880
- state.valueOnOpen = val;
881
- if (props.validateEvent) {
882
- dispatch('FormItem', 'form.change', val);
883
- }
884
- api.emitDbTime(props.value);
619
+ const emitChange = ({ api, dispatch, emit, props, state }) => (val) => {
620
+ if (!valueEquals(val, state.valueOnOpen)) {
621
+ emit("change", val);
622
+ state.valueOnOpen = val;
623
+ if (props.validateEvent) {
624
+ dispatch("FormItem", "form.change", val);
885
625
  }
886
- };
887
- };
888
- export var emitInput = function emitInput(_ref36) {
889
- var api = _ref36.api,
890
- emit = _ref36.emit,
891
- props = _ref36.props,
892
- state = _ref36.state;
893
- return function (val) {
894
- var value = val;
895
- var _state$timezone2 = state.timezone,
896
- from = _state$timezone2.from,
897
- to = _state$timezone2.to;
898
- if (props.type === 'datetime') {
899
- value = getDateWithNewTimezone(value, to, from);
900
- } else if (props.type === 'datetimerange' && Array.isArray(value)) {
901
- value = value.map(function (val) {
902
- return getDateWithNewTimezone(val, to, from);
903
- });
904
- }
905
- var formatted = api.formatToValue(value) || val;
906
- if (!valueEquals(props.modelValue, formatted)) {
907
- emit('update:modelValue', formatted);
908
- }
909
- };
626
+ api.emitDbTime(props.value);
627
+ }
910
628
  };
911
- export var isValidValue = function isValidValue(_ref37) {
912
- var api = _ref37.api,
913
- state = _ref37.state;
914
- return function (value) {
915
- if (!state.picker) {
916
- api.mountPicker();
917
- }
918
- if (state.picker.isValidValue) {
919
- return value && state.picker.isValidValue(value);
920
- }
921
- return true;
922
- };
629
+ const emitInput = ({ api, emit, props, state }) => (val) => {
630
+ let value = val;
631
+ const { from, to } = state.timezone;
632
+ if (props.type === "datetime") {
633
+ value = getDateWithNewTimezone(value, to, from);
634
+ } else if (props.type === "datetimerange" && Array.isArray(value)) {
635
+ value = value.map((val2) => getDateWithNewTimezone(val2, to, from));
636
+ }
637
+ const formatted = api.formatToValue(value) || val;
638
+ if (!valueEquals(props.modelValue, formatted)) {
639
+ emit("update:modelValue", formatted);
640
+ }
923
641
  };
924
- export var watchIsRange = function watchIsRange(_ref38) {
925
- var api = _ref38.api,
926
- state = _ref38.state,
927
- TimePanel = _ref38.TimePanel,
928
- TimeRangePanel = _ref38.TimeRangePanel;
929
- return function (value) {
930
- state.type = value ? DATEPICKER.TimeRange : DATEPICKER.Time;
931
- state.panel = value ? TimeRangePanel : TimePanel;
642
+ const isValidValue = ({ api, state }) => (value) => {
643
+ if (!state.picker) {
932
644
  api.mountPicker();
933
- };
645
+ }
646
+ if (state.picker.isValidValue) {
647
+ return value && state.picker.isValidValue(value);
648
+ }
649
+ return true;
650
+ };
651
+ const watchIsRange = ({ api, state, TimePanel, TimeRangePanel }) => (value) => {
652
+ state.type = value ? DATEPICKER.TimeRange : DATEPICKER.Time;
653
+ state.panel = value ? TimeRangePanel : TimePanel;
654
+ api.mountPicker();
655
+ };
656
+ const getType = ({ props }) => () => {
657
+ if (props.componentName === DATEPICKER.DatePicker) {
658
+ return props.type;
659
+ } else if (props.componentName === DATEPICKER.TimePicker) {
660
+ return props.isRange ? DATEPICKER.TimeRange : DATEPICKER.Time;
661
+ }
662
+ return DATEPICKER.TimeSelect;
934
663
  };
935
- export var getType = function getType(_ref39) {
936
- var props = _ref39.props;
937
- return function () {
938
- if (props.componentName === DATEPICKER.DatePicker) {
939
- return props.type;
940
- } else if (props.componentName === DATEPICKER.TimePicker) {
941
- return props.isRange ? DATEPICKER.TimeRange : DATEPICKER.Time;
942
- }
943
- return DATEPICKER.TimeSelect;
944
- };
664
+ const watchModelValue = ({ api, props, state, dispatch }) => (value, oldValue) => {
665
+ api.emitChange(props.modelValue);
666
+ if (!valueEquals(value, oldValue) && !state.pickerVisible && props.validateEvent) {
667
+ dispatch("FormItem", "form.change", value);
668
+ }
945
669
  };
946
- export var watchModelValue = function watchModelValue(_ref40) {
947
- var api = _ref40.api,
948
- props = _ref40.props,
949
- state = _ref40.state,
950
- dispatch = _ref40.dispatch;
951
- return function (value, oldValue) {
952
- api.emitChange(props.modelValue);
953
- if (!valueEquals(value, oldValue) && !state.pickerVisible && props.validateEvent) {
954
- dispatch('FormItem', 'form.change', value);
670
+ const computedFormat = ({ props, utils }) => () => {
671
+ let { type, format } = props;
672
+ if (!format && utils.getDateFormat) {
673
+ const config = utils.getDateFormat() || {};
674
+ if (~["date", "dates", "daterange"].indexOf(type)) {
675
+ format = config.DateFormat;
955
676
  }
956
- };
957
- };
958
- export var computedFormat = function computedFormat(_ref41) {
959
- var props = _ref41.props,
960
- utils = _ref41.utils;
961
- return function () {
962
- var type = props.type,
963
- format = props.format;
964
- if (!format && utils.getDateFormat) {
965
- var config = utils.getDateFormat() || {};
966
- if (~['date', 'dates', 'daterange'].indexOf(type)) {
967
- format = config.DateFormat;
968
- }
969
- if (~['datetime', 'datetimerange'].indexOf(type)) {
970
- format = config.DateTimeFormat;
971
- }
677
+ if (~["datetime", "datetimerange"].indexOf(type)) {
678
+ format = config.DateTimeFormat;
972
679
  }
973
- return format;
974
- };
975
- };
976
- export var computedTriggerClass = function computedTriggerClass(_ref42) {
977
- var props = _ref42.props,
978
- state = _ref42.state;
979
- return function () {
980
- return props.suffixIcon || props.prefixIcon || (state.type.indexOf(DATEPICKER.Time) !== -1 ? DATEPICKER.IconTime : DATEPICKER.IconDate);
981
- };
982
- };
983
- export var computedHaveTrigger = function computedHaveTrigger(_ref43) {
984
- var props = _ref43.props;
985
- return function () {
986
- return typeof props.showTrigger !== 'undefined' ? props.showTrigger : DATEPICKER.TriggerTypes.indexOf(props.type) !== -1;
987
- };
988
- };
989
- export var intiPopper = function intiPopper(_ref44) {
990
- var props = _ref44.props,
991
- hooks = _ref44.hooks,
992
- vnode = _ref44.vnode;
993
- var reactive = hooks.reactive,
994
- watch = hooks.watch,
995
- toRefs = hooks.toRefs,
996
- onBeforeUnmount = hooks.onBeforeUnmount,
997
- onDeactivated = hooks.onDeactivated;
998
- var emit = vnode.emit,
999
- refs = vnode.refs,
1000
- slots = vnode.slots,
1001
- nextTick = vnode.nextTick;
1002
- var placementMap = DATEPICKER.PlacementMap;
680
+ }
681
+ return format;
682
+ };
683
+ const computedTriggerClass = ({ props, state }) => () => props.suffixIcon || props.prefixIcon || (state.type.includes(DATEPICKER.Time) ? DATEPICKER.IconTime : DATEPICKER.IconDate);
684
+ const computedHaveTrigger = ({ props }) => () => typeof props.showTrigger !== "undefined" ? props.showTrigger : DATEPICKER.TriggerTypes.includes(props.type);
685
+ const intiPopper = ({ props, hooks, vnode }) => {
686
+ const { reactive, watch, toRefs, onBeforeUnmount, onDeactivated } = hooks;
687
+ const { emit, refs, slots, nextTick } = vnode;
688
+ const placementMap = DATEPICKER.PlacementMap;
1003
689
  return userPopper({
1004
- reactive: reactive,
1005
- watch: watch,
1006
- emit: emit,
1007
- props: _objectSpread(_objectSpread({}, props), {}, {
1008
- popperOptions: {
1009
- boundariesPadding: 0,
1010
- gpuAcceleration: false
1011
- },
690
+ reactive,
691
+ watch,
692
+ emit,
693
+ props: __spreadProps(__spreadValues({}, props), {
694
+ popperOptions: { boundariesPadding: 0, gpuAcceleration: false },
1012
695
  visibleArrow: true,
1013
696
  offset: 0,
1014
697
  boundariesPadding: 5,
1015
698
  arrowOffset: 35,
1016
699
  placement: placementMap[props.align] || placementMap.left
1017
700
  }),
1018
- toRefs: toRefs,
1019
- refs: refs,
1020
- slots: slots,
1021
- nextTick: nextTick,
1022
- onBeforeUnmount: onBeforeUnmount,
1023
- onDeactivated: onDeactivated
701
+ toRefs,
702
+ refs,
703
+ slots,
704
+ nextTick,
705
+ onBeforeUnmount,
706
+ onDeactivated
1024
707
  });
1025
708
  };
1026
- export var emitDbTime = function emitDbTime(_ref45) {
1027
- var emit = _ref45.emit,
1028
- state = _ref45.state,
1029
- t = _ref45.t;
1030
- return function (date) {
1031
- var _state$timezone3 = state.timezone,
1032
- isServiceTimezone = _state$timezone3.isServiceTimezone,
1033
- from = _state$timezone3.from;
1034
- if (isServiceTimezone && !valueEquals(date, state.dbTime)) {
1035
- var hasDate = false;
1036
- var dbTime = [].concat(date).map(function (item) {
1037
- if (isDate(item)) {
1038
- hasDate = true;
1039
- var currentDate = getDateWithNewTimezone(item, getLocalTimezone(), from);
1040
- if (state.valueFormat) {
1041
- currentDate = formatDate(currentDate, state.valueFormat, t);
1042
- }
1043
- return currentDate;
709
+ const emitDbTime = ({ emit, state, t }) => (date) => {
710
+ const { isServiceTimezone, from } = state.timezone;
711
+ if (isServiceTimezone && !valueEquals(date, state.dbTime)) {
712
+ let hasDate = false;
713
+ const dbTime = [].concat(date).map((item) => {
714
+ if (isDate(item)) {
715
+ hasDate = true;
716
+ let currentDate = getDateWithNewTimezone(item, getLocalTimezone(), from);
717
+ if (state.valueFormat) {
718
+ currentDate = formatDate(currentDate, state.valueFormat, t);
1044
719
  }
1045
- return item;
1046
- });
1047
- state.dbTime = dbTime.length > 1 ? dbTime : dbTime[0];
1048
- hasDate && emit('input', state.dbTime);
1049
- }
1050
- };
720
+ return currentDate;
721
+ }
722
+ return item;
723
+ });
724
+ state.dbTime = dbTime.length > 1 ? dbTime : dbTime[0];
725
+ hasDate && emit("input", state.dbTime);
726
+ }
727
+ };
728
+ const initGlobalTimezone = ({ api, state, props }) => () => {
729
+ const { isServiceTimezone } = state.timezone;
730
+ if (isServiceTimezone) {
731
+ state.timezoneData = globalTimezone;
732
+ } else if (props.showTimezone) {
733
+ state.timezoneData = props.timezoneData ? extend(true, {}, props.timezoneData) : globalTimezone;
734
+ }
735
+ api.emitDbTime(props.value);
736
+ };
737
+ export {
738
+ blur,
739
+ computedFormat,
740
+ computedHaveTrigger,
741
+ computedTriggerClass,
742
+ dateFormatter,
743
+ dateParser,
744
+ displayValue,
745
+ emitChange,
746
+ emitDbTime,
747
+ emitInput,
748
+ firstInputId,
749
+ focus,
750
+ formatAsFormatAndType,
751
+ formatToString,
752
+ formatToValue,
753
+ getMode,
754
+ getPanel,
755
+ getTimezone,
756
+ getType,
757
+ getValueEmpty,
758
+ getValueFormat,
759
+ getWeekData,
760
+ handleChange,
761
+ handleClickIcon,
762
+ handleClose,
763
+ handleEndChange,
764
+ handleEndInput,
765
+ handleFocus,
766
+ handleKeydown,
767
+ handleMouseEnter,
768
+ handlePick,
769
+ handleSelectRange,
770
+ handleStartChange,
771
+ handleStartInput,
772
+ hidePicker,
773
+ initGlobalTimezone,
774
+ intiPopper,
775
+ isValidValue,
776
+ mountPicker,
777
+ parseAsFormatAndType,
778
+ parseString,
779
+ parseValue,
780
+ parsedValue,
781
+ rangeFormatter,
782
+ rangeParser,
783
+ secondInputId,
784
+ showPicker,
785
+ typeValueResolveMap,
786
+ updateOptions,
787
+ valueEquals,
788
+ watchIsRange,
789
+ watchModelValue,
790
+ watchPickerVisible
1051
791
  };
1052
- export var initGlobalTimezone = function initGlobalTimezone(_ref46) {
1053
- var api = _ref46.api,
1054
- state = _ref46.state,
1055
- props = _ref46.props;
1056
- return function () {
1057
- var isServiceTimezone = state.timezone.isServiceTimezone;
1058
- if (isServiceTimezone) {
1059
- state.timezoneData = globalTimezone;
1060
- } else if (props.showTimezone) {
1061
- state.timezoneData = props.timezoneData ? extend(true, {}, props.timezoneData) : globalTimezone;
1062
- }
1063
- api.emitDbTime(props.value);
1064
- };
1065
- };