hongluan-ui
Version:
Hongluan Component Library for Vue 3
1 lines • 2.61 kB
Source Map (JSON)
{"version":3,"file":"list-item.mjs","sources":["../../../../../../packages/components/list/src/list-item.vue"],"sourcesContent":["<template>\n <div ref=\"listItemRef\" :class=\"[namespace, type ? type : '']\">\n <span v-if=\"$slots.prefix\" class=\"item-prefix\">\n <slot name=\"prefix\"></slot>\n </span>\n <span class=\"item-content\">\n <slot></slot>\n </span>\n <span v-if=\"$slots.suffix\" class=\"item-suffix\">\n <slot name=\"suffix\"></slot>\n </span>\n </div>\n</template>\n\n<script lang='ts'>\nimport { defineComponent, getCurrentInstance, inject, onMounted, ref } from 'vue'\nimport { useNamespace } from '@hongluan-ui/hooks'\n\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ListItem',\n props: {\n type: String,\n to: {\n type: [String, Object] as PropType<string | Record<string, unknown>>,\n default: '',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['select-item'],\n setup(props) {\n const { namespace } = useNamespace('list-item')\n const instance = getCurrentInstance()\n const router = instance.appContext.config.globalProperties.$router\n const listItemRef = ref(null)\n\n const { selectItem } = inject('ListComponnetContext')\n\n onMounted(() => {\n listItemRef.value.addEventListener('click', (evt: Event) => {\n selectItem(evt)\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n namespace,\n listItemRef,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode"],"mappings":";;;;;AAoBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,MACF,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;AACX;AACF,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAM,OAAO;AACX,UAAM,EAAE,cAAc,aAAa,WAAW;AAC9C,UAAM,WAAW;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,cAAc,IAAI,IAAI;AAE5B,UAAM,EAAE,eAAe,OAAO,sBAAsB;AAEpD,cAAU,MAAM;AACd,kBAAY,MAAM,iBAAiB,SAAS,CAAC,QAAe;AAC1D,mBAAW,GAAG;AACd,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAAA,OAChE;AAAA,KACF;AAED,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;sBAtDCA,mBAUM;AAAA,IAVD,KAAI;AAAA,IAAe,OAAKC,gBAAG,gBAAW,YAAO,YAAI;AAAA;IACxC,YAAO,uBAAnBD,mBAEO;AAAA;MAFoB,OAAM;AAAA;MAC/BE,WAA2B;AAAA;IAE7BC,mBAEO,UAFD,OAAM;AAAc,MACxBD,WAAa;AAAA;IAEH,YAAO,uBAAnBF,mBAEO;AAAA;MAFoB,OAAM;AAAA;MAC/BE,WAA2B;AAAA;;;;;;;"}