{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-responsive-chart/index.ts"],"sourcesContent":["import { useGlobalConfig } from '../use-global-config'\n\nconst isObject = (obj: any) => {\n  return Object.prototype.toString.call(obj) === '[object Object]'\n}\nconst defaultAttributes = [\n  'lineHeight',\n  'margin',\n  'fontSize',\n  'left',\n  'right',\n  'top',\n  'bottom',\n  'padding',\n  'itemWidth',\n  'itemHeight',\n  'itemGap',\n  'symbolSize',\n  'width',\n  'height',\n  'barMaxWidth',\n]\n\nfunction useResponsiveChart() {\n  const FX = useGlobalConfig()\n  const basicPX = FX.visualized.basicPX\n\n  const updateOptionToResponsive = (option: any, keyArr: string[] = defaultAttributes) => {\n    if (typeof option !== 'object') return\n    for (const key in option) {\n      if (option.hasOwnProperty(key)) {\n        const element = option[key]\n        const type = typeof element\n\n        if (keyArr.includes(key)) {\n          switch (type) {\n            case 'number':\n              option[key] = element * basicPX\n              break\n              // array\n            case 'object':\n              option[key] = element.map(item => typeof item !== 'number' ? item : item * basicPX)\n              break\n            default:\n              break\n          }\n        } else if (isObject(element)) {\n          updateOptionToResponsive(element, keyArr)\n        } else if (Array.isArray(element)) {\n          element.forEach(ele => updateOptionToResponsive(ele, keyArr))\n        }\n      }\n    }\n  }\n\n  return {\n    updateOptionToResponsive,\n    defaultAttributes,\n  }\n}\n\nexport { useResponsiveChart }\n"],"names":[],"mappings":";;AAEA,MAAM,QAAA,GAAW,CAAC,GAAa,KAAA;AAC7B,EAAA,OAAO,MAAO,CAAA,SAAA,CAAU,QAAS,CAAA,IAAA,CAAK,GAAS,CAAA,KAAA,iBAAA,CAAA;AAAA,CAAA,CAAA;AAEjD,MAAM,iBAAoB,GAAA;AAAA,EACxB,YAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,CAAA,CAAA;AAGF,SAA8B,kBAAA,GAAA;AAC5B,EAAA,MAAM,EAAK,GAAA,eAAA,EAAA,CAAA;AACX,EAAM,MAAA,OAAA,GAAU,GAAG,UAAW,CAAA,OAAA,CAAA;AAE9B,EAAA,MAAM,wBAA2B,GAAA,CAAC,MAAa,EAAA,MAAA,GAAmB,iBAAsB,KAAA;AACtF,IAAA,IAAI,OAAO,MAAW,KAAA,QAAA;AAAU,MAAA,OAAA;AAChC,IAAA,KAAA,MAAW,OAAO,MAAQ,EAAA;AACxB,MAAI,IAAA,MAAA,CAAO,eAAe,GAAM,CAAA,EAAA;AAC9B,QAAA,MAAM,UAAU,MAAO,CAAA,GAAA,CAAA,CAAA;AACvB,QAAA,MAAM,OAAO,OAAO,OAAA,CAAA;AAEpB,QAAI,IAAA,MAAA,CAAO,SAAS,GAAM,CAAA,EAAA;AACxB,UAAQ,QAAA,IAAA;AAAA,YACD,KAAA,QAAA;AACH,cAAA,MAAA,CAAO,OAAO,OAAU,GAAA,OAAA,CAAA;AACxB,cAAA,MAAA;AAAA,YAEG,KAAA,QAAA;AACH,cAAO,MAAA,CAAA,GAAA,CAAA,GAAO,QAAQ,GAAI,CAAA,CAAA,IAAA,KAAQ,OAAO,IAAS,KAAA,QAAA,GAAW,OAAO,IAAO,GAAA,OAAA,CAAA,CAAA;AAC3E,cAAA,MAAA;AAAA,YAAA;AAEA,cAAA,MAAA;AAAA,WAAA;AAAA,SAAA,MAAA,IAEK,SAAS,OAAU,CAAA,EAAA;AAC5B,UAAA,wBAAA,CAAyB,OAAS,EAAA,MAAA,CAAA,CAAA;AAAA,SACzB,MAAA,IAAA,KAAA,CAAM,QAAQ,OAAU,CAAA,EAAA;AACjC,UAAQ,OAAA,CAAA,OAAA,CAAQ,CAAO,GAAA,KAAA,wBAAA,CAAyB,GAAK,EAAA,MAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAM7D,EAAO,OAAA;AAAA,IACL,wBAAA;AAAA,IACA,iBAAA;AAAA,GAAA,CAAA;AAAA;;;;"}