ele-admin-plus 1.0.0-beta.2 → 1.0.0-beta.4

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 (426) hide show
  1. package/es/components.d.ts +3 -0
  2. package/es/components.js +92 -86
  3. package/es/ele-alert/index.d.ts +62 -0
  4. package/es/ele-alert/index.js +129 -0
  5. package/es/ele-alert/props.d.ts +36 -0
  6. package/es/ele-alert/props.js +48 -0
  7. package/es/ele-alert/style/css-var.scss +11 -0
  8. package/es/ele-alert/style/index.js +1 -0
  9. package/es/ele-alert/style/index.scss +148 -0
  10. package/es/ele-app/index.d.ts +1 -0
  11. package/es/ele-app/style/common.scss +134 -32
  12. package/es/ele-app/style/css-var.scss +2 -2
  13. package/es/ele-app/types/index.d.ts +27 -0
  14. package/es/ele-avatar-group/index.d.ts +3 -0
  15. package/es/ele-avatar-group/index.js +10 -9
  16. package/es/ele-avatar-group/props.d.ts +1 -0
  17. package/es/ele-avatar-group/props.js +3 -1
  18. package/es/ele-avatar-group/style/index.scss +32 -0
  19. package/es/ele-basic-select/index.d.ts +2 -19171
  20. package/es/ele-basic-select/index.js +2 -2
  21. package/es/ele-bottom-bar/style/index.scss +1 -1
  22. package/es/ele-breadcrumb/index.d.ts +2 -165
  23. package/es/ele-card/style/index.scss +28 -26
  24. package/es/ele-config-provider/index.d.ts +3 -7
  25. package/es/ele-config-provider/index.js +1 -8
  26. package/es/ele-config-provider/props.d.ts +9 -2
  27. package/es/ele-config-provider/props.js +5 -3
  28. package/{lib/ele-config-provider/use-receiver.d.ts → es/ele-config-provider/receiver.d.ts} +8 -2
  29. package/es/ele-config-provider/receiver.js +198 -0
  30. package/es/ele-config-provider/types/index.d.ts +24 -13
  31. package/es/ele-cropper/components/cropper-tools.js +1 -1
  32. package/es/ele-cropper/index.d.ts +12 -9
  33. package/es/ele-cropper/index.js +29 -30
  34. package/es/ele-cropper/props.d.ts +3 -4
  35. package/es/ele-cropper/style/index.js +1 -1
  36. package/es/ele-cropper/types/index.d.ts +10 -2
  37. package/es/ele-cropper-modal/index.d.ts +6 -6
  38. package/es/ele-cropper-modal/index.js +1 -1
  39. package/es/ele-cropper-modal/props.d.ts +2 -2
  40. package/es/ele-dashboard/index.js +1 -1
  41. package/es/ele-drawer/index.d.ts +2 -355
  42. package/es/ele-drawer/index.js +1 -1
  43. package/es/ele-edit-tag/index.d.ts +2 -804
  44. package/es/ele-edit-tag/index.js +1 -2
  45. package/es/ele-ellipsis/index.d.ts +6 -3
  46. package/es/ele-ellipsis/index.js +16 -23
  47. package/es/ele-ellipsis/props.d.ts +1 -0
  48. package/es/ele-file-list/components/file-grid-item.d.ts +5 -24370
  49. package/es/ele-file-list/components/file-grid-item.js +8 -1
  50. package/es/ele-file-list/components/file-grid.d.ts +4 -2
  51. package/es/ele-file-list/components/file-table-item.d.ts +5 -24370
  52. package/es/ele-file-list/components/file-table-item.js +8 -1
  53. package/es/ele-file-list/components/file-table.d.ts +4 -2
  54. package/es/ele-file-list/index.d.ts +2 -1561
  55. package/es/ele-file-list/index.js +25 -15
  56. package/es/ele-file-list/style/index.scss +0 -1
  57. package/es/ele-icon-select/components/icon-grid.d.ts +5 -1
  58. package/es/ele-icon-select/components/icon-grid.js +24 -14
  59. package/es/ele-icon-select/components/icon-popper.d.ts +15 -1
  60. package/es/ele-icon-select/components/icon-popper.js +52 -41
  61. package/es/ele-icon-select/index.d.ts +14 -0
  62. package/es/ele-icon-select/index.js +9 -2
  63. package/es/ele-icon-select/props.d.ts +8 -1
  64. package/es/ele-icon-select/props.js +14 -0
  65. package/es/ele-icon-select/style/index.scss +142 -140
  66. package/es/ele-map-picker/components/map-view.js +4 -5
  67. package/es/ele-map-picker/index.d.ts +6 -1
  68. package/es/ele-map-picker/index.js +11 -23
  69. package/es/ele-map-picker/props.d.ts +10 -4
  70. package/es/ele-map-picker/props.js +9 -7
  71. package/es/ele-map-picker/style/index.scss +1 -0
  72. package/es/ele-menus/index.d.ts +2 -156
  73. package/es/ele-menus/index.js +3 -12
  74. package/es/ele-menus/props.d.ts +6 -0
  75. package/es/ele-menus/props.js +2 -0
  76. package/es/ele-menus/style/index.scss +12 -5
  77. package/es/ele-modal/index.d.ts +7 -903
  78. package/es/ele-modal/index.js +38 -49
  79. package/es/ele-modal/props.d.ts +10 -0
  80. package/es/ele-modal/props.js +4 -0
  81. package/es/ele-modal/style/index.scss +1 -1
  82. package/es/ele-modal/util.d.ts +3 -3
  83. package/es/ele-modal/util.js +8 -7
  84. package/es/ele-page/index.d.ts +8 -2
  85. package/es/ele-page/props.d.ts +4 -1
  86. package/es/ele-page/props.js +4 -1
  87. package/es/ele-pagination/index.d.ts +6 -6
  88. package/es/ele-pagination/props.d.ts +3 -3
  89. package/es/ele-printer/index.d.ts +37 -0
  90. package/es/ele-printer/index.js +119 -0
  91. package/es/ele-printer/props.d.ts +25 -0
  92. package/es/ele-printer/props.js +32 -0
  93. package/es/ele-printer/style/index.js +1 -0
  94. package/es/ele-printer/style/index.scss +58 -0
  95. package/es/ele-printer/types/index.d.ts +40 -0
  96. package/es/ele-printer/util.d.ts +39 -0
  97. package/es/ele-printer/util.js +174 -0
  98. package/es/ele-pro-layout/components/pro-iframe.d.ts +29 -0
  99. package/es/ele-pro-layout/components/pro-iframe.js +116 -0
  100. package/es/ele-pro-layout/components/pro-sidebar.d.ts +3 -9
  101. package/es/ele-pro-layout/components/pro-sidebar.js +19 -9
  102. package/es/ele-pro-layout/components/pro-sidebox.d.ts +2 -1
  103. package/es/ele-pro-layout/components/pro-sidebox.js +19 -5
  104. package/es/ele-pro-layout/components/{pro-tab-bar.d.ts → pro-tabs.d.ts} +3 -2
  105. package/es/ele-pro-layout/components/{pro-tab-bar.js → pro-tabs.js} +4 -3
  106. package/es/ele-pro-layout/index.js +66 -103
  107. package/es/ele-pro-layout/props.d.ts +6 -4
  108. package/es/ele-pro-layout/props.js +9 -8
  109. package/es/ele-pro-layout/style/collapse.scss +60 -42
  110. package/es/ele-pro-layout/style/css-var.scss +3 -1
  111. package/es/ele-pro-layout/style/header.scss +8 -3
  112. package/es/ele-pro-layout/style/layout-mobile.scss +1 -1
  113. package/es/ele-pro-layout/style/layout-style.scss +9 -4
  114. package/es/ele-pro-layout/style/layout.scss +14 -1
  115. package/es/ele-pro-layout/style/sidebar.scss +21 -6
  116. package/es/ele-pro-layout/style/tabs.scss +3 -26
  117. package/es/ele-pro-layout/types/index.d.ts +23 -18
  118. package/es/ele-pro-layout/util.d.ts +8 -12
  119. package/es/ele-pro-layout/util.js +74 -22
  120. package/es/ele-pro-table/components/table-tools.d.ts +2 -2
  121. package/es/ele-pro-table/components/table-tools.js +1 -1
  122. package/es/ele-pro-table/components/table-view.d.ts +51 -618
  123. package/es/ele-pro-table/components/table-view.js +11 -24
  124. package/es/ele-pro-table/index.d.ts +81 -1674
  125. package/es/ele-pro-table/index.js +90 -129
  126. package/es/ele-pro-table/props.d.ts +133 -25
  127. package/es/ele-pro-table/props.js +36 -30
  128. package/es/ele-pro-table/style/index.scss +96 -57
  129. package/es/ele-pro-table/types/index.d.ts +24 -4
  130. package/es/ele-pro-table/util.d.ts +27 -10
  131. package/es/ele-pro-table/util.js +49 -13
  132. package/es/ele-segmented/index.d.ts +33 -0
  133. package/es/ele-segmented/index.js +77 -0
  134. package/es/ele-segmented/props.d.ts +23 -0
  135. package/es/ele-segmented/props.js +25 -0
  136. package/es/ele-segmented/style/css-var.scss +15 -0
  137. package/es/ele-segmented/style/index.js +4 -0
  138. package/es/ele-segmented/style/index.scss +102 -0
  139. package/es/ele-segmented/types/index.d.ts +25 -0
  140. package/es/ele-split-panel/index.d.ts +7 -8
  141. package/es/ele-split-panel/index.js +8 -13
  142. package/es/ele-split-panel/style/index.scss +26 -25
  143. package/es/ele-steps/index.d.ts +13 -1
  144. package/es/ele-steps/index.js +14 -14
  145. package/es/ele-steps/style/index.scss +24 -9
  146. package/es/ele-table/style/index.scss +1 -0
  147. package/es/ele-table-select/index.js +1 -1
  148. package/es/ele-table-select/types/index.d.ts +7 -0
  149. package/es/ele-tabs/components/tab-title.d.ts +5 -4
  150. package/es/ele-tabs/index.d.ts +17 -269
  151. package/es/ele-tabs/index.js +19 -26
  152. package/es/ele-tabs/props.d.ts +10 -2
  153. package/es/ele-tabs/props.js +4 -0
  154. package/es/ele-tabs/style/css-var.scss +7 -7
  155. package/es/ele-tabs/style/index.scss +4 -3
  156. package/es/ele-tabs/types/index.d.ts +1 -5
  157. package/es/ele-text/index.d.ts +2 -0
  158. package/es/ele-text/index.js +7 -5
  159. package/es/ele-text/props.d.ts +7 -1
  160. package/es/ele-text/props.js +5 -1
  161. package/es/ele-toolbar/index.d.ts +15 -2
  162. package/es/ele-toolbar/index.js +18 -18
  163. package/es/ele-toolbar/props.d.ts +8 -2
  164. package/es/ele-toolbar/props.js +10 -1
  165. package/es/ele-toolbar/style/index.scss +2 -17
  166. package/es/ele-tour/index.d.ts +10 -20739
  167. package/es/ele-tour/index.js +8 -9
  168. package/es/ele-tour/style/index.scss +5 -4
  169. package/es/ele-tour/util.js +1 -0
  170. package/es/ele-upload-list/components/list-item.d.ts +9 -6
  171. package/es/ele-upload-list/components/list-item.js +21 -24
  172. package/es/ele-upload-list/index.d.ts +14 -733
  173. package/es/ele-upload-list/index.js +15 -15
  174. package/es/ele-upload-list/props.d.ts +5 -0
  175. package/es/ele-upload-list/props.js +8 -1
  176. package/es/ele-upload-list/style/index.scss +15 -5
  177. package/es/ele-upload-list/types/index.d.ts +1 -1
  178. package/es/ele-watermark/index.js +1 -1
  179. package/es/ele-watermark/util.js +8 -10
  180. package/es/ele-xg-player/index.d.ts +1 -1
  181. package/es/ele-xg-player/index.js +22 -16
  182. package/es/icons/ArrowDown.js +1 -1
  183. package/es/icons/ArrowLeft.d.ts +2 -0
  184. package/es/icons/ArrowLeft.js +30 -0
  185. package/es/icons/ArrowUp.d.ts +2 -0
  186. package/es/icons/ArrowUp.js +31 -0
  187. package/es/icons/index.d.ts +2 -0
  188. package/es/icons/index.js +24 -20
  189. package/es/index.d.ts +0 -2
  190. package/es/index.js +0 -2
  191. package/es/lang/en_US.js +2 -2
  192. package/es/lang/zh_CN.js +1 -1
  193. package/es/lang/zh_TW.js +1 -1
  194. package/es/style/index.scss +3 -0
  195. package/es/style/themes/dark-css-var.scss +7 -3
  196. package/es/style/themes/dark.scss +1 -1
  197. package/es/style/themes/default.scss +75 -12
  198. package/es/utils/core.d.ts +13 -33
  199. package/es/utils/core.js +19 -39
  200. package/es/utils/menu-util.js +24 -2
  201. package/es/utils/message.js +1 -1
  202. package/es/utils/theme-util.d.ts +1 -1
  203. package/es/utils/theme-util.js +10 -10
  204. package/lib/components.d.ts +3 -0
  205. package/lib/components.js +92 -86
  206. package/lib/ele-alert/index.d.ts +62 -0
  207. package/lib/ele-alert/index.js +128 -0
  208. package/lib/ele-alert/props.d.ts +36 -0
  209. package/lib/ele-alert/props.js +48 -0
  210. package/lib/ele-alert/style/css-var.scss +11 -0
  211. package/lib/ele-alert/style/index.js +2 -0
  212. package/lib/ele-alert/style/index.scss +148 -0
  213. package/lib/ele-app/index.d.ts +1 -0
  214. package/lib/ele-app/style/common.scss +134 -32
  215. package/lib/ele-app/style/css-var.scss +2 -2
  216. package/lib/ele-app/types/index.d.ts +27 -0
  217. package/lib/ele-avatar-group/index.d.ts +3 -0
  218. package/lib/ele-avatar-group/index.js +10 -9
  219. package/lib/ele-avatar-group/props.d.ts +1 -0
  220. package/lib/ele-avatar-group/props.js +3 -1
  221. package/lib/ele-avatar-group/style/index.scss +32 -0
  222. package/lib/ele-basic-select/index.d.ts +2 -19171
  223. package/lib/ele-basic-select/index.js +3 -3
  224. package/lib/ele-bottom-bar/style/index.scss +1 -1
  225. package/lib/ele-breadcrumb/index.d.ts +2 -165
  226. package/lib/ele-card/style/index.scss +28 -26
  227. package/lib/ele-config-provider/index.d.ts +3 -7
  228. package/lib/ele-config-provider/index.js +11 -18
  229. package/lib/ele-config-provider/props.d.ts +9 -2
  230. package/lib/ele-config-provider/props.js +5 -3
  231. package/{es/ele-config-provider/use-receiver.d.ts → lib/ele-config-provider/receiver.d.ts} +8 -2
  232. package/lib/ele-config-provider/receiver.js +200 -0
  233. package/lib/ele-config-provider/types/index.d.ts +24 -13
  234. package/lib/ele-cropper/components/cropper-tools.js +2 -2
  235. package/lib/ele-cropper/index.d.ts +12 -9
  236. package/lib/ele-cropper/index.js +31 -32
  237. package/lib/ele-cropper/props.d.ts +3 -4
  238. package/lib/ele-cropper/style/index.js +1 -1
  239. package/lib/ele-cropper/types/index.d.ts +10 -2
  240. package/lib/ele-cropper-modal/index.d.ts +6 -6
  241. package/lib/ele-cropper-modal/index.js +2 -2
  242. package/lib/ele-cropper-modal/props.d.ts +2 -2
  243. package/lib/ele-dashboard/index.js +2 -2
  244. package/lib/ele-drawer/index.d.ts +2 -355
  245. package/lib/ele-drawer/index.js +1 -1
  246. package/lib/ele-edit-tag/index.d.ts +2 -804
  247. package/lib/ele-edit-tag/index.js +2 -3
  248. package/lib/ele-ellipsis/index.d.ts +6 -3
  249. package/lib/ele-ellipsis/index.js +15 -22
  250. package/lib/ele-ellipsis/props.d.ts +1 -0
  251. package/lib/ele-file-list/components/file-grid-item.d.ts +5 -24370
  252. package/lib/ele-file-list/components/file-grid-item.js +8 -1
  253. package/lib/ele-file-list/components/file-grid.d.ts +4 -2
  254. package/lib/ele-file-list/components/file-table-item.d.ts +5 -24370
  255. package/lib/ele-file-list/components/file-table-item.js +8 -1
  256. package/lib/ele-file-list/components/file-table.d.ts +4 -2
  257. package/lib/ele-file-list/index.d.ts +2 -1561
  258. package/lib/ele-file-list/index.js +27 -17
  259. package/lib/ele-file-list/style/index.scss +0 -1
  260. package/lib/ele-icon-select/components/icon-grid.d.ts +5 -1
  261. package/lib/ele-icon-select/components/icon-grid.js +23 -13
  262. package/lib/ele-icon-select/components/icon-popper.d.ts +15 -1
  263. package/lib/ele-icon-select/components/icon-popper.js +51 -40
  264. package/lib/ele-icon-select/index.d.ts +14 -0
  265. package/lib/ele-icon-select/index.js +10 -3
  266. package/lib/ele-icon-select/props.d.ts +8 -1
  267. package/lib/ele-icon-select/props.js +14 -0
  268. package/lib/ele-icon-select/style/index.scss +142 -140
  269. package/lib/ele-map-picker/components/map-view.js +4 -5
  270. package/lib/ele-map-picker/index.d.ts +6 -1
  271. package/lib/ele-map-picker/index.js +14 -26
  272. package/lib/ele-map-picker/props.d.ts +10 -4
  273. package/lib/ele-map-picker/props.js +9 -7
  274. package/lib/ele-map-picker/style/index.scss +1 -0
  275. package/lib/ele-menus/index.d.ts +2 -156
  276. package/lib/ele-menus/index.js +11 -20
  277. package/lib/ele-menus/props.d.ts +6 -0
  278. package/lib/ele-menus/props.js +2 -0
  279. package/lib/ele-menus/style/index.scss +12 -5
  280. package/lib/ele-modal/index.d.ts +7 -903
  281. package/lib/ele-modal/index.js +63 -74
  282. package/lib/ele-modal/props.d.ts +10 -0
  283. package/lib/ele-modal/props.js +4 -0
  284. package/lib/ele-modal/style/index.scss +1 -1
  285. package/lib/ele-modal/util.d.ts +3 -3
  286. package/lib/ele-modal/util.js +8 -7
  287. package/lib/ele-page/index.d.ts +8 -2
  288. package/lib/ele-page/props.d.ts +4 -1
  289. package/lib/ele-page/props.js +4 -1
  290. package/lib/ele-pagination/index.d.ts +6 -6
  291. package/lib/ele-pagination/props.d.ts +3 -3
  292. package/lib/ele-printer/index.d.ts +37 -0
  293. package/lib/ele-printer/index.js +118 -0
  294. package/lib/ele-printer/props.d.ts +25 -0
  295. package/lib/ele-printer/props.js +32 -0
  296. package/lib/ele-printer/style/index.js +2 -0
  297. package/lib/ele-printer/style/index.scss +58 -0
  298. package/lib/ele-printer/types/index.d.ts +40 -0
  299. package/lib/ele-printer/util.d.ts +39 -0
  300. package/lib/ele-printer/util.js +174 -0
  301. package/lib/ele-pro-layout/components/pro-iframe.d.ts +29 -0
  302. package/lib/ele-pro-layout/components/pro-iframe.js +115 -0
  303. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +3 -9
  304. package/lib/ele-pro-layout/components/pro-sidebar.js +17 -7
  305. package/lib/ele-pro-layout/components/pro-sidebox.d.ts +2 -1
  306. package/lib/ele-pro-layout/components/pro-sidebox.js +17 -3
  307. package/lib/ele-pro-layout/components/{pro-tab-bar.d.ts → pro-tabs.d.ts} +3 -2
  308. package/lib/ele-pro-layout/components/{pro-tab-bar.js → pro-tabs.js} +4 -3
  309. package/lib/ele-pro-layout/index.js +65 -102
  310. package/lib/ele-pro-layout/props.d.ts +6 -4
  311. package/lib/ele-pro-layout/props.js +9 -8
  312. package/lib/ele-pro-layout/style/collapse.scss +60 -42
  313. package/lib/ele-pro-layout/style/css-var.scss +3 -1
  314. package/lib/ele-pro-layout/style/header.scss +8 -3
  315. package/lib/ele-pro-layout/style/layout-mobile.scss +1 -1
  316. package/lib/ele-pro-layout/style/layout-style.scss +9 -4
  317. package/lib/ele-pro-layout/style/layout.scss +14 -1
  318. package/lib/ele-pro-layout/style/sidebar.scss +21 -6
  319. package/lib/ele-pro-layout/style/tabs.scss +3 -26
  320. package/lib/ele-pro-layout/types/index.d.ts +23 -18
  321. package/lib/ele-pro-layout/util.d.ts +8 -12
  322. package/lib/ele-pro-layout/util.js +72 -20
  323. package/lib/ele-pro-table/components/table-tools.d.ts +2 -2
  324. package/lib/ele-pro-table/components/table-tools.js +2 -2
  325. package/lib/ele-pro-table/components/table-view.d.ts +51 -618
  326. package/lib/ele-pro-table/components/table-view.js +11 -24
  327. package/lib/ele-pro-table/index.d.ts +81 -1674
  328. package/lib/ele-pro-table/index.js +125 -164
  329. package/lib/ele-pro-table/props.d.ts +133 -25
  330. package/lib/ele-pro-table/props.js +35 -29
  331. package/lib/ele-pro-table/style/index.scss +96 -57
  332. package/lib/ele-pro-table/types/index.d.ts +24 -4
  333. package/lib/ele-pro-table/util.d.ts +27 -10
  334. package/lib/ele-pro-table/util.js +48 -12
  335. package/lib/ele-segmented/index.d.ts +33 -0
  336. package/lib/ele-segmented/index.js +76 -0
  337. package/lib/ele-segmented/props.d.ts +23 -0
  338. package/lib/ele-segmented/props.js +25 -0
  339. package/lib/ele-segmented/style/css-var.scss +15 -0
  340. package/lib/ele-segmented/style/index.js +5 -0
  341. package/lib/ele-segmented/style/index.scss +102 -0
  342. package/lib/ele-segmented/types/index.d.ts +25 -0
  343. package/lib/ele-split-panel/index.d.ts +7 -8
  344. package/lib/ele-split-panel/index.js +10 -15
  345. package/lib/ele-split-panel/style/index.scss +26 -25
  346. package/lib/ele-steps/index.d.ts +13 -1
  347. package/lib/ele-steps/index.js +13 -13
  348. package/lib/ele-steps/style/index.scss +24 -9
  349. package/lib/ele-table/style/index.scss +1 -0
  350. package/lib/ele-table-select/index.js +2 -2
  351. package/lib/ele-table-select/types/index.d.ts +7 -0
  352. package/lib/ele-tabs/components/tab-title.d.ts +5 -4
  353. package/lib/ele-tabs/index.d.ts +17 -269
  354. package/lib/ele-tabs/index.js +21 -28
  355. package/lib/ele-tabs/props.d.ts +10 -2
  356. package/lib/ele-tabs/props.js +4 -0
  357. package/lib/ele-tabs/style/css-var.scss +7 -7
  358. package/lib/ele-tabs/style/index.scss +4 -3
  359. package/lib/ele-tabs/types/index.d.ts +1 -5
  360. package/lib/ele-text/index.d.ts +2 -0
  361. package/lib/ele-text/index.js +7 -5
  362. package/lib/ele-text/props.d.ts +7 -1
  363. package/lib/ele-text/props.js +5 -1
  364. package/lib/ele-toolbar/index.d.ts +15 -2
  365. package/lib/ele-toolbar/index.js +17 -17
  366. package/lib/ele-toolbar/props.d.ts +8 -2
  367. package/lib/ele-toolbar/props.js +10 -1
  368. package/lib/ele-toolbar/style/index.scss +2 -17
  369. package/lib/ele-tour/index.d.ts +10 -20739
  370. package/lib/ele-tour/index.js +9 -10
  371. package/lib/ele-tour/style/index.scss +5 -4
  372. package/lib/ele-tour/util.js +1 -0
  373. package/lib/ele-upload-list/components/list-item.d.ts +9 -6
  374. package/lib/ele-upload-list/components/list-item.js +20 -23
  375. package/lib/ele-upload-list/index.d.ts +14 -733
  376. package/lib/ele-upload-list/index.js +16 -16
  377. package/lib/ele-upload-list/props.d.ts +5 -0
  378. package/lib/ele-upload-list/props.js +8 -1
  379. package/lib/ele-upload-list/style/index.scss +15 -5
  380. package/lib/ele-upload-list/types/index.d.ts +1 -1
  381. package/lib/ele-watermark/index.js +2 -2
  382. package/lib/ele-watermark/util.js +8 -10
  383. package/lib/ele-xg-player/index.d.ts +1 -1
  384. package/lib/ele-xg-player/index.js +21 -15
  385. package/lib/icons/ArrowDown.js +1 -1
  386. package/lib/icons/ArrowLeft.d.ts +2 -0
  387. package/lib/icons/ArrowLeft.js +29 -0
  388. package/lib/icons/ArrowUp.d.ts +2 -0
  389. package/lib/icons/ArrowUp.js +30 -0
  390. package/lib/icons/index.d.ts +2 -0
  391. package/lib/icons/index.js +4 -0
  392. package/lib/index.d.ts +0 -2
  393. package/lib/index.js +0 -16
  394. package/lib/lang/en_US.js +2 -2
  395. package/lib/lang/zh_CN.js +1 -1
  396. package/lib/lang/zh_TW.js +1 -1
  397. package/lib/style/index.scss +3 -0
  398. package/lib/style/themes/dark-css-var.scss +7 -3
  399. package/lib/style/themes/dark.scss +1 -1
  400. package/lib/style/themes/default.scss +75 -12
  401. package/lib/utils/core.d.ts +13 -33
  402. package/lib/utils/core.js +19 -39
  403. package/lib/utils/menu-util.js +24 -2
  404. package/lib/utils/message.js +1 -1
  405. package/lib/utils/theme-util.d.ts +1 -1
  406. package/lib/utils/theme-util.js +10 -10
  407. package/package.json +19 -18
  408. package/typings/global.d.ts +3 -1
  409. package/es/ele-config-provider/keys.d.ts +0 -8
  410. package/es/ele-config-provider/keys.js +0 -6
  411. package/es/ele-config-provider/use-receiver.js +0 -38
  412. package/es/utils/iframe-component.d.ts +0 -8
  413. package/es/utils/iframe-component.js +0 -70
  414. package/es/utils/license-util.d.ts +0 -9
  415. package/es/utils/license-util.js +0 -176
  416. package/es/utils/printer.d.ts +0 -100
  417. package/es/utils/printer.js +0 -612
  418. package/lib/ele-config-provider/keys.d.ts +0 -8
  419. package/lib/ele-config-provider/keys.js +0 -6
  420. package/lib/ele-config-provider/use-receiver.js +0 -38
  421. package/lib/utils/iframe-component.d.ts +0 -8
  422. package/lib/utils/iframe-component.js +0 -70
  423. package/lib/utils/license-util.d.ts +0 -9
  424. package/lib/utils/license-util.js +0 -176
  425. package/lib/utils/printer.d.ts +0 -100
  426. package/lib/utils/printer.js +0 -612
@@ -2,26 +2,24 @@ import { defineComponent, ref, computed, unref, watch, onActivated, onDeactivate
2
2
  import { ElDialog, ElIcon } from "element-plus";
3
3
  import { Close } from "@element-plus/icons-vue";
4
4
  import { CompressOutlined, ExpandOutlined } from "../icons";
5
- import { useLayoutState } from "../ele-config-provider/use-receiver";
6
- import { useLicense } from "../utils/license-util";
7
- import { screenWidth } from "../utils/core";
5
+ import { pick } from "../utils/core";
6
+ import { useLicense, useLayoutState } from "../ele-config-provider/receiver";
8
7
  import { getModalContainer, resizableClass, multipleClass, fullscreenClass, closedClass, hideClass, innerClass, collapseClass, compactClass, maximizedClass, hasTabClass, mixSidebarClass, singleSidebarClass, topLayoutClass, expandedClass, mobileClass, setInitPosition, wrapperClass, responsiveClass, movableClass, setModalTop, resetModalStyle, handleMovable, handleResizable } from "./util";
9
- import { modalProps, modalEmits } from "./props";
8
+ import { modalProps, modalEmits, dialogPropKeys } from "./props";
10
9
  const _sfc_main = defineComponent({
11
10
  name: "EleModal",
12
11
  components: { ElDialog, ElIcon, Close, CompressOutlined, ExpandOutlined },
13
12
  inheritAttrs: false,
14
13
  props: modalProps,
15
14
  emits: modalEmits,
16
- setup(props, { emit }) {
15
+ setup(props, { emit, attrs }) {
17
16
  const { authenticated } = useLicense();
18
- const layoutProvide = useLayoutState(
19
- ref({ mobile: screenWidth() < 768 })
20
- );
21
- const modalRef = ref(null);
17
+ const layoutProvide = useLayoutState();
18
+ const dialogRef = ref(null);
22
19
  const container = ref(getModalContainer());
23
20
  const isFullscreen = ref(props.fullscreen ?? false);
24
21
  const isActivated = ref(true);
22
+ const destroyed = ref(false);
25
23
  const dialogClass = computed(() => {
26
24
  const layoutState = unref(layoutProvide);
27
25
  const classes = [wrapperClass];
@@ -31,15 +29,13 @@ const _sfc_main = defineComponent({
31
29
  if (props.form) {
32
30
  classes.push("ele-modal-form");
33
31
  }
34
- if (!layoutState.mobile) {
35
- if (props.draggable) {
36
- classes.push(movableClass);
37
- }
38
- if (props.resizable) {
39
- classes.push(resizableClass);
40
- if (typeof props.resizable === "string") {
41
- classes.push(resizableClass + "-" + props.resizable);
42
- }
32
+ if (props.draggable) {
33
+ classes.push(movableClass);
34
+ }
35
+ if (props.resizable) {
36
+ classes.push(resizableClass);
37
+ if (typeof props.resizable === "string") {
38
+ classes.push(resizableClass + "-" + props.resizable);
43
39
  }
44
40
  }
45
41
  if (props.multiple) {
@@ -89,9 +85,21 @@ const _sfc_main = defineComponent({
89
85
  }
90
86
  return classes.join(" ");
91
87
  });
88
+ const dialogProps = computed(() => {
89
+ const opt = {
90
+ fullscreen: false,
91
+ modal: props.multiple ? false : props.modal,
92
+ appendToBody: false,
93
+ showClose: false,
94
+ draggable: false,
95
+ alignCenter: false,
96
+ modalClass: dialogClass.value
97
+ };
98
+ return Object.assign({}, attrs, pick(props, dialogPropKeys), opt);
99
+ });
92
100
  const getModalEl = () => {
93
101
  var _a, _b;
94
- return (_b = unref((_a = unref(modalRef)) == null ? void 0 : _a.dialogContentRef)) == null ? void 0 : _b.$el;
102
+ return (_b = unref((_a = unref(dialogRef)) == null ? void 0 : _a.dialogContentRef)) == null ? void 0 : _b.$el;
95
103
  };
96
104
  const getZIndex = () => {
97
105
  return props.zIndex ?? 2e3;
@@ -183,10 +191,11 @@ const _sfc_main = defineComponent({
183
191
  isActivated.value = false;
184
192
  });
185
193
  return {
186
- modalRef,
194
+ dialogRef,
187
195
  container,
188
196
  isFullscreen,
189
- dialogClass,
197
+ destroyed,
198
+ dialogProps,
190
199
  updateModelValue,
191
200
  toggleFullscreen,
192
201
  onOpen,
@@ -214,32 +223,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
214
223
  const _component_Close = resolveComponent("Close");
215
224
  const _component_ElDialog = resolveComponent("ElDialog");
216
225
  return openBlock(), createBlock(Teleport, {
217
- to: _ctx.container,
218
- disabled: !_ctx.multiple
226
+ to: _ctx.multiple ? _ctx.container : "body",
227
+ disabled: !_ctx.appendToBody
219
228
  }, [
220
- createVNode(_component_ElDialog, mergeProps(_ctx.$attrs, {
221
- ref: "modalRef",
222
- modelValue: _ctx.modelValue,
223
- title: _ctx.title,
224
- width: _ctx.width,
225
- fullscreen: false,
226
- top: _ctx.top,
227
- modal: _ctx.multiple ? false : _ctx.modal,
228
- appendToBody: _ctx.multiple ? false : _ctx.appendToBody,
229
- lockScroll: _ctx.lockScroll,
230
- openDelay: _ctx.openDelay,
231
- closeDelay: _ctx.closeDelay,
232
- closeOnClickModal: _ctx.closeOnClickModal,
233
- closeOnPressEscape: _ctx.closeOnPressEscape,
234
- showClose: false,
235
- beforeClose: _ctx.beforeClose,
236
- draggable: false,
237
- center: _ctx.center,
238
- alignCenter: false,
239
- destroyOnClose: _ctx.destroyOnClose,
240
- modalClass: _ctx.dialogClass,
241
- zIndex: _ctx.zIndex,
242
- trapFocus: _ctx.trapFocus,
229
+ createVNode(_component_ElDialog, mergeProps(_ctx.dialogProps, {
230
+ ref: "dialogRef",
243
231
  "onUpdate:modelValue": _ctx.updateModelValue,
244
232
  onOpen: _ctx.onOpen,
245
233
  onOpened: _ctx.onOpened,
@@ -255,7 +243,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
255
243
  }, [
256
244
  createElementVNode("div", {
257
245
  id: titleId,
258
- class: normalizeClass(titleClass)
246
+ class: normalizeClass(titleClass),
247
+ style: normalizeStyle(_ctx.titleStyle)
259
248
  }, [
260
249
  renderSlot(_ctx.$slots, "header", {
261
250
  close,
@@ -264,7 +253,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
264
253
  }, () => [
265
254
  createTextVNode(toDisplayString(_ctx.title), 1)
266
255
  ])
267
- ], 10, _hoisted_1),
256
+ ], 14, _hoisted_1),
268
257
  _ctx.maxable ? (openBlock(), createElementBlock("div", {
269
258
  key: 0,
270
259
  class: "ele-modal-tool",
@@ -317,7 +306,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
317
306
  ]),
318
307
  key: "0"
319
308
  } : void 0
320
- ]), 1040, ["modelValue", "title", "width", "top", "modal", "appendToBody", "lockScroll", "openDelay", "closeDelay", "closeOnClickModal", "closeOnPressEscape", "beforeClose", "center", "destroyOnClose", "modalClass", "zIndex", "trapFocus", "onUpdate:modelValue", "onOpen", "onOpened", "onClose", "onClosed", "onOpenAutoFocus", "onCloseAutoFocus"])
309
+ ]), 1040, ["onUpdate:modelValue", "onOpen", "onOpened", "onClose", "onClosed", "onOpenAutoFocus", "onCloseAutoFocus"])
321
310
  ], 8, ["to", "disabled"]);
322
311
  }
323
312
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1,4 +1,5 @@
1
1
  import type { PropType, ExtractPropTypes, CSSProperties } from 'vue';
2
+ import { dialogProps } from 'element-plus';
2
3
  import type { Resizable, MoveOut, Position } from './types';
3
4
  /**
4
5
  * 属性
@@ -31,6 +32,7 @@ export declare const modalProps: {
31
32
  default: number;
32
33
  };
33
34
  headerStyle: PropType<CSSProperties>;
35
+ titleStyle: PropType<CSSProperties>;
34
36
  bodyStyle: PropType<CSSProperties>;
35
37
  footerStyle: PropType<CSSProperties>;
36
38
  responsive: {
@@ -52,6 +54,9 @@ export declare const modalProps: {
52
54
  openDelay: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
53
55
  closeDelay: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
54
56
  top: {
57
+ /**
58
+ * 弹窗组件属性名
59
+ */
55
60
  readonly type: PropType<string>;
56
61
  readonly required: false;
57
62
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -99,3 +104,8 @@ export declare const modalEmits: {
99
104
  openAutoFocus: () => boolean;
100
105
  closeAutoFocus: () => boolean;
101
106
  };
107
+ export type DialogPropKeys = Array<keyof typeof dialogProps>;
108
+ /**
109
+ * 弹窗组件属性名
110
+ */
111
+ export declare const dialogPropKeys: DialogPropKeys;
@@ -38,6 +38,8 @@ const modalProps = {
38
38
  },
39
39
  // 标题栏样式
40
40
  headerStyle: Object,
41
+ // 标题样式
42
+ titleStyle: Object,
41
43
  // 主体样式
42
44
  bodyStyle: Object,
43
45
  // 底栏样式
@@ -55,7 +57,9 @@ const modalEmits = {
55
57
  // 更新全屏状态
56
58
  "update:fullscreen": (_fullscreen) => true
57
59
  };
60
+ const dialogPropKeys = Object.keys(dialogProps);
58
61
  export {
62
+ dialogPropKeys,
59
63
  modalEmits,
60
64
  modalProps
61
65
  };
@@ -148,7 +148,7 @@
148
148
  }
149
149
 
150
150
  /* 支持打开多个 */
151
- .ele-modal-container {
151
+ #ele-modal-container {
152
152
  position: absolute;
153
153
  top: 0;
154
154
  left: 0;
@@ -1,7 +1,7 @@
1
1
  import type { Resizable, Position, MoveOut } from './types';
2
- import { ModalProps } from './props';
2
+ import type { ModalProps } from './props';
3
3
  export declare const wrapperClass = "ele-modal";
4
- export declare const containerClass = "ele-modal-container";
4
+ export declare const containerId = "ele-modal-container";
5
5
  export declare const movableClass = "ele-modal-movable";
6
6
  export declare const resizableClass = "ele-modal-resizable";
7
7
  export declare const multipleClass = "ele-modal-multiple";
@@ -20,7 +20,7 @@ export declare const topLayoutClass = "ele-state-top-layout";
20
20
  export declare const expandedClass = "ele-state-expanded";
21
21
  export declare const mobileClass = "ele-state-mobile";
22
22
  /**
23
- * 获取自定义弹窗容器
23
+ * 创建并获取弹窗容器
24
24
  */
25
25
  export declare function getModalContainer(): Element;
26
26
  /**
@@ -1,7 +1,7 @@
1
1
  const titleClass = "el-dialog__title";
2
2
  const headerClass = "el-dialog__header";
3
3
  const wrapperClass = "ele-modal";
4
- const containerClass = "ele-modal-container";
4
+ const containerId = "ele-modal-container";
5
5
  const movableClass = "ele-modal-movable";
6
6
  const resizableClass = "ele-modal-resizable";
7
7
  const multipleClass = "ele-modal-multiple";
@@ -30,12 +30,12 @@ function initModalStyle(modalEl, resizable) {
30
30
  modalEl.style.verticalAlign = "top";
31
31
  }
32
32
  function getModalContainer() {
33
- const container = document.querySelector("." + containerClass);
33
+ const container = document.getElementById(containerId);
34
34
  if (container) {
35
35
  return container;
36
36
  }
37
37
  const elem = document.createElement("div");
38
- elem.classList.add(containerClass);
38
+ elem.id = containerId;
39
39
  document.body.appendChild(elem);
40
40
  return elem;
41
41
  }
@@ -251,9 +251,10 @@ function setModalPosition(modalEl, resizable, position, moveOut) {
251
251
  return;
252
252
  }
253
253
  initModalStyle(modalEl, resizable);
254
- const canOut = !moveOut || Array.isArray(moveOut) && !moveOut.length;
255
- const maxTop = wrapEl.clientHeight - modalEl.clientHeight - (canOut ? 0 : 2);
256
- const maxLeft = wrapEl.clientWidth - modalEl.clientWidth - (canOut ? 0 : 1);
254
+ const canOutB = canMoveOut(moveOut, "bottom");
255
+ const canOutR = canMoveOut(moveOut, "right");
256
+ const maxTop = wrapEl.clientHeight - modalEl.clientHeight - (canOutB ? 0 : 2);
257
+ const maxLeft = wrapEl.clientWidth - modalEl.clientWidth - (canOutR ? 0 : 1);
257
258
  if (position === "top") {
258
259
  modalEl.style.top = "0px";
259
260
  modalEl.style.left = `${maxLeft / 2}px`;
@@ -305,7 +306,7 @@ export {
305
306
  closedClass,
306
307
  collapseClass,
307
308
  compactClass,
308
- containerClass,
309
+ containerId,
309
310
  expandedClass,
310
311
  fullscreenClass,
311
312
  getCurrentStyle,
@@ -1,11 +1,17 @@
1
1
  declare const _sfc_main: import("vue").DefineComponent<{
2
2
  plain: BooleanConstructor;
3
- multiCard: BooleanConstructor;
3
+ multiCard: {
4
+ type: BooleanConstructor;
5
+ default: boolean;
6
+ };
4
7
  flexTable: BooleanConstructor;
5
8
  hideFooter: BooleanConstructor;
6
9
  }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
7
10
  plain: BooleanConstructor;
8
- multiCard: BooleanConstructor;
11
+ multiCard: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ };
9
15
  flexTable: BooleanConstructor;
10
16
  hideFooter: BooleanConstructor;
11
17
  }>>, {
@@ -4,7 +4,10 @@ import type { ExtractPropTypes } from 'vue';
4
4
  */
5
5
  export declare const pageProps: {
6
6
  plain: BooleanConstructor;
7
- multiCard: BooleanConstructor;
7
+ multiCard: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
8
11
  flexTable: BooleanConstructor;
9
12
  hideFooter: BooleanConstructor;
10
13
  };
@@ -2,7 +2,10 @@ const pageProps = {
2
2
  // 是否是单纯的容器
3
3
  plain: Boolean,
4
4
  // 内容是否为多个卡片
5
- multiCard: Boolean,
5
+ multiCard: {
6
+ type: Boolean,
7
+ default: true
8
+ },
6
9
  // 内部表格是否弹性布局
7
10
  flexTable: Boolean,
8
11
  // 是否关闭页脚
@@ -3,13 +3,13 @@ declare const _sfc_main: import("vue").DefineComponent<{
3
3
  type: import("vue").PropType<import("./types").PaginationType>;
4
4
  default: string;
5
5
  };
6
- total: NumberConstructor;
7
6
  pageSize: NumberConstructor;
8
7
  defaultPageSize: NumberConstructor;
9
- currentPage: NumberConstructor;
10
- defaultCurrentPage: NumberConstructor;
8
+ total: NumberConstructor;
11
9
  pageCount: NumberConstructor;
12
10
  pagerCount: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
11
+ currentPage: NumberConstructor;
12
+ defaultCurrentPage: NumberConstructor;
13
13
  layout: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
14
14
  pageSizes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => [10, 20, 30, 40, 50, 100], boolean>;
15
15
  popperClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -32,13 +32,13 @@ declare const _sfc_main: import("vue").DefineComponent<{
32
32
  type: import("vue").PropType<import("./types").PaginationType>;
33
33
  default: string;
34
34
  };
35
- total: NumberConstructor;
36
35
  pageSize: NumberConstructor;
37
36
  defaultPageSize: NumberConstructor;
38
- currentPage: NumberConstructor;
39
- defaultCurrentPage: NumberConstructor;
37
+ total: NumberConstructor;
40
38
  pageCount: NumberConstructor;
41
39
  pagerCount: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
40
+ currentPage: NumberConstructor;
41
+ defaultCurrentPage: NumberConstructor;
42
42
  layout: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
43
43
  pageSizes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => [10, 20, 30, 40, 50, 100], boolean>;
44
44
  popperClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -8,13 +8,13 @@ export declare const paginationProps: {
8
8
  type: PropType<PaginationType>;
9
9
  default: string;
10
10
  };
11
- total: NumberConstructor;
12
11
  pageSize: NumberConstructor;
13
12
  defaultPageSize: NumberConstructor;
14
- currentPage: NumberConstructor;
15
- defaultCurrentPage: NumberConstructor;
13
+ total: NumberConstructor;
16
14
  pageCount: NumberConstructor;
17
15
  pagerCount: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
16
+ currentPage: NumberConstructor;
17
+ defaultCurrentPage: NumberConstructor;
18
18
  layout: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
19
19
  pageSizes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => [10, 20, 30, 40, 50, 100], boolean>;
20
20
  popperClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
@@ -0,0 +1,37 @@
1
+ declare const _sfc_main: import("vue").DefineComponent<{
2
+ modelValue: BooleanConstructor;
3
+ headerStyle: import("vue").PropType<import("vue").CSSProperties>;
4
+ bodyStyle: import("vue").PropType<import("vue").CSSProperties>;
5
+ footerStyle: import("vue").PropType<import("vue").CSSProperties>;
6
+ title: StringConstructor;
7
+ margin: (StringConstructor | NumberConstructor)[];
8
+ direction: import("vue").PropType<import("./types").PrintDirection | null>;
9
+ orientation: import("vue").PropType<import("./types").PrintOrientation | null>;
10
+ target: import("vue").PropType<import("./types").PrintTarget | null>;
11
+ static: BooleanConstructor;
12
+ }, {
13
+ container: import("vue").ShallowRef<Element>;
14
+ visible: import("vue").Ref<boolean>;
15
+ print: () => void;
16
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ 'update:modelValue': (_value: boolean) => boolean;
18
+ done: () => boolean;
19
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
+ modelValue: BooleanConstructor;
21
+ headerStyle: import("vue").PropType<import("vue").CSSProperties>;
22
+ bodyStyle: import("vue").PropType<import("vue").CSSProperties>;
23
+ footerStyle: import("vue").PropType<import("vue").CSSProperties>;
24
+ title: StringConstructor;
25
+ margin: (StringConstructor | NumberConstructor)[];
26
+ direction: import("vue").PropType<import("./types").PrintDirection | null>;
27
+ orientation: import("vue").PropType<import("./types").PrintOrientation | null>;
28
+ target: import("vue").PropType<import("./types").PrintTarget | null>;
29
+ static: BooleanConstructor;
30
+ }>> & {
31
+ onDone?: (() => any) | undefined;
32
+ "onUpdate:modelValue"?: ((_value: boolean) => any) | undefined;
33
+ }, {
34
+ modelValue: boolean;
35
+ static: boolean;
36
+ }, {}>;
37
+ export default _sfc_main;
@@ -0,0 +1,119 @@
1
+ import { defineComponent, shallowRef, ref, watch, nextTick, openBlock, createBlock, Teleport, createElementVNode, normalizeClass, createElementBlock, normalizeStyle, renderSlot, createCommentVNode } from "vue";
2
+ import { useLicense } from "../ele-config-provider/receiver";
3
+ import { usePrinter, getPrintContainer, doPrintOnFrame, doPrint } from "./util";
4
+ import { printerProps, printerEmits } from "./props";
5
+ const _sfc_main = defineComponent({
6
+ name: "ElePrinter",
7
+ props: printerProps,
8
+ emits: printerEmits,
9
+ setup(props, { emit }) {
10
+ const { authenticated } = useLicense();
11
+ const { printId } = usePrinter(() => {
12
+ updateModelValue(false);
13
+ onDone();
14
+ });
15
+ const container = shallowRef(getPrintContainer());
16
+ const visible = ref(false);
17
+ const print = () => {
18
+ if (!authenticated.value) {
19
+ updateModelValue(false);
20
+ return;
21
+ }
22
+ visible.value = true;
23
+ nextTick(() => {
24
+ const option = {
25
+ printId,
26
+ title: props.title,
27
+ margin: props.margin,
28
+ direction: props.direction,
29
+ orientation: props.orientation
30
+ };
31
+ if (props.target === "_iframe") {
32
+ doPrintOnFrame(option);
33
+ visible.value = false;
34
+ } else {
35
+ doPrint(option);
36
+ visible.value = false;
37
+ updateModelValue(false);
38
+ onDone();
39
+ }
40
+ });
41
+ };
42
+ const onDone = () => {
43
+ emit("done");
44
+ };
45
+ const updateModelValue = (value) => {
46
+ emit("update:modelValue", value);
47
+ };
48
+ watch(
49
+ () => props.modelValue,
50
+ (value) => {
51
+ if (value) {
52
+ print();
53
+ }
54
+ },
55
+ { immediate: true }
56
+ );
57
+ return { container, visible, print };
58
+ }
59
+ });
60
+ const _export_sfc = (sfc, props) => {
61
+ const target = sfc.__vccOpts || sfc;
62
+ for (const [key, val] of props) {
63
+ target[key] = val;
64
+ }
65
+ return target;
66
+ };
67
+ const _hoisted_1 = { key: 0 };
68
+ const _hoisted_2 = { key: 1 };
69
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
70
+ return openBlock(), createBlock(Teleport, {
71
+ to: _ctx.container,
72
+ disabled: _ctx.static && !_ctx.visible
73
+ }, [
74
+ createElementVNode("table", {
75
+ class: normalizeClass(["ele-printer", { "is-open": _ctx.visible }, { "is-static": _ctx.static }])
76
+ }, [
77
+ _ctx.$slots.header ? (openBlock(), createElementBlock("thead", _hoisted_1, [
78
+ createElementVNode("tr", null, [
79
+ createElementVNode("td", null, [
80
+ createElementVNode("div", {
81
+ class: "ele-printer-header",
82
+ style: normalizeStyle(_ctx.headerStyle)
83
+ }, [
84
+ renderSlot(_ctx.$slots, "header")
85
+ ], 4)
86
+ ])
87
+ ])
88
+ ])) : createCommentVNode("", true),
89
+ createElementVNode("tbody", null, [
90
+ createElementVNode("tr", null, [
91
+ createElementVNode("td", null, [
92
+ createElementVNode("div", {
93
+ class: "ele-printer-body",
94
+ style: normalizeStyle(_ctx.bodyStyle)
95
+ }, [
96
+ renderSlot(_ctx.$slots, "default")
97
+ ], 4)
98
+ ])
99
+ ])
100
+ ]),
101
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("tfoot", _hoisted_2, [
102
+ createElementVNode("tr", null, [
103
+ createElementVNode("td", null, [
104
+ createElementVNode("div", {
105
+ class: "ele-printer-footer",
106
+ style: normalizeStyle(_ctx.footerStyle)
107
+ }, [
108
+ renderSlot(_ctx.$slots, "footer")
109
+ ], 4)
110
+ ])
111
+ ])
112
+ ])) : createCommentVNode("", true)
113
+ ], 2)
114
+ ], 8, ["to", "disabled"]);
115
+ }
116
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
117
+ export {
118
+ index as default
119
+ };
@@ -0,0 +1,25 @@
1
+ import type { PropType, CSSProperties, ExtractPropTypes } from 'vue';
2
+ import type { PrintDirection, PrintOrientation, PrintTarget } from './types';
3
+ /**
4
+ * 属性
5
+ */
6
+ export declare const printerProps: {
7
+ modelValue: BooleanConstructor;
8
+ headerStyle: PropType<CSSProperties>;
9
+ bodyStyle: PropType<CSSProperties>;
10
+ footerStyle: PropType<CSSProperties>;
11
+ title: StringConstructor;
12
+ margin: (StringConstructor | NumberConstructor)[];
13
+ direction: PropType<PrintDirection | null>;
14
+ orientation: PropType<PrintOrientation | null>;
15
+ target: PropType<PrintTarget | null>;
16
+ static: BooleanConstructor;
17
+ };
18
+ export type PrinterProps = ExtractPropTypes<typeof printerProps>;
19
+ /**
20
+ * 事件
21
+ */
22
+ export declare const printerEmits: {
23
+ 'update:modelValue': (_value: boolean) => boolean;
24
+ done: () => boolean;
25
+ };
@@ -0,0 +1,32 @@
1
+ const printerProps = {
2
+ // 是否打印
3
+ modelValue: Boolean,
4
+ // 页眉样式
5
+ headerStyle: Object,
6
+ // 内容样式
7
+ bodyStyle: Object,
8
+ // 页脚样式
9
+ footerStyle: Object,
10
+ // 标题
11
+ title: String,
12
+ // 页间距
13
+ margin: [String, Number],
14
+ // 纸张方向
15
+ direction: String,
16
+ // 纸张旋转
17
+ orientation: String,
18
+ // 打印位置
19
+ target: String,
20
+ // 是否显示在文档流中
21
+ static: Boolean
22
+ };
23
+ const printerEmits = {
24
+ // 更新打印状态
25
+ "update:modelValue": (_value) => true,
26
+ // 打印完成的事件
27
+ done: () => true
28
+ };
29
+ export {
30
+ printerEmits,
31
+ printerProps
32
+ };
@@ -0,0 +1 @@
1
+ import './index.scss';
@@ -0,0 +1,58 @@
1
+ /* 打印容器 */
2
+ #ele-printer-container {
3
+ pointer-events: none;
4
+ display: none;
5
+ }
6
+
7
+ /* 页眉页脚 */
8
+ .ele-printer {
9
+ width: 100%;
10
+ border-spacing: 0;
11
+ border-collapse: collapse;
12
+ table-layout: fixed;
13
+
14
+ & > thead > tr > td,
15
+ & > tbody > tr > td,
16
+ & > tfoot > tr > td {
17
+ padding: 0;
18
+ border: none;
19
+ }
20
+
21
+ &:not(.is-open, .is-static) {
22
+ display: none;
23
+ }
24
+
25
+ .ele-printer-header,
26
+ .ele-printer-footer {
27
+ display: flex;
28
+ justify-content: space-between;
29
+ box-sizing: border-box;
30
+ }
31
+
32
+ &:not(.is-open) .ele-printer-header,
33
+ &:not(.is-open) .ele-printer-footer {
34
+ display: none;
35
+ }
36
+
37
+ .ele-printer-body {
38
+ box-sizing: border-box;
39
+ }
40
+ }
41
+
42
+ /* 打印状态 */
43
+ html.ele-printing > body {
44
+ color: #000;
45
+ background: #fff;
46
+
47
+ & > * {
48
+ display: none !important;
49
+ }
50
+
51
+ #ele-printer-container {
52
+ display: block !important;
53
+
54
+ * {
55
+ pointer-events: none !important;
56
+ }
57
+ }
58
+ }