{"version":3,"file":"useClientOnly.mjs","sources":["../../../../src/composables/useClientOnly.ts"],"sourcesContent":["import { computed, ref, UnwrapRef, watch } from 'vue'\nimport { isClient } from '../utils/ssr'\n\n/** Returns cb result only on client. Returns null on server  */\nexport const useClientOnly = <T>(cb: () => T) => {\n  const isMounted = computed(isClient)\n  const result = ref<T | null>(null)\n\n  watch(isMounted, () => {\n    if (isMounted.value) {\n      result.value = cb() as UnwrapRef<T>\n    }\n  }, { immediate: true })\n\n  return result\n}\n"],"names":[],"mappings":";;AAIa,MAAA,gBAAgB,CAAI,OAAgB;AACzC,QAAA,YAAY,SAAS,QAAQ;AAC7B,QAAA,SAAS,IAAc,IAAI;AAEjC,QAAM,WAAW,MAAM;AACrB,QAAI,UAAU,OAAO;AACnB,aAAO,QAAQ;IACjB;AAAA,EAAA,GACC,EAAE,WAAW,KAAA,CAAM;AAEf,SAAA;AACT;"}