@element-plus/nightly 0.0.20251226 → 0.0.20251227
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.
- package/dist/index.full.js +2 -2
- package/dist/index.full.min.js +2 -2
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +2 -2
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +2 -2
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/index.mjs +2 -2
- package/es/components/affix/src/affix.mjs +29 -153
- package/es/components/affix/src/affix.mjs.map +1 -1
- package/es/components/affix/src/affix2.mjs +153 -29
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/autocomplete/index.mjs +2 -2
- package/es/components/autocomplete/src/autocomplete.mjs +485 -59
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs +59 -485
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/calendar/src/calendar2.mjs +1 -1
- package/es/components/calendar/src/select-controller.mjs +95 -12
- package/es/components/calendar/src/select-controller.mjs.map +1 -1
- package/es/components/calendar/src/select-controller2.mjs +12 -95
- package/es/components/calendar/src/select-controller2.mjs.map +1 -1
- package/es/components/cascader/index.mjs +2 -2
- package/es/components/cascader/src/cascader.mjs +822 -103
- package/es/components/cascader/src/cascader.mjs.map +1 -1
- package/es/components/cascader/src/cascader2.mjs +103 -822
- package/es/components/cascader/src/cascader2.mjs.map +1 -1
- package/es/components/check-tag/index.mjs +2 -2
- package/es/components/check-tag/src/check-tag.mjs +43 -14
- package/es/components/check-tag/src/check-tag.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag2.mjs +14 -43
- package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
- package/es/components/color-picker/index.mjs +2 -2
- package/es/components/color-picker/src/color-picker.mjs +53 -391
- package/es/components/color-picker/src/color-picker.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker2.mjs +391 -53
- package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
- package/es/components/index.mjs +8 -8
- package/es/components/pagination/src/components/sizes.mjs +88 -25
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes2.mjs +25 -88
- package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/radio/index.mjs +2 -2
- package/es/components/radio/src/radio-button.mjs +5 -79
- package/es/components/radio/src/radio-button.mjs.map +1 -1
- package/es/components/radio/src/radio-button2.mjs +79 -5
- package/es/components/radio/src/radio-button2.mjs.map +1 -1
- package/es/components/radio/src/radio-group2.mjs +1 -1
- package/es/components/tour/index.mjs +1 -1
- package/es/components/tour/src/content.mjs +85 -42
- package/es/components/tour/src/content.mjs.map +1 -1
- package/es/components/tour/src/content2.mjs +42 -85
- package/es/components/tour/src/content2.mjs.map +1 -1
- package/es/components/tour/src/step.mjs +1 -1
- package/es/components/tour/src/tour.mjs +1 -1
- package/es/components/tour/src/tour2.mjs +1 -1
- package/es/components/watermark/index.mjs +2 -2
- package/es/components/watermark/src/watermark.mjs +247 -26
- package/es/components/watermark/src/watermark.mjs.map +1 -1
- package/es/components/watermark/src/watermark2.mjs +26 -247
- package/es/components/watermark/src/watermark2.mjs.map +1 -1
- package/es/index.mjs +8 -8
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/index.js +2 -2
- package/lib/components/affix/src/affix.js +30 -153
- package/lib/components/affix/src/affix.js.map +1 -1
- package/lib/components/affix/src/affix2.js +153 -30
- package/lib/components/affix/src/affix2.js.map +1 -1
- package/lib/components/autocomplete/index.js +2 -2
- package/lib/components/autocomplete/src/autocomplete.js +483 -58
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js +58 -483
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/calendar/src/calendar2.js +1 -1
- package/lib/components/calendar/src/select-controller.js +98 -12
- package/lib/components/calendar/src/select-controller.js.map +1 -1
- package/lib/components/calendar/src/select-controller2.js +12 -98
- package/lib/components/calendar/src/select-controller2.js.map +1 -1
- package/lib/components/cascader/index.js +2 -2
- package/lib/components/cascader/src/cascader.js +821 -103
- package/lib/components/cascader/src/cascader.js.map +1 -1
- package/lib/components/cascader/src/cascader2.js +103 -821
- package/lib/components/cascader/src/cascader2.js.map +1 -1
- package/lib/components/check-tag/index.js +2 -2
- package/lib/components/check-tag/src/check-tag.js +43 -15
- package/lib/components/check-tag/src/check-tag.js.map +1 -1
- package/lib/components/check-tag/src/check-tag2.js +15 -43
- package/lib/components/check-tag/src/check-tag2.js.map +1 -1
- package/lib/components/color-picker/index.js +2 -2
- package/lib/components/color-picker/src/color-picker.js +53 -390
- package/lib/components/color-picker/src/color-picker.js.map +1 -1
- package/lib/components/color-picker/src/color-picker2.js +390 -53
- package/lib/components/color-picker/src/color-picker2.js.map +1 -1
- package/lib/components/index.js +8 -8
- package/lib/components/pagination/src/components/sizes.js +88 -25
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/sizes2.js +25 -88
- package/lib/components/pagination/src/components/sizes2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/radio/index.js +2 -2
- package/lib/components/radio/src/radio-button.js +5 -79
- package/lib/components/radio/src/radio-button.js.map +1 -1
- package/lib/components/radio/src/radio-button2.js +79 -5
- package/lib/components/radio/src/radio-button2.js.map +1 -1
- package/lib/components/radio/src/radio-group2.js +1 -1
- package/lib/components/tour/index.js +1 -1
- package/lib/components/tour/src/content.js +85 -45
- package/lib/components/tour/src/content.js.map +1 -1
- package/lib/components/tour/src/content2.js +45 -85
- package/lib/components/tour/src/content2.js.map +1 -1
- package/lib/components/tour/src/step.js +1 -1
- package/lib/components/tour/src/tour.js +1 -1
- package/lib/components/tour/src/tour2.js +1 -1
- package/lib/components/watermark/index.js +2 -2
- package/lib/components/watermark/src/watermark.js +247 -26
- package/lib/components/watermark/src/watermark.js.map +1 -1
- package/lib/components/watermark/src/watermark2.js +26 -247
- package/lib/components/watermark/src/watermark2.js.map +1 -1
- package/lib/index.js +8 -8
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -1,48 +1,91 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineComponent, ref, watch, toRef, computed, inject, openBlock, createElementBlock, normalizeStyle, unref, normalizeClass, createVNode, withCtx, renderSlot, createCommentVNode } from 'vue';
|
|
2
|
+
import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
|
|
3
|
+
import { tourContentProps, tourContentEmits } from './content2.mjs';
|
|
4
|
+
import { useFloating, tourKey } from './helper.mjs';
|
|
5
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
2
6
|
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"top",
|
|
8
|
-
"bottom-start",
|
|
9
|
-
"bottom-end",
|
|
10
|
-
"bottom",
|
|
11
|
-
"left-start",
|
|
12
|
-
"left-end",
|
|
13
|
-
"left",
|
|
14
|
-
"right-start",
|
|
15
|
-
"right-end",
|
|
16
|
-
"right"
|
|
17
|
-
];
|
|
18
|
-
const tourContentProps = buildProps({
|
|
19
|
-
placement: {
|
|
20
|
-
type: definePropType(String),
|
|
21
|
-
values: tourPlacements,
|
|
22
|
-
default: "bottom"
|
|
7
|
+
const _hoisted_1 = ["data-side"];
|
|
8
|
+
const _sfc_main = defineComponent({
|
|
9
|
+
...{
|
|
10
|
+
name: "ElTourContent"
|
|
23
11
|
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
12
|
+
__name: "content",
|
|
13
|
+
props: tourContentProps,
|
|
14
|
+
emits: tourContentEmits,
|
|
15
|
+
setup(__props, { emit: __emit }) {
|
|
16
|
+
const props = __props;
|
|
17
|
+
const emit = __emit;
|
|
18
|
+
const placement = ref(props.placement);
|
|
19
|
+
const strategy = ref(props.strategy);
|
|
20
|
+
const contentRef = ref(null);
|
|
21
|
+
const arrowRef = ref(null);
|
|
22
|
+
watch(
|
|
23
|
+
() => props.placement,
|
|
24
|
+
() => {
|
|
25
|
+
placement.value = props.placement;
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
const { contentStyle, arrowStyle } = useFloating(
|
|
29
|
+
toRef(props, "reference"),
|
|
30
|
+
contentRef,
|
|
31
|
+
arrowRef,
|
|
32
|
+
placement,
|
|
33
|
+
strategy,
|
|
34
|
+
toRef(props, "offset"),
|
|
35
|
+
toRef(props, "zIndex"),
|
|
36
|
+
toRef(props, "showArrow")
|
|
37
|
+
);
|
|
38
|
+
const side = computed(() => {
|
|
39
|
+
return placement.value.split("-")[0];
|
|
40
|
+
});
|
|
41
|
+
const { ns } = inject(tourKey);
|
|
42
|
+
const onCloseRequested = () => {
|
|
43
|
+
emit("close");
|
|
44
|
+
};
|
|
45
|
+
const onFocusoutPrevented = (event) => {
|
|
46
|
+
if (event.detail.focusReason === "pointer") {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return (_ctx, _cache) => {
|
|
51
|
+
return openBlock(), createElementBlock("div", {
|
|
52
|
+
ref_key: "contentRef",
|
|
53
|
+
ref: contentRef,
|
|
54
|
+
style: normalizeStyle(unref(contentStyle)),
|
|
55
|
+
class: normalizeClass(unref(ns).e("content")),
|
|
56
|
+
"data-side": side.value,
|
|
57
|
+
tabindex: "-1"
|
|
58
|
+
}, [
|
|
59
|
+
createVNode(unref(ElFocusTrap), {
|
|
60
|
+
loop: "",
|
|
61
|
+
trapped: "",
|
|
62
|
+
"focus-start-el": "container",
|
|
63
|
+
"focus-trap-el": contentRef.value || void 0,
|
|
64
|
+
onReleaseRequested: onCloseRequested,
|
|
65
|
+
onFocusoutPrevented
|
|
66
|
+
}, {
|
|
67
|
+
default: withCtx(() => [
|
|
68
|
+
renderSlot(_ctx.$slots, "default")
|
|
69
|
+
]),
|
|
70
|
+
_: 3
|
|
71
|
+
}, 8, ["focus-trap-el"]),
|
|
72
|
+
_ctx.showArrow ? (openBlock(), createElementBlock(
|
|
73
|
+
"span",
|
|
74
|
+
{
|
|
75
|
+
key: 0,
|
|
76
|
+
ref_key: "arrowRef",
|
|
77
|
+
ref: arrowRef,
|
|
78
|
+
style: normalizeStyle(unref(arrowStyle)),
|
|
79
|
+
class: normalizeClass(unref(ns).e("arrow"))
|
|
80
|
+
},
|
|
81
|
+
null,
|
|
82
|
+
6
|
|
83
|
+
)) : createCommentVNode("v-if", true)
|
|
84
|
+
], 14, _hoisted_1);
|
|
85
|
+
};
|
|
41
86
|
}
|
|
42
87
|
});
|
|
43
|
-
|
|
44
|
-
close: () => true
|
|
45
|
-
};
|
|
88
|
+
var ElTourContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/tour/src/content.vue"]]);
|
|
46
89
|
|
|
47
|
-
export {
|
|
90
|
+
export { ElTourContent as default };
|
|
48
91
|
//# sourceMappingURL=content.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tour/src/content.
|
|
1
|
+
{"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tour/src/content.vue"],"sourcesContent":["<template>\n <div\n ref=\"contentRef\"\n :style=\"contentStyle\"\n :class=\"ns.e('content')\"\n :data-side=\"side\"\n tabindex=\"-1\"\n >\n <el-focus-trap\n loop\n trapped\n focus-start-el=\"container\"\n :focus-trap-el=\"contentRef || undefined\"\n @release-requested=\"onCloseRequested\"\n @focusout-prevented=\"onFocusoutPrevented\"\n >\n <slot />\n </el-focus-trap>\n <span\n v-if=\"showArrow\"\n ref=\"arrowRef\"\n :style=\"arrowStyle\"\n :class=\"ns.e('arrow')\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, ref, toRef, watch } from 'vue'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { tourContentEmits, tourContentProps } from './content'\nimport { tourKey, useFloating } from './helper'\n\ndefineOptions({\n name: 'ElTourContent',\n})\n\nconst props = defineProps(tourContentProps)\nconst emit = defineEmits(tourContentEmits)\n\nconst placement = ref(props.placement)\nconst strategy = ref(props.strategy)\nconst contentRef = ref<HTMLElement | null>(null)\nconst arrowRef = ref<HTMLElement | null>(null)\n\nwatch(\n () => props.placement,\n () => {\n placement.value = props.placement\n }\n)\n\nconst { contentStyle, arrowStyle } = useFloating(\n toRef(props, 'reference'),\n contentRef,\n arrowRef,\n placement,\n strategy,\n toRef(props, 'offset'),\n toRef(props, 'zIndex'),\n toRef(props, 'showArrow')\n)\n\nconst side = computed(() => {\n return placement.value.split('-')[0]\n})\n\nconst { ns } = inject(tourKey)!\n\nconst onCloseRequested = () => {\n emit('close')\n}\n\nconst onFocusoutPrevented = (event: CustomEvent) => {\n if (event.detail.focusReason === 'pointer') {\n event.preventDefault()\n }\n}\n</script>\n"],"names":["_createElementBlock","_normalizeStyle","_unref","_normalizeClass","_createVNode","_renderSlot","showArrow","_openBlock"],"mappings":"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"}
|
|
@@ -1,91 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
|
|
3
|
-
import { tourContentProps, tourContentEmits } from './content.mjs';
|
|
4
|
-
import { useFloating, tourKey } from './helper.mjs';
|
|
5
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
1
|
+
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
|
6
2
|
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
const tourStrategies = ["absolute", "fixed"];
|
|
4
|
+
const tourPlacements = [
|
|
5
|
+
"top-start",
|
|
6
|
+
"top-end",
|
|
7
|
+
"top",
|
|
8
|
+
"bottom-start",
|
|
9
|
+
"bottom-end",
|
|
10
|
+
"bottom",
|
|
11
|
+
"left-start",
|
|
12
|
+
"left-end",
|
|
13
|
+
"left",
|
|
14
|
+
"right-start",
|
|
15
|
+
"right-end",
|
|
16
|
+
"right"
|
|
17
|
+
];
|
|
18
|
+
const tourContentProps = buildProps({
|
|
19
|
+
placement: {
|
|
20
|
+
type: definePropType(String),
|
|
21
|
+
values: tourPlacements,
|
|
22
|
+
default: "bottom"
|
|
11
23
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
toRef(props, "reference"),
|
|
30
|
-
contentRef,
|
|
31
|
-
arrowRef,
|
|
32
|
-
placement,
|
|
33
|
-
strategy,
|
|
34
|
-
toRef(props, "offset"),
|
|
35
|
-
toRef(props, "zIndex"),
|
|
36
|
-
toRef(props, "showArrow")
|
|
37
|
-
);
|
|
38
|
-
const side = computed(() => {
|
|
39
|
-
return placement.value.split("-")[0];
|
|
40
|
-
});
|
|
41
|
-
const { ns } = inject(tourKey);
|
|
42
|
-
const onCloseRequested = () => {
|
|
43
|
-
emit("close");
|
|
44
|
-
};
|
|
45
|
-
const onFocusoutPrevented = (event) => {
|
|
46
|
-
if (event.detail.focusReason === "pointer") {
|
|
47
|
-
event.preventDefault();
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
return (_ctx, _cache) => {
|
|
51
|
-
return openBlock(), createElementBlock("div", {
|
|
52
|
-
ref_key: "contentRef",
|
|
53
|
-
ref: contentRef,
|
|
54
|
-
style: normalizeStyle(unref(contentStyle)),
|
|
55
|
-
class: normalizeClass(unref(ns).e("content")),
|
|
56
|
-
"data-side": side.value,
|
|
57
|
-
tabindex: "-1"
|
|
58
|
-
}, [
|
|
59
|
-
createVNode(unref(ElFocusTrap), {
|
|
60
|
-
loop: "",
|
|
61
|
-
trapped: "",
|
|
62
|
-
"focus-start-el": "container",
|
|
63
|
-
"focus-trap-el": contentRef.value || void 0,
|
|
64
|
-
onReleaseRequested: onCloseRequested,
|
|
65
|
-
onFocusoutPrevented
|
|
66
|
-
}, {
|
|
67
|
-
default: withCtx(() => [
|
|
68
|
-
renderSlot(_ctx.$slots, "default")
|
|
69
|
-
]),
|
|
70
|
-
_: 3
|
|
71
|
-
}, 8, ["focus-trap-el"]),
|
|
72
|
-
_ctx.showArrow ? (openBlock(), createElementBlock(
|
|
73
|
-
"span",
|
|
74
|
-
{
|
|
75
|
-
key: 0,
|
|
76
|
-
ref_key: "arrowRef",
|
|
77
|
-
ref: arrowRef,
|
|
78
|
-
style: normalizeStyle(unref(arrowStyle)),
|
|
79
|
-
class: normalizeClass(unref(ns).e("arrow"))
|
|
80
|
-
},
|
|
81
|
-
null,
|
|
82
|
-
6
|
|
83
|
-
)) : createCommentVNode("v-if", true)
|
|
84
|
-
], 14, _hoisted_1);
|
|
85
|
-
};
|
|
24
|
+
reference: {
|
|
25
|
+
type: definePropType(Object),
|
|
26
|
+
default: null
|
|
27
|
+
},
|
|
28
|
+
strategy: {
|
|
29
|
+
type: definePropType(String),
|
|
30
|
+
values: tourStrategies,
|
|
31
|
+
default: "absolute"
|
|
32
|
+
},
|
|
33
|
+
offset: {
|
|
34
|
+
type: Number,
|
|
35
|
+
default: 10
|
|
36
|
+
},
|
|
37
|
+
showArrow: Boolean,
|
|
38
|
+
zIndex: {
|
|
39
|
+
type: Number,
|
|
40
|
+
default: 2001
|
|
86
41
|
}
|
|
87
42
|
});
|
|
88
|
-
|
|
43
|
+
const tourContentEmits = {
|
|
44
|
+
close: () => true
|
|
45
|
+
};
|
|
89
46
|
|
|
90
|
-
export {
|
|
47
|
+
export { tourContentEmits, tourContentProps, tourPlacements, tourStrategies };
|
|
91
48
|
//# sourceMappingURL=content2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/tour/src/content.
|
|
1
|
+
{"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/tour/src/content.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\nimport type { Placement, Strategy, VirtualElement } from '@floating-ui/dom'\n\nexport const tourStrategies = ['absolute', 'fixed'] as const\n\nexport const tourPlacements = [\n 'top-start',\n 'top-end',\n 'top',\n 'bottom-start',\n 'bottom-end',\n 'bottom',\n 'left-start',\n 'left-end',\n 'left',\n 'right-start',\n 'right-end',\n 'right',\n] as const\n\nexport const tourContentProps = buildProps({\n /**\n * @description position of the guide card relative to the target element\n */\n placement: {\n type: definePropType<Placement>(String),\n values: tourPlacements,\n default: 'bottom',\n },\n /**\n * @description the reference dom\n */\n reference: {\n type: definePropType<HTMLElement | VirtualElement | null>(Object),\n default: null,\n },\n /**\n * @description position strategy of the content\n */\n strategy: {\n type: definePropType<Strategy>(String),\n values: tourStrategies,\n default: 'absolute',\n },\n /**\n * @description offset of the arrow\n */\n offset: {\n type: Number,\n default: 10,\n },\n /**\n * @description whether to show the arrow\n */\n showArrow: Boolean,\n /**\n * @description content's zIndex\n */\n zIndex: {\n type: Number,\n default: 2001,\n },\n})\n\nexport type TourContentProps = ExtractPropTypes<typeof tourContentProps>\nexport type TourContentPropsPublic = ExtractPublicPropTypes<\n typeof tourContentProps\n>\n\nexport const tourContentEmits = {\n close: () => true,\n}\nexport type TourContentEmits = typeof tourContentEmits\n"],"names":[],"mappings":";;AAKa,MAAA,cAAA,GAAiB,CAAC,UAAA,EAAY,OAAO,EAAA;AAE3C,MAAM,cAAiB,GAAA;AAAA,EAC5B,WAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AACF,EAAA;AAEO,MAAM,mBAAmB,UAAW,CAAA;AAAA,EAIzC,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA0B,MAAM,CAAA;AAAA,IACtC,MAAQ,EAAA,cAAA;AAAA,IACR,OAAS,EAAA,QAAA;AAAA,GACX;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAAoD,MAAM,CAAA;AAAA,IAChE,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,IACrC,MAAQ,EAAA,cAAA;AAAA,IACR,OAAS,EAAA,UAAA;AAAA,GACX;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EAIA,SAAW,EAAA,OAAA;AAAA,EAIX,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAC,EAAA;AAOM,MAAM,gBAAmB,GAAA;AAAA,EAC9B,OAAO,MAAM,IAAA;AACf;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tourContentProps } from './
|
|
1
|
+
import { tourContentProps } from './content2.mjs';
|
|
2
2
|
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
|
3
3
|
import { iconPropType } from '../../../utils/vue/icon.mjs';
|
|
4
4
|
import { teleportProps } from '../../teleport/src/teleport.mjs';
|
|
@@ -2,7 +2,7 @@ import { defineComponent, ref, computed, toRef, watch, useSlots, provide, openBl
|
|
|
2
2
|
import { useVModel } from '@vueuse/core';
|
|
3
3
|
import { ElTeleport } from '../../teleport/index.mjs';
|
|
4
4
|
import ElTourMask from './mask2.mjs';
|
|
5
|
-
import ElTourContent from './
|
|
5
|
+
import ElTourContent from './content.mjs';
|
|
6
6
|
import ElTourSteps from './steps.mjs';
|
|
7
7
|
import { tourProps, tourEmits } from './tour.mjs';
|
|
8
8
|
import { useTarget, tourKey } from './helper.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Watermark from './src/
|
|
2
|
-
export { watermarkProps } from './src/
|
|
1
|
+
import Watermark from './src/watermark.mjs';
|
|
2
|
+
export { watermarkProps } from './src/watermark2.mjs';
|
|
3
3
|
import { withInstall } from '../../utils/vue/install.mjs';
|
|
4
4
|
|
|
5
5
|
const ElWatermark = withInstall(Watermark);
|
|
@@ -1,32 +1,253 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineComponent, computed, shallowRef, ref, onMounted, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeStyle, renderSlot } from 'vue';
|
|
2
|
+
import { useMutationObserver } from '@vueuse/core';
|
|
3
|
+
import { watermarkProps } from './watermark2.mjs';
|
|
4
|
+
import { reRendering, getStyleStr, getPixelRatio } from './utils.mjs';
|
|
5
|
+
import useClips from './useClips.mjs';
|
|
6
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
7
|
+
import { isArray } from '@vue/shared';
|
|
8
|
+
import { isUndefined } from '../../../utils/types.mjs';
|
|
2
9
|
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
default: 9
|
|
10
|
+
const _sfc_main = defineComponent({
|
|
11
|
+
...{
|
|
12
|
+
name: "ElWatermark"
|
|
7
13
|
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
__name: "watermark",
|
|
15
|
+
props: watermarkProps,
|
|
16
|
+
setup(__props) {
|
|
17
|
+
const style = {
|
|
18
|
+
position: "relative"
|
|
19
|
+
};
|
|
20
|
+
const props = __props;
|
|
21
|
+
const fontGap = computed(() => {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.fontGap) != null ? _b : 3;
|
|
24
|
+
});
|
|
25
|
+
const color = computed(() => {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.color) != null ? _b : "rgba(0,0,0,.15)";
|
|
28
|
+
});
|
|
29
|
+
const fontSize = computed(() => {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.fontSize) != null ? _b : 16;
|
|
32
|
+
});
|
|
33
|
+
const fontWeight = computed(() => {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.fontWeight) != null ? _b : "normal";
|
|
36
|
+
});
|
|
37
|
+
const fontStyle = computed(() => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.fontStyle) != null ? _b : "normal";
|
|
40
|
+
});
|
|
41
|
+
const fontFamily = computed(() => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.fontFamily) != null ? _b : "sans-serif";
|
|
44
|
+
});
|
|
45
|
+
const textAlign = computed(() => {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.textAlign) != null ? _b : "center";
|
|
48
|
+
});
|
|
49
|
+
const textBaseline = computed(() => {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
return (_b = (_a = props.font) == null ? void 0 : _a.textBaseline) != null ? _b : "hanging";
|
|
52
|
+
});
|
|
53
|
+
const gapX = computed(() => props.gap[0]);
|
|
54
|
+
const gapY = computed(() => props.gap[1]);
|
|
55
|
+
const gapXCenter = computed(() => gapX.value / 2);
|
|
56
|
+
const gapYCenter = computed(() => gapY.value / 2);
|
|
57
|
+
const offsetLeft = computed(() => {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
return (_b = (_a = props.offset) == null ? void 0 : _a[0]) != null ? _b : gapXCenter.value;
|
|
60
|
+
});
|
|
61
|
+
const offsetTop = computed(() => {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
return (_b = (_a = props.offset) == null ? void 0 : _a[1]) != null ? _b : gapYCenter.value;
|
|
64
|
+
});
|
|
65
|
+
const getMarkStyle = () => {
|
|
66
|
+
const markStyle = {
|
|
67
|
+
zIndex: props.zIndex,
|
|
68
|
+
position: "absolute",
|
|
69
|
+
left: 0,
|
|
70
|
+
top: 0,
|
|
71
|
+
width: "100%",
|
|
72
|
+
height: "100%",
|
|
73
|
+
pointerEvents: "none",
|
|
74
|
+
backgroundRepeat: "repeat"
|
|
75
|
+
};
|
|
76
|
+
let positionLeft = offsetLeft.value - gapXCenter.value;
|
|
77
|
+
let positionTop = offsetTop.value - gapYCenter.value;
|
|
78
|
+
if (positionLeft > 0) {
|
|
79
|
+
markStyle.left = `${positionLeft}px`;
|
|
80
|
+
markStyle.width = `calc(100% - ${positionLeft}px)`;
|
|
81
|
+
positionLeft = 0;
|
|
82
|
+
}
|
|
83
|
+
if (positionTop > 0) {
|
|
84
|
+
markStyle.top = `${positionTop}px`;
|
|
85
|
+
markStyle.height = `calc(100% - ${positionTop}px)`;
|
|
86
|
+
positionTop = 0;
|
|
87
|
+
}
|
|
88
|
+
markStyle.backgroundPosition = `${positionLeft}px ${positionTop}px`;
|
|
89
|
+
return markStyle;
|
|
90
|
+
};
|
|
91
|
+
const containerRef = shallowRef(null);
|
|
92
|
+
const watermarkRef = shallowRef();
|
|
93
|
+
const stopObservation = ref(false);
|
|
94
|
+
const destroyWatermark = () => {
|
|
95
|
+
if (watermarkRef.value) {
|
|
96
|
+
watermarkRef.value.remove();
|
|
97
|
+
watermarkRef.value = void 0;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const appendWatermark = (base64Url, markWidth) => {
|
|
101
|
+
var _a;
|
|
102
|
+
if (containerRef.value && watermarkRef.value) {
|
|
103
|
+
stopObservation.value = true;
|
|
104
|
+
watermarkRef.value.setAttribute(
|
|
105
|
+
"style",
|
|
106
|
+
getStyleStr({
|
|
107
|
+
...getMarkStyle(),
|
|
108
|
+
backgroundImage: `url('${base64Url}')`,
|
|
109
|
+
backgroundSize: `${Math.floor(markWidth)}px`
|
|
110
|
+
})
|
|
111
|
+
);
|
|
112
|
+
(_a = containerRef.value) == null ? void 0 : _a.append(watermarkRef.value);
|
|
113
|
+
setTimeout(() => {
|
|
114
|
+
stopObservation.value = false;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
const getMarkSize = (ctx) => {
|
|
119
|
+
let defaultWidth = 120;
|
|
120
|
+
let defaultHeight = 64;
|
|
121
|
+
let space = 0;
|
|
122
|
+
const { image, content, width, height, rotate } = props;
|
|
123
|
+
if (!image && ctx.measureText) {
|
|
124
|
+
ctx.font = `${Number(fontSize.value)}px ${fontFamily.value}`;
|
|
125
|
+
const contents = isArray(content) ? content : [content];
|
|
126
|
+
let maxWidth = 0;
|
|
127
|
+
let maxHeight = 0;
|
|
128
|
+
contents.forEach((item) => {
|
|
129
|
+
const {
|
|
130
|
+
width: width2,
|
|
131
|
+
fontBoundingBoxAscent,
|
|
132
|
+
fontBoundingBoxDescent,
|
|
133
|
+
actualBoundingBoxAscent,
|
|
134
|
+
actualBoundingBoxDescent
|
|
135
|
+
} = ctx.measureText(item);
|
|
136
|
+
const height2 = isUndefined(fontBoundingBoxAscent) ? actualBoundingBoxAscent + actualBoundingBoxDescent : fontBoundingBoxAscent + fontBoundingBoxDescent;
|
|
137
|
+
if (width2 > maxWidth)
|
|
138
|
+
maxWidth = Math.ceil(width2);
|
|
139
|
+
if (height2 > maxHeight)
|
|
140
|
+
maxHeight = Math.ceil(height2);
|
|
141
|
+
});
|
|
142
|
+
defaultWidth = maxWidth;
|
|
143
|
+
defaultHeight = maxHeight * contents.length + (contents.length - 1) * fontGap.value;
|
|
144
|
+
const angle = Math.PI / 180 * Number(rotate);
|
|
145
|
+
space = Math.ceil(Math.abs(Math.sin(angle) * defaultHeight) / 2);
|
|
146
|
+
defaultWidth += space;
|
|
147
|
+
}
|
|
148
|
+
return [width != null ? width : defaultWidth, height != null ? height : defaultHeight, space];
|
|
149
|
+
};
|
|
150
|
+
const getClips = useClips();
|
|
151
|
+
const renderWatermark = () => {
|
|
152
|
+
const canvas = document.createElement("canvas");
|
|
153
|
+
const ctx = canvas.getContext("2d");
|
|
154
|
+
const image = props.image;
|
|
155
|
+
const content = props.content;
|
|
156
|
+
const rotate = props.rotate;
|
|
157
|
+
if (ctx) {
|
|
158
|
+
if (!watermarkRef.value) {
|
|
159
|
+
watermarkRef.value = document.createElement("div");
|
|
160
|
+
}
|
|
161
|
+
const ratio = getPixelRatio();
|
|
162
|
+
const [markWidth, markHeight, space] = getMarkSize(ctx);
|
|
163
|
+
const drawCanvas = (drawContent) => {
|
|
164
|
+
const [textClips, clipWidth] = getClips(
|
|
165
|
+
drawContent || "",
|
|
166
|
+
rotate,
|
|
167
|
+
ratio,
|
|
168
|
+
markWidth,
|
|
169
|
+
markHeight,
|
|
170
|
+
{
|
|
171
|
+
color: color.value,
|
|
172
|
+
fontSize: fontSize.value,
|
|
173
|
+
fontStyle: fontStyle.value,
|
|
174
|
+
fontWeight: fontWeight.value,
|
|
175
|
+
fontFamily: fontFamily.value,
|
|
176
|
+
fontGap: fontGap.value,
|
|
177
|
+
textAlign: textAlign.value,
|
|
178
|
+
textBaseline: textBaseline.value
|
|
179
|
+
},
|
|
180
|
+
gapX.value,
|
|
181
|
+
gapY.value,
|
|
182
|
+
space
|
|
183
|
+
);
|
|
184
|
+
appendWatermark(textClips, clipWidth);
|
|
185
|
+
};
|
|
186
|
+
if (image) {
|
|
187
|
+
const img = new Image();
|
|
188
|
+
img.onload = () => {
|
|
189
|
+
drawCanvas(img);
|
|
190
|
+
};
|
|
191
|
+
img.onerror = () => {
|
|
192
|
+
drawCanvas(content);
|
|
193
|
+
};
|
|
194
|
+
img.crossOrigin = "anonymous";
|
|
195
|
+
img.referrerPolicy = "no-referrer";
|
|
196
|
+
img.src = image;
|
|
197
|
+
} else {
|
|
198
|
+
drawCanvas(content);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
onMounted(() => {
|
|
203
|
+
renderWatermark();
|
|
204
|
+
});
|
|
205
|
+
watch(
|
|
206
|
+
() => props,
|
|
207
|
+
() => {
|
|
208
|
+
renderWatermark();
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
deep: true,
|
|
212
|
+
flush: "post"
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
onBeforeUnmount(() => {
|
|
216
|
+
destroyWatermark();
|
|
217
|
+
});
|
|
218
|
+
const onMutate = (mutations) => {
|
|
219
|
+
if (stopObservation.value) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
mutations.forEach((mutation) => {
|
|
223
|
+
if (reRendering(mutation, watermarkRef.value)) {
|
|
224
|
+
destroyWatermark();
|
|
225
|
+
renderWatermark();
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
};
|
|
229
|
+
useMutationObserver(containerRef, onMutate, {
|
|
230
|
+
attributes: true,
|
|
231
|
+
subtree: true,
|
|
232
|
+
childList: true
|
|
233
|
+
});
|
|
234
|
+
return (_ctx, _cache) => {
|
|
235
|
+
return openBlock(), createElementBlock(
|
|
236
|
+
"div",
|
|
237
|
+
{
|
|
238
|
+
ref_key: "containerRef",
|
|
239
|
+
ref: containerRef,
|
|
240
|
+
style: normalizeStyle([style])
|
|
241
|
+
},
|
|
242
|
+
[
|
|
243
|
+
renderSlot(_ctx.$slots, "default")
|
|
244
|
+
],
|
|
245
|
+
4
|
|
246
|
+
);
|
|
247
|
+
};
|
|
28
248
|
}
|
|
29
249
|
});
|
|
250
|
+
var Watermark = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/watermark/src/watermark.vue"]]);
|
|
30
251
|
|
|
31
|
-
export {
|
|
252
|
+
export { Watermark as default };
|
|
32
253
|
//# sourceMappingURL=watermark.mjs.map
|