{"version":3,"file":"index.cjs","sources":["../../../../../packages/hooks/unref-element/index.ts"],"sourcesContent":["import type { VueInstance } from '@antdv/types';\nimport type { MaybeRef } from 'vue';\nimport type { MaybeComputedRef } from '../types';\nimport { unref } from 'vue';\n\nexport type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>;\nexport type MaybeComputedElementRef<T extends MaybeElement = MaybeElement> = MaybeComputedRef<T>;\nexport type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null;\n\nexport type UnRefElementReturn<T extends MaybeElement = MaybeElement> = T extends VueInstance\n  ? Exclude<MaybeElement, VueInstance>\n  : T | undefined;\n\n/**\n * Get the value of value/ref/getter.\n */\nexport function resolveUnref<T>(r: MaybeComputedRef<T>): T {\n  return typeof r === 'function' ? (r as any)() : unref(r);\n}\n\n/**\n * Get the dom element of a ref of element or Vue component instance\n *\n * @param elRef\n */\nexport function unrefElement<T extends MaybeElement>(\n  elRef: MaybeComputedElementRef<T>,\n): UnRefElementReturn<T> {\n  const plain = resolveUnref(elRef);\n  return (plain as VueInstance)?.$el ?? plain;\n}\n"],"names":["unref"],"mappings":";;;;AAgBO,SAAS,aAAgB,CAA2B,EAAA;AACzD,EAAA,OAAO,OAAO,CAAM,KAAA,UAAA,GAAc,CAAU,EAAA,GAAIA,UAAM,CAAC,CAAA,CAAA;AACzD,CAAA;AAOO,SAAS,aACd,KACuB,EAAA;AA3BzB,EAAA,IAAA,EAAA,CAAA;AA4BE,EAAM,MAAA,KAAA,GAAQ,aAAa,KAAK,CAAA,CAAA;AAChC,EAAQ,OAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAuB,QAAvB,IAA8B,GAAA,EAAA,GAAA,KAAA,CAAA;AACxC;;;;;"}