@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 2.59 kB
Source Map (JSON)
{"version":3,"file":"carousel-item.vue2.mjs","sources":["../../../components/carousel/carousel-item.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount, reactive } from 'vue'\n\nimport { useNameHelper } from '@vexip-ui/config'\nimport { CAROUSEL_STATE } from './symbol'\n\nimport type { ItemState } from './symbol'\n\ndefineOptions({ name: 'CarouselItem' })\n\ndefineSlots<{\n default: (params: { active: boolean }) => any\n}>()\n\nconst carouselState = inject(CAROUSEL_STATE, null)\n\nconst nh = useNameHelper('carousel')\nconst state: ItemState = reactive({\n label: -1,\n width: 0,\n height: 0,\n offset: 0\n})\n\nconst active = computed(() => {\n return carouselState?.isItemActive(state.label) ?? false\n})\nconst className = computed(() => {\n return {\n [nh.be('item')]: true,\n [nh.bem('item', 'active')]: active.value\n }\n})\nconst style = computed(() => {\n const { width, height, offset } = state\n\n return {\n width: width ? `${width}px` : undefined,\n height: height ? `${height}px` : undefined,\n transform: offset ? `translate${carouselState?.vertical ? 'Y' : 'X'}(${offset}px)` : undefined\n }\n})\n\nif (carouselState) {\n carouselState.increaseItem(state)\n\n onBeforeUnmount(() => {\n carouselState.decreaseItem(state)\n })\n}\n\nfunction handleClick() {\n carouselState?.handleSelect(state.label)\n}\n</script>\n\n<template>\n <div\n :class=\"className\"\n role=\"listitem\"\n :style=\"style\"\n @click=\"handleClick\"\n >\n <slot :active=\"active\"></slot>\n </div>\n</template>\n"],"names":["carouselState","inject","CAROUSEL_STATE","nh","useNameHelper","state","reactive","active","computed","className","style","width","height","offset","onBeforeUnmount","handleClick"],"mappings":";;;;;;;AAcM,UAAAA,IAAgBC,EAAOC,GAAgB,IAAI,GAE3CC,IAAKC,EAAc,UAAU,GAC7BC,IAAmBC,EAAS;AAAA,MAChC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IAAA,CACT,GAEKC,IAASC,EAAS,OACfR,KAAA,gBAAAA,EAAe,aAAaK,EAAM,WAAU,EACpD,GACKI,IAAYD,EAAS,OAClB;AAAA,MACL,CAACL,EAAG,GAAG,MAAM,CAAC,GAAG;AAAA,MACjB,CAACA,EAAG,IAAI,QAAQ,QAAQ,CAAC,GAAGI,EAAO;AAAA,IACrC,EACD,GACKG,IAAQF,EAAS,MAAM;AAC3B,YAAM,EAAE,OAAAG,GAAO,QAAAC,GAAQ,QAAAC,EAAW,IAAAR;AAE3B,aAAA;AAAA,QACL,OAAOM,IAAQ,GAAGA,CAAK,OAAO;AAAA,QAC9B,QAAQC,IAAS,GAAGA,CAAM,OAAO;AAAA,QACjC,WAAWC,IAAS,YAAYb,KAAA,QAAAA,EAAe,WAAW,MAAM,GAAG,IAAIa,CAAM,QAAQ;AAAA,MACvF;AAAA,IAAA,CACD;AAED,IAAIb,MACFA,EAAc,aAAaK,CAAK,GAEhCS,EAAgB,MAAM;AACpB,MAAAd,EAAc,aAAaK,CAAK;AAAA,IAAA,CACjC;AAGH,aAASU,IAAc;AACN,MAAAf,KAAA,QAAAA,EAAA,aAAaK,EAAM;AAAA,IAAK;;;;;;;;;;;"}