hongluan-ui
Version:
Hongluan Component Library for Vue 3
1 lines • 2.61 kB
Source Map (JSON)
{"version":3,"file":"menu-collapse-transition.mjs","sources":["../../../../../../packages/components/menu/src/menu-collapse-transition.vue"],"sourcesContent":["<template>\n <slot></slot>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { addClass, removeClass, hasClass } from '@hongluan-ui/utils'\n\nimport type { TransitionProps, BaseTransitionProps } from 'vue'\n\nexport default defineComponent({\n name: 'MenuCollapseTransition',\n setup() {\n const listeners = {\n onBeforeEnter: el => (el.style.opacity = '0.2'),\n onEnter(el, done) {\n addClass(el, 'opacity-transition')\n el.style.opacity = '1'\n done()\n },\n\n onAfterEnter(el) {\n removeClass(el, '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, 'menu-collapse')) {\n removeClass(el, 'menu-collapse')\n el.dataset.oldOverflow = el.style.overflow\n el.dataset.scrollWidth = el.clientWidth.toString()\n addClass(el, 'menu-collapse')\n } else {\n addClass(el, 'menu-collapse')\n el.dataset.oldOverflow = el.style.overflow\n el.dataset.scrollWidth = el.clientWidth.toString()\n removeClass(el, 'menu-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"],"names":["_renderSlot"],"mappings":";;;;;AASA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,QAAQ;AACN,UAAM,YAAY;AAAA,MAChB,eAAe,QAAO,GAAG,MAAM,UAAU;AAAA,MACzC,QAAQ,IAAI,MAAM;AAChB,iBAAS,IAAI,oBAAoB;AACjC,WAAG,MAAM,UAAU;AACnB;AAAK;AACP,MAEA,aAAa,IAAI;AACf,oBAAY,IAAI,oBAAoB;AACpC,WAAG,MAAM,UAAU;AAAA;AACrB,MAEA,cAAc,IAAI;AAChB,YAAI,CAAC,GAAG,SAAS;AACf,UAAC,GAAW,UAAU;AAAC;AAGzB,YAAI,SAAS,IAAI,eAAe,GAAG;AACjC,sBAAY,IAAI,eAAe;AAC/B,aAAG,QAAQ,cAAc,GAAG,MAAM;AAClC,aAAG,QAAQ,cAAc,GAAG,YAAY;AACxC,mBAAS,IAAI,eAAe;AAAA,eACvB;AACL,mBAAS,IAAI,eAAe;AAC5B,aAAG,QAAQ,cAAc,GAAG,MAAM;AAClC,aAAG,QAAQ,cAAc,GAAG,YAAY;AACxC,sBAAY,IAAI,eAAe;AAAA;AAGjC,WAAG,MAAM,QAAQ,GAAG,GAAG;AACvB,WAAG,MAAM,WAAW;AAAA;AACtB,MAEA,QAAQ,IAAiB;AACvB,iBAAS,IAAI,gCAAgC;AAC7C,WAAG,MAAM,QAAQ,GAAG,GAAG,QAAQ;AAAA;AACjC;AAGF,WAAO;AAAA,MACL;AAAA;AACF;AAEJ,CAAC;;SAvDCA,WAAa;;;;;;"}