{"version":3,"file":"watch.mjs","sources":["../../../../../packages/overlay/marker/use/watch.ts"],"sourcesContent":["import { watch } from \"vue\";\r\nimport { toIcon, toLngLat } from \"~/utils/converter\";\r\nimport type { Props } from \"./\";\r\n\r\nexport function useWatch({ props, instance }: { props: Props; instance: T.Marker }) {\r\n  watch(\r\n    () => props.position,\r\n    val => val && instance.setLngLat(toLngLat(val))\r\n  );\r\n  watch(\r\n    () => props.draggable,\r\n    val => (val ? instance.enableDragging() : instance.disableDragging())\r\n  );\r\n  watch(\r\n    () => props.icon,\r\n    val => val && instance.setIcon(toIcon(val)),\r\n    { immediate: true }\r\n  );\r\n  watch(\r\n    () => props.zIndexOffset,\r\n    val => val && instance.setZIndexOffset(val),\r\n    { immediate: true }\r\n  );\r\n  watch(\r\n    () => props.opacity,\r\n    val => val && instance.setOpacity(val),\r\n    { immediate: true }\r\n  );\r\n  watch(\r\n    () => props.visible,\r\n    val => (val ? instance.show() : instance.hide()),\r\n    { immediate: true }\r\n  );\r\n}\r\n"],"names":["useWatch","props","instance","watch","val","toLngLat","toIcon"],"mappings":";;AAIO,SAASA,EAAS,EAAE,OAAAC,GAAO,UAAAC,KAAkD;AAClF,EAAAC;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,OAAOG,KAAOF,EAAS,UAAUG,EAASD,CAAG,CAAC;AAAA,EAChD,GACAD;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,OAAQG,IAAMF,EAAS,eAAe,IAAIA,EAAS,gBAAgB;AAAA,EACrE,GACAC;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,OAAOG,KAAOF,EAAS,QAAQI,EAAOF,CAAG,CAAC;AAAA,IAC1C,EAAE,WAAW,GAAK;AAAA,EACpB,GACAD;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,CAAOG,MAAAA,KAAOF,EAAS,gBAAgBE,CAAG;AAAA,IAC1C,EAAE,WAAW,GAAK;AAAA,EACpB,GACAD;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,CAAOG,MAAAA,KAAOF,EAAS,WAAWE,CAAG;AAAA,IACrC,EAAE,WAAW,GAAK;AAAA,EACpB,GACAD;AAAA,IACE,MAAMF,EAAM;AAAA,IACZ,OAAQG,IAAMF,EAAS,KAAK,IAAIA,EAAS,KAAK;AAAA,IAC9C,EAAE,WAAW,GAAK;AAAA,EACpB;AACF;"}