{"version":3,"file":"hooks.mjs","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":";AAIgB,SAAAA,EACdC,GACAC,GACA;AACM,QAAAC,IAAQC,EAAIH,EAAS,KAAK;AAEhC,WAASI,EAASC,GAA+B;;AAC/C,IAAIJ,EAAQ,QACVC,EAAM,QAAQG,OAASC,IAAAL,EAAQ,MAAM,gBAAd,gBAAAK,EAA2B,WAAU,OAE5DJ,EAAM,QAAQG;AAAA,EAChB;AAGF,SAAAE,EAAMP,GAAU,CAASK,MAAA;AACvB,IAAAD,EAASC,CAAK;AAAA,EAAA,CACf,GAEDG,EAAU,MAAM;AACd,IAAAC,EAAS,MAAM;AACb,MAAAL,EAASJ,EAAS,KAAK;AAAA,IAAA,CACxB;AAAA,EAAA,CACF,GAEME;AACT;"}