| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { defineComponent, inject, computed, openBlock, createElementBlock, unref, normalizeClass, normalizeStyle, createElementVNode, renderSlot, toDisplayString, createVNode, withCtx, createBlock, resolveDynamicComponent, createCommentVNode } from 'vue';
- import { ElIcon } from '../../icon/index.mjs';
- import { dialogInjectionKey } from './constants.mjs';
- import { dialogContentProps, dialogContentEmits } from './dialog-content.mjs';
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
- import { FOCUS_TRAP_INJECTION_KEY } from '../../focus-trap/src/tokens.mjs';
- import { useDraggable } from '../../../hooks/use-draggable/index.mjs';
- import { CloseComponents } from '../../../utils/vue/icon.mjs';
- import { composeRefs } from '../../../utils/vue/refs.mjs';
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
- const __default__ = defineComponent({ name: "ElDialogContent" });
- const _sfc_main = /* @__PURE__ */ defineComponent({
- ...__default__,
- props: dialogContentProps,
- emits: dialogContentEmits,
- setup(__props, { expose }) {
- const props = __props;
- const { t } = useLocale();
- const { Close } = CloseComponents;
- const { dialogRef, headerRef, bodyId, ns, style } = inject(dialogInjectionKey);
- const { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY);
- const dialogKls = computed(() => [
- ns.b(),
- ns.is("fullscreen", props.fullscreen),
- ns.is("draggable", props.draggable),
- ns.is("align-center", props.alignCenter),
- { [ns.m("center")]: props.center }
- ]);
- const composedDialogRef = composeRefs(focusTrapRef, dialogRef);
- const draggable = computed(() => props.draggable);
- const overflow = computed(() => props.overflow);
- const { resetPosition, updatePosition } = useDraggable(dialogRef, headerRef, draggable, overflow);
- expose({
- resetPosition,
- updatePosition
- });
- return (_ctx, _cache) => {
- return openBlock(), createElementBlock("div", {
- ref: unref(composedDialogRef),
- class: normalizeClass(unref(dialogKls)),
- style: normalizeStyle(unref(style)),
- tabindex: "-1"
- }, [
- createElementVNode("header", {
- ref_key: "headerRef",
- ref: headerRef,
- class: normalizeClass([unref(ns).e("header"), _ctx.headerClass, { "show-close": _ctx.showClose }])
- }, [
- renderSlot(_ctx.$slots, "header", {}, () => [
- createElementVNode("span", {
- role: "heading",
- "aria-level": _ctx.ariaLevel,
- class: normalizeClass(unref(ns).e("title"))
- }, toDisplayString(_ctx.title), 11, ["aria-level"])
- ]),
- _ctx.showClose ? (openBlock(), createElementBlock("button", {
- key: 0,
- "aria-label": unref(t)("el.dialog.close"),
- class: normalizeClass(unref(ns).e("headerbtn")),
- type: "button",
- onClick: ($event) => _ctx.$emit("close")
- }, [
- createVNode(unref(ElIcon), {
- class: normalizeClass(unref(ns).e("close"))
- }, {
- default: withCtx(() => [
- (openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon || unref(Close))))
- ]),
- _: 1
- }, 8, ["class"])
- ], 10, ["aria-label", "onClick"])) : createCommentVNode("v-if", true)
- ], 2),
- createElementVNode("div", {
- id: unref(bodyId),
- class: normalizeClass([unref(ns).e("body"), _ctx.bodyClass])
- }, [
- renderSlot(_ctx.$slots, "default")
- ], 10, ["id"]),
- _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", {
- key: 0,
- class: normalizeClass([unref(ns).e("footer"), _ctx.footerClass])
- }, [
- renderSlot(_ctx.$slots, "footer")
- ], 2)) : createCommentVNode("v-if", true)
- ], 6);
- };
- }
- });
- var ElDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "dialog-content.vue"]]);
- export { ElDialogContent as default };
- //# sourceMappingURL=dialog-content2.mjs.map
|