{"version":3,"file":"padding.js","sourceRoot":"","sources":["../../src/utils/padding.ts"],"names":[],"mappings":"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","sourcesContent":["import { Types } from '@antv/g2';\nimport { isArray, isNumber } from '@antv/util';\n\n/**\n * 把 padding 转换成统一的数组写法\n * @param padding\n */\nexport function normalPadding(padding: number | number[] | 'auto'): [number, number, number, number] {\n if (isNumber(padding)) {\n return [padding, padding, padding, padding];\n }\n if (isArray(padding)) {\n const length = padding.length;\n\n if (length === 1) {\n return [padding[0], padding[0], padding[0], padding[0]];\n }\n if (length === 2) {\n return [padding[0], padding[1], padding[0], padding[1]];\n }\n if (length === 3) {\n return [padding[0], padding[1], padding[2], padding[1]];\n }\n if (length === 4) {\n return padding as [number, number, number, number];\n }\n }\n\n return [0, 0, 0, 0];\n}\n\n/**\n * 获取调整的 appendPadding\n */\nexport function getAdjustAppendPadding(padding: Types.ViewAppendPadding, position = 'bottom', append = 25) {\n const currentAppendPadding = normalPadding(padding);\n\n const PADDING = [\n position.startsWith('top') ? append : 0,\n position.startsWith('right') ? append : 0,\n position.startsWith('bottom') ? append : 0,\n position.startsWith('left') ? append : 0,\n ];\n return [\n currentAppendPadding[0] + PADDING[0],\n currentAppendPadding[1] + PADDING[1],\n currentAppendPadding[2] + PADDING[2],\n currentAppendPadding[3] + PADDING[3],\n ];\n}\n\n/**\n * 根据图表的 padding 和 appendPadding 计算出图表的最终 padding\n * @param array\n */\nexport function resolveAllPadding(paddings: Types.ViewPadding[]) {\n // 先把数组里的 padding 全部转换成 normal\n const normalPaddings = paddings.map((item) => normalPadding(item));\n let finalPadding = [0, 0, 0, 0];\n if (normalPaddings.length > 0) {\n finalPadding = finalPadding.map((item, index) => {\n // 有几个 padding 数组就遍历几次,累加\n normalPaddings.forEach((d, i) => {\n item += normalPaddings[i][index];\n });\n return item;\n });\n }\n return finalPadding;\n}\n"]}