@element-plus/nightly 0.0.20250804 → 0.0.20250806
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/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +139 -52
- package/dist/index.full.min.js +14 -14
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +13 -13
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +139 -52
- 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/anchor/src/anchor2.mjs +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +2 -0
- package/es/components/autocomplete/src/autocomplete2.mjs +18 -2
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/badge/index.mjs +2 -2
- package/es/components/badge/src/badge.mjs +71 -32
- package/es/components/badge/src/badge.mjs.map +1 -1
- package/es/components/badge/src/badge2.mjs +32 -71
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +62 -87
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +87 -62
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/calendar/src/calendar2.mjs +1 -1
- package/es/components/calendar/src/date-table.mjs +31 -89
- package/es/components/calendar/src/date-table.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +89 -31
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/calendar/src/use-date-table.mjs +1 -1
- package/es/components/date-picker/src/composables/use-range-picker.mjs +6 -1
- package/es/components/date-picker/src/composables/use-range-picker.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +10 -5
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
- package/es/components/descriptions/index.mjs +2 -2
- package/es/components/descriptions/src/description.mjs +26 -127
- package/es/components/descriptions/src/description.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +127 -26
- package/es/components/descriptions/src/description2.mjs.map +1 -1
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/src/image.mjs +65 -226
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image2.mjs +227 -65
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/index.mjs +15 -15
- package/es/components/menu/index.mjs +2 -2
- package/es/components/menu/src/menu-item-group.mjs +33 -4
- package/es/components/menu/src/menu-item-group.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group2.mjs +4 -33
- package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
- package/es/components/message-box/src/index.mjs +4 -8
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/popover/index.mjs +2 -2
- package/es/components/popover/src/popover.mjs +112 -66
- package/es/components/popover/src/popover.mjs.map +1 -1
- package/es/components/popover/src/popover2.mjs +66 -112
- package/es/components/popover/src/popover2.mjs.map +1 -1
- package/es/components/row/index.mjs +2 -2
- package/es/components/row/src/row.mjs +28 -44
- package/es/components/row/src/row.mjs.map +1 -1
- package/es/components/row/src/row2.mjs +44 -28
- package/es/components/row/src/row2.mjs.map +1 -1
- package/es/components/select/index.mjs +2 -2
- package/es/components/select/src/select.mjs +497 -140
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select2.mjs +140 -497
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/skeleton/index.mjs +2 -2
- package/es/components/skeleton/src/skeleton-item.mjs +22 -17
- package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item2.mjs +17 -22
- package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton2.mjs +1 -1
- package/es/components/slider/index.mjs +2 -2
- package/es/components/slider/src/slider.mjs +92 -238
- package/es/components/slider/src/slider.mjs.map +1 -1
- package/es/components/slider/src/slider2.mjs +238 -92
- package/es/components/slider/src/slider2.mjs.map +1 -1
- package/es/components/splitter/index.mjs +4 -4
- package/es/components/splitter/src/split-panel.mjs +152 -17
- package/es/components/splitter/src/split-panel.mjs.map +1 -1
- package/es/components/splitter/src/split-panel2.mjs +17 -152
- package/es/components/splitter/src/split-panel2.mjs.map +1 -1
- package/es/components/splitter/src/splitter.mjs +7 -80
- package/es/components/splitter/src/splitter.mjs.map +1 -1
- package/es/components/splitter/src/splitter2.mjs +81 -7
- package/es/components/splitter/src/splitter2.mjs.map +1 -1
- package/es/components/statistic/index.mjs +2 -2
- package/es/components/statistic/src/statistic.mjs +69 -25
- package/es/components/statistic/src/statistic.mjs.map +1 -1
- package/es/components/statistic/src/statistic2.mjs +25 -69
- package/es/components/statistic/src/statistic2.mjs.map +1 -1
- package/es/components/steps/index.mjs +2 -2
- package/es/components/steps/src/steps.mjs +35 -41
- package/es/components/steps/src/steps.mjs.map +1 -1
- package/es/components/steps/src/steps2.mjs +41 -35
- package/es/components/steps/src/steps2.mjs.map +1 -1
- package/es/components/table/src/table-column/render-helper.mjs +3 -2
- package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
- package/es/components/tooltip-v2/index.mjs +1 -1
- package/es/components/tooltip-v2/src/content.mjs +110 -48
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +48 -110
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
- package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
- package/es/components/upload/index.mjs +1 -1
- package/es/components/upload/src/upload-content2.mjs +1 -1
- package/es/components/upload/src/upload-dragger.mjs +8 -61
- package/es/components/upload/src/upload-dragger.mjs.map +1 -1
- package/es/components/upload/src/upload-dragger2.mjs +61 -8
- package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
- package/es/components/watermark/src/useClips.d.ts +1 -1
- package/es/components/watermark/src/useClips.mjs +10 -2
- package/es/components/watermark/src/useClips.mjs.map +1 -1
- package/es/components/watermark/src/watermark2.mjs +5 -4
- package/es/components/watermark/src/watermark2.mjs.map +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.mjs +15 -15
- package/es/utils/index.mjs +1 -1
- package/es/utils/vue/index.mjs +1 -1
- package/es/utils/vue/vnode.d.ts +1 -0
- package/es/utils/vue/vnode.mjs +12 -1
- package/es/utils/vue/vnode.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/anchor/src/anchor2.js +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +2 -0
- package/lib/components/autocomplete/src/autocomplete2.js +17 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/badge/index.js +2 -2
- package/lib/components/badge/src/badge.js +71 -32
- package/lib/components/badge/src/badge.js.map +1 -1
- package/lib/components/badge/src/badge2.js +32 -71
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +65 -87
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +87 -65
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/calendar/src/calendar2.js +1 -1
- package/lib/components/calendar/src/date-table.js +35 -89
- package/lib/components/calendar/src/date-table.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +89 -35
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/calendar/src/use-date-table.js +1 -1
- package/lib/components/date-picker/src/composables/use-range-picker.js +6 -1
- package/lib/components/date-picker/src/composables/use-range-picker.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +10 -5
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
- package/lib/components/descriptions/index.js +2 -2
- package/lib/components/descriptions/src/description.js +26 -127
- package/lib/components/descriptions/src/description.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +127 -26
- package/lib/components/descriptions/src/description2.js.map +1 -1
- package/lib/components/image/index.js +2 -2
- package/lib/components/image/src/image.js +65 -225
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image2.js +226 -65
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/index.js +15 -15
- package/lib/components/menu/index.js +2 -2
- package/lib/components/menu/src/menu-item-group.js +33 -4
- package/lib/components/menu/src/menu-item-group.js.map +1 -1
- package/lib/components/menu/src/menu-item-group2.js +4 -33
- package/lib/components/menu/src/menu-item-group2.js.map +1 -1
- package/lib/components/message-box/src/index.js +3 -7
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/popover/index.js +2 -2
- package/lib/components/popover/src/popover.js +112 -67
- package/lib/components/popover/src/popover.js.map +1 -1
- package/lib/components/popover/src/popover2.js +67 -112
- package/lib/components/popover/src/popover2.js.map +1 -1
- package/lib/components/row/index.js +2 -2
- package/lib/components/row/src/row.js +30 -44
- package/lib/components/row/src/row.js.map +1 -1
- package/lib/components/row/src/row2.js +44 -30
- package/lib/components/row/src/row2.js.map +1 -1
- package/lib/components/select/index.js +2 -2
- package/lib/components/select/src/select.js +497 -141
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select2.js +141 -497
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/skeleton/index.js +2 -2
- package/lib/components/skeleton/src/skeleton-item.js +22 -17
- package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item2.js +17 -22
- package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton2.js +1 -1
- package/lib/components/slider/index.js +2 -2
- package/lib/components/slider/src/slider.js +93 -238
- package/lib/components/slider/src/slider.js.map +1 -1
- package/lib/components/slider/src/slider2.js +238 -93
- package/lib/components/slider/src/slider2.js.map +1 -1
- package/lib/components/splitter/index.js +4 -4
- package/lib/components/splitter/src/split-panel.js +152 -17
- package/lib/components/splitter/src/split-panel.js.map +1 -1
- package/lib/components/splitter/src/split-panel2.js +17 -152
- package/lib/components/splitter/src/split-panel2.js.map +1 -1
- package/lib/components/splitter/src/splitter.js +7 -80
- package/lib/components/splitter/src/splitter.js.map +1 -1
- package/lib/components/splitter/src/splitter2.js +81 -7
- package/lib/components/splitter/src/splitter2.js.map +1 -1
- package/lib/components/statistic/index.js +2 -2
- package/lib/components/statistic/src/statistic.js +69 -25
- package/lib/components/statistic/src/statistic.js.map +1 -1
- package/lib/components/statistic/src/statistic2.js +25 -69
- package/lib/components/statistic/src/statistic2.js.map +1 -1
- package/lib/components/steps/index.js +2 -2
- package/lib/components/steps/src/steps.js +36 -41
- package/lib/components/steps/src/steps.js.map +1 -1
- package/lib/components/steps/src/steps2.js +41 -36
- package/lib/components/steps/src/steps2.js.map +1 -1
- package/lib/components/table/src/table-column/render-helper.js +2 -1
- package/lib/components/table/src/table-column/render-helper.js.map +1 -1
- package/lib/components/tooltip-v2/index.js +1 -1
- package/lib/components/tooltip-v2/src/content.js +110 -48
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +48 -110
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +1 -1
- package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload/src/upload-content2.js +1 -1
- package/lib/components/upload/src/upload-dragger.js +9 -61
- package/lib/components/upload/src/upload-dragger.js.map +1 -1
- package/lib/components/upload/src/upload-dragger2.js +61 -9
- package/lib/components/upload/src/upload-dragger2.js.map +1 -1
- package/lib/components/watermark/src/useClips.d.ts +1 -1
- package/lib/components/watermark/src/useClips.js +10 -2
- package/lib/components/watermark/src/useClips.js.map +1 -1
- package/lib/components/watermark/src/watermark2.js +5 -4
- package/lib/components/watermark/src/watermark2.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +15 -15
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/vue/index.js +1 -0
- package/lib/utils/vue/index.js.map +1 -1
- package/lib/utils/vue/vnode.d.ts +1 -0
- package/lib/utils/vue/vnode.js +12 -0
- package/lib/utils/vue/vnode.js.map +1 -1
- 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/theme-chalk/el-autocomplete.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/autocomplete.scss +10 -0
- package/web-types.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/content.
|
1
|
+
{"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/content.vue"],"sourcesContent":["<template>\n <div ref=\"contentRef\" :style=\"contentStyle\" data-tooltip-v2-root>\n <div v-if=\"!nowrap\" :data-side=\"side\" :class=\"contentClass\">\n <slot :content-style=\"contentStyle\" :content-class=\"contentClass\" />\n <el-visually-hidden :id=\"contentId\" role=\"tooltip\">\n <template v-if=\"ariaLabel\">\n {{ ariaLabel }}\n </template>\n <slot v-else />\n </el-visually-hidden>\n <slot name=\"arrow\" :style=\"arrowStyle\" :side=\"side\" />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject, onMounted, provide, ref, unref, watch } from 'vue'\nimport { offset } from '@floating-ui/dom'\nimport {\n arrowMiddleware,\n useFloating,\n useNamespace,\n useZIndex,\n} from '@element-plus/hooks'\nimport ElVisuallyHidden from '@element-plus/components/visual-hidden'\nimport { tooltipV2ContentKey, tooltipV2RootKey } from './constants'\nimport { tooltipV2ContentProps } from './content'\nimport { tooltipV2CommonProps } from './common'\n\nimport type { TooltipV2Sides } from './common'\nimport type { CSSProperties } from 'vue'\nimport type { Middleware } from '@floating-ui/dom'\n\ndefineOptions({\n name: 'ElTooltipV2Content',\n})\n\nconst props = defineProps({ ...tooltipV2ContentProps, ...tooltipV2CommonProps })\n\nconst { triggerRef, contentId } = inject(tooltipV2RootKey)!\n\nconst placement = ref(props.placement)\nconst strategy = ref(props.strategy)\nconst arrowRef = ref<HTMLElement | null>(null)\n\nconst { referenceRef, contentRef, middlewareData, x, y, update } = useFloating({\n placement,\n strategy,\n middleware: computed(() => {\n const middleware: Middleware[] = [offset(props.offset)]\n\n if (props.showArrow) {\n middleware.push(\n arrowMiddleware({\n arrowRef,\n })\n )\n }\n\n return middleware\n }),\n})\n\nconst zIndex = useZIndex().nextZIndex()\n\nconst ns = useNamespace('tooltip-v2')\n\nconst side = computed(() => {\n return placement.value.split('-')[0] as TooltipV2Sides\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n return {\n position: unref(strategy),\n top: `${unref(y) || 0}px`,\n left: `${unref(x) || 0}px`,\n zIndex,\n }\n})\n\nconst arrowStyle = computed<CSSProperties>(() => {\n if (!props.showArrow) return {}\n\n const { arrow } = unref(middlewareData)\n\n return {\n [`--${ns.namespace.value}-tooltip-v2-arrow-x`]: `${arrow?.x}px` || '',\n [`--${ns.namespace.value}-tooltip-v2-arrow-y`]: `${arrow?.y}px` || '',\n }\n})\n\nconst contentClass = computed(() => [\n ns.e('content'),\n ns.is('dark', props.effect === 'dark'),\n ns.is(unref(strategy)),\n props.contentClass,\n])\n\nwatch(arrowRef, () => update())\n\nwatch(\n () => props.placement,\n (val) => (placement.value = val)\n)\n\nonMounted(() => {\n watch(\n () => props.reference || triggerRef.value,\n (el) => {\n referenceRef.value = el || undefined\n },\n {\n immediate: true,\n }\n )\n})\n\nprovide(tooltipV2ContentKey, { arrowRef })\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeStyle","_unref"],"mappings":"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"}
|
@@ -1,114 +1,52 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import ElVisuallyHidden from '../../visual-hidden/src/visual-hidden2.mjs';
|
4
|
-
import { tooltipV2RootKey, tooltipV2ContentKey } from './constants.mjs';
|
5
|
-
import { tooltipV2ContentProps } from './content.mjs';
|
6
|
-
import { tooltipV2CommonProps } from './common.mjs';
|
7
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
8
|
-
import { useFloating, arrowMiddleware } from '../../../hooks/use-floating/index.mjs';
|
9
|
-
import { useZIndex } from '../../../hooks/use-z-index/index.mjs';
|
10
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
1
|
+
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
2
|
+
import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
|
11
3
|
|
12
|
-
const
|
13
|
-
|
4
|
+
const tooltipV2Strategies = ["absolute", "fixed"];
|
5
|
+
const tooltipV2Placements = [
|
6
|
+
"top-start",
|
7
|
+
"top-end",
|
8
|
+
"top",
|
9
|
+
"bottom-start",
|
10
|
+
"bottom-end",
|
11
|
+
"bottom",
|
12
|
+
"left-start",
|
13
|
+
"left-end",
|
14
|
+
"left",
|
15
|
+
"right-start",
|
16
|
+
"right-end",
|
17
|
+
"right"
|
18
|
+
];
|
19
|
+
const tooltipV2ContentProps = buildProps({
|
20
|
+
arrowPadding: {
|
21
|
+
type: definePropType(Number),
|
22
|
+
default: 5
|
23
|
+
},
|
24
|
+
effect: {
|
25
|
+
type: definePropType(String),
|
26
|
+
default: "light"
|
27
|
+
},
|
28
|
+
contentClass: String,
|
29
|
+
placement: {
|
30
|
+
type: definePropType(String),
|
31
|
+
values: tooltipV2Placements,
|
32
|
+
default: "bottom"
|
33
|
+
},
|
34
|
+
reference: {
|
35
|
+
type: definePropType(Object),
|
36
|
+
default: null
|
37
|
+
},
|
38
|
+
offset: {
|
39
|
+
type: Number,
|
40
|
+
default: 8
|
41
|
+
},
|
42
|
+
strategy: {
|
43
|
+
type: definePropType(String),
|
44
|
+
values: tooltipV2Strategies,
|
45
|
+
default: "absolute"
|
46
|
+
},
|
47
|
+
showArrow: Boolean,
|
48
|
+
...useAriaProps(["ariaLabel"])
|
14
49
|
});
|
15
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
16
|
-
...__default__,
|
17
|
-
props: { ...tooltipV2ContentProps, ...tooltipV2CommonProps },
|
18
|
-
setup(__props) {
|
19
|
-
const props = __props;
|
20
|
-
const { triggerRef, contentId } = inject(tooltipV2RootKey);
|
21
|
-
const placement = ref(props.placement);
|
22
|
-
const strategy = ref(props.strategy);
|
23
|
-
const arrowRef = ref(null);
|
24
|
-
const { referenceRef, contentRef, middlewareData, x, y, update } = useFloating({
|
25
|
-
placement,
|
26
|
-
strategy,
|
27
|
-
middleware: computed(() => {
|
28
|
-
const middleware = [offset(props.offset)];
|
29
|
-
if (props.showArrow) {
|
30
|
-
middleware.push(arrowMiddleware({
|
31
|
-
arrowRef
|
32
|
-
}));
|
33
|
-
}
|
34
|
-
return middleware;
|
35
|
-
})
|
36
|
-
});
|
37
|
-
const zIndex = useZIndex().nextZIndex();
|
38
|
-
const ns = useNamespace("tooltip-v2");
|
39
|
-
const side = computed(() => {
|
40
|
-
return placement.value.split("-")[0];
|
41
|
-
});
|
42
|
-
const contentStyle = computed(() => {
|
43
|
-
return {
|
44
|
-
position: unref(strategy),
|
45
|
-
top: `${unref(y) || 0}px`,
|
46
|
-
left: `${unref(x) || 0}px`,
|
47
|
-
zIndex
|
48
|
-
};
|
49
|
-
});
|
50
|
-
const arrowStyle = computed(() => {
|
51
|
-
if (!props.showArrow)
|
52
|
-
return {};
|
53
|
-
const { arrow } = unref(middlewareData);
|
54
|
-
return {
|
55
|
-
[`--${ns.namespace.value}-tooltip-v2-arrow-x`]: `${arrow == null ? void 0 : arrow.x}px` || "",
|
56
|
-
[`--${ns.namespace.value}-tooltip-v2-arrow-y`]: `${arrow == null ? void 0 : arrow.y}px` || ""
|
57
|
-
};
|
58
|
-
});
|
59
|
-
const contentClass = computed(() => [
|
60
|
-
ns.e("content"),
|
61
|
-
ns.is("dark", props.effect === "dark"),
|
62
|
-
ns.is(unref(strategy)),
|
63
|
-
props.contentClass
|
64
|
-
]);
|
65
|
-
watch(arrowRef, () => update());
|
66
|
-
watch(() => props.placement, (val) => placement.value = val);
|
67
|
-
onMounted(() => {
|
68
|
-
watch(() => props.reference || triggerRef.value, (el) => {
|
69
|
-
referenceRef.value = el || void 0;
|
70
|
-
}, {
|
71
|
-
immediate: true
|
72
|
-
});
|
73
|
-
});
|
74
|
-
provide(tooltipV2ContentKey, { arrowRef });
|
75
|
-
return (_ctx, _cache) => {
|
76
|
-
return openBlock(), createElementBlock("div", {
|
77
|
-
ref_key: "contentRef",
|
78
|
-
ref: contentRef,
|
79
|
-
style: normalizeStyle(unref(contentStyle)),
|
80
|
-
"data-tooltip-v2-root": ""
|
81
|
-
}, [
|
82
|
-
!_ctx.nowrap ? (openBlock(), createElementBlock("div", {
|
83
|
-
key: 0,
|
84
|
-
"data-side": unref(side),
|
85
|
-
class: normalizeClass(unref(contentClass))
|
86
|
-
}, [
|
87
|
-
renderSlot(_ctx.$slots, "default", {
|
88
|
-
contentStyle: unref(contentStyle),
|
89
|
-
contentClass: unref(contentClass)
|
90
|
-
}),
|
91
|
-
createVNode(unref(ElVisuallyHidden), {
|
92
|
-
id: unref(contentId),
|
93
|
-
role: "tooltip"
|
94
|
-
}, {
|
95
|
-
default: withCtx(() => [
|
96
|
-
_ctx.ariaLabel ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
97
|
-
createTextVNode(toDisplayString(_ctx.ariaLabel), 1)
|
98
|
-
], 64)) : renderSlot(_ctx.$slots, "default", { key: 1 })
|
99
|
-
]),
|
100
|
-
_: 3
|
101
|
-
}, 8, ["id"]),
|
102
|
-
renderSlot(_ctx.$slots, "arrow", {
|
103
|
-
style: normalizeStyle(unref(arrowStyle)),
|
104
|
-
side: unref(side)
|
105
|
-
})
|
106
|
-
], 10, ["data-side"])) : createCommentVNode("v-if", true)
|
107
|
-
], 4);
|
108
|
-
};
|
109
|
-
}
|
110
|
-
});
|
111
|
-
var TooltipV2Content = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "content.vue"]]);
|
112
50
|
|
113
|
-
export {
|
51
|
+
export { tooltipV2ContentProps };
|
114
52
|
//# sourceMappingURL=content2.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/content.
|
1
|
+
{"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/content.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { useAriaProps } from '@element-plus/hooks'\n\nimport type { PopperEffect } from '@element-plus/components/popper'\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { Placement, Strategy, VirtualElement } from '@floating-ui/dom'\n\nconst tooltipV2Strategies = ['absolute', 'fixed'] as const\n\nconst tooltipV2Placements = [\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 tooltipV2ContentProps = buildProps({\n arrowPadding: {\n type: definePropType<number>(Number),\n default: 5,\n },\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n contentClass: String,\n /**\n * Placement of tooltip content relative to reference element (when absent it refers to trigger)\n */\n placement: {\n type: definePropType<Placement>(String),\n values: tooltipV2Placements,\n default: 'bottom',\n },\n /**\n * Reference element for tooltip content to set its position\n */\n reference: {\n type: definePropType<HTMLElement | VirtualElement | null>(Object),\n default: null,\n },\n offset: {\n type: Number,\n default: 8,\n },\n strategy: {\n type: definePropType<Strategy>(String),\n values: tooltipV2Strategies,\n default: 'absolute',\n },\n showArrow: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type TooltipV2ContentProps = ExtractPropTypes<\n typeof tooltipV2ContentProps\n>\n\nexport type TooltipV2ContentPropsPublic = __ExtractPublicPropTypes<\n typeof tooltipV2ContentProps\n>\n"],"names":[],"mappings":";;;AAEA,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,mBAAmB,GAAG;AAC5B,EAAE,WAAW;AACb,EAAE,SAAS;AACX,EAAE,KAAK;AACP,EAAE,cAAc;AAChB,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,YAAY;AACd,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,OAAO;AACT,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAG,UAAU,CAAC;AAChD,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,YAAY,EAAE,MAAM;AACtB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE,mBAAmB;AAC/B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE,mBAAmB;AAC/B,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;;;;"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { tooltipV2RootProps } from './root.mjs';
|
2
2
|
import { tooltipV2TriggerProps } from './trigger.mjs';
|
3
3
|
import { tooltipV2ArrowProps } from './arrow.mjs';
|
4
|
-
import { tooltipV2ContentProps } from './
|
4
|
+
import { tooltipV2ContentProps } from './content2.mjs';
|
5
5
|
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
6
6
|
|
7
7
|
const tooltipV2Props = buildProps({
|
@@ -2,13 +2,13 @@ import { defineComponent, toRefs, reactive, openBlock, createBlock, normalizePro
|
|
2
2
|
import { pick } from 'lodash-unified';
|
3
3
|
import { ElTeleport } from '../../teleport/index.mjs';
|
4
4
|
import { tooltipV2ArrowProps } from './arrow.mjs';
|
5
|
-
import { tooltipV2ContentProps } from './
|
5
|
+
import { tooltipV2ContentProps } from './content2.mjs';
|
6
6
|
import { tooltipV2RootProps } from './root.mjs';
|
7
7
|
import { tooltipV2Props } from './tooltip.mjs';
|
8
8
|
import { tooltipV2TriggerProps } from './trigger.mjs';
|
9
9
|
import TooltipV2Root from './root2.mjs';
|
10
10
|
import TooltipV2Arrow from './arrow2.mjs';
|
11
|
-
import TooltipV2Content from './
|
11
|
+
import TooltipV2Content from './content.mjs';
|
12
12
|
import TooltipV2Trigger from './trigger2.mjs';
|
13
13
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
14
14
|
|
@@ -2,7 +2,7 @@ import Upload from './src/upload2.mjs';
|
|
2
2
|
export { genFileId, uploadBaseProps, uploadListTypes, uploadProps } from './src/upload.mjs';
|
3
3
|
export { uploadContentProps } from './src/upload-content.mjs';
|
4
4
|
export { uploadListEmits, uploadListProps } from './src/upload-list.mjs';
|
5
|
-
export { uploadDraggerEmits, uploadDraggerProps } from './src/upload-
|
5
|
+
export { uploadDraggerEmits, uploadDraggerProps } from './src/upload-dragger.mjs';
|
6
6
|
export { uploadContextKey } from './src/constants.mjs';
|
7
7
|
import { withInstall } from '../../utils/vue/install.mjs';
|
8
8
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { defineComponent, shallowRef, openBlock, createElementBlock, normalizeClass, unref, withKeys, withModifiers, createBlock, withCtx, renderSlot, createElementVNode } from 'vue';
|
2
2
|
import { cloneDeep, isEqual } from 'lodash-unified';
|
3
|
-
import UploadDragger from './upload-
|
3
|
+
import UploadDragger from './upload-dragger2.mjs';
|
4
4
|
import { uploadContentProps } from './upload-content.mjs';
|
5
5
|
import { genFileId } from './upload.mjs';
|
6
6
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
@@ -1,65 +1,12 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { uploadContextKey } from './constants.mjs';
|
4
|
-
import { uploadDraggerProps, uploadDraggerEmits } from './upload-dragger2.mjs';
|
5
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
6
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
7
|
-
import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
1
|
+
import { buildProps } from '../../../utils/vue/props/runtime.mjs';
|
2
|
+
import { isArray } from '@vue/shared';
|
8
3
|
|
9
|
-
const
|
10
|
-
|
11
|
-
name: COMPONENT_NAME
|
4
|
+
const uploadDraggerProps = buildProps({
|
5
|
+
disabled: Boolean
|
12
6
|
});
|
13
|
-
const
|
14
|
-
|
15
|
-
|
16
|
-
emits: uploadDraggerEmits,
|
17
|
-
setup(__props, { emit }) {
|
18
|
-
const uploaderContext = inject(uploadContextKey);
|
19
|
-
if (!uploaderContext) {
|
20
|
-
throwError(COMPONENT_NAME, "usage: <el-upload><el-upload-dragger /></el-upload>");
|
21
|
-
}
|
22
|
-
const ns = useNamespace("upload");
|
23
|
-
const dragover = ref(false);
|
24
|
-
const disabled = useFormDisabled();
|
25
|
-
const onDrop = (e) => {
|
26
|
-
if (disabled.value)
|
27
|
-
return;
|
28
|
-
dragover.value = false;
|
29
|
-
e.stopPropagation();
|
30
|
-
const files = Array.from(e.dataTransfer.files);
|
31
|
-
const items = e.dataTransfer.items || [];
|
32
|
-
files.forEach((file, index) => {
|
33
|
-
var _a;
|
34
|
-
const item = items[index];
|
35
|
-
const entry = (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
|
36
|
-
if (entry) {
|
37
|
-
file.isDirectory = entry.isDirectory;
|
38
|
-
}
|
39
|
-
});
|
40
|
-
emit("file", files);
|
41
|
-
};
|
42
|
-
const onDragover = () => {
|
43
|
-
if (!disabled.value)
|
44
|
-
dragover.value = true;
|
45
|
-
};
|
46
|
-
const onDragleave = (e) => {
|
47
|
-
if (!e.currentTarget.contains(e.relatedTarget))
|
48
|
-
dragover.value = false;
|
49
|
-
};
|
50
|
-
return (_ctx, _cache) => {
|
51
|
-
return openBlock(), createElementBlock("div", {
|
52
|
-
class: normalizeClass([unref(ns).b("dragger"), unref(ns).is("dragover", dragover.value)]),
|
53
|
-
onDrop: withModifiers(onDrop, ["prevent"]),
|
54
|
-
onDragover: withModifiers(onDragover, ["prevent"]),
|
55
|
-
onDragleave: withModifiers(onDragleave, ["prevent"])
|
56
|
-
}, [
|
57
|
-
renderSlot(_ctx.$slots, "default")
|
58
|
-
], 42, ["onDrop", "onDragover", "onDragleave"]);
|
59
|
-
};
|
60
|
-
}
|
61
|
-
});
|
62
|
-
var UploadDragger = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "upload-dragger.vue"]]);
|
7
|
+
const uploadDraggerEmits = {
|
8
|
+
file: (file) => isArray(file)
|
9
|
+
};
|
63
10
|
|
64
|
-
export {
|
11
|
+
export { uploadDraggerEmits, uploadDraggerProps };
|
65
12
|
//# sourceMappingURL=upload-dragger.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"upload-dragger.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.
|
1
|
+
{"version":3,"file":"upload-dragger.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.ts"],"sourcesContent":["import { buildProps, isArray } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type UploadDragger from './upload-dragger.vue'\n\nexport const uploadDraggerProps = buildProps({\n disabled: Boolean,\n} as const)\nexport type UploadDraggerProps = ExtractPropTypes<typeof uploadDraggerProps>\nexport type UploadDraggerPropsPublic = __ExtractPublicPropTypes<\n typeof uploadDraggerProps\n>\n\nexport const uploadDraggerEmits = {\n file: (file: File[]) => isArray(file),\n}\nexport type UploadDraggerEmits = typeof uploadDraggerEmits\n\nexport type UploadDraggerInstance = InstanceType<typeof UploadDragger> & unknown\n"],"names":[],"mappings":";;;AACY,MAAC,kBAAkB,GAAG,UAAU,CAAC;AAC7C,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG;AAClC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;AAC/B;;;;"}
|
@@ -1,12 +1,65 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { defineComponent, inject, ref, openBlock, createElementBlock, normalizeClass, unref, withModifiers, renderSlot } from 'vue';
|
2
|
+
import { throwError } from '../../../utils/error.mjs';
|
3
|
+
import { uploadContextKey } from './constants.mjs';
|
4
|
+
import { uploadDraggerProps, uploadDraggerEmits } from './upload-dragger.mjs';
|
5
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
6
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
7
|
+
import { useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
3
8
|
|
4
|
-
const
|
5
|
-
|
9
|
+
const COMPONENT_NAME = "ElUploadDrag";
|
10
|
+
const __default__ = defineComponent({
|
11
|
+
name: COMPONENT_NAME
|
6
12
|
});
|
7
|
-
const
|
8
|
-
|
9
|
-
|
13
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
14
|
+
...__default__,
|
15
|
+
props: uploadDraggerProps,
|
16
|
+
emits: uploadDraggerEmits,
|
17
|
+
setup(__props, { emit }) {
|
18
|
+
const uploaderContext = inject(uploadContextKey);
|
19
|
+
if (!uploaderContext) {
|
20
|
+
throwError(COMPONENT_NAME, "usage: <el-upload><el-upload-dragger /></el-upload>");
|
21
|
+
}
|
22
|
+
const ns = useNamespace("upload");
|
23
|
+
const dragover = ref(false);
|
24
|
+
const disabled = useFormDisabled();
|
25
|
+
const onDrop = (e) => {
|
26
|
+
if (disabled.value)
|
27
|
+
return;
|
28
|
+
dragover.value = false;
|
29
|
+
e.stopPropagation();
|
30
|
+
const files = Array.from(e.dataTransfer.files);
|
31
|
+
const items = e.dataTransfer.items || [];
|
32
|
+
files.forEach((file, index) => {
|
33
|
+
var _a;
|
34
|
+
const item = items[index];
|
35
|
+
const entry = (_a = item == null ? void 0 : item.webkitGetAsEntry) == null ? void 0 : _a.call(item);
|
36
|
+
if (entry) {
|
37
|
+
file.isDirectory = entry.isDirectory;
|
38
|
+
}
|
39
|
+
});
|
40
|
+
emit("file", files);
|
41
|
+
};
|
42
|
+
const onDragover = () => {
|
43
|
+
if (!disabled.value)
|
44
|
+
dragover.value = true;
|
45
|
+
};
|
46
|
+
const onDragleave = (e) => {
|
47
|
+
if (!e.currentTarget.contains(e.relatedTarget))
|
48
|
+
dragover.value = false;
|
49
|
+
};
|
50
|
+
return (_ctx, _cache) => {
|
51
|
+
return openBlock(), createElementBlock("div", {
|
52
|
+
class: normalizeClass([unref(ns).b("dragger"), unref(ns).is("dragover", dragover.value)]),
|
53
|
+
onDrop: withModifiers(onDrop, ["prevent"]),
|
54
|
+
onDragover: withModifiers(onDragover, ["prevent"]),
|
55
|
+
onDragleave: withModifiers(onDragleave, ["prevent"])
|
56
|
+
}, [
|
57
|
+
renderSlot(_ctx.$slots, "default")
|
58
|
+
], 42, ["onDrop", "onDragover", "onDragleave"]);
|
59
|
+
};
|
60
|
+
}
|
61
|
+
});
|
62
|
+
var UploadDragger = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "upload-dragger.vue"]]);
|
10
63
|
|
11
|
-
export {
|
64
|
+
export { UploadDragger as default };
|
12
65
|
//# sourceMappingURL=upload-dragger2.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"upload-dragger2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.
|
1
|
+
{"version":3,"file":"upload-dragger2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"onDragleave\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { throwError } from '@element-plus/utils/error'\nimport { uploadContextKey } from './constants'\nimport { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger'\n\nimport type { UploadRawFile } from './upload'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\ndefineProps(uploadDraggerProps)\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useFormDisabled()\n\nconst onDrop = (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n e.stopPropagation()\n\n const files = Array.from(e.dataTransfer!.files) as UploadRawFile[]\n const items = e.dataTransfer!.items || []\n files.forEach((file, index) => {\n const item = items[index]\n const entry = item?.webkitGetAsEntry?.()\n if (entry) {\n file.isDirectory = entry.isDirectory\n }\n })\n emit('file', files)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n\nconst onDragleave = (e: DragEvent) => {\n if (!(e.currentTarget as Element).contains(e.relatedTarget as Element))\n dragover.value = false\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAuBc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAKA,IAAM,MAAA,eAAA,GAAkB,OAAO,gBAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAA,UAAA,CAAA,cAAA,EAAA,qDAAA,CAAA,CAAA;AAAA,KACE;AAAA,IACA,MAAA,EAAA,GAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AAAA,IACF,MAAA,QAAA,GAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACF,MAAA,QAAA,GAAA,eAAA,EAAA,CAAA;AAEA,IAAM,MAAA;AACN,MAAM,IAAA,QAAA,CAAA;AACN,QAAA;AAEA,MAAM,QAAA,CAAA,KAAU,GAAiB,KAAA,CAAA;AAC/B,MAAA,CAAA,CAAA,eAAoB,EAAA,CAAA;AACpB,MAAA,MAAA,KAAiB,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAEjB,MAAA,MAAkB,KAAA,GAAA,CAAA,CAAA,YAAA,CAAA,KAAA,IAAA,EAAA,CAAA;AAElB,MAAA,KAAA,CAAM,OAAQ,CAAA,CAAA,IAAA,EAAW,KAAA;AACzB,QAAA,IAAM,EAAQ,CAAA;AACd,QAAM,MAAA,IAAA,GAAS,KAAA,CAAM,KAAU,CAAA,CAAA;AAC7B,QAAM,MAAA,KAAA,SAAkB,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,gBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACxB,QAAM,IAAA,KAAA,EAAA;AACN,UAAA,IAAW,CAAA,WAAA,GAAA,KAAA,CAAA,WAAA,CAAA;AACT,SAAA;AAAyB,OAC3B,CAAA,CAAA;AAAA,MACF,IAAC,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AACD,KAAA,CAAA;AAAkB,IACpB,MAAA,UAAA,GAAA,MAAA;AAEA,MAAA,IAAM,eAAmB;AACvB,QAAA,QAAK,CAAA,KAAgB,GAAA,IAAA,CAAA;AAAiB,KACxC,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,CAAiB,KAAA;AACpC,MAAA,IAAI,CAAE,CAAA,CAAE,aAA0B,CAAA,QAAA,CAAS,EAAE,aAAwB,CAAA;AACnE,QAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAAA,KACrB,CAAA;;;;;;;;;;;;;;;;;"}
|
@@ -4,4 +4,4 @@ export declare const FontGap = 3;
|
|
4
4
|
* Get the clips of text content.
|
5
5
|
* This is a lazy hook function since SSR no need this
|
6
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];
|
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, space: number) => [dataURL: string, finalWidth: number, finalHeight: number];
|
@@ -1,6 +1,13 @@
|
|
1
1
|
import { isArray } from '@vue/shared';
|
2
2
|
|
3
3
|
const FontGap = 3;
|
4
|
+
const TEXT_ALIGN_RATIO_MAP = {
|
5
|
+
left: [0, 0.5],
|
6
|
+
start: [0, 0.5],
|
7
|
+
center: [0.5, 0],
|
8
|
+
right: [1, -0.5],
|
9
|
+
end: [1, -0.5]
|
10
|
+
};
|
4
11
|
function prepareCanvas(width, height, ratio = 1) {
|
5
12
|
const canvas = document.createElement("canvas");
|
6
13
|
const ctx = canvas.getContext("2d");
|
@@ -12,7 +19,7 @@ function prepareCanvas(width, height, ratio = 1) {
|
|
12
19
|
return [ctx, canvas, realWidth, realHeight];
|
13
20
|
}
|
14
21
|
function useClips() {
|
15
|
-
function getClips(content, rotate, ratio, width, height, font, gapX, gapY) {
|
22
|
+
function getClips(content, rotate, ratio, width, height, font, gapX, gapY, space) {
|
16
23
|
const [ctx, canvas, contentWidth, contentHeight] = prepareCanvas(width, height, ratio);
|
17
24
|
if (content instanceof HTMLImageElement) {
|
18
25
|
ctx.drawImage(content, 0, 0, contentWidth, contentHeight);
|
@@ -33,7 +40,8 @@ function useClips() {
|
|
33
40
|
ctx.textBaseline = textBaseline;
|
34
41
|
const contents = isArray(content) ? content : [content];
|
35
42
|
contents == null ? void 0 : contents.forEach((item, index) => {
|
36
|
-
|
43
|
+
const [alignRatio, spaceRatio] = TEXT_ALIGN_RATIO_MAP[textAlign];
|
44
|
+
ctx.fillText(item != null ? item : "", contentWidth * alignRatio + space * spaceRatio, index * (mergedFontSize + FontGap * ratio));
|
37
45
|
});
|
38
46
|
}
|
39
47
|
const angle = Math.PI / 180 * Number(rotate);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useClips.mjs","sources":["../../../../../../packages/components/watermark/src/useClips.ts"],"sourcesContent":["import { isArray } from '@element-plus/utils'\n\nimport 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 {\n color,\n fontSize,\n fontStyle,\n fontWeight,\n fontFamily,\n textAlign,\n textBaseline,\n } = 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 = textAlign\n ctx.textBaseline = textBaseline\n const contents = isArray(content) ? content : [content]\n contents?.forEach((item, index) => {\n ctx.fillText(\n item ?? '',\n contentWidth
|
1
|
+
{"version":3,"file":"useClips.mjs","sources":["../../../../../../packages/components/watermark/src/useClips.ts"],"sourcesContent":["import { isArray } from '@element-plus/utils'\n\nimport type { WatermarkProps } from './watermark'\n\nexport const FontGap = 3\n\n// [alignRatio, spaceRatio]\nconst TEXT_ALIGN_RATIO_MAP = {\n left: [0, 0.5],\n start: [0, 0.5],\n center: [0.5, 0],\n right: [1, -0.5],\n end: [1, -0.5],\n} as const\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 space: 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 {\n color,\n fontSize,\n fontStyle,\n fontWeight,\n fontFamily,\n textAlign,\n textBaseline,\n } = 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 = textAlign\n ctx.textBaseline = textBaseline\n const contents = isArray(content) ? content : [content]\n contents?.forEach((item, index) => {\n const [alignRatio, spaceRatio] = TEXT_ALIGN_RATIO_MAP[textAlign]\n ctx.fillText(\n item ?? '',\n contentWidth * alignRatio + space * spaceRatio,\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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"}
|
@@ -111,6 +111,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
111
111
|
const getMarkSize = (ctx) => {
|
112
112
|
let defaultWidth = 120;
|
113
113
|
let defaultHeight = 64;
|
114
|
+
let space = 0;
|
114
115
|
const { image, content, width, height, rotate } = props;
|
115
116
|
if (!image && ctx.measureText) {
|
116
117
|
ctx.font = `${Number(fontSize.value)}px ${fontFamily.value}`;
|
@@ -134,10 +135,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
134
135
|
defaultWidth = maxWidth;
|
135
136
|
defaultHeight = maxHeight * contents.length + (contents.length - 1) * FontGap;
|
136
137
|
const angle = Math.PI / 180 * Number(rotate);
|
137
|
-
|
138
|
+
space = Math.ceil(Math.abs(Math.sin(angle) * defaultHeight) / 2);
|
138
139
|
defaultWidth += space;
|
139
140
|
}
|
140
|
-
return [width != null ? width : defaultWidth, height != null ? height : defaultHeight];
|
141
|
+
return [width != null ? width : defaultWidth, height != null ? height : defaultHeight, space];
|
141
142
|
};
|
142
143
|
const getClips = useClips();
|
143
144
|
const renderWatermark = () => {
|
@@ -151,7 +152,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
151
152
|
watermarkRef.value = document.createElement("div");
|
152
153
|
}
|
153
154
|
const ratio = getPixelRatio();
|
154
|
-
const [markWidth, markHeight] = getMarkSize(ctx);
|
155
|
+
const [markWidth, markHeight, space] = getMarkSize(ctx);
|
155
156
|
const drawCanvas = (drawContent) => {
|
156
157
|
const [textClips, clipWidth] = getClips(drawContent || "", rotate, ratio, markWidth, markHeight, {
|
157
158
|
color: color.value,
|
@@ -161,7 +162,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
161
162
|
fontFamily: fontFamily.value,
|
162
163
|
textAlign: textAlign.value,
|
163
164
|
textBaseline: textBaseline.value
|
164
|
-
}, gapX.value, gapY.value);
|
165
|
+
}, gapX.value, gapY.value, space);
|
165
166
|
appendWatermark(textClips, clipWidth);
|
166
167
|
};
|
167
168
|
if (image) {
|