{"version":3,"file":"data-table-align-adjuster.vue2.mjs","sources":["../../../../../packages/components/data-table/src/data-table-align-adjuster.vue"],"sourcesContent":["<template>\n  <teleport to=\"body\">\n    <div\n      v-if=\"visible\"\n      :class=\"ns.e('align-adjuster')\"\n      :style=\"style\"\n      ref=\"adjusterRef\"\n    >\n      <ElRadioGroup\n        :model-value=\"column!.align || 'left'\"\n        @update:model-value=\"column!.align = $event\"\n        @change=\"close\"\n      >\n        <ElRadio value=\"left\">左</ElRadio>\n        <ElRadio value=\"center\">中</ElRadio>\n        <ElRadio value=\"right\">右</ElRadio>\n      </ElRadioGroup>\n\n      <slot v-bind=\"{ column: column! }\" />\n    </div>\n  </teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, nextTick, shallowReactive, shallowRef } from 'vue'\nimport { ElRadio, ElRadioGroup } from '@element-ultra/components/radio'\nimport type { InternalColumn } from './utils'\nimport { dataTableToken } from './token'\nconst { ns } = inject(dataTableToken)!\n\nconst visible = shallowRef(false)\n\nconst style = shallowReactive({\n  left: '',\n  top: ''\n})\n\nlet column = shallowRef<InternalColumn>()\nconst adjusterRef = shallowRef<HTMLElement>()\n\nconst close = () => {\n  visible.value = false\n}\n\ndefineExpose({\n  /** 打开弹框 */\n  open(el: HTMLElement, _column: InternalColumn) {\n    if (_column.key.startsWith('$')) return\n\n    visible.value = true\n\n    const { left, right, bottom, width } = el.getBoundingClientRect()\n\n    // 判断当前的元素是在左半区还是右半区\n    let inLeft = left + width / 2 < window.innerWidth / 2\n\n    nextTick(() => {\n      if (inLeft) {\n        style.left = left + 'px'\n      } else {\n        style.left = right - adjusterRef.value!.offsetWidth + 'px'\n      }\n      style.top = bottom + 4 + 'px'\n    })\n\n    column.value = _column\n  },\n\n  close\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;AA4BA,IAAA,MAAM,EAAE,EAAA,EAAO,GAAA,MAAA,CAAO,cAAc,CAAA,CAAA;AAEpC,IAAM,MAAA,OAAA,GAAU,WAAW,KAAK,CAAA,CAAA;AAEhC,IAAA,MAAM,QAAQ,eAAgB,CAAA;AAAA,MAC5B,IAAM,EAAA,EAAA;AAAA,MACN,GAAK,EAAA,EAAA;AAAA,KACN,CAAA,CAAA;AAED,IAAA,IAAI,SAAS,UAA2B,EAAA,CAAA;AACxC,IAAA,MAAM,cAAc,UAAwB,EAAA,CAAA;AAE5C,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,KAClB,CAAA;AAEA,IAAa,MAAA,CAAA;AAAA;AAAA,MAEX,IAAA,CAAK,IAAiB,OAAyB,EAAA;AAC7C,QAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,UAAA,CAAW,GAAG,CAAA;AAAG,UAAA,OAAA;AAEjC,QAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAEhB,QAAA,MAAM,EAAE,IAAM,EAAA,KAAA,EAAO,QAAQ,KAAM,EAAA,GAAI,GAAG,qBAAsB,EAAA,CAAA;AAGhE,QAAA,IAAI,MAAS,GAAA,IAAA,GAAO,KAAQ,GAAA,CAAA,GAAI,OAAO,UAAa,GAAA,CAAA,CAAA;AAEpD,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,IAAI,MAAQ,EAAA;AACV,YAAA,KAAA,CAAM,OAAO,IAAO,GAAA,IAAA,CAAA;AAAA,WACf,MAAA;AACL,YAAA,KAAA,CAAM,IAAO,GAAA,KAAA,GAAQ,WAAY,CAAA,KAAA,CAAO,WAAc,GAAA,IAAA,CAAA;AAAA,WACxD;AACA,UAAM,KAAA,CAAA,GAAA,GAAM,SAAS,CAAI,GAAA,IAAA,CAAA;AAAA,SAC1B,CAAA,CAAA;AAED,QAAA,MAAA,CAAO,KAAQ,GAAA,OAAA,CAAA;AAAA,OACjB;AAAA,MAEA,KAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}