{"version":3,"file":"getFixScaleEleTransPosition.cjs","sources":["../../../../../../packages/vue-components/vc-image/src/getFixScaleEleTransPosition.ts"],"sourcesContent":["import { getClientSize } from '@antdv/utils';\n\nfunction fixPoint(key: 'x' | 'y', start: number, width: number, clientWidth: number) {\n  const startAddWidth = start + width;\n  const offsetStart = (width - clientWidth) / 2;\n\n  if (width > clientWidth) {\n    if (start > 0) {\n      return {\n        [key]: offsetStart,\n      };\n    }\n    if (start < 0 && startAddWidth < clientWidth) {\n      return {\n        [key]: -offsetStart,\n      };\n    }\n  } else if (start < 0 || startAddWidth > clientWidth) {\n    return {\n      [key]: start < 0 ? offsetStart : -offsetStart,\n    };\n  }\n  return {};\n}\n\n/**\n * Fix positon x,y point when\n *\n * Ele width && height < client\n * - Back origin\n *\n * - Ele width | height > clientWidth | clientHeight\n * - left | top > 0 -> Back 0\n * - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight\n *\n * Regardless of other\n */\nexport default function getFixScaleEleTransPosition(\n  width: number,\n  height: number,\n  left: number,\n  top: number,\n): null | { x: number; y: number } {\n  const { width: clientWidth, height: clientHeight } = getClientSize();\n\n  let fixPos = null;\n\n  if (width <= clientWidth && height <= clientHeight) {\n    fixPos = {\n      x: 0,\n      y: 0,\n    };\n  } else if (width > clientWidth || height > clientHeight) {\n    fixPos = {\n      ...fixPoint('x', left, width, clientWidth),\n      ...fixPoint('y', top, height, clientHeight),\n    };\n  }\n\n  return fixPos;\n}\n"],"names":["getClientSize"],"mappings":";;;;;;;AAEA,SAAS,QAAS,CAAA,GAAA,EAAgB,KAAe,EAAA,KAAA,EAAe,WAAqB,EAAA;AACnF,EAAA,MAAM,gBAAgB,KAAQ,GAAA,KAAA,CAAA;AAC9B,EAAM,MAAA,WAAA,GAAA,CAAe,QAAQ,WAAe,IAAA,CAAA,CAAA;AAE5C,EAAA,IAAI,QAAQ,WAAa,EAAA;AACvB,IAAA,IAAI,QAAQ,CAAG,EAAA;AACb,MAAO,OAAA;AAAA,QACL,CAAC,GAAG,GAAG,WAAA;AAAA,OACT,CAAA;AAAA,KACF;AACA,IAAI,IAAA,KAAA,GAAQ,CAAK,IAAA,aAAA,GAAgB,WAAa,EAAA;AAC5C,MAAO,OAAA;AAAA,QACL,CAAC,GAAG,GAAG,CAAC,WAAA;AAAA,OACV,CAAA;AAAA,KACF;AAAA,GACS,MAAA,IAAA,KAAA,GAAQ,CAAK,IAAA,aAAA,GAAgB,WAAa,EAAA;AACnD,IAAO,OAAA;AAAA,MACL,CAAC,GAAG,GAAG,KAAQ,GAAA,CAAA,GAAI,cAAc,CAAC,WAAA;AAAA,KACpC,CAAA;AAAA,GACF;AACA,EAAA,OAAO,EAAC,CAAA;AACV,CAAA;AAcA,SAAwB,2BACtB,CAAA,KAAA,EACA,MACA,EAAA,IAAA,EACA,GACiC,EAAA;AACjC,EAAA,MAAM,EAAE,KAAO,EAAA,WAAA,EAAa,MAAQ,EAAA,YAAA,KAAiBA,iBAAc,EAAA,CAAA;AAEnE,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AAEb,EAAI,IAAA,KAAA,IAAS,WAAe,IAAA,MAAA,IAAU,YAAc,EAAA;AAClD,IAAS,MAAA,GAAA;AAAA,MACP,CAAG,EAAA,CAAA;AAAA,MACH,CAAG,EAAA,CAAA;AAAA,KACL,CAAA;AAAA,GACS,MAAA,IAAA,KAAA,GAAQ,WAAe,IAAA,MAAA,GAAS,YAAc,EAAA;AACvD,IAAS,MAAA,GAAA;AAAA,MACP,GAAG,QAAA,CAAS,GAAK,EAAA,IAAA,EAAM,OAAO,WAAW,CAAA;AAAA,MACzC,GAAG,QAAA,CAAS,GAAK,EAAA,GAAA,EAAK,QAAQ,YAAY,CAAA;AAAA,KAC5C,CAAA;AAAA,GACF;AAEA,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}