@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/cascader/index.js CHANGED
@@ -1,509 +1,352 @@
1
- import _toArray from "@babel/runtime/helpers/toArray";
2
- import browser from '@opentiny/vue-renderless/common/browser';
3
- import { isNull } from '@opentiny/vue-renderless/common/type';
4
- import debounce from '@opentiny/vue-renderless/common/deps/debounce';
5
- import { isEqual } from '@opentiny/vue-renderless/common/object';
6
- import { addResizeListener } from '@opentiny/vue-renderless/common/deps/resize-event';
7
- import { KEY_CODE, CASCADER } from '@opentiny/vue-renderless/common';
8
- var initMigratingProps = function initMigratingProps() {
9
- return {
10
- expandTrigger: {
11
- newProp: CASCADER.PropsExpandTri,
12
- type: String
13
- },
14
- changeOnSelect: {
15
- newProp: CASCADER.PropsCheckStric,
16
- type: Boolean
17
- },
18
- hoverThreshold: {
19
- newProp: CASCADER.PropsHover,
20
- type: Number
21
- }
22
- };
23
- };
24
- var kebabCase = function kebabCase(str) {
25
- var hyphenateRE = /([^-])([A-Z])/g;
26
- return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
1
+ import "../chunk-PKUHTIDK.js";
2
+ import browser from "@opentiny/vue-renderless/common/browser";
3
+ import { isNull } from "@opentiny/vue-renderless/common/type";
4
+ import debounce from "@opentiny/vue-renderless/common/deps/debounce";
5
+ import { isEqual } from "@opentiny/vue-renderless/common/object";
6
+ import { addResizeListener } from "@opentiny/vue-renderless/common/deps/resize-event";
7
+ import { KEY_CODE, CASCADER } from "@opentiny/vue-renderless/common";
8
+ const initMigratingProps = () => ({
9
+ expandTrigger: { newProp: CASCADER.PropsExpandTri, type: String },
10
+ changeOnSelect: { newProp: CASCADER.PropsCheckStric, type: Boolean },
11
+ hoverThreshold: { newProp: CASCADER.PropsHover, type: Number }
12
+ });
13
+ const kebabCase = (str) => {
14
+ const hyphenateRE = /([^-])([A-Z])/g;
15
+ return str.replace(hyphenateRE, "$1-$2").replace(hyphenateRE, "$1-$2").toLowerCase();
27
16
  };
28
- export var getConfig = function getConfig(_ref) {
29
- var parent = _ref.parent,
30
- props = _ref.props;
31
- return function () {
32
- var config = props.props || {};
33
- var $attrs = parent.$attrs;
34
- var migratingProps = initMigratingProps();
35
- Object.keys(migratingProps).forEach(function (oldProp) {
36
- var _migratingProps$oldPr = migratingProps[oldProp],
37
- newProp = _migratingProps$oldPr.newProp,
38
- type = _migratingProps$oldPr.type;
39
- var oldValue = $attrs[oldProp] || $attrs[kebabCase(oldProp)];
40
- if (isNull(config[newProp]) && !isNull(oldProp)) {
41
- if (oldValue === '' && type === Boolean) {
42
- oldValue = true;
43
- }
44
- config[newProp] = oldValue;
17
+ const getConfig = ({ parent, props }) => () => {
18
+ const config = props.props || {};
19
+ const { $attrs } = parent;
20
+ const migratingProps = initMigratingProps();
21
+ Object.keys(migratingProps).forEach((oldProp) => {
22
+ const { newProp, type } = migratingProps[oldProp];
23
+ let oldValue = $attrs[oldProp] || $attrs[kebabCase(oldProp)];
24
+ if (isNull(config[newProp]) && !isNull(oldProp)) {
25
+ if (oldValue === "" && type === Boolean) {
26
+ oldValue = true;
45
27
  }
46
- });
47
- return config;
48
- };
49
- };
50
- export var computClearVisible = function computClearVisible(_ref2) {
51
- var props = _ref2.props,
52
- state = _ref2.state;
53
- return function () {
54
- if (!props.clearable || state.isDisabled || state.filtering || !state.inputHover) {
55
- return false;
28
+ config[newProp] = oldValue;
56
29
  }
57
- return state.multiple ? !!state.checkedNodes.filter(function (node) {
58
- return !node.isDisabled;
59
- }).length : !!state.presentText;
60
- };
30
+ });
31
+ return config;
61
32
  };
62
- export var computePresentContent = function computePresentContent(_ref3) {
63
- var api = _ref3.api,
64
- state = _ref3.state;
65
- return function () {
66
- if (state.config.multiple) {
67
- api.computePresentTags();
68
- state.presentText = state.presentTags.length ? ' ' : null;
69
- } else {
70
- api.computePresentText();
71
- }
72
- };
33
+ const computClearVisible = ({ props, state }) => () => {
34
+ if (!props.clearable || state.isDisabled || state.filtering || !state.inputHover) {
35
+ return false;
36
+ }
37
+ return state.multiple ? !!state.checkedNodes.filter((node) => !node.isDisabled).length : !!state.presentText;
73
38
  };
74
- export var watchValue = function watchValue(_ref4) {
75
- var api = _ref4.api,
76
- state = _ref4.state;
77
- return function (value) {
78
- if (!isEqual(value, state.checkedValue)) {
79
- state.checkedValue = value;
80
- api.computePresentContent();
81
- }
82
- };
39
+ const computePresentContent = ({ api, state }) => () => {
40
+ if (state.config.multiple) {
41
+ api.computePresentTags();
42
+ state.presentText = state.presentTags.length ? " " : null;
43
+ } else {
44
+ api.computePresentText();
45
+ }
83
46
  };
84
- export var watchCheckedValue = function watchCheckedValue(_ref5) {
85
- var api = _ref5.api,
86
- emit = _ref5.emit,
87
- state = _ref5.state;
88
- return function (value) {
89
- var _state$config = state.config,
90
- checkStrictly = _state$config.checkStrictly,
91
- multiple = _state$config.multiple;
47
+ const watchValue = ({ api, state }) => (value) => {
48
+ if (!isEqual(value, state.checkedValue)) {
49
+ state.checkedValue = value;
92
50
  api.computePresentContent();
93
- if (!multiple && !checkStrictly && state.dropDownVisible) {
94
- api.toggleDropDownVisible(false);
95
- }
96
- emit('update:modelValue', value);
97
- emit('change', value);
98
- setTimeout(api.updateStyle);
99
- };
51
+ }
52
+ };
53
+ const watchCheckedValue = ({ api, emit, state }) => (value) => {
54
+ const { checkStrictly, multiple } = state.config;
55
+ api.computePresentContent();
56
+ if (!multiple && !checkStrictly && state.dropDownVisible) {
57
+ api.toggleDropDownVisible(false);
58
+ }
59
+ emit("update:modelValue", value);
60
+ emit("change", value);
61
+ setTimeout(api.updateStyle);
100
62
  };
101
- export var isEmpty = function isEmpty(val) {
63
+ const isEmpty = (val) => {
102
64
  if (isNull(val)) {
103
65
  return true;
104
66
  }
105
- if (typeof val === 'boolean') {
67
+ if (typeof val === "boolean") {
106
68
  return false;
107
69
  }
108
- if (typeof val === 'number') {
70
+ if (typeof val === "number") {
109
71
  return !val;
110
72
  }
111
73
  if (val instanceof Error) {
112
- return val.message === '';
74
+ return val.message === "";
113
75
  }
114
- var type = Object.prototype.toString.call(val);
115
- if (~['[object String]', '[object Array]'].indexOf(type)) {
76
+ const type = Object.prototype.toString.call(val);
77
+ if (~["[object String]", "[object Array]"].indexOf(type)) {
116
78
  return !val.length;
117
79
  }
118
- if (~['[object File]', '[object Map]', '[object Set]'].indexOf(type)) {
80
+ if (~["[object File]", "[object Map]", "[object Set]"].indexOf(type)) {
119
81
  return !val.size;
120
82
  }
121
- if (type === '[object Object]') {
83
+ if (type === "[object Object]") {
122
84
  return !Object.keys(val).length;
123
85
  }
124
86
  return false;
125
87
  };
126
- export var selfMounted = function selfMounted(_ref6) {
127
- var api = _ref6.api,
128
- parent = _ref6.parent,
129
- props = _ref6.props,
130
- refs = _ref6.refs,
131
- state = _ref6.state;
132
- return function () {
133
- var input = refs.input;
134
- var inputSizeMap = {
135
- medium: 36,
136
- small: 32,
137
- mini: 28
138
- };
139
- input.$parent.popperElm = refs.popper;
140
- if (input && input.$el) {
141
- state.inputInitialHeight = input.$el.offsetHeight || inputSizeMap[state.realSize] || 30;
88
+ const selfMounted = ({ api, parent, props, refs, state }) => () => {
89
+ const { input } = refs;
90
+ const inputSizeMap = { medium: 36, small: 32, mini: 28 };
91
+ input.$parent.popperElm = refs.popper;
92
+ if (input && input.$el) {
93
+ state.inputInitialHeight = input.$el.offsetHeight || inputSizeMap[state.realSize] || 30;
94
+ }
95
+ if (!isEmpty(props.modelValue)) {
96
+ api.computePresentContent();
97
+ }
98
+ api.filterHandler = debounce(props.debounce, () => {
99
+ if (!state.inputValue) {
100
+ state.filtering = false;
101
+ return;
142
102
  }
143
- if (!isEmpty(props.modelValue)) {
144
- api.computePresentContent();
103
+ const before = props.beforeFilter(state.inputValue);
104
+ if (before && before.then) {
105
+ before.then(api.getSuggestions);
106
+ } else if (before !== false) {
107
+ api.getSuggestions();
108
+ } else {
109
+ state.filtering = false;
145
110
  }
146
- api.filterHandler = debounce(props.debounce, function () {
147
- if (!state.inputValue) {
148
- state.filtering = false;
149
- return;
150
- }
151
- var before = props.beforeFilter(state.inputValue);
152
- if (before && before.then) {
153
- before.then(api.getSuggestions);
154
- } else if (before !== false) {
155
- api.getSuggestions();
156
- } else {
157
- state.filtering = false;
158
- }
159
- });
160
- addResizeListener(parent.$el, api.updateStyle);
161
- };
111
+ });
112
+ addResizeListener(parent.$el, api.updateStyle);
162
113
  };
163
- export var toggleDropDownVisible = function toggleDropDownVisible(_ref7) {
164
- var emit = _ref7.emit,
165
- nextTick = _ref7.nextTick,
166
- refs = _ref7.refs,
167
- state = _ref7.state,
168
- updatePopper = _ref7.updatePopper;
169
- return function (visible) {
170
- if (state.isDisabled) {
171
- return;
172
- }
173
- var input = refs.input;
174
- visible = !isNull(visible) ? visible : !state.dropDownVisible;
175
- if (visible !== state.dropDownVisible) {
176
- state.dropDownVisible = visible;
177
- if (visible) {
178
- nextTick(function () {
179
- updatePopper();
180
- state.panel.scrollIntoView();
181
- });
182
- }
183
- input && input.getInput && input.getInput().setAttribute('aria-expanded', visible);
184
- emit('visible-change', visible);
114
+ const toggleDropDownVisible = ({ emit, nextTick, refs, state, updatePopper }) => (visible) => {
115
+ if (state.isDisabled) {
116
+ return;
117
+ }
118
+ const { input } = refs;
119
+ visible = !isNull(visible) ? visible : !state.dropDownVisible;
120
+ if (visible !== state.dropDownVisible) {
121
+ state.dropDownVisible = visible;
122
+ if (visible) {
123
+ nextTick(() => {
124
+ updatePopper();
125
+ state.panel.scrollIntoView();
126
+ });
185
127
  }
186
- };
128
+ input && input.getInput && input.getInput().setAttribute("aria-expanded", visible);
129
+ emit("visible-change", visible);
130
+ }
187
131
  };
188
- export var handleDropdownLeave = function handleDropdownLeave(state) {
189
- return function () {
190
- state.filtering = false;
191
- state.inputValue = state.presentText;
192
- };
132
+ const handleDropdownLeave = (state) => () => {
133
+ state.filtering = false;
134
+ state.inputValue = state.presentText;
193
135
  };
194
- export var handleKeyDown = function handleKeyDown(_ref8) {
195
- var api = _ref8.api;
196
- return function (event) {
197
- switch (event.keyCode) {
198
- case KEY_CODE.Enter:
199
- api.toggleDropDownVisible();
200
- break;
201
- case KEY_CODE.ArrowDown:
202
- api.toggleDropDownVisible(true);
203
- api.focusFirstNode();
204
- event.preventDefault();
205
- break;
206
- case KEY_CODE.Escape:
207
- case KEY_CODE.Tab:
208
- api.toggleDropDownVisible(false);
209
- break;
210
- default:
211
- break;
212
- }
213
- };
136
+ const handleKeyDown = ({ api }) => (event) => {
137
+ switch (event.keyCode) {
138
+ case KEY_CODE.Enter:
139
+ api.toggleDropDownVisible();
140
+ break;
141
+ case KEY_CODE.ArrowDown:
142
+ api.toggleDropDownVisible(true);
143
+ api.focusFirstNode();
144
+ event.preventDefault();
145
+ break;
146
+ case KEY_CODE.Escape:
147
+ case KEY_CODE.Tab:
148
+ api.toggleDropDownVisible(false);
149
+ break;
150
+ default:
151
+ break;
152
+ }
214
153
  };
215
- export var handleFocus = function handleFocus(emit) {
216
- return function (e) {
217
- emit('focus', e);
218
- };
154
+ const handleFocus = (emit) => (e) => {
155
+ emit("focus", e);
219
156
  };
220
- export var handleBlur = function handleBlur(_ref9) {
221
- var constants = _ref9.constants,
222
- dispatch = _ref9.dispatch,
223
- emit = _ref9.emit,
224
- state = _ref9.state;
225
- return function (e) {
226
- dispatch(constants.COMPONENT_NAME.FormItem, constants.EVENT_NAME.FormBlur, [state.multiple ? state.presentText : state.inputValue]);
227
- emit('blur', e);
228
- };
157
+ const handleBlur = ({ constants, dispatch, emit, state }) => (e) => {
158
+ dispatch(constants.COMPONENT_NAME.FormItem, constants.EVENT_NAME.FormBlur, [state.multiple ? state.presentText : state.inputValue]);
159
+ emit("blur", e);
229
160
  };
230
- export var handleInput = function handleInput(_ref10) {
231
- var api = _ref10.api,
232
- state = _ref10.state,
233
- refs = _ref10.refs;
234
- return function (val, event) {
235
- event = event || window.event;
236
- if (!event) {
237
- return;
238
- }
239
- var reference = refs.reference;
240
- var key = 'init-flag';
241
- var value = 'true';
242
- var isIE = browser.name === 'ie';
243
- if (isIE && reference.getAttribute(key) !== value && !event.target.value) {
244
- reference.setAttribute(key, value);
245
- return;
246
- }
247
- !state.dropDownVisible && api.toggleDropDownVisible(true);
248
- state.presentText = val;
249
- if (event && event.isComposing) {
250
- return;
251
- }
252
- if (val) {
253
- api.filterHandler();
254
- } else {
255
- state.filtering = false;
256
- }
257
- };
161
+ const handleInput = ({ api, state, refs }) => (val, event) => {
162
+ event = event || window.event;
163
+ if (!event) {
164
+ return;
165
+ }
166
+ const reference = refs.reference;
167
+ const key = "init-flag";
168
+ const value = "true";
169
+ const isIE = browser.name === "ie";
170
+ if (isIE && reference.getAttribute(key) !== value && !event.target.value) {
171
+ reference.setAttribute(key, value);
172
+ return;
173
+ }
174
+ !state.dropDownVisible && api.toggleDropDownVisible(true);
175
+ state.presentText = val;
176
+ if (event && event.isComposing) {
177
+ return;
178
+ }
179
+ if (val) {
180
+ api.filterHandler();
181
+ } else {
182
+ state.filtering = false;
183
+ }
258
184
  };
259
- export var handleClear = function handleClear(state) {
260
- return function () {
261
- state.presentText = '';
262
- state.panel.clearCheckedNodes();
263
- };
185
+ const handleClear = (state) => () => {
186
+ state.presentText = "";
187
+ state.panel.clearCheckedNodes();
264
188
  };
265
- export var handleExpandChange = function handleExpandChange(_ref11) {
266
- var constants = _ref11.constants,
267
- dispatch = _ref11.dispatch,
268
- emit = _ref11.emit,
269
- nextTick = _ref11.nextTick,
270
- state = _ref11.state,
271
- updatePopper = _ref11.updatePopper;
272
- return function (value) {
273
- nextTick(function () {
274
- dispatch(constants.COMPONENT_NAME.FormItem, constants.EVENT_NAME.FormBlur, [state.multiple ? state.presentText : state.inputValue]);
275
- updatePopper(state.panel.$parent);
276
- });
277
- emit('expand-change', value);
278
- emit('active-item-change', value);
279
- };
189
+ const handleExpandChange = ({ constants, dispatch, emit, nextTick, state, updatePopper }) => (value) => {
190
+ nextTick(() => {
191
+ dispatch(constants.COMPONENT_NAME.FormItem, constants.EVENT_NAME.FormBlur, [state.multiple ? state.presentText : state.inputValue]);
192
+ updatePopper(state.panel.$parent);
193
+ });
194
+ emit("expand-change", value);
195
+ emit("active-item-change", value);
280
196
  };
281
- export var focusFirstNode = function focusFirstNode(_ref12) {
282
- var refs = _ref12.refs,
283
- state = _ref12.state;
284
- return function () {
285
- var popper = refs.popper,
286
- suggestionPanel = refs.suggestionPanel;
287
- var firstNode = null;
288
- if (state.filtering && suggestionPanel) {
289
- firstNode = suggestionPanel.$el.querySelector(CASCADER.SugItem);
290
- } else {
291
- var firstMenu = popper.querySelector(CASCADER.CascaderMenu);
292
- firstNode = firstMenu.querySelector(CASCADER.CascaderNodeTab);
293
- }
294
- if (firstNode) {
295
- firstNode.focus();
296
- !state.filtering && firstNode.click();
297
- }
298
- };
197
+ const focusFirstNode = ({ refs, state }) => () => {
198
+ const { popper, suggestionPanel } = refs;
199
+ let firstNode = null;
200
+ if (state.filtering && suggestionPanel) {
201
+ firstNode = suggestionPanel.$el.querySelector(CASCADER.SugItem);
202
+ } else {
203
+ const firstMenu = popper.querySelector(CASCADER.CascaderMenu);
204
+ firstNode = firstMenu.querySelector(CASCADER.CascaderNodeTab);
205
+ }
206
+ if (firstNode) {
207
+ firstNode.focus();
208
+ !state.filtering && firstNode.click();
209
+ }
299
210
  };
300
- export var computePresentText = function computePresentText(_ref13) {
301
- var props = _ref13.props,
302
- state = _ref13.state;
303
- return function () {
304
- if (!isEmpty(state.checkedValue)) {
305
- var node = state.panel.getNodeByValue(state.checkedValue);
306
- if (node && (state.config.checkStrictly || node.isLeaf)) {
307
- state.presentText = node.getText(props.showAllLevels, props.separator);
308
- return;
309
- }
211
+ const computePresentText = ({ props, state }) => () => {
212
+ if (!isEmpty(state.checkedValue)) {
213
+ const node = state.panel.getNodeByValue(state.checkedValue);
214
+ if (node && (state.config.checkStrictly || node.isLeaf)) {
215
+ state.presentText = node.getText(props.showAllLevels, props.separator);
216
+ return;
310
217
  }
311
- state.inputValue = null;
312
- state.presentText = null;
313
- };
218
+ }
219
+ state.inputValue = null;
220
+ state.presentText = null;
314
221
  };
315
- export var computePresentTags = function computePresentTags(_ref14) {
316
- var api = _ref14.api,
317
- props = _ref14.props,
318
- state = _ref14.state;
319
- return function () {
320
- var checkedNodes = api.getCheckedNodes(state.leafOnly);
321
- var tags = [];
322
- var genTag = function genTag(node) {
323
- var text = node.getText(props.showAllLevels, props.separator);
324
- var closable = !state.isDisabled && !node.isDisabled;
325
- return {
326
- node: node,
327
- key: node.uid,
328
- text: text,
329
- hitState: false,
330
- closable: closable
331
- };
332
- };
333
- if (checkedNodes.length) {
334
- var _checkedNodes = _toArray(checkedNodes),
335
- first = _checkedNodes[0],
336
- rest = _checkedNodes.slice(1);
337
- var restCount = rest.length;
338
- tags.push(genTag(first));
339
- if (restCount) {
340
- if (props.collapseTags) {
341
- tags.push({
342
- key: -1,
343
- text: "+ ".concat(restCount),
344
- closable: false
345
- });
346
- } else {
347
- rest.forEach(function (node) {
348
- return tags.push(genTag(node));
349
- });
350
- }
222
+ const computePresentTags = ({ api, props, state }) => () => {
223
+ const checkedNodes = api.getCheckedNodes(state.leafOnly);
224
+ const tags = [];
225
+ const genTag = (node) => {
226
+ const text = node.getText(props.showAllLevels, props.separator);
227
+ const closable = !state.isDisabled && !node.isDisabled;
228
+ return { node, key: node.uid, text, hitState: false, closable };
229
+ };
230
+ if (checkedNodes.length) {
231
+ const [first, ...rest] = checkedNodes;
232
+ const restCount = rest.length;
233
+ tags.push(genTag(first));
234
+ if (restCount) {
235
+ if (props.collapseTags) {
236
+ tags.push({ key: -1, text: `+ ${restCount}`, closable: false });
237
+ } else {
238
+ rest.forEach((node) => tags.push(genTag(node)));
351
239
  }
352
240
  }
353
- state.checkedNodes = checkedNodes;
354
- state.presentTags = tags;
355
- };
241
+ }
242
+ state.checkedNodes = checkedNodes;
243
+ state.presentTags = tags;
356
244
  };
357
- export var getSuggestions = function getSuggestions(_ref15) {
358
- var nextTick = _ref15.nextTick,
359
- props = _ref15.props,
360
- state = _ref15.state,
361
- updatePopper = _ref15.updatePopper;
362
- return function () {
363
- var filterMethod = null;
364
- if (!(props.filterMethod && typeof props.filterMethod === 'function')) {
365
- filterMethod = function filterMethod(node, keyword) {
366
- return ~node.text.indexOf(keyword);
367
- };
368
- } else {
369
- filterMethod = props.filterMethod;
245
+ const getSuggestions = ({ nextTick, props, state, updatePopper }) => () => {
246
+ let filterMethod = null;
247
+ if (!(props.filterMethod && typeof props.filterMethod === "function")) {
248
+ filterMethod = (node, keyword) => ~node.text.indexOf(keyword);
249
+ } else {
250
+ filterMethod = props.filterMethod;
251
+ }
252
+ const suggestions = state.panel.getFlattedNodes(state.leafOnly).filter((node) => {
253
+ if (node.isDisabled) {
254
+ return false;
370
255
  }
371
- var suggestions = state.panel.getFlattedNodes(state.leafOnly).filter(function (node) {
372
- if (node.isDisabled) {
373
- return false;
374
- }
375
- node.text = node.getText(props.showAllLevels, props.separator) || '';
376
- return filterMethod(node, state.inputValue);
256
+ node.text = node.getText(props.showAllLevels, props.separator) || "";
257
+ return filterMethod(node, state.inputValue);
258
+ });
259
+ if (state.multiple) {
260
+ state.presentTags.forEach((tag) => {
261
+ tag.hitState = false;
377
262
  });
378
- if (state.multiple) {
379
- state.presentTags.forEach(function (tag) {
380
- tag.hitState = false;
381
- });
382
- } else {
383
- suggestions.forEach(function (node) {
384
- node.checked = isEqual(state.checkedValue, node.getValueByOption());
385
- });
386
- }
387
- state.filtering = true;
388
- state.suggestions = suggestions;
389
- nextTick(function () {
390
- return updatePopper();
263
+ } else {
264
+ suggestions.forEach((node) => {
265
+ node.checked = isEqual(state.checkedValue, node.getValueByOption());
391
266
  });
392
- };
393
- };
394
- export var handleSuggestionKeyDown = function handleSuggestionKeyDown(_ref16) {
395
- var api = _ref16.api;
396
- return function (event) {
397
- event = event || window.event;
398
- if (!event) {
399
- return;
400
- }
401
- var _event = event,
402
- keyCode = _event.keyCode,
403
- target = _event.target;
404
- if (keyCode === KEY_CODE.Enter) {
405
- target.click();
406
- } else if (keyCode === KEY_CODE.ArrowUp) {
407
- var prev = target.previousElementSibling;
408
- prev && prev.focus();
409
- } else if (keyCode === KEY_CODE.ArrowDown) {
410
- var next = target.nextElementSibling;
411
- next && next.focus();
412
- } else if (~[KEY_CODE.Escape, KEY_CODE.Tab].indexOf(keyCode)) {
413
- api.toggleDropDownVisible(false);
414
- }
415
- };
267
+ }
268
+ state.filtering = true;
269
+ state.suggestions = suggestions;
270
+ nextTick(() => updatePopper());
416
271
  };
417
- export var handleDelete = function handleDelete(_ref17) {
418
- var api = _ref17.api,
419
- state = _ref17.state;
420
- return function () {
421
- var lastIndex = state.presentTags.length - 1;
422
- var lastTag = state.presentTags[lastIndex];
423
- state.pressDeleteCount = state.inputValue ? 0 : state.pressDeleteCount + 1;
424
- if (!lastTag) {
425
- return;
426
- }
427
- if (state.pressDeleteCount) {
428
- if (lastTag.hitState) {
429
- api.deleteTag(lastIndex);
430
- } else {
431
- lastTag.hitState = true;
432
- }
433
- }
434
- };
272
+ const handleSuggestionKeyDown = ({ api }) => (event) => {
273
+ event = event || window.event;
274
+ if (!event) {
275
+ return;
276
+ }
277
+ const { keyCode, target } = event;
278
+ if (keyCode === KEY_CODE.Enter) {
279
+ target.click();
280
+ } else if (keyCode === KEY_CODE.ArrowUp) {
281
+ const prev = target.previousElementSibling;
282
+ prev && prev.focus();
283
+ } else if (keyCode === KEY_CODE.ArrowDown) {
284
+ const next = target.nextElementSibling;
285
+ next && next.focus();
286
+ } else if (~[KEY_CODE.Escape, KEY_CODE.Tab].indexOf(keyCode)) {
287
+ api.toggleDropDownVisible(false);
288
+ }
435
289
  };
436
- export var handleSuggestionClick = function handleSuggestionClick(_ref18) {
437
- var api = _ref18.api,
438
- state = _ref18.state;
439
- return function (index) {
440
- var targetNode = state.suggestions[index];
441
- if (state.multiple) {
442
- var checked = targetNode.checked;
443
- targetNode.doCheck(!checked);
444
- state.panel.calculateMultiCheckedValue();
290
+ const handleDelete = ({ api, state }) => () => {
291
+ const lastIndex = state.presentTags.length - 1;
292
+ const lastTag = state.presentTags[lastIndex];
293
+ state.pressDeleteCount = state.inputValue ? 0 : state.pressDeleteCount + 1;
294
+ if (!lastTag) {
295
+ return;
296
+ }
297
+ if (state.pressDeleteCount) {
298
+ if (lastTag.hitState) {
299
+ api.deleteTag(lastIndex);
445
300
  } else {
446
- state.checkedValue = targetNode.getValueByOption();
447
- api.toggleDropDownVisible(false);
301
+ lastTag.hitState = true;
448
302
  }
449
- };
303
+ }
450
304
  };
451
- export var deleteTag = function deleteTag(_ref19) {
452
- var emit = _ref19.emit,
453
- state = _ref19.state;
454
- return function (index) {
455
- var val = state.checkedValue[index];
456
- state.checkedValue = state.checkedValue.filter(function (n, i) {
457
- return i !== index;
458
- });
459
- emit('remove-tag', val);
460
- };
305
+ const handleSuggestionClick = ({ api, state }) => (index) => {
306
+ const targetNode = state.suggestions[index];
307
+ if (state.multiple) {
308
+ const { checked } = targetNode;
309
+ targetNode.doCheck(!checked);
310
+ state.panel.calculateMultiCheckedValue();
311
+ } else {
312
+ state.checkedValue = targetNode.getValueByOption();
313
+ api.toggleDropDownVisible(false);
314
+ }
461
315
  };
462
- export var updateStyle = function updateStyle(_ref20) {
463
- var parent = _ref20.parent,
464
- refs = _ref20.refs,
465
- state = _ref20.state,
466
- updatePopper = _ref20.updatePopper;
467
- return function () {
468
- var $el = parent.$el;
469
- var suggestionPanel = refs.suggestionPanel;
470
- var inputInner = $el.querySelector(CASCADER.InputClass);
471
- if (!inputInner) {
472
- return;
473
- }
474
- var tags = $el.querySelector(CASCADER.TagClass);
475
- var suggestionPanelEl = null;
476
- if (suggestionPanel && (suggestionPanelEl = suggestionPanel.$el)) {
477
- var suggestionList = suggestionPanelEl.querySelector(CASCADER.ListClass);
478
- suggestionList.style.minWidth = inputInner.offsetWidth + 'px';
479
- }
480
- if (tags) {
481
- var offsetHeight = tags.offsetHeight;
482
- var height = Math.max(offsetHeight + 6, state.inputInitialHeight) + 'px';
483
- inputInner.style.height = height;
484
- updatePopper();
485
- }
486
- };
316
+ const deleteTag = ({ emit, state }) => (index) => {
317
+ const val = state.checkedValue[index];
318
+ state.checkedValue = state.checkedValue.filter((n, i) => i !== index);
319
+ emit("remove-tag", val);
487
320
  };
488
- export var getCheckedNodes = function getCheckedNodes(state) {
489
- return function (leafOnly) {
490
- return state.panel.getCheckedNodes(leafOnly, state.checkedValue);
491
- };
321
+ const updateStyle = ({ parent, refs, state, updatePopper }) => () => {
322
+ const $el = parent.$el;
323
+ const { suggestionPanel } = refs;
324
+ const inputInner = $el.querySelector(CASCADER.InputClass);
325
+ if (!inputInner) {
326
+ return;
327
+ }
328
+ const tags = $el.querySelector(CASCADER.TagClass);
329
+ let suggestionPanelEl = null;
330
+ if (suggestionPanel && (suggestionPanelEl = suggestionPanel.$el)) {
331
+ const suggestionList = suggestionPanelEl.querySelector(CASCADER.ListClass);
332
+ suggestionList.style.minWidth = inputInner.offsetWidth + "px";
333
+ }
334
+ if (tags) {
335
+ const offsetHeight = tags.offsetHeight;
336
+ const height = Math.max(offsetHeight + 6, state.inputInitialHeight) + "px";
337
+ inputInner.style.height = height;
338
+ updatePopper();
339
+ }
492
340
  };
493
- export var setInputHeightToTag = function setInputHeightToTag(_ref21) {
494
- var nextTick = _ref21.nextTick,
495
- parent = _ref21.parent;
496
- return function () {
497
- nextTick(function () {
498
- var parentEl = parent.$el;
499
- var height = parentEl.querySelector(CASCADER.TagClass).offsetHeight + 6 + 'px';
500
- parentEl.querySelector(CASCADER.InputClass).style.height = height;
501
- });
502
- };
341
+ const getCheckedNodes = (state) => (leafOnly) => state.panel.getCheckedNodes(leafOnly, state.checkedValue);
342
+ const setInputHeightToTag = ({ nextTick, parent }) => () => {
343
+ nextTick(() => {
344
+ const parentEl = parent.$el;
345
+ const height = parentEl.querySelector(CASCADER.TagClass).offsetHeight + 6 + "px";
346
+ parentEl.querySelector(CASCADER.InputClass).style.height = height;
347
+ });
503
348
  };
504
- export var presentTextHandler = function presentTextHandler(_ref22) {
505
- var state = _ref22.state,
506
- value = _ref22.value;
349
+ const presentTextHandler = ({ state, value }) => {
507
350
  if (state.inputValue) {
508
351
  if (state.inputValue !== value) {
509
352
  state.inputValue = value;
@@ -514,12 +357,38 @@ export var presentTextHandler = function presentTextHandler(_ref22) {
514
357
  }
515
358
  }
516
359
  };
517
- export var handleBeforeUpdate = function handleBeforeUpdate(_ref23) {
518
- var props = _ref23.props,
519
- api = _ref23.api;
520
- return function () {
521
- if (!isEmpty(props.modelValue)) {
522
- api.computePresentContent();
523
- }
524
- };
525
- };
360
+ const handleBeforeUpdate = ({ props, api }) => () => {
361
+ if (!isEmpty(props.modelValue)) {
362
+ api.computePresentContent();
363
+ }
364
+ };
365
+ export {
366
+ computClearVisible,
367
+ computePresentContent,
368
+ computePresentTags,
369
+ computePresentText,
370
+ deleteTag,
371
+ focusFirstNode,
372
+ getCheckedNodes,
373
+ getConfig,
374
+ getSuggestions,
375
+ handleBeforeUpdate,
376
+ handleBlur,
377
+ handleClear,
378
+ handleDelete,
379
+ handleDropdownLeave,
380
+ handleExpandChange,
381
+ handleFocus,
382
+ handleInput,
383
+ handleKeyDown,
384
+ handleSuggestionClick,
385
+ handleSuggestionKeyDown,
386
+ isEmpty,
387
+ presentTextHandler,
388
+ selfMounted,
389
+ setInputHeightToTag,
390
+ toggleDropDownVisible,
391
+ updateStyle,
392
+ watchCheckedValue,
393
+ watchValue
394
+ };