{"version":3,"file":"unwrap-element.mjs","sources":["../../../../../../../packages/hooks/use-floating/vue/utils/unwrap-element.ts"],"sourcesContent":["import { getNodeName, isNode } from '@vuesax-alpha/hooks/use-floating/utils/dom'\nimport type { ComponentPublicInstance } from 'vue-demi'\n\nimport type { MaybeElement } from '../types'\n\nfunction isComponentPublicInstance(\n  target: unknown\n): target is ComponentPublicInstance {\n  return target != null && Object.prototype.hasOwnProperty.call(target, '$el')\n}\n\nexport function unwrapElement<T>(target: MaybeElement<T>) {\n  if (isComponentPublicInstance(target)) {\n    const element = target.$el as Exclude<\n      MaybeElement<T>,\n      ComponentPublicInstance\n    >\n\n    return isNode(element) && getNodeName(element) === '#comment'\n      ? null\n      : element\n  }\n\n  return target as Exclude<MaybeElement<T>, ComponentPublicInstance>\n}\n"],"names":[],"mappings":";;AAKA,SAAS,0BACP,MACmC,EAAA;AACnC,EAAA,OAAO,UAAU,IAAQ,IAAA,MAAA,CAAO,UAAU,cAAe,CAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAC7E,CAAA;AAEO,SAAS,cAAiB,MAAyB,EAAA;AACxD,EAAI,IAAA,yBAAA,CAA0B,MAAM,CAAG,EAAA;AACrC,IAAA,MAAM,UAAU,MAAO,CAAA,GAAA,CAAA;AAKvB,IAAA,OAAO,OAAO,OAAO,CAAA,IAAK,YAAY,OAAO,CAAA,KAAM,aAC/C,IACA,GAAA,OAAA,CAAA;AAAA,GACN;AAEA,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}