{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/use-sync-prop-ref/index.ts"],"sourcesContent":["import { ref, watch } from 'vue'\n\nimport type { Ref } from 'vue'\n\nexport const useSyncPropRef = <T>(\n  getProp: () => T,\n  setProp: (value: T) => void\n) => {\n  const propRef = ref<T>(getProp()) as Ref<T>\n\n  watch(getProp, (value) => {\n    if (value !== propRef.value) {\n      propRef.value = value\n    }\n  })\n\n  watch(propRef, (value) => {\n    if (value !== getProp()) {\n      setProp(value)\n    }\n  })\n\n  return propRef\n}\n"],"names":[],"mappings":";;AAIa,MAAA,cAAA,GAAiB,CAC5B,OAAA,EACA,OACG,KAAA;AACH,EAAM,MAAA,OAAA,GAAU,GAAO,CAAA,OAAA,EAAS,CAAA,CAAA;AAEhC,EAAM,KAAA,CAAA,OAAA,EAAS,CAAC,KAAU,KAAA;AACxB,IAAI,IAAA,KAAA,KAAU,QAAQ,KAAO,EAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,KAClB;AAAA,GACD,CAAA,CAAA;AAED,EAAM,KAAA,CAAA,OAAA,EAAS,CAAC,KAAU,KAAA;AACxB,IAAI,IAAA,KAAA,KAAU,SAAW,EAAA;AACvB,MAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,KACf;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}