@element-plus/nightly 0.0.20240206 → 0.0.20240207

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 (294) hide show
  1. package/dist/index.full.js +2 -2
  2. package/dist/index.full.min.js +2 -2
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +2 -2
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +2 -2
  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/nb-no.js +1 -1
  152. package/dist/locale/nb-no.min.js +1 -1
  153. package/dist/locale/nb-no.min.mjs +1 -1
  154. package/dist/locale/nb-no.mjs +1 -1
  155. package/dist/locale/nl.js +1 -1
  156. package/dist/locale/nl.min.js +1 -1
  157. package/dist/locale/nl.min.mjs +1 -1
  158. package/dist/locale/nl.mjs +1 -1
  159. package/dist/locale/pa.js +1 -1
  160. package/dist/locale/pa.min.js +1 -1
  161. package/dist/locale/pa.min.mjs +1 -1
  162. package/dist/locale/pa.mjs +1 -1
  163. package/dist/locale/pl.js +1 -1
  164. package/dist/locale/pl.min.js +1 -1
  165. package/dist/locale/pl.min.mjs +1 -1
  166. package/dist/locale/pl.mjs +1 -1
  167. package/dist/locale/pt-br.js +1 -1
  168. package/dist/locale/pt-br.min.js +1 -1
  169. package/dist/locale/pt-br.min.mjs +1 -1
  170. package/dist/locale/pt-br.mjs +1 -1
  171. package/dist/locale/pt.js +1 -1
  172. package/dist/locale/pt.min.js +1 -1
  173. package/dist/locale/pt.min.mjs +1 -1
  174. package/dist/locale/pt.mjs +1 -1
  175. package/dist/locale/ro.js +1 -1
  176. package/dist/locale/ro.min.js +1 -1
  177. package/dist/locale/ro.min.mjs +1 -1
  178. package/dist/locale/ro.mjs +1 -1
  179. package/dist/locale/ru.js +1 -1
  180. package/dist/locale/ru.min.js +1 -1
  181. package/dist/locale/ru.min.mjs +1 -1
  182. package/dist/locale/ru.mjs +1 -1
  183. package/dist/locale/sk.js +1 -1
  184. package/dist/locale/sk.min.js +1 -1
  185. package/dist/locale/sk.min.mjs +1 -1
  186. package/dist/locale/sk.mjs +1 -1
  187. package/dist/locale/sl.js +1 -1
  188. package/dist/locale/sl.min.js +1 -1
  189. package/dist/locale/sl.min.mjs +1 -1
  190. package/dist/locale/sl.mjs +1 -1
  191. package/dist/locale/sr.js +1 -1
  192. package/dist/locale/sr.min.js +1 -1
  193. package/dist/locale/sr.min.mjs +1 -1
  194. package/dist/locale/sr.mjs +1 -1
  195. package/dist/locale/sv.js +1 -1
  196. package/dist/locale/sv.min.js +1 -1
  197. package/dist/locale/sv.min.mjs +1 -1
  198. package/dist/locale/sv.mjs +1 -1
  199. package/dist/locale/sw.js +1 -1
  200. package/dist/locale/sw.min.js +1 -1
  201. package/dist/locale/sw.min.mjs +1 -1
  202. package/dist/locale/sw.mjs +1 -1
  203. package/dist/locale/ta.js +1 -1
  204. package/dist/locale/ta.min.js +1 -1
  205. package/dist/locale/ta.min.mjs +1 -1
  206. package/dist/locale/ta.mjs +1 -1
  207. package/dist/locale/th.js +1 -1
  208. package/dist/locale/th.min.js +1 -1
  209. package/dist/locale/th.min.mjs +1 -1
  210. package/dist/locale/th.mjs +1 -1
  211. package/dist/locale/tk.js +1 -1
  212. package/dist/locale/tk.min.js +1 -1
  213. package/dist/locale/tk.min.mjs +1 -1
  214. package/dist/locale/tk.mjs +1 -1
  215. package/dist/locale/tr.js +1 -1
  216. package/dist/locale/tr.min.js +1 -1
  217. package/dist/locale/tr.min.mjs +1 -1
  218. package/dist/locale/tr.mjs +1 -1
  219. package/dist/locale/ug-cn.js +1 -1
  220. package/dist/locale/ug-cn.min.js +1 -1
  221. package/dist/locale/ug-cn.min.mjs +1 -1
  222. package/dist/locale/ug-cn.mjs +1 -1
  223. package/dist/locale/uk.js +1 -1
  224. package/dist/locale/uk.min.js +1 -1
  225. package/dist/locale/uk.min.mjs +1 -1
  226. package/dist/locale/uk.mjs +1 -1
  227. package/dist/locale/uz-uz.js +1 -1
  228. package/dist/locale/uz-uz.min.js +1 -1
  229. package/dist/locale/uz-uz.min.mjs +1 -1
  230. package/dist/locale/uz-uz.mjs +1 -1
  231. package/dist/locale/vi.js +1 -1
  232. package/dist/locale/vi.min.js +1 -1
  233. package/dist/locale/vi.min.mjs +1 -1
  234. package/dist/locale/vi.mjs +1 -1
  235. package/dist/locale/zh-cn.js +1 -1
  236. package/dist/locale/zh-cn.min.js +1 -1
  237. package/dist/locale/zh-cn.min.mjs +1 -1
  238. package/dist/locale/zh-cn.mjs +1 -1
  239. package/dist/locale/zh-tw.js +1 -1
  240. package/dist/locale/zh-tw.min.js +1 -1
  241. package/dist/locale/zh-tw.min.mjs +1 -1
  242. package/dist/locale/zh-tw.mjs +1 -1
  243. package/es/components/carousel/index.mjs +2 -2
  244. package/es/components/carousel/src/carousel.mjs +177 -56
  245. package/es/components/carousel/src/carousel.mjs.map +1 -1
  246. package/es/components/carousel/src/carousel2.mjs +56 -177
  247. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  248. package/es/components/drawer/index.mjs +2 -2
  249. package/es/components/drawer/src/drawer.mjs +180 -27
  250. package/es/components/drawer/src/drawer.mjs.map +1 -1
  251. package/es/components/drawer/src/drawer2.mjs +27 -180
  252. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  253. package/es/components/index.mjs +3 -3
  254. package/es/components/tabs/index.mjs +2 -2
  255. package/es/components/tabs/src/tab-pane.mjs +72 -13
  256. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  257. package/es/components/tabs/src/tab-pane2.mjs +13 -72
  258. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  259. package/es/components/tour/index.mjs +1 -1
  260. package/es/components/tour/src/step.mjs +44 -169
  261. package/es/components/tour/src/step.mjs.map +1 -1
  262. package/es/components/tour/src/step2.mjs +169 -44
  263. package/es/components/tour/src/step2.mjs.map +1 -1
  264. package/es/index.mjs +3 -3
  265. package/es/version.d.ts +1 -1
  266. package/es/version.mjs +1 -1
  267. package/es/version.mjs.map +1 -1
  268. package/lib/components/carousel/index.js +2 -2
  269. package/lib/components/carousel/src/carousel.js +177 -57
  270. package/lib/components/carousel/src/carousel.js.map +1 -1
  271. package/lib/components/carousel/src/carousel2.js +57 -177
  272. package/lib/components/carousel/src/carousel2.js.map +1 -1
  273. package/lib/components/drawer/index.js +2 -2
  274. package/lib/components/drawer/src/drawer.js +180 -28
  275. package/lib/components/drawer/src/drawer.js.map +1 -1
  276. package/lib/components/drawer/src/drawer2.js +28 -180
  277. package/lib/components/drawer/src/drawer2.js.map +1 -1
  278. package/lib/components/index.js +3 -3
  279. package/lib/components/tabs/index.js +2 -2
  280. package/lib/components/tabs/src/tab-pane.js +72 -13
  281. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  282. package/lib/components/tabs/src/tab-pane2.js +13 -72
  283. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  284. package/lib/components/tour/index.js +1 -1
  285. package/lib/components/tour/src/step.js +44 -168
  286. package/lib/components/tour/src/step.js.map +1 -1
  287. package/lib/components/tour/src/step2.js +168 -44
  288. package/lib/components/tour/src/step2.js.map +1 -1
  289. package/lib/index.js +3 -3
  290. package/lib/version.d.ts +1 -1
  291. package/lib/version.js +1 -1
  292. package/lib/version.js.map +1 -1
  293. package/package.json +1 -1
  294. package/web-types.json +1 -1
@@ -1,33 +1,186 @@
1
- import '../../../utils/index.mjs';
1
+ import { defineComponent, useSlots, computed, ref, openBlock, createBlock, Teleport, createVNode, Transition, unref, withCtx, withDirectives, createElementVNode, mergeProps, withModifiers, normalizeClass, createElementBlock, renderSlot, toDisplayString, createCommentVNode, vShow } from 'vue';
2
+ import { Close } from '@element-plus/icons-vue';
3
+ import { ElOverlay } from '../../overlay/index.mjs';
4
+ import '../../focus-trap/index.mjs';
2
5
  import '../../dialog/index.mjs';
3
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
4
- import { dialogProps, dialogEmits } from '../../dialog/src/dialog.mjs';
6
+ import '../../../utils/index.mjs';
7
+ import { ElIcon } from '../../icon/index.mjs';
8
+ import '../../../hooks/index.mjs';
9
+ import { drawerProps, drawerEmits } from './drawer2.mjs';
10
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
+ import { useDeprecated } from '../../../hooks/use-deprecated/index.mjs';
12
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
14
+ import { useDialog } from '../../dialog/src/use-dialog.mjs';
15
+ import { addUnit } from '../../../utils/dom/style.mjs';
16
+ import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
5
17
 
6
- const drawerProps = buildProps({
7
- ...dialogProps,
8
- direction: {
9
- type: String,
10
- default: "rtl",
11
- values: ["ltr", "rtl", "ttb", "btt"]
12
- },
13
- size: {
14
- type: [String, Number],
15
- default: "30%"
16
- },
17
- withHeader: {
18
- type: Boolean,
19
- default: true
20
- },
21
- modalFade: {
22
- type: Boolean,
23
- default: true
24
- },
25
- headerAriaLevel: {
26
- type: String,
27
- default: "2"
18
+ const _hoisted_1 = ["aria-label", "aria-labelledby", "aria-describedby"];
19
+ const _hoisted_2 = ["id", "aria-level"];
20
+ const _hoisted_3 = ["aria-label"];
21
+ const _hoisted_4 = ["id"];
22
+ const __default__ = defineComponent({
23
+ name: "ElDrawer",
24
+ inheritAttrs: false
25
+ });
26
+ const _sfc_main = /* @__PURE__ */ defineComponent({
27
+ ...__default__,
28
+ props: drawerProps,
29
+ emits: drawerEmits,
30
+ setup(__props, { expose }) {
31
+ const props = __props;
32
+ const slots = useSlots();
33
+ useDeprecated({
34
+ scope: "el-drawer",
35
+ from: "the title slot",
36
+ replacement: "the header slot",
37
+ version: "3.0.0",
38
+ ref: "https://element-plus.org/en-US/component/drawer.html#slots"
39
+ }, computed(() => !!slots.title));
40
+ const drawerRef = ref();
41
+ const focusStartRef = ref();
42
+ const ns = useNamespace("drawer");
43
+ const { t } = useLocale();
44
+ const {
45
+ afterEnter,
46
+ afterLeave,
47
+ beforeLeave,
48
+ visible,
49
+ rendered,
50
+ titleId,
51
+ bodyId,
52
+ onModalClick,
53
+ onOpenAutoFocus,
54
+ onCloseAutoFocus,
55
+ onFocusoutPrevented,
56
+ onCloseRequested,
57
+ handleClose
58
+ } = useDialog(props, drawerRef);
59
+ const isHorizontal = computed(() => props.direction === "rtl" || props.direction === "ltr");
60
+ const drawerSize = computed(() => addUnit(props.size));
61
+ expose({
62
+ handleClose,
63
+ afterEnter,
64
+ afterLeave
65
+ });
66
+ return (_ctx, _cache) => {
67
+ return openBlock(), createBlock(Teleport, {
68
+ to: "body",
69
+ disabled: !_ctx.appendToBody
70
+ }, [
71
+ createVNode(Transition, {
72
+ name: unref(ns).b("fade"),
73
+ onAfterEnter: unref(afterEnter),
74
+ onAfterLeave: unref(afterLeave),
75
+ onBeforeLeave: unref(beforeLeave),
76
+ persisted: ""
77
+ }, {
78
+ default: withCtx(() => [
79
+ withDirectives(createVNode(unref(ElOverlay), {
80
+ mask: _ctx.modal,
81
+ "overlay-class": _ctx.modalClass,
82
+ "z-index": _ctx.zIndex,
83
+ onClick: unref(onModalClick)
84
+ }, {
85
+ default: withCtx(() => [
86
+ createVNode(unref(ElFocusTrap), {
87
+ loop: "",
88
+ trapped: unref(visible),
89
+ "focus-trap-el": drawerRef.value,
90
+ "focus-start-el": focusStartRef.value,
91
+ onFocusAfterTrapped: unref(onOpenAutoFocus),
92
+ onFocusAfterReleased: unref(onCloseAutoFocus),
93
+ onFocusoutPrevented: unref(onFocusoutPrevented),
94
+ onReleaseRequested: unref(onCloseRequested)
95
+ }, {
96
+ default: withCtx(() => [
97
+ createElementVNode("div", mergeProps({
98
+ ref_key: "drawerRef",
99
+ ref: drawerRef,
100
+ "aria-modal": "true",
101
+ "aria-label": _ctx.title || void 0,
102
+ "aria-labelledby": !_ctx.title ? unref(titleId) : void 0,
103
+ "aria-describedby": unref(bodyId)
104
+ }, _ctx.$attrs, {
105
+ class: [unref(ns).b(), _ctx.direction, unref(visible) && "open"],
106
+ style: unref(isHorizontal) ? "width: " + unref(drawerSize) : "height: " + unref(drawerSize),
107
+ role: "dialog",
108
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
109
+ }, ["stop"]))
110
+ }), [
111
+ createElementVNode("span", {
112
+ ref_key: "focusStartRef",
113
+ ref: focusStartRef,
114
+ class: normalizeClass(unref(ns).e("sr-focus")),
115
+ tabindex: "-1"
116
+ }, null, 2),
117
+ _ctx.withHeader ? (openBlock(), createElementBlock("header", {
118
+ key: 0,
119
+ class: normalizeClass(unref(ns).e("header"))
120
+ }, [
121
+ !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
122
+ key: 0,
123
+ close: unref(handleClose),
124
+ titleId: unref(titleId),
125
+ titleClass: unref(ns).e("title")
126
+ }, () => [
127
+ !_ctx.$slots.title ? (openBlock(), createElementBlock("span", {
128
+ key: 0,
129
+ id: unref(titleId),
130
+ role: "heading",
131
+ "aria-level": _ctx.headerAriaLevel,
132
+ class: normalizeClass(unref(ns).e("title"))
133
+ }, toDisplayString(_ctx.title), 11, _hoisted_2)) : createCommentVNode("v-if", true)
134
+ ]) : renderSlot(_ctx.$slots, "title", { key: 1 }, () => [
135
+ createCommentVNode(" DEPRECATED SLOT ")
136
+ ]),
137
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
138
+ key: 2,
139
+ "aria-label": unref(t)("el.drawer.close"),
140
+ class: normalizeClass(unref(ns).e("close-btn")),
141
+ type: "button",
142
+ onClick: _cache[0] || (_cache[0] = (...args) => unref(handleClose) && unref(handleClose)(...args))
143
+ }, [
144
+ createVNode(unref(ElIcon), {
145
+ class: normalizeClass(unref(ns).e("close"))
146
+ }, {
147
+ default: withCtx(() => [
148
+ createVNode(unref(Close))
149
+ ]),
150
+ _: 1
151
+ }, 8, ["class"])
152
+ ], 10, _hoisted_3)) : createCommentVNode("v-if", true)
153
+ ], 2)) : createCommentVNode("v-if", true),
154
+ unref(rendered) ? (openBlock(), createElementBlock("div", {
155
+ key: 1,
156
+ id: unref(bodyId),
157
+ class: normalizeClass(unref(ns).e("body"))
158
+ }, [
159
+ renderSlot(_ctx.$slots, "default")
160
+ ], 10, _hoisted_4)) : createCommentVNode("v-if", true),
161
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
162
+ key: 2,
163
+ class: normalizeClass(unref(ns).e("footer"))
164
+ }, [
165
+ renderSlot(_ctx.$slots, "footer")
166
+ ], 2)) : createCommentVNode("v-if", true)
167
+ ], 16, _hoisted_1)
168
+ ]),
169
+ _: 3
170
+ }, 8, ["trapped", "focus-trap-el", "focus-start-el", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
171
+ ]),
172
+ _: 3
173
+ }, 8, ["mask", "overlay-class", "z-index", "onClick"]), [
174
+ [vShow, unref(visible)]
175
+ ])
176
+ ]),
177
+ _: 3
178
+ }, 8, ["name", "onAfterEnter", "onAfterLeave", "onBeforeLeave"])
179
+ ], 8, ["disabled"]);
180
+ };
28
181
  }
29
182
  });
30
- const drawerEmits = dialogEmits;
183
+ var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "drawer.vue"]]);
31
184
 
32
- export { drawerEmits, drawerProps };
185
+ export { Drawer as default };
33
186
  //# sourceMappingURL=drawer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\n"],"names":[],"mappings":";;;;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,GAAG,WAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;;;;"}
1
+ {"version":3,"file":"drawer.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\n :class=\"[ns.b(), direction, visible && 'open']\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"ns.e('header')\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\ndefineOptions({\n name: 'ElDrawer',\n inheritAttrs: false,\n})\n\nconst props = defineProps(drawerProps)\ndefineEmits(drawerEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst drawerRef = ref<HTMLElement>()\nconst focusStartRef = ref<HTMLElement>()\nconst ns = useNamespace('drawer')\nconst { t } = useLocale()\nconst {\n afterEnter,\n afterLeave,\n beforeLeave,\n visible,\n rendered,\n titleId,\n bodyId,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onFocusoutPrevented,\n onCloseRequested,\n handleClose,\n} = useDialog(props, drawerRef)\n\nconst isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n)\nconst drawerSize = computed(() => addUnit(props.size))\n\ndefineExpose({\n handleClose,\n afterEnter,\n afterLeave,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;mCAkGc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IACE,aAAA,CAAA;AAAA,MACE,KAAO,EAAA,WAAA;AAAA,MACP,IAAM,EAAA,gBAAA;AAAA,MACN,WAAa,EAAA,iBAAA;AAAA,MACb,OAAS,EAAA,OAAA;AAAA,MACT,GAAK,EAAA,4DAAA;AAAA,OAEP,QAAS,CAAA,MAAM,CAAC,CAAC,KAAA,CAAM,KAAK,CAC9B,CAAA,CAAA;AAEA,IAAA,MAAM,YAAY,GAAiB,EAAA,CAAA;AACnC,IAAA,MAAM,gBAAgB,GAAiB,EAAA,CAAA;AACvC,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA;AAAA,MACJ,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,KACE,GAAA,SAAA,CAAU,OAAO,SAAS,CAAA,CAAA;AAE9B,IAAM,MAAA,YAAA,GAAe,SACnB,MAAM,KAAA,CAAM,cAAc,KAAS,IAAA,KAAA,CAAM,cAAc,KACzD,CAAA,CAAA;AACA,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAErD,IAAa,MAAA,CAAA;AAAA,MACX,WAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,186 +1,33 @@
1
- import { defineComponent, useSlots, computed, ref, openBlock, createBlock, Teleport, createVNode, Transition, unref, withCtx, withDirectives, createElementVNode, mergeProps, withModifiers, normalizeClass, createElementBlock, renderSlot, toDisplayString, createCommentVNode, vShow } from 'vue';
2
- import { Close } from '@element-plus/icons-vue';
3
- import { ElOverlay } from '../../overlay/index.mjs';
4
- import '../../focus-trap/index.mjs';
5
- import '../../dialog/index.mjs';
6
1
  import '../../../utils/index.mjs';
7
- import { ElIcon } from '../../icon/index.mjs';
8
- import '../../../hooks/index.mjs';
9
- import { drawerProps, drawerEmits } from './drawer.mjs';
10
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
- import { useDeprecated } from '../../../hooks/use-deprecated/index.mjs';
12
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
14
- import { useDialog } from '../../dialog/src/use-dialog.mjs';
15
- import { addUnit } from '../../../utils/dom/style.mjs';
16
- import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
2
+ import '../../dialog/index.mjs';
3
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
4
+ import { dialogProps, dialogEmits } from '../../dialog/src/dialog.mjs';
17
5
 
18
- const _hoisted_1 = ["aria-label", "aria-labelledby", "aria-describedby"];
19
- const _hoisted_2 = ["id", "aria-level"];
20
- const _hoisted_3 = ["aria-label"];
21
- const _hoisted_4 = ["id"];
22
- const __default__ = defineComponent({
23
- name: "ElDrawer",
24
- inheritAttrs: false
25
- });
26
- const _sfc_main = /* @__PURE__ */ defineComponent({
27
- ...__default__,
28
- props: drawerProps,
29
- emits: drawerEmits,
30
- setup(__props, { expose }) {
31
- const props = __props;
32
- const slots = useSlots();
33
- useDeprecated({
34
- scope: "el-drawer",
35
- from: "the title slot",
36
- replacement: "the header slot",
37
- version: "3.0.0",
38
- ref: "https://element-plus.org/en-US/component/drawer.html#slots"
39
- }, computed(() => !!slots.title));
40
- const drawerRef = ref();
41
- const focusStartRef = ref();
42
- const ns = useNamespace("drawer");
43
- const { t } = useLocale();
44
- const {
45
- afterEnter,
46
- afterLeave,
47
- beforeLeave,
48
- visible,
49
- rendered,
50
- titleId,
51
- bodyId,
52
- onModalClick,
53
- onOpenAutoFocus,
54
- onCloseAutoFocus,
55
- onFocusoutPrevented,
56
- onCloseRequested,
57
- handleClose
58
- } = useDialog(props, drawerRef);
59
- const isHorizontal = computed(() => props.direction === "rtl" || props.direction === "ltr");
60
- const drawerSize = computed(() => addUnit(props.size));
61
- expose({
62
- handleClose,
63
- afterEnter,
64
- afterLeave
65
- });
66
- return (_ctx, _cache) => {
67
- return openBlock(), createBlock(Teleport, {
68
- to: "body",
69
- disabled: !_ctx.appendToBody
70
- }, [
71
- createVNode(Transition, {
72
- name: unref(ns).b("fade"),
73
- onAfterEnter: unref(afterEnter),
74
- onAfterLeave: unref(afterLeave),
75
- onBeforeLeave: unref(beforeLeave),
76
- persisted: ""
77
- }, {
78
- default: withCtx(() => [
79
- withDirectives(createVNode(unref(ElOverlay), {
80
- mask: _ctx.modal,
81
- "overlay-class": _ctx.modalClass,
82
- "z-index": _ctx.zIndex,
83
- onClick: unref(onModalClick)
84
- }, {
85
- default: withCtx(() => [
86
- createVNode(unref(ElFocusTrap), {
87
- loop: "",
88
- trapped: unref(visible),
89
- "focus-trap-el": drawerRef.value,
90
- "focus-start-el": focusStartRef.value,
91
- onFocusAfterTrapped: unref(onOpenAutoFocus),
92
- onFocusAfterReleased: unref(onCloseAutoFocus),
93
- onFocusoutPrevented: unref(onFocusoutPrevented),
94
- onReleaseRequested: unref(onCloseRequested)
95
- }, {
96
- default: withCtx(() => [
97
- createElementVNode("div", mergeProps({
98
- ref_key: "drawerRef",
99
- ref: drawerRef,
100
- "aria-modal": "true",
101
- "aria-label": _ctx.title || void 0,
102
- "aria-labelledby": !_ctx.title ? unref(titleId) : void 0,
103
- "aria-describedby": unref(bodyId)
104
- }, _ctx.$attrs, {
105
- class: [unref(ns).b(), _ctx.direction, unref(visible) && "open"],
106
- style: unref(isHorizontal) ? "width: " + unref(drawerSize) : "height: " + unref(drawerSize),
107
- role: "dialog",
108
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {
109
- }, ["stop"]))
110
- }), [
111
- createElementVNode("span", {
112
- ref_key: "focusStartRef",
113
- ref: focusStartRef,
114
- class: normalizeClass(unref(ns).e("sr-focus")),
115
- tabindex: "-1"
116
- }, null, 2),
117
- _ctx.withHeader ? (openBlock(), createElementBlock("header", {
118
- key: 0,
119
- class: normalizeClass(unref(ns).e("header"))
120
- }, [
121
- !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
122
- key: 0,
123
- close: unref(handleClose),
124
- titleId: unref(titleId),
125
- titleClass: unref(ns).e("title")
126
- }, () => [
127
- !_ctx.$slots.title ? (openBlock(), createElementBlock("span", {
128
- key: 0,
129
- id: unref(titleId),
130
- role: "heading",
131
- "aria-level": _ctx.headerAriaLevel,
132
- class: normalizeClass(unref(ns).e("title"))
133
- }, toDisplayString(_ctx.title), 11, _hoisted_2)) : createCommentVNode("v-if", true)
134
- ]) : renderSlot(_ctx.$slots, "title", { key: 1 }, () => [
135
- createCommentVNode(" DEPRECATED SLOT ")
136
- ]),
137
- _ctx.showClose ? (openBlock(), createElementBlock("button", {
138
- key: 2,
139
- "aria-label": unref(t)("el.drawer.close"),
140
- class: normalizeClass(unref(ns).e("close-btn")),
141
- type: "button",
142
- onClick: _cache[0] || (_cache[0] = (...args) => unref(handleClose) && unref(handleClose)(...args))
143
- }, [
144
- createVNode(unref(ElIcon), {
145
- class: normalizeClass(unref(ns).e("close"))
146
- }, {
147
- default: withCtx(() => [
148
- createVNode(unref(Close))
149
- ]),
150
- _: 1
151
- }, 8, ["class"])
152
- ], 10, _hoisted_3)) : createCommentVNode("v-if", true)
153
- ], 2)) : createCommentVNode("v-if", true),
154
- unref(rendered) ? (openBlock(), createElementBlock("div", {
155
- key: 1,
156
- id: unref(bodyId),
157
- class: normalizeClass(unref(ns).e("body"))
158
- }, [
159
- renderSlot(_ctx.$slots, "default")
160
- ], 10, _hoisted_4)) : createCommentVNode("v-if", true),
161
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
162
- key: 2,
163
- class: normalizeClass(unref(ns).e("footer"))
164
- }, [
165
- renderSlot(_ctx.$slots, "footer")
166
- ], 2)) : createCommentVNode("v-if", true)
167
- ], 16, _hoisted_1)
168
- ]),
169
- _: 3
170
- }, 8, ["trapped", "focus-trap-el", "focus-start-el", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
171
- ]),
172
- _: 3
173
- }, 8, ["mask", "overlay-class", "z-index", "onClick"]), [
174
- [vShow, unref(visible)]
175
- ])
176
- ]),
177
- _: 3
178
- }, 8, ["name", "onAfterEnter", "onAfterLeave", "onBeforeLeave"])
179
- ], 8, ["disabled"]);
180
- };
6
+ const drawerProps = buildProps({
7
+ ...dialogProps,
8
+ direction: {
9
+ type: String,
10
+ default: "rtl",
11
+ values: ["ltr", "rtl", "ttb", "btt"]
12
+ },
13
+ size: {
14
+ type: [String, Number],
15
+ default: "30%"
16
+ },
17
+ withHeader: {
18
+ type: Boolean,
19
+ default: true
20
+ },
21
+ modalFade: {
22
+ type: Boolean,
23
+ default: true
24
+ },
25
+ headerAriaLevel: {
26
+ type: String,
27
+ default: "2"
181
28
  }
182
29
  });
183
- var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "drawer.vue"]]);
30
+ const drawerEmits = dialogEmits;
184
31
 
185
- export { Drawer as default };
32
+ export { drawerEmits, drawerProps };
186
33
  //# sourceMappingURL=drawer2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\n :class=\"[ns.b(), direction, visible && 'open']\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"ns.e('header')\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\ndefineOptions({\n name: 'ElDrawer',\n inheritAttrs: false,\n})\n\nconst props = defineProps(drawerProps)\ndefineEmits(drawerEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst drawerRef = ref<HTMLElement>()\nconst focusStartRef = ref<HTMLElement>()\nconst ns = useNamespace('drawer')\nconst { t } = useLocale()\nconst {\n afterEnter,\n afterLeave,\n beforeLeave,\n visible,\n rendered,\n titleId,\n bodyId,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onFocusoutPrevented,\n onCloseRequested,\n handleClose,\n} = useDialog(props, drawerRef)\n\nconst isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n)\nconst drawerSize = computed(() => addUnit(props.size))\n\ndefineExpose({\n handleClose,\n afterEnter,\n afterLeave,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;mCAkGc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IACE,aAAA,CAAA;AAAA,MACE,KAAO,EAAA,WAAA;AAAA,MACP,IAAM,EAAA,gBAAA;AAAA,MACN,WAAa,EAAA,iBAAA;AAAA,MACb,OAAS,EAAA,OAAA;AAAA,MACT,GAAK,EAAA,4DAAA;AAAA,OAEP,QAAS,CAAA,MAAM,CAAC,CAAC,KAAA,CAAM,KAAK,CAC9B,CAAA,CAAA;AAEA,IAAA,MAAM,YAAY,GAAiB,EAAA,CAAA;AACnC,IAAA,MAAM,gBAAgB,GAAiB,EAAA,CAAA;AACvC,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA;AAAA,MACJ,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,KACE,GAAA,SAAA,CAAU,OAAO,SAAS,CAAA,CAAA;AAE9B,IAAM,MAAA,YAAA,GAAe,SACnB,MAAM,KAAA,CAAM,cAAc,KAAS,IAAA,KAAA,CAAM,cAAc,KACzD,CAAA,CAAA;AACA,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAErD,IAAa,MAAA,CAAA;AAAA,MACX,WAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\n"],"names":[],"mappings":";;;;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,GAAG,WAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;;;;"}
@@ -90,7 +90,7 @@ export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes } from './butt
90
90
  export { buttonGroupContextKey } from './button/src/constants.mjs';
91
91
  export { calendarEmits, calendarProps } from './calendar/src/calendar.mjs';
92
92
  export { cardProps } from './card/src/card.mjs';
93
- export { carouselEmits, carouselProps } from './carousel/src/carousel.mjs';
93
+ export { carouselEmits, carouselProps } from './carousel/src/carousel2.mjs';
94
94
  export { carouselItemProps } from './carousel/src/carousel-item.mjs';
95
95
  export { carouselContextKey } from './carousel/src/constants.mjs';
96
96
  export { cascaderEmits, cascaderProps } from './cascader/src/cascader.mjs';
@@ -117,7 +117,7 @@ export { useDialog } from './dialog/src/use-dialog.mjs';
117
117
  export { dialogEmits, dialogProps } from './dialog/src/dialog.mjs';
118
118
  export { dialogInjectionKey } from './dialog/src/constants.mjs';
119
119
  export { dividerProps } from './divider/src/divider.mjs';
120
- export { drawerEmits, drawerProps } from './drawer/src/drawer.mjs';
120
+ export { drawerEmits, drawerProps } from './drawer/src/drawer2.mjs';
121
121
  export { DROPDOWN_COLLECTION_INJECTION_KEY, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './dropdown/src/dropdown.mjs';
122
122
  export { DROPDOWN_INJECTION_KEY } from './dropdown/src/tokens.mjs';
123
123
  export { emptyProps } from './empty/src/empty.mjs';
@@ -183,7 +183,7 @@ export { tableV2RowProps } from './table-v2/src/row.mjs';
183
183
  export { tabsEmits, tabsProps } from './tabs/src/tabs.mjs';
184
184
  export { tabBarProps } from './tabs/src/tab-bar.mjs';
185
185
  export { tabNavEmits, tabNavProps } from './tabs/src/tab-nav.mjs';
186
- export { tabPaneProps } from './tabs/src/tab-pane.mjs';
186
+ export { tabPaneProps } from './tabs/src/tab-pane2.mjs';
187
187
  export { tabsRootContextKey } from './tabs/src/constants.mjs';
188
188
  export { tagEmits, tagProps } from './tag/src/tag.mjs';
189
189
  export { textProps } from './text/src/text.mjs';
@@ -1,10 +1,10 @@
1
1
  import '../../utils/index.mjs';
2
2
  import Tabs from './src/tabs.mjs';
3
3
  export { tabsEmits, tabsProps } from './src/tabs.mjs';
4
- import TabPane from './src/tab-pane2.mjs';
4
+ import TabPane from './src/tab-pane.mjs';
5
5
  export { tabBarProps } from './src/tab-bar.mjs';
6
6
  export { tabNavEmits, tabNavProps } from './src/tab-nav.mjs';
7
- export { tabPaneProps } from './src/tab-pane.mjs';
7
+ export { tabPaneProps } from './src/tab-pane2.mjs';
8
8
  export { tabsRootContextKey } from './src/constants.mjs';
9
9
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
10
10
 
@@ -1,18 +1,77 @@
1
+ import { defineComponent, getCurrentInstance, useSlots, inject, ref, computed, watch, reactive, onMounted, onUnmounted, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
2
+ import { eagerComputed } from '@vueuse/core';
1
3
  import '../../../utils/index.mjs';
2
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
4
+ import '../../../hooks/index.mjs';
5
+ import { tabsRootContextKey } from './constants.mjs';
6
+ import { tabPaneProps } from './tab-pane2.mjs';
7
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
+ import { throwError } from '../../../utils/error.mjs';
9
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
3
10
 
4
- const tabPaneProps = buildProps({
5
- label: {
6
- type: String,
7
- default: ""
8
- },
9
- name: {
10
- type: [String, Number]
11
- },
12
- closable: Boolean,
13
- disabled: Boolean,
14
- lazy: Boolean
11
+ const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
12
+ const COMPONENT_NAME = "ElTabPane";
13
+ const __default__ = defineComponent({
14
+ name: COMPONENT_NAME
15
15
  });
16
+ const _sfc_main = /* @__PURE__ */ defineComponent({
17
+ ...__default__,
18
+ props: tabPaneProps,
19
+ setup(__props) {
20
+ const props = __props;
21
+ const instance = getCurrentInstance();
22
+ const slots = useSlots();
23
+ const tabsRoot = inject(tabsRootContextKey);
24
+ if (!tabsRoot)
25
+ throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
26
+ const ns = useNamespace("tab-pane");
27
+ const index = ref();
28
+ const isClosable = computed(() => props.closable || tabsRoot.props.closable);
29
+ const active = eagerComputed(() => {
30
+ var _a;
31
+ return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
32
+ });
33
+ const loaded = ref(active.value);
34
+ const paneName = computed(() => {
35
+ var _a;
36
+ return (_a = props.name) != null ? _a : index.value;
37
+ });
38
+ const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
39
+ watch(active, (val) => {
40
+ if (val)
41
+ loaded.value = true;
42
+ });
43
+ const pane = reactive({
44
+ uid: instance.uid,
45
+ slots,
46
+ props,
47
+ paneName,
48
+ active,
49
+ index,
50
+ isClosable
51
+ });
52
+ onMounted(() => {
53
+ tabsRoot.registerPane(pane);
54
+ });
55
+ onUnmounted(() => {
56
+ tabsRoot.unregisterPane(pane.uid);
57
+ });
58
+ return (_ctx, _cache) => {
59
+ return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
60
+ key: 0,
61
+ id: `pane-${unref(paneName)}`,
62
+ class: normalizeClass(unref(ns).b()),
63
+ role: "tabpanel",
64
+ "aria-hidden": !unref(active),
65
+ "aria-labelledby": `tab-${unref(paneName)}`
66
+ }, [
67
+ renderSlot(_ctx.$slots, "default")
68
+ ], 10, _hoisted_1)), [
69
+ [vShow, unref(active)]
70
+ ]) : createCommentVNode("v-if", true);
71
+ };
72
+ }
73
+ });
74
+ var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tab-pane.vue"]]);
16
75
 
17
- export { tabPaneProps };
76
+ export { TabPane as default };
18
77
  //# sourceMappingURL=tab-pane.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
1
+ {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n})\n\nonMounted(() => {\n tabsRoot.registerPane(pane)\n})\n\nonUnmounted(() => {\n tabsRoot.unregisterPane(pane.uid)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;mCAiCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAGA,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,OAAO,kBAAkB,CAAA,CAAA;AAC1C,IAAA,IAAI,CAAC,QAAA;AACH,MAAA,UAAA,CAAW,gBAAgB,4CAA4C,CAAA,CAAA;AAEzE,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAM,QAAQ,GAAY,EAAA,CAAA;AAC1B,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,MAAM,QAAY,IAAA,QAAA,CAAS,MAAM,QAAQ,CAAA,CAAA;AAC3E,IAAM,MAAA,MAAA,GAAS,cACb,MAAM;AAER,MAAM,IAAA,EAAA,CAAA;AACN,MAAA,eAAiB,CAAS,WAAA,CAAA,KAAY,MAAA,CAAA,EAAA,QAAc,CAAK,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AACzD,KAAM,CAAA,CAAA;AAIN,IAAM,MAAA,MAAA,GAAS,GAAQ,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACrB,IAAI,MAAA,QAAA,GAAA,QAAA,CAAA,MAAA;AAAK,MAAA,IAAA,EAAA,CAAA;AAAe,MACzB,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AAED,KAAA,CAAA,CAAA;AAAsB,IAAA,oBACN,GAAA,aAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IACd,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AAAA,MACA,IAAA,GAAA;AAAA,QACA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA,IAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACD,KAAA;AAED,MAAA,KAAA;AACE,MAAA,QAAA;AAA0B,MAC3B,MAAA;AAED,MAAA,KAAA;AACE,MAAS,UAAA;AAAuB,KACjC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}