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.1 KiB
1 lines
6.1 KiB
{"ast":null,"code":"import { defineComponent, openBlock, createBlock, Transition, mergeProps, withCtx, renderSlot } from 'vue';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { addClass, removeClass, hasClass } from '../../../utils/dom/style.mjs';\nconst _sfc_main = defineComponent({\n name: \"ElMenuCollapseTransition\",\n setup() {\n const ns = useNamespace(\"menu\");\n const listeners = {\n onBeforeEnter: el => el.style.opacity = \"0.2\",\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = \"1\";\n done();\n },\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = \"\";\n },\n onBeforeLeave(el) {\n if (!el.dataset) {\n el.dataset = {};\n }\n if (hasClass(el, ns.m(\"collapse\"))) {\n removeClass(el, ns.m(\"collapse\"));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n addClass(el, ns.m(\"collapse\"));\n } else {\n addClass(el, ns.m(\"collapse\"));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n removeClass(el, ns.m(\"collapse\"));\n }\n el.style.width = `${el.scrollWidth}px`;\n el.style.overflow = \"hidden\";\n },\n onLeave(el) {\n addClass(el, \"horizontal-collapse-transition\");\n el.style.width = `${el.dataset.scrollWidth}px`;\n }\n };\n return {\n listeners\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(Transition, mergeProps({\n mode: \"out-in\"\n }, _ctx.listeners), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 16);\n}\nvar ElMenuCollapseTransition = /* @__PURE__ */_export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"menu-collapse-transition.vue\"]]);\nexport { ElMenuCollapseTransition as default };","map":{"version":3,"names":["_sfc_main","defineComponent","name","setup","ns","useNamespace","listeners","onBeforeEnter","el","style","opacity","onEnter","done","addClass","namespace","value","onAfterEnter","removeClass","onBeforeLeave","dataset","hasClass","m","oldOverflow","overflow","scrollWidth","clientWidth","toString","width","onLeave","openBlock","createBlock","Transition","mergeProps","mode","_ctx","default","withCtx","renderSlot","$slots","_"],"sources":["../../../../../../packages/components/menu/src/menu-collapse-transition.vue"],"sourcesContent":["<template>\n <transition mode=\"out-in\" v-bind=\"listeners\">\n <slot />\n </transition>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addClass, hasClass, removeClass } from '@element-plus/utils'\n\nimport type { BaseTransitionProps, TransitionProps } from 'vue'\n\nexport default defineComponent({\n name: 'ElMenuCollapseTransition',\n setup() {\n const ns = useNamespace('menu')\n const listeners = {\n onBeforeEnter: (el) => (el.style.opacity = '0.2'),\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`)\n el.style.opacity = '1'\n done()\n },\n\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`)\n el.style.opacity = ''\n },\n\n onBeforeLeave(el) {\n if (!el.dataset) {\n ;(el as any).dataset = {}\n }\n\n if (hasClass(el, ns.m('collapse'))) {\n removeClass(el, ns.m('collapse'))\n el.dataset.oldOverflow = el.style.overflow\n el.dataset.scrollWidth = el.clientWidth.toString()\n addClass(el, ns.m('collapse'))\n } else {\n addClass(el, ns.m('collapse'))\n el.dataset.oldOverflow = el.style.overflow\n el.dataset.scrollWidth = el.clientWidth.toString()\n removeClass(el, ns.m('collapse'))\n }\n\n el.style.width = `${el.scrollWidth}px`\n el.style.overflow = 'hidden'\n },\n\n onLeave(el: HTMLElement) {\n addClass(el, 'horizontal-collapse-transition')\n el.style.width = `${el.dataset.scrollWidth}px`\n },\n } as BaseTransitionProps<HTMLElement> as TransitionProps\n\n return {\n listeners,\n }\n },\n})\n</script>\n"],"mappings":";;;;AAYA,MAAKA,SAAA,GAAaC,eAAa;EAC7BC,IAAM;EACNC,KAAQA,CAAA;IACA,MAAAC,EAAA,GAAKC,YAAA,CAAa,MAAM;IAC9B,MAAMC,SAAY;MAChBC,aAAe,EAACC,EAAQ,IAAAA,EAAA,CAAGC,KAAA,CAAMC,OAAU;MAC3CC,QAAQH,EAAA,EAAII,IAAM;QAChBC,QAAA,CAASL,EAAI,KAAGJ,EAAG,CAAAU,SAAA,CAAUC,KAAK,qBAAqB;QACvDP,EAAA,CAAGC,KAAA,CAAMC,OAAU;QACdE,IAAA;MAAA,CACP;MAEAI,aAAaR,EAAI;QACfS,WAAA,CAAYT,EAAI,KAAGJ,EAAG,CAAAU,SAAA,CAAUC,KAAK,qBAAqB;QAC1DP,EAAA,CAAGC,KAAA,CAAMC,OAAU;MAAA,CACrB;MAEAQ,cAAcV,EAAI;QACZ,KAACA,EAAA,CAAGW,OAAS;UACbX,EAAA,CAAWW,OAAA,GAAU,EAAC;QAAA;QAG1B,IAAIC,QAAA,CAASZ,EAAI,EAAAJ,EAAA,CAAGiB,CAAE,WAAU,CAAC,CAAG;UAClCJ,WAAA,CAAYT,EAAI,EAAAJ,EAAA,CAAGiB,CAAE,WAAU,CAAC;UAC7Bb,EAAA,CAAAW,OAAA,CAAQG,WAAc,GAAAd,EAAA,CAAGC,KAAM,CAAAc,QAAA;UAClCf,EAAA,CAAGW,OAAQ,CAAAK,WAAA,GAAchB,EAAG,CAAAiB,WAAA,CAAYC,QAAS;UACjDb,QAAA,CAASL,EAAI,EAAAJ,EAAA,CAAGiB,CAAE,WAAU,CAAC;QAAA,CACxB;UACLR,QAAA,CAASL,EAAI,EAAAJ,EAAA,CAAGiB,CAAE,WAAU,CAAC;UAC1Bb,EAAA,CAAAW,OAAA,CAAQG,WAAc,GAAAd,EAAA,CAAGC,KAAM,CAAAc,QAAA;UAClCf,EAAA,CAAGW,OAAQ,CAAAK,WAAA,GAAchB,EAAG,CAAAiB,WAAA,CAAYC,QAAS;UACjDT,WAAA,CAAYT,EAAI,EAAAJ,EAAA,CAAGiB,CAAE,WAAU,CAAC;QAAA;QAGlCb,EAAA,CAAGC,KAAM,CAAAkB,KAAA,GAAQ,GAAGnB,EAAA,CAAGgB,WAAW;QAClChB,EAAA,CAAGC,KAAA,CAAMc,QAAW;MAAA,CACtB;MAEAK,QAAQpB,EAAiB;QACvBK,QAAA,CAASL,EAAA,EAAI,gCAAgC;QAC7CA,EAAA,CAAGC,KAAM,CAAAkB,KAAA,GAAQ,GAAGnB,EAAA,CAAGW,OAAA,CAAQK,WAAW;MAAA;IAC5C,CACF;IAEO;MACLlB;IAAA,CACF;EAAA;AAEJ,CAAC;;EA3DC,OAAAuB,SAAA,IAAAC,WAAA,CAAAC,UAAA,EAAAC,UAAA;IAAAC,IAAA;EAAA,GAAAC,IAAA,CAAA5B,SAAA;IAEa6B,OAAA,EAAAC,OAAA,QAAAC,UAAA,CAFDH,IAAK,CAAAI,MAAA,WAA0B;IAAAC,CAAA;EACjC,MAAR;AAAQ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|