@element-plus/nightly 0.0.20230707 → 0.0.20230708

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/index.full.js +4 -3
  2. package/dist/index.full.min.js +3 -3
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +3 -3
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +4 -3
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar.js +1 -1
  12. package/dist/locale/ar.min.js +1 -1
  13. package/dist/locale/ar.min.mjs +1 -1
  14. package/dist/locale/ar.mjs +1 -1
  15. package/dist/locale/az.js +1 -1
  16. package/dist/locale/az.min.js +1 -1
  17. package/dist/locale/az.min.mjs +1 -1
  18. package/dist/locale/az.mjs +1 -1
  19. package/dist/locale/bg.js +1 -1
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.mjs +1 -1
  22. package/dist/locale/bg.mjs +1 -1
  23. package/dist/locale/bn.js +1 -1
  24. package/dist/locale/bn.min.js +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +1 -1
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.mjs +1 -1
  30. package/dist/locale/ca.mjs +1 -1
  31. package/dist/locale/ckb.js +1 -1
  32. package/dist/locale/ckb.min.js +1 -1
  33. package/dist/locale/ckb.min.mjs +1 -1
  34. package/dist/locale/ckb.mjs +1 -1
  35. package/dist/locale/cs.js +1 -1
  36. package/dist/locale/cs.min.js +1 -1
  37. package/dist/locale/cs.min.mjs +1 -1
  38. package/dist/locale/cs.mjs +1 -1
  39. package/dist/locale/da.js +1 -1
  40. package/dist/locale/da.min.js +1 -1
  41. package/dist/locale/da.min.mjs +1 -1
  42. package/dist/locale/da.mjs +1 -1
  43. package/dist/locale/de.js +1 -1
  44. package/dist/locale/de.min.js +1 -1
  45. package/dist/locale/de.min.mjs +1 -1
  46. package/dist/locale/de.mjs +1 -1
  47. package/dist/locale/el.js +1 -1
  48. package/dist/locale/el.min.js +1 -1
  49. package/dist/locale/el.min.mjs +1 -1
  50. package/dist/locale/el.mjs +1 -1
  51. package/dist/locale/en.js +1 -1
  52. package/dist/locale/en.min.js +1 -1
  53. package/dist/locale/en.min.mjs +1 -1
  54. package/dist/locale/en.mjs +1 -1
  55. package/dist/locale/eo.js +1 -1
  56. package/dist/locale/eo.min.js +1 -1
  57. package/dist/locale/eo.min.mjs +1 -1
  58. package/dist/locale/eo.mjs +1 -1
  59. package/dist/locale/es.js +1 -1
  60. package/dist/locale/es.min.js +1 -1
  61. package/dist/locale/es.min.mjs +1 -1
  62. package/dist/locale/es.mjs +1 -1
  63. package/dist/locale/et.js +1 -1
  64. package/dist/locale/et.min.js +1 -1
  65. package/dist/locale/et.min.mjs +1 -1
  66. package/dist/locale/et.mjs +1 -1
  67. package/dist/locale/eu.js +1 -1
  68. package/dist/locale/eu.min.js +1 -1
  69. package/dist/locale/eu.min.mjs +1 -1
  70. package/dist/locale/eu.mjs +1 -1
  71. package/dist/locale/fa.js +1 -1
  72. package/dist/locale/fa.min.js +1 -1
  73. package/dist/locale/fa.min.mjs +1 -1
  74. package/dist/locale/fa.mjs +1 -1
  75. package/dist/locale/fi.js +1 -1
  76. package/dist/locale/fi.min.js +1 -1
  77. package/dist/locale/fi.min.mjs +1 -1
  78. package/dist/locale/fi.mjs +1 -1
  79. package/dist/locale/fr.js +1 -1
  80. package/dist/locale/fr.min.js +1 -1
  81. package/dist/locale/fr.min.mjs +1 -1
  82. package/dist/locale/fr.mjs +1 -1
  83. package/dist/locale/he.js +1 -1
  84. package/dist/locale/he.min.js +1 -1
  85. package/dist/locale/he.min.mjs +1 -1
  86. package/dist/locale/he.mjs +1 -1
  87. package/dist/locale/hr.js +1 -1
  88. package/dist/locale/hr.min.js +1 -1
  89. package/dist/locale/hr.min.mjs +1 -1
  90. package/dist/locale/hr.mjs +1 -1
  91. package/dist/locale/hu.js +1 -1
  92. package/dist/locale/hu.min.js +1 -1
  93. package/dist/locale/hu.min.mjs +1 -1
  94. package/dist/locale/hu.mjs +1 -1
  95. package/dist/locale/hy-am.js +1 -1
  96. package/dist/locale/hy-am.min.js +1 -1
  97. package/dist/locale/hy-am.min.mjs +1 -1
  98. package/dist/locale/hy-am.mjs +1 -1
  99. package/dist/locale/id.js +1 -1
  100. package/dist/locale/id.min.js +1 -1
  101. package/dist/locale/id.min.mjs +1 -1
  102. package/dist/locale/id.mjs +1 -1
  103. package/dist/locale/it.js +1 -1
  104. package/dist/locale/it.min.js +1 -1
  105. package/dist/locale/it.min.mjs +1 -1
  106. package/dist/locale/it.mjs +1 -1
  107. package/dist/locale/ja.js +1 -1
  108. package/dist/locale/ja.min.js +1 -1
  109. package/dist/locale/ja.min.mjs +1 -1
  110. package/dist/locale/ja.mjs +1 -1
  111. package/dist/locale/kk.js +1 -1
  112. package/dist/locale/kk.min.js +1 -1
  113. package/dist/locale/kk.min.mjs +1 -1
  114. package/dist/locale/kk.mjs +1 -1
  115. package/dist/locale/km.js +1 -1
  116. package/dist/locale/km.min.js +1 -1
  117. package/dist/locale/km.min.mjs +1 -1
  118. package/dist/locale/km.mjs +1 -1
  119. package/dist/locale/ko.js +1 -1
  120. package/dist/locale/ko.min.js +1 -1
  121. package/dist/locale/ko.min.mjs +1 -1
  122. package/dist/locale/ko.mjs +1 -1
  123. package/dist/locale/ku.js +1 -1
  124. package/dist/locale/ku.min.js +1 -1
  125. package/dist/locale/ku.min.mjs +1 -1
  126. package/dist/locale/ku.mjs +1 -1
  127. package/dist/locale/ky.js +1 -1
  128. package/dist/locale/ky.min.js +1 -1
  129. package/dist/locale/ky.min.mjs +1 -1
  130. package/dist/locale/ky.mjs +1 -1
  131. package/dist/locale/lt.js +1 -1
  132. package/dist/locale/lt.min.js +1 -1
  133. package/dist/locale/lt.min.mjs +1 -1
  134. package/dist/locale/lt.mjs +1 -1
  135. package/dist/locale/lv.js +1 -1
  136. package/dist/locale/lv.min.js +1 -1
  137. package/dist/locale/lv.min.mjs +1 -1
  138. package/dist/locale/lv.mjs +1 -1
  139. package/dist/locale/mg.js +1 -1
  140. package/dist/locale/mg.min.js +1 -1
  141. package/dist/locale/mg.min.mjs +1 -1
  142. package/dist/locale/mg.mjs +1 -1
  143. package/dist/locale/mn.js +1 -1
  144. package/dist/locale/mn.min.js +1 -1
  145. package/dist/locale/mn.min.mjs +1 -1
  146. package/dist/locale/mn.mjs +1 -1
  147. package/dist/locale/nb-no.js +1 -1
  148. package/dist/locale/nb-no.min.js +1 -1
  149. package/dist/locale/nb-no.min.mjs +1 -1
  150. package/dist/locale/nb-no.mjs +1 -1
  151. package/dist/locale/nl.js +1 -1
  152. package/dist/locale/nl.min.js +1 -1
  153. package/dist/locale/nl.min.mjs +1 -1
  154. package/dist/locale/nl.mjs +1 -1
  155. package/dist/locale/pa.js +1 -1
  156. package/dist/locale/pa.min.js +1 -1
  157. package/dist/locale/pa.min.mjs +1 -1
  158. package/dist/locale/pa.mjs +1 -1
  159. package/dist/locale/pl.js +1 -1
  160. package/dist/locale/pl.min.js +1 -1
  161. package/dist/locale/pl.min.mjs +1 -1
  162. package/dist/locale/pl.mjs +1 -1
  163. package/dist/locale/pt-br.js +1 -1
  164. package/dist/locale/pt-br.min.js +1 -1
  165. package/dist/locale/pt-br.min.mjs +1 -1
  166. package/dist/locale/pt-br.mjs +1 -1
  167. package/dist/locale/pt.js +1 -1
  168. package/dist/locale/pt.min.js +1 -1
  169. package/dist/locale/pt.min.mjs +1 -1
  170. package/dist/locale/pt.mjs +1 -1
  171. package/dist/locale/ro.js +1 -1
  172. package/dist/locale/ro.min.js +1 -1
  173. package/dist/locale/ro.min.mjs +1 -1
  174. package/dist/locale/ro.mjs +1 -1
  175. package/dist/locale/ru.js +1 -1
  176. package/dist/locale/ru.min.js +1 -1
  177. package/dist/locale/ru.min.mjs +1 -1
  178. package/dist/locale/ru.mjs +1 -1
  179. package/dist/locale/sk.js +1 -1
  180. package/dist/locale/sk.min.js +1 -1
  181. package/dist/locale/sk.min.mjs +1 -1
  182. package/dist/locale/sk.mjs +1 -1
  183. package/dist/locale/sl.js +1 -1
  184. package/dist/locale/sl.min.js +1 -1
  185. package/dist/locale/sl.min.mjs +1 -1
  186. package/dist/locale/sl.mjs +1 -1
  187. package/dist/locale/sr.js +1 -1
  188. package/dist/locale/sr.min.js +1 -1
  189. package/dist/locale/sr.min.mjs +1 -1
  190. package/dist/locale/sr.mjs +1 -1
  191. package/dist/locale/sv.js +1 -1
  192. package/dist/locale/sv.min.js +1 -1
  193. package/dist/locale/sv.min.mjs +1 -1
  194. package/dist/locale/sv.mjs +1 -1
  195. package/dist/locale/ta.js +1 -1
  196. package/dist/locale/ta.min.js +1 -1
  197. package/dist/locale/ta.min.mjs +1 -1
  198. package/dist/locale/ta.mjs +1 -1
  199. package/dist/locale/th.js +1 -1
  200. package/dist/locale/th.min.js +1 -1
  201. package/dist/locale/th.min.mjs +1 -1
  202. package/dist/locale/th.mjs +1 -1
  203. package/dist/locale/tk.js +1 -1
  204. package/dist/locale/tk.min.js +1 -1
  205. package/dist/locale/tk.min.mjs +1 -1
  206. package/dist/locale/tk.mjs +1 -1
  207. package/dist/locale/tr.js +1 -1
  208. package/dist/locale/tr.min.js +1 -1
  209. package/dist/locale/tr.min.mjs +1 -1
  210. package/dist/locale/tr.mjs +1 -1
  211. package/dist/locale/ug-cn.js +1 -1
  212. package/dist/locale/ug-cn.min.js +1 -1
  213. package/dist/locale/ug-cn.min.mjs +1 -1
  214. package/dist/locale/ug-cn.mjs +1 -1
  215. package/dist/locale/uk.js +1 -1
  216. package/dist/locale/uk.min.js +1 -1
  217. package/dist/locale/uk.min.mjs +1 -1
  218. package/dist/locale/uk.mjs +1 -1
  219. package/dist/locale/uz-uz.js +1 -1
  220. package/dist/locale/uz-uz.min.js +1 -1
  221. package/dist/locale/uz-uz.min.mjs +1 -1
  222. package/dist/locale/uz-uz.mjs +1 -1
  223. package/dist/locale/vi.js +1 -1
  224. package/dist/locale/vi.min.js +1 -1
  225. package/dist/locale/vi.min.mjs +1 -1
  226. package/dist/locale/vi.mjs +1 -1
  227. package/dist/locale/zh-cn.js +1 -1
  228. package/dist/locale/zh-cn.min.js +1 -1
  229. package/dist/locale/zh-cn.min.mjs +1 -1
  230. package/dist/locale/zh-cn.mjs +1 -1
  231. package/dist/locale/zh-tw.js +1 -1
  232. package/dist/locale/zh-tw.min.js +1 -1
  233. package/dist/locale/zh-tw.min.mjs +1 -1
  234. package/dist/locale/zh-tw.mjs +1 -1
  235. package/es/components/color-picker/src/color-picker2.mjs +2 -1
  236. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  237. package/es/components/pagination/src/components/pager.mjs +17 -216
  238. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  239. package/es/components/pagination/src/components/pager2.mjs +216 -17
  240. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  241. package/es/components/pagination/src/pagination.mjs +1 -1
  242. package/es/version.d.ts +1 -1
  243. package/es/version.mjs +1 -1
  244. package/es/version.mjs.map +1 -1
  245. package/lib/components/color-picker/src/color-picker2.js +2 -1
  246. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  247. package/lib/components/pagination/src/components/pager.js +17 -216
  248. package/lib/components/pagination/src/components/pager.js.map +1 -1
  249. package/lib/components/pagination/src/components/pager2.js +216 -17
  250. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  251. package/lib/components/pagination/src/pagination.js +1 -1
  252. package/lib/version.d.ts +1 -1
  253. package/lib/version.js +1 -1
  254. package/lib/version.js.map +1 -1
  255. package/package.json +2 -2
  256. package/web-types.json +1 -1
@@ -1,21 +1,220 @@
1
- import '../../../../utils/index.mjs';
2
- import { buildProps } from '../../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, ref, computed, watchEffect, openBlock, createElementBlock, normalizeClass, unref, withKeys, createCommentVNode, createBlock, Fragment, renderList, toDisplayString } from 'vue';
2
+ import { DArrowLeft, MoreFilled, DArrowRight } from '@element-plus/icons-vue';
3
+ import '../../../../hooks/index.mjs';
4
+ import { paginationPagerProps } from './pager.mjs';
5
+ import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
7
+ import { useLocale } from '../../../../hooks/use-locale/index.mjs';
3
8
 
4
- const paginationPagerProps = buildProps({
5
- currentPage: {
6
- type: Number,
7
- default: 1
8
- },
9
- pageCount: {
10
- type: Number,
11
- required: true
12
- },
13
- pagerCount: {
14
- type: Number,
15
- default: 7
16
- },
17
- disabled: Boolean
9
+ const _hoisted_1 = ["onKeyup"];
10
+ const _hoisted_2 = ["aria-current", "aria-label", "tabindex"];
11
+ const _hoisted_3 = ["tabindex", "aria-label"];
12
+ const _hoisted_4 = ["aria-current", "aria-label", "tabindex"];
13
+ const _hoisted_5 = ["tabindex", "aria-label"];
14
+ const _hoisted_6 = ["aria-current", "aria-label", "tabindex"];
15
+ const __default__ = defineComponent({
16
+ name: "ElPaginationPager"
18
17
  });
18
+ const _sfc_main = /* @__PURE__ */ defineComponent({
19
+ ...__default__,
20
+ props: paginationPagerProps,
21
+ emits: ["change"],
22
+ setup(__props, { emit }) {
23
+ const props = __props;
24
+ const nsPager = useNamespace("pager");
25
+ const nsIcon = useNamespace("icon");
26
+ const { t } = useLocale();
27
+ const showPrevMore = ref(false);
28
+ const showNextMore = ref(false);
29
+ const quickPrevHover = ref(false);
30
+ const quickNextHover = ref(false);
31
+ const quickPrevFocus = ref(false);
32
+ const quickNextFocus = ref(false);
33
+ const pagers = computed(() => {
34
+ const pagerCount = props.pagerCount;
35
+ const halfPagerCount = (pagerCount - 1) / 2;
36
+ const currentPage = Number(props.currentPage);
37
+ const pageCount = Number(props.pageCount);
38
+ let showPrevMore2 = false;
39
+ let showNextMore2 = false;
40
+ if (pageCount > pagerCount) {
41
+ if (currentPage > pagerCount - halfPagerCount) {
42
+ showPrevMore2 = true;
43
+ }
44
+ if (currentPage < pageCount - halfPagerCount) {
45
+ showNextMore2 = true;
46
+ }
47
+ }
48
+ const array = [];
49
+ if (showPrevMore2 && !showNextMore2) {
50
+ const startPage = pageCount - (pagerCount - 2);
51
+ for (let i = startPage; i < pageCount; i++) {
52
+ array.push(i);
53
+ }
54
+ } else if (!showPrevMore2 && showNextMore2) {
55
+ for (let i = 2; i < pagerCount; i++) {
56
+ array.push(i);
57
+ }
58
+ } else if (showPrevMore2 && showNextMore2) {
59
+ const offset = Math.floor(pagerCount / 2) - 1;
60
+ for (let i = currentPage - offset; i <= currentPage + offset; i++) {
61
+ array.push(i);
62
+ }
63
+ } else {
64
+ for (let i = 2; i < pageCount; i++) {
65
+ array.push(i);
66
+ }
67
+ }
68
+ return array;
69
+ });
70
+ const prevMoreKls = computed(() => [
71
+ "more",
72
+ "btn-quickprev",
73
+ nsIcon.b(),
74
+ nsPager.is("disabled", props.disabled)
75
+ ]);
76
+ const nextMoreKls = computed(() => [
77
+ "more",
78
+ "btn-quicknext",
79
+ nsIcon.b(),
80
+ nsPager.is("disabled", props.disabled)
81
+ ]);
82
+ const tabindex = computed(() => props.disabled ? -1 : 0);
83
+ watchEffect(() => {
84
+ const halfPagerCount = (props.pagerCount - 1) / 2;
85
+ showPrevMore.value = false;
86
+ showNextMore.value = false;
87
+ if (props.pageCount > props.pagerCount) {
88
+ if (props.currentPage > props.pagerCount - halfPagerCount) {
89
+ showPrevMore.value = true;
90
+ }
91
+ if (props.currentPage < props.pageCount - halfPagerCount) {
92
+ showNextMore.value = true;
93
+ }
94
+ }
95
+ });
96
+ function onMouseEnter(forward = false) {
97
+ if (props.disabled)
98
+ return;
99
+ if (forward) {
100
+ quickPrevHover.value = true;
101
+ } else {
102
+ quickNextHover.value = true;
103
+ }
104
+ }
105
+ function onFocus(forward = false) {
106
+ if (forward) {
107
+ quickPrevFocus.value = true;
108
+ } else {
109
+ quickNextFocus.value = true;
110
+ }
111
+ }
112
+ function onEnter(e) {
113
+ const target = e.target;
114
+ if (target.tagName.toLowerCase() === "li" && Array.from(target.classList).includes("number")) {
115
+ const newPage = Number(target.textContent);
116
+ if (newPage !== props.currentPage) {
117
+ emit("change", newPage);
118
+ }
119
+ } else if (target.tagName.toLowerCase() === "li" && Array.from(target.classList).includes("more")) {
120
+ onPagerClick(e);
121
+ }
122
+ }
123
+ function onPagerClick(event) {
124
+ const target = event.target;
125
+ if (target.tagName.toLowerCase() === "ul" || props.disabled) {
126
+ return;
127
+ }
128
+ let newPage = Number(target.textContent);
129
+ const pageCount = props.pageCount;
130
+ const currentPage = props.currentPage;
131
+ const pagerCountOffset = props.pagerCount - 2;
132
+ if (target.className.includes("more")) {
133
+ if (target.className.includes("quickprev")) {
134
+ newPage = currentPage - pagerCountOffset;
135
+ } else if (target.className.includes("quicknext")) {
136
+ newPage = currentPage + pagerCountOffset;
137
+ }
138
+ }
139
+ if (!Number.isNaN(+newPage)) {
140
+ if (newPage < 1) {
141
+ newPage = 1;
142
+ }
143
+ if (newPage > pageCount) {
144
+ newPage = pageCount;
145
+ }
146
+ }
147
+ if (newPage !== currentPage) {
148
+ emit("change", newPage);
149
+ }
150
+ }
151
+ return (_ctx, _cache) => {
152
+ return openBlock(), createElementBlock("ul", {
153
+ class: normalizeClass(unref(nsPager).b()),
154
+ onClick: onPagerClick,
155
+ onKeyup: withKeys(onEnter, ["enter"])
156
+ }, [
157
+ _ctx.pageCount > 0 ? (openBlock(), createElementBlock("li", {
158
+ key: 0,
159
+ class: normalizeClass([[
160
+ unref(nsPager).is("active", _ctx.currentPage === 1),
161
+ unref(nsPager).is("disabled", _ctx.disabled)
162
+ ], "number"]),
163
+ "aria-current": _ctx.currentPage === 1,
164
+ "aria-label": unref(t)("el.pagination.currentPage", { pager: 1 }),
165
+ tabindex: unref(tabindex)
166
+ }, " 1 ", 10, _hoisted_2)) : createCommentVNode("v-if", true),
167
+ showPrevMore.value ? (openBlock(), createElementBlock("li", {
168
+ key: 1,
169
+ class: normalizeClass(unref(prevMoreKls)),
170
+ tabindex: unref(tabindex),
171
+ "aria-label": unref(t)("el.pagination.prevPages", { pager: _ctx.pagerCount - 2 }),
172
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => onMouseEnter(true)),
173
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => quickPrevHover.value = false),
174
+ onFocus: _cache[2] || (_cache[2] = ($event) => onFocus(true)),
175
+ onBlur: _cache[3] || (_cache[3] = ($event) => quickPrevFocus.value = false)
176
+ }, [
177
+ (quickPrevHover.value || quickPrevFocus.value) && !_ctx.disabled ? (openBlock(), createBlock(unref(DArrowLeft), { key: 0 })) : (openBlock(), createBlock(unref(MoreFilled), { key: 1 }))
178
+ ], 42, _hoisted_3)) : createCommentVNode("v-if", true),
179
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pagers), (pager) => {
180
+ return openBlock(), createElementBlock("li", {
181
+ key: pager,
182
+ class: normalizeClass([[
183
+ unref(nsPager).is("active", _ctx.currentPage === pager),
184
+ unref(nsPager).is("disabled", _ctx.disabled)
185
+ ], "number"]),
186
+ "aria-current": _ctx.currentPage === pager,
187
+ "aria-label": unref(t)("el.pagination.currentPage", { pager }),
188
+ tabindex: unref(tabindex)
189
+ }, toDisplayString(pager), 11, _hoisted_4);
190
+ }), 128)),
191
+ showNextMore.value ? (openBlock(), createElementBlock("li", {
192
+ key: 2,
193
+ class: normalizeClass(unref(nextMoreKls)),
194
+ tabindex: unref(tabindex),
195
+ "aria-label": unref(t)("el.pagination.nextPages", { pager: _ctx.pagerCount - 2 }),
196
+ onMouseenter: _cache[4] || (_cache[4] = ($event) => onMouseEnter()),
197
+ onMouseleave: _cache[5] || (_cache[5] = ($event) => quickNextHover.value = false),
198
+ onFocus: _cache[6] || (_cache[6] = ($event) => onFocus()),
199
+ onBlur: _cache[7] || (_cache[7] = ($event) => quickNextFocus.value = false)
200
+ }, [
201
+ (quickNextHover.value || quickNextFocus.value) && !_ctx.disabled ? (openBlock(), createBlock(unref(DArrowRight), { key: 0 })) : (openBlock(), createBlock(unref(MoreFilled), { key: 1 }))
202
+ ], 42, _hoisted_5)) : createCommentVNode("v-if", true),
203
+ _ctx.pageCount > 1 ? (openBlock(), createElementBlock("li", {
204
+ key: 3,
205
+ class: normalizeClass([[
206
+ unref(nsPager).is("active", _ctx.currentPage === _ctx.pageCount),
207
+ unref(nsPager).is("disabled", _ctx.disabled)
208
+ ], "number"]),
209
+ "aria-current": _ctx.currentPage === _ctx.pageCount,
210
+ "aria-label": unref(t)("el.pagination.currentPage", { pager: _ctx.pageCount }),
211
+ tabindex: unref(tabindex)
212
+ }, toDisplayString(_ctx.pageCount), 11, _hoisted_6)) : createCommentVNode("v-if", true)
213
+ ], 42, _hoisted_1);
214
+ };
215
+ }
216
+ });
217
+ var Pager = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/pager.vue"]]);
19
218
 
20
- export { paginationPagerProps };
219
+ export { Pager as default };
21
220
  //# sourceMappingURL=pager2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pager2.mjs","sources":["../../../../../../../packages/components/pagination/src/components/pager.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Pager from './pager.vue'\n\nexport const paginationPagerProps = buildProps({\n currentPage: {\n type: Number,\n default: 1,\n },\n pageCount: {\n type: Number,\n required: true,\n },\n pagerCount: {\n type: Number,\n default: 7,\n },\n disabled: Boolean,\n} as const)\n\nexport type PaginationPagerProps = ExtractPropTypes<typeof paginationPagerProps>\n\nexport type PagerInstance = InstanceType<typeof Pager>\n"],"names":[],"mappings":";;;AACY,MAAC,oBAAoB,GAAG,UAAU,CAAC;AAC/C,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC;;;;"}
1
+ {"version":3,"file":"pager2.mjs","sources":["../../../../../../../packages/components/pagination/src/components/pager.vue"],"sourcesContent":["<template>\n <ul :class=\"nsPager.b()\" @click=\"onPagerClick\" @keyup.enter=\"onEnter\">\n <li\n v-if=\"pageCount > 0\"\n :class=\"[\n nsPager.is('active', currentPage === 1),\n nsPager.is('disabled', disabled),\n ]\"\n class=\"number\"\n :aria-current=\"currentPage === 1\"\n :aria-label=\"t('el.pagination.currentPage', { pager: 1 })\"\n :tabindex=\"tabindex\"\n >\n 1\n </li>\n <li\n v-if=\"showPrevMore\"\n :class=\"prevMoreKls\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.pagination.prevPages', { pager: pagerCount - 2 })\"\n @mouseenter=\"onMouseEnter(true)\"\n @mouseleave=\"quickPrevHover = false\"\n @focus=\"onFocus(true)\"\n @blur=\"quickPrevFocus = false\"\n >\n <d-arrow-left v-if=\"(quickPrevHover || quickPrevFocus) && !disabled\" />\n <more-filled v-else />\n </li>\n <li\n v-for=\"pager in pagers\"\n :key=\"pager\"\n :class=\"[\n nsPager.is('active', currentPage === pager),\n nsPager.is('disabled', disabled),\n ]\"\n class=\"number\"\n :aria-current=\"currentPage === pager\"\n :aria-label=\"t('el.pagination.currentPage', { pager })\"\n :tabindex=\"tabindex\"\n >\n {{ pager }}\n </li>\n <li\n v-if=\"showNextMore\"\n :class=\"nextMoreKls\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.pagination.nextPages', { pager: pagerCount - 2 })\"\n @mouseenter=\"onMouseEnter()\"\n @mouseleave=\"quickNextHover = false\"\n @focus=\"onFocus()\"\n @blur=\"quickNextFocus = false\"\n >\n <d-arrow-right v-if=\"(quickNextHover || quickNextFocus) && !disabled\" />\n <more-filled v-else />\n </li>\n <li\n v-if=\"pageCount > 1\"\n :class=\"[\n nsPager.is('active', currentPage === pageCount),\n nsPager.is('disabled', disabled),\n ]\"\n class=\"number\"\n :aria-current=\"currentPage === pageCount\"\n :aria-label=\"t('el.pagination.currentPage', { pager: pageCount })\"\n :tabindex=\"tabindex\"\n >\n {{ pageCount }}\n </li>\n </ul>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, watchEffect } from 'vue'\nimport { DArrowLeft, DArrowRight, MoreFilled } from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { paginationPagerProps } from './pager'\ndefineOptions({\n name: 'ElPaginationPager',\n})\nconst props = defineProps(paginationPagerProps)\nconst emit = defineEmits(['change'])\nconst nsPager = useNamespace('pager')\nconst nsIcon = useNamespace('icon')\nconst { t } = useLocale()\n\nconst showPrevMore = ref(false)\nconst showNextMore = ref(false)\nconst quickPrevHover = ref(false)\nconst quickNextHover = ref(false)\nconst quickPrevFocus = ref(false)\nconst quickNextFocus = ref(false)\nconst pagers = computed(() => {\n const pagerCount = props.pagerCount\n const halfPagerCount = (pagerCount - 1) / 2\n const currentPage = Number(props.currentPage)\n const pageCount = Number(props.pageCount)\n let showPrevMore = false\n let showNextMore = false\n if (pageCount > pagerCount) {\n if (currentPage > pagerCount - halfPagerCount) {\n showPrevMore = true\n }\n if (currentPage < pageCount - halfPagerCount) {\n showNextMore = true\n }\n }\n const array: number[] = []\n if (showPrevMore && !showNextMore) {\n const startPage = pageCount - (pagerCount - 2)\n for (let i = startPage; i < pageCount; i++) {\n array.push(i)\n }\n } else if (!showPrevMore && showNextMore) {\n for (let i = 2; i < pagerCount; i++) {\n array.push(i)\n }\n } else if (showPrevMore && showNextMore) {\n const offset = Math.floor(pagerCount / 2) - 1\n for (let i = currentPage - offset; i <= currentPage + offset; i++) {\n array.push(i)\n }\n } else {\n for (let i = 2; i < pageCount; i++) {\n array.push(i)\n }\n }\n return array\n})\n\nconst prevMoreKls = computed(() => [\n 'more',\n 'btn-quickprev',\n nsIcon.b(),\n nsPager.is('disabled', props.disabled),\n])\nconst nextMoreKls = computed(() => [\n 'more',\n 'btn-quicknext',\n nsIcon.b(),\n nsPager.is('disabled', props.disabled),\n])\n\nconst tabindex = computed(() => (props.disabled ? -1 : 0))\nwatchEffect(() => {\n const halfPagerCount = (props.pagerCount - 1) / 2\n showPrevMore.value = false\n showNextMore.value = false\n if (props.pageCount! > props.pagerCount) {\n if (props.currentPage > props.pagerCount - halfPagerCount) {\n showPrevMore.value = true\n }\n if (props.currentPage < props.pageCount! - halfPagerCount) {\n showNextMore.value = true\n }\n }\n})\nfunction onMouseEnter(forward = false) {\n if (props.disabled) return\n if (forward) {\n quickPrevHover.value = true\n } else {\n quickNextHover.value = true\n }\n}\nfunction onFocus(forward = false) {\n if (forward) {\n quickPrevFocus.value = true\n } else {\n quickNextFocus.value = true\n }\n}\nfunction onEnter(e: UIEvent) {\n const target = e.target as HTMLElement\n if (\n target.tagName.toLowerCase() === 'li' &&\n Array.from(target.classList).includes('number')\n ) {\n const newPage = Number(target.textContent)\n if (newPage !== props.currentPage) {\n emit('change', newPage)\n }\n } else if (\n target.tagName.toLowerCase() === 'li' &&\n Array.from(target.classList).includes('more')\n ) {\n onPagerClick(e)\n }\n}\nfunction onPagerClick(event: UIEvent) {\n const target = event.target as HTMLElement\n if (target.tagName.toLowerCase() === 'ul' || props.disabled) {\n return\n }\n let newPage = Number(target.textContent)\n const pageCount = props.pageCount!\n const currentPage = props.currentPage\n const pagerCountOffset = props.pagerCount - 2\n if (target.className.includes('more')) {\n if (target.className.includes('quickprev')) {\n newPage = currentPage - pagerCountOffset\n } else if (target.className.includes('quicknext')) {\n newPage = currentPage + pagerCountOffset\n }\n }\n if (!Number.isNaN(+newPage)) {\n if (newPage < 1) {\n newPage = 1\n }\n if (newPage > pageCount) {\n newPage = pageCount\n }\n }\n if (newPage !== currentPage) {\n emit('change', newPage)\n }\n}\n</script>\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import Next from './components/next2.mjs';
8
8
  import Sizes from './components/sizes2.mjs';
9
9
  import Jumper from './components/jumper2.mjs';
10
10
  import Total from './components/total2.mjs';
11
- import Pager from './components/pager.mjs';
11
+ import Pager from './components/pager2.mjs';
12
12
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
13
13
  import { isNumber } from '../../../utils/types.mjs';
14
14
  import { mutable } from '../../../utils/typescript.mjs';
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20230707";
1
+ export declare const version = "0.0.20230708";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20230707";
1
+ const version = "0.0.20230708";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20230707'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20230708'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -218,7 +218,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
218
218
  vertical: ""
219
219
  }, null, 8, ["color"]),
220
220
  vue.createVNode(svPanel["default"], {
221
- ref: "svPanel",
221
+ ref_key: "sv",
222
+ ref: sv,
222
223
  color: vue.unref(color$1)
223
224
  }, null, 8, ["color"])
224
225
  ], 2),
@@ -1 +1 @@
1
- {"version":3,"file":"color-picker2.js","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"svPanel\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :tabindex=\"tabindex\"\n @keydown.enter=\"handleTrigger\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-if=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.label || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100)\n\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n})\n</script>\n"],"names":["useLocale","useNamespace","useFormItem","useFormSize","useFormDisabled","useFormItemInputId","ref","color","reactive","Color","computed","debounce","nextTick","UPDATE_MODEL_EVENT","debugWarn","onMounted","watch","provide","colorPickerContextKey"],"mappings":"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"}
1
+ {"version":3,"file":"color-picker2.js","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"sv\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :tabindex=\"tabindex\"\n @keydown.enter=\"handleTrigger\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-if=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.label || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100)\n\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n})\n</script>\n"],"names":["useLocale","useNamespace","useFormItem","useFormSize","useFormDisabled","useFormItemInputId","ref","color","reactive","Color","computed","debounce","nextTick","UPDATE_MODEL_EVENT","debugWarn","onMounted","watch","provide","colorPickerContextKey"],"mappings":"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"}
@@ -2,223 +2,24 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var iconsVue = require('@element-plus/icons-vue');
7
- require('../../../../hooks/index.js');
8
- var pager = require('./pager2.js');
9
- var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
10
- var index = require('../../../../hooks/use-namespace/index.js');
11
- var index$1 = require('../../../../hooks/use-locale/index.js');
5
+ require('../../../../utils/index.js');
6
+ var runtime = require('../../../../utils/vue/props/runtime.js');
12
7
 
13
- const _hoisted_1 = ["onKeyup"];
14
- const _hoisted_2 = ["aria-current", "aria-label", "tabindex"];
15
- const _hoisted_3 = ["tabindex", "aria-label"];
16
- const _hoisted_4 = ["aria-current", "aria-label", "tabindex"];
17
- const _hoisted_5 = ["tabindex", "aria-label"];
18
- const _hoisted_6 = ["aria-current", "aria-label", "tabindex"];
19
- const __default__ = vue.defineComponent({
20
- name: "ElPaginationPager"
8
+ const paginationPagerProps = runtime.buildProps({
9
+ currentPage: {
10
+ type: Number,
11
+ default: 1
12
+ },
13
+ pageCount: {
14
+ type: Number,
15
+ required: true
16
+ },
17
+ pagerCount: {
18
+ type: Number,
19
+ default: 7
20
+ },
21
+ disabled: Boolean
21
22
  });
22
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
- ...__default__,
24
- props: pager.paginationPagerProps,
25
- emits: ["change"],
26
- setup(__props, { emit }) {
27
- const props = __props;
28
- const nsPager = index.useNamespace("pager");
29
- const nsIcon = index.useNamespace("icon");
30
- const { t } = index$1.useLocale();
31
- const showPrevMore = vue.ref(false);
32
- const showNextMore = vue.ref(false);
33
- const quickPrevHover = vue.ref(false);
34
- const quickNextHover = vue.ref(false);
35
- const quickPrevFocus = vue.ref(false);
36
- const quickNextFocus = vue.ref(false);
37
- const pagers = vue.computed(() => {
38
- const pagerCount = props.pagerCount;
39
- const halfPagerCount = (pagerCount - 1) / 2;
40
- const currentPage = Number(props.currentPage);
41
- const pageCount = Number(props.pageCount);
42
- let showPrevMore2 = false;
43
- let showNextMore2 = false;
44
- if (pageCount > pagerCount) {
45
- if (currentPage > pagerCount - halfPagerCount) {
46
- showPrevMore2 = true;
47
- }
48
- if (currentPage < pageCount - halfPagerCount) {
49
- showNextMore2 = true;
50
- }
51
- }
52
- const array = [];
53
- if (showPrevMore2 && !showNextMore2) {
54
- const startPage = pageCount - (pagerCount - 2);
55
- for (let i = startPage; i < pageCount; i++) {
56
- array.push(i);
57
- }
58
- } else if (!showPrevMore2 && showNextMore2) {
59
- for (let i = 2; i < pagerCount; i++) {
60
- array.push(i);
61
- }
62
- } else if (showPrevMore2 && showNextMore2) {
63
- const offset = Math.floor(pagerCount / 2) - 1;
64
- for (let i = currentPage - offset; i <= currentPage + offset; i++) {
65
- array.push(i);
66
- }
67
- } else {
68
- for (let i = 2; i < pageCount; i++) {
69
- array.push(i);
70
- }
71
- }
72
- return array;
73
- });
74
- const prevMoreKls = vue.computed(() => [
75
- "more",
76
- "btn-quickprev",
77
- nsIcon.b(),
78
- nsPager.is("disabled", props.disabled)
79
- ]);
80
- const nextMoreKls = vue.computed(() => [
81
- "more",
82
- "btn-quicknext",
83
- nsIcon.b(),
84
- nsPager.is("disabled", props.disabled)
85
- ]);
86
- const tabindex = vue.computed(() => props.disabled ? -1 : 0);
87
- vue.watchEffect(() => {
88
- const halfPagerCount = (props.pagerCount - 1) / 2;
89
- showPrevMore.value = false;
90
- showNextMore.value = false;
91
- if (props.pageCount > props.pagerCount) {
92
- if (props.currentPage > props.pagerCount - halfPagerCount) {
93
- showPrevMore.value = true;
94
- }
95
- if (props.currentPage < props.pageCount - halfPagerCount) {
96
- showNextMore.value = true;
97
- }
98
- }
99
- });
100
- function onMouseEnter(forward = false) {
101
- if (props.disabled)
102
- return;
103
- if (forward) {
104
- quickPrevHover.value = true;
105
- } else {
106
- quickNextHover.value = true;
107
- }
108
- }
109
- function onFocus(forward = false) {
110
- if (forward) {
111
- quickPrevFocus.value = true;
112
- } else {
113
- quickNextFocus.value = true;
114
- }
115
- }
116
- function onEnter(e) {
117
- const target = e.target;
118
- if (target.tagName.toLowerCase() === "li" && Array.from(target.classList).includes("number")) {
119
- const newPage = Number(target.textContent);
120
- if (newPage !== props.currentPage) {
121
- emit("change", newPage);
122
- }
123
- } else if (target.tagName.toLowerCase() === "li" && Array.from(target.classList).includes("more")) {
124
- onPagerClick(e);
125
- }
126
- }
127
- function onPagerClick(event) {
128
- const target = event.target;
129
- if (target.tagName.toLowerCase() === "ul" || props.disabled) {
130
- return;
131
- }
132
- let newPage = Number(target.textContent);
133
- const pageCount = props.pageCount;
134
- const currentPage = props.currentPage;
135
- const pagerCountOffset = props.pagerCount - 2;
136
- if (target.className.includes("more")) {
137
- if (target.className.includes("quickprev")) {
138
- newPage = currentPage - pagerCountOffset;
139
- } else if (target.className.includes("quicknext")) {
140
- newPage = currentPage + pagerCountOffset;
141
- }
142
- }
143
- if (!Number.isNaN(+newPage)) {
144
- if (newPage < 1) {
145
- newPage = 1;
146
- }
147
- if (newPage > pageCount) {
148
- newPage = pageCount;
149
- }
150
- }
151
- if (newPage !== currentPage) {
152
- emit("change", newPage);
153
- }
154
- }
155
- return (_ctx, _cache) => {
156
- return vue.openBlock(), vue.createElementBlock("ul", {
157
- class: vue.normalizeClass(vue.unref(nsPager).b()),
158
- onClick: onPagerClick,
159
- onKeyup: vue.withKeys(onEnter, ["enter"])
160
- }, [
161
- _ctx.pageCount > 0 ? (vue.openBlock(), vue.createElementBlock("li", {
162
- key: 0,
163
- class: vue.normalizeClass([[
164
- vue.unref(nsPager).is("active", _ctx.currentPage === 1),
165
- vue.unref(nsPager).is("disabled", _ctx.disabled)
166
- ], "number"]),
167
- "aria-current": _ctx.currentPage === 1,
168
- "aria-label": vue.unref(t)("el.pagination.currentPage", { pager: 1 }),
169
- tabindex: vue.unref(tabindex)
170
- }, " 1 ", 10, _hoisted_2)) : vue.createCommentVNode("v-if", true),
171
- showPrevMore.value ? (vue.openBlock(), vue.createElementBlock("li", {
172
- key: 1,
173
- class: vue.normalizeClass(vue.unref(prevMoreKls)),
174
- tabindex: vue.unref(tabindex),
175
- "aria-label": vue.unref(t)("el.pagination.prevPages", { pager: _ctx.pagerCount - 2 }),
176
- onMouseenter: _cache[0] || (_cache[0] = ($event) => onMouseEnter(true)),
177
- onMouseleave: _cache[1] || (_cache[1] = ($event) => quickPrevHover.value = false),
178
- onFocus: _cache[2] || (_cache[2] = ($event) => onFocus(true)),
179
- onBlur: _cache[3] || (_cache[3] = ($event) => quickPrevFocus.value = false)
180
- }, [
181
- (quickPrevHover.value || quickPrevFocus.value) && !_ctx.disabled ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.DArrowLeft), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.MoreFilled), { key: 1 }))
182
- ], 42, _hoisted_3)) : vue.createCommentVNode("v-if", true),
183
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(pagers), (pager) => {
184
- return vue.openBlock(), vue.createElementBlock("li", {
185
- key: pager,
186
- class: vue.normalizeClass([[
187
- vue.unref(nsPager).is("active", _ctx.currentPage === pager),
188
- vue.unref(nsPager).is("disabled", _ctx.disabled)
189
- ], "number"]),
190
- "aria-current": _ctx.currentPage === pager,
191
- "aria-label": vue.unref(t)("el.pagination.currentPage", { pager }),
192
- tabindex: vue.unref(tabindex)
193
- }, vue.toDisplayString(pager), 11, _hoisted_4);
194
- }), 128)),
195
- showNextMore.value ? (vue.openBlock(), vue.createElementBlock("li", {
196
- key: 2,
197
- class: vue.normalizeClass(vue.unref(nextMoreKls)),
198
- tabindex: vue.unref(tabindex),
199
- "aria-label": vue.unref(t)("el.pagination.nextPages", { pager: _ctx.pagerCount - 2 }),
200
- onMouseenter: _cache[4] || (_cache[4] = ($event) => onMouseEnter()),
201
- onMouseleave: _cache[5] || (_cache[5] = ($event) => quickNextHover.value = false),
202
- onFocus: _cache[6] || (_cache[6] = ($event) => onFocus()),
203
- onBlur: _cache[7] || (_cache[7] = ($event) => quickNextFocus.value = false)
204
- }, [
205
- (quickNextHover.value || quickNextFocus.value) && !_ctx.disabled ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.DArrowRight), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.MoreFilled), { key: 1 }))
206
- ], 42, _hoisted_5)) : vue.createCommentVNode("v-if", true),
207
- _ctx.pageCount > 1 ? (vue.openBlock(), vue.createElementBlock("li", {
208
- key: 3,
209
- class: vue.normalizeClass([[
210
- vue.unref(nsPager).is("active", _ctx.currentPage === _ctx.pageCount),
211
- vue.unref(nsPager).is("disabled", _ctx.disabled)
212
- ], "number"]),
213
- "aria-current": _ctx.currentPage === _ctx.pageCount,
214
- "aria-label": vue.unref(t)("el.pagination.currentPage", { pager: _ctx.pageCount }),
215
- tabindex: vue.unref(tabindex)
216
- }, vue.toDisplayString(_ctx.pageCount), 11, _hoisted_6)) : vue.createCommentVNode("v-if", true)
217
- ], 42, _hoisted_1);
218
- };
219
- }
220
- });
221
- var Pager = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/pager.vue"]]);
222
23
 
223
- exports["default"] = Pager;
24
+ exports.paginationPagerProps = paginationPagerProps;
224
25
  //# sourceMappingURL=pager.js.map