@element-plus/nightly 0.0.20220122 → 0.0.20220123

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 (260) hide show
  1. package/dist/index.full.js +29 -24
  2. package/dist/index.full.min.js +4 -4
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +5 -5
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +29 -24
  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/bg.js +1 -1
  16. package/dist/locale/bg.min.js +1 -1
  17. package/dist/locale/bg.min.mjs +1 -1
  18. package/dist/locale/bg.mjs +1 -1
  19. package/dist/locale/bn.js +1 -1
  20. package/dist/locale/bn.min.js +1 -1
  21. package/dist/locale/bn.min.mjs +1 -1
  22. package/dist/locale/bn.mjs +1 -1
  23. package/dist/locale/ca.js +1 -1
  24. package/dist/locale/ca.min.js +1 -1
  25. package/dist/locale/ca.min.mjs +1 -1
  26. package/dist/locale/ca.mjs +1 -1
  27. package/dist/locale/cs.js +1 -1
  28. package/dist/locale/cs.min.js +1 -1
  29. package/dist/locale/cs.min.mjs +1 -1
  30. package/dist/locale/cs.mjs +1 -1
  31. package/dist/locale/da.js +1 -1
  32. package/dist/locale/da.min.js +1 -1
  33. package/dist/locale/da.min.mjs +1 -1
  34. package/dist/locale/da.mjs +1 -1
  35. package/dist/locale/de.js +1 -1
  36. package/dist/locale/de.min.js +1 -1
  37. package/dist/locale/de.min.mjs +1 -1
  38. package/dist/locale/de.mjs +1 -1
  39. package/dist/locale/el.js +1 -1
  40. package/dist/locale/el.min.js +1 -1
  41. package/dist/locale/el.min.mjs +1 -1
  42. package/dist/locale/el.mjs +1 -1
  43. package/dist/locale/en.js +1 -1
  44. package/dist/locale/en.min.js +1 -1
  45. package/dist/locale/en.min.mjs +1 -1
  46. package/dist/locale/en.mjs +1 -1
  47. package/dist/locale/eo.js +1 -1
  48. package/dist/locale/eo.min.js +1 -1
  49. package/dist/locale/eo.min.mjs +1 -1
  50. package/dist/locale/eo.mjs +1 -1
  51. package/dist/locale/es.js +1 -1
  52. package/dist/locale/es.min.js +1 -1
  53. package/dist/locale/es.min.mjs +1 -1
  54. package/dist/locale/es.mjs +1 -1
  55. package/dist/locale/et.js +1 -1
  56. package/dist/locale/et.min.js +1 -1
  57. package/dist/locale/et.min.mjs +1 -1
  58. package/dist/locale/et.mjs +1 -1
  59. package/dist/locale/eu.js +1 -1
  60. package/dist/locale/eu.min.js +1 -1
  61. package/dist/locale/eu.min.mjs +1 -1
  62. package/dist/locale/eu.mjs +1 -1
  63. package/dist/locale/fa.js +1 -1
  64. package/dist/locale/fa.min.js +1 -1
  65. package/dist/locale/fa.min.mjs +1 -1
  66. package/dist/locale/fa.mjs +1 -1
  67. package/dist/locale/fi.js +1 -1
  68. package/dist/locale/fi.min.js +1 -1
  69. package/dist/locale/fi.min.mjs +1 -1
  70. package/dist/locale/fi.mjs +1 -1
  71. package/dist/locale/fr.js +1 -1
  72. package/dist/locale/fr.min.js +1 -1
  73. package/dist/locale/fr.min.mjs +1 -1
  74. package/dist/locale/fr.mjs +1 -1
  75. package/dist/locale/he.js +1 -1
  76. package/dist/locale/he.min.js +1 -1
  77. package/dist/locale/he.min.mjs +1 -1
  78. package/dist/locale/he.mjs +1 -1
  79. package/dist/locale/hr.js +1 -1
  80. package/dist/locale/hr.min.js +1 -1
  81. package/dist/locale/hr.min.mjs +1 -1
  82. package/dist/locale/hr.mjs +1 -1
  83. package/dist/locale/hu.js +1 -1
  84. package/dist/locale/hu.min.js +1 -1
  85. package/dist/locale/hu.min.mjs +1 -1
  86. package/dist/locale/hu.mjs +1 -1
  87. package/dist/locale/hy-am.js +1 -1
  88. package/dist/locale/hy-am.min.js +1 -1
  89. package/dist/locale/hy-am.min.mjs +1 -1
  90. package/dist/locale/hy-am.mjs +1 -1
  91. package/dist/locale/id.js +1 -1
  92. package/dist/locale/id.min.js +1 -1
  93. package/dist/locale/id.min.mjs +1 -1
  94. package/dist/locale/id.mjs +1 -1
  95. package/dist/locale/it.js +1 -1
  96. package/dist/locale/it.min.js +1 -1
  97. package/dist/locale/it.min.mjs +1 -1
  98. package/dist/locale/it.mjs +1 -1
  99. package/dist/locale/ja.js +1 -1
  100. package/dist/locale/ja.min.js +1 -1
  101. package/dist/locale/ja.min.mjs +1 -1
  102. package/dist/locale/ja.mjs +1 -1
  103. package/dist/locale/kk.js +1 -1
  104. package/dist/locale/kk.min.js +1 -1
  105. package/dist/locale/kk.min.mjs +1 -1
  106. package/dist/locale/kk.mjs +1 -1
  107. package/dist/locale/km.js +1 -1
  108. package/dist/locale/km.min.js +1 -1
  109. package/dist/locale/km.min.mjs +1 -1
  110. package/dist/locale/km.mjs +1 -1
  111. package/dist/locale/ko.js +1 -1
  112. package/dist/locale/ko.min.js +1 -1
  113. package/dist/locale/ko.min.mjs +1 -1
  114. package/dist/locale/ko.mjs +1 -1
  115. package/dist/locale/ku.js +1 -1
  116. package/dist/locale/ku.min.js +1 -1
  117. package/dist/locale/ku.min.mjs +1 -1
  118. package/dist/locale/ku.mjs +1 -1
  119. package/dist/locale/ky.js +1 -1
  120. package/dist/locale/ky.min.js +1 -1
  121. package/dist/locale/ky.min.mjs +1 -1
  122. package/dist/locale/ky.mjs +1 -1
  123. package/dist/locale/lt.js +1 -1
  124. package/dist/locale/lt.min.js +1 -1
  125. package/dist/locale/lt.min.mjs +1 -1
  126. package/dist/locale/lt.mjs +1 -1
  127. package/dist/locale/lv.js +1 -1
  128. package/dist/locale/lv.min.js +1 -1
  129. package/dist/locale/lv.min.mjs +1 -1
  130. package/dist/locale/lv.mjs +1 -1
  131. package/dist/locale/mn.js +1 -1
  132. package/dist/locale/mn.min.js +1 -1
  133. package/dist/locale/mn.min.mjs +1 -1
  134. package/dist/locale/mn.mjs +1 -1
  135. package/dist/locale/nb-no.js +1 -1
  136. package/dist/locale/nb-no.min.js +1 -1
  137. package/dist/locale/nb-no.min.mjs +1 -1
  138. package/dist/locale/nb-no.mjs +1 -1
  139. package/dist/locale/nl.js +1 -1
  140. package/dist/locale/nl.min.js +1 -1
  141. package/dist/locale/nl.min.mjs +1 -1
  142. package/dist/locale/nl.mjs +1 -1
  143. package/dist/locale/pa.js +1 -1
  144. package/dist/locale/pa.min.js +1 -1
  145. package/dist/locale/pa.min.mjs +1 -1
  146. package/dist/locale/pa.mjs +1 -1
  147. package/dist/locale/pl.js +1 -1
  148. package/dist/locale/pl.min.js +1 -1
  149. package/dist/locale/pl.min.mjs +1 -1
  150. package/dist/locale/pl.mjs +1 -1
  151. package/dist/locale/pt-br.js +1 -1
  152. package/dist/locale/pt-br.min.js +1 -1
  153. package/dist/locale/pt-br.min.mjs +1 -1
  154. package/dist/locale/pt-br.mjs +1 -1
  155. package/dist/locale/pt.js +1 -1
  156. package/dist/locale/pt.min.js +1 -1
  157. package/dist/locale/pt.min.mjs +1 -1
  158. package/dist/locale/pt.mjs +1 -1
  159. package/dist/locale/ro.js +1 -1
  160. package/dist/locale/ro.min.js +1 -1
  161. package/dist/locale/ro.min.mjs +1 -1
  162. package/dist/locale/ro.mjs +1 -1
  163. package/dist/locale/ru.js +1 -1
  164. package/dist/locale/ru.min.js +1 -1
  165. package/dist/locale/ru.min.mjs +1 -1
  166. package/dist/locale/ru.mjs +1 -1
  167. package/dist/locale/sk.js +1 -1
  168. package/dist/locale/sk.min.js +1 -1
  169. package/dist/locale/sk.min.mjs +1 -1
  170. package/dist/locale/sk.mjs +1 -1
  171. package/dist/locale/sl.js +1 -1
  172. package/dist/locale/sl.min.js +1 -1
  173. package/dist/locale/sl.min.mjs +1 -1
  174. package/dist/locale/sl.mjs +1 -1
  175. package/dist/locale/sr.js +1 -1
  176. package/dist/locale/sr.min.js +1 -1
  177. package/dist/locale/sr.min.mjs +1 -1
  178. package/dist/locale/sr.mjs +1 -1
  179. package/dist/locale/sv.js +1 -1
  180. package/dist/locale/sv.min.js +1 -1
  181. package/dist/locale/sv.min.mjs +1 -1
  182. package/dist/locale/sv.mjs +1 -1
  183. package/dist/locale/ta.js +1 -1
  184. package/dist/locale/ta.min.js +1 -1
  185. package/dist/locale/ta.min.mjs +1 -1
  186. package/dist/locale/ta.mjs +1 -1
  187. package/dist/locale/th.js +1 -1
  188. package/dist/locale/th.min.js +1 -1
  189. package/dist/locale/th.min.mjs +1 -1
  190. package/dist/locale/th.mjs +1 -1
  191. package/dist/locale/tk.js +1 -1
  192. package/dist/locale/tk.min.js +1 -1
  193. package/dist/locale/tk.min.mjs +1 -1
  194. package/dist/locale/tk.mjs +1 -1
  195. package/dist/locale/tr.js +1 -1
  196. package/dist/locale/tr.min.js +1 -1
  197. package/dist/locale/tr.min.mjs +1 -1
  198. package/dist/locale/tr.mjs +1 -1
  199. package/dist/locale/ug-cn.js +1 -1
  200. package/dist/locale/ug-cn.min.js +1 -1
  201. package/dist/locale/ug-cn.min.mjs +1 -1
  202. package/dist/locale/ug-cn.mjs +1 -1
  203. package/dist/locale/uk.js +1 -1
  204. package/dist/locale/uk.min.js +1 -1
  205. package/dist/locale/uk.min.mjs +1 -1
  206. package/dist/locale/uk.mjs +1 -1
  207. package/dist/locale/uz-uz.js +1 -1
  208. package/dist/locale/uz-uz.min.js +1 -1
  209. package/dist/locale/uz-uz.min.mjs +1 -1
  210. package/dist/locale/uz-uz.mjs +1 -1
  211. package/dist/locale/vi.js +1 -1
  212. package/dist/locale/vi.min.js +1 -1
  213. package/dist/locale/vi.min.mjs +1 -1
  214. package/dist/locale/vi.mjs +1 -1
  215. package/dist/locale/zh-cn.js +1 -1
  216. package/dist/locale/zh-cn.min.js +1 -1
  217. package/dist/locale/zh-cn.min.mjs +1 -1
  218. package/dist/locale/zh-cn.mjs +1 -1
  219. package/dist/locale/zh-tw.js +1 -1
  220. package/dist/locale/zh-tw.min.js +1 -1
  221. package/dist/locale/zh-tw.min.mjs +1 -1
  222. package/dist/locale/zh-tw.mjs +1 -1
  223. package/es/components/autocomplete/index.d.ts +22 -0
  224. package/es/components/autocomplete/src/index.mjs +15 -15
  225. package/es/components/autocomplete/src/index.mjs.map +1 -1
  226. package/es/components/autocomplete/src/index.vue.d.ts +11 -0
  227. package/es/components/backtop/index.d.ts +11 -0
  228. package/es/components/backtop/src/backtop.vue.d.ts +11 -0
  229. package/es/components/backtop/src/backtop2.mjs +16 -8
  230. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  231. package/es/components/index.mjs +1 -1
  232. package/es/components/popconfirm/index.mjs +2 -2
  233. package/es/components/popconfirm/src/popconfirm.mjs +104 -45
  234. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  235. package/es/components/popconfirm/src/popconfirm2.mjs +45 -104
  236. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  237. package/es/index.mjs +1 -1
  238. package/es/version.d.ts +1 -1
  239. package/es/version.mjs +1 -1
  240. package/es/version.mjs.map +1 -1
  241. package/lib/components/autocomplete/index.d.ts +22 -0
  242. package/lib/components/autocomplete/src/index.js +17 -17
  243. package/lib/components/autocomplete/src/index.js.map +1 -1
  244. package/lib/components/autocomplete/src/index.vue.d.ts +11 -0
  245. package/lib/components/backtop/index.d.ts +11 -0
  246. package/lib/components/backtop/src/backtop.vue.d.ts +11 -0
  247. package/lib/components/backtop/src/backtop2.js +15 -7
  248. package/lib/components/backtop/src/backtop2.js.map +1 -1
  249. package/lib/components/index.js +1 -1
  250. package/lib/components/popconfirm/index.js +2 -2
  251. package/lib/components/popconfirm/src/popconfirm.js +104 -45
  252. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  253. package/lib/components/popconfirm/src/popconfirm2.js +45 -104
  254. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  255. package/lib/index.js +1 -1
  256. package/lib/version.d.ts +1 -1
  257. package/lib/version.js +1 -1
  258. package/lib/version.js.map +1 -1
  259. package/package.json +2 -2
  260. package/web-types.json +1 -1
@@ -1,110 +1,51 @@
1
- import { defineComponent, ref, unref, computed, resolveComponent, openBlock, createBlock, mergeProps, withCtx, createElementVNode, normalizeStyle, resolveDynamicComponent, createCommentVNode, createTextVNode, toDisplayString, createVNode, renderSlot } from 'vue';
2
- import { ElButton } from '../../button/index.mjs';
3
- import { ElIcon } from '../../icon/index.mjs';
4
- import { ElTooltip } from '../../tooltip/index.mjs';
5
- import '../../../hooks/index.mjs';
6
- import { popconfirmProps } from './popconfirm.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
1
+ import '../../button/index.mjs';
2
+ import { QuestionFilled } from '@element-plus/icons-vue';
3
+ import { buildProps, definePropType } from '../../../utils/props.mjs';
4
+ import { buttonType } from '../../button/src/button.mjs';
9
5
 
10
- const _sfc_main = defineComponent({
11
- name: "ElPopconfirm",
12
- components: {
13
- ElButton,
14
- ElTooltip,
15
- ElIcon
6
+ const popconfirmProps = buildProps({
7
+ title: {
8
+ type: String
16
9
  },
17
- props: popconfirmProps,
18
- setup(props) {
19
- const { t } = useLocale();
20
- const tooltipRef = ref();
21
- const hidePopper = () => {
22
- unref(tooltipRef)?.onClose?.();
23
- };
24
- const handleCallback = () => {
25
- hidePopper();
26
- };
27
- const confirm = (e) => {
28
- props.onConfirm?.(e);
29
- handleCallback();
30
- };
31
- const cancel = (e) => {
32
- props.onCancel?.(e);
33
- handleCallback();
34
- };
35
- const finalConfirmButtonText = computed(() => props.confirmButtonText || t("el.popconfirm.confirmButtonText"));
36
- const finalCancelButtonText = computed(() => props.cancelButtonText || t("el.popconfirm.cancelButtonText"));
37
- return {
38
- finalConfirmButtonText,
39
- finalCancelButtonText,
40
- tooltipRef,
41
- confirm,
42
- cancel
43
- };
10
+ confirmButtonText: {
11
+ type: String
12
+ },
13
+ cancelButtonText: {
14
+ type: String
15
+ },
16
+ confirmButtonType: {
17
+ type: String,
18
+ values: buttonType,
19
+ default: "primary"
20
+ },
21
+ cancelButtonType: {
22
+ type: String,
23
+ values: buttonType,
24
+ default: "text"
25
+ },
26
+ icon: {
27
+ type: definePropType([String, Object]),
28
+ default: QuestionFilled
29
+ },
30
+ iconColor: {
31
+ type: String,
32
+ default: "#f90"
33
+ },
34
+ hideIcon: {
35
+ type: Boolean,
36
+ default: false
37
+ },
38
+ hideAfter: {
39
+ type: Number,
40
+ default: 200
41
+ },
42
+ onConfirm: {
43
+ type: definePropType(Function)
44
+ },
45
+ onCancel: {
46
+ type: definePropType(Function)
44
47
  }
45
48
  });
46
- const _hoisted_1 = { class: "el-popconfirm" };
47
- const _hoisted_2 = { class: "el-popconfirm__main" };
48
- const _hoisted_3 = { class: "el-popconfirm__action" };
49
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
50
- const _component_el_icon = resolveComponent("el-icon");
51
- const _component_el_button = resolveComponent("el-button");
52
- const _component_el_tooltip = resolveComponent("el-tooltip");
53
- return openBlock(), createBlock(_component_el_tooltip, mergeProps({ ref: "tooltipRef" }, _ctx.$attrs, {
54
- trigger: "click",
55
- effect: "light",
56
- "popper-class": "el-popover",
57
- "append-to-body": "",
58
- "fallback-placements": ["bottom", "top", "right", "left"],
59
- "hide-after": _ctx.hideAfter,
60
- persistent: ""
61
- }), {
62
- content: withCtx(() => [
63
- createElementVNode("div", _hoisted_1, [
64
- createElementVNode("div", _hoisted_2, [
65
- !_ctx.hideIcon && _ctx.icon ? (openBlock(), createBlock(_component_el_icon, {
66
- key: 0,
67
- class: "el-popconfirm__icon",
68
- style: normalizeStyle({ color: _ctx.iconColor })
69
- }, {
70
- default: withCtx(() => [
71
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))
72
- ]),
73
- _: 1
74
- }, 8, ["style"])) : createCommentVNode("v-if", true),
75
- createTextVNode(" " + toDisplayString(_ctx.title), 1)
76
- ]),
77
- createElementVNode("div", _hoisted_3, [
78
- createVNode(_component_el_button, {
79
- size: "small",
80
- type: _ctx.cancelButtonType,
81
- onClick: _ctx.cancel
82
- }, {
83
- default: withCtx(() => [
84
- createTextVNode(toDisplayString(_ctx.finalCancelButtonText), 1)
85
- ]),
86
- _: 1
87
- }, 8, ["type", "onClick"]),
88
- createVNode(_component_el_button, {
89
- size: "small",
90
- type: _ctx.confirmButtonType,
91
- onClick: _ctx.confirm
92
- }, {
93
- default: withCtx(() => [
94
- createTextVNode(toDisplayString(_ctx.finalConfirmButtonText), 1)
95
- ]),
96
- _: 1
97
- }, 8, ["type", "onClick"])
98
- ])
99
- ])
100
- ]),
101
- default: withCtx(() => [
102
- _ctx.$slots.reference ? renderSlot(_ctx.$slots, "reference", { key: 0 }) : createCommentVNode("v-if", true)
103
- ]),
104
- _: 3
105
- }, 16, ["hide-after"]);
106
- }
107
- var Popconfirm = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
108
49
 
109
- export { Popconfirm as default };
50
+ export { popconfirmProps };
110
51
  //# sourceMappingURL=popconfirm2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"popconfirm2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n trigger=\"click\"\n effect=\"light\"\n popper-class=\"el-popover\"\n append-to-body\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n persistent\n >\n <template #content>\n <div class=\"el-popconfirm\">\n <div class=\"el-popconfirm__main\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n class=\"el-popconfirm__icon\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div class=\"el-popconfirm__action\">\n <el-button size=\"small\" :type=\"cancelButtonType\" @click=\"cancel\">\n {{ finalCancelButtonText }}\n </el-button>\n <el-button size=\"small\" :type=\"confirmButtonType\" @click=\"confirm\">\n {{ finalConfirmButtonText }}\n </el-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, unref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useLocale } from '@element-plus/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nexport default defineComponent({\n name: 'ElPopconfirm',\n\n components: {\n ElButton,\n ElTooltip,\n ElIcon,\n },\n\n props: popconfirmProps,\n\n setup(props) {\n const { t } = useLocale()\n const tooltipRef = ref<{ onClose: () => void }>()\n\n const hidePopper = () => {\n unref(tooltipRef)?.onClose?.()\n }\n\n const handleCallback = () => {\n hidePopper()\n }\n\n const confirm = (e: Event) => {\n props.onConfirm?.(e)\n handleCallback()\n }\n const cancel = (e: Event) => {\n props.onCancel?.(e)\n handleCallback()\n }\n\n const finalConfirmButtonText = computed(\n () => props.confirmButtonText || t('el.popconfirm.confirmButtonText')\n )\n const finalCancelButtonText = computed(\n () => props.cancelButtonText || t('el.popconfirm.cancelButtonText')\n )\n\n return {\n finalConfirmButtonText,\n finalCancelButtonText,\n tooltipRef,\n\n confirm,\n cancel,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createBlock","_withCtx"],"mappings":";;;;;;;;;AAgDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,EAAE,MAAM;AACd,UAAM,aAAa;AAEnB,UAAM,aAAa,MAAM;AACvB,YAAM,aAAa;AAAA;AAGrB,UAAM,iBAAiB,MAAM;AAC3B;AAAA;AAGF,UAAM,UAAU,CAAC,MAAa;AAC5B,YAAM,YAAY;AAClB;AAAA;AAEF,UAAM,SAAS,CAAC,MAAa;AAC3B,YAAM,WAAW;AACjB;AAAA;AAGF,UAAM,yBAAyB,SAC7B,MAAM,MAAM,qBAAqB,EAAE;AAErC,UAAM,wBAAwB,SAC5B,MAAM,MAAM,oBAAoB,EAAE;AAGpC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA;AAAA;AAAA;qBA/EO,OAAM;qBAUN,OAAM;;;;;;SApBfA,aAAeC;AAAA,IACf,SAAO;AAAA,IACP;AAAA,IACA,gBAAc;AAAA,IACb;AAAA,IACA,uBAAY,WAAS;AAAA,IACtB,cAAU;AAAA;MAEC;AAAA,aACTC,cAmBM;AAAA,yBAlBJ,OASM;AAAA,2BAPa,OAAI,YAAI;AAAA,4BADzB;YAEE,KAAK;AAAA,YACJ,OAAK;AAAA;;6BAEN;AAAA;;;iDAEF;AAAA;;2BAKY;AAAA,sBAFI,sBAAO;AAAA,YAAE,MAAM;AAAA,YAAmB,WAAO;AAAA;;;;;;aAGzD,GAEY;AAAA,sBAFI,sBAAO;AAAA,YAAE,MAAM;AAAA,YAAoB,WAAO;AAAA;;;;;;;;;;aAMhDA,QAAO,MAAS;AAAA,WAC9B;;;;;;;;;"}
1
+ {"version":3,"file":"popconfirm2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.ts"],"sourcesContent":["import { buttonType } from '@element-plus/components/button'\nimport { QuestionFilled } from '@element-plus/icons-vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\n\nimport type { Component, ExtractPropTypes } from 'vue'\n\nexport const popconfirmProps = buildProps({\n title: {\n type: String,\n },\n confirmButtonText: {\n type: String,\n },\n cancelButtonText: {\n type: String,\n },\n confirmButtonType: {\n type: String,\n values: buttonType,\n default: 'primary',\n },\n cancelButtonType: {\n type: String,\n values: buttonType,\n default: 'text',\n },\n icon: {\n type: definePropType<string | Component>([String, Object]),\n default: QuestionFilled as any,\n },\n iconColor: {\n type: String,\n default: '#f90',\n },\n hideIcon: {\n type: Boolean,\n default: false,\n },\n hideAfter: {\n type: Number,\n default: 200,\n },\n onConfirm: {\n type: definePropType<(e: Event) => Promise<boolean> | boolean>(Function),\n },\n onCancel: {\n type: definePropType<(e: Event) => Promise<boolean> | boolean>(Function),\n },\n} as const)\nexport type PopconfirmProps = ExtractPropTypes<typeof popconfirmProps>\n"],"names":[],"mappings":";;;;;AAGY,MAAC,eAAe,GAAG,UAAU,CAAC;AAC1C,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,UAAU;AACtB,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,UAAU;AACtB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,cAAc;AAC3B,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,CAAC;;;;"}
package/es/index.mjs CHANGED
@@ -78,7 +78,7 @@ export { pageHeaderEmits, pageHeaderProps } from './components/page-header/src/p
78
78
  export { ElPageHeader } from './components/page-header/index.mjs';
79
79
  export { paginationEmits, paginationProps } from './components/pagination/src/pagination.mjs';
80
80
  export { ElPagination } from './components/pagination/index.mjs';
81
- export { popconfirmProps } from './components/popconfirm/src/popconfirm.mjs';
81
+ export { popconfirmProps } from './components/popconfirm/src/popconfirm2.mjs';
82
82
  export { ElPopconfirm } from './components/popconfirm/index.mjs';
83
83
  export { default as ElPopperArrow } from './components/popper/src/arrow.mjs';
84
84
  export { default as ElPopperTrigger } from './components/popper/src/trigger.mjs';
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20220122";
1
+ export declare const version = "0.0.20220123";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20220122";
1
+ const version = "0.0.20220123";
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.20220122'\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.20220123'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -75,6 +75,17 @@ declare const _Autocomplete: SFCWithInstall<import("vue").DefineComponent<{
75
75
  select: (item: any) => void;
76
76
  highlight: (index: number) => void;
77
77
  onSuggestionShow: () => void;
78
+ ns: {
79
+ namespace: import("vue").ComputedRef<string>;
80
+ b: (blockSuffix?: string) => string;
81
+ e: (element?: string | undefined) => string;
82
+ m: (modifier?: string | undefined) => string;
83
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
84
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
85
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
86
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
87
+ is: (name: string, state?: boolean) => string;
88
+ };
78
89
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
79
90
  valueKey: {
80
91
  type: StringConstructor;
@@ -219,6 +230,17 @@ export declare const ElAutocomplete: SFCWithInstall<import("vue").DefineComponen
219
230
  select: (item: any) => void;
220
231
  highlight: (index: number) => void;
221
232
  onSuggestionShow: () => void;
233
+ ns: {
234
+ namespace: import("vue").ComputedRef<string>;
235
+ b: (blockSuffix?: string) => string;
236
+ e: (element?: string | undefined) => string;
237
+ m: (modifier?: string | undefined) => string;
238
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
239
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
240
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
241
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
242
+ is: (name: string, state?: boolean) => string;
243
+ };
222
244
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
223
245
  valueKey: {
224
246
  type: StringConstructor;
@@ -17,7 +17,8 @@ var index$3 = require('../../icon/index.js');
17
17
  var iconsVue = require('@element-plus/icons-vue');
18
18
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
19
19
  var index$4 = require('../../../directives/click-outside/index.js');
20
- var index$5 = require('../../../hooks/use-attrs/index.js');
20
+ var index$5 = require('../../../hooks/use-namespace/index.js');
21
+ var index$6 = require('../../../hooks/use-attrs/index.js');
21
22
 
22
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
24
 
@@ -102,7 +103,8 @@ const _sfc_main = vue.defineComponent({
102
103
  "select"
103
104
  ],
104
105
  setup(props, ctx) {
105
- const attrs = index$5.useAttrs();
106
+ const ns = index$5.useNamespace("autocomplete");
107
+ const attrs = index$6.useAttrs();
106
108
  const suggestions = vue.ref([]);
107
109
  const highlightedIndex = vue.ref(-1);
108
110
  const dropdownWidth = vue.ref("");
@@ -113,7 +115,7 @@ const _sfc_main = vue.defineComponent({
113
115
  const regionRef = vue.ref(null);
114
116
  const popper = vue.ref(null);
115
117
  const id = vue.computed(() => {
116
- return `el-autocomplete-${util.generateId()}`;
118
+ return ns.b(String(util.generateId()));
117
119
  });
118
120
  const suggestionVisible = vue.computed(() => {
119
121
  const isValidData = shared.isArray(suggestions.value) && suggestions.value.length > 0;
@@ -220,8 +222,8 @@ const _sfc_main = vue.defineComponent({
220
222
  if (index >= suggestions.value.length) {
221
223
  index = suggestions.value.length - 1;
222
224
  }
223
- const suggestion = regionRef.value.querySelector(".el-autocomplete-suggestion__wrap");
224
- const suggestionList = suggestion.querySelectorAll(".el-autocomplete-suggestion__list li");
225
+ const suggestion = regionRef.value.querySelector(`.${ns.be("suggestion", "wrap")}`);
226
+ const suggestionList = suggestion.querySelectorAll(`.${ns.be("suggestion", "list")} li`);
225
227
  const highlightItem = suggestionList[index];
226
228
  const scrollTop = suggestion.scrollTop;
227
229
  const { offsetTop, scrollHeight } = highlightItem;
@@ -259,7 +261,8 @@ const _sfc_main = vue.defineComponent({
259
261
  focus,
260
262
  select,
261
263
  highlight,
262
- onSuggestionShow
264
+ onSuggestionShow,
265
+ ns
263
266
  };
264
267
  }
265
268
  });
@@ -279,32 +282,29 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
279
282
  "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => _ctx.suggestionVisible = $event),
280
283
  placement: _ctx.placement,
281
284
  "fallback-placements": ["bottom-start", "top-start"],
282
- "popper-class": `el-autocomplete__popper ${_ctx.popperClass}`,
285
+ "popper-class": `${_ctx.ns.e("popper")} ${_ctx.popperClass}`,
283
286
  "append-to-body": _ctx.popperAppendToBody,
284
287
  "gpu-acceleration": false,
285
288
  pure: "",
286
289
  "manual-mode": "",
287
290
  effect: "light",
288
291
  trigger: "click",
289
- transition: "el-zoom-in-top",
292
+ transition: `${_ctx.ns.namespace.value}-zoom-in-top`,
290
293
  persistent: "",
291
294
  onShow: _ctx.onSuggestionShow
292
295
  }, {
293
296
  content: vue.withCtx(() => [
294
297
  vue.createElementVNode("div", {
295
298
  ref: "regionRef",
296
- class: vue.normalizeClass([
297
- "el-autocomplete-suggestion",
298
- _ctx.suggestionLoading && "is-loading"
299
- ]),
299
+ class: vue.normalizeClass([_ctx.ns.b("suggestion"), _ctx.ns.is("loading", _ctx.suggestionLoading)]),
300
300
  style: vue.normalizeStyle({ minWidth: _ctx.dropdownWidth, outline: "none" }),
301
301
  role: "region"
302
302
  }, [
303
303
  vue.createVNode(_component_el_scrollbar, {
304
304
  id: _ctx.id,
305
305
  tag: "ul",
306
- "wrap-class": "el-autocomplete-suggestion__wrap",
307
- "view-class": "el-autocomplete-suggestion__list",
306
+ "wrap-class": _ctx.ns.be("suggestion", "wrap"),
307
+ "view-class": _ctx.ns.be("suggestion", "list"),
308
308
  role: "listbox"
309
309
  }, {
310
310
  default: vue.withCtx(() => [
@@ -331,12 +331,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
331
331
  }), 128))
332
332
  ]),
333
333
  _: 3
334
- }, 8, ["id"])
334
+ }, 8, ["id", "wrap-class", "view-class"])
335
335
  ], 6)
336
336
  ]),
337
337
  default: vue.withCtx(() => [
338
338
  vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
339
- class: vue.normalizeClass(["el-autocomplete", _ctx.$attrs.class]),
339
+ class: vue.normalizeClass([_ctx.ns.b(), _ctx.$attrs.class]),
340
340
  style: vue.normalizeStyle(_ctx.$attrs.style),
341
341
  role: "combobox",
342
342
  "aria-haspopup": "listbox",
@@ -387,7 +387,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
387
387
  ])
388
388
  ]),
389
389
  _: 3
390
- }, 8, ["visible", "placement", "popper-class", "append-to-body", "onShow"]);
390
+ }, 8, ["visible", "placement", "popper-class", "append-to-body", "transition", "onShow"]);
391
391
  }
392
392
  var Autocomplete = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
393
393
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )!\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","ElInput","ElScrollbar","ElIcon","Loading","ClickOutside","NOOP","UPDATE_MODEL_EVENT","useAttrs","ref","computed","generateId","isArray","debounce","_openBlock","_createBlock","_withCtx","_normalizeStyle","_createElementBlock","_Fragment","_normalizeClass","_mergeProps","_withModifiers","_createSlots"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`${ns.e('popper')} ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const ns = useNamespace('autocomplete')\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return ns.b(String(generateId()))\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","ElInput","ElScrollbar","ElIcon","Loading","ClickOutside","NOOP","UPDATE_MODEL_EVENT","useNamespace","useAttrs","ref","computed","generateId","isArray","debounce","_openBlock","_createBlock","_withCtx","_normalizeClass","_normalizeStyle","_createElementBlock","_Fragment","_mergeProps","_withModifiers","_createSlots"],"mappings":"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"}
@@ -76,6 +76,17 @@ declare const _default: import("vue").DefineComponent<{
76
76
  select: (item: any) => void;
77
77
  highlight: (index: number) => void;
78
78
  onSuggestionShow: () => void;
79
+ ns: {
80
+ namespace: import("vue").ComputedRef<string>;
81
+ b: (blockSuffix?: string) => string;
82
+ e: (element?: string | undefined) => string;
83
+ m: (modifier?: string | undefined) => string;
84
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
85
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
86
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
87
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
88
+ is: (name: string, state?: boolean) => string;
89
+ };
79
90
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
80
91
  valueKey: {
81
92
  type: StringConstructor;
@@ -20,6 +20,17 @@ export declare const ElBacktop: import("../../utils/types").SFCWithInstall<impor
20
20
  styleBottom: import("vue").ComputedRef<string>;
21
21
  styleRight: import("vue").ComputedRef<string>;
22
22
  handleClick: (event: MouseEvent) => void;
23
+ ns: {
24
+ namespace: import("vue").ComputedRef<string>;
25
+ b: (blockSuffix?: string) => string;
26
+ e: (element?: string | undefined) => string;
27
+ m: (modifier?: string | undefined) => string;
28
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
29
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
30
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
31
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
32
+ is: (name: string, state?: boolean) => string;
33
+ };
23
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
35
  click: (evt: MouseEvent) => boolean;
25
36
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -20,6 +20,17 @@ declare const _default: import("vue").DefineComponent<{
20
20
  styleBottom: import("vue").ComputedRef<string>;
21
21
  styleRight: import("vue").ComputedRef<string>;
22
22
  handleClick: (event: MouseEvent) => void;
23
+ ns: {
24
+ namespace: import("vue").ComputedRef<string>;
25
+ b: (blockSuffix?: string) => string;
26
+ e: (element?: string | undefined) => string;
27
+ m: (modifier?: string | undefined) => string;
28
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
29
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
30
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
31
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
32
+ is: (name: string, state?: boolean) => string;
33
+ };
23
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
35
  click: (evt: MouseEvent) => boolean;
25
36
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -8,8 +8,10 @@ var index = require('../../icon/index.js');
8
8
  var animation = require('../../../utils/animation.js');
9
9
  var error = require('../../../utils/error.js');
10
10
  var iconsVue = require('@element-plus/icons-vue');
11
+ require('../../../hooks/index.js');
11
12
  var backtop = require('./backtop.js');
12
13
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
+ var index$1 = require('../../../hooks/use-namespace/index.js');
13
15
 
14
16
  const COMPONENT_NAME = "ElBacktop";
15
17
  const _sfc_main = vue.defineComponent({
@@ -21,6 +23,7 @@ const _sfc_main = vue.defineComponent({
21
23
  props: backtop.backtopProps,
22
24
  emits: backtop.backtopEmits,
23
25
  setup(props, { emit }) {
26
+ const ns = index$1.useNamespace("backtop");
24
27
  const el = vue.shallowRef(document.documentElement);
25
28
  const container = vue.shallowRef(document);
26
29
  const visible = vue.ref(false);
@@ -67,14 +70,17 @@ const _sfc_main = vue.defineComponent({
67
70
  visible,
68
71
  styleBottom,
69
72
  styleRight,
70
- handleClick
73
+ handleClick,
74
+ ns
71
75
  };
72
76
  }
73
77
  });
74
78
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
75
79
  const _component_caret_top = vue.resolveComponent("caret-top");
76
80
  const _component_el_icon = vue.resolveComponent("el-icon");
77
- return vue.openBlock(), vue.createBlock(vue.Transition, { name: "el-fade-in" }, {
81
+ return vue.openBlock(), vue.createBlock(vue.Transition, {
82
+ name: `${_ctx.ns.namespace.value}-fade-in`
83
+ }, {
78
84
  default: vue.withCtx(() => [
79
85
  _ctx.visible ? (vue.openBlock(), vue.createElementBlock("div", {
80
86
  key: 0,
@@ -82,21 +88,23 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
82
88
  right: _ctx.styleRight,
83
89
  bottom: _ctx.styleBottom
84
90
  }),
85
- class: "el-backtop",
91
+ class: vue.normalizeClass(_ctx.ns.b()),
86
92
  onClick: _cache[0] || (_cache[0] = vue.withModifiers((...args) => _ctx.handleClick && _ctx.handleClick(...args), ["stop"]))
87
93
  }, [
88
94
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
89
- vue.createVNode(_component_el_icon, { class: "el-backtop__icon" }, {
95
+ vue.createVNode(_component_el_icon, {
96
+ class: vue.normalizeClass(_ctx.ns.e("icon"))
97
+ }, {
90
98
  default: vue.withCtx(() => [
91
99
  vue.createVNode(_component_caret_top)
92
100
  ]),
93
101
  _: 1
94
- })
102
+ }, 8, ["class"])
95
103
  ])
96
- ], 4)) : vue.createCommentVNode("v-if", true)
104
+ ], 6)) : vue.createCommentVNode("v-if", true)
97
105
  ]),
98
106
  _: 3
99
- });
107
+ }, 8, ["name"]);
100
108
  }
101
109
  var Backtop = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
102
110
 
@@ -1 +1 @@
1
- {"version":3,"file":"backtop2.js","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition name=\"el-fade-in\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n class=\"el-backtop\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon class=\"el-backtop__icon\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic } from '@element-plus/utils/animation'\nimport { throwError } from '@element-plus/utils/error'\nimport { CaretTop } from '@element-plus/icons-vue'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElIcon,\n CaretTop,\n },\n props: backtopProps,\n emits: backtopEmits,\n\n setup(props, { emit }) {\n const el = shallowRef<HTMLElement | undefined>(document.documentElement)\n const container = shallowRef<Document | HTMLElement>(document)\n const visible = ref(false)\n const styleBottom = computed(() => `${props.bottom}px`)\n const styleRight = computed(() => `${props.right}px`)\n\n const scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n }\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n const handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\n onMounted(() => {\n if (props.target) {\n el.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n })\n\n return {\n visible,\n styleBottom,\n styleRight,\n handleClick,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","CaretTop","backtopProps","backtopEmits","shallowRef","ref","computed","easeInOutCubic","useThrottleFn","_createBlock","_withCtx","_normalizeStyle"],"mappings":";;;;;;;;;;;;;AA4BA,MAAM,iBAAiB;AAEvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA,cACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAKC,eAAoC,SAAS;AACxD,UAAM,YAAYA,eAAmC;AACrD,UAAM,UAAUC,QAAI;AACpB,UAAM,cAAcC,aAAS,MAAM,GAAG,MAAM;AAC5C,UAAM,aAAaA,aAAS,MAAM,GAAG,MAAM;AAE3C,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,GAAG;AAAO;AACf,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa,GAAG,MAAM;AAC5B,YAAM,YAAY,MAAM;AACtB,YAAI,CAAC,GAAG;AAAO;AACf,cAAM,WAAY,MAAK,QAAQ,aAAa;AAC5C,YAAI,WAAW,GAAG;AAChB,aAAG,MAAM,YAAY,kBAAkBC,yBAAe;AACtD,gCAAsB;AAAA,eACjB;AACL,aAAG,MAAM,YAAY;AAAA;AAAA;AAGzB,4BAAsB;AAAA;AAExB,UAAM,eAAe,MAAM;AACzB,UAAI,GAAG;AAAO,gBAAQ,QAAQ,GAAG,MAAM,aAAa,MAAM;AAAA;AAE5D,UAAM,cAAc,CAAC,UAAsB;AACzC;AACA,WAAK,SAAS;AAAA;AAGhB,UAAM,wBAAwBC,mBAAc,cAAc;AAE1D,kBAAU,MAAM;AACd,UAAI,MAAM,QAAQ;AAChB,WAAG,QACD,SAAS,cAA2B,MAAM,WAAW;AACvD,YAAI,CAAC,GAAG,OAAO;AACb,2BAAW,gBAAgB,0BAA0B,MAAM;AAAA;AAE7D,kBAAU,QAAQ,GAAG;AAAA;AAGvB,4BAAiB,WAAW,UAAU;AAAA;AAGxC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;0BA3EIC;AAAA,aAXEC,YAAO;AAAA;QACZ,KAAK;AAAA,eAAmBC,mBAAU;AAAA,sBAAkB;AAAA;;QAKpD,OAAK;AAAA;SAEN;AAAA,uBACE,KAAyD,uBAAhD,MAAM;AAAA,8CAAgC;AAAA,qBAAbD,YAAa;AAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"backtop2.js","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic } from '@element-plus/utils/animation'\nimport { throwError } from '@element-plus/utils/error'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElIcon,\n CaretTop,\n },\n props: backtopProps,\n emits: backtopEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('backtop')\n const el = shallowRef<HTMLElement | undefined>(document.documentElement)\n const container = shallowRef<Document | HTMLElement>(document)\n const visible = ref(false)\n const styleBottom = computed(() => `${props.bottom}px`)\n const styleRight = computed(() => `${props.right}px`)\n\n const scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n }\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n const handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\n onMounted(() => {\n if (props.target) {\n el.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n })\n\n return {\n visible,\n styleBottom,\n styleRight,\n handleClick,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElIcon","CaretTop","backtopProps","backtopEmits","useNamespace","shallowRef","ref","computed","easeInOutCubic","useThrottleFn","_openBlock","_createBlock","_Transition","_withCtx","_normalizeStyle","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,YACVC;AAAA,cACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAKC,qBAAa;AACxB,UAAM,KAAKC,eAAoC,SAAS;AACxD,UAAM,YAAYA,eAAmC;AACrD,UAAM,UAAUC,QAAI;AACpB,UAAM,cAAcC,aAAS,MAAM,GAAG,MAAM;AAC5C,UAAM,aAAaA,aAAS,MAAM,GAAG,MAAM;AAE3C,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,GAAG;AAAO;AACf,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa,GAAG,MAAM;AAC5B,YAAM,YAAY,MAAM;AACtB,YAAI,CAAC,GAAG;AAAO;AACf,cAAM,WAAY,MAAK,QAAQ,aAAa;AAC5C,YAAI,WAAW,GAAG;AAChB,aAAG,MAAM,YAAY,kBAAkBC,yBAAe;AACtD,gCAAsB;AAAA,eACjB;AACL,aAAG,MAAM,YAAY;AAAA;AAAA;AAGzB,4BAAsB;AAAA;AAExB,UAAM,eAAe,MAAM;AACzB,UAAI,GAAG;AAAO,gBAAQ,QAAQ,GAAG,MAAM,aAAa,MAAM;AAAA;AAE5D,UAAM,cAAc,CAAC,UAAsB;AACzC;AACA,WAAK,SAAS;AAAA;AAGhB,UAAM,wBAAwBC,mBAAc,cAAc;AAE1D,kBAAU,MAAM;AACd,UAAI,MAAM,QAAQ;AAChB,WAAG,QACD,SAAS,cAA2B,MAAM,WAAW;AACvD,YAAI,CAAC,GAAG,OAAO;AACb,2BAAW,gBAAgB,0BAA0B,MAAM;AAAA;AAE7D,kBAAU,QAAQ,GAAG;AAAA;AAGvB,4BAAiB,WAAW,UAAU;AAAA;AAGxC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;SA3FaC,iBAAQC,gBAAeC;AAAA;;aAE9BC,YAAO;AAAA;QACZ,KAAK;AAAA,eAAmBC,mBAAU;AAAA,sBAAkB;AAAA;;QAKpD,OAAKC;AAAA;SAEN;AAAA,uBACE,KAAsD;AAAA,0BAAvC,oBAAK;AAAA;;qBAAWF,YAAa;AAAA;;;;;;;;;;;;;;"}
@@ -107,7 +107,7 @@ var subMenu = require('./menu/src/sub-menu.js');
107
107
  var overlay = require('./overlay/src/overlay.js');
108
108
  var pageHeader = require('./page-header/src/page-header.js');
109
109
  var pagination = require('./pagination/src/pagination.js');
110
- var popconfirm = require('./popconfirm/src/popconfirm.js');
110
+ var popconfirm = require('./popconfirm/src/popconfirm2.js');
111
111
  var arrow = require('./popper/src/arrow.js');
112
112
  var trigger = require('./popper/src/trigger.js');
113
113
  var content = require('./popper/src/content.js');
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var withInstall = require('../../utils/with-install.js');
6
- var popconfirm$1 = require('./src/popconfirm2.js');
7
- var popconfirm = require('./src/popconfirm.js');
6
+ var popconfirm$1 = require('./src/popconfirm.js');
7
+ var popconfirm = require('./src/popconfirm2.js');
8
8
 
9
9
  const ElPopconfirm = withInstall.withInstall(popconfirm$1["default"]);
10
10