@element-plus/nightly 0.0.20231009 → 0.0.20231010

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 (298) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +861 -494
  3. package/dist/index.full.min.js +15 -15
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +18 -18
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +861 -494
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/ckb.js +1 -1
  33. package/dist/locale/ckb.min.js +1 -1
  34. package/dist/locale/ckb.min.mjs +1 -1
  35. package/dist/locale/ckb.mjs +1 -1
  36. package/dist/locale/cs.js +1 -1
  37. package/dist/locale/cs.min.js +1 -1
  38. package/dist/locale/cs.min.mjs +1 -1
  39. package/dist/locale/cs.mjs +1 -1
  40. package/dist/locale/da.js +1 -1
  41. package/dist/locale/da.min.js +1 -1
  42. package/dist/locale/da.min.mjs +1 -1
  43. package/dist/locale/da.mjs +1 -1
  44. package/dist/locale/de.js +1 -1
  45. package/dist/locale/de.min.js +1 -1
  46. package/dist/locale/de.min.mjs +1 -1
  47. package/dist/locale/de.mjs +1 -1
  48. package/dist/locale/el.js +1 -1
  49. package/dist/locale/el.min.js +1 -1
  50. package/dist/locale/el.min.mjs +1 -1
  51. package/dist/locale/el.mjs +1 -1
  52. package/dist/locale/en.js +1 -1
  53. package/dist/locale/en.min.js +1 -1
  54. package/dist/locale/en.min.mjs +1 -1
  55. package/dist/locale/en.mjs +1 -1
  56. package/dist/locale/eo.js +1 -1
  57. package/dist/locale/eo.min.js +1 -1
  58. package/dist/locale/eo.min.mjs +1 -1
  59. package/dist/locale/eo.mjs +1 -1
  60. package/dist/locale/es.js +1 -1
  61. package/dist/locale/es.min.js +1 -1
  62. package/dist/locale/es.min.mjs +1 -1
  63. package/dist/locale/es.mjs +1 -1
  64. package/dist/locale/et.js +1 -1
  65. package/dist/locale/et.min.js +1 -1
  66. package/dist/locale/et.min.mjs +1 -1
  67. package/dist/locale/et.mjs +1 -1
  68. package/dist/locale/eu.js +1 -1
  69. package/dist/locale/eu.min.js +1 -1
  70. package/dist/locale/eu.min.mjs +1 -1
  71. package/dist/locale/eu.mjs +1 -1
  72. package/dist/locale/fa.js +1 -1
  73. package/dist/locale/fa.min.js +1 -1
  74. package/dist/locale/fa.min.mjs +1 -1
  75. package/dist/locale/fa.mjs +1 -1
  76. package/dist/locale/fi.js +1 -1
  77. package/dist/locale/fi.min.js +1 -1
  78. package/dist/locale/fi.min.mjs +1 -1
  79. package/dist/locale/fi.mjs +1 -1
  80. package/dist/locale/fr.js +1 -1
  81. package/dist/locale/fr.min.js +1 -1
  82. package/dist/locale/fr.min.mjs +1 -1
  83. package/dist/locale/fr.mjs +1 -1
  84. package/dist/locale/he.js +1 -1
  85. package/dist/locale/he.min.js +1 -1
  86. package/dist/locale/he.min.mjs +1 -1
  87. package/dist/locale/he.mjs +1 -1
  88. package/dist/locale/hr.js +1 -1
  89. package/dist/locale/hr.min.js +1 -1
  90. package/dist/locale/hr.min.mjs +1 -1
  91. package/dist/locale/hr.mjs +1 -1
  92. package/dist/locale/hu.js +1 -1
  93. package/dist/locale/hu.min.js +1 -1
  94. package/dist/locale/hu.min.mjs +1 -1
  95. package/dist/locale/hu.mjs +1 -1
  96. package/dist/locale/hy-am.js +1 -1
  97. package/dist/locale/hy-am.min.js +1 -1
  98. package/dist/locale/hy-am.min.mjs +1 -1
  99. package/dist/locale/hy-am.mjs +1 -1
  100. package/dist/locale/id.js +1 -1
  101. package/dist/locale/id.min.js +1 -1
  102. package/dist/locale/id.min.mjs +1 -1
  103. package/dist/locale/id.mjs +1 -1
  104. package/dist/locale/it.js +1 -1
  105. package/dist/locale/it.min.js +1 -1
  106. package/dist/locale/it.min.mjs +1 -1
  107. package/dist/locale/it.mjs +1 -1
  108. package/dist/locale/ja.js +1 -1
  109. package/dist/locale/ja.min.js +1 -1
  110. package/dist/locale/ja.min.mjs +1 -1
  111. package/dist/locale/ja.mjs +1 -1
  112. package/dist/locale/kk.js +1 -1
  113. package/dist/locale/kk.min.js +1 -1
  114. package/dist/locale/kk.min.mjs +1 -1
  115. package/dist/locale/kk.mjs +1 -1
  116. package/dist/locale/km.js +1 -1
  117. package/dist/locale/km.min.js +1 -1
  118. package/dist/locale/km.min.mjs +1 -1
  119. package/dist/locale/km.mjs +1 -1
  120. package/dist/locale/ko.js +1 -1
  121. package/dist/locale/ko.min.js +1 -1
  122. package/dist/locale/ko.min.mjs +1 -1
  123. package/dist/locale/ko.mjs +1 -1
  124. package/dist/locale/ku.js +1 -1
  125. package/dist/locale/ku.min.js +1 -1
  126. package/dist/locale/ku.min.mjs +1 -1
  127. package/dist/locale/ku.mjs +1 -1
  128. package/dist/locale/ky.js +1 -1
  129. package/dist/locale/ky.min.js +1 -1
  130. package/dist/locale/ky.min.mjs +1 -1
  131. package/dist/locale/ky.mjs +1 -1
  132. package/dist/locale/lt.js +1 -1
  133. package/dist/locale/lt.min.js +1 -1
  134. package/dist/locale/lt.min.mjs +1 -1
  135. package/dist/locale/lt.mjs +1 -1
  136. package/dist/locale/lv.js +1 -1
  137. package/dist/locale/lv.min.js +1 -1
  138. package/dist/locale/lv.min.mjs +1 -1
  139. package/dist/locale/lv.mjs +1 -1
  140. package/dist/locale/mg.js +1 -1
  141. package/dist/locale/mg.min.js +1 -1
  142. package/dist/locale/mg.min.mjs +1 -1
  143. package/dist/locale/mg.mjs +1 -1
  144. package/dist/locale/mn.js +1 -1
  145. package/dist/locale/mn.min.js +1 -1
  146. package/dist/locale/mn.min.mjs +1 -1
  147. package/dist/locale/mn.mjs +1 -1
  148. package/dist/locale/nb-no.js +1 -1
  149. package/dist/locale/nb-no.min.js +1 -1
  150. package/dist/locale/nb-no.min.mjs +1 -1
  151. package/dist/locale/nb-no.mjs +1 -1
  152. package/dist/locale/nl.js +1 -1
  153. package/dist/locale/nl.min.js +1 -1
  154. package/dist/locale/nl.min.mjs +1 -1
  155. package/dist/locale/nl.mjs +1 -1
  156. package/dist/locale/pa.js +1 -1
  157. package/dist/locale/pa.min.js +1 -1
  158. package/dist/locale/pa.min.mjs +1 -1
  159. package/dist/locale/pa.mjs +1 -1
  160. package/dist/locale/pl.js +1 -1
  161. package/dist/locale/pl.min.js +1 -1
  162. package/dist/locale/pl.min.mjs +1 -1
  163. package/dist/locale/pl.mjs +1 -1
  164. package/dist/locale/pt-br.js +1 -1
  165. package/dist/locale/pt-br.min.js +1 -1
  166. package/dist/locale/pt-br.min.mjs +1 -1
  167. package/dist/locale/pt-br.mjs +1 -1
  168. package/dist/locale/pt.js +1 -1
  169. package/dist/locale/pt.min.js +1 -1
  170. package/dist/locale/pt.min.mjs +1 -1
  171. package/dist/locale/pt.mjs +1 -1
  172. package/dist/locale/ro.js +1 -1
  173. package/dist/locale/ro.min.js +1 -1
  174. package/dist/locale/ro.min.mjs +1 -1
  175. package/dist/locale/ro.mjs +1 -1
  176. package/dist/locale/ru.js +1 -1
  177. package/dist/locale/ru.min.js +1 -1
  178. package/dist/locale/ru.min.mjs +1 -1
  179. package/dist/locale/ru.mjs +1 -1
  180. package/dist/locale/sk.js +1 -1
  181. package/dist/locale/sk.min.js +1 -1
  182. package/dist/locale/sk.min.mjs +1 -1
  183. package/dist/locale/sk.mjs +1 -1
  184. package/dist/locale/sl.js +1 -1
  185. package/dist/locale/sl.min.js +1 -1
  186. package/dist/locale/sl.min.mjs +1 -1
  187. package/dist/locale/sl.mjs +1 -1
  188. package/dist/locale/sr.js +1 -1
  189. package/dist/locale/sr.min.js +1 -1
  190. package/dist/locale/sr.min.mjs +1 -1
  191. package/dist/locale/sr.mjs +1 -1
  192. package/dist/locale/sv.js +1 -1
  193. package/dist/locale/sv.min.js +1 -1
  194. package/dist/locale/sv.min.mjs +1 -1
  195. package/dist/locale/sv.mjs +1 -1
  196. package/dist/locale/ta.js +1 -1
  197. package/dist/locale/ta.min.js +1 -1
  198. package/dist/locale/ta.min.mjs +1 -1
  199. package/dist/locale/ta.mjs +1 -1
  200. package/dist/locale/th.js +1 -1
  201. package/dist/locale/th.min.js +1 -1
  202. package/dist/locale/th.min.mjs +1 -1
  203. package/dist/locale/th.mjs +1 -1
  204. package/dist/locale/tk.js +1 -1
  205. package/dist/locale/tk.min.js +1 -1
  206. package/dist/locale/tk.min.mjs +1 -1
  207. package/dist/locale/tk.mjs +1 -1
  208. package/dist/locale/tr.js +1 -1
  209. package/dist/locale/tr.min.js +1 -1
  210. package/dist/locale/tr.min.mjs +1 -1
  211. package/dist/locale/tr.mjs +1 -1
  212. package/dist/locale/ug-cn.js +1 -1
  213. package/dist/locale/ug-cn.min.js +1 -1
  214. package/dist/locale/ug-cn.min.mjs +1 -1
  215. package/dist/locale/ug-cn.mjs +1 -1
  216. package/dist/locale/uk.js +1 -1
  217. package/dist/locale/uk.min.js +1 -1
  218. package/dist/locale/uk.min.mjs +1 -1
  219. package/dist/locale/uk.mjs +1 -1
  220. package/dist/locale/uz-uz.js +1 -1
  221. package/dist/locale/uz-uz.min.js +1 -1
  222. package/dist/locale/uz-uz.min.mjs +1 -1
  223. package/dist/locale/uz-uz.mjs +1 -1
  224. package/dist/locale/vi.js +1 -1
  225. package/dist/locale/vi.min.js +1 -1
  226. package/dist/locale/vi.min.mjs +1 -1
  227. package/dist/locale/vi.mjs +1 -1
  228. package/dist/locale/zh-cn.js +1 -1
  229. package/dist/locale/zh-cn.min.js +1 -1
  230. package/dist/locale/zh-cn.min.mjs +1 -1
  231. package/dist/locale/zh-cn.mjs +1 -1
  232. package/dist/locale/zh-tw.js +1 -1
  233. package/dist/locale/zh-tw.min.js +1 -1
  234. package/dist/locale/zh-tw.min.mjs +1 -1
  235. package/dist/locale/zh-tw.mjs +1 -1
  236. package/es/component.mjs +3 -1
  237. package/es/component.mjs.map +1 -1
  238. package/es/components/drawer/index.mjs +2 -2
  239. package/es/components/drawer/src/drawer.mjs +26 -176
  240. package/es/components/drawer/src/drawer.mjs.map +1 -1
  241. package/es/components/drawer/src/drawer2.mjs +176 -26
  242. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  243. package/es/components/index.mjs +1 -1
  244. package/es/components/watermark/index.d.ts +94 -0
  245. package/es/components/watermark/index.mjs +9 -0
  246. package/es/components/watermark/index.mjs.map +1 -0
  247. package/es/components/watermark/src/useClips.d.ts +7 -0
  248. package/es/components/watermark/src/useClips.mjs +82 -0
  249. package/es/components/watermark/src/useClips.mjs.map +1 -0
  250. package/es/components/watermark/src/utils.d.ts +8 -0
  251. package/es/components/watermark/src/utils.mjs +22 -0
  252. package/es/components/watermark/src/utils.mjs.map +1 -0
  253. package/es/components/watermark/src/watermark.d.ts +32 -0
  254. package/es/components/watermark/src/watermark.mjs +33 -0
  255. package/es/components/watermark/src/watermark.mjs.map +1 -0
  256. package/es/components/watermark/src/watermark.vue.d.ts +94 -0
  257. package/es/components/watermark/src/watermark2.mjs +202 -0
  258. package/es/components/watermark/src/watermark2.mjs.map +1 -0
  259. package/es/components/watermark/style/index.d.ts +0 -0
  260. package/es/components/watermark/style/index.mjs +2 -0
  261. package/es/components/watermark/style/index.mjs.map +1 -0
  262. package/es/index.mjs +1 -1
  263. package/es/version.d.ts +1 -1
  264. package/es/version.mjs +1 -1
  265. package/es/version.mjs.map +1 -1
  266. package/lib/component.js +3 -1
  267. package/lib/component.js.map +1 -1
  268. package/lib/components/drawer/index.js +2 -2
  269. package/lib/components/drawer/src/drawer.js +27 -176
  270. package/lib/components/drawer/src/drawer.js.map +1 -1
  271. package/lib/components/drawer/src/drawer2.js +176 -27
  272. package/lib/components/drawer/src/drawer2.js.map +1 -1
  273. package/lib/components/index.js +1 -1
  274. package/lib/components/watermark/index.d.ts +94 -0
  275. package/lib/components/watermark/index.js +15 -0
  276. package/lib/components/watermark/index.js.map +1 -0
  277. package/lib/components/watermark/src/useClips.d.ts +7 -0
  278. package/lib/components/watermark/src/useClips.js +87 -0
  279. package/lib/components/watermark/src/useClips.js.map +1 -0
  280. package/lib/components/watermark/src/utils.d.ts +8 -0
  281. package/lib/components/watermark/src/utils.js +29 -0
  282. package/lib/components/watermark/src/utils.js.map +1 -0
  283. package/lib/components/watermark/src/watermark.d.ts +32 -0
  284. package/lib/components/watermark/src/watermark.js +37 -0
  285. package/lib/components/watermark/src/watermark.js.map +1 -0
  286. package/lib/components/watermark/src/watermark.vue.d.ts +94 -0
  287. package/lib/components/watermark/src/watermark2.js +206 -0
  288. package/lib/components/watermark/src/watermark2.js.map +1 -0
  289. package/lib/components/watermark/style/index.d.ts +0 -0
  290. package/lib/components/watermark/style/index.js +3 -0
  291. package/lib/components/watermark/style/index.js.map +1 -0
  292. package/lib/index.js +1 -1
  293. package/lib/version.d.ts +1 -1
  294. package/lib/version.js +1 -1
  295. package/lib/version.js.map +1 -1
  296. package/package.json +2 -2
  297. package/tags.json +1 -1
  298. package/web-types.json +1 -1
@@ -1,33 +1,183 @@
1
- import '../../../utils/index.mjs';
1
+ import { defineComponent, computed, ref, resolveComponent, openBlock, createBlock, Teleport, createVNode, Transition, withCtx, withDirectives, createElementVNode, mergeProps, withModifiers, normalizeClass, createElementBlock, renderSlot, toDisplayString, createCommentVNode, vShow } from 'vue';
2
+ import { Close } from '@element-plus/icons-vue';
3
+ import { ElOverlay } from '../../overlay/index.mjs';
4
+ import '../../focus-trap/index.mjs';
2
5
  import '../../dialog/index.mjs';
3
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
4
- import { dialogProps, dialogEmits } from '../../dialog/src/dialog.mjs';
6
+ import '../../../utils/index.mjs';
7
+ import { ElIcon } from '../../icon/index.mjs';
8
+ import '../../../hooks/index.mjs';
9
+ import { drawerProps, drawerEmits } from './drawer.mjs';
10
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
+ import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
12
+ import { useDeprecated } from '../../../hooks/use-deprecated/index.mjs';
13
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
14
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
15
+ import { addUnit } from '../../../utils/dom/style.mjs';
16
+ import { useDialog } from '../../dialog/src/use-dialog.mjs';
5
17
 
6
- const drawerProps = buildProps({
7
- ...dialogProps,
8
- direction: {
9
- type: String,
10
- default: "rtl",
11
- values: ["ltr", "rtl", "ttb", "btt"]
12
- },
13
- size: {
14
- type: [String, Number],
15
- default: "30%"
16
- },
17
- withHeader: {
18
- type: Boolean,
19
- default: true
20
- },
21
- modalFade: {
22
- type: Boolean,
23
- default: true
18
+ const _sfc_main = defineComponent({
19
+ name: "ElDrawer",
20
+ components: {
21
+ ElOverlay,
22
+ ElFocusTrap,
23
+ ElIcon,
24
+ Close
24
25
  },
25
- headerAriaLevel: {
26
- type: String,
27
- default: "2"
26
+ inheritAttrs: false,
27
+ props: drawerProps,
28
+ emits: drawerEmits,
29
+ setup(props, { slots }) {
30
+ useDeprecated({
31
+ scope: "el-drawer",
32
+ from: "the title slot",
33
+ replacement: "the header slot",
34
+ version: "3.0.0",
35
+ ref: "https://element-plus.org/en-US/component/drawer.html#slots"
36
+ }, computed(() => !!slots.title));
37
+ useDeprecated({
38
+ scope: "el-drawer",
39
+ from: "custom-class",
40
+ replacement: "class",
41
+ version: "2.3.0",
42
+ ref: "https://element-plus.org/en-US/component/drawer.html#attributes",
43
+ type: "Attribute"
44
+ }, computed(() => !!props.customClass));
45
+ const drawerRef = ref();
46
+ const focusStartRef = ref();
47
+ const ns = useNamespace("drawer");
48
+ const { t } = useLocale();
49
+ const isHorizontal = computed(() => props.direction === "rtl" || props.direction === "ltr");
50
+ const drawerSize = computed(() => addUnit(props.size));
51
+ return {
52
+ ...useDialog(props, drawerRef),
53
+ drawerRef,
54
+ focusStartRef,
55
+ isHorizontal,
56
+ drawerSize,
57
+ ns,
58
+ t
59
+ };
28
60
  }
29
61
  });
30
- const drawerEmits = dialogEmits;
62
+ const _hoisted_1 = ["aria-label", "aria-labelledby", "aria-describedby"];
63
+ const _hoisted_2 = ["id", "aria-level"];
64
+ const _hoisted_3 = ["aria-label"];
65
+ const _hoisted_4 = ["id"];
66
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
67
+ const _component_close = resolveComponent("close");
68
+ const _component_el_icon = resolveComponent("el-icon");
69
+ const _component_el_focus_trap = resolveComponent("el-focus-trap");
70
+ const _component_el_overlay = resolveComponent("el-overlay");
71
+ return openBlock(), createBlock(Teleport, {
72
+ to: "body",
73
+ disabled: !_ctx.appendToBody
74
+ }, [
75
+ createVNode(Transition, {
76
+ name: _ctx.ns.b("fade"),
77
+ onAfterEnter: _ctx.afterEnter,
78
+ onAfterLeave: _ctx.afterLeave,
79
+ onBeforeLeave: _ctx.beforeLeave,
80
+ persisted: ""
81
+ }, {
82
+ default: withCtx(() => [
83
+ withDirectives(createVNode(_component_el_overlay, {
84
+ mask: _ctx.modal,
85
+ "overlay-class": _ctx.modalClass,
86
+ "z-index": _ctx.zIndex,
87
+ onClick: _ctx.onModalClick
88
+ }, {
89
+ default: withCtx(() => [
90
+ createVNode(_component_el_focus_trap, {
91
+ loop: "",
92
+ trapped: _ctx.visible,
93
+ "focus-trap-el": _ctx.drawerRef,
94
+ "focus-start-el": _ctx.focusStartRef,
95
+ onReleaseRequested: _ctx.onCloseRequested
96
+ }, {
97
+ default: withCtx(() => [
98
+ createElementVNode("div", mergeProps({
99
+ ref: "drawerRef",
100
+ "aria-modal": "true",
101
+ "aria-label": _ctx.title || void 0,
102
+ "aria-labelledby": !_ctx.title ? _ctx.titleId : void 0,
103
+ "aria-describedby": _ctx.bodyId
104
+ }, _ctx.$attrs, {
105
+ class: [_ctx.ns.b(), _ctx.direction, _ctx.visible && "open", _ctx.customClass],
106
+ style: _ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize,
107
+ role: "dialog",
108
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
109
+ }, ["stop"]))
110
+ }), [
111
+ createElementVNode("span", {
112
+ ref: "focusStartRef",
113
+ class: normalizeClass(_ctx.ns.e("sr-focus")),
114
+ tabindex: "-1"
115
+ }, null, 2),
116
+ _ctx.withHeader ? (openBlock(), createElementBlock("header", {
117
+ key: 0,
118
+ class: normalizeClass(_ctx.ns.e("header"))
119
+ }, [
120
+ !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
121
+ key: 0,
122
+ close: _ctx.handleClose,
123
+ titleId: _ctx.titleId,
124
+ titleClass: _ctx.ns.e("title")
125
+ }, () => [
126
+ !_ctx.$slots.title ? (openBlock(), createElementBlock("span", {
127
+ key: 0,
128
+ id: _ctx.titleId,
129
+ role: "heading",
130
+ "aria-level": _ctx.headerAriaLevel,
131
+ class: normalizeClass(_ctx.ns.e("title"))
132
+ }, toDisplayString(_ctx.title), 11, _hoisted_2)) : createCommentVNode("v-if", true)
133
+ ]) : renderSlot(_ctx.$slots, "title", { key: 1 }, () => [
134
+ createCommentVNode(" DEPRECATED SLOT ")
135
+ ]),
136
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
137
+ key: 2,
138
+ "aria-label": _ctx.t("el.drawer.close"),
139
+ class: normalizeClass(_ctx.ns.e("close-btn")),
140
+ type: "button",
141
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClose && _ctx.handleClose(...args))
142
+ }, [
143
+ createVNode(_component_el_icon, {
144
+ class: normalizeClass(_ctx.ns.e("close"))
145
+ }, {
146
+ default: withCtx(() => [
147
+ createVNode(_component_close)
148
+ ]),
149
+ _: 1
150
+ }, 8, ["class"])
151
+ ], 10, _hoisted_3)) : createCommentVNode("v-if", true)
152
+ ], 2)) : createCommentVNode("v-if", true),
153
+ _ctx.rendered ? (openBlock(), createElementBlock("div", {
154
+ key: 1,
155
+ id: _ctx.bodyId,
156
+ class: normalizeClass(_ctx.ns.e("body"))
157
+ }, [
158
+ renderSlot(_ctx.$slots, "default")
159
+ ], 10, _hoisted_4)) : createCommentVNode("v-if", true),
160
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
161
+ key: 2,
162
+ class: normalizeClass(_ctx.ns.e("footer"))
163
+ }, [
164
+ renderSlot(_ctx.$slots, "footer")
165
+ ], 2)) : createCommentVNode("v-if", true)
166
+ ], 16, _hoisted_1)
167
+ ]),
168
+ _: 3
169
+ }, 8, ["trapped", "focus-trap-el", "focus-start-el", "onReleaseRequested"])
170
+ ]),
171
+ _: 3
172
+ }, 8, ["mask", "overlay-class", "z-index", "onClick"]), [
173
+ [vShow, _ctx.visible]
174
+ ])
175
+ ]),
176
+ _: 3
177
+ }, 8, ["name", "onAfterEnter", "onAfterLeave", "onBeforeLeave"])
178
+ ], 8, ["disabled"]);
179
+ }
180
+ var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/drawer/src/drawer.vue"]]);
31
181
 
32
- export { drawerEmits, drawerProps };
182
+ export { Drawer as default };
33
183
  //# sourceMappingURL=drawer2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\n"],"names":[],"mappings":";;;;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,GAAG,WAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;;;;"}
1
+ {"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\n :class=\"[ns.b(), direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"ns.e('header')\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElFocusTrap,\n ElIcon,\n Close,\n },\n inheritAttrs: false,\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, { slots }) {\n useDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n )\n useDeprecated(\n {\n scope: 'el-drawer',\n from: 'custom-class',\n replacement: 'class',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.customClass)\n )\n\n const drawerRef = ref<HTMLElement>()\n const focusStartRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n const { t } = useLocale()\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() => addUnit(props.size))\n\n return {\n ...useDialog(props, drawerRef),\n drawerRef,\n focusStartRef,\n isHorizontal,\n drawerSize,\n ns,\n t,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_Teleport","_createVNode","_Transition","_withDirectives","_createElementVNode","_mergeProps","_withModifiers","_normalizeClass","_openBlock","_createElementBlock","_renderSlot","_toDisplayString","_createCommentVNode"],"mappings":"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"}
@@ -115,7 +115,7 @@ export { useDialog } from './dialog/src/use-dialog.mjs';
115
115
  export { dialogEmits, dialogProps } from './dialog/src/dialog.mjs';
116
116
  export { dialogInjectionKey } from './dialog/src/constants.mjs';
117
117
  export { dividerProps } from './divider/src/divider.mjs';
118
- export { drawerEmits, drawerProps } from './drawer/src/drawer2.mjs';
118
+ export { drawerEmits, drawerProps } from './drawer/src/drawer.mjs';
119
119
  export { DROPDOWN_COLLECTION_INJECTION_KEY, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './dropdown/src/dropdown.mjs';
120
120
  export { DROPDOWN_INJECTION_KEY } from './dropdown/src/tokens.mjs';
121
121
  export { emptyProps } from './empty/src/empty.mjs';
@@ -0,0 +1,94 @@
1
+ export declare const ElWatermark: import("@element-plus/nightly/es/utils").SFCWithInstall<import("vue").DefineComponent<{
2
+ readonly zIndex: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 9, boolean>;
3
+ readonly rotate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, -22, boolean>;
4
+ readonly width: NumberConstructor;
5
+ readonly height: NumberConstructor;
6
+ readonly image: StringConstructor;
7
+ readonly content: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]) | ((new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]))[], unknown, unknown, "Element Plus", boolean>;
8
+ readonly font: {
9
+ readonly type: import("vue").PropType<import("./src/watermark").WatermarkFontType>;
10
+ readonly required: false;
11
+ readonly validator: ((val: unknown) => boolean) | undefined;
12
+ __epPropKey: true;
13
+ };
14
+ readonly gap: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => [number, number]) | (() => [number, number]) | ((new (...args: any[]) => [number, number]) | (() => [number, number]))[], unknown, unknown, () => number[], boolean>;
15
+ readonly offset: {
16
+ readonly type: import("vue").PropType<[number, number]>;
17
+ readonly required: false;
18
+ readonly validator: ((val: unknown) => boolean) | undefined;
19
+ __epPropKey: true;
20
+ };
21
+ }, {
22
+ style: import("vue").CSSProperties;
23
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
24
+ readonly zIndex: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 9, boolean>;
25
+ readonly rotate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, -22, boolean>;
26
+ readonly width: NumberConstructor;
27
+ readonly height: NumberConstructor;
28
+ readonly image: StringConstructor;
29
+ readonly content: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]) | ((new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]))[], unknown, unknown, "Element Plus", boolean>;
30
+ readonly font: {
31
+ readonly type: import("vue").PropType<import("./src/watermark").WatermarkFontType>;
32
+ readonly required: false;
33
+ readonly validator: ((val: unknown) => boolean) | undefined;
34
+ __epPropKey: true;
35
+ };
36
+ readonly gap: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => [number, number]) | (() => [number, number]) | ((new (...args: any[]) => [number, number]) | (() => [number, number]))[], unknown, unknown, () => number[], boolean>;
37
+ readonly offset: {
38
+ readonly type: import("vue").PropType<[number, number]>;
39
+ readonly required: false;
40
+ readonly validator: ((val: unknown) => boolean) | undefined;
41
+ __epPropKey: true;
42
+ };
43
+ }>> & {
44
+ [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
45
+ }>>;
46
+ color: import("vue").ComputedRef<string>;
47
+ fontSize: import("vue").ComputedRef<string | number>;
48
+ fontWeight: import("vue").ComputedRef<number | "light" | "normal" | "weight">;
49
+ fontStyle: import("vue").ComputedRef<"none" | "normal" | "italic" | "oblique">;
50
+ fontFamily: import("vue").ComputedRef<string>;
51
+ gapX: import("vue").ComputedRef<number>;
52
+ gapY: import("vue").ComputedRef<number>;
53
+ gapXCenter: import("vue").ComputedRef<number>;
54
+ gapYCenter: import("vue").ComputedRef<number>;
55
+ offsetLeft: import("vue").ComputedRef<number>;
56
+ offsetTop: import("vue").ComputedRef<number>;
57
+ getMarkStyle: () => import("vue").CSSProperties;
58
+ containerRef: import("vue").ShallowRef<HTMLDivElement | null>;
59
+ watermarkRef: import("vue").ShallowRef<HTMLDivElement | undefined>;
60
+ stopObservation: import("vue").Ref<boolean>;
61
+ destroyWatermark: () => void;
62
+ appendWatermark: (base64Url: string, markWidth: number) => void;
63
+ getMarkSize: (ctx: CanvasRenderingContext2D) => readonly [number, number];
64
+ getClips: (content: HTMLImageElement | import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]) | ((new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]))[], unknown, unknown>, rotate: number, ratio: number, width: number, height: number, font: Required<import("./src/watermark").WatermarkFontType>, gapX: number, gapY: number) => [dataURL: string, finalWidth: number, finalHeight: number];
65
+ renderWatermark: () => void;
66
+ onMutate: (mutations: MutationRecord[]) => void;
67
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
68
+ readonly zIndex: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 9, boolean>;
69
+ readonly rotate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, -22, boolean>;
70
+ readonly width: NumberConstructor;
71
+ readonly height: NumberConstructor;
72
+ readonly image: StringConstructor;
73
+ readonly content: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]) | ((new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]))[], unknown, unknown, "Element Plus", boolean>;
74
+ readonly font: {
75
+ readonly type: import("vue").PropType<import("./src/watermark").WatermarkFontType>;
76
+ readonly required: false;
77
+ readonly validator: ((val: unknown) => boolean) | undefined;
78
+ __epPropKey: true;
79
+ };
80
+ readonly gap: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => [number, number]) | (() => [number, number]) | ((new (...args: any[]) => [number, number]) | (() => [number, number]))[], unknown, unknown, () => number[], boolean>;
81
+ readonly offset: {
82
+ readonly type: import("vue").PropType<[number, number]>;
83
+ readonly required: false;
84
+ readonly validator: ((val: unknown) => boolean) | undefined;
85
+ __epPropKey: true;
86
+ };
87
+ }>>, {
88
+ readonly zIndex: number;
89
+ readonly content: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]) | ((new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]))[], unknown, unknown>;
90
+ readonly rotate: number;
91
+ readonly gap: [number, number];
92
+ }>> & Record<string, any>;
93
+ export default ElWatermark;
94
+ export * from './src/watermark';
@@ -0,0 +1,9 @@
1
+ import '../../utils/index.mjs';
2
+ import Watermark from './src/watermark2.mjs';
3
+ export { watermarkProps } from './src/watermark.mjs';
4
+ import { withInstall } from '../../utils/vue/install.mjs';
5
+
6
+ const ElWatermark = withInstall(Watermark);
7
+
8
+ export { ElWatermark, ElWatermark as default };
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/watermark/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport Watermark from './src/watermark.vue'\n\nexport const ElWatermark = withInstall(Watermark)\nexport default ElWatermark\n\nexport * from './src/watermark'\n"],"names":[],"mappings":";;;;;AAEY,MAAC,WAAW,GAAG,WAAW,CAAC,SAAS;;;;"}
@@ -0,0 +1,7 @@
1
+ import type { WatermarkProps } from './watermark';
2
+ export declare const FontGap = 3;
3
+ /**
4
+ * Get the clips of text content.
5
+ * This is a lazy hook function since SSR no need this
6
+ */
7
+ export default function useClips(): (content: NonNullable<WatermarkProps['content']> | HTMLImageElement, rotate: number, ratio: number, width: number, height: number, font: Required<NonNullable<WatermarkProps['font']>>, gapX: number, gapY: number) => [dataURL: string, finalWidth: number, finalHeight: number];
@@ -0,0 +1,82 @@
1
+ const FontGap = 3;
2
+ function prepareCanvas(width, height, ratio = 1) {
3
+ const canvas = document.createElement("canvas");
4
+ const ctx = canvas.getContext("2d");
5
+ const realWidth = width * ratio;
6
+ const realHeight = height * ratio;
7
+ canvas.setAttribute("width", `${realWidth}px`);
8
+ canvas.setAttribute("height", `${realHeight}px`);
9
+ ctx.save();
10
+ return [ctx, canvas, realWidth, realHeight];
11
+ }
12
+ function useClips() {
13
+ function getClips(content, rotate, ratio, width, height, font, gapX, gapY) {
14
+ const [ctx, canvas, contentWidth, contentHeight] = prepareCanvas(width, height, ratio);
15
+ if (content instanceof HTMLImageElement) {
16
+ ctx.drawImage(content, 0, 0, contentWidth, contentHeight);
17
+ } else {
18
+ const { color, fontSize, fontStyle, fontWeight, fontFamily } = font;
19
+ const mergedFontSize = Number(fontSize) * ratio;
20
+ ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${height}px ${fontFamily}`;
21
+ ctx.fillStyle = color;
22
+ ctx.textAlign = "center";
23
+ ctx.textBaseline = "top";
24
+ const contents = Array.isArray(content) ? content : [content];
25
+ contents == null ? void 0 : contents.forEach((item, index) => {
26
+ ctx.fillText(item != null ? item : "", contentWidth / 2, index * (mergedFontSize + FontGap * ratio));
27
+ });
28
+ }
29
+ const angle = Math.PI / 180 * Number(rotate);
30
+ const maxSize = Math.max(width, height);
31
+ const [rCtx, rCanvas, realMaxSize] = prepareCanvas(maxSize, maxSize, ratio);
32
+ rCtx.translate(realMaxSize / 2, realMaxSize / 2);
33
+ rCtx.rotate(angle);
34
+ if (contentWidth > 0 && contentHeight > 0) {
35
+ rCtx.drawImage(canvas, -contentWidth / 2, -contentHeight / 2);
36
+ }
37
+ function getRotatePos(x, y) {
38
+ const targetX = x * Math.cos(angle) - y * Math.sin(angle);
39
+ const targetY = x * Math.sin(angle) + y * Math.cos(angle);
40
+ return [targetX, targetY];
41
+ }
42
+ let left = 0;
43
+ let right = 0;
44
+ let top = 0;
45
+ let bottom = 0;
46
+ const halfWidth = contentWidth / 2;
47
+ const halfHeight = contentHeight / 2;
48
+ const points = [
49
+ [0 - halfWidth, 0 - halfHeight],
50
+ [0 + halfWidth, 0 - halfHeight],
51
+ [0 + halfWidth, 0 + halfHeight],
52
+ [0 - halfWidth, 0 + halfHeight]
53
+ ];
54
+ points.forEach(([x, y]) => {
55
+ const [targetX, targetY] = getRotatePos(x, y);
56
+ left = Math.min(left, targetX);
57
+ right = Math.max(right, targetX);
58
+ top = Math.min(top, targetY);
59
+ bottom = Math.max(bottom, targetY);
60
+ });
61
+ const cutLeft = left + realMaxSize / 2;
62
+ const cutTop = top + realMaxSize / 2;
63
+ const cutWidth = right - left;
64
+ const cutHeight = bottom - top;
65
+ const realGapX = gapX * ratio;
66
+ const realGapY = gapY * ratio;
67
+ const filledWidth = (cutWidth + realGapX) * 2;
68
+ const filledHeight = cutHeight + realGapY;
69
+ const [fCtx, fCanvas] = prepareCanvas(filledWidth, filledHeight);
70
+ function drawImg(targetX = 0, targetY = 0) {
71
+ fCtx.drawImage(rCanvas, cutLeft, cutTop, cutWidth, cutHeight, targetX, targetY, cutWidth, cutHeight);
72
+ }
73
+ drawImg();
74
+ drawImg(cutWidth + realGapX, -cutHeight / 2 - realGapY / 2);
75
+ drawImg(cutWidth + realGapX, +cutHeight / 2 + realGapY / 2);
76
+ return [fCanvas.toDataURL(), filledWidth / ratio, filledHeight / ratio];
77
+ }
78
+ return getClips;
79
+ }
80
+
81
+ export { FontGap, useClips as default };
82
+ //# sourceMappingURL=useClips.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClips.mjs","sources":["../../../../../../packages/components/watermark/src/useClips.ts"],"sourcesContent":["import type { WatermarkProps } from './watermark'\n\nexport const FontGap = 3\n\nfunction prepareCanvas(\n width: number,\n height: number,\n ratio = 1\n): [\n ctx: CanvasRenderingContext2D,\n canvas: HTMLCanvasElement,\n realWidth: number,\n realHeight: number\n] {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')!\n const realWidth = width * ratio\n const realHeight = height * ratio\n canvas.setAttribute('width', `${realWidth}px`)\n canvas.setAttribute('height', `${realHeight}px`)\n ctx.save()\n\n return [ctx, canvas, realWidth, realHeight]\n}\n\n/**\n * Get the clips of text content.\n * This is a lazy hook function since SSR no need this\n */\nexport default function useClips() {\n // Get single clips\n function getClips(\n content: NonNullable<WatermarkProps['content']> | HTMLImageElement,\n rotate: number,\n ratio: number,\n width: number,\n height: number,\n font: Required<NonNullable<WatermarkProps['font']>>,\n gapX: number,\n gapY: number\n ): [dataURL: string, finalWidth: number, finalHeight: number] {\n // ================= Text / Image =================\n const [ctx, canvas, contentWidth, contentHeight] = prepareCanvas(\n width,\n height,\n ratio\n )\n\n if (content instanceof HTMLImageElement) {\n // Image\n ctx.drawImage(content, 0, 0, contentWidth, contentHeight)\n } else {\n // Text\n const { color, fontSize, fontStyle, fontWeight, fontFamily } = font\n const mergedFontSize = Number(fontSize) * ratio\n\n ctx.font = `${fontStyle} normal ${fontWeight} ${mergedFontSize}px/${height}px ${fontFamily}`\n ctx.fillStyle = color\n ctx.textAlign = 'center'\n ctx.textBaseline = 'top'\n const contents = Array.isArray(content) ? content : [content]\n contents?.forEach((item, index) => {\n ctx.fillText(\n item ?? '',\n contentWidth / 2,\n index * (mergedFontSize + FontGap * ratio)\n )\n })\n }\n\n // ==================== Rotate ====================\n const angle = (Math.PI / 180) * Number(rotate)\n const maxSize = Math.max(width, height)\n const [rCtx, rCanvas, realMaxSize] = prepareCanvas(maxSize, maxSize, ratio)\n\n // Copy from `ctx` and rotate\n rCtx.translate(realMaxSize / 2, realMaxSize / 2)\n rCtx.rotate(angle)\n if (contentWidth > 0 && contentHeight > 0) {\n rCtx.drawImage(canvas, -contentWidth / 2, -contentHeight / 2)\n }\n\n // Get boundary of rotated text\n function getRotatePos(x: number, y: number) {\n const targetX = x * Math.cos(angle) - y * Math.sin(angle)\n const targetY = x * Math.sin(angle) + y * Math.cos(angle)\n return [targetX, targetY]\n }\n\n let left = 0\n let right = 0\n let top = 0\n let bottom = 0\n\n const halfWidth = contentWidth / 2\n const halfHeight = contentHeight / 2\n const points = [\n [0 - halfWidth, 0 - halfHeight],\n [0 + halfWidth, 0 - halfHeight],\n [0 + halfWidth, 0 + halfHeight],\n [0 - halfWidth, 0 + halfHeight],\n ]\n points.forEach(([x, y]) => {\n const [targetX, targetY] = getRotatePos(x, y)\n left = Math.min(left, targetX)\n right = Math.max(right, targetX)\n top = Math.min(top, targetY)\n bottom = Math.max(bottom, targetY)\n })\n\n const cutLeft = left + realMaxSize / 2\n const cutTop = top + realMaxSize / 2\n const cutWidth = right - left\n const cutHeight = bottom - top\n\n // ================ Fill Alternate ================\n const realGapX = gapX * ratio\n const realGapY = gapY * ratio\n const filledWidth = (cutWidth + realGapX) * 2\n const filledHeight = cutHeight + realGapY\n\n const [fCtx, fCanvas] = prepareCanvas(filledWidth, filledHeight)\n\n function drawImg(targetX = 0, targetY = 0) {\n fCtx.drawImage(\n rCanvas,\n cutLeft,\n cutTop,\n cutWidth,\n cutHeight,\n targetX,\n targetY,\n cutWidth,\n cutHeight\n )\n }\n drawImg()\n drawImg(cutWidth + realGapX, -cutHeight / 2 - realGapY / 2)\n drawImg(cutWidth + realGapX, +cutHeight / 2 + realGapY / 2)\n\n return [fCanvas.toDataURL(), filledWidth / ratio, filledHeight / ratio]\n }\n\n return getClips\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CSSProperties } from 'vue';
2
+ /** converting camel-cased strings to be lowercase and link it with Separato */
3
+ export declare function toLowercaseSeparator(key: string): string;
4
+ export declare function getStyleStr(style: CSSProperties): string;
5
+ /** Returns the ratio of the device's physical pixel resolution to the css pixel resolution */
6
+ export declare function getPixelRatio(): number;
7
+ /** Whether to re-render the watermark */
8
+ export declare const reRendering: (mutation: MutationRecord, watermarkElement?: HTMLElement | undefined) => boolean;
@@ -0,0 +1,22 @@
1
+ function toLowercaseSeparator(key) {
2
+ return key.replace(/([A-Z])/g, "-$1").toLowerCase();
3
+ }
4
+ function getStyleStr(style) {
5
+ return Object.keys(style).map((key) => `${toLowercaseSeparator(key)}: ${style[key]};`).join(" ");
6
+ }
7
+ function getPixelRatio() {
8
+ return window.devicePixelRatio || 1;
9
+ }
10
+ const reRendering = (mutation, watermarkElement) => {
11
+ let flag = false;
12
+ if (mutation.removedNodes.length && watermarkElement) {
13
+ flag = Array.from(mutation.removedNodes).includes(watermarkElement);
14
+ }
15
+ if (mutation.type === "attributes" && mutation.target === watermarkElement) {
16
+ flag = true;
17
+ }
18
+ return flag;
19
+ };
20
+
21
+ export { getPixelRatio, getStyleStr, reRendering, toLowercaseSeparator };
22
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/watermark/src/utils.ts"],"sourcesContent":["import type { CSSProperties } from 'vue'\n\n/** converting camel-cased strings to be lowercase and link it with Separato */\nexport function toLowercaseSeparator(key: string) {\n return key.replace(/([A-Z])/g, '-$1').toLowerCase()\n}\n\nexport function getStyleStr(style: CSSProperties): string {\n return Object.keys(style)\n .map(\n (key) =>\n `${toLowercaseSeparator(key)}: ${style[key as keyof CSSProperties]};`\n )\n .join(' ')\n}\n\n/** Returns the ratio of the device's physical pixel resolution to the css pixel resolution */\nexport function getPixelRatio() {\n return window.devicePixelRatio || 1\n}\n\n/** Whether to re-render the watermark */\nexport const reRendering = (\n mutation: MutationRecord,\n watermarkElement?: HTMLElement\n) => {\n let flag = false\n // Whether to delete the watermark node\n if (mutation.removedNodes.length && watermarkElement) {\n flag = Array.from(mutation.removedNodes).includes(watermarkElement)\n }\n // Whether the watermark dom property value has been modified\n if (mutation.type === 'attributes' && mutation.target === watermarkElement) {\n flag = true\n }\n return flag\n}\n"],"names":[],"mappings":"AAAO,SAAS,oBAAoB,CAAC,GAAG,EAAE;AAC1C,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AACM,SAAS,WAAW,CAAC,KAAK,EAAE;AACnC,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnG,CAAC;AACM,SAAS,aAAa,GAAG;AAChC,EAAE,OAAO,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;AACtC,CAAC;AACW,MAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK;AAC3D,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC;AACnB,EAAE,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,IAAI,gBAAgB,EAAE;AACxD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AACxE,GAAG;AACH,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,MAAM,KAAK,gBAAgB,EAAE;AAC9E,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd;;;;"}
@@ -0,0 +1,32 @@
1
+ import type { ExtractPropTypes } from 'vue';
2
+ import type Watermark from './watermark.vue';
3
+ export interface WatermarkFontType {
4
+ color?: string;
5
+ fontSize?: number | string;
6
+ fontWeight?: 'normal' | 'light' | 'weight' | number;
7
+ fontStyle?: 'none' | 'normal' | 'italic' | 'oblique';
8
+ fontFamily?: string;
9
+ }
10
+ export declare const watermarkProps: {
11
+ readonly zIndex: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 9, boolean>;
12
+ readonly rotate: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, -22, boolean>;
13
+ readonly width: NumberConstructor;
14
+ readonly height: NumberConstructor;
15
+ readonly image: StringConstructor;
16
+ readonly content: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]) | ((new (...args: any[]) => (string | string[]) & {}) | (() => string | string[]))[], unknown, unknown, "Element Plus", boolean>;
17
+ readonly font: {
18
+ readonly type: import("vue").PropType<WatermarkFontType>;
19
+ readonly required: false;
20
+ readonly validator: ((val: unknown) => boolean) | undefined;
21
+ __epPropKey: true;
22
+ };
23
+ readonly gap: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => [number, number]) | (() => [number, number]) | ((new (...args: any[]) => [number, number]) | (() => [number, number]))[], unknown, unknown, () => number[], boolean>;
24
+ readonly offset: {
25
+ readonly type: import("vue").PropType<[number, number]>;
26
+ readonly required: false;
27
+ readonly validator: ((val: unknown) => boolean) | undefined;
28
+ __epPropKey: true;
29
+ };
30
+ };
31
+ export declare type WatermarkProps = ExtractPropTypes<typeof watermarkProps>;
32
+ export declare type WatermarkInstance = InstanceType<typeof Watermark>;
@@ -0,0 +1,33 @@
1
+ import '../../../utils/index.mjs';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
3
+
4
+ const watermarkProps = buildProps({
5
+ zIndex: {
6
+ type: Number,
7
+ default: 9
8
+ },
9
+ rotate: {
10
+ type: Number,
11
+ default: -22
12
+ },
13
+ width: Number,
14
+ height: Number,
15
+ image: String,
16
+ content: {
17
+ type: definePropType([String, Array]),
18
+ default: "Element Plus"
19
+ },
20
+ font: {
21
+ type: definePropType(Object)
22
+ },
23
+ gap: {
24
+ type: definePropType(Array),
25
+ default: () => [100, 100]
26
+ },
27
+ offset: {
28
+ type: definePropType(Array)
29
+ }
30
+ });
31
+
32
+ export { watermarkProps };
33
+ //# sourceMappingURL=watermark.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watermark.mjs","sources":["../../../../../../packages/components/watermark/src/watermark.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Watermark from './watermark.vue'\n\nexport interface WatermarkFontType {\n color?: string\n fontSize?: number | string\n fontWeight?: 'normal' | 'light' | 'weight' | number\n fontStyle?: 'none' | 'normal' | 'italic' | 'oblique'\n fontFamily?: string\n}\n\nexport const watermarkProps = buildProps({\n /**\n * @description The z-index of the appended watermark element\n */\n zIndex: {\n type: Number,\n default: 9,\n },\n /**\n * @description The rotation angle of the watermark\n */\n rotate: {\n type: Number,\n default: -22,\n },\n /**\n * @description The width of the watermark\n */\n width: Number,\n /**\n * @description The height of the watermark\n */\n height: Number,\n /**\n * @description Image source, it is recommended to export 2x or 3x image, high priority (support base64 format)\n */\n image: String,\n /**\n * @description Watermark text content\n */\n content: {\n type: definePropType<string | string[]>([String, Array]),\n default: 'Element Plus',\n },\n /**\n * @description Text style\n */\n font: {\n type: definePropType<WatermarkFontType>(Object),\n },\n /**\n * @description The spacing between watermarks\n */\n gap: {\n type: definePropType<[number, number]>(Array),\n default: () => [100, 100],\n },\n /**\n * @description The offset of the watermark from the upper left corner of the container. The default is gap/2\n */\n offset: {\n type: definePropType<[number, number]>(Array),\n },\n} as const)\n\nexport type WatermarkProps = ExtractPropTypes<typeof watermarkProps>\nexport type WatermarkInstance = InstanceType<typeof Watermark>\n"],"names":[],"mappings":";;;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC,EAAE;AAChB,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,IAAI,OAAO,EAAE,cAAc;AAC3B,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;AAC7B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,GAAG;AACH,CAAC;;;;"}