{"version":3,"file":"portal.mjs","sources":["../../../../../packages/utils/private/portal.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-04-06 09:21:02\n * @LastEditTime: 2021-10-02 10:54:02\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\utils\\private\\portal.ts\n */\nimport { getParentVm } from './vm'\n\nexport const portalList: Array<any> = []\n\nexport function getPortalVm(el) {\n  return portalList.find(vm => vm.__vcPortalInnerRef.value !== null && vm.__vcPortalInnerRef.value.contains(el))\n}\n\nexport function closePortalMenus(vm, evt) {\n  do {\n    if (vm.$options.name === 'VcMenu') {\n      vm.hide(evt)\n\n      // is this a point of separation?\n      if (vm.$props.separateClosePopup === true) {\n        return getParentVm(vm)\n      }\n    } else if (vm.__vcPortalInnerRef !== void 0) {\n      // treat it as point of separation if parent is QPopupProxy\n      // (so mobile matches desktop behavior)\n      // and hide it too\n      const parent = getParentVm(vm)\n\n      if (parent !== void 0 && parent.$options.name === 'VcPopupProxy') {\n        vm.hide(evt)\n        return parent\n      } else {\n        return vm\n      }\n    }\n\n    vm = getParentVm(vm)\n  } while (vm !== void 0 && vm !== null)\n}\n\nexport function closePortals(vm, evt, depth) {\n  while (depth !== 0 && vm !== void 0 && vm !== null) {\n    if (vm.__vcPortalInnerRef !== void 0) {\n      depth--\n\n      if (vm.$options.name === 'VcMenu') {\n        vm = closePortalMenus(vm, evt)\n        continue\n      }\n\n      vm.hide(evt)\n    }\n\n    vm = getParentVm(vm)\n  }\n}\n"],"names":[],"mappings":";;AACY,MAAC,UAAU,GAAG,GAAG;AACtB,SAAS,WAAW,CAAC,EAAE,EAAE;AAChC,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnH,CAAC;AACM,SAAS,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE;AAC1C,EAAE,GAAG;AACL,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;AACvC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,kBAAkB,KAAK,IAAI,EAAE;AACjD,QAAQ,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;AAC/B,OAAO;AACP,KAAK,MAAM,IAAI,EAAE,CAAC,kBAAkB,KAAK,KAAK,CAAC,EAAE;AACjD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACrC,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE;AACxE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,QAAQ,OAAO,MAAM,CAAC;AACtB,OAAO,MAAM;AACb,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO;AACP,KAAK;AACL,IAAI,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG,QAAQ,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;AACzC,CAAC;AACM,SAAS,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;AAC7C,EAAE,OAAO,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;AACtD,IAAI,IAAI,EAAE,CAAC,kBAAkB,KAAK,KAAK,CAAC,EAAE;AAC1C,MAAM,KAAK,EAAE,CAAC;AACd,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;AACzC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AACvC,QAAQ,SAAS;AACjB,OAAO;AACP,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,KAAK;AACL,IAAI,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,GAAG;AACH;;;;"}