{"version":3,"file":"index.mjs","sources":["../../../../../hooks/use-drawer/index.ts"],"sourcesContent":["import { getCurrentInstance, onMounted, ref, watch } from 'vue'\nimport type { SetupContext } from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@fusion-ui-vue/constants'\nimport type { DrawerEmits } from '@fusion-ui-vue/components'\nexport const useDrawer = (props: any) => {\n  const instance = getCurrentInstance()!\n  const emit = instance.emit as SetupContext<DrawerEmits>['emit']\n  const visible = ref(false)\n  function doOpen() {\n    document.body.style.overflow = 'hidden'\n    document.body.style.width = 'calc(100% - 6px)'\n    visible.value = true\n    emit(UPDATE_MODEL_EVENT, true)\n  }\n  function doClose() {\n    document.body.style.overflow = ''\n    document.body.style.width = ''\n    visible.value = false\n    emit(UPDATE_MODEL_EVENT, false)\n  }\n\n  watch(\n    () => props.modelValue,\n    val => {\n      if (val) {\n        doOpen()\n      } else {\n        if (visible.value) {\n          visible.value = false\n        }\n      }\n    }\n  )\n\n  onMounted(() => {\n    if (props.modelValue) {\n      doOpen()\n    }\n  })\n\n  return {\n    doOpen,\n    doClose,\n    visible,\n  }\n}\n"],"names":[],"mappings":";;;;AAIa,MAAA,SAAA,GAAY,CAAC,KAAe,KAAA;AACvC,EAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,EAAA,MAAM,OAAO,QAAS,CAAA,IAAA,CAAA;AACtB,EAAM,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AACzB,EAAA,SAAS,MAAS,GAAA;AAChB,IAAS,QAAA,CAAA,IAAA,CAAK,MAAM,QAAW,GAAA,QAAA,CAAA;AAC/B,IAAS,QAAA,CAAA,IAAA,CAAK,MAAM,KAAQ,GAAA,kBAAA,CAAA;AAC5B,IAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,IAAA,IAAA,CAAK,oBAAoB,IAAI,CAAA,CAAA;AAAA,GAC/B;AACA,EAAA,SAAS,OAAU,GAAA;AACjB,IAAS,QAAA,CAAA,IAAA,CAAK,MAAM,QAAW,GAAA,EAAA,CAAA;AAC/B,IAAS,QAAA,CAAA,IAAA,CAAK,MAAM,KAAQ,GAAA,EAAA,CAAA;AAC5B,IAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAChB,IAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAAA,GAChC;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,KAAM,CAAA,UAAA;AAAA,IACZ,CAAO,GAAA,KAAA;AACL,MAAA,IAAI,GAAK,EAAA;AACP,QAAO,MAAA,EAAA,CAAA;AAAA,OACF,MAAA;AACL,QAAA,IAAI,QAAQ,KAAO,EAAA;AACjB,UAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,SAClB;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAM,UAAY,EAAA;AACpB,MAAO,MAAA,EAAA,CAAA;AAAA,KACT;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}