UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

1 lines 1.21 kB
{"version":3,"file":"hooks.cjs","sources":["../../../components/dropdown/hooks.ts"],"sourcesContent":["import { nextTick, onMounted, ref, watch } from 'vue'\n\nimport type { Ref } from 'vue'\n\nexport function useLabel(\n rawLabel: Ref<string | number | null>,\n element: Ref<HTMLElement | null | undefined>,\n) {\n const label = ref(rawLabel.value)\n\n function setLabel(value: string | number | null) {\n if (element.value) {\n label.value = value ?? element.value.textContent?.trim() ?? null\n } else {\n label.value = value\n }\n }\n\n watch(rawLabel, value => {\n setLabel(value)\n })\n\n onMounted(() => {\n nextTick(() => {\n setLabel(rawLabel.value)\n })\n })\n\n return label\n}\n"],"names":["useLabel","rawLabel","element","label","ref","setLabel","value","_a","watch","onMounted","nextTick"],"mappings":"uGAIgB,SAAAA,EACdC,EACAC,EACA,CACM,MAAAC,EAAQC,EAAAA,IAAIH,EAAS,KAAK,EAEhC,SAASI,EAASC,EAA+B,OAC3CJ,EAAQ,MACVC,EAAM,MAAQG,KAASC,EAAAL,EAAQ,MAAM,cAAd,YAAAK,EAA2B,SAAU,KAE5DJ,EAAM,MAAQG,CAChB,CAGFE,OAAAA,QAAMP,EAAmBK,GAAA,CACvBD,EAASC,CAAK,CAAA,CACf,EAEDG,EAAAA,UAAU,IAAM,CACdC,EAAAA,SAAS,IAAM,CACbL,EAASJ,EAAS,KAAK,CAAA,CACxB,CAAA,CACF,EAEME,CACT"}