ele-admin-plus 1.4.0 → 1.4.1

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 (460) hide show
  1. package/es/core-components.d.ts +2 -0
  2. package/es/core-components.js +104 -100
  3. package/es/ele-admin-layout/components/layout-skeleton.d.ts +9 -3
  4. package/es/ele-admin-layout/components/layout-skeleton.js +9 -3
  5. package/es/ele-admin-layout/components/layout-tabs.d.ts +7 -2
  6. package/es/ele-admin-layout/components/layout-tabs.js +9 -4
  7. package/es/ele-admin-layout/index.js +23 -18
  8. package/es/ele-alert/index.js +7 -8
  9. package/es/ele-app/el.d.ts +3 -1
  10. package/es/ele-app/plus.d.ts +19 -40
  11. package/es/ele-app/plusx.d.ts +53 -0
  12. package/es/ele-app/style/overwrite/date-picker/index.scss +1 -1
  13. package/es/ele-autocomplete/index.d.ts +265 -47
  14. package/es/ele-autocomplete/props.d.ts +124 -22
  15. package/es/ele-avatar-group/types.d.ts +1 -1
  16. package/es/ele-backtop/index.js +13 -8
  17. package/es/ele-basic-select/components/select-view.d.ts +160 -0
  18. package/es/ele-basic-select/components/select-view.js +309 -0
  19. package/es/ele-basic-select/index.d.ts +45 -35
  20. package/es/ele-basic-select/index.js +160 -250
  21. package/es/ele-basic-select/props.d.ts +34 -16
  22. package/es/ele-basic-select/props.js +33 -15
  23. package/es/ele-basic-select/style/index.js +2 -0
  24. package/es/ele-basic-select/types.d.ts +22 -1
  25. package/es/ele-basic-select/util.js +6 -1
  26. package/es/ele-bottom-bar/index.js +6 -6
  27. package/es/ele-breadcrumb/types.d.ts +1 -1
  28. package/es/ele-cascader/index.d.ts +17 -19
  29. package/es/ele-cascader/props.d.ts +4 -5
  30. package/es/ele-check-card/types.d.ts +1 -1
  31. package/es/ele-checkbox-group/index.d.ts +1 -1
  32. package/es/ele-config-provider/components/receiver-view.d.ts +2 -0
  33. package/es/ele-config-provider/components/receiver-view.js +96 -83
  34. package/es/ele-config-provider/receiver.d.ts +4 -2
  35. package/es/ele-config-provider/receiver.js +12 -1
  36. package/es/ele-config-provider/types.d.ts +10 -1
  37. package/es/ele-copyable/index.d.ts +2 -4
  38. package/es/ele-cron-builder/index.d.ts +24 -0
  39. package/es/ele-cron-builder/index.js +81 -0
  40. package/es/ele-cron-builder/props.d.ts +31 -0
  41. package/es/ele-cron-builder/props.js +24 -0
  42. package/es/ele-cron-builder/style/index.d.ts +1 -0
  43. package/es/ele-cron-builder/style/index.js +4 -0
  44. package/es/ele-cron-builder/style/index.scss +6 -0
  45. package/es/ele-cron-builder/types.d.ts +8 -0
  46. package/es/ele-cron-panel/components/cron-day.d.ts +25 -0
  47. package/es/ele-cron-panel/components/cron-day.js +232 -0
  48. package/es/ele-cron-panel/components/cron-hour.d.ts +25 -0
  49. package/es/ele-cron-panel/components/cron-hour.js +174 -0
  50. package/es/ele-cron-panel/components/cron-minute.d.ts +25 -0
  51. package/es/ele-cron-panel/components/cron-minute.js +174 -0
  52. package/es/ele-cron-panel/components/cron-month.d.ts +25 -0
  53. package/es/ele-cron-panel/components/cron-month.js +174 -0
  54. package/es/ele-cron-panel/components/cron-second.d.ts +25 -0
  55. package/es/ele-cron-panel/components/cron-second.js +174 -0
  56. package/es/ele-cron-panel/components/cron-week.d.ts +25 -0
  57. package/es/ele-cron-panel/components/cron-week.js +229 -0
  58. package/es/ele-cron-panel/components/cron-year.d.ts +25 -0
  59. package/es/ele-cron-panel/components/cron-year.js +186 -0
  60. package/es/ele-cron-panel/index.d.ts +14 -0
  61. package/es/ele-cron-panel/index.js +348 -0
  62. package/es/ele-cron-panel/props.d.ts +20 -0
  63. package/es/ele-cron-panel/props.js +14 -0
  64. package/es/ele-cron-panel/style/index.d.ts +1 -0
  65. package/es/ele-cron-panel/style/index.js +7 -0
  66. package/es/ele-cron-panel/style/index.scss +282 -0
  67. package/es/ele-cron-panel/types.d.ts +118 -0
  68. package/es/ele-cron-panel/util.d.ts +23 -0
  69. package/es/ele-cron-panel/util.js +542 -0
  70. package/es/ele-cropper/components/cropper-tools.d.ts +2 -2
  71. package/es/ele-cropper/index.d.ts +1 -3
  72. package/es/ele-cropper-modal/index.d.ts +3 -5
  73. package/es/ele-crud/components/page-side.js +1 -4
  74. package/es/ele-crud/index.d.ts +3 -3
  75. package/es/ele-crud/types.d.ts +1 -1
  76. package/es/ele-crud/util.d.ts +1 -1
  77. package/es/ele-crud-builder/components/body-header.d.ts +1 -1
  78. package/es/ele-crud-builder/components/code-generator.d.ts +1 -1
  79. package/es/ele-crud-builder/components/code-preview.d.ts +1 -1
  80. package/es/ele-crud-builder/components/form-design-modal.d.ts +1 -1
  81. package/es/ele-crud-builder/components/import-modal.d.ts +1 -1
  82. package/es/ele-crud-builder/components/page-config.d.ts +1 -1
  83. package/es/ele-crud-builder/components/template-list.d.ts +1 -1
  84. package/es/ele-crud-builder/index.d.ts +3 -3
  85. package/es/ele-crud-builder/index.js +1 -1
  86. package/es/ele-crud-builder/props.d.ts +2 -1
  87. package/es/ele-crud-builder/types.d.ts +1 -1
  88. package/es/ele-crud-builder/util.js +2 -2
  89. package/es/ele-data-table/index.d.ts +38 -44
  90. package/es/ele-data-table/index.js +6 -3
  91. package/es/ele-data-table/props.d.ts +39 -45
  92. package/es/ele-drawer/index.d.ts +11 -2
  93. package/es/ele-drawer/index.js +9 -4
  94. package/es/ele-drawer/props.d.ts +11 -0
  95. package/es/ele-drawer/props.js +11 -2
  96. package/es/ele-drawer/style/index.scss +11 -0
  97. package/es/ele-dropdown/components/pro-dropdown.d.ts +28 -28
  98. package/es/ele-dropdown/index.d.ts +30 -30
  99. package/es/ele-dropdown/props.d.ts +12 -12
  100. package/es/ele-dropdown/types.d.ts +1 -1
  101. package/es/ele-edit-tag/index.d.ts +1 -1
  102. package/es/ele-ellipsis/props.d.ts +1 -1
  103. package/es/ele-file-list/components/file-grid.d.ts +1 -1
  104. package/es/ele-file-list/components/file-table.d.ts +1 -1
  105. package/es/ele-file-list/icons.js +10 -1
  106. package/es/ele-file-list/index.d.ts +3 -3
  107. package/es/ele-file-list/types.d.ts +1 -1
  108. package/es/ele-icon-select/components/icon-grid.d.ts +8 -3
  109. package/es/ele-icon-select/components/icon-grid.js +20 -12
  110. package/es/ele-icon-select/index.d.ts +59 -56
  111. package/es/ele-icon-select/index.js +94 -86
  112. package/es/ele-icon-select/props.d.ts +36 -31
  113. package/es/ele-icon-select/props.js +34 -30
  114. package/es/ele-icon-select/style/css-var.scss +1 -1
  115. package/es/ele-icon-select/style/index.scss +50 -18
  116. package/es/ele-icon-select/types.d.ts +13 -0
  117. package/es/ele-image-viewer/index.d.ts +2 -16
  118. package/es/ele-image-viewer/index.js +13 -15
  119. package/es/ele-image-viewer/props.d.ts +1 -8
  120. package/es/ele-loading/index.js +6 -6
  121. package/es/ele-map-picker/index.d.ts +5 -7
  122. package/es/ele-mention/index.d.ts +29 -8
  123. package/es/ele-mention/props.d.ts +9 -0
  124. package/es/ele-menus/types.d.ts +2 -0
  125. package/es/ele-menus/util.js +1 -1
  126. package/es/ele-modal/index.d.ts +8 -6
  127. package/es/ele-modal/index.js +12 -5
  128. package/es/ele-modal/props.d.ts +2 -0
  129. package/es/ele-modal/props.js +2 -0
  130. package/es/ele-modal/style/index.scss +16 -0
  131. package/es/ele-popconfirm/index.d.ts +95 -96
  132. package/es/ele-popconfirm/index.js +6 -21
  133. package/es/ele-popconfirm/props.d.ts +32 -32
  134. package/es/ele-popover/index.d.ts +72 -72
  135. package/es/ele-printer/index.d.ts +2 -2
  136. package/es/ele-printer/index.js +7 -7
  137. package/es/ele-pro-form/components/item-type-data.js +39 -64
  138. package/es/ele-pro-form/components/render-util.d.ts +2 -2
  139. package/es/ele-pro-form/index.d.ts +10 -5
  140. package/es/ele-pro-form/props.d.ts +3 -1
  141. package/es/ele-pro-form-builder/components/body-form.d.ts +1 -1
  142. package/es/ele-pro-form-builder/components/body-header.d.ts +1 -1
  143. package/es/ele-pro-form-builder/components/code-generator.d.ts +1 -1
  144. package/es/ele-pro-form-builder/components/code-preview.d.ts +1 -1
  145. package/es/ele-pro-form-builder/components/config-form.d.ts +1 -1
  146. package/es/ele-pro-form-builder/components/import-modal.d.ts +1 -1
  147. package/es/ele-pro-form-builder/components/preview-modal.d.ts +1 -1
  148. package/es/ele-pro-form-builder/components/props-form.d.ts +1 -1
  149. package/es/ele-pro-form-builder/components/table-util.js +3 -0
  150. package/es/ele-pro-form-builder/components/template-list.d.ts +1 -1
  151. package/es/ele-pro-form-builder/index.d.ts +1 -1
  152. package/es/ele-pro-form-builder/props.d.ts +2 -1
  153. package/es/ele-pro-form-builder/types.d.ts +1 -1
  154. package/es/ele-pro-layout/index.d.ts +29 -29
  155. package/es/ele-pro-layout/props.d.ts +12 -12
  156. package/es/ele-pro-layout/style/index.scss +0 -2
  157. package/es/ele-pro-layout/types.d.ts +2 -0
  158. package/es/ele-pro-table/components/table-tools.d.ts +12 -97
  159. package/es/ele-pro-table/components/table-tools.js +118 -248
  160. package/es/ele-pro-table/components/tool-export.d.ts +7 -3
  161. package/es/ele-pro-table/components/tool-export.js +32 -20
  162. package/es/ele-pro-table/components/tool-print.d.ts +6 -2
  163. package/es/ele-pro-table/components/tool-print.js +37 -25
  164. package/es/ele-pro-table/exceljs-plugin.d.ts +12 -0
  165. package/es/ele-pro-table/exceljs-plugin.js +81 -0
  166. package/es/ele-pro-table/index.d.ts +46 -53
  167. package/es/ele-pro-table/index.js +127 -61
  168. package/es/ele-pro-table/props.d.ts +18 -21
  169. package/es/ele-pro-table/style/css-var.scss +4 -0
  170. package/es/ele-pro-table/style/index.scss +2 -2
  171. package/es/ele-pro-table/types.d.ts +11 -0
  172. package/es/ele-radio-group/index.d.ts +2 -2
  173. package/es/ele-segmented/index.d.ts +2 -2
  174. package/es/ele-segmented/props.d.ts +1 -1
  175. package/es/ele-segmented/style/index.scss +1 -0
  176. package/es/ele-select/index.d.ts +12 -12
  177. package/es/ele-select/props.d.ts +2 -2
  178. package/es/ele-select/props.js +2 -2
  179. package/es/ele-select-tree/index.d.ts +10 -10
  180. package/es/ele-select-tree/props.d.ts +2 -2
  181. package/es/ele-select-tree/props.js +2 -2
  182. package/es/ele-split-panel/style/index.scss +1 -1
  183. package/es/ele-steps/types.d.ts +1 -1
  184. package/es/ele-tab-bar/index.d.ts +4 -2
  185. package/es/ele-tab-bar/index.js +1 -0
  186. package/es/ele-tab-bar/props.d.ts +3 -1
  187. package/es/ele-tab-bar/props.js +4 -2
  188. package/es/ele-tab-bar/style/index.scss +1 -0
  189. package/es/ele-table-select/index.d.ts +2 -0
  190. package/es/ele-table-select/props.d.ts +4 -2
  191. package/es/ele-table-select/props.js +4 -2
  192. package/es/ele-tabs/index.d.ts +16 -12
  193. package/es/ele-tabs/style/index.scss +1 -0
  194. package/es/ele-tabs/types.d.ts +1 -1
  195. package/es/ele-timeline/types.d.ts +3 -3
  196. package/es/ele-tooltip/index.d.ts +53 -53
  197. package/es/ele-tour/index.d.ts +3 -3
  198. package/es/ele-tour/index.js +7 -7
  199. package/es/ele-transfer/index.d.ts +1 -1
  200. package/es/ele-tree-select/index.d.ts +4 -2
  201. package/es/ele-tree-select/props.d.ts +1 -1
  202. package/es/ele-upload-list/components/list-item.d.ts +3 -0
  203. package/es/ele-upload-list/components/list-item.js +1 -0
  204. package/es/ele-upload-list/index.d.ts +3 -3
  205. package/es/ele-upload-list/index.js +25 -8
  206. package/es/ele-upload-list/types.d.ts +1 -1
  207. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  208. package/es/ele-virtual-table/index.d.ts +38 -44
  209. package/es/ele-virtual-table/props.d.ts +19 -22
  210. package/es/ele-watermark/index.d.ts +20 -7
  211. package/es/ele-watermark/index.js +254 -92
  212. package/es/ele-watermark/props.d.ts +10 -3
  213. package/es/ele-watermark/props.js +10 -3
  214. package/es/ele-watermark/types.d.ts +12 -0
  215. package/es/ele-watermark/util.d.ts +4 -9
  216. package/es/ele-watermark/util.js +20 -22
  217. package/es/lang/en_US.js +116 -0
  218. package/es/lang/zh_CN.js +116 -0
  219. package/es/lang/zh_TW.js +116 -0
  220. package/es/style/plus.scss +3 -1
  221. package/es/style/themes/default.scss +18 -3
  222. package/es/style/themes/rounded.scss +5 -1
  223. package/es/style/themes/transparent.scss +3 -0
  224. package/es/utils/common.d.ts +10 -0
  225. package/es/utils/common.js +10 -0
  226. package/es/utils/core.d.ts +6 -0
  227. package/es/utils/core.js +10 -1
  228. package/es/utils/menu-util.js +1 -0
  229. package/es/utils/theme-util.d.ts +1 -1
  230. package/lib/core-components.cjs +104 -100
  231. package/lib/core-components.d.ts +2 -0
  232. package/lib/ele-admin-layout/components/layout-skeleton.cjs +9 -3
  233. package/lib/ele-admin-layout/components/layout-skeleton.d.ts +9 -3
  234. package/lib/ele-admin-layout/components/layout-tabs.cjs +9 -4
  235. package/lib/ele-admin-layout/components/layout-tabs.d.ts +7 -2
  236. package/lib/ele-admin-layout/index.cjs +23 -18
  237. package/lib/ele-alert/index.cjs +6 -7
  238. package/lib/ele-app/el.d.ts +3 -1
  239. package/lib/ele-app/plus.d.ts +19 -40
  240. package/lib/ele-app/plusx.d.ts +53 -0
  241. package/lib/ele-app/style/overwrite/date-picker/index.scss +1 -1
  242. package/lib/ele-autocomplete/index.d.ts +265 -47
  243. package/lib/ele-autocomplete/props.d.ts +124 -22
  244. package/lib/ele-avatar-group/types.d.ts +1 -1
  245. package/lib/ele-backtop/index.cjs +12 -7
  246. package/lib/ele-basic-select/components/select-view.cjs +308 -0
  247. package/lib/ele-basic-select/components/select-view.d.ts +160 -0
  248. package/lib/ele-basic-select/index.cjs +159 -249
  249. package/lib/ele-basic-select/index.d.ts +45 -35
  250. package/lib/ele-basic-select/props.cjs +33 -15
  251. package/lib/ele-basic-select/props.d.ts +34 -16
  252. package/lib/ele-basic-select/style/index.cjs +2 -0
  253. package/lib/ele-basic-select/types.d.ts +22 -1
  254. package/lib/ele-basic-select/util.cjs +6 -1
  255. package/lib/ele-bottom-bar/index.cjs +5 -5
  256. package/lib/ele-breadcrumb/types.d.ts +1 -1
  257. package/lib/ele-cascader/index.d.ts +17 -19
  258. package/lib/ele-cascader/props.d.ts +4 -5
  259. package/lib/ele-check-card/types.d.ts +1 -1
  260. package/lib/ele-checkbox-group/index.d.ts +1 -1
  261. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  262. package/lib/ele-config-provider/components/receiver-view.d.ts +2 -0
  263. package/lib/ele-config-provider/receiver.cjs +14 -1
  264. package/lib/ele-config-provider/receiver.d.ts +4 -2
  265. package/lib/ele-config-provider/types.d.ts +10 -1
  266. package/lib/ele-copyable/index.d.ts +2 -4
  267. package/lib/ele-cron-builder/index.cjs +80 -0
  268. package/lib/ele-cron-builder/index.d.ts +24 -0
  269. package/lib/ele-cron-builder/props.cjs +24 -0
  270. package/lib/ele-cron-builder/props.d.ts +31 -0
  271. package/lib/ele-cron-builder/style/index.cjs +5 -0
  272. package/lib/ele-cron-builder/style/index.d.ts +1 -0
  273. package/lib/ele-cron-builder/style/index.scss +6 -0
  274. package/lib/ele-cron-builder/types.d.ts +8 -0
  275. package/lib/ele-cron-panel/components/cron-day.cjs +231 -0
  276. package/lib/ele-cron-panel/components/cron-day.d.ts +25 -0
  277. package/lib/ele-cron-panel/components/cron-hour.cjs +173 -0
  278. package/lib/ele-cron-panel/components/cron-hour.d.ts +25 -0
  279. package/lib/ele-cron-panel/components/cron-minute.cjs +173 -0
  280. package/lib/ele-cron-panel/components/cron-minute.d.ts +25 -0
  281. package/lib/ele-cron-panel/components/cron-month.cjs +173 -0
  282. package/lib/ele-cron-panel/components/cron-month.d.ts +25 -0
  283. package/lib/ele-cron-panel/components/cron-second.cjs +173 -0
  284. package/lib/ele-cron-panel/components/cron-second.d.ts +25 -0
  285. package/lib/ele-cron-panel/components/cron-week.cjs +228 -0
  286. package/lib/ele-cron-panel/components/cron-week.d.ts +25 -0
  287. package/lib/ele-cron-panel/components/cron-year.cjs +185 -0
  288. package/lib/ele-cron-panel/components/cron-year.d.ts +25 -0
  289. package/lib/ele-cron-panel/index.cjs +347 -0
  290. package/lib/ele-cron-panel/index.d.ts +14 -0
  291. package/lib/ele-cron-panel/props.cjs +14 -0
  292. package/lib/ele-cron-panel/props.d.ts +20 -0
  293. package/lib/ele-cron-panel/style/index.cjs +8 -0
  294. package/lib/ele-cron-panel/style/index.d.ts +1 -0
  295. package/lib/ele-cron-panel/style/index.scss +282 -0
  296. package/lib/ele-cron-panel/types.d.ts +118 -0
  297. package/lib/ele-cron-panel/util.cjs +542 -0
  298. package/lib/ele-cron-panel/util.d.ts +23 -0
  299. package/lib/ele-cropper/components/cropper-tools.d.ts +2 -2
  300. package/lib/ele-cropper/index.d.ts +1 -3
  301. package/lib/ele-cropper-modal/index.d.ts +3 -5
  302. package/lib/ele-crud/components/page-side.cjs +1 -4
  303. package/lib/ele-crud/index.d.ts +3 -3
  304. package/lib/ele-crud/types.d.ts +1 -1
  305. package/lib/ele-crud/util.d.ts +1 -1
  306. package/lib/ele-crud-builder/components/body-header.d.ts +1 -1
  307. package/lib/ele-crud-builder/components/code-generator.d.ts +1 -1
  308. package/lib/ele-crud-builder/components/code-preview.d.ts +1 -1
  309. package/lib/ele-crud-builder/components/form-design-modal.d.ts +1 -1
  310. package/lib/ele-crud-builder/components/import-modal.d.ts +1 -1
  311. package/lib/ele-crud-builder/components/page-config.d.ts +1 -1
  312. package/lib/ele-crud-builder/components/template-list.d.ts +1 -1
  313. package/lib/ele-crud-builder/index.cjs +1 -1
  314. package/lib/ele-crud-builder/index.d.ts +3 -3
  315. package/lib/ele-crud-builder/props.d.ts +2 -1
  316. package/lib/ele-crud-builder/types.d.ts +1 -1
  317. package/lib/ele-crud-builder/util.cjs +2 -2
  318. package/lib/ele-data-table/index.cjs +6 -3
  319. package/lib/ele-data-table/index.d.ts +38 -44
  320. package/lib/ele-data-table/props.d.ts +39 -45
  321. package/lib/ele-drawer/index.cjs +18 -13
  322. package/lib/ele-drawer/index.d.ts +11 -2
  323. package/lib/ele-drawer/props.cjs +10 -1
  324. package/lib/ele-drawer/props.d.ts +11 -0
  325. package/lib/ele-drawer/style/index.scss +11 -0
  326. package/lib/ele-dropdown/components/pro-dropdown.d.ts +28 -28
  327. package/lib/ele-dropdown/index.d.ts +30 -30
  328. package/lib/ele-dropdown/props.d.ts +12 -12
  329. package/lib/ele-dropdown/types.d.ts +1 -1
  330. package/lib/ele-edit-tag/index.d.ts +1 -1
  331. package/lib/ele-ellipsis/props.d.ts +1 -1
  332. package/lib/ele-file-list/components/file-grid.d.ts +1 -1
  333. package/lib/ele-file-list/components/file-table.d.ts +1 -1
  334. package/lib/ele-file-list/icons.cjs +10 -1
  335. package/lib/ele-file-list/index.d.ts +3 -3
  336. package/lib/ele-file-list/types.d.ts +1 -1
  337. package/lib/ele-icon-select/components/icon-grid.cjs +19 -11
  338. package/lib/ele-icon-select/components/icon-grid.d.ts +8 -3
  339. package/lib/ele-icon-select/index.cjs +93 -85
  340. package/lib/ele-icon-select/index.d.ts +59 -56
  341. package/lib/ele-icon-select/props.cjs +34 -30
  342. package/lib/ele-icon-select/props.d.ts +36 -31
  343. package/lib/ele-icon-select/style/css-var.scss +1 -1
  344. package/lib/ele-icon-select/style/index.scss +50 -18
  345. package/lib/ele-icon-select/types.d.ts +13 -0
  346. package/lib/ele-image-viewer/index.cjs +12 -14
  347. package/lib/ele-image-viewer/index.d.ts +2 -16
  348. package/lib/ele-image-viewer/props.d.ts +1 -8
  349. package/lib/ele-loading/index.cjs +5 -5
  350. package/lib/ele-map-picker/index.d.ts +5 -7
  351. package/lib/ele-mention/index.d.ts +29 -8
  352. package/lib/ele-mention/props.d.ts +9 -0
  353. package/lib/ele-menus/types.d.ts +2 -0
  354. package/lib/ele-menus/util.cjs +1 -1
  355. package/lib/ele-modal/index.cjs +43 -36
  356. package/lib/ele-modal/index.d.ts +8 -6
  357. package/lib/ele-modal/props.cjs +2 -0
  358. package/lib/ele-modal/props.d.ts +2 -0
  359. package/lib/ele-modal/style/index.scss +16 -0
  360. package/lib/ele-popconfirm/index.cjs +5 -20
  361. package/lib/ele-popconfirm/index.d.ts +95 -96
  362. package/lib/ele-popconfirm/props.d.ts +32 -32
  363. package/lib/ele-popover/index.d.ts +72 -72
  364. package/lib/ele-printer/index.cjs +6 -6
  365. package/lib/ele-printer/index.d.ts +2 -2
  366. package/lib/ele-pro-form/components/item-type-data.cjs +39 -64
  367. package/lib/ele-pro-form/components/render-util.d.ts +2 -2
  368. package/lib/ele-pro-form/index.d.ts +10 -5
  369. package/lib/ele-pro-form/props.d.ts +3 -1
  370. package/lib/ele-pro-form-builder/components/body-form.d.ts +1 -1
  371. package/lib/ele-pro-form-builder/components/body-header.d.ts +1 -1
  372. package/lib/ele-pro-form-builder/components/code-generator.d.ts +1 -1
  373. package/lib/ele-pro-form-builder/components/code-preview.d.ts +1 -1
  374. package/lib/ele-pro-form-builder/components/config-form.d.ts +1 -1
  375. package/lib/ele-pro-form-builder/components/import-modal.d.ts +1 -1
  376. package/lib/ele-pro-form-builder/components/preview-modal.d.ts +1 -1
  377. package/lib/ele-pro-form-builder/components/props-form.d.ts +1 -1
  378. package/lib/ele-pro-form-builder/components/table-util.cjs +3 -0
  379. package/lib/ele-pro-form-builder/components/template-list.d.ts +1 -1
  380. package/lib/ele-pro-form-builder/index.d.ts +1 -1
  381. package/lib/ele-pro-form-builder/props.d.ts +2 -1
  382. package/lib/ele-pro-form-builder/types.d.ts +1 -1
  383. package/lib/ele-pro-layout/index.d.ts +29 -29
  384. package/lib/ele-pro-layout/props.d.ts +12 -12
  385. package/lib/ele-pro-layout/style/index.scss +0 -2
  386. package/lib/ele-pro-layout/types.d.ts +2 -0
  387. package/lib/ele-pro-table/components/table-tools.cjs +117 -247
  388. package/lib/ele-pro-table/components/table-tools.d.ts +12 -97
  389. package/lib/ele-pro-table/components/tool-export.cjs +32 -20
  390. package/lib/ele-pro-table/components/tool-export.d.ts +7 -3
  391. package/lib/ele-pro-table/components/tool-print.cjs +37 -25
  392. package/lib/ele-pro-table/components/tool-print.d.ts +6 -2
  393. package/lib/ele-pro-table/exceljs-plugin.cjs +81 -0
  394. package/lib/ele-pro-table/exceljs-plugin.d.ts +12 -0
  395. package/lib/ele-pro-table/index.cjs +153 -87
  396. package/lib/ele-pro-table/index.d.ts +46 -53
  397. package/lib/ele-pro-table/props.d.ts +18 -21
  398. package/lib/ele-pro-table/style/css-var.scss +4 -0
  399. package/lib/ele-pro-table/style/index.scss +2 -2
  400. package/lib/ele-pro-table/types.d.ts +11 -0
  401. package/lib/ele-radio-group/index.d.ts +2 -2
  402. package/lib/ele-segmented/index.d.ts +2 -2
  403. package/lib/ele-segmented/props.d.ts +1 -1
  404. package/lib/ele-segmented/style/index.scss +1 -0
  405. package/lib/ele-select/index.d.ts +12 -12
  406. package/lib/ele-select/props.cjs +1 -1
  407. package/lib/ele-select/props.d.ts +2 -2
  408. package/lib/ele-select-tree/index.d.ts +10 -10
  409. package/lib/ele-select-tree/props.cjs +1 -1
  410. package/lib/ele-select-tree/props.d.ts +2 -2
  411. package/lib/ele-split-panel/style/index.scss +1 -1
  412. package/lib/ele-steps/types.d.ts +1 -1
  413. package/lib/ele-tab-bar/index.cjs +1 -0
  414. package/lib/ele-tab-bar/index.d.ts +4 -2
  415. package/lib/ele-tab-bar/props.cjs +4 -2
  416. package/lib/ele-tab-bar/props.d.ts +3 -1
  417. package/lib/ele-tab-bar/style/index.scss +1 -0
  418. package/lib/ele-table-select/index.d.ts +2 -0
  419. package/lib/ele-table-select/props.cjs +4 -2
  420. package/lib/ele-table-select/props.d.ts +4 -2
  421. package/lib/ele-tabs/index.d.ts +16 -12
  422. package/lib/ele-tabs/style/index.scss +1 -0
  423. package/lib/ele-tabs/types.d.ts +1 -1
  424. package/lib/ele-timeline/types.d.ts +3 -3
  425. package/lib/ele-tooltip/index.d.ts +53 -53
  426. package/lib/ele-tour/index.cjs +6 -6
  427. package/lib/ele-tour/index.d.ts +3 -3
  428. package/lib/ele-transfer/index.d.ts +1 -1
  429. package/lib/ele-tree-select/index.d.ts +4 -2
  430. package/lib/ele-tree-select/props.d.ts +1 -1
  431. package/lib/ele-upload-list/components/list-item.cjs +1 -0
  432. package/lib/ele-upload-list/components/list-item.d.ts +3 -0
  433. package/lib/ele-upload-list/index.cjs +25 -8
  434. package/lib/ele-upload-list/index.d.ts +3 -3
  435. package/lib/ele-upload-list/types.d.ts +1 -1
  436. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  437. package/lib/ele-virtual-table/index.d.ts +38 -44
  438. package/lib/ele-virtual-table/props.d.ts +19 -22
  439. package/lib/ele-watermark/index.cjs +252 -90
  440. package/lib/ele-watermark/index.d.ts +20 -7
  441. package/lib/ele-watermark/props.cjs +10 -3
  442. package/lib/ele-watermark/props.d.ts +10 -3
  443. package/lib/ele-watermark/types.d.ts +12 -0
  444. package/lib/ele-watermark/util.cjs +22 -22
  445. package/lib/ele-watermark/util.d.ts +4 -9
  446. package/lib/lang/en_US.cjs +116 -0
  447. package/lib/lang/zh_CN.cjs +116 -0
  448. package/lib/lang/zh_TW.cjs +116 -0
  449. package/lib/style/plus.scss +3 -1
  450. package/lib/style/themes/default.scss +18 -3
  451. package/lib/style/themes/rounded.scss +5 -1
  452. package/lib/style/themes/transparent.scss +3 -0
  453. package/lib/utils/common.cjs +10 -0
  454. package/lib/utils/common.d.ts +10 -0
  455. package/lib/utils/core.cjs +10 -1
  456. package/lib/utils/core.d.ts +6 -0
  457. package/lib/utils/menu-util.cjs +1 -0
  458. package/lib/utils/theme-util.d.ts +1 -1
  459. package/package.json +3 -2
  460. package/typings/global.d.ts +2 -0
@@ -1,6 +1,17 @@
1
- import { defineComponent, ref, nextTick, onMounted, watch, createElementBlock, openBlock, normalizeStyle, renderSlot, createCommentVNode } from "vue";
2
- import { useMutation, getFont, getPixelRatio, getGap, rotateWatermark, joinStyle } from "./util";
1
+ import { defineComponent, ref, nextTick, useId, computed, inject, watch, onMounted, createElementBlock, openBlock, normalizeStyle, renderSlot, createCommentVNode, Fragment, createElementVNode, unref, renderList, toDisplayString } from "vue";
2
+ import { useMutation, joinStyle, INFO_LOG_KEY, getPixelRatio, rotateWatermark } from "./util";
3
3
  import { watermarkProps } from "./props";
4
+ const _hoisted_1 = ["id", "width", "height"];
5
+ const _hoisted_2 = ["transform"];
6
+ const _hoisted_3 = ["href", "width", "height", "x", "y"];
7
+ const _hoisted_4 = ["transform"];
8
+ const _hoisted_5 = ["href", "width", "height", "x", "y"];
9
+ const _hoisted_6 = ["id", "width", "height"];
10
+ const _hoisted_7 = ["transform"];
11
+ const _hoisted_8 = ["x", "y", "fill", "font-size", "font-weight", "font-family", "font-style"];
12
+ const _hoisted_9 = ["transform"];
13
+ const _hoisted_10 = ["x", "y", "fill", "font-size", "font-weight", "font-family", "font-style"];
14
+ const _hoisted_11 = ["fill", "transform"];
4
15
  const SIZE = 2;
5
16
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
17
  ...{ name: "EleWatermark" },
@@ -8,7 +19,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8
19
  props: watermarkProps,
9
20
  setup(__props) {
10
21
  const props = __props;
11
- const { observe, disconnect } = useMutation({
22
+ const { observe, observeTextNode, disconnect } = useMutation({
12
23
  getRoot: () => rootRef.value,
13
24
  getEl: () => imgRef.value,
14
25
  onDeleted: () => {
@@ -22,92 +33,121 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
33
  render();
23
34
  }
24
35
  });
36
+ const svgId = useId();
25
37
  const rootKey = ref(1);
26
38
  const rootRef = ref(null);
27
39
  const imgRef = ref(null);
28
- const imgStyle = ref({ display: "none" });
29
- const updateStyle = (base64, size) => {
40
+ const imgStyle = ref(joinStyle({ display: "none" }));
41
+ const markWidth = computed(() => {
42
+ return props.width ?? 120;
43
+ });
44
+ const markHeight = computed(() => {
45
+ return props.height ?? 64;
46
+ });
47
+ const markGapX = computed(() => {
48
+ var _a;
49
+ return ((_a = props.gap) == null ? void 0 : _a[0]) ?? 100;
50
+ });
51
+ const markGapY = computed(() => {
52
+ var _a;
53
+ return ((_a = props.gap) == null ? void 0 : _a[1]) ?? 100;
54
+ });
55
+ const markOffsetX = computed(() => {
56
+ var _a;
57
+ return ((_a = props.offset) == null ? void 0 : _a[0]) ?? markGapX.value / 2;
58
+ });
59
+ const markOffsetY = computed(() => {
60
+ var _a;
61
+ return ((_a = props.offset) == null ? void 0 : _a[1]) ?? markGapY.value / 2;
62
+ });
63
+ const markFont = computed(() => {
64
+ return {
65
+ color: "rgba(122, 122, 122, 0.35)",
66
+ fontSize: 16,
67
+ fontWeight: "normal",
68
+ fontFamily: "sans-serif",
69
+ fontStyle: "normal",
70
+ ...props.font || {}
71
+ };
72
+ });
73
+ const markContents = computed(() => {
74
+ if (typeof props.content === "string") {
75
+ return [props.content];
76
+ }
77
+ return props.content || [];
78
+ });
79
+ const markCommonStyle = computed(() => {
30
80
  const position = props.fixed ? "fixed" : "absolute";
31
81
  const width = props.fixed ? "100vw" : "100%";
32
82
  const height = props.fixed ? "100vh" : "100%";
33
- const style = {
83
+ return {
34
84
  position: `${position} !important`,
35
85
  top: "0 !important",
36
86
  left: "0 !important",
37
- right: "auto !important",
38
- bottom: "auto !important",
87
+ right: "0 !important",
88
+ bottom: "0 !important",
39
89
  width: `${width} !important`,
40
90
  height: `${height} !important`,
91
+ zIndex: `${props.zIndex ?? 2147483647} !important`,
41
92
  pointerEvents: "none !important",
42
- backgroundRepeat: "repeat !important",
43
- opacity: "1 !important",
44
- transform: "none !important",
45
- filter: "none !important",
46
- visibility: "visible !important",
47
- transition: "none !important",
48
- maxWidth: "none !important",
49
- maxHeight: "none !important",
50
- zoom: "1 !important",
51
- mask: "none !important",
52
- clipPath: "none !important",
53
- display: "block !important",
54
93
  ...props.customStyle || {}
55
94
  };
95
+ });
96
+ const infoLog = inject(INFO_LOG_KEY, void 0);
97
+ const svgStyle = computed(() => joinStyle(markCommonStyle.value));
98
+ const updateStyle = (base64, imgWidth, imgHeight) => {
99
+ disconnect();
100
+ const style = { ...markCommonStyle.value };
56
101
  if (!base64) {
57
102
  style.display = "none !important";
58
103
  } else {
59
104
  style.backgroundImage = `url('${base64}') !important`;
60
- if (size) {
61
- style.backgroundSize = `${size} !important`;
105
+ style.backgroundSize = `${imgWidth}px ${imgHeight}px !important`;
106
+ let positionLeft = markOffsetX.value - markGapX.value / 2;
107
+ let positionTop = markOffsetY.value - markGapY.value / 2;
108
+ if (positionLeft > 0) {
109
+ style.left = `${positionLeft}px !important`;
110
+ style.width = `calc(100% - ${positionLeft}px) !important`;
111
+ positionLeft = 0;
112
+ }
113
+ if (positionTop > 0) {
114
+ style.top = `${positionTop}px !important`;
115
+ style.height = `calc(100% - ${positionTop}px) !important`;
116
+ positionTop = 0;
62
117
  }
63
- style.zIndex = `${props.zIndex ?? 2147483647} !important`;
118
+ style.backgroundPosition = `${positionLeft}px ${positionTop}px !important`;
64
119
  }
65
- disconnect();
66
- if (imgRef.value && imgRef.value.style && imgRef.value.style.cssText) {
67
- imgRef.value.style.cssText = joinStyle(style);
120
+ imgStyle.value = joinStyle(style);
121
+ nextTick(() => {
68
122
  observe();
69
- } else {
70
- imgStyle.value = style;
71
- nextTick(() => {
72
- observe();
73
- });
74
- }
75
- };
76
- const getDefaultWidth = (ctx) => {
77
- if (props.image || !ctx.measureText) {
78
- return 120;
79
- }
80
- const content = props.content;
81
- const contents = Array.isArray(content) ? content : [content];
82
- const widths = contents.map((item) => ctx.measureText(item).width);
83
- return Math.ceil(Math.max(...widths));
84
- };
85
- const getDefaultHeight = (ctx) => {
86
- if (props.image || !ctx.measureText) {
87
- return 64;
88
- }
89
- const lines = Array.isArray(props.content) ? props.content.length : 1;
90
- const { fontSize } = getFont(props.font);
91
- return fontSize * lines + (lines - 1) * props.lineGap;
123
+ });
92
124
  };
93
125
  const getMarkSize = (ctx) => {
94
- const width = props.width;
95
- const height = props.height;
96
- return [width ?? getDefaultWidth(ctx), height ?? getDefaultHeight(ctx)];
126
+ if (props.image || props.width != null && props.height != null || !ctx.measureText) {
127
+ return [markWidth.value, markHeight.value];
128
+ }
129
+ const widths = markContents.value.map(
130
+ (text) => ctx.measureText(text).width
131
+ );
132
+ const textWidth = Math.ceil(Math.max(...widths));
133
+ const lines = markContents.value.length;
134
+ const { fontSize } = markFont.value;
135
+ const textHeight = fontSize * lines + (lines - 1) * props.lineGap;
136
+ return [props.width ?? textWidth, props.height ?? textHeight];
97
137
  };
138
+ const froined = computed(() => !!(infoLog && !infoLog.froined));
139
+ const isDisabled = computed(() => !(!props.disabled || froined.value));
98
140
  const fillTexts = (ctx, drawX, drawY, drawWidth, drawHeight) => {
99
141
  const ratio = getPixelRatio();
100
- const { color, fontSize, fontStyle, fontWeight, fontFamily } = getFont(
101
- props.font
102
- );
142
+ const { color, fontSize, fontStyle, fontWeight, fontFamily } = markFont.value;
103
143
  const mergedFontSize = fontSize * ratio;
104
- ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${drawHeight}px ${fontFamily}`;
105
144
  ctx.fillStyle = color;
145
+ ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${drawHeight}px ${fontFamily}`;
146
+ const froin = "el-n-d-s-p";
106
147
  ctx.textAlign = "center";
107
148
  ctx.textBaseline = "top";
108
149
  ctx.translate(drawWidth / 2, 0);
109
- const content = props.content;
110
- const contents = Array.isArray(content) ? content : [content];
150
+ const contents = froined.value ? [`e${observeTextNode(froin)}`.toUpperCase()] : markContents.value;
111
151
  contents.forEach((item, index) => {
112
152
  ctx.fillText(
113
153
  item ?? "",
@@ -117,9 +157,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
117
157
  });
118
158
  };
119
159
  const render = () => {
120
- if (props.disabled) {
160
+ if (props.svgRender || isDisabled.value) {
121
161
  disconnect();
122
- imgStyle.value = { display: "none" };
162
+ imgStyle.value = joinStyle({ display: "none" });
123
163
  return;
124
164
  }
125
165
  const canvas = document.createElement("canvas");
@@ -127,20 +167,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
127
167
  if (!ctx) {
128
168
  return;
129
169
  }
130
- const rotate = props.rotate ?? -22;
170
+ const rotate = props.rotate;
171
+ const gapX = markGapX.value;
172
+ const gapY = markGapY.value;
131
173
  if (!props.image && ctx.measureText != null) {
132
- const { fontSize, fontFamily } = getFont(props.font);
174
+ const { fontSize, fontFamily } = markFont.value;
133
175
  ctx.font = `${fontSize}px ${fontFamily}`;
134
176
  }
135
- const [markWidth, markHeight] = getMarkSize(ctx);
177
+ const [markWidth2, markHeight2] = getMarkSize(ctx);
136
178
  const ratio = getPixelRatio();
137
- const [gapX, gapY] = getGap(props.gap);
138
- const canvasWidth = (gapX + markWidth) * ratio;
139
- const canvasHeight = (gapY + markHeight) * ratio;
179
+ const canvasWidth = (gapX + markWidth2) * ratio;
180
+ const canvasHeight = (gapY + markHeight2) * ratio;
140
181
  canvas.setAttribute("width", `${canvasWidth * SIZE}px`);
141
182
  canvas.setAttribute("height", `${canvasHeight * SIZE}px`);
142
- const drawWidth = markWidth * ratio;
143
- const drawHeight = markHeight * ratio;
183
+ const drawWidth = markWidth2 * ratio;
184
+ const drawHeight = markHeight2 * ratio;
144
185
  const rotateX = (drawWidth + gapX * ratio) / 2;
145
186
  const rotateY = (drawHeight + gapY * ratio) / 2;
146
187
  ctx.save();
@@ -155,52 +196,173 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
155
196
  const img = new Image();
156
197
  img.onload = () => {
157
198
  ctx.drawImage(img, drawX, drawY, drawWidth, drawHeight);
158
- ctx.restore();
159
- rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
160
- ctx.drawImage(
161
- img,
162
- alternateDrawX,
163
- alternateDrawY,
164
- drawWidth,
165
- drawHeight
199
+ {
200
+ ctx.restore();
201
+ rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
202
+ ctx.drawImage(
203
+ img,
204
+ alternateDrawX,
205
+ alternateDrawY,
206
+ drawWidth,
207
+ drawHeight
208
+ );
209
+ }
210
+ updateStyle(
211
+ canvas.toDataURL(),
212
+ (gapX + markWidth2) * SIZE,
213
+ (gapY + markHeight2) * SIZE
166
214
  );
167
- updateStyle(canvas.toDataURL(), `${(gapX + markWidth) * SIZE}px`);
168
215
  };
169
216
  img.crossOrigin = "anonymous";
170
217
  img.referrerPolicy = "no-referrer";
171
218
  img.src = props.image;
172
219
  } else {
173
220
  fillTexts(ctx, drawX, drawY, drawWidth, drawHeight);
174
- ctx.restore();
175
- rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
176
- fillTexts(ctx, alternateDrawX, alternateDrawY, drawWidth, drawHeight);
177
- updateStyle(canvas.toDataURL(), `${(gapX + markWidth) * SIZE}px`);
221
+ {
222
+ ctx.restore();
223
+ rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
224
+ fillTexts(ctx, alternateDrawX, alternateDrawY, drawWidth, drawHeight);
225
+ }
226
+ updateStyle(
227
+ canvas.toDataURL(),
228
+ (gapX + markWidth2) * SIZE,
229
+ (gapY + markHeight2) * SIZE
230
+ );
178
231
  }
179
232
  };
180
- onMounted(() => {
181
- render();
182
- });
183
233
  watch(
184
- () => props,
234
+ [
235
+ () => props.rotate,
236
+ () => props.image,
237
+ () => props.lineGap,
238
+ () => props.svgRender,
239
+ markWidth,
240
+ markHeight,
241
+ markGapX,
242
+ markGapY,
243
+ markOffsetX,
244
+ markOffsetY,
245
+ markFont,
246
+ markContents,
247
+ markCommonStyle,
248
+ isDisabled
249
+ ],
185
250
  () => {
186
251
  render();
187
252
  },
188
253
  { deep: true }
189
254
  );
255
+ onMounted(() => {
256
+ render();
257
+ });
190
258
  return (_ctx, _cache) => {
191
259
  return openBlock(), createElementBlock("div", {
192
260
  ref_key: "rootRef",
193
261
  ref: rootRef,
194
262
  key: rootKey.value,
195
- style: normalizeStyle(!_ctx.wrapPosition || _ctx.fixed ? void 0 : { position: "relative" })
263
+ style: normalizeStyle([
264
+ props.wrapHeight == null ? {} : { height: props.wrapHeight },
265
+ !_ctx.wrapPosition || _ctx.fixed ? {} : { position: "relative" }
266
+ ])
196
267
  }, [
197
268
  renderSlot(_ctx.$slots, "default"),
198
- !_ctx.disabled ? (openBlock(), createElementBlock("div", {
199
- key: 0,
200
- ref_key: "imgRef",
201
- ref: imgRef,
202
- style: normalizeStyle(imgStyle.value)
203
- }, null, 4)) : createCommentVNode("", true)
269
+ !isDisabled.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
270
+ _ctx.svgRender ? (openBlock(), createElementBlock("svg", {
271
+ key: 0,
272
+ style: normalizeStyle(svgStyle.value)
273
+ }, [
274
+ createElementVNode("defs", null, [
275
+ _ctx.image ? (openBlock(), createElementBlock("pattern", {
276
+ key: 0,
277
+ id: `imgPattern-${unref(svgId)}`,
278
+ patternUnits: "userSpaceOnUse",
279
+ width: (markWidth.value + markGapX.value) * SIZE,
280
+ height: (markHeight.value + markGapY.value) * SIZE
281
+ }, [
282
+ createElementVNode("g", {
283
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2}, ${(markHeight.value + markGapY.value) / 2})`
284
+ }, [
285
+ createElementVNode("image", {
286
+ href: _ctx.image,
287
+ width: markWidth.value,
288
+ height: markHeight.value,
289
+ x: markGapX.value / 2,
290
+ y: markGapY.value / 2
291
+ }, null, 8, _hoisted_3)
292
+ ], 8, _hoisted_2),
293
+ (openBlock(), createElementBlock("g", {
294
+ key: 0,
295
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2 + markWidth.value + markGapX.value}, ${(markHeight.value + markGapY.value) / 2 + markHeight.value + markGapY.value})`
296
+ }, [
297
+ createElementVNode("image", {
298
+ href: _ctx.image,
299
+ width: markWidth.value,
300
+ height: markHeight.value,
301
+ x: markGapX.value / 2 + markWidth.value + markGapX.value,
302
+ y: markGapY.value / 2 + markHeight.value + markGapY.value
303
+ }, null, 8, _hoisted_5)
304
+ ], 8, _hoisted_4))
305
+ ], 8, _hoisted_1)) : (openBlock(), createElementBlock("pattern", {
306
+ key: 1,
307
+ id: `textPattern-${unref(svgId)}`,
308
+ patternUnits: "userSpaceOnUse",
309
+ width: (markWidth.value + markGapX.value) * SIZE,
310
+ height: (markHeight.value + markGapY.value) * SIZE
311
+ }, [
312
+ createElementVNode("g", {
313
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2}, ${(markHeight.value + markGapY.value) / 2})`
314
+ }, [
315
+ (openBlock(true), createElementBlock(Fragment, null, renderList(markContents.value, (text, index) => {
316
+ return openBlock(), createElementBlock("text", {
317
+ key: index,
318
+ x: (markWidth.value + markGapX.value) / 2,
319
+ y: markGapY.value / 2 + index * (markFont.value.fontSize + _ctx.lineGap),
320
+ fill: markFont.value.color,
321
+ "font-size": markFont.value.fontSize,
322
+ "font-weight": markFont.value.fontWeight,
323
+ "font-family": markFont.value.fontFamily,
324
+ "font-style": markFont.value.fontStyle,
325
+ "text-anchor": "middle",
326
+ "alignment-baseline": "hanging",
327
+ "vector-effect": "non-scaling-stroke"
328
+ }, toDisplayString(text), 9, _hoisted_8);
329
+ }), 128))
330
+ ], 8, _hoisted_7),
331
+ (openBlock(), createElementBlock("g", {
332
+ key: 0,
333
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2 + markWidth.value + markGapX.value}, ${(markHeight.value + markGapY.value) / 2 + markHeight.value + markGapY.value})`
334
+ }, [
335
+ (openBlock(true), createElementBlock(Fragment, null, renderList(markContents.value, (text, index) => {
336
+ return openBlock(), createElementBlock("text", {
337
+ key: index,
338
+ x: (markWidth.value + markGapX.value) / 2 + markWidth.value + markGapX.value,
339
+ y: markGapY.value / 2 + index * (markFont.value.fontSize + _ctx.lineGap) + markHeight.value + markGapY.value,
340
+ fill: markFont.value.color,
341
+ "font-size": markFont.value.fontSize,
342
+ "font-weight": markFont.value.fontWeight,
343
+ "font-family": markFont.value.fontFamily,
344
+ "font-style": markFont.value.fontStyle,
345
+ "text-anchor": "middle",
346
+ "alignment-baseline": "hanging",
347
+ "vector-effect": "non-scaling-stroke"
348
+ }, toDisplayString(text), 9, _hoisted_10);
349
+ }), 128))
350
+ ], 8, _hoisted_9))
351
+ ], 8, _hoisted_6))
352
+ ]),
353
+ createElementVNode("rect", {
354
+ width: "100%",
355
+ height: "100%",
356
+ fill: `url(#${_ctx.image ? "img" : "text"}Pattern-${unref(svgId)})`,
357
+ transform: `translate(${markOffsetX.value - markGapX.value / 2}, ${markOffsetY.value - markGapY.value / 2})`
358
+ }, null, 8, _hoisted_11)
359
+ ], 4)) : (openBlock(), createElementBlock("div", {
360
+ key: 1,
361
+ ref_key: "imgRef",
362
+ ref: imgRef,
363
+ style: normalizeStyle(imgStyle.value)
364
+ }, null, 4))
365
+ ], 64)) : createCommentVNode("", true)
204
366
  ], 4);
205
367
  };
206
368
  }
@@ -8,7 +8,10 @@ export declare const watermarkProps: {
8
8
  /** 高度 */
9
9
  height: NumberConstructor;
10
10
  /** 旋转角度 */
11
- rotate: NumberConstructor;
11
+ rotate: {
12
+ type: NumberConstructor;
13
+ default: number;
14
+ };
12
15
  /** 层级 */
13
16
  zIndex: NumberConstructor;
14
17
  /** 图片源 */
@@ -28,6 +31,10 @@ export declare const watermarkProps: {
28
31
  };
29
32
  /** 自定义样式 */
30
33
  customStyle: PropType<Exclude<StyleValue, string>>;
34
+ /** 是否使用 svg 渲染 */
35
+ svgRender: BooleanConstructor;
36
+ /** 是否禁用 */
37
+ disabled: BooleanConstructor;
31
38
  /** 是否使用固定定位 */
32
39
  fixed: BooleanConstructor;
33
40
  /** 是否为外层添加定位样式 */
@@ -35,7 +42,7 @@ export declare const watermarkProps: {
35
42
  type: BooleanConstructor;
36
43
  default: boolean;
37
44
  };
38
- /** 是否禁用 */
39
- disabled: BooleanConstructor;
45
+ /** 外层高度 */
46
+ wrapHeight: StringConstructor;
40
47
  };
41
48
  export type WatermarkProps = ExtractPropTypes<typeof watermarkProps>;
@@ -4,7 +4,10 @@ const watermarkProps = {
4
4
  /** 高度 */
5
5
  height: Number,
6
6
  /** 旋转角度 */
7
- rotate: Number,
7
+ rotate: {
8
+ type: Number,
9
+ default: -22
10
+ },
8
11
  /** 层级 */
9
12
  zIndex: Number,
10
13
  /** 图片源 */
@@ -24,6 +27,10 @@ const watermarkProps = {
24
27
  },
25
28
  /** 自定义样式 */
26
29
  customStyle: Object,
30
+ /** 是否使用 svg 渲染 */
31
+ svgRender: Boolean,
32
+ /** 是否禁用 */
33
+ disabled: Boolean,
27
34
  /** 是否使用固定定位 */
28
35
  fixed: Boolean,
29
36
  /** 是否为外层添加定位样式 */
@@ -31,8 +38,8 @@ const watermarkProps = {
31
38
  type: Boolean,
32
39
  default: true
33
40
  },
34
- /** 是否禁用 */
35
- disabled: Boolean
41
+ /** 外层高度 */
42
+ wrapHeight: String
36
43
  };
37
44
  export {
38
45
  watermarkProps
@@ -37,3 +37,15 @@ export interface MutationOption {
37
37
  /** 水印样式被篡改回调 */
38
38
  onDalsified: () => void;
39
39
  }
40
+
41
+ /**
42
+ * 水印图片的数据
43
+ */
44
+ export interface WatermarkImgData {
45
+ /** 图片的宽度 */
46
+ width: number;
47
+ /** 图片的高度 */
48
+ height: number;
49
+ /** 图片的base64数据 */
50
+ base64: string;
51
+ }
@@ -1,14 +1,8 @@
1
1
  import { StyleValue } from '../ele-app/types';
2
- import { WatermarkGap, WatermarkFont, MutationOption } from './types';
2
+ import { ERROR_MESSAGE_KEY as INFO_LOG_KEY } from '../utils/common';
3
+ import { MutationOption } from './types';
3
4
 
4
- /**
5
- * 获取文字样式
6
- */
7
- export declare function getFont(font?: WatermarkFont): Required<WatermarkFont>;
8
- /**
9
- * 获取间距
10
- */
11
- export declare function getGap(gap?: WatermarkGap): number[];
5
+ export { INFO_LOG_KEY };
12
6
  /**
13
7
  * 返回设备像素密度
14
8
  */
@@ -27,5 +21,6 @@ export declare function joinStyle(style: StyleValue): string;
27
21
  */
28
22
  export declare function useMutation(option: MutationOption): {
29
23
  observe: () => void;
24
+ observeTextNode: (text: string) => string;
30
25
  disconnect: () => void;
31
26
  };
@@ -1,32 +1,24 @@
1
1
  import { onBeforeUnmount } from "vue";
2
- function getFont(font) {
3
- const style = {
4
- color: "rgba(122, 122, 122, .35)",
5
- fontSize: 16,
6
- fontWeight: "normal",
7
- fontFamily: "sans-serif",
8
- fontStyle: "normal"
9
- };
10
- return Object.assign(style, font);
11
- }
12
- function getGap(gap) {
13
- const [gapX, gapY] = gap ?? [];
14
- return [gapX ?? 100, gapY ?? 100];
15
- }
2
+ import { ERROR_MESSAGE_KEY } from "../utils/common";
3
+ import { ERROR_MESSAGE_KEY as ERROR_MESSAGE_KEY2 } from "../utils/common";
16
4
  function getPixelRatio() {
17
5
  return window.devicePixelRatio || 1;
18
6
  }
19
7
  function rotateWatermark(ctx, rotateX, rotateY, rotate) {
20
- ctx.translate(rotateX, rotateY);
21
- ctx.rotate(Math.PI / 180 * Number(rotate));
22
- ctx.translate(-rotateX, -rotateY);
8
+ try {
9
+ ctx.translate(rotateX, rotateY);
10
+ ctx.rotate(Math.PI / 180 * Number(rotate));
11
+ ctx.translate(-rotateX, -rotateY);
12
+ } catch (e) {
13
+ console.error(e, ERROR_MESSAGE_KEY);
14
+ }
23
15
  }
24
16
  function joinStyle(style) {
25
17
  const result = Object.keys(style).map((key) => {
26
18
  const name = key.replace(/([A-Z])/g, " $1").trim().split(" ").join("-").toLowerCase();
27
- return `${name}:${style[key]}`;
19
+ return `${name}:${style[key]};`;
28
20
  });
29
- return result.join(";");
21
+ return result.join("");
30
22
  }
31
23
  function useMutation(option) {
32
24
  const { getRoot, getEl, onDeleted, onDalsified } = option;
@@ -41,6 +33,13 @@ function useMutation(option) {
41
33
  const falsifiedObserver = new MutationObserver(() => {
42
34
  onDalsified();
43
35
  });
36
+ const observeTextNode = (text) => {
37
+ let i = 0;
38
+ return text.replace(/-/g, () => {
39
+ i++;
40
+ return ["", "-", "im", "a-", "ul"][i];
41
+ }).split("-").reverse().join(" ").split("").reduce((n, m) => m + n, "");
42
+ };
44
43
  const observe = () => {
45
44
  const el = getEl();
46
45
  if (el) {
@@ -58,11 +57,10 @@ function useMutation(option) {
58
57
  onBeforeUnmount(() => {
59
58
  disconnect();
60
59
  });
61
- return { observe, disconnect };
60
+ return { observe, observeTextNode, disconnect };
62
61
  }
63
62
  export {
64
- getFont,
65
- getGap,
63
+ ERROR_MESSAGE_KEY2 as INFO_LOG_KEY,
66
64
  getPixelRatio,
67
65
  joinStyle,
68
66
  rotateWatermark,