@element-plus/nightly 0.0.20240825 → 0.0.20240827
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 +6 -9
- package/dist/index.full.min.js +17 -17
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +22 -22
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +6 -9
- 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/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/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/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/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/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-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/index.mjs +2 -2
- package/es/components/anchor/src/anchor.mjs +193 -38
- package/es/components/anchor/src/anchor.mjs.map +1 -1
- package/es/components/anchor/src/anchor2.mjs +38 -193
- package/es/components/anchor/src/anchor2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
- package/es/components/breadcrumb/index.mjs +2 -2
- package/es/components/breadcrumb/src/breadcrumb.mjs +11 -38
- package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb2.mjs +38 -11
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/checkbox/index.mjs +2 -2
- package/es/components/checkbox/src/checkbox-group.mjs +30 -73
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group2.mjs +73 -30
- package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/es/components/form/index.mjs +2 -2
- package/es/components/form/src/form.mjs +54 -153
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form2.mjs +153 -54
- package/es/components/form/src/form2.mjs.map +1 -1
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/src/image.mjs +64 -233
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image2.mjs +233 -64
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/index.mjs +6 -6
- package/es/components/input/src/input.vue.d.ts +1 -1
- package/es/components/input-number/index.mjs +2 -2
- package/es/components/input-number/src/input-number.mjs +60 -329
- package/es/components/input-number/src/input-number.mjs.map +1 -1
- package/es/components/input-number/src/input-number2.mjs +329 -60
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown.mjs +15 -167
- package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown2.mjs +167 -15
- package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
- package/es/components/mention/src/mention.vue.d.ts +4 -4
- package/es/components/mention/src/mention2.mjs +1 -1
- package/es/components/pagination/src/pagination.mjs +2 -1
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/popover/src/popover.vue.d.ts +1 -1
- package/es/components/table/src/table-column/index.mjs +2 -1
- package/es/components/table/src/table-column/index.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker.d.ts +1 -1
- package/es/hooks/use-focus-controller/index.mjs +1 -6
- package/es/hooks/use-focus-controller/index.mjs.map +1 -1
- package/es/index.mjs +6 -6
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/global.d.ts +1 -0
- package/lib/components/anchor/index.js +2 -2
- package/lib/components/anchor/src/anchor.js +192 -38
- package/lib/components/anchor/src/anchor.js.map +1 -1
- package/lib/components/anchor/src/anchor2.js +38 -192
- package/lib/components/anchor/src/anchor2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
- package/lib/components/breadcrumb/index.js +2 -2
- package/lib/components/breadcrumb/src/breadcrumb.js +11 -38
- package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb2.js +38 -11
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/checkbox/index.js +2 -2
- package/lib/components/checkbox/src/checkbox-group.js +31 -73
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group2.js +73 -31
- package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +1 -1
- package/lib/components/form/index.js +2 -2
- package/lib/components/form/src/form.js +55 -152
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form2.js +152 -55
- package/lib/components/form/src/form2.js.map +1 -1
- package/lib/components/image/index.js +2 -2
- package/lib/components/image/src/image.js +64 -232
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image2.js +232 -64
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/index.js +6 -6
- package/lib/components/input/src/input.vue.d.ts +1 -1
- package/lib/components/input-number/index.js +2 -2
- package/lib/components/input-number/src/input-number.js +59 -327
- package/lib/components/input-number/src/input-number.js.map +1 -1
- package/lib/components/input-number/src/input-number2.js +327 -59
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown.js +16 -167
- package/lib/components/mention/src/mention-dropdown.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown2.js +167 -16
- package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
- package/lib/components/mention/src/mention.vue.d.ts +4 -4
- package/lib/components/mention/src/mention2.js +1 -1
- package/lib/components/pagination/src/pagination.js +2 -1
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +1 -1
- package/lib/components/table/src/table-column/index.js +2 -1
- package/lib/components/table/src/table-column/index.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker.d.ts +1 -1
- package/lib/hooks/use-focus-controller/index.js +0 -5
- package/lib/hooks/use-focus-controller/index.js.map +1 -1
- package/lib/index.js +6 -6
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mention-dropdown.js","sources":["../../../../../../packages/components/mention/src/mention-dropdown.
|
|
1
|
+
{"version":3,"file":"mention-dropdown.js","sources":["../../../../../../packages/components/mention/src/mention-dropdown.ts"],"sourcesContent":["import { buildProps, definePropType, isString } from '@element-plus/utils'\n\nimport type { MentionOption } from './types'\n\nexport const mentionDropdownProps = buildProps({\n options: {\n type: definePropType<MentionOption[]>(Array),\n default: () => [],\n },\n loading: Boolean,\n disabled: Boolean,\n contentId: String,\n ariaLabel: String,\n})\n\nexport const mentionDropdownEmits = {\n select: (option: MentionOption) => isString(option.value),\n}\n"],"names":["buildProps","definePropType","isString"],"mappings":";;;;;;;;AACY,MAAC,oBAAoB,GAAGA,kBAAU,CAAC;AAC/C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,SAAS,EAAE,MAAM;AACnB,CAAC,EAAE;AACS,MAAC,oBAAoB,GAAG;AACpC,EAAE,MAAM,EAAE,CAAC,MAAM,KAAKC,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5C;;;;;"}
|
|
@@ -2,24 +2,175 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
require('../../../hooks/index.js');
|
|
5
7
|
require('../../../utils/index.js');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
+
var index$2 = require('../../scrollbar/index.js');
|
|
9
|
+
var mentionDropdown = require('./mention-dropdown.js');
|
|
10
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
11
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
12
|
+
var index$1 = require('../../../hooks/use-locale/index.js');
|
|
13
|
+
var scroll = require('../../../utils/dom/scroll.js');
|
|
8
14
|
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
type: runtime.definePropType(Array),
|
|
12
|
-
default: () => []
|
|
13
|
-
},
|
|
14
|
-
loading: Boolean,
|
|
15
|
-
disabled: Boolean,
|
|
16
|
-
contentId: String,
|
|
17
|
-
ariaLabel: String
|
|
15
|
+
const __default__ = vue.defineComponent({
|
|
16
|
+
name: "ElMentionDropdown"
|
|
18
17
|
});
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
19
|
+
...__default__,
|
|
20
|
+
props: mentionDropdown.mentionDropdownProps,
|
|
21
|
+
emits: mentionDropdown.mentionDropdownEmits,
|
|
22
|
+
setup(__props, { expose, emit }) {
|
|
23
|
+
const props = __props;
|
|
24
|
+
const ns = index.useNamespace("mention");
|
|
25
|
+
const { t } = index$1.useLocale();
|
|
26
|
+
const hoveringIndex = vue.ref(-1);
|
|
27
|
+
const scrollbarRef = vue.ref();
|
|
28
|
+
const optionRefs = vue.ref();
|
|
29
|
+
const dropdownRef = vue.ref();
|
|
30
|
+
const optionkls = (item, index) => [
|
|
31
|
+
ns.be("dropdown", "item"),
|
|
32
|
+
ns.is("hovering", hoveringIndex.value === index),
|
|
33
|
+
ns.is("disabled", item.disabled || props.disabled)
|
|
34
|
+
];
|
|
35
|
+
const handleSelect = (item) => {
|
|
36
|
+
if (item.disabled || props.disabled)
|
|
37
|
+
return;
|
|
38
|
+
emit("select", item);
|
|
39
|
+
};
|
|
40
|
+
const handleMouseEnter = (index) => {
|
|
41
|
+
hoveringIndex.value = index;
|
|
42
|
+
};
|
|
43
|
+
const filteredAllDisabled = vue.computed(() => props.disabled || props.options.every((item) => item.disabled));
|
|
44
|
+
const hoverOption = vue.computed(() => props.options[hoveringIndex.value]);
|
|
45
|
+
const selectHoverOption = () => {
|
|
46
|
+
if (!hoverOption.value)
|
|
47
|
+
return;
|
|
48
|
+
emit("select", hoverOption.value);
|
|
49
|
+
};
|
|
50
|
+
const navigateOptions = (direction) => {
|
|
51
|
+
const { options } = props;
|
|
52
|
+
if (options.length === 0 || filteredAllDisabled.value)
|
|
53
|
+
return;
|
|
54
|
+
if (direction === "next") {
|
|
55
|
+
hoveringIndex.value++;
|
|
56
|
+
if (hoveringIndex.value === options.length) {
|
|
57
|
+
hoveringIndex.value = 0;
|
|
58
|
+
}
|
|
59
|
+
} else if (direction === "prev") {
|
|
60
|
+
hoveringIndex.value--;
|
|
61
|
+
if (hoveringIndex.value < 0) {
|
|
62
|
+
hoveringIndex.value = options.length - 1;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const option = options[hoveringIndex.value];
|
|
66
|
+
if (option.disabled) {
|
|
67
|
+
navigateOptions(direction);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
vue.nextTick(() => scrollToOption(option));
|
|
71
|
+
};
|
|
72
|
+
const scrollToOption = (option) => {
|
|
73
|
+
var _a, _b, _c, _d;
|
|
74
|
+
const { options } = props;
|
|
75
|
+
const index = options.findIndex((item) => item.value === option.value);
|
|
76
|
+
const target = (_a = optionRefs.value) == null ? void 0 : _a[index];
|
|
77
|
+
if (target) {
|
|
78
|
+
const menu = (_c = (_b = dropdownRef.value) == null ? void 0 : _b.querySelector) == null ? void 0 : _c.call(_b, `.${ns.be("dropdown", "wrap")}`);
|
|
79
|
+
if (menu) {
|
|
80
|
+
scroll.scrollIntoView(menu, target);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
(_d = scrollbarRef.value) == null ? void 0 : _d.handleScroll();
|
|
84
|
+
};
|
|
85
|
+
const resetHoveringIndex = () => {
|
|
86
|
+
if (filteredAllDisabled.value || props.options.length === 0) {
|
|
87
|
+
hoveringIndex.value = -1;
|
|
88
|
+
} else {
|
|
89
|
+
hoveringIndex.value = 0;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
vue.watch(() => props.options, resetHoveringIndex, {
|
|
93
|
+
immediate: true
|
|
94
|
+
});
|
|
95
|
+
expose({
|
|
96
|
+
hoveringIndex,
|
|
97
|
+
navigateOptions,
|
|
98
|
+
selectHoverOption,
|
|
99
|
+
hoverOption
|
|
100
|
+
});
|
|
101
|
+
return (_ctx, _cache) => {
|
|
102
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
103
|
+
ref_key: "dropdownRef",
|
|
104
|
+
ref: dropdownRef,
|
|
105
|
+
class: vue.normalizeClass(vue.unref(ns).b("dropdown"))
|
|
106
|
+
}, [
|
|
107
|
+
_ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
108
|
+
key: 0,
|
|
109
|
+
class: vue.normalizeClass(vue.unref(ns).be("dropdown", "header"))
|
|
110
|
+
}, [
|
|
111
|
+
vue.renderSlot(_ctx.$slots, "header")
|
|
112
|
+
], 2)) : vue.createCommentVNode("v-if", true),
|
|
113
|
+
vue.withDirectives(vue.createVNode(vue.unref(index$2.ElScrollbar), {
|
|
114
|
+
id: _ctx.contentId,
|
|
115
|
+
ref_key: "scrollbarRef",
|
|
116
|
+
ref: scrollbarRef,
|
|
117
|
+
tag: "ul",
|
|
118
|
+
"wrap-class": vue.unref(ns).be("dropdown", "wrap"),
|
|
119
|
+
"view-class": vue.unref(ns).be("dropdown", "list"),
|
|
120
|
+
role: "listbox",
|
|
121
|
+
"aria-label": _ctx.ariaLabel,
|
|
122
|
+
"aria-orientation": "vertical"
|
|
123
|
+
}, {
|
|
124
|
+
default: vue.withCtx(() => [
|
|
125
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (item, index) => {
|
|
126
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
127
|
+
id: `${_ctx.contentId}-${index}`,
|
|
128
|
+
ref_for: true,
|
|
129
|
+
ref_key: "optionRefs",
|
|
130
|
+
ref: optionRefs,
|
|
131
|
+
key: item.value,
|
|
132
|
+
class: vue.normalizeClass(optionkls(item, index)),
|
|
133
|
+
role: "option",
|
|
134
|
+
"aria-disabled": item.disabled || _ctx.disabled || void 0,
|
|
135
|
+
"aria-selected": hoveringIndex.value === index,
|
|
136
|
+
onMouseenter: ($event) => handleMouseEnter(index),
|
|
137
|
+
onClick: vue.withModifiers(($event) => handleSelect(item), ["stop"])
|
|
138
|
+
}, [
|
|
139
|
+
vue.renderSlot(_ctx.$slots, "label", {
|
|
140
|
+
item,
|
|
141
|
+
index
|
|
142
|
+
}, () => {
|
|
143
|
+
var _a;
|
|
144
|
+
return [
|
|
145
|
+
vue.createElementVNode("span", null, vue.toDisplayString((_a = item.label) != null ? _a : item.value), 1)
|
|
146
|
+
];
|
|
147
|
+
})
|
|
148
|
+
], 42, ["id", "aria-disabled", "aria-selected", "onMouseenter", "onClick"]);
|
|
149
|
+
}), 128))
|
|
150
|
+
]),
|
|
151
|
+
_: 3
|
|
152
|
+
}, 8, ["id", "wrap-class", "view-class", "aria-label"]), [
|
|
153
|
+
[vue.vShow, _ctx.options.length > 0 && !_ctx.loading]
|
|
154
|
+
]),
|
|
155
|
+
_ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
156
|
+
key: 1,
|
|
157
|
+
class: vue.normalizeClass(vue.unref(ns).be("dropdown", "loading"))
|
|
158
|
+
}, [
|
|
159
|
+
vue.renderSlot(_ctx.$slots, "loading", {}, () => [
|
|
160
|
+
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.mention.loading")), 1)
|
|
161
|
+
])
|
|
162
|
+
], 2)) : vue.createCommentVNode("v-if", true),
|
|
163
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
164
|
+
key: 2,
|
|
165
|
+
class: vue.normalizeClass(vue.unref(ns).be("dropdown", "footer"))
|
|
166
|
+
}, [
|
|
167
|
+
vue.renderSlot(_ctx.$slots, "footer")
|
|
168
|
+
], 2)) : vue.createCommentVNode("v-if", true)
|
|
169
|
+
], 2);
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
var ElMentionDropdown = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "mention-dropdown.vue"]]);
|
|
22
174
|
|
|
23
|
-
exports
|
|
24
|
-
exports.mentionDropdownProps = mentionDropdownProps;
|
|
175
|
+
exports["default"] = ElMentionDropdown;
|
|
25
176
|
//# sourceMappingURL=mention-dropdown2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mention-dropdown2.js","sources":["../../../../../../packages/components/mention/src/mention-dropdown.
|
|
1
|
+
{"version":3,"file":"mention-dropdown2.js","sources":["../../../../../../packages/components/mention/src/mention-dropdown.vue"],"sourcesContent":["<template>\n <div ref=\"dropdownRef\" :class=\"ns.b('dropdown')\">\n <div v-if=\"$slots.header\" :class=\"ns.be('dropdown', 'header')\">\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"options.length > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"ns.be('dropdown', 'wrap')\"\n :view-class=\"ns.be('dropdown', 'list')\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n >\n <li\n v-for=\"(item, index) in options\"\n :id=\"`${contentId}-${index}`\"\n ref=\"optionRefs\"\n :key=\"item.value\"\n :class=\"optionkls(item, index)\"\n role=\"option\"\n :aria-disabled=\"item.disabled || disabled || undefined\"\n :aria-selected=\"hoveringIndex === index\"\n @mouseenter=\"handleMouseEnter(index)\"\n @click.stop=\"handleSelect(item)\"\n >\n <slot name=\"label\" :item=\"item\" :index=\"index\">\n <span>{{ item.label ?? item.value }}</span>\n </slot>\n </li>\n </el-scrollbar>\n <div v-if=\"loading\" :class=\"ns.be('dropdown', 'loading')\">\n <slot name=\"loading\"> {{ t('el.mention.loading') }} </slot>\n </div>\n <div v-if=\"$slots.footer\" :class=\"ns.be('dropdown', 'footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { scrollIntoView } from '@element-plus/utils'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { mentionDropdownEmits, mentionDropdownProps } from './mention-dropdown'\n\nimport type { MentionOption } from './types'\n\ndefineOptions({\n name: 'ElMentionDropdown',\n})\n\nconst props = defineProps(mentionDropdownProps)\nconst emit = defineEmits(mentionDropdownEmits)\n\nconst ns = useNamespace('mention')\nconst { t } = useLocale()\nconst hoveringIndex = ref(-1)\n\nconst scrollbarRef = ref<InstanceType<typeof ElScrollbar>>()\nconst optionRefs = ref<HTMLElement[]>()\nconst dropdownRef = ref<HTMLElement>()\n\nconst optionkls = (item: MentionOption, index: number) => [\n ns.be('dropdown', 'item'),\n ns.is('hovering', hoveringIndex.value === index),\n ns.is('disabled', item.disabled || props.disabled),\n]\n\nconst handleSelect = (item: MentionOption) => {\n if (item.disabled || props.disabled) return\n emit('select', item)\n}\n\nconst handleMouseEnter = (index: number) => {\n hoveringIndex.value = index\n}\n\nconst filteredAllDisabled = computed(\n () => props.disabled || props.options.every((item) => item.disabled)\n)\n\nconst hoverOption = computed(() => props.options[hoveringIndex.value])\n\nconst selectHoverOption = () => {\n if (!hoverOption.value) return\n emit('select', hoverOption.value)\n}\n\nconst navigateOptions = (direction: 'next' | 'prev') => {\n const { options } = props\n if (options.length === 0 || filteredAllDisabled.value) return\n\n if (direction === 'next') {\n hoveringIndex.value++\n if (hoveringIndex.value === options.length) {\n hoveringIndex.value = 0\n }\n } else if (direction === 'prev') {\n hoveringIndex.value--\n if (hoveringIndex.value < 0) {\n hoveringIndex.value = options.length - 1\n }\n }\n const option = options[hoveringIndex.value]\n if (option.disabled) {\n navigateOptions(direction)\n return\n }\n nextTick(() => scrollToOption(option))\n}\n\nconst scrollToOption = (option: MentionOption) => {\n const { options } = props\n\n const index = options.findIndex((item) => item.value === option.value)\n const target = optionRefs.value?.[index]\n\n if (target) {\n const menu = dropdownRef.value?.querySelector?.(\n `.${ns.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n}\n\nconst resetHoveringIndex = () => {\n if (filteredAllDisabled.value || props.options.length === 0) {\n hoveringIndex.value = -1\n } else {\n hoveringIndex.value = 0\n }\n}\n\nwatch(() => props.options, resetHoveringIndex, {\n immediate: true,\n})\n\ndefineExpose({\n hoveringIndex,\n navigateOptions,\n selectHoverOption,\n hoverOption,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","computed","nextTick","scrollIntoView","watch"],"mappings":"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"}
|
|
@@ -105,10 +105,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
105
105
|
readonly id: string;
|
|
106
106
|
readonly type: string;
|
|
107
107
|
readonly modelValue: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
|
|
108
|
-
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
109
108
|
readonly autosize: import("@element-plus/nightly/es/components/input").InputAutoSize;
|
|
110
109
|
readonly autocomplete: string;
|
|
111
110
|
readonly containerRole: string;
|
|
111
|
+
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
112
112
|
readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
113
113
|
readonly inputStyle: import("vue").StyleValue;
|
|
114
114
|
readonly rows: number;
|
|
@@ -208,7 +208,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
208
208
|
onMouseenter?: ((evt: MouseEvent) => any) | undefined;
|
|
209
209
|
onMouseleave?: ((evt: MouseEvent) => any) | undefined;
|
|
210
210
|
onClear?: (() => any) | undefined;
|
|
211
|
-
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "id" | "type" | "modelValue" | "
|
|
211
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "id" | "type" | "modelValue" | "autosize" | "autocomplete" | "containerRole" | "tabindex" | "validateEvent" | "inputStyle" | "rows" | "readonly" | "clearable" | "showPassword" | "showWordLimit" | "autofocus">;
|
|
212
212
|
$attrs: {
|
|
213
213
|
[x: string]: unknown;
|
|
214
214
|
};
|
|
@@ -343,10 +343,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
343
343
|
readonly id: string;
|
|
344
344
|
readonly type: string;
|
|
345
345
|
readonly modelValue: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined) | ((new (...args: any[]) => (string | number | null | undefined) & {}) | (() => string | number | null | undefined))[], unknown, unknown>;
|
|
346
|
-
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
347
346
|
readonly autosize: import("@element-plus/nightly/es/components/input").InputAutoSize;
|
|
348
347
|
readonly autocomplete: string;
|
|
349
348
|
readonly containerRole: string;
|
|
349
|
+
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
350
350
|
readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
351
351
|
readonly inputStyle: import("vue").StyleValue;
|
|
352
352
|
readonly rows: number;
|
|
@@ -1815,10 +1815,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
1815
1815
|
loading: boolean;
|
|
1816
1816
|
placement: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => ("top" | "bottom") & {}) | (() => "top" | "bottom") | ((new (...args: any[]) => ("top" | "bottom") & {}) | (() => "top" | "bottom"))[], unknown, unknown>;
|
|
1817
1817
|
options: MentionOption[];
|
|
1818
|
-
tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
1819
1818
|
autosize: import("@element-plus/nightly/es/components/input").InputAutoSize;
|
|
1820
1819
|
autocomplete: string;
|
|
1821
1820
|
containerRole: string;
|
|
1821
|
+
tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
1822
1822
|
validateEvent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
1823
1823
|
inputStyle: import("vue").StyleValue;
|
|
1824
1824
|
rows: number;
|
|
@@ -11,7 +11,7 @@ require('../../../constants/index.js');
|
|
|
11
11
|
require('../../../utils/index.js');
|
|
12
12
|
var mention = require('./mention.js');
|
|
13
13
|
var helper = require('./helper.js');
|
|
14
|
-
var mentionDropdown = require('./mention-
|
|
14
|
+
var mentionDropdown = require('./mention-dropdown2.js');
|
|
15
15
|
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
16
16
|
var input = require('../../input/src/input.js');
|
|
17
17
|
var index = require('../../../hooks/use-namespace/index.js');
|
|
@@ -94,9 +94,10 @@ var Pagination = vue.defineComponent({
|
|
|
94
94
|
const { t } = index$1.useLocale();
|
|
95
95
|
const ns = index$2.useNamespace("pagination");
|
|
96
96
|
const vnodeProps = vue.getCurrentInstance().vnode.props || {};
|
|
97
|
+
const _globalSize = index.useGlobalSize();
|
|
97
98
|
const _size = vue.computed(() => {
|
|
98
99
|
var _a;
|
|
99
|
-
return props.small ? "small" : (_a = props.size) != null ? _a :
|
|
100
|
+
return props.small ? "small" : (_a = props.size) != null ? _a : _globalSize.value;
|
|
100
101
|
});
|
|
101
102
|
index$3.useDeprecated({
|
|
102
103
|
from: "small",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sources":["../../../../../../packages/components/pagination/src/pagination.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\nimport {\n useDeprecated,\n useGlobalSize,\n useLocale,\n useNamespace,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { elPaginationKey } from './constants'\n\nimport Prev from './components/prev.vue'\nimport Next from './components/next.vue'\nimport Sizes from './components/sizes.vue'\nimport Jumper from './components/jumper.vue'\nimport Total from './components/total.vue'\nimport Pager from './components/pager.vue'\nimport type { ExtractPropTypes, VNode } from 'vue'\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey =\n | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n /**\n * @description options of item count per page\n */\n pageSize: Number,\n /**\n * @description default initial value of page size, not setting is the same as setting 10\n */\n defaultPageSize: Number,\n /**\n * @description total item count\n */\n total: Number,\n /**\n * @description total page count. Set either `total` or `page-count` and pages will be displayed; if you need `page-sizes`, `total` is required\n */\n pageCount: Number,\n /**\n * @description number of pagers. Pagination collapses when the total page count exceeds this value\n */\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n isNumber(value) &&\n Math.trunc(value) === value &&\n value > 4 &&\n value < 22 &&\n value % 2 === 1\n )\n },\n default: 7,\n },\n /**\n * @description current page number\n */\n currentPage: Number,\n /**\n * @description default initial value of current-page, not setting is the same as setting 1\n */\n defaultCurrentPage: Number,\n /**\n * @description layout of Pagination, elements separated with a comma\n */\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n /**\n * @description item count of each page\n */\n pageSizes: {\n type: definePropType<number[]>(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n /**\n * @description custom class name for the page size Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description text for the prev button\n */\n prevText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the prev button, higher priority of `prev-text`\n */\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft,\n },\n /**\n * @description text for the next button\n */\n nextText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the next button, higher priority of `next-text`\n */\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight,\n },\n /**\n * @description whether Pagination size is teleported to body\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to use small pagination\n */\n small: Boolean,\n /**\n * @description set page size\n */\n size: useSizeProp,\n /**\n * @description whether the buttons have a background color\n */\n background: Boolean,\n /**\n * @description whether Pagination is disabled\n */\n disabled: Boolean,\n /**\n * @description whether to hide when there's only one page\n */\n hideOnSinglePage: Boolean,\n} as const)\nexport type PaginationProps = ExtractPropTypes<typeof paginationProps>\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => isNumber(val),\n 'update:page-size': (val: number) => isNumber(val),\n 'size-change': (val: number) => isNumber(val),\n change: (currentPage: number, pageSize: number) =>\n isNumber(currentPage) && isNumber(pageSize),\n 'current-change': (val: number) => isNumber(val),\n 'prev-click': (val: number) => isNumber(val),\n 'next-click': (val: number) => isNumber(val),\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n const _size = computed(() =>\n props.small ? 'small' : props.size ?? useGlobalSize().value\n )\n useDeprecated(\n {\n from: 'small',\n replacement: 'size',\n version: '3.0.0',\n scope: 'el-pagination',\n ref: 'https://element-plus.org/zh-CN/component/pagination.html',\n },\n computed(() => !!props.small)\n )\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener =\n 'onUpdate:currentPage' in vnodeProps ||\n 'onUpdate:current-page' in vnodeProps ||\n 'onCurrentChange' in vnodeProps\n const hasPageSizeListener =\n 'onUpdate:pageSize' in vnodeProps ||\n 'onUpdate:page-size' in vnodeProps ||\n 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount)) return false\n // <el-pagination ...otherProps :current-page=\"xxx\" /> without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener) return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener) return false\n } else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (!isAbsent(props.pageSize)) {\n if (!hasPageSizeListener) {\n return false\n }\n } else {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed<number>(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n } else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed<number>({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n } else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val) currentPageBridge.value = val\n })\n\n watch(\n [currentPageBridge, pageSizeBridge],\n (value) => {\n emit('change', ...value)\n },\n { flush: 'post' }\n )\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled) return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled) return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout) return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1) return null\n const rootChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren\n )\n const TEMPLATE_MAP: Record<\n Exclude<LayoutKey, '->'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev,\n }),\n jumper: h(Jumper, {\n size: _size.value,\n }),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n teleported: props.teleported,\n size: _size.value,\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n components.forEach((c) => {\n if (c === '->') {\n haveRightWrapper = true\n return\n }\n if (!haveRightWrapper) {\n rootChildren.push(TEMPLATE_MAP[c])\n } else {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n })\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren[rootChildren.length - 1], ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren[rightWrapperChildren.length - 1],\n ns.is('last')\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n class: [\n ns.b(),\n ns.is('background', props.background),\n ns.m(_size.value),\n ],\n },\n rootChildren\n )\n }\n },\n})\n"],"names":["buildProps","isNumber","definePropType","mutable","iconPropType","ArrowLeft","ArrowRight","useSizeProp","defineComponent","useLocale","useNamespace","getCurrentInstance","computed","useGlobalSize","useDeprecated","ref","watch","prev","next","provide","elPaginationKey","debugWarn","h","Prev","Jumper","Pager","Next","Sizes","Total"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":["../../../../../../packages/components/pagination/src/pagination.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\nimport {\n useDeprecated,\n useGlobalSize,\n useLocale,\n useNamespace,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { elPaginationKey } from './constants'\n\nimport Prev from './components/prev.vue'\nimport Next from './components/next.vue'\nimport Sizes from './components/sizes.vue'\nimport Jumper from './components/jumper.vue'\nimport Total from './components/total.vue'\nimport Pager from './components/pager.vue'\nimport type { ExtractPropTypes, VNode } from 'vue'\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey =\n | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n /**\n * @description options of item count per page\n */\n pageSize: Number,\n /**\n * @description default initial value of page size, not setting is the same as setting 10\n */\n defaultPageSize: Number,\n /**\n * @description total item count\n */\n total: Number,\n /**\n * @description total page count. Set either `total` or `page-count` and pages will be displayed; if you need `page-sizes`, `total` is required\n */\n pageCount: Number,\n /**\n * @description number of pagers. Pagination collapses when the total page count exceeds this value\n */\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n isNumber(value) &&\n Math.trunc(value) === value &&\n value > 4 &&\n value < 22 &&\n value % 2 === 1\n )\n },\n default: 7,\n },\n /**\n * @description current page number\n */\n currentPage: Number,\n /**\n * @description default initial value of current-page, not setting is the same as setting 1\n */\n defaultCurrentPage: Number,\n /**\n * @description layout of Pagination, elements separated with a comma\n */\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n /**\n * @description item count of each page\n */\n pageSizes: {\n type: definePropType<number[]>(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n /**\n * @description custom class name for the page size Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description text for the prev button\n */\n prevText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the prev button, higher priority of `prev-text`\n */\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft,\n },\n /**\n * @description text for the next button\n */\n nextText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the next button, higher priority of `next-text`\n */\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight,\n },\n /**\n * @description whether Pagination size is teleported to body\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to use small pagination\n */\n small: Boolean,\n /**\n * @description set page size\n */\n size: useSizeProp,\n /**\n * @description whether the buttons have a background color\n */\n background: Boolean,\n /**\n * @description whether Pagination is disabled\n */\n disabled: Boolean,\n /**\n * @description whether to hide when there's only one page\n */\n hideOnSinglePage: Boolean,\n} as const)\nexport type PaginationProps = ExtractPropTypes<typeof paginationProps>\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => isNumber(val),\n 'update:page-size': (val: number) => isNumber(val),\n 'size-change': (val: number) => isNumber(val),\n change: (currentPage: number, pageSize: number) =>\n isNumber(currentPage) && isNumber(pageSize),\n 'current-change': (val: number) => isNumber(val),\n 'prev-click': (val: number) => isNumber(val),\n 'next-click': (val: number) => isNumber(val),\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n const _globalSize = useGlobalSize()\n const _size = computed(() =>\n props.small ? 'small' : props.size ?? _globalSize.value\n )\n useDeprecated(\n {\n from: 'small',\n replacement: 'size',\n version: '3.0.0',\n scope: 'el-pagination',\n ref: 'https://element-plus.org/zh-CN/component/pagination.html',\n },\n computed(() => !!props.small)\n )\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener =\n 'onUpdate:currentPage' in vnodeProps ||\n 'onUpdate:current-page' in vnodeProps ||\n 'onCurrentChange' in vnodeProps\n const hasPageSizeListener =\n 'onUpdate:pageSize' in vnodeProps ||\n 'onUpdate:page-size' in vnodeProps ||\n 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount)) return false\n // <el-pagination ...otherProps :current-page=\"xxx\" /> without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener) return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener) return false\n } else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (!isAbsent(props.pageSize)) {\n if (!hasPageSizeListener) {\n return false\n }\n } else {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed<number>(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n } else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed<number>({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n } else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val) currentPageBridge.value = val\n })\n\n watch(\n [currentPageBridge, pageSizeBridge],\n (value) => {\n emit('change', ...value)\n },\n { flush: 'post' }\n )\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled) return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled) return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout) return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1) return null\n const rootChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren\n )\n const TEMPLATE_MAP: Record<\n Exclude<LayoutKey, '->'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev,\n }),\n jumper: h(Jumper, {\n size: _size.value,\n }),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n teleported: props.teleported,\n size: _size.value,\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n components.forEach((c) => {\n if (c === '->') {\n haveRightWrapper = true\n return\n }\n if (!haveRightWrapper) {\n rootChildren.push(TEMPLATE_MAP[c])\n } else {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n })\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren[rootChildren.length - 1], ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren[rightWrapperChildren.length - 1],\n ns.is('last')\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n class: [\n ns.b(),\n ns.is('background', props.background),\n ns.m(_size.value),\n ],\n },\n rootChildren\n )\n }\n },\n})\n"],"names":["buildProps","isNumber","definePropType","mutable","iconPropType","ArrowLeft","ArrowRight","useSizeProp","defineComponent","useLocale","useNamespace","getCurrentInstance","useGlobalSize","computed","useDeprecated","ref","watch","prev","next","provide","elPaginationKey","debugWarn","h","Prev","Jumper","Pager","Next","Sizes","Total"],"mappings":"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"}
|
|
@@ -381,8 +381,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
381
381
|
readonly showAfter: number;
|
|
382
382
|
readonly hideAfter: number;
|
|
383
383
|
readonly autoClose: number;
|
|
384
|
-
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
|
|
385
384
|
readonly trigger: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => import("@element-plus/nightly/es/utils").Arrayable<import("@element-plus/nightly/es/components/tooltip").TooltipTriggerType> & {}) | (() => import("@element-plus/nightly/es/utils").Arrayable<import("@element-plus/nightly/es/components/tooltip").TooltipTriggerType>) | ((new (...args: any[]) => import("@element-plus/nightly/es/utils").Arrayable<import("@element-plus/nightly/es/components/tooltip").TooltipTriggerType> & {}) | (() => import("@element-plus/nightly/es/utils").Arrayable<import("@element-plus/nightly/es/components/tooltip").TooltipTriggerType>))[], unknown, unknown>;
|
|
385
|
+
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
|
|
386
386
|
readonly popperOptions: Partial<import("@popperjs/core").Options>;
|
|
387
387
|
readonly enterable: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
388
388
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -110,7 +110,8 @@ var ElTableColumn = vue.defineComponent({
|
|
|
110
110
|
columnIndex > -1 && owner.value.store.commit("insertColumn", columnConfig.value, isSubColumn.value ? parent2.columnConfig.value : null, updateColumnOrder);
|
|
111
111
|
});
|
|
112
112
|
vue.onBeforeUnmount(() => {
|
|
113
|
-
const
|
|
113
|
+
const getColumnIndex = columnConfig.value.getColumnIndex;
|
|
114
|
+
const columnIndex = getColumnIndex ? getColumnIndex() : -1;
|
|
114
115
|
columnIndex > -1 && owner.value.store.commit("removeColumn", columnConfig.value, isSubColumn.value ? parent.columnConfig.value : null, updateColumnOrder);
|
|
115
116
|
});
|
|
116
117
|
instance.columnId = columnId.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-column/index.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { isString, isUndefined } from '@element-plus/utils'\nimport { cellStarts } from '../config'\nimport { compose, mergeOptions } from '../util'\nimport useWatcher from './watcher-helper'\nimport useRender from './render-helper'\nimport defaultProps from './defaults'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nimport type { DefaultRow } from '../table/defaults'\n\nlet columnIdSeed = 1\n\nexport default defineComponent({\n name: 'ElTableColumn',\n components: {\n ElCheckbox,\n },\n props: defaultProps,\n setup(props, { slots }) {\n const instance = getCurrentInstance() as TableColumn<DefaultRow>\n const columnConfig = ref<Partial<TableColumnCtx<DefaultRow>>>({})\n const owner = computed(() => {\n let parent = instance.parent as any\n while (parent && !parent.tableId) {\n parent = parent.parent\n }\n return parent\n })\n\n const { registerNormalWatchers, registerComplexWatchers } = useWatcher(\n owner,\n props\n )\n const {\n columnId,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n realAlign,\n updateColumnOrder,\n } = useRender(props as unknown as TableColumnCtx<unknown>, slots, owner)\n\n const parent = columnOrTableParent.value\n columnId.value = `${\n parent.tableId || parent.columnId\n }_column_${columnIdSeed++}`\n onBeforeMount(() => {\n isSubColumn.value = owner.value !== parent\n\n const type = props.type || 'default'\n const sortable = props.sortable === '' ? true : props.sortable\n const showOverflowTooltip = isUndefined(props.showOverflowTooltip)\n ? parent.props.showOverflowTooltip\n : props.showOverflowTooltip\n const defaults = {\n ...cellStarts[type],\n id: columnId.value,\n type,\n property: props.prop || props.property,\n align: realAlign,\n headerAlign: realHeaderAlign,\n showOverflowTooltip,\n // filter 相关属性\n filterable: props.filters || props.filterMethod,\n filteredValue: [],\n filterPlacement: '',\n filterClassName: '',\n isColumnGroup: false,\n isSubColumn: false,\n filterOpened: false,\n // sort 相关属性\n sortable,\n // index 列\n index: props.index,\n // <el-table-column key=\"xxx\" />\n rawColumnKey: instance.vnode.key,\n }\n\n const basicProps = [\n 'columnKey',\n 'label',\n 'className',\n 'labelClassName',\n 'type',\n 'renderHeader',\n 'formatter',\n 'fixed',\n 'resizable',\n ]\n const sortProps = ['sortMethod', 'sortBy', 'sortOrders']\n const selectProps = ['selectable', 'reserveSelection']\n const filterProps = [\n 'filterMethod',\n 'filters',\n 'filterMultiple',\n 'filterOpened',\n 'filteredValue',\n 'filterPlacement',\n 'filterClassName',\n ]\n\n let column = getPropsData(basicProps, sortProps, selectProps, filterProps)\n\n column = mergeOptions(defaults, column)\n // 注意 compose 中函数执行的顺序是从右到左\n const chains = compose(\n setColumnRenders,\n setColumnWidth,\n setColumnForcedProps\n )\n column = chains(column)\n columnConfig.value = column\n\n // 注册 watcher\n registerNormalWatchers()\n registerComplexWatchers()\n })\n onMounted(() => {\n const parent = columnOrTableParent.value\n const children = isSubColumn.value\n ? parent.vnode.el.children\n : parent.refs.hiddenColumns?.children\n const getColumnIndex = () =>\n getColumnElIndex(children || [], instance.vnode.el)\n columnConfig.value.getColumnIndex = getColumnIndex\n const columnIndex = getColumnIndex()\n columnIndex > -1 &&\n owner.value.store.commit(\n 'insertColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n onBeforeUnmount(() => {\n const columnIndex = columnConfig.value.getColumnIndex()\n columnIndex > -1 &&\n owner.value.store.commit(\n 'removeColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n instance.columnId = columnId.value\n\n instance.columnConfig = columnConfig\n return\n },\n render() {\n try {\n const renderDefault = this.$slots.default?.({\n row: {},\n column: {},\n $index: -1,\n })\n const children = []\n if (Array.isArray(renderDefault)) {\n for (const childNode of renderDefault) {\n if (\n childNode.type?.name === 'ElTableColumn' ||\n childNode.shapeFlag & 2\n ) {\n children.push(childNode)\n } else if (\n childNode.type === Fragment &&\n Array.isArray(childNode.children)\n ) {\n childNode.children.forEach((vnode) => {\n // No rendering when vnode is dynamic slot or text\n if (vnode?.patchFlag !== 1024 && !isString(vnode?.children)) {\n children.push(vnode)\n }\n })\n }\n }\n }\n const vnode = h('div', children)\n return vnode\n } catch {\n return h('div', [])\n }\n },\n})\n"],"names":["defineComponent","ElCheckbox","defaultProps","getCurrentInstance","ref","computed","useWatcher","useRender","onBeforeMount","isUndefined","cellStarts","mergeOptions","compose","onMounted","onBeforeUnmount","Fragment","isString","h"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-column/index.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { isString, isUndefined } from '@element-plus/utils'\nimport { cellStarts } from '../config'\nimport { compose, mergeOptions } from '../util'\nimport useWatcher from './watcher-helper'\nimport useRender from './render-helper'\nimport defaultProps from './defaults'\nimport type { TableColumn, TableColumnCtx } from './defaults'\n\nimport type { DefaultRow } from '../table/defaults'\n\nlet columnIdSeed = 1\n\nexport default defineComponent({\n name: 'ElTableColumn',\n components: {\n ElCheckbox,\n },\n props: defaultProps,\n setup(props, { slots }) {\n const instance = getCurrentInstance() as TableColumn<DefaultRow>\n const columnConfig = ref<Partial<TableColumnCtx<DefaultRow>>>({})\n const owner = computed(() => {\n let parent = instance.parent as any\n while (parent && !parent.tableId) {\n parent = parent.parent\n }\n return parent\n })\n\n const { registerNormalWatchers, registerComplexWatchers } = useWatcher(\n owner,\n props\n )\n const {\n columnId,\n isSubColumn,\n realHeaderAlign,\n columnOrTableParent,\n setColumnWidth,\n setColumnForcedProps,\n setColumnRenders,\n getPropsData,\n getColumnElIndex,\n realAlign,\n updateColumnOrder,\n } = useRender(props as unknown as TableColumnCtx<unknown>, slots, owner)\n\n const parent = columnOrTableParent.value\n columnId.value = `${\n parent.tableId || parent.columnId\n }_column_${columnIdSeed++}`\n onBeforeMount(() => {\n isSubColumn.value = owner.value !== parent\n\n const type = props.type || 'default'\n const sortable = props.sortable === '' ? true : props.sortable\n const showOverflowTooltip = isUndefined(props.showOverflowTooltip)\n ? parent.props.showOverflowTooltip\n : props.showOverflowTooltip\n const defaults = {\n ...cellStarts[type],\n id: columnId.value,\n type,\n property: props.prop || props.property,\n align: realAlign,\n headerAlign: realHeaderAlign,\n showOverflowTooltip,\n // filter 相关属性\n filterable: props.filters || props.filterMethod,\n filteredValue: [],\n filterPlacement: '',\n filterClassName: '',\n isColumnGroup: false,\n isSubColumn: false,\n filterOpened: false,\n // sort 相关属性\n sortable,\n // index 列\n index: props.index,\n // <el-table-column key=\"xxx\" />\n rawColumnKey: instance.vnode.key,\n }\n\n const basicProps = [\n 'columnKey',\n 'label',\n 'className',\n 'labelClassName',\n 'type',\n 'renderHeader',\n 'formatter',\n 'fixed',\n 'resizable',\n ]\n const sortProps = ['sortMethod', 'sortBy', 'sortOrders']\n const selectProps = ['selectable', 'reserveSelection']\n const filterProps = [\n 'filterMethod',\n 'filters',\n 'filterMultiple',\n 'filterOpened',\n 'filteredValue',\n 'filterPlacement',\n 'filterClassName',\n ]\n\n let column = getPropsData(basicProps, sortProps, selectProps, filterProps)\n\n column = mergeOptions(defaults, column)\n // 注意 compose 中函数执行的顺序是从右到左\n const chains = compose(\n setColumnRenders,\n setColumnWidth,\n setColumnForcedProps\n )\n column = chains(column)\n columnConfig.value = column\n\n // 注册 watcher\n registerNormalWatchers()\n registerComplexWatchers()\n })\n onMounted(() => {\n const parent = columnOrTableParent.value\n const children = isSubColumn.value\n ? parent.vnode.el.children\n : parent.refs.hiddenColumns?.children\n const getColumnIndex = () =>\n getColumnElIndex(children || [], instance.vnode.el)\n columnConfig.value.getColumnIndex = getColumnIndex\n const columnIndex = getColumnIndex()\n columnIndex > -1 &&\n owner.value.store.commit(\n 'insertColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n onBeforeUnmount(() => {\n const getColumnIndex = columnConfig.value.getColumnIndex\n const columnIndex = getColumnIndex ? getColumnIndex() : -1\n columnIndex > -1 &&\n owner.value.store.commit(\n 'removeColumn',\n columnConfig.value,\n isSubColumn.value ? parent.columnConfig.value : null,\n updateColumnOrder\n )\n })\n instance.columnId = columnId.value\n\n instance.columnConfig = columnConfig\n return\n },\n render() {\n try {\n const renderDefault = this.$slots.default?.({\n row: {},\n column: {},\n $index: -1,\n })\n const children = []\n if (Array.isArray(renderDefault)) {\n for (const childNode of renderDefault) {\n if (\n childNode.type?.name === 'ElTableColumn' ||\n childNode.shapeFlag & 2\n ) {\n children.push(childNode)\n } else if (\n childNode.type === Fragment &&\n Array.isArray(childNode.children)\n ) {\n childNode.children.forEach((vnode) => {\n // No rendering when vnode is dynamic slot or text\n if (vnode?.patchFlag !== 1024 && !isString(vnode?.children)) {\n children.push(vnode)\n }\n })\n }\n }\n }\n const vnode = h('div', children)\n return vnode\n } catch {\n return h('div', [])\n }\n },\n})\n"],"names":["defineComponent","ElCheckbox","defaultProps","getCurrentInstance","ref","computed","useWatcher","useRender","onBeforeMount","isUndefined","cellStarts","mergeOptions","compose","onMounted","onBeforeUnmount","Fragment","isString","h"],"mappings":"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"}
|
|
@@ -228,9 +228,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
228
228
|
readonly name: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => SingleOrRange<string> & {}) | (() => SingleOrRange<string>) | ((new (...args: any[]) => SingleOrRange<string> & {}) | (() => SingleOrRange<string>))[], unknown, unknown>;
|
|
229
229
|
readonly placeholder: string;
|
|
230
230
|
readonly modelValue: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => import("./props").ModelValueType & {}) | (() => import("./props").ModelValueType) | ((new (...args: any[]) => import("./props").ModelValueType & {}) | (() => import("./props").ModelValueType))[], unknown, unknown>;
|
|
231
|
-
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
|
|
232
231
|
readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>;
|
|
233
232
|
readonly prefixIcon: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
|
|
233
|
+
readonly tabindex: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
|
|
234
234
|
readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
235
235
|
readonly readonly: boolean;
|
|
236
236
|
readonly clearable: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -194,9 +194,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
194
194
|
name: import("../../../utils").EpPropMergeType<(new (...args: any[]) => import("./common/props").SingleOrRange<string> & {}) | (() => import("./common/props").SingleOrRange<string>) | ((new (...args: any[]) => import("./common/props").SingleOrRange<string> & {}) | (() => import("./common/props").SingleOrRange<string>))[], unknown, unknown>;
|
|
195
195
|
placeholder: string;
|
|
196
196
|
modelValue: import("../../../utils").EpPropMergeType<(new (...args: any[]) => import("./common/props").ModelValueType & {}) | (() => import("./common/props").ModelValueType) | ((new (...args: any[]) => import("./common/props").ModelValueType & {}) | (() => import("./common/props").ModelValueType))[], unknown, unknown>;
|
|
197
|
-
tabindex: import("../../../utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
|
|
198
197
|
valueOnClear: import("../../../utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>;
|
|
199
198
|
prefixIcon: import("../../../utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
|
|
199
|
+
tabindex: import("../../../utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
|
|
200
200
|
validateEvent: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
201
201
|
readonly: boolean;
|
|
202
202
|
clearable: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -41,11 +41,6 @@ function useFocusController(target, {
|
|
|
41
41
|
return;
|
|
42
42
|
(_b = target.value) == null ? void 0 : _b.focus();
|
|
43
43
|
};
|
|
44
|
-
vue.watch(wrapperRef, (el) => {
|
|
45
|
-
if (el) {
|
|
46
|
-
el.setAttribute("tabindex", "-1");
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
44
|
core.useEventListener(wrapperRef, "focus", handleFocus, true);
|
|
50
45
|
core.useEventListener(wrapperRef, "blur", handleBlur, true);
|
|
51
46
|
core.useEventListener(wrapperRef, "click", handleClick, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/hooks/use-focus-controller/index.ts"],"sourcesContent":["import { getCurrentInstance, onMounted, ref, shallowRef
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/hooks/use-focus-controller/index.ts"],"sourcesContent":["import { getCurrentInstance, onMounted, ref, shallowRef } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isElement, isFunction } from '@element-plus/utils'\nimport type { ShallowRef } from 'vue'\n\ninterface UseFocusControllerOptions {\n /**\n * return true to cancel focus\n * @param event FocusEvent\n */\n beforeFocus?: (event: FocusEvent) => boolean | undefined\n afterFocus?: () => void\n /**\n * return true to cancel blur\n * @param event FocusEvent\n */\n beforeBlur?: (event: FocusEvent) => boolean | undefined\n afterBlur?: () => void\n}\n\nexport function useFocusController<T extends { focus: () => void }>(\n target: ShallowRef<T | undefined>,\n {\n beforeFocus,\n afterFocus,\n beforeBlur,\n afterBlur,\n }: UseFocusControllerOptions = {}\n) {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const wrapperRef = shallowRef<HTMLElement>()\n const isFocused = ref(false)\n\n const handleFocus = (event: FocusEvent) => {\n const cancelFocus = isFunction(beforeFocus) ? beforeFocus(event) : false\n if (cancelFocus || isFocused.value) return\n isFocused.value = true\n emit('focus', event)\n afterFocus?.()\n }\n\n const handleBlur = (event: FocusEvent) => {\n const cancelBlur = isFunction(beforeBlur) ? beforeBlur(event) : false\n if (\n cancelBlur ||\n (event.relatedTarget &&\n wrapperRef.value?.contains(event.relatedTarget as Node))\n )\n return\n\n isFocused.value = false\n emit('blur', event)\n afterBlur?.()\n }\n\n const handleClick = () => {\n if (\n wrapperRef.value?.contains(document.activeElement) &&\n wrapperRef.value !== document.activeElement\n )\n return\n\n target.value?.focus()\n }\n\n useEventListener(wrapperRef, 'focus', handleFocus, true)\n useEventListener(wrapperRef, 'blur', handleBlur, true)\n useEventListener(wrapperRef, 'click', handleClick, true)\n\n // only for test\n if (process.env.NODE_ENV === 'test') {\n onMounted(() => {\n const targetEl = isElement(target.value)\n ? target.value\n : document.querySelector('input,textarea')\n\n if (targetEl) {\n useEventListener(targetEl, 'focus', handleFocus, true)\n useEventListener(targetEl, 'blur', handleBlur, true)\n }\n })\n }\n\n return {\n isFocused,\n /** Avoid using wrapperRef and handleFocus/handleBlur together */\n wrapperRef,\n handleFocus,\n handleBlur,\n }\n}\n"],"names":["getCurrentInstance","shallowRef","ref","isFunction","useEventListener","onMounted","isElement"],"mappings":"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"}
|