{"version":3,"sources":["../src/chart-tooltip.tsx"],"sourcesContent":["import type { Dict } from \"@yamada-ui/utils\"\nimport { forwardRef, ui } from \"@yamada-ui/core\"\nimport { cx, isArray } from \"@yamada-ui/utils\"\nimport { useTooltip } from \"./use-chart\"\n\nexport interface ChartTooltipProps {\n  payload: Dict[] | undefined\n  dataKey?: string\n  label?: string\n  labelFormatter?: (label: string) => string\n  radialChart?: boolean\n  unit?: string\n  valueFormatter?: (value: any) => string\n}\n\nexport const ChartTooltip = forwardRef<ChartTooltipProps, \"div\">(\n  (\n    {\n      className,\n      dataKey = \"value\",\n      label,\n      labelFormatter,\n      payload = [],\n      radialChart,\n      unit,\n      valueFormatter,\n      ...rest\n    },\n    ref,\n  ) => {\n    const { styles } = useTooltip()\n\n    const items = payload.map(\n      (\n        {\n          name: nameProp,\n          color: colorProp,\n          [dataKey]: valueProp,\n          payload,\n        } = {},\n        index,\n      ) => {\n        const name = radialChart ? payload?.name : nameProp\n        const color = colorProp ?? payload?.color\n        let value: string\n\n        if (isArray(valueProp)) {\n          value = valueProp\n            .map((value) => {\n              return `${valueFormatter?.(value) ?? value}`\n            })\n            .join(\" - \")\n        } else {\n          value = valueFormatter?.(valueProp) ?? valueProp\n        }\n\n        return (\n          <ui.div\n            key={`tooltip-payload-${index}`}\n            className=\"ui-chart__tooltip-item\"\n            __css={styles.tooltipItem}\n          >\n            <ui.div\n              className=\"ui-chart__tooltip-swatch\"\n              background={color}\n              __css={styles.tooltipSwatch}\n            />\n\n            <ui.span\n              className=\"ui-chart__tooltip-label\"\n              __css={styles.tooltipLabel}\n            >\n              {name}\n            </ui.span>\n\n            <ui.span\n              className=\"ui-chart__tooltip-value\"\n              __css={styles.tooltipValue}\n            >\n              {value}\n              {unit ? unit : \"\"}\n            </ui.span>\n          </ui.div>\n        )\n      },\n    )\n\n    return (\n      <ui.div\n        ref={ref}\n        className={cx(\"ui-chart__tooltip\", className)}\n        __css={styles.tooltip}\n        {...rest}\n      >\n        {label ? (\n          <ui.p className=\"ui-chart__tooltip-title\" __css={styles.tooltipTitle}>\n            {labelFormatter?.(label) ?? label}\n          </ui.p>\n        ) : null}\n\n        <ui.div className=\"ui-chart__tooltip-list\" __css={styles.tooltipList}>\n          {items}\n        </ui.div>\n      </ui.div>\n    )\n  },\n)\n\nChartTooltip.displayName = \"ChartTooltip\"\nChartTooltip.__ui__ = \"ChartTooltip\"\n"],"mappings":";;;;;;AACA,SAAS,YAAY,UAAU;AAC/B,SAAS,IAAI,eAAe;AA4DhB,cAaA,YAbA;AA/CL,IAAM,eAAe;AAAA,EAC1B,CACE;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU,CAAC;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AA7BP;AA8BI,UAAM,EAAE,OAAO,IAAI,WAAW;AAE9B,UAAM,QAAQ,QAAQ;AAAA,MACpB,CACE;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,CAAC,UAAU;AAAA,QACX,SAAAA;AAAA,MACF,IAAI,CAAC,GACL,UACG;AAzCX,YAAAC;AA0CQ,cAAM,OAAO,cAAcD,YAAA,gBAAAA,SAAS,OAAO;AAC3C,cAAM,QAAQ,gCAAaA,YAAA,gBAAAA,SAAS;AACpC,YAAI;AAEJ,YAAI,QAAQ,SAAS,GAAG;AACtB,kBAAQ,UACL,IAAI,CAACE,WAAU;AAhD5B,gBAAAD;AAiDc,mBAAO,IAAGA,MAAA,iDAAiBC,YAAjB,OAAAD,MAA2BC,MAAK;AAAA,UAC5C,CAAC,EACA,KAAK,KAAK;AAAA,QACf,OAAO;AACL,mBAAQD,MAAA,iDAAiB,eAAjB,OAAAA,MAA+B;AAAA,QACzC;AAEA,eACE;AAAA,UAAC,GAAG;AAAA,UAAH;AAAA,YAEC,WAAU;AAAA,YACV,OAAO,OAAO;AAAA,YAEd;AAAA;AAAA,gBAAC,GAAG;AAAA,gBAAH;AAAA,kBACC,WAAU;AAAA,kBACV,YAAY;AAAA,kBACZ,OAAO,OAAO;AAAA;AAAA,cAChB;AAAA,cAEA;AAAA,gBAAC,GAAG;AAAA,gBAAH;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO,OAAO;AAAA,kBAEb;AAAA;AAAA,cACH;AAAA,cAEA;AAAA,gBAAC,GAAG;AAAA,gBAAH;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO,OAAO;AAAA,kBAEb;AAAA;AAAA,oBACA,OAAO,OAAO;AAAA;AAAA;AAAA,cACjB;AAAA;AAAA;AAAA,UAvBK,mBAAmB,KAAK;AAAA,QAwB/B;AAAA,MAEJ;AAAA,IACF;AAEA,WACE;AAAA,MAAC,GAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,QAC5C,OAAO,OAAO;AAAA,QACb,GAAG;AAAA,QAEH;AAAA,kBACC,oBAAC,GAAG,GAAH,EAAK,WAAU,2BAA0B,OAAO,OAAO,cACrD,iEAAiB,WAAjB,YAA2B,OAC9B,IACE;AAAA,UAEJ,oBAAC,GAAG,KAAH,EAAO,WAAU,0BAAyB,OAAO,OAAO,aACtD,iBACH;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;AAC3B,aAAa,SAAS;","names":["payload","_a","value"]}