@opentiny/vue-renderless 3.6.0-alpha.1 → 3.6.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +7 -0
  2. package/action-menu/index.js +15 -10
  3. package/action-menu/vue.js +19 -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 +74 -117
  191. package/dropdown-menu/index.js +85 -111
  192. package/dropdown-menu/vue.js +23 -33
  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 +152 -215
  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 -76
  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 +117 -127
  370. package/pull-refresh/vue.js +39 -55
  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 +163 -236
  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 -175
  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/nav-menu/index.js CHANGED
@@ -1,457 +1,323 @@
1
- import _typeof from "@babel/runtime/helpers/typeof";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import { isEmptyObject, isObject } from '@opentiny/vue-renderless/common/type';
5
- import PopupManager from '@opentiny/vue-renderless/common/deps/popup-manager';
6
- import { mapTree } from '@opentiny/vue-renderless/grid/static';
7
- import { transformTreeData } from '@opentiny/vue-renderless/common/array';
8
- import { on, off } from '@opentiny/vue-renderless/common/deps/dom';
9
- import { xss } from '@opentiny/vue-renderless/common/xss.js';
10
- var nextZIndex = PopupManager.nextZIndex;
11
- export var computedIsShowMore = function computedIsShowMore(_ref) {
12
- var props = _ref.props,
13
- state = _ref.state;
14
- return function () {
15
- return !/^(retract|fixed|hidden)$/.test(props.overflow) && state.more && state.more.length;
16
- };
17
- };
18
- export var computedPopClass = function computedPopClass(state) {
19
- return function () {
20
- return !state.showMore && state.subMenus && state.subMenus.length === 1 ? 'single' : '';
21
- };
22
- };
23
- export var computedSubMenus = function computedSubMenus(state) {
24
- return function () {
25
- var arr = state.subMenu;
26
- if (state.subMenu && !isEmptyObject(state.subMenu)) {
27
- if (!state.subMenu.map(function (item) {
28
- return item.children && !isEmptyObject(item.children);
29
- }).reduce(function (pre, cur) {
30
- return pre || cur;
31
- })) {
32
- arr = [{
33
- children: state.subMenu
34
- }];
35
- }
1
+ import "../chunk-PKUHTIDK.js";
2
+ import { isEmptyObject, isObject } from "@opentiny/vue-renderless/common/type";
3
+ import PopupManager from "@opentiny/vue-renderless/common/deps/popup-manager";
4
+ import { mapTree } from "@opentiny/vue-renderless/grid/static";
5
+ import { transformTreeData } from "@opentiny/vue-renderless/common/array";
6
+ import { on, off } from "@opentiny/vue-renderless/common/deps/dom";
7
+ import { xss } from "@opentiny/vue-renderless/common/xss.js";
8
+ const { nextZIndex } = PopupManager;
9
+ const computedIsShowMore = ({ props, state }) => () => !/^(retract|fixed|hidden)$/.test(props.overflow) && state.more && state.more.length;
10
+ const computedPopClass = (state) => () => !state.showMore && state.subMenus && state.subMenus.length === 1 ? "single" : "";
11
+ const computedSubMenus = (state) => () => {
12
+ let arr = state.subMenu;
13
+ if (state.subMenu && !isEmptyObject(state.subMenu)) {
14
+ if (!state.subMenu.map((item) => item.children && !isEmptyObject(item.children)).reduce((pre, cur) => pre || cur)) {
15
+ arr = [{ children: state.subMenu }];
36
16
  }
37
- return arr;
38
- };
39
- };
40
- export var computedMenuStyle = function computedMenuStyle(_ref2) {
41
- var props = _ref2.props,
42
- state = _ref2.state;
43
- return function () {
44
- var result = {
45
- maxWidth: "".concat(state.width, "px")
46
- };
47
- if (props.overflow === 'retract') {
48
- result.width = '0px';
49
- }
50
- return result;
51
- };
52
- };
53
- export var computedPopStyle = function computedPopStyle(state) {
54
- return function () {
55
- return {
56
- top: "".concat(state.popMenuTop, "px")
57
- };
58
- };
17
+ }
18
+ return arr;
59
19
  };
60
- export var watchWidth = function watchWidth(_ref3) {
61
- var api = _ref3.api,
62
- nextTick = _ref3.nextTick;
63
- return function () {
64
- return nextTick(function () {
65
- return api.classify();
66
- });
20
+ const computedMenuStyle = ({ props, state }) => () => {
21
+ let result = {
22
+ maxWidth: `${state.width}px`
67
23
  };
24
+ if (props.overflow === "retract") {
25
+ result.width = "0px";
26
+ }
27
+ return result;
68
28
  };
69
- var CloneObject = function () {
70
- function CloneObject(json, props) {
71
- _classCallCheck(this, CloneObject);
29
+ const computedPopStyle = (state) => () => ({
30
+ top: `${state.popMenuTop}px`
31
+ });
32
+ const watchWidth = ({ api, nextTick }) => () => nextTick(() => api.classify());
33
+ class CloneObject {
34
+ constructor(json, props) {
72
35
  this.props = props;
73
36
  if (json) {
74
37
  this.data = this.getType(json);
75
38
  this.traverse(json, this.data);
76
39
  }
77
40
  }
78
- _createClass(CloneObject, [{
79
- key: "traverse",
80
- value: function traverse(node, newObject) {
81
- if (/^(string|undefined)$/.test(_typeof(node)) || node === null) {
82
- newObject = node;
83
- } else if (Array.isArray(node)) {
84
- this.traverseArray(node, newObject);
85
- } else if (_typeof(node) === 'object') {
86
- this.traverseObject(node, newObject);
87
- }
88
- return this;
41
+ traverse(node, newObject) {
42
+ if (/^(string|undefined)$/.test(typeof node) || node === null) {
43
+ newObject = node;
44
+ } else if (Array.isArray(node)) {
45
+ this.traverseArray(node, newObject);
46
+ } else if (typeof node === "object") {
47
+ this.traverseObject(node, newObject);
89
48
  }
90
- }, {
91
- key: "traverseArray",
92
- value: function traverseArray(node, newObject) {
93
- for (var i = 0; i < node.length; i++) {
94
- newObject.push(this.getType(node[i]));
95
- if (node[i] && _typeof(node[i]) === 'object') {
96
- this.traverse(node[i], newObject[i]);
97
- }
49
+ return this;
50
+ }
51
+ traverseArray(node, newObject) {
52
+ for (let i = 0; i < node.length; i++) {
53
+ newObject.push(this.getType(node[i]));
54
+ if (node[i] && typeof node[i] === "object") {
55
+ this.traverse(node[i], newObject[i]);
98
56
  }
99
57
  }
100
- }, {
101
- key: "traverseObject",
102
- value: function traverseObject(node, newObject) {
103
- var _this = this;
104
- Object.keys(node).forEach(function (key) {
105
- if (/^(name|url|route|title|name|children)$/.test(key)) {
106
- var alias = key;
107
- if (key === 'url') {
108
- if (!(_this.props.prevent || _this.props.allowFullUrl)) {
109
- alias = 'route';
110
- }
111
- }
112
- if (key === 'name') {
113
- alias = 'title';
114
- }
115
- newObject[alias] = _this.getType(node[key]);
116
- if (newObject[alias] && _typeof(newObject[alias]) === 'object') {
117
- _this.traverse(node[key], newObject[alias]);
58
+ }
59
+ traverseObject(node, newObject) {
60
+ Object.keys(node).forEach((key) => {
61
+ if (/^(name|url|route|title|name|children)$/.test(key)) {
62
+ let alias = key;
63
+ if (key === "url") {
64
+ if (!(this.props.prevent || this.props.allowFullUrl)) {
65
+ alias = "route";
118
66
  }
119
67
  }
120
- });
121
- }
122
- }, {
123
- key: "getType",
124
- value: function getType(object) {
125
- var result;
126
- if (/^(string|undefined)$/.test(_typeof(object)) || object === null) {
127
- result = object;
128
- } else if (Array.isArray(object)) {
129
- result = [];
130
- } else if (_typeof(object) === 'object') {
131
- result = {};
68
+ if (key === "name") {
69
+ alias = "title";
70
+ }
71
+ newObject[alias] = this.getType(node[key]);
72
+ if (newObject[alias] && typeof newObject[alias] === "object") {
73
+ this.traverse(node[key], newObject[alias]);
74
+ }
132
75
  }
133
- return result;
76
+ });
77
+ }
78
+ getType(object) {
79
+ let result;
80
+ if (/^(string|undefined)$/.test(typeof object) || object === null) {
81
+ result = object;
82
+ } else if (Array.isArray(object)) {
83
+ result = [];
84
+ } else if (typeof object === "object") {
85
+ result = {};
134
86
  }
135
- }]);
136
- return CloneObject;
137
- }();
138
- export var initData = function initData(_ref4) {
139
- var fetchMenuData = _ref4.fetchMenuData,
140
- fields = _ref4.fields,
141
- props = _ref4.props,
142
- state = _ref4.state;
143
- return function () {
144
- var _ref5 = fields || {},
145
- _ref5$textField = _ref5.textField,
146
- textField = _ref5$textField === void 0 ? 'title' : _ref5$textField,
147
- _ref5$urlField = _ref5.urlField,
148
- urlField = _ref5$urlField === void 0 ? 'url' : _ref5$urlField,
149
- _ref5$key = _ref5.key,
150
- key = _ref5$key === void 0 ? 'id' : _ref5$key;
151
- var parentKey = props.parentKey,
152
- data = props.data;
153
- var isFullUrl = function isFullUrl(url) {
154
- return /^(https?:\/\/|\/\/)[\s\S]+$/.test(url);
155
- };
156
- var buildData = function buildData(item) {
157
- var router = item[urlField] || item.route;
158
- return {
159
- title: item[textField],
160
- route: router ? router.replace(/^#\/?/, '') : null,
161
- url: item.url,
162
- id: item.id,
163
- pid: item.pid,
164
- isFullUrl: props.allowFullUrl && isFullUrl(router),
165
- target: item.target
166
- };
87
+ return result;
88
+ }
89
+ }
90
+ const initData = ({ fetchMenuData, fields, props, state }) => () => {
91
+ const { textField = "title", urlField = "url", key = "id" } = fields || {};
92
+ const { parentKey, data } = props;
93
+ const isFullUrl = (url) => /^(https?:\/\/|\/\/)[\s\S]+$/.test(url);
94
+ const buildData = (item) => {
95
+ const router = item[urlField] || item.route;
96
+ return {
97
+ title: item[textField],
98
+ route: router ? router.replace(/^#\/?/, "") : null,
99
+ url: item.url,
100
+ id: item.id,
101
+ pid: item.pid,
102
+ isFullUrl: props.allowFullUrl && isFullUrl(router),
103
+ target: item.target
167
104
  };
168
- if (data) {
169
- state.data = mapTree(parentKey ? transformTreeData(data, key, parentKey) : data, buildData);
170
- return;
171
- }
172
- var menuData = props.fetchMenuData && fetchMenuData();
173
- if (isObject(menuData) && menuData.then) {
174
- menuData.then(function (data) {
175
- state.data = mapTree(props.parentKey ? transformTreeData(data, key, props.parentKey) : data, buildData);
176
- });
177
- return;
178
- }
179
- if (!menuData) {
180
- state.data = [];
181
- return;
182
- }
183
- var arr = [];
184
- if (menuData && menuData.length) {
185
- var getMenuData = new CloneObject(menuData, props).data;
186
- arr = _typeof(getMenuData) === 'object' && Array.isArray(getMenuData) ? getMenuData : [getMenuData];
187
- }
188
- state.data = mapTree(parentKey ? transformTreeData(arr, key, parentKey) : arr, buildData);
189
105
  };
106
+ if (data) {
107
+ state.data = mapTree(parentKey ? transformTreeData(data, key, parentKey) : data, buildData);
108
+ return;
109
+ }
110
+ const menuData = props.fetchMenuData && fetchMenuData();
111
+ if (isObject(menuData) && menuData.then) {
112
+ menuData.then((data2) => {
113
+ state.data = mapTree(props.parentKey ? transformTreeData(data2, key, props.parentKey) : data2, buildData);
114
+ });
115
+ return;
116
+ }
117
+ if (!menuData) {
118
+ state.data = [];
119
+ return;
120
+ }
121
+ let arr = [];
122
+ if (menuData && menuData.length) {
123
+ let getMenuData = new CloneObject(menuData, props).data;
124
+ arr = typeof getMenuData === "object" && Array.isArray(getMenuData) ? getMenuData : [getMenuData];
125
+ }
126
+ state.data = mapTree(parentKey ? transformTreeData(arr, key, parentKey) : arr, buildData);
190
127
  };
191
- export var mounted = function mounted(_ref6) {
192
- var api = _ref6.api,
193
- props = _ref6.props,
194
- router = _ref6.router,
195
- route = _ref6.route,
196
- state = _ref6.state;
197
- return function () {
198
- api.calcWidth();
199
- on(window, 'resize', api.calcWidth);
200
- if (router) {
201
- state.afterEach = function () {
202
- api.setActiveMenu(api.getSelectedIndex(route.path));
203
- };
204
- router.afterEach(state.afterEach);
205
- }
206
- props.data && props.data.length && route && api.setActiveMenu(api.getSelectedIndex(route.path));
207
- };
128
+ const mounted = ({ api, props, router, route, state }) => () => {
129
+ api.calcWidth();
130
+ on(window, "resize", api.calcWidth);
131
+ if (router) {
132
+ state.afterEach = () => {
133
+ api.setActiveMenu(api.getSelectedIndex(route.path));
134
+ };
135
+ router.afterEach(state.afterEach);
136
+ }
137
+ props.data && props.data.length && route && api.setActiveMenu(api.getSelectedIndex(route.path));
208
138
  };
209
- export var unMounted = function unMounted(_ref7) {
210
- var api = _ref7.api,
211
- state = _ref7.state,
212
- router = _ref7.router;
213
- return function () {
214
- if (router && router.afterHooks) {
215
- var index = router.afterHooks.indexOf(state.afterEach);
216
- router.afterHooks.splice(index, 1);
217
- }
218
- state.afterEach = null;
219
- off(window, 'resize', api.calcWidth);
220
- };
139
+ const unMounted = ({ api, state, router }) => () => {
140
+ if (router && router.afterHooks) {
141
+ const index = router.afterHooks.indexOf(state.afterEach);
142
+ router.afterHooks.splice(index, 1);
143
+ }
144
+ state.afterEach = null;
145
+ off(window, "resize", api.calcWidth);
221
146
  };
222
- export var getSelectedIndex = function getSelectedIndex(state) {
223
- return function (path) {
224
- var length = state.data.length;
225
- var index = -1;
226
- if (path !== '/') {
227
- path = path.replace(/^#?\//, '');
228
- var exp = new RegExp('("url":"#/?' + path + '"|"url":"/?' + path + '"|"route":"/?' + path + '")', 'i');
229
- for (var i = 0; i < length; i++) {
230
- if (exp.test(JSON.stringify(state.data[i]))) {
231
- index = i;
232
- break;
233
- }
147
+ const getSelectedIndex = (state) => (path) => {
148
+ let length = state.data.length;
149
+ let index = -1;
150
+ if (path !== "/") {
151
+ path = path.replace(/^#?\//, "");
152
+ let exp = new RegExp('("url":"#/?' + path + '"|"url":"/?' + path + '"|"route":"/?' + path + '")', "i");
153
+ for (let i = 0; i < length; i++) {
154
+ if (exp.test(JSON.stringify(state.data[i]))) {
155
+ index = i;
156
+ break;
234
157
  }
235
158
  }
236
- return index;
237
- };
238
- };
239
- export var showSetting = function showSetting(_ref8) {
240
- var parent = _ref8.parent,
241
- state = _ref8.state;
242
- return function () {
243
- state.isShowSetting = true;
244
- var setting = parent.$el.querySelector('.more-setting');
245
- setting.style.zIndex = nextZIndex();
246
- };
159
+ }
160
+ return index;
247
161
  };
248
- export var willHideSetting = function willHideSetting(state) {
249
- return function () {
250
- return state.isShowSetting = false;
251
- };
162
+ const showSetting = ({ parent, state }) => () => {
163
+ state.isShowSetting = true;
164
+ const setting = parent.$el.querySelector(".more-setting");
165
+ setting.style.zIndex = nextZIndex();
252
166
  };
253
- export var showSubMenu = function showSubMenu(_ref9) {
254
- var api = _ref9.api,
255
- nextTick = _ref9.nextTick,
256
- parent = _ref9.parent,
257
- state = _ref9.state;
258
- return function (list, _ref10, event) {
259
- var more = _ref10.more,
260
- index = _ref10.index;
261
- if (list || more) {
262
- state.subMenu !== list ? api.hideSubMenu() : api.stopHideSubMenu();
263
- state.showMore = !!more;
264
- state.subMenu = list;
265
- state.showPopmenu = true;
266
- nextTick(function () {
267
- var popmenu = parent.$el.querySelector('.popmenu');
268
- if (popmenu) {
269
- popmenu.style.zIndex = nextZIndex();
270
- if (popmenu.classList.contains('single') && event) {
271
- popmenu.style.left = "".concat(event.target.offsetLeft, "px");
272
- } else {
273
- popmenu.style.left = 0;
274
- }
275
- popmenu.style.height = 'auto';
276
- popmenu.style.display = 'block';
167
+ const willHideSetting = (state) => () => state.isShowSetting = false;
168
+ const showSubMenu = ({ api, nextTick, parent, state }) => (list, { more, index }, event) => {
169
+ if (list || more) {
170
+ state.subMenu !== list ? api.hideSubMenu() : api.stopHideSubMenu();
171
+ state.showMore = !!more;
172
+ state.subMenu = list;
173
+ state.showPopmenu = true;
174
+ nextTick(() => {
175
+ const popmenu = parent.$el.querySelector(".popmenu");
176
+ if (popmenu) {
177
+ popmenu.style.zIndex = nextZIndex();
178
+ if (popmenu.classList.contains("single") && event) {
179
+ popmenu.style.left = `${event.target.offsetLeft}px`;
180
+ } else {
181
+ popmenu.style.left = 0;
277
182
  }
278
- });
279
- if (index !== undefined) {
280
- state.activeIndex = index;
281
- }
282
- if (more && list && list.length && state.subActiveIndex === -1) {
283
- state.subActiveIndex = 0;
183
+ popmenu.style.height = "auto";
184
+ popmenu.style.display = "block";
284
185
  }
285
- } else {
286
- api.hideSubMenu();
186
+ });
187
+ if (index !== void 0) {
188
+ state.activeIndex = index;
287
189
  }
288
- };
289
- };
290
- export var hideSubMenu = function hideSubMenu(_ref11) {
291
- var api = _ref11.api,
292
- parent = _ref11.parent,
293
- state = _ref11.state;
294
- return function () {
295
- api.stopHideSubMenu();
296
- state.showMore = false;
297
- state.showPopmenu = false;
298
- state.activeIndex = -1;
299
- state.subActiveIndex = -1;
300
- var popmenu = parent.$el.querySelector('.popmenu');
301
- popmenu.style.height = 'auto';
302
- popmenu.style.display = 'none';
303
- };
304
- };
305
- export var willHideSubMenu = function willHideSubMenu(_ref12) {
306
- var api = _ref12.api,
307
- state = _ref12.state;
308
- return function () {
309
- api.stopHideSubMenu();
310
- state.timer = setTimeout(function () {
311
- api.hideSubMenu();
312
- }, 20);
313
- };
190
+ if (more && list && list.length && state.subActiveIndex === -1) {
191
+ state.subActiveIndex = 0;
192
+ }
193
+ } else {
194
+ api.hideSubMenu();
195
+ }
314
196
  };
315
- export var stopHideSubMenu = function stopHideSubMenu(state) {
316
- return function () {
317
- clearTimeout(state.timer);
318
- };
197
+ const hideSubMenu = ({ api, parent, state }) => () => {
198
+ api.stopHideSubMenu();
199
+ state.showMore = false;
200
+ state.showPopmenu = false;
201
+ state.activeIndex = -1;
202
+ state.subActiveIndex = -1;
203
+ const popmenu = parent.$el.querySelector(".popmenu");
204
+ popmenu.style.height = "auto";
205
+ popmenu.style.display = "none";
319
206
  };
320
- export var setSubMenu = function setSubMenu(state) {
321
- return function (value, index) {
322
- state.subActiveIndex = index;
323
- state.subMenu = value;
324
- };
207
+ const willHideSubMenu = ({ api, state }) => () => {
208
+ api.stopHideSubMenu();
209
+ state.timer = setTimeout(() => {
210
+ api.hideSubMenu();
211
+ }, 20);
325
212
  };
326
- export var isHide = function isHide(_ref13) {
327
- var parent = _ref13.parent,
328
- state = _ref13.state;
329
- return function (event) {
330
- return !state.width || event.offsetTop >= parent.$el.offsetHeight;
331
- };
213
+ const stopHideSubMenu = (state) => () => {
214
+ clearTimeout(state.timer);
332
215
  };
333
- export var hidePopmenu = function hidePopmenu(api) {
334
- return function (item) {
335
- if (item.url || item.route) {
336
- api.setActiveMenu(api.getSelectedIndex(item.url || item.route));
337
- api.hideSubMenu();
338
- }
339
- };
216
+ const setSubMenu = (state) => (value, index) => {
217
+ state.subActiveIndex = index;
218
+ state.subMenu = value;
340
219
  };
341
- export var clickMenu = function clickMenu(_ref14) {
342
- var api = _ref14.api,
343
- props = _ref14.props;
344
- return function (item, index) {
345
- if (item.url || item.route) {
346
- if (props.beforeSkip) {
347
- props.beforeSkip(item) && api.skip(item, true);
348
- } else {
349
- api.skip(item);
350
- }
351
- }
352
- index !== undefined && api.setActiveMenu(index);
353
- api.hidePopmenu(item);
354
- };
220
+ const isHide = ({ parent, state }) => (event) => !state.width || event.offsetTop >= parent.$el.offsetHeight;
221
+ const hidePopmenu = (api) => (item) => {
222
+ if (item.url || item.route) {
223
+ api.setActiveMenu(api.getSelectedIndex(item.url || item.route));
224
+ api.hideSubMenu();
225
+ }
355
226
  };
356
- export var skip = function skip(_ref15) {
357
- var api = _ref15.api,
358
- router = _ref15.router,
359
- fields = _ref15.fields;
360
- return function (item) {
361
- var flag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
362
- if (item.isFullUrl) {
363
- var _ref16 = fields || {},
364
- _ref16$urlField = _ref16.urlField,
365
- urlField = _ref16$urlField === void 0 ? 'url' : _ref16$urlField;
366
- var _router = item[urlField] || item.route;
367
- return window.open(xss.filterUrl(_router)).opener = null;
368
- }
369
- var address = !item.route || !flag ? api.getUrl(item).replace(/^#/, '') : item.route.replace(/^\/+/, '/').replace('#/', '');
370
- if (address) {
371
- return router.push(address);
227
+ const clickMenu = ({ api, props }) => (item, index) => {
228
+ if (item.url || item.route) {
229
+ if (props.beforeSkip) {
230
+ props.beforeSkip(item) && api.skip(item, true);
372
231
  } else {
373
- return '';
232
+ api.skip(item);
374
233
  }
375
- };
234
+ }
235
+ index !== void 0 && api.setActiveMenu(index);
236
+ api.hidePopmenu(item);
376
237
  };
377
- export var getPoint = function getPoint(_ref17) {
378
- var api = _ref17.api,
379
- parent = _ref17.parent;
380
- return function () {
381
- var items = parent.$el.querySelectorAll('.menu>li');
382
- var index = 0;
383
- if (items) {
384
- index = items.length;
385
- for (var i = 0; i < items.length; i++) {
386
- if (api.isHide(items[i])) {
387
- index = index - (items.length - i);
388
- break;
389
- }
238
+ const skip = ({ api, router, fields }) => (item, flag = false) => {
239
+ if (item.isFullUrl) {
240
+ const { urlField = "url" } = fields || {};
241
+ const router2 = item[urlField] || item.route;
242
+ return window.open(xss.filterUrl(router2)).opener = null;
243
+ }
244
+ const address = !item.route || !flag ? api.getUrl(item).replace(/^#/, "") : item.route.replace(/^\/+/, "/").replace("#/", "");
245
+ if (address) {
246
+ return router.push(address);
247
+ } else {
248
+ return "";
249
+ }
250
+ };
251
+ const getPoint = ({ api, parent }) => () => {
252
+ const items = parent.$el.querySelectorAll(".menu>li");
253
+ let index = 0;
254
+ if (items) {
255
+ index = items.length;
256
+ for (let i = 0; i < items.length; i++) {
257
+ if (api.isHide(items[i])) {
258
+ index = index - (items.length - i);
259
+ break;
390
260
  }
391
261
  }
392
- return index;
393
- };
394
- };
395
- export var classify = function classify(_ref18) {
396
- var api = _ref18.api,
397
- props = _ref18.props,
398
- state = _ref18.state;
399
- return function () {
400
- var isRetractOrFixed = /^(retract|fixed)$/.test(props.overflow);
401
- var menuCount = isRetractOrFixed ? 0 : props.overflow === 'hidden' ? props.data.length : api.getPoint();
402
- state.more = state.data.slice(menuCount);
403
- };
404
- };
405
- export var calcWidth = function calcWidth(_ref19) {
406
- var parent = _ref19.parent,
407
- props = _ref19.props,
408
- state = _ref19.state;
409
- return function () {
410
- var el = parent.$el;
411
- var logoWidth = parent.$slots.logo ? el.querySelector('.slot-logo').offsetWidth : 0;
412
- var toolbarWidth = parent.$slots.toolbar ? el.querySelector('.slot-toolbar').offsetWidth : 0;
413
- var menuWidth = el.offsetWidth;
414
- var width = props.overflow === 'retract' ? 0 : menuWidth - toolbarWidth - logoWidth;
415
- width = width - 120 - (toolbarWidth ? 50 : 10) - (logoWidth ? 100 : 0);
416
- state.width = width < 200 ? 0 : width;
417
- state.popMenuTop = el.offsetHeight;
418
- };
419
- };
420
- export var getTag = function getTag(props) {
421
- return function (item) {
422
- return item.url && 'a' || item.route && (!props.beforeSkip ? 'router-link' : 'a') || 'span';
423
- };
424
- };
425
- export var getUrl = function getUrl() {
426
- return function (item) {
427
- return item.url || '';
428
- };
262
+ }
263
+ return index;
429
264
  };
430
- export var getRoute = function getRoute(props) {
431
- return function (item) {
432
- return !props.beforeSkip ? "/".concat(item.route || '').replace(/^\/+/, '/').replace('#/', '') : '';
433
- };
265
+ const classify = ({ api, props, state }) => () => {
266
+ const isRetractOrFixed = /^(retract|fixed)$/.test(props.overflow);
267
+ const menuCount = isRetractOrFixed ? 0 : props.overflow === "hidden" ? props.data.length : api.getPoint();
268
+ state.more = state.data.slice(menuCount);
434
269
  };
435
- export var setActiveMenu = function setActiveMenu(state) {
436
- return function (index) {
437
- return state.selectedIndex = typeof index !== 'undefined' ? index : -1;
438
- };
270
+ const calcWidth = ({ parent, props, state }) => () => {
271
+ let el = parent.$el;
272
+ let logoWidth = parent.$slots.logo ? el.querySelector(".slot-logo").offsetWidth : 0;
273
+ let toolbarWidth = parent.$slots.toolbar ? el.querySelector(".slot-toolbar").offsetWidth : 0;
274
+ let menuWidth = el.offsetWidth;
275
+ let width = props.overflow === "retract" ? 0 : menuWidth - toolbarWidth - logoWidth;
276
+ width = width - 120 - (toolbarWidth ? 50 : 10) - (logoWidth ? 100 : 0);
277
+ state.width = width < 200 ? 0 : width;
278
+ state.popMenuTop = el.offsetHeight;
439
279
  };
440
- export var initService = function initService(_ref20) {
441
- var props = _ref20.props,
442
- service = _ref20.service;
443
- var fetchMenuData = function fetchMenuData() {
444
- return Promise.reject(new Error('[TINY Error][NavMenu] Prop fetchMenuData is not configured'));
445
- };
446
- var _ref21 = service || {},
447
- _ref21$base = _ref21.base,
448
- base = _ref21$base === void 0 ? {} : _ref21$base,
449
- _ref21$setting = _ref21.setting,
450
- setting = _ref21$setting === void 0 ? {} : _ref21$setting;
451
- var _setting$options = setting.options,
452
- options = _setting$options === void 0 ? {} : _setting$options;
280
+ const getTag = (props) => (item) => item.url && "a" || item.route && (!props.beforeSkip ? "router-link" : "a") || "span";
281
+ const getUrl = () => (item) => item.url || "";
282
+ const getRoute = (props) => (item) => !props.beforeSkip ? `/${item.route || ""}`.replace(/^\/+/, "/").replace("#/", "") : "";
283
+ const setActiveMenu = (state) => (index) => state.selectedIndex = typeof index !== "undefined" ? index : -1;
284
+ const initService = ({ props, service }) => {
285
+ const fetchMenuData = () => Promise.reject(new Error("[TINY Error][NavMenu] Prop fetchMenuData is not configured"));
286
+ const { base = {}, setting = {} } = service || {};
287
+ const { options = {} } = setting;
453
288
  return {
454
289
  fetchMenuData: props.fetchMenuData || base.getMenuDataSync || fetchMenuData,
455
290
  fields: props.fields || options.NavMenu
456
291
  };
457
- };
292
+ };
293
+ export {
294
+ calcWidth,
295
+ classify,
296
+ clickMenu,
297
+ computedIsShowMore,
298
+ computedMenuStyle,
299
+ computedPopClass,
300
+ computedPopStyle,
301
+ computedSubMenus,
302
+ getPoint,
303
+ getRoute,
304
+ getSelectedIndex,
305
+ getTag,
306
+ getUrl,
307
+ hidePopmenu,
308
+ hideSubMenu,
309
+ initData,
310
+ initService,
311
+ isHide,
312
+ mounted,
313
+ setActiveMenu,
314
+ setSubMenu,
315
+ showSetting,
316
+ showSubMenu,
317
+ skip,
318
+ stopHideSubMenu,
319
+ unMounted,
320
+ watchWidth,
321
+ willHideSetting,
322
+ willHideSubMenu
323
+ };