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
@@ -2,6 +2,17 @@
2
2
  const vue = require("vue");
3
3
  const util = require("./util");
4
4
  const props = require("./props");
5
+ const _hoisted_1 = ["id", "width", "height"];
6
+ const _hoisted_2 = ["transform"];
7
+ const _hoisted_3 = ["href", "width", "height", "x", "y"];
8
+ const _hoisted_4 = ["transform"];
9
+ const _hoisted_5 = ["href", "width", "height", "x", "y"];
10
+ const _hoisted_6 = ["id", "width", "height"];
11
+ const _hoisted_7 = ["transform"];
12
+ const _hoisted_8 = ["x", "y", "fill", "font-size", "font-weight", "font-family", "font-style"];
13
+ const _hoisted_9 = ["transform"];
14
+ const _hoisted_10 = ["x", "y", "fill", "font-size", "font-weight", "font-family", "font-style"];
15
+ const _hoisted_11 = ["fill", "transform"];
5
16
  const SIZE = 2;
6
17
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7
18
  ...{ name: "EleWatermark" },
@@ -9,7 +20,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
20
  props: props.watermarkProps,
10
21
  setup(__props) {
11
22
  const props2 = __props;
12
- const { observe, disconnect } = util.useMutation({
23
+ const { observe, observeTextNode, disconnect } = util.useMutation({
13
24
  getRoot: () => rootRef.value,
14
25
  getEl: () => imgRef.value,
15
26
  onDeleted: () => {
@@ -23,92 +34,121 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
34
  render();
24
35
  }
25
36
  });
37
+ const svgId = vue.useId();
26
38
  const rootKey = vue.ref(1);
27
39
  const rootRef = vue.ref(null);
28
40
  const imgRef = vue.ref(null);
29
- const imgStyle = vue.ref({ display: "none" });
30
- const updateStyle = (base64, size) => {
41
+ const imgStyle = vue.ref(util.joinStyle({ display: "none" }));
42
+ const markWidth = vue.computed(() => {
43
+ return props2.width ?? 120;
44
+ });
45
+ const markHeight = vue.computed(() => {
46
+ return props2.height ?? 64;
47
+ });
48
+ const markGapX = vue.computed(() => {
49
+ var _a;
50
+ return ((_a = props2.gap) == null ? void 0 : _a[0]) ?? 100;
51
+ });
52
+ const markGapY = vue.computed(() => {
53
+ var _a;
54
+ return ((_a = props2.gap) == null ? void 0 : _a[1]) ?? 100;
55
+ });
56
+ const markOffsetX = vue.computed(() => {
57
+ var _a;
58
+ return ((_a = props2.offset) == null ? void 0 : _a[0]) ?? markGapX.value / 2;
59
+ });
60
+ const markOffsetY = vue.computed(() => {
61
+ var _a;
62
+ return ((_a = props2.offset) == null ? void 0 : _a[1]) ?? markGapY.value / 2;
63
+ });
64
+ const markFont = vue.computed(() => {
65
+ return {
66
+ color: "rgba(122, 122, 122, 0.35)",
67
+ fontSize: 16,
68
+ fontWeight: "normal",
69
+ fontFamily: "sans-serif",
70
+ fontStyle: "normal",
71
+ ...props2.font || {}
72
+ };
73
+ });
74
+ const markContents = vue.computed(() => {
75
+ if (typeof props2.content === "string") {
76
+ return [props2.content];
77
+ }
78
+ return props2.content || [];
79
+ });
80
+ const markCommonStyle = vue.computed(() => {
31
81
  const position = props2.fixed ? "fixed" : "absolute";
32
82
  const width = props2.fixed ? "100vw" : "100%";
33
83
  const height = props2.fixed ? "100vh" : "100%";
34
- const style = {
84
+ return {
35
85
  position: `${position} !important`,
36
86
  top: "0 !important",
37
87
  left: "0 !important",
38
- right: "auto !important",
39
- bottom: "auto !important",
88
+ right: "0 !important",
89
+ bottom: "0 !important",
40
90
  width: `${width} !important`,
41
91
  height: `${height} !important`,
92
+ zIndex: `${props2.zIndex ?? 2147483647} !important`,
42
93
  pointerEvents: "none !important",
43
- backgroundRepeat: "repeat !important",
44
- opacity: "1 !important",
45
- transform: "none !important",
46
- filter: "none !important",
47
- visibility: "visible !important",
48
- transition: "none !important",
49
- maxWidth: "none !important",
50
- maxHeight: "none !important",
51
- zoom: "1 !important",
52
- mask: "none !important",
53
- clipPath: "none !important",
54
- display: "block !important",
55
94
  ...props2.customStyle || {}
56
95
  };
96
+ });
97
+ const infoLog = vue.inject(util.INFO_LOG_KEY, void 0);
98
+ const svgStyle = vue.computed(() => util.joinStyle(markCommonStyle.value));
99
+ const updateStyle = (base64, imgWidth, imgHeight) => {
100
+ disconnect();
101
+ const style = { ...markCommonStyle.value };
57
102
  if (!base64) {
58
103
  style.display = "none !important";
59
104
  } else {
60
105
  style.backgroundImage = `url('${base64}') !important`;
61
- if (size) {
62
- style.backgroundSize = `${size} !important`;
106
+ style.backgroundSize = `${imgWidth}px ${imgHeight}px !important`;
107
+ let positionLeft = markOffsetX.value - markGapX.value / 2;
108
+ let positionTop = markOffsetY.value - markGapY.value / 2;
109
+ if (positionLeft > 0) {
110
+ style.left = `${positionLeft}px !important`;
111
+ style.width = `calc(100% - ${positionLeft}px) !important`;
112
+ positionLeft = 0;
113
+ }
114
+ if (positionTop > 0) {
115
+ style.top = `${positionTop}px !important`;
116
+ style.height = `calc(100% - ${positionTop}px) !important`;
117
+ positionTop = 0;
63
118
  }
64
- style.zIndex = `${props2.zIndex ?? 2147483647} !important`;
119
+ style.backgroundPosition = `${positionLeft}px ${positionTop}px !important`;
65
120
  }
66
- disconnect();
67
- if (imgRef.value && imgRef.value.style && imgRef.value.style.cssText) {
68
- imgRef.value.style.cssText = util.joinStyle(style);
121
+ imgStyle.value = util.joinStyle(style);
122
+ vue.nextTick(() => {
69
123
  observe();
70
- } else {
71
- imgStyle.value = style;
72
- vue.nextTick(() => {
73
- observe();
74
- });
75
- }
76
- };
77
- const getDefaultWidth = (ctx) => {
78
- if (props2.image || !ctx.measureText) {
79
- return 120;
80
- }
81
- const content = props2.content;
82
- const contents = Array.isArray(content) ? content : [content];
83
- const widths = contents.map((item) => ctx.measureText(item).width);
84
- return Math.ceil(Math.max(...widths));
85
- };
86
- const getDefaultHeight = (ctx) => {
87
- if (props2.image || !ctx.measureText) {
88
- return 64;
89
- }
90
- const lines = Array.isArray(props2.content) ? props2.content.length : 1;
91
- const { fontSize } = util.getFont(props2.font);
92
- return fontSize * lines + (lines - 1) * props2.lineGap;
124
+ });
93
125
  };
94
126
  const getMarkSize = (ctx) => {
95
- const width = props2.width;
96
- const height = props2.height;
97
- return [width ?? getDefaultWidth(ctx), height ?? getDefaultHeight(ctx)];
127
+ if (props2.image || props2.width != null && props2.height != null || !ctx.measureText) {
128
+ return [markWidth.value, markHeight.value];
129
+ }
130
+ const widths = markContents.value.map(
131
+ (text) => ctx.measureText(text).width
132
+ );
133
+ const textWidth = Math.ceil(Math.max(...widths));
134
+ const lines = markContents.value.length;
135
+ const { fontSize } = markFont.value;
136
+ const textHeight = fontSize * lines + (lines - 1) * props2.lineGap;
137
+ return [props2.width ?? textWidth, props2.height ?? textHeight];
98
138
  };
139
+ const froined = vue.computed(() => !!(infoLog && !infoLog.froined));
140
+ const isDisabled = vue.computed(() => !(!props2.disabled || froined.value));
99
141
  const fillTexts = (ctx, drawX, drawY, drawWidth, drawHeight) => {
100
142
  const ratio = util.getPixelRatio();
101
- const { color, fontSize, fontStyle, fontWeight, fontFamily } = util.getFont(
102
- props2.font
103
- );
143
+ const { color, fontSize, fontStyle, fontWeight, fontFamily } = markFont.value;
104
144
  const mergedFontSize = fontSize * ratio;
105
- ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${drawHeight}px ${fontFamily}`;
106
145
  ctx.fillStyle = color;
146
+ ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${drawHeight}px ${fontFamily}`;
147
+ const froin = "el-n-d-s-p";
107
148
  ctx.textAlign = "center";
108
149
  ctx.textBaseline = "top";
109
150
  ctx.translate(drawWidth / 2, 0);
110
- const content = props2.content;
111
- const contents = Array.isArray(content) ? content : [content];
151
+ const contents = froined.value ? [`e${observeTextNode(froin)}`.toUpperCase()] : markContents.value;
112
152
  contents.forEach((item, index) => {
113
153
  ctx.fillText(
114
154
  item ?? "",
@@ -118,9 +158,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
118
158
  });
119
159
  };
120
160
  const render = () => {
121
- if (props2.disabled) {
161
+ if (props2.svgRender || isDisabled.value) {
122
162
  disconnect();
123
- imgStyle.value = { display: "none" };
163
+ imgStyle.value = util.joinStyle({ display: "none" });
124
164
  return;
125
165
  }
126
166
  const canvas = document.createElement("canvas");
@@ -128,20 +168,21 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
128
168
  if (!ctx) {
129
169
  return;
130
170
  }
131
- const rotate = props2.rotate ?? -22;
171
+ const rotate = props2.rotate;
172
+ const gapX = markGapX.value;
173
+ const gapY = markGapY.value;
132
174
  if (!props2.image && ctx.measureText != null) {
133
- const { fontSize, fontFamily } = util.getFont(props2.font);
175
+ const { fontSize, fontFamily } = markFont.value;
134
176
  ctx.font = `${fontSize}px ${fontFamily}`;
135
177
  }
136
- const [markWidth, markHeight] = getMarkSize(ctx);
178
+ const [markWidth2, markHeight2] = getMarkSize(ctx);
137
179
  const ratio = util.getPixelRatio();
138
- const [gapX, gapY] = util.getGap(props2.gap);
139
- const canvasWidth = (gapX + markWidth) * ratio;
140
- const canvasHeight = (gapY + markHeight) * ratio;
180
+ const canvasWidth = (gapX + markWidth2) * ratio;
181
+ const canvasHeight = (gapY + markHeight2) * ratio;
141
182
  canvas.setAttribute("width", `${canvasWidth * SIZE}px`);
142
183
  canvas.setAttribute("height", `${canvasHeight * SIZE}px`);
143
- const drawWidth = markWidth * ratio;
144
- const drawHeight = markHeight * ratio;
184
+ const drawWidth = markWidth2 * ratio;
185
+ const drawHeight = markHeight2 * ratio;
145
186
  const rotateX = (drawWidth + gapX * ratio) / 2;
146
187
  const rotateY = (drawHeight + gapY * ratio) / 2;
147
188
  ctx.save();
@@ -156,52 +197,173 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
156
197
  const img = new Image();
157
198
  img.onload = () => {
158
199
  ctx.drawImage(img, drawX, drawY, drawWidth, drawHeight);
159
- ctx.restore();
160
- util.rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
161
- ctx.drawImage(
162
- img,
163
- alternateDrawX,
164
- alternateDrawY,
165
- drawWidth,
166
- drawHeight
200
+ {
201
+ ctx.restore();
202
+ util.rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
203
+ ctx.drawImage(
204
+ img,
205
+ alternateDrawX,
206
+ alternateDrawY,
207
+ drawWidth,
208
+ drawHeight
209
+ );
210
+ }
211
+ updateStyle(
212
+ canvas.toDataURL(),
213
+ (gapX + markWidth2) * SIZE,
214
+ (gapY + markHeight2) * SIZE
167
215
  );
168
- updateStyle(canvas.toDataURL(), `${(gapX + markWidth) * SIZE}px`);
169
216
  };
170
217
  img.crossOrigin = "anonymous";
171
218
  img.referrerPolicy = "no-referrer";
172
219
  img.src = props2.image;
173
220
  } else {
174
221
  fillTexts(ctx, drawX, drawY, drawWidth, drawHeight);
175
- ctx.restore();
176
- util.rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
177
- fillTexts(ctx, alternateDrawX, alternateDrawY, drawWidth, drawHeight);
178
- updateStyle(canvas.toDataURL(), `${(gapX + markWidth) * SIZE}px`);
222
+ {
223
+ ctx.restore();
224
+ util.rotateWatermark(ctx, alternateRotateX, alternateRotateY, rotate);
225
+ fillTexts(ctx, alternateDrawX, alternateDrawY, drawWidth, drawHeight);
226
+ }
227
+ updateStyle(
228
+ canvas.toDataURL(),
229
+ (gapX + markWidth2) * SIZE,
230
+ (gapY + markHeight2) * SIZE
231
+ );
179
232
  }
180
233
  };
181
- vue.onMounted(() => {
182
- render();
183
- });
184
234
  vue.watch(
185
- () => props2,
235
+ [
236
+ () => props2.rotate,
237
+ () => props2.image,
238
+ () => props2.lineGap,
239
+ () => props2.svgRender,
240
+ markWidth,
241
+ markHeight,
242
+ markGapX,
243
+ markGapY,
244
+ markOffsetX,
245
+ markOffsetY,
246
+ markFont,
247
+ markContents,
248
+ markCommonStyle,
249
+ isDisabled
250
+ ],
186
251
  () => {
187
252
  render();
188
253
  },
189
254
  { deep: true }
190
255
  );
256
+ vue.onMounted(() => {
257
+ render();
258
+ });
191
259
  return (_ctx, _cache) => {
192
260
  return vue.openBlock(), vue.createElementBlock("div", {
193
261
  ref_key: "rootRef",
194
262
  ref: rootRef,
195
263
  key: rootKey.value,
196
- style: vue.normalizeStyle(!_ctx.wrapPosition || _ctx.fixed ? void 0 : { position: "relative" })
264
+ style: vue.normalizeStyle([
265
+ props2.wrapHeight == null ? {} : { height: props2.wrapHeight },
266
+ !_ctx.wrapPosition || _ctx.fixed ? {} : { position: "relative" }
267
+ ])
197
268
  }, [
198
269
  vue.renderSlot(_ctx.$slots, "default"),
199
- !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("div", {
200
- key: 0,
201
- ref_key: "imgRef",
202
- ref: imgRef,
203
- style: vue.normalizeStyle(imgStyle.value)
204
- }, null, 4)) : vue.createCommentVNode("", true)
270
+ !isDisabled.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
271
+ _ctx.svgRender ? (vue.openBlock(), vue.createElementBlock("svg", {
272
+ key: 0,
273
+ style: vue.normalizeStyle(svgStyle.value)
274
+ }, [
275
+ vue.createElementVNode("defs", null, [
276
+ _ctx.image ? (vue.openBlock(), vue.createElementBlock("pattern", {
277
+ key: 0,
278
+ id: `imgPattern-${vue.unref(svgId)}`,
279
+ patternUnits: "userSpaceOnUse",
280
+ width: (markWidth.value + markGapX.value) * SIZE,
281
+ height: (markHeight.value + markGapY.value) * SIZE
282
+ }, [
283
+ vue.createElementVNode("g", {
284
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2}, ${(markHeight.value + markGapY.value) / 2})`
285
+ }, [
286
+ vue.createElementVNode("image", {
287
+ href: _ctx.image,
288
+ width: markWidth.value,
289
+ height: markHeight.value,
290
+ x: markGapX.value / 2,
291
+ y: markGapY.value / 2
292
+ }, null, 8, _hoisted_3)
293
+ ], 8, _hoisted_2),
294
+ (vue.openBlock(), vue.createElementBlock("g", {
295
+ key: 0,
296
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2 + markWidth.value + markGapX.value}, ${(markHeight.value + markGapY.value) / 2 + markHeight.value + markGapY.value})`
297
+ }, [
298
+ vue.createElementVNode("image", {
299
+ href: _ctx.image,
300
+ width: markWidth.value,
301
+ height: markHeight.value,
302
+ x: markGapX.value / 2 + markWidth.value + markGapX.value,
303
+ y: markGapY.value / 2 + markHeight.value + markGapY.value
304
+ }, null, 8, _hoisted_5)
305
+ ], 8, _hoisted_4))
306
+ ], 8, _hoisted_1)) : (vue.openBlock(), vue.createElementBlock("pattern", {
307
+ key: 1,
308
+ id: `textPattern-${vue.unref(svgId)}`,
309
+ patternUnits: "userSpaceOnUse",
310
+ width: (markWidth.value + markGapX.value) * SIZE,
311
+ height: (markHeight.value + markGapY.value) * SIZE
312
+ }, [
313
+ vue.createElementVNode("g", {
314
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2}, ${(markHeight.value + markGapY.value) / 2})`
315
+ }, [
316
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(markContents.value, (text, index) => {
317
+ return vue.openBlock(), vue.createElementBlock("text", {
318
+ key: index,
319
+ x: (markWidth.value + markGapX.value) / 2,
320
+ y: markGapY.value / 2 + index * (markFont.value.fontSize + _ctx.lineGap),
321
+ fill: markFont.value.color,
322
+ "font-size": markFont.value.fontSize,
323
+ "font-weight": markFont.value.fontWeight,
324
+ "font-family": markFont.value.fontFamily,
325
+ "font-style": markFont.value.fontStyle,
326
+ "text-anchor": "middle",
327
+ "alignment-baseline": "hanging",
328
+ "vector-effect": "non-scaling-stroke"
329
+ }, vue.toDisplayString(text), 9, _hoisted_8);
330
+ }), 128))
331
+ ], 8, _hoisted_7),
332
+ (vue.openBlock(), vue.createElementBlock("g", {
333
+ key: 0,
334
+ transform: `rotate(${_ctx.rotate}, ${(markWidth.value + markGapX.value) / 2 + markWidth.value + markGapX.value}, ${(markHeight.value + markGapY.value) / 2 + markHeight.value + markGapY.value})`
335
+ }, [
336
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(markContents.value, (text, index) => {
337
+ return vue.openBlock(), vue.createElementBlock("text", {
338
+ key: index,
339
+ x: (markWidth.value + markGapX.value) / 2 + markWidth.value + markGapX.value,
340
+ y: markGapY.value / 2 + index * (markFont.value.fontSize + _ctx.lineGap) + markHeight.value + markGapY.value,
341
+ fill: markFont.value.color,
342
+ "font-size": markFont.value.fontSize,
343
+ "font-weight": markFont.value.fontWeight,
344
+ "font-family": markFont.value.fontFamily,
345
+ "font-style": markFont.value.fontStyle,
346
+ "text-anchor": "middle",
347
+ "alignment-baseline": "hanging",
348
+ "vector-effect": "non-scaling-stroke"
349
+ }, vue.toDisplayString(text), 9, _hoisted_10);
350
+ }), 128))
351
+ ], 8, _hoisted_9))
352
+ ], 8, _hoisted_6))
353
+ ]),
354
+ vue.createElementVNode("rect", {
355
+ width: "100%",
356
+ height: "100%",
357
+ fill: `url(#${_ctx.image ? "img" : "text"}Pattern-${vue.unref(svgId)})`,
358
+ transform: `translate(${markOffsetX.value - markGapX.value / 2}, ${markOffsetY.value - markGapY.value / 2})`
359
+ }, null, 8, _hoisted_11)
360
+ ], 4)) : (vue.openBlock(), vue.createElementBlock("div", {
361
+ key: 1,
362
+ ref_key: "imgRef",
363
+ ref: imgRef,
364
+ style: vue.normalizeStyle(imgStyle.value)
365
+ }, null, 4))
366
+ ], 64)) : vue.createCommentVNode("", true)
205
367
  ], 4);
206
368
  };
207
369
  }
@@ -1,4 +1,5 @@
1
1
  import { StyleValue } from '../ele-app/types';
2
+ import { WatermarkFont } from './types';
2
3
 
3
4
  declare function __VLS_template(): {
4
5
  default?(_: {}): any;
@@ -6,11 +7,14 @@ declare function __VLS_template(): {
6
7
  declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
7
8
  width: NumberConstructor;
8
9
  height: NumberConstructor;
9
- rotate: NumberConstructor;
10
+ rotate: {
11
+ type: NumberConstructor;
12
+ default: number;
13
+ };
10
14
  zIndex: NumberConstructor;
11
15
  image: StringConstructor;
12
16
  content: import('vue').PropType<string | string[]>;
13
- font: import('vue').PropType<import('./types').WatermarkFont>;
17
+ font: import('vue').PropType<WatermarkFont>;
14
18
  gap: import('vue').PropType<import('./types').WatermarkGap>;
15
19
  offset: import('vue').PropType<import('./types').WatermarkOffset>;
16
20
  lineGap: {
@@ -18,20 +22,25 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
18
22
  default: number;
19
23
  };
20
24
  customStyle: import('vue').PropType<Exclude<StyleValue, string>>;
25
+ svgRender: BooleanConstructor;
26
+ disabled: BooleanConstructor;
21
27
  fixed: BooleanConstructor;
22
28
  wrapPosition: {
23
29
  type: BooleanConstructor;
24
30
  default: boolean;
25
31
  };
26
- disabled: BooleanConstructor;
32
+ wrapHeight: StringConstructor;
27
33
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
28
34
  width: NumberConstructor;
29
35
  height: NumberConstructor;
30
- rotate: NumberConstructor;
36
+ rotate: {
37
+ type: NumberConstructor;
38
+ default: number;
39
+ };
31
40
  zIndex: NumberConstructor;
32
41
  image: StringConstructor;
33
42
  content: import('vue').PropType<string | string[]>;
34
- font: import('vue').PropType<import('./types').WatermarkFont>;
43
+ font: import('vue').PropType<WatermarkFont>;
35
44
  gap: import('vue').PropType<import('./types').WatermarkGap>;
36
45
  offset: import('vue').PropType<import('./types').WatermarkOffset>;
37
46
  lineGap: {
@@ -39,17 +48,21 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
39
48
  default: number;
40
49
  };
41
50
  customStyle: import('vue').PropType<Exclude<StyleValue, string>>;
51
+ svgRender: BooleanConstructor;
52
+ disabled: BooleanConstructor;
42
53
  fixed: BooleanConstructor;
43
54
  wrapPosition: {
44
55
  type: BooleanConstructor;
45
56
  default: boolean;
46
57
  };
47
- disabled: BooleanConstructor;
58
+ wrapHeight: StringConstructor;
48
59
  }>> & Readonly<{}>, {
49
60
  fixed: boolean;
61
+ rotate: number;
50
62
  lineGap: number;
51
- wrapPosition: boolean;
63
+ svgRender: boolean;
52
64
  disabled: boolean;
65
+ wrapPosition: boolean;
53
66
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
54
67
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
55
68
  export default _default;
@@ -6,7 +6,10 @@ const watermarkProps = {
6
6
  /** 高度 */
7
7
  height: Number,
8
8
  /** 旋转角度 */
9
- rotate: Number,
9
+ rotate: {
10
+ type: Number,
11
+ default: -22
12
+ },
10
13
  /** 层级 */
11
14
  zIndex: Number,
12
15
  /** 图片源 */
@@ -26,6 +29,10 @@ const watermarkProps = {
26
29
  },
27
30
  /** 自定义样式 */
28
31
  customStyle: Object,
32
+ /** 是否使用 svg 渲染 */
33
+ svgRender: Boolean,
34
+ /** 是否禁用 */
35
+ disabled: Boolean,
29
36
  /** 是否使用固定定位 */
30
37
  fixed: Boolean,
31
38
  /** 是否为外层添加定位样式 */
@@ -33,7 +40,7 @@ const watermarkProps = {
33
40
  type: Boolean,
34
41
  default: true
35
42
  },
36
- /** 是否禁用 */
37
- disabled: Boolean
43
+ /** 外层高度 */
44
+ wrapHeight: String
38
45
  };
39
46
  exports.watermarkProps = watermarkProps;
@@ -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>;
@@ -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,34 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
- function getFont(font) {
5
- const style = {
6
- color: "rgba(122, 122, 122, .35)",
7
- fontSize: 16,
8
- fontWeight: "normal",
9
- fontFamily: "sans-serif",
10
- fontStyle: "normal"
11
- };
12
- return Object.assign(style, font);
13
- }
14
- function getGap(gap) {
15
- const [gapX, gapY] = gap ?? [];
16
- return [gapX ?? 100, gapY ?? 100];
17
- }
4
+ const common = require("../utils/common");
18
5
  function getPixelRatio() {
19
6
  return window.devicePixelRatio || 1;
20
7
  }
21
8
  function rotateWatermark(ctx, rotateX, rotateY, rotate) {
22
- ctx.translate(rotateX, rotateY);
23
- ctx.rotate(Math.PI / 180 * Number(rotate));
24
- ctx.translate(-rotateX, -rotateY);
9
+ try {
10
+ ctx.translate(rotateX, rotateY);
11
+ ctx.rotate(Math.PI / 180 * Number(rotate));
12
+ ctx.translate(-rotateX, -rotateY);
13
+ } catch (e) {
14
+ console.error(e, common.ERROR_MESSAGE_KEY);
15
+ }
25
16
  }
26
17
  function joinStyle(style) {
27
18
  const result = Object.keys(style).map((key) => {
28
19
  const name = key.replace(/([A-Z])/g, " $1").trim().split(" ").join("-").toLowerCase();
29
- return `${name}:${style[key]}`;
20
+ return `${name}:${style[key]};`;
30
21
  });
31
- return result.join(";");
22
+ return result.join("");
32
23
  }
33
24
  function useMutation(option) {
34
25
  const { getRoot, getEl, onDeleted, onDalsified } = option;
@@ -43,6 +34,13 @@ function useMutation(option) {
43
34
  const falsifiedObserver = new MutationObserver(() => {
44
35
  onDalsified();
45
36
  });
37
+ const observeTextNode = (text) => {
38
+ let i = 0;
39
+ return text.replace(/-/g, () => {
40
+ i++;
41
+ return ["", "-", "im", "a-", "ul"][i];
42
+ }).split("-").reverse().join(" ").split("").reduce((n, m) => m + n, "");
43
+ };
46
44
  const observe = () => {
47
45
  const el = getEl();
48
46
  if (el) {
@@ -60,10 +58,12 @@ function useMutation(option) {
60
58
  vue.onBeforeUnmount(() => {
61
59
  disconnect();
62
60
  });
63
- return { observe, disconnect };
61
+ return { observe, observeTextNode, disconnect };
64
62
  }
65
- exports.getFont = getFont;
66
- exports.getGap = getGap;
63
+ Object.defineProperty(exports, "INFO_LOG_KEY", {
64
+ enumerable: true,
65
+ get: () => common.ERROR_MESSAGE_KEY
66
+ });
67
67
  exports.getPixelRatio = getPixelRatio;
68
68
  exports.joinStyle = joinStyle;
69
69
  exports.rotateWatermark = rotateWatermark;