b033be9da4340fefeb0dd173c814f53b9b6611234f4b9cd9c8d4786a8899e21d.json 9.0 KB

1
  1. {"ast":null,"code":"import React from 'react';\nimport { autoPtgSizes } from './sizeUtil';\nexport function getPtg(str) {\n return Number(str.slice(0, -1)) / 100;\n}\nfunction isPtg(itemSize) {\n return typeof itemSize === 'string' && itemSize.endsWith('%');\n}\n/**\n * Save the size state.\n * Align the size into flex percentage base.\n */\nexport default function useSizes(items, containerSize) {\n const propSizes = items.map(item => item.size);\n const itemsCount = items.length;\n const mergedContainerSize = containerSize || 0;\n const ptg2px = ptg => ptg * mergedContainerSize;\n // We do not need care the size state match the `items` length in `useState`.\n // It will calculate later.\n const [innerSizes, setInnerSizes] = React.useState(() => items.map(item => item.defaultSize));\n const sizes = React.useMemo(() => {\n var _a;\n const mergedSizes = [];\n for (let i = 0; i < itemsCount; i += 1) {\n mergedSizes[i] = (_a = propSizes[i]) !== null && _a !== void 0 ? _a : innerSizes[i];\n }\n return mergedSizes;\n }, [itemsCount, innerSizes, propSizes]);\n const postPercentMinSizes = React.useMemo(() => items.map(item => {\n if (isPtg(item.min)) {\n return getPtg(item.min);\n }\n return (item.min || 0) / mergedContainerSize;\n }), [items, mergedContainerSize]);\n const postPercentMaxSizes = React.useMemo(() => items.map(item => {\n if (isPtg(item.max)) {\n return getPtg(item.max);\n }\n return (item.max || mergedContainerSize) / mergedContainerSize;\n }), [items, mergedContainerSize]);\n // Post handle the size. Will do:\n // 1. Convert all the px into percentage if not empty.\n // 2. Get rest percentage for exist percentage.\n // 3. Fill the rest percentage into empty item.\n const postPercentSizes = React.useMemo(() => {\n const ptgList = [];\n // Fill default percentage\n for (let i = 0; i < itemsCount; i += 1) {\n const itemSize = sizes[i];\n if (isPtg(itemSize)) {\n ptgList[i] = getPtg(itemSize);\n } else if (itemSize || itemSize === 0) {\n const num = Number(itemSize);\n if (!Number.isNaN(num)) {\n ptgList[i] = num / mergedContainerSize;\n }\n } else {\n ptgList[i] = undefined;\n }\n }\n // Use autoPtgSizes to handle the undefined sizes\n return autoPtgSizes(ptgList, postPercentMinSizes, postPercentMaxSizes);\n }, [sizes, mergedContainerSize, postPercentMinSizes, postPercentMaxSizes]);\n const postPxSizes = React.useMemo(() => postPercentSizes.map(ptg2px), [postPercentSizes, mergedContainerSize]);\n // If ssr, we will use the size from developer config first.\n const panelSizes = React.useMemo(() => containerSize ? postPxSizes : sizes, [postPxSizes, containerSize]);\n return [panelSizes, postPxSizes, postPercentSizes, postPercentMinSizes, postPercentMaxSizes, setInnerSizes];\n}","map":{"version":3,"names":["React","autoPtgSizes","getPtg","str","Number","slice","isPtg","itemSize","endsWith","useSizes","items","containerSize","propSizes","map","item","size","itemsCount","length","mergedContainerSize","ptg2px","ptg","innerSizes","setInnerSizes","useState","defaultSize","sizes","useMemo","_a","mergedSizes","i","postPercentMinSizes","min","postPercentMaxSizes","max","postPercentSizes","ptgList","num","isNaN","undefined","postPxSizes","panelSizes"],"sources":["/Users/max_liu/max_liu/company/tools_auto_pt/node_modules/antd/es/splitter/hooks/useSizes.js"],"sourcesContent":["import React from 'react';\nimport { autoPtgSizes } from './sizeUtil';\nexport function getPtg(str) {\n return Number(str.slice(0, -1)) / 100;\n}\nfunction isPtg(itemSize) {\n return typeof itemSize === 'string' && itemSize.endsWith('%');\n}\n/**\n * Save the size state.\n * Align the size into flex percentage base.\n */\nexport default function useSizes(items, containerSize) {\n const propSizes = items.map(item => item.size);\n const itemsCount = items.length;\n const mergedContainerSize = containerSize || 0;\n const ptg2px = ptg => ptg * mergedContainerSize;\n // We do not need care the size state match the `items` length in `useState`.\n // It will calculate later.\n const [innerSizes, setInnerSizes] = React.useState(() => items.map(item => item.defaultSize));\n const sizes = React.useMemo(() => {\n var _a;\n const mergedSizes = [];\n for (let i = 0; i < itemsCount; i += 1) {\n mergedSizes[i] = (_a = propSizes[i]) !== null && _a !== void 0 ? _a : innerSizes[i];\n }\n return mergedSizes;\n }, [itemsCount, innerSizes, propSizes]);\n const postPercentMinSizes = React.useMemo(() => items.map(item => {\n if (isPtg(item.min)) {\n return getPtg(item.min);\n }\n return (item.min || 0) / mergedContainerSize;\n }), [items, mergedContainerSize]);\n const postPercentMaxSizes = React.useMemo(() => items.map(item => {\n if (isPtg(item.max)) {\n return getPtg(item.max);\n }\n return (item.max || mergedContainerSize) / mergedContainerSize;\n }), [items, mergedContainerSize]);\n // Post handle the size. Will do:\n // 1. Convert all the px into percentage if not empty.\n // 2. Get rest percentage for exist percentage.\n // 3. Fill the rest percentage into empty item.\n const postPercentSizes = React.useMemo(() => {\n const ptgList = [];\n // Fill default percentage\n for (let i = 0; i < itemsCount; i += 1) {\n const itemSize = sizes[i];\n if (isPtg(itemSize)) {\n ptgList[i] = getPtg(itemSize);\n } else if (itemSize || itemSize === 0) {\n const num = Number(itemSize);\n if (!Number.isNaN(num)) {\n ptgList[i] = num / mergedContainerSize;\n }\n } else {\n ptgList[i] = undefined;\n }\n }\n // Use autoPtgSizes to handle the undefined sizes\n return autoPtgSizes(ptgList, postPercentMinSizes, postPercentMaxSizes);\n }, [sizes, mergedContainerSize, postPercentMinSizes, postPercentMaxSizes]);\n const postPxSizes = React.useMemo(() => postPercentSizes.map(ptg2px), [postPercentSizes, mergedContainerSize]);\n // If ssr, we will use the size from developer config first.\n const panelSizes = React.useMemo(() => containerSize ? postPxSizes : sizes, [postPxSizes, containerSize]);\n return [panelSizes, postPxSizes, postPercentSizes, postPercentMinSizes, postPercentMaxSizes, setInnerSizes];\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}