You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 lines
6.0 KiB

{"ast":null,"code":"import { defineComponent, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createCommentVNode, createElementVNode, createBlock, withCtx, resolveDynamicComponent, createTextVNode, toDisplayString, createVNode } from 'vue';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { ElDivider } from '../../divider/index.mjs';\nimport { pageHeaderProps, pageHeaderEmits } from './page-header.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst __default__ = defineComponent({\n name: \"ElPageHeader\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: pageHeaderProps,\n emits: pageHeaderEmits,\n setup(__props, {\n emit\n }) {\n const {\n t\n } = useLocale();\n const ns = useNamespace(\"page-header\");\n function handleClick() {\n emit(\"back\");\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([unref(ns).b(), {\n [unref(ns).m(\"has-breadcrumb\")]: !!_ctx.$slots.breadcrumb,\n [unref(ns).m(\"has-extra\")]: !!_ctx.$slots.extra,\n [unref(ns).is(\"contentful\")]: !!_ctx.$slots.default\n }])\n }, [_ctx.$slots.breadcrumb ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"breadcrumb\"))\n }, [renderSlot(_ctx.$slots, \"breadcrumb\")], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"header\"))\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"left\"))\n }, [createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"back\")),\n role: \"button\",\n tabindex: \"0\",\n onClick: handleClick\n }, [_ctx.icon || _ctx.$slots.icon ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n \"aria-label\": _ctx.title || unref(t)(\"el.pageHeader.title\"),\n class: normalizeClass(unref(ns).e(\"icon\"))\n }, [renderSlot(_ctx.$slots, \"icon\", {}, () => [_ctx.icon ? (openBlock(), createBlock(unref(ElIcon), {\n key: 0\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))]),\n _: 1\n })) : createCommentVNode(\"v-if\", true)])], 10, [\"aria-label\"])) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"title\"))\n }, [renderSlot(_ctx.$slots, \"title\", {}, () => [createTextVNode(toDisplayString(_ctx.title || unref(t)(\"el.pageHeader.title\")), 1)])], 2)], 2), createVNode(unref(ElDivider), {\n direction: \"vertical\"\n }), createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"content\"))\n }, [renderSlot(_ctx.$slots, \"content\", {}, () => [createTextVNode(toDisplayString(_ctx.content), 1)])], 2)], 2), _ctx.$slots.extra ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"extra\"))\n }, [renderSlot(_ctx.$slots, \"extra\")], 2)) : createCommentVNode(\"v-if\", true)], 2), _ctx.$slots.default ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(unref(ns).e(\"main\"))\n }, [renderSlot(_ctx.$slots, \"default\")], 2)) : createCommentVNode(\"v-if\", true)], 2);\n };\n }\n});\nvar PageHeader = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"page-header.vue\"]]);\nexport { PageHeader as default };","map":{"version":3,"names":["name","t","useLocale","ns","useNamespace","handleClick","emit"],"sources":["../../../../../../packages/components/page-header/src/page-header.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n {\n [ns.m('has-breadcrumb')]: !!$slots.breadcrumb,\n [ns.m('has-extra')]: !!$slots.extra,\n [ns.is('contentful')]: !!$slots.default,\n },\n ]\"\n >\n <div v-if=\"$slots.breadcrumb\" :class=\"ns.e('breadcrumb')\">\n <slot name=\"breadcrumb\" />\n </div>\n <div :class=\"ns.e('header')\">\n <div :class=\"ns.e('left')\">\n <div\n :class=\"ns.e('back')\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"handleClick\"\n >\n <div\n v-if=\"icon || $slots.icon\"\n :aria-label=\"title || t('el.pageHeader.title')\"\n :class=\"ns.e('icon')\"\n >\n <slot name=\"icon\">\n <el-icon v-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n </slot>\n </div>\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title || t('el.pageHeader.title') }}</slot>\n </div>\n </div>\n <el-divider direction=\"vertical\" />\n <div :class=\"ns.e('content')\">\n <slot name=\"content\">{{ content }}</slot>\n </div>\n </div>\n\n <div v-if=\"$slots.extra\" :class=\"ns.e('extra')\">\n <slot name=\"extra\" />\n </div>\n </div>\n\n <div v-if=\"$slots.default\" :class=\"ns.e('main')\">\n <slot />\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ElDivider } from '@element-plus/components/divider'\n\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { pageHeaderEmits, pageHeaderProps } from './page-header'\n\ndefineOptions({\n name: 'ElPageHeader',\n})\n\ndefineProps(pageHeaderProps)\nconst emit = defineEmits(pageHeaderEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('page-header')\n\nfunction handleClick() {\n emit('back')\n}\n</script>\n"],"mappings":";;;;;;;mCA4Dc;EACZA,IAAM;AACR;;;;;;;;IAKM;MAAEC;IAAE,IAAIC,SAAU;IAClB,MAAAC,EAAA,GAAKC,YAAA,CAAa,aAAa;IAErC,SAASC,WAAcA,CAAA;MACrBC,IAAA,CAAK,MAAM;IAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}