@element-plus/nightly 0.0.20241103 → 0.0.20241105

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 (309) hide show
  1. package/dist/index.full.js +235 -149
  2. package/dist/index.full.min.js +12 -12
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +12 -12
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +235 -149
  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-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/my.js +1 -1
  152. package/dist/locale/my.min.js +1 -1
  153. package/dist/locale/my.min.mjs +1 -1
  154. package/dist/locale/my.mjs +1 -1
  155. package/dist/locale/nb-no.js +1 -1
  156. package/dist/locale/nb-no.min.js +1 -1
  157. package/dist/locale/nb-no.min.mjs +1 -1
  158. package/dist/locale/nb-no.mjs +1 -1
  159. package/dist/locale/nl.js +1 -1
  160. package/dist/locale/nl.min.js +1 -1
  161. package/dist/locale/nl.min.mjs +1 -1
  162. package/dist/locale/nl.mjs +1 -1
  163. package/dist/locale/pa.js +1 -1
  164. package/dist/locale/pa.min.js +1 -1
  165. package/dist/locale/pa.min.mjs +1 -1
  166. package/dist/locale/pa.mjs +1 -1
  167. package/dist/locale/pl.js +1 -1
  168. package/dist/locale/pl.min.js +1 -1
  169. package/dist/locale/pl.min.mjs +1 -1
  170. package/dist/locale/pl.mjs +1 -1
  171. package/dist/locale/pt-br.js +1 -1
  172. package/dist/locale/pt-br.min.js +1 -1
  173. package/dist/locale/pt-br.min.mjs +1 -1
  174. package/dist/locale/pt-br.mjs +1 -1
  175. package/dist/locale/pt.js +1 -1
  176. package/dist/locale/pt.min.js +1 -1
  177. package/dist/locale/pt.min.mjs +1 -1
  178. package/dist/locale/pt.mjs +1 -1
  179. package/dist/locale/ro.js +1 -1
  180. package/dist/locale/ro.min.js +1 -1
  181. package/dist/locale/ro.min.mjs +1 -1
  182. package/dist/locale/ro.mjs +1 -1
  183. package/dist/locale/ru.js +1 -1
  184. package/dist/locale/ru.min.js +1 -1
  185. package/dist/locale/ru.min.mjs +1 -1
  186. package/dist/locale/ru.mjs +1 -1
  187. package/dist/locale/sk.js +1 -1
  188. package/dist/locale/sk.min.js +1 -1
  189. package/dist/locale/sk.min.mjs +1 -1
  190. package/dist/locale/sk.mjs +1 -1
  191. package/dist/locale/sl.js +1 -1
  192. package/dist/locale/sl.min.js +1 -1
  193. package/dist/locale/sl.min.mjs +1 -1
  194. package/dist/locale/sl.mjs +1 -1
  195. package/dist/locale/sr.js +1 -1
  196. package/dist/locale/sr.min.js +1 -1
  197. package/dist/locale/sr.min.mjs +1 -1
  198. package/dist/locale/sr.mjs +1 -1
  199. package/dist/locale/sv.js +1 -1
  200. package/dist/locale/sv.min.js +1 -1
  201. package/dist/locale/sv.min.mjs +1 -1
  202. package/dist/locale/sv.mjs +1 -1
  203. package/dist/locale/sw.js +1 -1
  204. package/dist/locale/sw.min.js +1 -1
  205. package/dist/locale/sw.min.mjs +1 -1
  206. package/dist/locale/sw.mjs +1 -1
  207. package/dist/locale/ta.js +1 -1
  208. package/dist/locale/ta.min.js +1 -1
  209. package/dist/locale/ta.min.mjs +1 -1
  210. package/dist/locale/ta.mjs +1 -1
  211. package/dist/locale/th.js +1 -1
  212. package/dist/locale/th.min.js +1 -1
  213. package/dist/locale/th.min.mjs +1 -1
  214. package/dist/locale/th.mjs +1 -1
  215. package/dist/locale/tk.js +1 -1
  216. package/dist/locale/tk.min.js +1 -1
  217. package/dist/locale/tk.min.mjs +1 -1
  218. package/dist/locale/tk.mjs +1 -1
  219. package/dist/locale/tr.js +1 -1
  220. package/dist/locale/tr.min.js +1 -1
  221. package/dist/locale/tr.min.mjs +1 -1
  222. package/dist/locale/tr.mjs +1 -1
  223. package/dist/locale/ug-cn.js +1 -1
  224. package/dist/locale/ug-cn.min.js +1 -1
  225. package/dist/locale/ug-cn.min.mjs +1 -1
  226. package/dist/locale/ug-cn.mjs +1 -1
  227. package/dist/locale/uk.js +1 -1
  228. package/dist/locale/uk.min.js +1 -1
  229. package/dist/locale/uk.min.mjs +1 -1
  230. package/dist/locale/uk.mjs +1 -1
  231. package/dist/locale/uz-uz.js +1 -1
  232. package/dist/locale/uz-uz.min.js +1 -1
  233. package/dist/locale/uz-uz.min.mjs +1 -1
  234. package/dist/locale/uz-uz.mjs +1 -1
  235. package/dist/locale/vi.js +1 -1
  236. package/dist/locale/vi.min.js +1 -1
  237. package/dist/locale/vi.min.mjs +1 -1
  238. package/dist/locale/vi.mjs +1 -1
  239. package/dist/locale/zh-cn.js +1 -1
  240. package/dist/locale/zh-cn.min.js +1 -1
  241. package/dist/locale/zh-cn.min.mjs +1 -1
  242. package/dist/locale/zh-cn.mjs +1 -1
  243. package/dist/locale/zh-tw.js +1 -1
  244. package/dist/locale/zh-tw.min.js +1 -1
  245. package/dist/locale/zh-tw.min.mjs +1 -1
  246. package/dist/locale/zh-tw.mjs +1 -1
  247. package/es/components/date-picker/src/composables/use-basic-date-table.d.ts +12 -12
  248. package/es/components/date-picker/src/composables/use-range-picker.d.ts +6 -6
  249. package/es/components/index.mjs +1 -1
  250. package/es/components/mention/src/mention-dropdown.mjs +167 -15
  251. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  252. package/es/components/mention/src/mention-dropdown2.mjs +15 -167
  253. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  254. package/es/components/mention/src/mention2.mjs +1 -1
  255. package/es/components/message/index.mjs +1 -1
  256. package/es/components/message/src/message.mjs +91 -147
  257. package/es/components/message/src/message.mjs.map +1 -1
  258. package/es/components/message/src/message2.mjs +147 -91
  259. package/es/components/message/src/message2.mjs.map +1 -1
  260. package/es/components/message/src/method.mjs +2 -2
  261. package/es/components/scrollbar/src/bar.mjs +64 -11
  262. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  263. package/es/components/scrollbar/src/bar2.mjs +11 -64
  264. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  265. package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
  266. package/es/components/select/src/select.vue.d.ts +0 -1
  267. package/es/components/select/src/useSelect.d.ts +0 -1
  268. package/es/components/select/src/useSelect.mjs +7 -5
  269. package/es/components/select/src/useSelect.mjs.map +1 -1
  270. package/es/components/time-picker/src/common/picker.mjs +1 -1
  271. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  272. package/es/components/time-picker/src/composables/use-time-picker.d.ts +12 -12
  273. package/es/index.mjs +1 -1
  274. package/es/version.d.ts +1 -1
  275. package/es/version.mjs +1 -1
  276. package/es/version.mjs.map +1 -1
  277. package/lib/components/date-picker/src/composables/use-basic-date-table.d.ts +12 -12
  278. package/lib/components/date-picker/src/composables/use-range-picker.d.ts +6 -6
  279. package/lib/components/index.js +1 -1
  280. package/lib/components/mention/src/mention-dropdown.js +167 -16
  281. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  282. package/lib/components/mention/src/mention-dropdown2.js +16 -167
  283. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  284. package/lib/components/mention/src/mention2.js +1 -1
  285. package/lib/components/message/index.js +1 -1
  286. package/lib/components/message/src/message.js +93 -146
  287. package/lib/components/message/src/message.js.map +1 -1
  288. package/lib/components/message/src/message2.js +146 -93
  289. package/lib/components/message/src/message2.js.map +1 -1
  290. package/lib/components/message/src/method.js +2 -2
  291. package/lib/components/scrollbar/src/bar.js +64 -11
  292. package/lib/components/scrollbar/src/bar.js.map +1 -1
  293. package/lib/components/scrollbar/src/bar2.js +11 -64
  294. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  295. package/lib/components/scrollbar/src/scrollbar2.js +1 -1
  296. package/lib/components/select/src/select.vue.d.ts +0 -1
  297. package/lib/components/select/src/useSelect.d.ts +0 -1
  298. package/lib/components/select/src/useSelect.js +7 -5
  299. package/lib/components/select/src/useSelect.js.map +1 -1
  300. package/lib/components/time-picker/src/common/picker.js +1 -1
  301. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  302. package/lib/components/time-picker/src/composables/use-time-picker.d.ts +12 -12
  303. package/lib/index.js +1 -1
  304. package/lib/version.d.ts +1 -1
  305. package/lib/version.js +1 -1
  306. package/lib/version.js.map +1 -1
  307. package/package.json +3 -3
  308. package/theme-chalk/src/mixins/mixins.scss +4 -1
  309. package/web-types.json +1 -1
@@ -1,98 +1,154 @@
1
+ import { defineComponent, ref, computed, onMounted, watch, openBlock, createBlock, Transition, unref, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, createCommentVNode, resolveDynamicComponent, renderSlot, createElementBlock, toDisplayString, Fragment, withModifiers, createVNode, vShow } from 'vue';
2
+ import { useTimeoutFn, useEventListener, useResizeObserver } from '@vueuse/core';
1
3
  import '../../../utils/index.mjs';
2
- import { mutable } from '../../../utils/typescript.mjs';
3
- import { isClient } from '@vueuse/core';
4
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
5
- import { iconPropType } from '../../../utils/vue/icon.mjs';
4
+ import '../../../constants/index.mjs';
5
+ import { ElBadge } from '../../badge/index.mjs';
6
+ import '../../config-provider/index.mjs';
7
+ import { ElIcon } from '../../icon/index.mjs';
8
+ import { messageProps, messageEmits } from './message.mjs';
9
+ import { getLastOffset, getOffsetOrSpace } from './instance.mjs';
10
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
+ import { TypeComponents, TypeComponentsMap } from '../../../utils/vue/icon.mjs';
12
+ import { useGlobalComponentSettings } from '../../config-provider/src/hooks/use-global-config.mjs';
13
+ import { EVENT_CODE } from '../../../constants/aria.mjs';
6
14
 
7
- const messageTypes = ["success", "info", "warning", "error"];
8
- const messageDefaults = mutable({
9
- customClass: "",
10
- center: false,
11
- dangerouslyUseHTMLString: false,
12
- duration: 3e3,
13
- icon: void 0,
14
- id: "",
15
- message: "",
16
- onClose: void 0,
17
- showClose: false,
18
- type: "info",
19
- plain: false,
20
- offset: 16,
21
- zIndex: 0,
22
- grouping: false,
23
- repeatNum: 1,
24
- appendTo: isClient ? document.body : void 0
15
+ const __default__ = defineComponent({
16
+ name: "ElMessage"
25
17
  });
26
- const messageProps = buildProps({
27
- customClass: {
28
- type: String,
29
- default: messageDefaults.customClass
30
- },
31
- center: {
32
- type: Boolean,
33
- default: messageDefaults.center
34
- },
35
- dangerouslyUseHTMLString: {
36
- type: Boolean,
37
- default: messageDefaults.dangerouslyUseHTMLString
38
- },
39
- duration: {
40
- type: Number,
41
- default: messageDefaults.duration
42
- },
43
- icon: {
44
- type: iconPropType,
45
- default: messageDefaults.icon
46
- },
47
- id: {
48
- type: String,
49
- default: messageDefaults.id
50
- },
51
- message: {
52
- type: definePropType([
53
- String,
54
- Object,
55
- Function
56
- ]),
57
- default: messageDefaults.message
58
- },
59
- onClose: {
60
- type: definePropType(Function),
61
- default: messageDefaults.onClose
62
- },
63
- showClose: {
64
- type: Boolean,
65
- default: messageDefaults.showClose
66
- },
67
- type: {
68
- type: String,
69
- values: messageTypes,
70
- default: messageDefaults.type
71
- },
72
- plain: {
73
- type: Boolean,
74
- default: messageDefaults.plain
75
- },
76
- offset: {
77
- type: Number,
78
- default: messageDefaults.offset
79
- },
80
- zIndex: {
81
- type: Number,
82
- default: messageDefaults.zIndex
83
- },
84
- grouping: {
85
- type: Boolean,
86
- default: messageDefaults.grouping
87
- },
88
- repeatNum: {
89
- type: Number,
90
- default: messageDefaults.repeatNum
18
+ const _sfc_main = /* @__PURE__ */ defineComponent({
19
+ ...__default__,
20
+ props: messageProps,
21
+ emits: messageEmits,
22
+ setup(__props, { expose }) {
23
+ const props = __props;
24
+ const { Close } = TypeComponents;
25
+ const { ns, zIndex } = useGlobalComponentSettings("message");
26
+ const { currentZIndex, nextZIndex } = zIndex;
27
+ const messageRef = ref();
28
+ const visible = ref(false);
29
+ const height = ref(0);
30
+ let stopTimer = void 0;
31
+ const badgeType = computed(() => props.type ? props.type === "error" ? "danger" : props.type : "info");
32
+ const typeClass = computed(() => {
33
+ const type = props.type;
34
+ return { [ns.bm("icon", type)]: type && TypeComponentsMap[type] };
35
+ });
36
+ const iconComponent = computed(() => props.icon || TypeComponentsMap[props.type] || "");
37
+ const lastOffset = computed(() => getLastOffset(props.id));
38
+ const offset = computed(() => getOffsetOrSpace(props.id, props.offset) + lastOffset.value);
39
+ const bottom = computed(() => height.value + offset.value);
40
+ const customStyle = computed(() => ({
41
+ top: `${offset.value}px`,
42
+ zIndex: currentZIndex.value
43
+ }));
44
+ function startTimer() {
45
+ if (props.duration === 0)
46
+ return;
47
+ ({ stop: stopTimer } = useTimeoutFn(() => {
48
+ close();
49
+ }, props.duration));
50
+ }
51
+ function clearTimer() {
52
+ stopTimer == null ? void 0 : stopTimer();
53
+ }
54
+ function close() {
55
+ visible.value = false;
56
+ }
57
+ function keydown({ code }) {
58
+ if (code === EVENT_CODE.esc) {
59
+ close();
60
+ }
61
+ }
62
+ onMounted(() => {
63
+ startTimer();
64
+ nextZIndex();
65
+ visible.value = true;
66
+ });
67
+ watch(() => props.repeatNum, () => {
68
+ clearTimer();
69
+ startTimer();
70
+ });
71
+ useEventListener(document, "keydown", keydown);
72
+ useResizeObserver(messageRef, () => {
73
+ height.value = messageRef.value.getBoundingClientRect().height;
74
+ });
75
+ expose({
76
+ visible,
77
+ bottom,
78
+ close
79
+ });
80
+ return (_ctx, _cache) => {
81
+ return openBlock(), createBlock(Transition, {
82
+ name: unref(ns).b("fade"),
83
+ onBeforeLeave: _ctx.onClose,
84
+ onAfterLeave: ($event) => _ctx.$emit("destroy"),
85
+ persisted: ""
86
+ }, {
87
+ default: withCtx(() => [
88
+ withDirectives(createElementVNode("div", {
89
+ id: _ctx.id,
90
+ ref_key: "messageRef",
91
+ ref: messageRef,
92
+ class: normalizeClass([
93
+ unref(ns).b(),
94
+ { [unref(ns).m(_ctx.type)]: _ctx.type },
95
+ unref(ns).is("center", _ctx.center),
96
+ unref(ns).is("closable", _ctx.showClose),
97
+ unref(ns).is("plain", _ctx.plain),
98
+ _ctx.customClass
99
+ ]),
100
+ style: normalizeStyle(unref(customStyle)),
101
+ role: "alert",
102
+ onMouseenter: clearTimer,
103
+ onMouseleave: startTimer
104
+ }, [
105
+ _ctx.repeatNum > 1 ? (openBlock(), createBlock(unref(ElBadge), {
106
+ key: 0,
107
+ value: _ctx.repeatNum,
108
+ type: unref(badgeType),
109
+ class: normalizeClass(unref(ns).e("badge"))
110
+ }, null, 8, ["value", "type", "class"])) : createCommentVNode("v-if", true),
111
+ unref(iconComponent) ? (openBlock(), createBlock(unref(ElIcon), {
112
+ key: 1,
113
+ class: normalizeClass([unref(ns).e("icon"), unref(typeClass)])
114
+ }, {
115
+ default: withCtx(() => [
116
+ (openBlock(), createBlock(resolveDynamicComponent(unref(iconComponent))))
117
+ ]),
118
+ _: 1
119
+ }, 8, ["class"])) : createCommentVNode("v-if", true),
120
+ renderSlot(_ctx.$slots, "default", {}, () => [
121
+ !_ctx.dangerouslyUseHTMLString ? (openBlock(), createElementBlock("p", {
122
+ key: 0,
123
+ class: normalizeClass(unref(ns).e("content"))
124
+ }, toDisplayString(_ctx.message), 3)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
125
+ createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "),
126
+ createElementVNode("p", {
127
+ class: normalizeClass(unref(ns).e("content")),
128
+ innerHTML: _ctx.message
129
+ }, null, 10, ["innerHTML"])
130
+ ], 2112))
131
+ ]),
132
+ _ctx.showClose ? (openBlock(), createBlock(unref(ElIcon), {
133
+ key: 2,
134
+ class: normalizeClass(unref(ns).e("closeBtn")),
135
+ onClick: withModifiers(close, ["stop"])
136
+ }, {
137
+ default: withCtx(() => [
138
+ createVNode(unref(Close))
139
+ ]),
140
+ _: 1
141
+ }, 8, ["class", "onClick"])) : createCommentVNode("v-if", true)
142
+ ], 46, ["id"]), [
143
+ [vShow, visible.value]
144
+ ])
145
+ ]),
146
+ _: 3
147
+ }, 8, ["name", "onBeforeLeave", "onAfterLeave"]);
148
+ };
91
149
  }
92
150
  });
93
- const messageEmits = {
94
- destroy: () => true
95
- };
151
+ var MessageConstructor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "message.vue"]]);
96
152
 
97
- export { messageDefaults, messageEmits, messageProps, messageTypes };
153
+ export { MessageConstructor as default };
98
154
  //# sourceMappingURL=message2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"message2.mjs","sources":["../../../../../../packages/components/message/src/message.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isClient,\n mutable,\n} from '@element-plus/utils'\nimport type { AppContext, ExtractPropTypes, VNode } from 'vue'\nimport type { Mutable } from '@element-plus/utils'\nimport type MessageConstructor from './message.vue'\n\nexport const messageTypes = ['success', 'info', 'warning', 'error'] as const\n\nexport type messageType = typeof messageTypes[number]\n\nexport interface MessageConfigContext {\n max?: number\n grouping?: boolean\n duration?: number\n offset?: number\n showClose?: boolean\n}\n\nexport const messageDefaults = mutable({\n customClass: '',\n center: false,\n dangerouslyUseHTMLString: false,\n duration: 3000,\n icon: undefined,\n id: '',\n message: '',\n onClose: undefined,\n showClose: false,\n type: 'info',\n plain: false,\n offset: 16,\n zIndex: 0,\n grouping: false,\n repeatNum: 1,\n appendTo: isClient ? document.body : (undefined as never),\n} as const)\n\nexport const messageProps = buildProps({\n /**\n * @description custom class name for Message\n */\n customClass: {\n type: String,\n default: messageDefaults.customClass,\n },\n /**\n * @description whether to center the text\n */\n center: {\n type: Boolean,\n default: messageDefaults.center,\n },\n /**\n * @description whether `message` is treated as HTML string\n */\n dangerouslyUseHTMLString: {\n type: Boolean,\n default: messageDefaults.dangerouslyUseHTMLString,\n },\n /**\n * @description display duration, millisecond. If set to 0, it will not turn off automatically\n */\n duration: {\n type: Number,\n default: messageDefaults.duration,\n },\n /**\n * @description custom icon component, overrides `type`\n */\n icon: {\n type: iconPropType,\n default: messageDefaults.icon,\n },\n /**\n * @description message dom id\n */\n id: {\n type: String,\n default: messageDefaults.id,\n },\n /**\n * @description message text\n */\n message: {\n type: definePropType<string | VNode | (() => VNode)>([\n String,\n Object,\n Function,\n ]),\n default: messageDefaults.message,\n },\n /**\n * @description callback function when closed with the message instance as the parameter\n */\n onClose: {\n type: definePropType<() => void>(Function),\n default: messageDefaults.onClose,\n },\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: messageDefaults.showClose,\n },\n /**\n * @description message type\n */\n type: {\n type: String,\n values: messageTypes,\n default: messageDefaults.type,\n },\n /**\n * @description whether message is plain\n */\n plain: {\n type: Boolean,\n default: messageDefaults.plain,\n },\n /**\n * @description set the distance to the top of viewport\n */\n offset: {\n type: Number,\n default: messageDefaults.offset,\n },\n /**\n * @description input box size\n */\n zIndex: {\n type: Number,\n default: messageDefaults.zIndex,\n },\n /**\n * @description merge messages with the same content, type of VNode message is not supported\n */\n grouping: {\n type: Boolean,\n default: messageDefaults.grouping,\n },\n /**\n * @description The number of repetitions, similar to badge, is used as the initial number when used with `grouping`\n */\n repeatNum: {\n type: Number,\n default: messageDefaults.repeatNum,\n },\n} as const)\nexport type MessageProps = ExtractPropTypes<typeof messageProps>\n\nexport const messageEmits = {\n destroy: () => true,\n}\nexport type MessageEmits = typeof messageEmits\n\nexport type MessageInstance = InstanceType<typeof MessageConstructor>\n\nexport type MessageOptions = Partial<\n Mutable<\n Omit<MessageProps, 'id'> & {\n appendTo?: HTMLElement | string\n }\n >\n>\nexport type MessageParams = MessageOptions | MessageOptions['message']\nexport type MessageParamsNormalized = Omit<MessageProps, 'id'> & {\n /**\n * @description set the root element for the message, default to `document.body`\n */\n appendTo: HTMLElement\n}\nexport type MessageOptionsWithType = Omit<MessageOptions, 'type'>\nexport type MessageParamsWithType =\n | MessageOptionsWithType\n | MessageOptions['message']\n\nexport interface MessageHandler {\n /**\n * @description close the Message\n */\n close: () => void\n}\n\nexport type MessageFn = {\n (options?: MessageParams, appContext?: null | AppContext): MessageHandler\n closeAll(type?: messageType): void\n}\nexport type MessageTypedFn = (\n options?: MessageParamsWithType,\n appContext?: null | AppContext\n) => MessageHandler\n\nexport interface Message extends MessageFn {\n success: MessageTypedFn\n warning: MessageTypedFn\n info: MessageTypedFn\n error: MessageTypedFn\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message2.mjs","sources":["../../../../../../packages/components/message/src/message.vue"],"sourcesContent":["<template>\n <transition\n :name=\"ns.b('fade')\"\n @before-leave=\"onClose\"\n @after-leave=\"$emit('destroy')\"\n >\n <div\n v-show=\"visible\"\n :id=\"id\"\n ref=\"messageRef\"\n :class=\"[\n ns.b(),\n { [ns.m(type)]: type },\n ns.is('center', center),\n ns.is('closable', showClose),\n ns.is('plain', plain),\n customClass,\n ]\"\n :style=\"customStyle\"\n role=\"alert\"\n @mouseenter=\"clearTimer\"\n @mouseleave=\"startTimer\"\n >\n <el-badge\n v-if=\"repeatNum > 1\"\n :value=\"repeatNum\"\n :type=\"badgeType\"\n :class=\"ns.e('badge')\"\n />\n <el-icon v-if=\"iconComponent\" :class=\"[ns.e('icon'), typeClass]\">\n <component :is=\"iconComponent\" />\n </el-icon>\n <slot>\n <p v-if=\"!dangerouslyUseHTMLString\" :class=\"ns.e('content')\">\n {{ message }}\n </p>\n <!-- Caution here, message could've been compromised, never use user's input as message -->\n <p v-else :class=\"ns.e('content')\" v-html=\"message\" />\n </slot>\n <el-icon v-if=\"showClose\" :class=\"ns.e('closeBtn')\" @click.stop=\"close\">\n <Close />\n </el-icon>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { useEventListener, useResizeObserver, useTimeoutFn } from '@vueuse/core'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport ElBadge from '@element-plus/components/badge'\nimport { useGlobalComponentSettings } from '@element-plus/components/config-provider'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { messageEmits, messageProps } from './message'\nimport { getLastOffset, getOffsetOrSpace } from './instance'\nimport type { BadgeProps } from '@element-plus/components/badge'\nimport type { CSSProperties } from 'vue'\n\nconst { Close } = TypeComponents\n\ndefineOptions({\n name: 'ElMessage',\n})\n\nconst props = defineProps(messageProps)\ndefineEmits(messageEmits)\n\nconst { ns, zIndex } = useGlobalComponentSettings('message')\nconst { currentZIndex, nextZIndex } = zIndex\n\nconst messageRef = ref<HTMLDivElement>()\nconst visible = ref(false)\nconst height = ref(0)\n\nlet stopTimer: (() => void) | undefined = undefined\n\nconst badgeType = computed<BadgeProps['type']>(() =>\n props.type ? (props.type === 'error' ? 'danger' : props.type) : 'info'\n)\nconst typeClass = computed(() => {\n const type = props.type\n return { [ns.bm('icon', type)]: type && TypeComponentsMap[type] }\n})\nconst iconComponent = computed(\n () => props.icon || TypeComponentsMap[props.type] || ''\n)\n\nconst lastOffset = computed(() => getLastOffset(props.id))\nconst offset = computed(\n () => getOffsetOrSpace(props.id, props.offset) + lastOffset.value\n)\nconst bottom = computed((): number => height.value + offset.value)\nconst customStyle = computed<CSSProperties>(() => ({\n top: `${offset.value}px`,\n zIndex: currentZIndex.value,\n}))\n\nfunction startTimer() {\n if (props.duration === 0) return\n ;({ stop: stopTimer } = useTimeoutFn(() => {\n close()\n }, props.duration))\n}\n\nfunction clearTimer() {\n stopTimer?.()\n}\n\nfunction close() {\n visible.value = false\n}\n\nfunction keydown({ code }: KeyboardEvent) {\n if (code === EVENT_CODE.esc) {\n // press esc to close the message\n close()\n }\n}\n\nonMounted(() => {\n startTimer()\n nextZIndex()\n visible.value = true\n})\n\nwatch(\n () => props.repeatNum,\n () => {\n clearTimer()\n startTimer()\n }\n)\n\nuseEventListener(document, 'keydown', keydown)\n\nuseResizeObserver(messageRef, () => {\n height.value = messageRef.value!.getBoundingClientRect().height\n})\n\ndefineExpose({\n visible,\n bottom,\n close,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_Transition","_unref","_withCtx"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { isVNode, render, createVNode } from 'vue';
2
2
  import '../../../utils/index.mjs';
3
3
  import '../../config-provider/index.mjs';
4
- import MessageConstructor from './message.mjs';
5
- import { messageDefaults, messageTypes } from './message2.mjs';
4
+ import MessageConstructor from './message2.mjs';
5
+ import { messageDefaults, messageTypes } from './message.mjs';
6
6
  import { instances } from './instance.mjs';
7
7
  import { isString, isFunction } from '@vue/shared';
8
8
  import { isElement, isBoolean, isNumber } from '../../../utils/types.mjs';
@@ -1,16 +1,69 @@
1
- import '../../../utils/index.mjs';
2
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, inject, ref, openBlock, createElementBlock, Fragment, createVNode } from 'vue';
2
+ import { GAP } from './util.mjs';
3
+ import Thumb from './thumb2.mjs';
4
+ import { barProps } from './bar2.mjs';
5
+ import { scrollbarContextKey } from './constants.mjs';
6
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
3
7
 
4
- const barProps = buildProps({
5
- always: {
6
- type: Boolean,
7
- default: true
8
- },
9
- minSize: {
10
- type: Number,
11
- required: true
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "bar",
10
+ props: barProps,
11
+ setup(__props, { expose }) {
12
+ const props = __props;
13
+ const scrollbar = inject(scrollbarContextKey);
14
+ const moveX = ref(0);
15
+ const moveY = ref(0);
16
+ const sizeWidth = ref("");
17
+ const sizeHeight = ref("");
18
+ const ratioY = ref(1);
19
+ const ratioX = ref(1);
20
+ const handleScroll = (wrap) => {
21
+ if (wrap) {
22
+ const offsetHeight = wrap.offsetHeight - GAP;
23
+ const offsetWidth = wrap.offsetWidth - GAP;
24
+ moveY.value = wrap.scrollTop * 100 / offsetHeight * ratioY.value;
25
+ moveX.value = wrap.scrollLeft * 100 / offsetWidth * ratioX.value;
26
+ }
27
+ };
28
+ const update = () => {
29
+ const wrap = scrollbar == null ? void 0 : scrollbar.wrapElement;
30
+ if (!wrap)
31
+ return;
32
+ const offsetHeight = wrap.offsetHeight - GAP;
33
+ const offsetWidth = wrap.offsetWidth - GAP;
34
+ const originalHeight = offsetHeight ** 2 / wrap.scrollHeight;
35
+ const originalWidth = offsetWidth ** 2 / wrap.scrollWidth;
36
+ const height = Math.max(originalHeight, props.minSize);
37
+ const width = Math.max(originalWidth, props.minSize);
38
+ ratioY.value = originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height));
39
+ ratioX.value = originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width));
40
+ sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : "";
41
+ sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : "";
42
+ };
43
+ expose({
44
+ handleScroll,
45
+ update
46
+ });
47
+ return (_ctx, _cache) => {
48
+ return openBlock(), createElementBlock(Fragment, null, [
49
+ createVNode(Thumb, {
50
+ move: moveX.value,
51
+ ratio: ratioX.value,
52
+ size: sizeWidth.value,
53
+ always: _ctx.always
54
+ }, null, 8, ["move", "ratio", "size", "always"]),
55
+ createVNode(Thumb, {
56
+ move: moveY.value,
57
+ ratio: ratioY.value,
58
+ size: sizeHeight.value,
59
+ vertical: "",
60
+ always: _ctx.always
61
+ }, null, 8, ["move", "ratio", "size", "always"])
62
+ ], 64);
63
+ };
12
64
  }
13
65
  });
66
+ var Bar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "bar.vue"]]);
14
67
 
15
- export { barProps };
68
+ export { Bar as default };
16
69
  //# sourceMappingURL=bar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bar.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Bar from './bar.vue'\n\nexport const barProps = buildProps({\n always: {\n type: Boolean,\n default: true,\n },\n minSize: {\n type: Number,\n required: true,\n },\n} as const)\nexport type BarProps = ExtractPropTypes<typeof barProps>\n\nexport type BarInstance = InstanceType<typeof Bar>\n"],"names":[],"mappings":";;;AACY,MAAC,QAAQ,GAAG,UAAU,CAAC;AACnC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"bar.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.vue"],"sourcesContent":["<template>\n <thumb :move=\"moveX\" :ratio=\"ratioX\" :size=\"sizeWidth\" :always=\"always\" />\n <thumb\n :move=\"moveY\"\n :ratio=\"ratioY\"\n :size=\"sizeHeight\"\n vertical\n :always=\"always\"\n />\n</template>\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { GAP } from './util'\nimport Thumb from './thumb.vue'\nimport { barProps } from './bar'\nimport { scrollbarContextKey } from './constants'\n\nconst props = defineProps(barProps)\n\nconst scrollbar = inject(scrollbarContextKey)\n\nconst moveX = ref(0)\nconst moveY = ref(0)\nconst sizeWidth = ref('')\nconst sizeHeight = ref('')\nconst ratioY = ref(1)\nconst ratioX = ref(1)\n\nconst handleScroll = (wrap: HTMLDivElement) => {\n if (wrap) {\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n\n moveY.value = ((wrap.scrollTop * 100) / offsetHeight) * ratioY.value\n moveX.value = ((wrap.scrollLeft * 100) / offsetWidth) * ratioX.value\n }\n}\n\nconst update = () => {\n const wrap = scrollbar?.wrapElement\n if (!wrap) return\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n}\n\ndefineExpose({\n handleScroll,\n update,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AAmBA,IAAM,MAAA,SAAA,GAAY,OAAO,mBAAmB,CAAA,CAAA;AAE5C,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AACnB,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AACnB,IAAM,MAAA,SAAA,GAAY,IAAI,EAAE,CAAA,CAAA;AACxB,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA,CAAA;AACzB,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA,CAAA;AACpB,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA,CAAA;AAEpB,IAAM,MAAA,YAAA,GAAe,CAAC,IAAyB,KAAA;AAC7C,MAAA,IAAI,IAAM,EAAA;AACR,QAAM,MAAA,YAAA,GAAe,KAAK,YAAe,GAAA,GAAA,CAAA;AACzC,QAAM,MAAA,WAAA,GAAc,KAAK,WAAc,GAAA,GAAA,CAAA;AAEvC,QAAA,KAAA,CAAM,KAAU,GAAA,IAAA,CAAK,SAAY,GAAA,GAAA,GAAO,eAAgB,MAAO,CAAA,KAAA,CAAA;AAC/D,QAAA,KAAA,CAAM,KAAU,GAAA,IAAA,CAAK,UAAa,GAAA,GAAA,GAAO,cAAe,MAAO,CAAA,KAAA,CAAA;AAAA,OACjE;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,MAAM,OAAO,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,WAAA,CAAA;AACxB,MAAA,IAAI,CAAC,IAAM;AACX,QAAM,OAAA;AACN,MAAM,MAAA,YAAA,OAAmB,CAAc,YAAA,GAAA,GAAA,CAAA;AAEvC,MAAM,MAAA,WAAA,GAAA,IAAiC,CAAA,WAAA,GAAA,GAAA,CAAI;AAC3C,MAAM,MAAA,cAAA,GAA+B,YAAA,IAAA,CAAA,GAAS,IAAA,CAAA,YAAA,CAAA;AAC9C,MAAA,MAAM,aAAS,GAAS,WAAA,IAAA,CAAA,QAAsB,WAAO,CAAA;AACrD,MAAA,MAAM,MAAQ,GAAA,IAAK,CAAI,GAAA,CAAA,cAAe,OAAa,CAAA,OAAA,CAAA,CAAA;AAEnD,MAAA,MAAA,KACE,GAAA,IAAA,CAAA,GAAA,CAAA,aACgB,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAElB,MAAA,MAAA,CAAO,KACL,GAAA,cAAA,IACe,YAAA,GAAA,cAAA,CAAA,UACL,IAAc,YAAA,GAAA,MAAA,CAAA,CAAA,CAAA;AAE1B,MAAA,MAAA,CAAA,qBAA4B,IAAA,WAAqB,GAAA,aAAgB,CAAA,IAAA,KAAA,IAAA,WAAA,GAAA,KAAA,CAAA,CAAA,CAAA;AACjE,MAAA,UAAU,SAAgB,MAAA,GAAA,GAAA,GAAoB,YAAA,GAAG,SAAY,CAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AAAA,MAC/D,SAAA,CAAA,KAAA,GAAA,KAAA,GAAA,GAAA,GAAA,WAAA,GAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AAEA,KAAa,CAAA;AAAA,IACX,MAAA,CAAA;AAAA,MACA,YAAA;AAAA,MACD,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,69 +1,16 @@
1
- import { defineComponent, inject, ref, openBlock, createElementBlock, Fragment, createVNode } from 'vue';
2
- import { GAP } from './util.mjs';
3
- import Thumb from './thumb2.mjs';
4
- import { barProps } from './bar.mjs';
5
- import { scrollbarContextKey } from './constants.mjs';
6
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
1
+ import '../../../utils/index.mjs';
2
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
7
3
 
8
- const _sfc_main = /* @__PURE__ */ defineComponent({
9
- __name: "bar",
10
- props: barProps,
11
- setup(__props, { expose }) {
12
- const props = __props;
13
- const scrollbar = inject(scrollbarContextKey);
14
- const moveX = ref(0);
15
- const moveY = ref(0);
16
- const sizeWidth = ref("");
17
- const sizeHeight = ref("");
18
- const ratioY = ref(1);
19
- const ratioX = ref(1);
20
- const handleScroll = (wrap) => {
21
- if (wrap) {
22
- const offsetHeight = wrap.offsetHeight - GAP;
23
- const offsetWidth = wrap.offsetWidth - GAP;
24
- moveY.value = wrap.scrollTop * 100 / offsetHeight * ratioY.value;
25
- moveX.value = wrap.scrollLeft * 100 / offsetWidth * ratioX.value;
26
- }
27
- };
28
- const update = () => {
29
- const wrap = scrollbar == null ? void 0 : scrollbar.wrapElement;
30
- if (!wrap)
31
- return;
32
- const offsetHeight = wrap.offsetHeight - GAP;
33
- const offsetWidth = wrap.offsetWidth - GAP;
34
- const originalHeight = offsetHeight ** 2 / wrap.scrollHeight;
35
- const originalWidth = offsetWidth ** 2 / wrap.scrollWidth;
36
- const height = Math.max(originalHeight, props.minSize);
37
- const width = Math.max(originalWidth, props.minSize);
38
- ratioY.value = originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height));
39
- ratioX.value = originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width));
40
- sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : "";
41
- sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : "";
42
- };
43
- expose({
44
- handleScroll,
45
- update
46
- });
47
- return (_ctx, _cache) => {
48
- return openBlock(), createElementBlock(Fragment, null, [
49
- createVNode(Thumb, {
50
- move: moveX.value,
51
- ratio: ratioX.value,
52
- size: sizeWidth.value,
53
- always: _ctx.always
54
- }, null, 8, ["move", "ratio", "size", "always"]),
55
- createVNode(Thumb, {
56
- move: moveY.value,
57
- ratio: ratioY.value,
58
- size: sizeHeight.value,
59
- vertical: "",
60
- always: _ctx.always
61
- }, null, 8, ["move", "ratio", "size", "always"])
62
- ], 64);
63
- };
4
+ const barProps = buildProps({
5
+ always: {
6
+ type: Boolean,
7
+ default: true
8
+ },
9
+ minSize: {
10
+ type: Number,
11
+ required: true
64
12
  }
65
13
  });
66
- var Bar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "bar.vue"]]);
67
14
 
68
- export { Bar as default };
15
+ export { barProps };
69
16
  //# sourceMappingURL=bar2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.vue"],"sourcesContent":["<template>\n <thumb :move=\"moveX\" :ratio=\"ratioX\" :size=\"sizeWidth\" :always=\"always\" />\n <thumb\n :move=\"moveY\"\n :ratio=\"ratioY\"\n :size=\"sizeHeight\"\n vertical\n :always=\"always\"\n />\n</template>\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { GAP } from './util'\nimport Thumb from './thumb.vue'\nimport { barProps } from './bar'\nimport { scrollbarContextKey } from './constants'\n\nconst props = defineProps(barProps)\n\nconst scrollbar = inject(scrollbarContextKey)\n\nconst moveX = ref(0)\nconst moveY = ref(0)\nconst sizeWidth = ref('')\nconst sizeHeight = ref('')\nconst ratioY = ref(1)\nconst ratioX = ref(1)\n\nconst handleScroll = (wrap: HTMLDivElement) => {\n if (wrap) {\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n\n moveY.value = ((wrap.scrollTop * 100) / offsetHeight) * ratioY.value\n moveX.value = ((wrap.scrollLeft * 100) / offsetWidth) * ratioX.value\n }\n}\n\nconst update = () => {\n const wrap = scrollbar?.wrapElement\n if (!wrap) return\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n}\n\ndefineExpose({\n handleScroll,\n update,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AAmBA,IAAM,MAAA,SAAA,GAAY,OAAO,mBAAmB,CAAA,CAAA;AAE5C,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AACnB,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AACnB,IAAM,MAAA,SAAA,GAAY,IAAI,EAAE,CAAA,CAAA;AACxB,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA,CAAA;AACzB,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA,CAAA;AACpB,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA,CAAA;AAEpB,IAAM,MAAA,YAAA,GAAe,CAAC,IAAyB,KAAA;AAC7C,MAAA,IAAI,IAAM,EAAA;AACR,QAAM,MAAA,YAAA,GAAe,KAAK,YAAe,GAAA,GAAA,CAAA;AACzC,QAAM,MAAA,WAAA,GAAc,KAAK,WAAc,GAAA,GAAA,CAAA;AAEvC,QAAA,KAAA,CAAM,KAAU,GAAA,IAAA,CAAK,SAAY,GAAA,GAAA,GAAO,eAAgB,MAAO,CAAA,KAAA,CAAA;AAC/D,QAAA,KAAA,CAAM,KAAU,GAAA,IAAA,CAAK,UAAa,GAAA,GAAA,GAAO,cAAe,MAAO,CAAA,KAAA,CAAA;AAAA,OACjE;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,MAAM,OAAO,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,WAAA,CAAA;AACxB,MAAA,IAAI,CAAC,IAAM;AACX,QAAM,OAAA;AACN,MAAM,MAAA,YAAA,OAAmB,CAAc,YAAA,GAAA,GAAA,CAAA;AAEvC,MAAM,MAAA,WAAA,GAAA,IAAiC,CAAA,WAAA,GAAA,GAAA,CAAI;AAC3C,MAAM,MAAA,cAAA,GAA+B,YAAA,IAAA,CAAA,GAAS,IAAA,CAAA,YAAA,CAAA;AAC9C,MAAA,MAAM,aAAS,GAAS,WAAA,IAAA,CAAA,QAAsB,WAAO,CAAA;AACrD,MAAA,MAAM,MAAQ,GAAA,IAAK,CAAI,GAAA,CAAA,cAAe,OAAa,CAAA,OAAA,CAAA,CAAA;AAEnD,MAAA,MAAA,KACE,GAAA,IAAA,CAAA,GAAA,CAAA,aACgB,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAElB,MAAA,MAAA,CAAO,KACL,GAAA,cAAA,IACe,YAAA,GAAA,cAAA,CAAA,UACL,IAAc,YAAA,GAAA,MAAA,CAAA,CAAA,CAAA;AAE1B,MAAA,MAAA,CAAA,qBAA4B,IAAA,WAAqB,GAAA,aAAgB,CAAA,IAAA,KAAA,IAAA,WAAA,GAAA,KAAA,CAAA,CAAA,CAAA;AACjE,MAAA,UAAU,SAAgB,MAAA,GAAA,GAAA,GAAoB,YAAA,GAAG,SAAY,CAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AAAA,MAC/D,SAAA,CAAA,KAAA,GAAA,KAAA,GAAA,GAAA,GAAA,WAAA,GAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AAEA,KAAa,CAAA;AAAA,IACX,MAAA,CAAA;AAAA,MACA,YAAA;AAAA,MACD,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"bar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Bar from './bar.vue'\n\nexport const barProps = buildProps({\n always: {\n type: Boolean,\n default: true,\n },\n minSize: {\n type: Number,\n required: true,\n },\n} as const)\nexport type BarProps = ExtractPropTypes<typeof barProps>\n\nexport type BarInstance = InstanceType<typeof Bar>\n"],"names":[],"mappings":";;;AACY,MAAC,QAAQ,GAAG,UAAU,CAAC;AACnC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,CAAC;;;;"}
@@ -2,7 +2,7 @@ import { defineComponent, ref, computed, watch, nextTick, provide, reactive, onA
2
2
  import { useResizeObserver, useEventListener } from '@vueuse/core';
3
3
  import '../../../utils/index.mjs';
4
4
  import '../../../hooks/index.mjs';
5
- import Bar from './bar2.mjs';
5
+ import Bar from './bar.mjs';
6
6
  import { scrollbarContextKey } from './constants.mjs';
7
7
  import { scrollbarProps, scrollbarEmits } from './scrollbar.mjs';
8
8
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
@@ -120,7 +120,6 @@ declare const _default: import("vue").DefineComponent<{
120
120
  inputValue: string;
121
121
  options: Map<any, any>;
122
122
  cachedOptions: Map<any, any>;
123
- disabledOptions: Map<any, any>;
124
123
  optionValues: any[];
125
124
  selected: any[];
126
125
  selectionWidth: number;
@@ -43,7 +43,6 @@ export declare const useSelect: (props: ISelectProps, emit: any) => {
43
43
  inputValue: string;
44
44
  options: Map<any, any>;
45
45
  cachedOptions: Map<any, any>;
46
- disabledOptions: Map<any, any>;
47
46
  optionValues: any[];
48
47
  selected: any[];
49
48
  selectionWidth: number;
@@ -31,7 +31,6 @@ const useSelect = (props, emit) => {
31
31
  inputValue: "",
32
32
  options: /* @__PURE__ */ new Map(),
33
33
  cachedOptions: /* @__PURE__ */ new Map(),
34
- disabledOptions: /* @__PURE__ */ new Map(),
35
34
  optionValues: [],
36
35
  selected: [],
37
36
  selectionWidth: 0,
@@ -336,7 +335,10 @@ const useSelect = (props, emit) => {
336
335
  emit(CHANGE_EVENT, val);
337
336
  }
338
337
  };
339
- const getLastNotDisabledIndex = (value) => findLastIndex(value, (it) => !states.disabledOptions.has(it));
338
+ const getLastNotDisabledIndex = (value) => findLastIndex(value, (it) => {
339
+ const option = states.cachedOptions.get(it);
340
+ return option && !option.disabled && !option.states.groupDisabled;
341
+ });
340
342
  const deletePrevTag = (e) => {
341
343
  if (!props.multiple)
342
344
  return;
@@ -440,7 +442,6 @@ const useSelect = (props, emit) => {
440
442
  const onOptionCreate = (vm) => {
441
443
  states.options.set(vm.value, vm);
442
444
  states.cachedOptions.set(vm.value, vm);
443
- vm.disabled && states.disabledOptions.set(vm.value, vm);
444
445
  };
445
446
  const onOptionDestroy = (key, vm) => {
446
447
  if (states.options.get(key) === vm) {
@@ -503,8 +504,9 @@ const useSelect = (props, emit) => {
503
504
  if (!expanded.value) {
504
505
  toggleMenu();
505
506
  } else {
506
- if (optionsArray.value[states.hoveringIndex]) {
507
- handleOptionSelect(optionsArray.value[states.hoveringIndex]);
507
+ const option = optionsArray.value[states.hoveringIndex];
508
+ if (option && !option.disabled && !option.states.groupDisabled) {
509
+ handleOptionSelect(option);
508
510
  }
509
511
  }
510
512
  };