@orderly.network/chart 2.5.2 → 2.5.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2_@swc+core@1.11.24_@swc+helpers@0.5.17__@types+node@22.15.21_typescript@5.8.3_/node_modules/tailwindcss/lib/util/createPlugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2_@swc+core@1.11.24_@swc+helpers@0.5.17__@types+node@22.15.21_typescript@5.8.3_/node_modules/tailwindcss/lib/public/create-plugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2_@swc+core@1.11.24_@swc+helpers@0.5.17__@types+node@22.15.21_typescript@5.8.3_/node_modules/tailwindcss/plugin.js","../src/utils/theme.ts","../src/orderly/useColors.ts","../src/orderly/pnlBar.tsx","../src/orderly/customTooltip.tsx","../src/utils/yTickFormatter.ts","../src/orderly/xAxisLabel.tsx","../src/orderly/pnlLine.tsx","../src/orderly/assetLine.tsx","../src/orderly/volBar.tsx","../src/tailwindcss/theme.ts"],"names":["require_createPlugin","__commonJSMin","exports","_default","createPlugin","plugin","config","pluginFunction","configFunction","optionsFunction","options","require_create_plugin","_createPlugin","_interop_require_default","obj","require_plugin","module","getThemeColors","root","computedStyle","convertToRGB","color","useColors","colors","useMemo","themeColors","OrderlyChartTooltip","props","label","value","prefix","unit","coloring","dp","rm","jsxs","Box","Flex","jsx","Text","tickFormatter","absValue","formatted","numberToHumanStyle","RoundedRectangle","fill","x","y","width","height","absHeight","XAxisLabel","stroke","payload","index","containerWidth","t","useTranslation","_x","CustomizedCross","Cross","CustomTooltip","active","todayStr","useRef","PnLBarChart","invisible","widthRef","ResponsiveContainer","cn","BarChart","Tooltip","CartesianGrid","ReferenceLine","Bar","entry","Cell","YAxis","XAxis","PnlLineChart","dataTransfer","data","series","acc","item","LineChart","Line","AssetLineChart","opacity","tooltip","VolBarChart","isEmpty","b","maxVolume","decimal","number","decimalPlaces","abbreviations","toFixedWithoutRounding","num","fix","numStr","decimalIndex","cutoffIndex","import_plugin","chartPlugin","addComponents","addBase"],"mappings":"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","file":"index.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","export const getThemeColors = () => {\n const root = document.documentElement;\n const computedStyle = getComputedStyle(root);\n\n const colors = {\n primary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary\")\n ),\n primaryLight: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary-light\")\n ),\n secondary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-secondary\")\n ),\n success: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-success\")\n ),\n warning: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-warning\")\n ),\n danger: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-danger\")),\n info: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-info\")),\n loss: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-loss\")\n ),\n profit: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-profit\")\n ),\n };\n\n return colors;\n};\n\nconst convertToRGB = (color: string) => {\n return `rgb(${color.split(\" \").join(\",\")})`;\n};\n","import { useMemo } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\n\nexport const useColors = (colors?: { profit: string; loss: string }) => {\n const _colors = useMemo(() => {\n const themeColors = getThemeColors();\n return {\n profit: colors?.profit || themeColors.profit,\n loss: colors?.loss || themeColors.loss,\n primary: themeColors.primary,\n primaryLight: themeColors.primaryLight,\n };\n }, [colors]);\n\n return _colors;\n};\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { cn } from \"@orderly.network/ui\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnLChartDataItem = {\n date: string;\n pnl: number;\n};\n\nexport type PnLChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: PnLChartDataItem[];\n invisible?: boolean;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height } = props;\n\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n />\n );\n};\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index, width, containerWidth } = props;\n const { t } = useTranslation();\n const _x =\n index === 0\n ? 48\n : containerWidth > 0\n ? containerWidth - 10\n : width + payload.offset;\n\n return (\n <g transform={`translate(${_x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor={index === 0 ? \"start\" : \"end\"}\n // textAnchor={\"start\"}\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, stroke, fill } = props;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nexport const PnLBarChart = (props: PnLChartProps) => {\n const { invisible } = props;\n const colors = useColors(props.colors);\n const widthRef = useRef(0);\n\n return (\n // @ts-ignore\n <ResponsiveContainer\n className={cn(invisible && \"chart-invisible\")}\n onResize={(width, height) => {\n // console.log(\"width\", width, height);\n widthRef.current = width;\n }}\n >\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -10, top: 10, right: 10, bottom: 30 }}\n >\n {!invisible && (\n // @ts-ignore\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip />}\n />\n )}\n\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"rgba(0,0,0,0.04)\" />\n {/* @ts-ignore */}\n\n {!invisible && (\n // @ts-ignore\n <Bar dataKey=\"pnl\" shape={<RoundedRectangle />}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.pnl > 0 ? colors.profit : colors.loss}\n />\n );\n })}\n </Bar>\n )}\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickFormatter={(value) => tickFormatter(value)}\n tickLine={false}\n axisLine={false}\n dataKey={\"pnl\"}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel containerWidth={widthRef.current} />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n />\n </BarChart>\n </ResponsiveContainer>\n );\n};\n","import { Box, Flex, Text } from \"@orderly.network/ui\";\n\nexport const OrderlyChartTooltip = (props: {\n label: string;\n value: string | number;\n unit?: string;\n prefix?: React.ReactNode;\n titleClassName?: string;\n coloring?: boolean;\n dp?: number;\n rm?: number;\n}) => {\n const {\n label,\n value,\n prefix,\n unit = \"USDC\",\n coloring = false,\n dp,\n rm,\n } = props;\n return (\n <Box intensity={600} p={3} r=\"md\">\n <Flex direction={\"row\"} className={props.titleClassName}>\n {prefix}\n <Text.numeral\n unit={unit}\n as=\"div\"\n size=\"sm\"\n coloring={coloring}\n showIdentifier={coloring}\n unitClassName=\"oui-text-base-contrast-54 oui-ml-1\"\n weight=\"semibold\"\n rm={rm}\n dp={dp}\n >\n {value}\n </Text.numeral>\n </Flex>\n <Text size=\"2xs\" intensity={54} weight=\"semibold\">\n {label}\n </Text>\n </Box>\n );\n};\n","import { numberToHumanStyle } from \"@orderly.network/utils\";\n\nexport const tickFormatter = (value: number) => {\n let absValue = Math.abs(value);\n const dp = absValue === 0 ? 0 : absValue <= 10 ? 2 : absValue <= 100 ? 1 : 0;\n\n const formatted = numberToHumanStyle(absValue, dp);\n return value < 0 ? `-${formatted}` : formatted;\n};\n","import { useTranslation } from \"@orderly.network/i18n\";\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index } = props;\n const { t } = useTranslation();\n return (\n <g transform={`translate(${x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor=\"end\"\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n","import { useMemo, useRef } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\nimport { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n ReferenceLine,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { numberToHumanStyle } from \"@orderly.network/utils\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: any;\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nconst PnlLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n const dataTransfer = (data: any[]) => {\n const series: any[] = [];\n\n data?.reduce((acc, item) => {\n acc += item.pnl;\n series.push({\n ...item,\n pnl: acc,\n _pnl: item.pnl,\n // date: new Date(item.date).getTime(),\n });\n return acc;\n }, 0);\n\n return series;\n };\n\n const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n data={data}\n margin={{ top: 20, right: 10, left: -10, bottom: 0 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n // scale={\"time\"}\n // type=\"number\"\n // range={}\n />\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"pnl\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <ReferenceLine y={0} stroke=\"#000\" /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"pnl\"\n stroke={colors.primary}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { PnlLineChart };\n","import { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type AssetChartDataItem = {\n date: string;\n account_value: number;\n};\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: AssetChartDataItem[];\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n />\n );\n }\n\n return null;\n};\n\nconst AssetLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n // const dataTransfer = (data: any[]) => {\n // const series: any[] = [];\n\n // data.reduce((acc, item) => {\n // acc += item.pnl;\n // series.push({ ...item, pnl: acc, _pnl: item.pnl });\n // return acc;\n // }, 0);\n\n // return series;\n // };\n\n // const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n width={530}\n height={180}\n data={props.data}\n margin={{ top: 20, right: 10, left: -20, bottom: -10 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n ></XAxis>\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"account_value\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <Legend /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"account_value\"\n stroke={colors.profit}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { AssetLineChart };\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { Box, cn } from \"@orderly.network/ui\";\n\nexport type VolChartDataItem = {\n date: string;\n volume: number;\n opacity?: string | number;\n};\n\nexport type VolChartTooltip = {\n rm?: number;\n dp?: number;\n};\n\nexport type VolChartProps = {\n colors?: {\n fill: string;\n };\n data: VolChartDataItem[];\n tooltip?: VolChartTooltip;\n className?: string;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height, opacity } = props;\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n opacity={opacity}\n />\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, payload, stroke, fill } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (\n props: TooltipProps<any, any> & { tooltip?: VolChartTooltip }\n) => {\n const { active, payload, label, tooltip } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label}\n value={payload[0].value}\n // prefix=\"Commission\"\n titleClassName=\"oui-gap-4\"\n rm={tooltip?.rm}\n dp={tooltip?.dp}\n />\n );\n }\n\n return null;\n};\n\nexport const VolBarChart = (props: VolChartProps) => {\n const colors = useColors(\n props.colors?.fill\n ? { profit: props.colors?.fill, loss: props.colors?.fill }\n : undefined\n );\n\n const isEmpty = props.data.reduce((a, b) => a + b.volume, 0) === 0;\n const maxVolume = props.data.reduce((a,b) => (a > b.volume ? a : b.volume), 0);\n const decimal = maxVolume <= 10 ? 2 : (maxVolume <= 100 ? 1 : 0);\n\n return (\n // @ts-ignore\n <Box className={cn(props.className)}>\n {/* @ts-ignore */}\n <ResponsiveContainer>\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -0, top: 6, right: 0, bottom: 20 }}\n >\n {/* @ts-ignore */}\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip tooltip={props.tooltip} />}\n />\n <CartesianGrid\n vertical={false}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.08}\n repeatCount={6}\n />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"#000\" />\n {/* @ts-ignore */}\n <Bar dataKey=\"volume\" shape={<RoundedRectangle />} minPointSize={1}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.volume > 0 ? colors.profit : colors.loss}\n opacity={entry.opacity}\n />\n );\n })}\n </Bar>\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n dataKey={\"volume\"}\n tickFormatter={(value, index) => {\n if (isEmpty) return `${index * 100}`;\n return numberToHumanStyle(value, decimal);\n }}\n width={45}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n stroke=\"rgb(229, 231, 235)\"\n strokeOpacity={0.2}\n />\n </BarChart>\n </ResponsiveContainer>\n </Box>\n );\n};\nfunction numberToHumanStyle(number: number, decimalPlaces: number = 0): string {\n const abbreviations = [\"\", \"K\", \"M\", \"B\", \"T\"];\n\n let index = 0;\n while (number >= 1000 && index < abbreviations.length - 1) {\n number /= 1000;\n index++;\n }\n\n const roundedNumber = toFixedWithoutRounding(number, decimalPlaces);\n\n return `${roundedNumber}${abbreviations[index]}`;\n}\n\nfunction toFixedWithoutRounding(num: number, fix: number): string {\n const numStr = num.toString();\n const decimalIndex = numStr.indexOf(\".\");\n\n if (decimalIndex === -1 || fix === 0) {\n return numStr.split(\".\")[0];\n }\n\n const cutoffIndex = decimalIndex + fix + 1;\n\n return numStr.slice(0, cutoffIndex);\n}\n","import plugin from \"tailwindcss/plugin\";\n\nimport { PluginCreator } from \"tailwindcss/types/config\";\n\nexport const chartPlugin: PluginCreator = () =>\n plugin(function ({ addComponents, addBase }) {\n addComponents(\n {\n \".xAxis\": {\n \".recharts-cartesian-axis-tick:first-child text\": {\n \"text-anchor\": \"start\",\n },\n \".recharts-cartesian-axis-tick:last-child text\": {\n \"text-anchor\": \"end\",\n },\n },\n },\n {\n respectPrefix: false,\n }\n );\n });\n"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2/node_modules/tailwindcss/lib/util/createPlugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2/node_modules/tailwindcss/lib/public/create-plugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2/node_modules/tailwindcss/plugin.js","../src/utils/theme.ts","../src/orderly/useColors.ts","../src/orderly/customTooltip.tsx","../src/utils/yTickFormatter.ts","../src/orderly/pnlBar.tsx","../src/orderly/xAxisLabel.tsx","../src/orderly/pnlLine.tsx","../src/orderly/assetLine.tsx","../src/orderly/volBar.tsx","../src/tailwindcss/theme.ts"],"names":["require_createPlugin","__commonJSMin","exports","_default","createPlugin","plugin","config","pluginFunction","configFunction","optionsFunction","options","require_create_plugin","_createPlugin","_interop_require_default","obj","require_plugin","module","getThemeColors","root","computedStyle","convertToRGB","color","useColors","colors","useMemo","themeColors","OrderlyChartTooltip","props","label","value","prefix","unit","coloring","dp","rm","jsxs","Box","Flex","jsx","Text","tickFormatter","absValue","formatted","numberToHumanStyle","RoundedRectangle","fill","x","y","width","height","absHeight","XAxisLabel","stroke","payload","index","containerWidth","t","useTranslation","_x","CustomizedCross","Cross","CustomTooltip","active","todayStr","useRef","PnLBarChart","invisible","widthRef","ResponsiveContainer","cn","BarChart","Tooltip","CartesianGrid","ReferenceLine","Bar","entry","Cell","YAxis","XAxis","PnlLineChart","dataTransfer","data","series","acc","item","LineChart","Line","AssetLineChart","opacity","tooltip","VolBarChart","isEmpty","b","maxVolume","decimal","number","decimalPlaces","abbreviations","toFixedWithoutRounding","num","fix","numStr","decimalIndex","cutoffIndex","import_plugin","chartPlugin","addComponents","addBase"],"mappings":"quBAAA,IAAAA,CAAAA,CAAAC,CAAAA,CAAAC,CAAAA,EAAA,CACA,MAAA,CAAO,cAAA,CAAeA,CAAAA,CAAS,YAAA,CAAc,CACzC,KAAA,CAAO,IACX,CAAC,CAAA,CACD,OAAO,cAAA,CAAeA,CAAAA,CAAS,SAAA,CAAW,CACtC,UAAA,CAAY,IAAA,CACZ,GAAA,CAAK,UAAW,CACZ,OAAOC,EACX,CACJ,CAAC,CAAA,CACD,SAASC,CAAAA,CAAaC,CAAAA,CAAQC,CAAAA,CAAQ,CAClC,OAAO,CACH,OAAA,CAASD,CAAAA,CACT,MAAA,CAAAC,CACJ,CACJ,CACAF,CAAAA,CAAa,WAAA,CAAc,SAASG,CAAAA,CAAgBC,CAAAA,CAAiB,KAAK,EAAC,CAAA,CAAI,CAC3E,IAAMC,CAAAA,CAAkB,SAASC,CAAAA,CAAS,CACtC,OAAO,CACH,SAAA,CAAWA,EACX,OAAA,CAASH,CAAAA,CAAeG,CAAO,CAAA,CAC/B,MAAA,CAAQF,CAAAA,CAAeE,CAAO,CAClC,CACJ,CAAA,CACA,OAAAD,CAAAA,CAAgB,mBAAA,CAAsB,IAAA,CAGtCA,EAAgB,gBAAA,CAAmBF,CAAAA,CACnCE,CAAAA,CAAgB,gBAAA,CAAmBD,CAAAA,CAC5BC,CACX,CAAA,CACA,IAAMN,EAAAA,CAAWC,EAAAA,CAAAA,CAAAA,CC/BjB,IAAAO,CAAAA,CAAAV,CAAAA,CAAAC,CAAAA,EAAA,CACA,MAAA,CAAO,cAAA,CAAeA,CAAAA,CAAS,YAAA,CAAc,CACzC,KAAA,CAAO,IACX,CAAC,CAAA,CACD,MAAA,CAAO,cAAA,CAAeA,CAAAA,CAAS,SAAA,CAAW,CACtC,WAAY,IAAA,CACZ,GAAA,CAAK,UAAW,CACZ,OAAOC,EACX,CACJ,CAAC,CAAA,CACD,IAAMS,EAAAA,CAA8BC,EAAAA,CAAyB,CAAA,EAA+B,CAAA,CAC5F,SAASA,EAAAA,CAAyBC,CAAAA,CAAK,CACnC,OAAOA,CAAAA,EAAOA,CAAAA,CAAI,UAAA,CAAaA,CAAAA,CAAM,CACjC,OAAA,CAASA,CACb,CACJ,CACA,IAAMX,GAAWS,EAAAA,CAAc,QAAA,CAAA,CAAA,CChB/B,IAAAG,CAAAA,CAAAd,CAAAA,CAAA,CAAAC,EAAAA,CAAAc,CAAAA,GAAA,CAAA,IAAIZ,CAAAA,CAAe,CAAA,EAAA,CACnBY,CAAAA,CAAO,OAAA,CAAA,CAAWZ,CAAAA,CAAa,WAAaA,CAAAA,CAAe,CAAE,OAAA,CAASA,CAAa,CAAA,EAAG,QAAA,CAAA,CAAA,CCD/E,IAAMa,CAAAA,CAAiB,IAAM,CAClC,IAAMC,CAAAA,CAAO,QAAA,CAAS,eAAA,CAChBC,CAAAA,CAAgB,gBAAA,CAAiBD,CAAI,CAAA,CA4B3C,OA1Be,CACb,OAAA,CAASE,CAAAA,CACPD,CAAAA,CAAc,gBAAA,CAAiB,qBAAqB,CACtD,CAAA,CACA,YAAA,CAAcC,CAAAA,CACZD,CAAAA,CAAc,gBAAA,CAAiB,2BAA2B,CAC5D,CAAA,CACA,SAAA,CAAWC,CAAAA,CACTD,CAAAA,CAAc,gBAAA,CAAiB,uBAAuB,CACxD,EACA,OAAA,CAASC,CAAAA,CACPD,CAAAA,CAAc,gBAAA,CAAiB,qBAAqB,CACtD,CAAA,CACA,OAAA,CAASC,CAAAA,CACPD,CAAAA,CAAc,gBAAA,CAAiB,qBAAqB,CACtD,CAAA,CACA,OAAQC,CAAAA,CAAaD,CAAAA,CAAc,gBAAA,CAAiB,oBAAoB,CAAC,CAAA,CACzE,IAAA,CAAMC,CAAAA,CAAaD,CAAAA,CAAc,gBAAA,CAAiB,kBAAkB,CAAC,CAAA,CACrE,IAAA,CAAMC,CAAAA,CACJD,CAAAA,CAAc,gBAAA,CAAiB,0BAA0B,CAC3D,CAAA,CACA,MAAA,CAAQC,CAAAA,CACND,CAAAA,CAAc,gBAAA,CAAiB,4BAA4B,CAC7D,CACF,CAGF,CAAA,CAEMC,CAAAA,CAAgBC,GACb,CAAA,IAAA,EAAOA,CAAAA,CAAM,KAAA,CAAM,GAAG,CAAA,CAAE,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAA,CC/BnC,IAAMC,CAAAA,CAAaC,CAAAA,EACRC,aAAAA,CAAQ,IAAM,CAC5B,IAAMC,CAAAA,CAAcR,CAAAA,EAAe,CACnC,OAAO,CACL,MAAA,CAAQM,CAAAA,EAAQ,MAAA,EAAUE,CAAAA,CAAY,MAAA,CACtC,IAAA,CAAMF,CAAAA,EAAQ,IAAA,EAAQE,EAAY,IAAA,CAClC,OAAA,CAASA,CAAAA,CAAY,OAAA,CACrB,YAAA,CAAcA,CAAAA,CAAY,YAC5B,CACF,CAAA,CAAG,CAACF,CAAM,CAAC,CAAA,CCVN,IAAMG,CAAAA,CAAuBC,CAAAA,EAS9B,CACJ,GAAM,CACJ,KAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,OAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,MAAA,CACP,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,EAAA,CAAAC,CAAAA,CACA,EAAA,CAAAC,CACF,CAAA,CAAIP,CAAAA,CACJ,OACEQ,eAAAA,CAACC,MAAAA,CAAA,CAAI,SAAA,CAAW,GAAA,CAAK,CAAA,CAAG,CAAA,CAAG,CAAA,CAAE,IAAA,CAC3B,QAAA,CAAA,CAAAD,eAAAA,CAACE,OAAAA,CAAA,CAAK,SAAA,CAAW,KAAA,CAAO,SAAA,CAAWV,EAAM,cAAA,CACtC,QAAA,CAAA,CAAAG,CAAAA,CACDQ,cAAAA,CAACC,OAAAA,CAAK,OAAA,CAAL,CACC,IAAA,CAAMR,CAAAA,CACN,EAAA,CAAG,KAAA,CACH,IAAA,CAAK,IAAA,CACL,QAAA,CAAUC,EACV,cAAA,CAAgBA,CAAAA,CAChB,aAAA,CAAc,oCAAA,CACd,MAAA,CAAO,UAAA,CACP,EAAA,CAAIE,CAAAA,CACJ,EAAA,CAAID,CAAAA,CAEH,QAAA,CAAAJ,CAAAA,CACH,CAAA,CAAA,CACF,CAAA,CACAS,eAACC,OAAAA,CAAA,CAAK,IAAA,CAAK,KAAA,CAAM,SAAA,CAAW,EAAA,CAAI,MAAA,CAAO,UAAA,CACpC,QAAA,CAAAX,CAAAA,CACH,CAAA,CAAA,CACF,CAEJ,CAAA,CC1CO,IAAMY,CAAAA,CAAiBX,CAAAA,EAAkB,CAC9C,IAAIY,CAAAA,CAAW,IAAA,CAAK,GAAA,CAAIZ,CAAK,CAAA,CACvBI,CAAAA,CAAKQ,CAAAA,GAAa,CAAA,CAAI,CAAA,CAAIA,CAAAA,EAAY,EAAA,CAAK,CAAA,CAAIA,CAAAA,EAAY,GAAA,CAAM,EAAI,CAAA,CAErEC,CAAAA,CAAYC,wBAAAA,CAAmBF,CAAAA,CAAUR,CAAE,CAAA,CACjD,OAAOJ,CAAAA,CAAQ,CAAA,CAAI,CAAA,CAAA,EAAIa,CAAS,CAAA,CAAA,CAAKA,CACvC,CAAA,CC0BA,IAAME,EAAAA,CAAoBjB,CAAAA,EAAe,CACvC,GAAM,CAAE,IAAA,CAAAkB,CAAAA,CAAM,CAAA,CAAAC,CAAAA,CAAG,CAAA,CAAAC,CAAAA,CAAG,KAAA,CAAAC,CAAAA,CAAO,MAAA,CAAAC,CAAO,CAAA,CAAItB,CAAAA,CAEhCuB,CAAAA,CAAY,IAAA,CAAK,GAAA,CAAID,CAAM,EAEjC,OACEX,cAAAA,CAAC,MAAA,CAAA,CACC,EAAA,CAAI,CAAA,CACJ,CAAA,CAAGQ,CAAAA,CACH,CAAA,CAAGG,CAAAA,CAAS,CAAA,CAAIF,CAAAA,CAAIA,CAAAA,CAAIE,CAAAA,CACxB,KAAA,CAAOD,EACP,MAAA,CAAQE,CAAAA,CACR,MAAA,CAAO,MAAA,CACP,IAAA,CAAML,CAAAA,CACR,CAEJ,CAAA,CAEaM,EAAAA,CAAcxB,CAAAA,EAAe,CACxC,GAAM,CAAE,CAAA,CAAAmB,EAAG,CAAA,CAAAC,CAAAA,CAAG,MAAA,CAAAK,CAAAA,CAAQ,OAAA,CAAAC,CAAAA,CAAS,KAAA,CAAAC,CAAAA,CAAO,KAAA,CAAAN,CAAAA,CAAO,cAAA,CAAAO,CAAe,CAAA,CAAI5B,CAAAA,CAC1D,CAAE,CAAA,CAAA6B,CAAE,CAAA,CAAIC,mBAAAA,EAAe,CACvBC,CAAAA,CACJJ,CAAAA,GAAU,CAAA,CACN,EAAA,CACAC,CAAAA,CAAiB,CAAA,CACjBA,CAAAA,CAAiB,EAAA,CACjBP,CAAAA,CAAQK,EAAQ,MAAA,CAEtB,OACEf,cAAAA,CAAC,GAAA,CAAA,CAAE,SAAA,CAAW,CAAA,UAAA,EAAaoB,CAAE,CAAA,CAAA,EAAIX,CAAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CACpC,QAAA,CAAAT,cAAAA,CAAC,MAAA,CAAA,CACC,EAAG,CAAA,CACH,CAAA,CAAG,CAAA,CACH,EAAA,CAAI,EAAA,CACJ,UAAA,CAAYgB,CAAAA,GAAU,CAAA,CAAI,OAAA,CAAU,KAAA,CAEpC,QAAA,CAAU,EAAA,CACV,IAAA,CAAM,wBAAA,CAEL,SAAAA,CAAAA,GAAU,CAAA,CAAID,CAAAA,CAAQ,KAAA,CAAQG,CAAAA,CAAE,WAAW,CAAA,CAC9C,CAAA,CACF,CAEJ,CAAA,CAEMG,EAAAA,CAAmBhC,CAAAA,EAAe,CACtC,GAAM,CAAE,KAAA,CAAAqB,CAAAA,CAAO,MAAA,CAAAC,CAAAA,CAAQ,MAAA,CAAAG,CAAAA,CAAQ,IAAA,CAAAP,CAAK,CAAA,CAAIlB,CAAAA,CAExC,OAEEW,cAAAA,CAACsB,cAAAA,CAAA,CAEC,EAAGjC,CAAAA,CAAM,CAAA,CAAIA,CAAAA,CAAM,KAAA,CAAQ,CAAA,CAC3B,GAAA,CAAKA,CAAAA,CAAM,GAAA,CACX,MAAA,CAAQsB,CAAAA,CACR,KAAA,CAAO,CAAA,CACP,MAAA,CAAQ,wBAAA,CACR,gBAAiB,KAAA,CACjB,IAAA,CAAM,MAAA,CACR,CAEJ,CAAA,CAEMY,EAAAA,CAAiBlC,CAAAA,EAAkC,CACvD,GAAM,CAAE,MAAA,CAAAmC,CAAAA,CAAQ,OAAA,CAAAT,CAAAA,CAAS,MAAAzB,CAAM,CAAA,CAAID,CAAAA,CAC7BoC,CAAAA,CAAWC,YAAAA,CAAO,IAAI,IAAA,EAAK,CAAE,WAAA,EAAY,CAAE,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA,CACxD,CAAE,CAAA,CAAAR,CAAE,CAAA,CAAIC,mBAAAA,EAAe,CAE7B,OAAIK,CAAAA,EAAUT,CAAAA,EAAWA,CAAAA,CAAQ,MAAA,CAE7Bf,cAAAA,CAACZ,CAAAA,CAAA,CACC,KAAA,CAAOE,CAAAA,GAAUmC,CAAAA,CAAS,OAAA,CAAUP,CAAAA,CAAE,WAAW,CAAA,CAAI5B,CAAAA,CACrD,KAAA,CAAOyB,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,CAClB,QAAA,CAAQ,KACV,CAAA,CAIG,IACT,CAAA,CAEaY,EAAAA,CAAetC,CAAAA,EAAyB,CACnD,GAAM,CAAE,SAAA,CAAAuC,CAAU,CAAA,CAAIvC,CAAAA,CAChBJ,CAAAA,CAASD,CAAAA,CAAUK,EAAM,MAAM,CAAA,CAC/BwC,CAAAA,CAAWH,YAAAA,CAAO,CAAC,CAAA,CAEzB,OAEE1B,cAAAA,CAAC8B,4BAAAA,CAAA,CACC,SAAA,CAAWC,KAAAA,CAAGH,CAAAA,EAAa,iBAAiB,CAAA,CAC5C,QAAA,CAAU,CAAClB,CAAAA,CAAOC,CAAAA,GAAW,CAE3BkB,CAAAA,CAAS,OAAA,CAAUnB,EACrB,CAAA,CAGA,QAAA,CAAAb,eAAAA,CAACmC,iBAAAA,CAAA,CACC,IAAA,CAAM3C,CAAAA,CAAM,KACZ,MAAA,CAAQ,CAAE,IAAA,CAAM,GAAA,CAAK,GAAA,CAAK,EAAA,CAAI,KAAA,CAAO,EAAA,CAAI,MAAA,CAAQ,EAAG,CAAA,CAEnD,QAAA,CAAA,CAAA,CAACuC,CAAAA,EAEA5B,cAAAA,CAACiC,iBAAA,CAEC,MAAA,CAAQjC,cAAAA,CAACqB,EAAAA,CAAA,EAAgB,CAAA,CACzB,OAAA,CAASrB,cAAAA,CAACuB,EAAAA,CAAA,EAAc,CAAA,CAC1B,CAAA,CAGFvB,cAAAA,CAACkC,sBAAAA,CAAA,CAAc,QAAA,CAAU,KAAA,CAAO,MAAA,CAAO,SAAA,CAAU,aAAA,CAAe,GAAA,CAAM,CAAA,CAEtElC,cAAAA,CAACmC,sBAAAA,CAAA,CAAc,CAAA,CAAG,CAAA,CAAG,MAAA,CAAO,kBAAA,CAAmB,EAG9C,CAACP,CAAAA,EAEA5B,cAAAA,CAACoC,YAAAA,CAAA,CAAI,OAAA,CAAQ,KAAA,CAAM,KAAA,CAAOpC,cAAAA,CAACM,EAAAA,CAAA,EAAiB,CAAA,CACzC,QAAA,CAAAjB,CAAAA,CAAM,KAAK,GAAA,CAAI,CAACgD,CAAAA,CAAOrB,CAAAA,GAGpBhB,cAAAA,CAACsC,aAAAA,CAAA,CAEC,IAAA,CAAMD,CAAAA,CAAM,GAAA,CAAM,CAAA,CAAIpD,CAAAA,CAAO,MAAA,CAASA,CAAAA,CAAO,MADxC,CAAA,KAAA,EAAQ+B,CAAK,CAAA,CAEpB,CAEH,CAAA,CACH,CAAA,CAGFhB,cAAAA,CAACuC,cAAAA,CAAA,CACC,IAAA,CAAM,CAAE,QAAA,CAAU,EAAA,CAAI,IAAA,CAAM,wBAAyB,CAAA,CACrD,aAAA,CAAgBhD,CAAAA,EAAUW,CAAAA,CAAcX,CAAK,CAAA,CAC7C,QAAA,CAAU,KAAA,CACV,QAAA,CAAU,KAAA,CACV,OAAA,CAAS,KAAA,CACX,CAAA,CAEAS,cAAAA,CAACwC,cAAAA,CAAA,CACC,OAAA,CAAQ,MAAA,CAER,QAAA,CAAU,KAAA,CACV,QAAA,CAAUnD,CAAAA,CAAM,IAAA,CAAK,MAAA,CAAS,CAAA,CAE9B,MAAA,CAAQ,CAAA,CAGR,IAAA,CAAMW,cAAAA,CAACa,EAAAA,CAAA,CAAW,cAAA,CAAgBgB,CAAAA,CAAS,OAAA,CAAS,CAAA,CACpD,MAAA,CAAO,SAAA,CACP,aAAA,CAAe,GAAA,CACjB,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,ECzLO,IAAMhB,CAAAA,CAAcxB,CAAAA,EAAe,CACxC,GAAM,CAAE,CAAA,CAAAmB,CAAAA,CAAG,CAAA,CAAAC,CAAAA,CAAG,MAAA,CAAAK,CAAAA,CAAQ,OAAA,CAAAC,CAAAA,CAAS,KAAA,CAAAC,CAAM,CAAA,CAAI3B,CAAAA,CACnC,CAAE,CAAA,CAAA6B,CAAE,CAAA,CAAIC,mBAAAA,EAAe,CAC7B,OACEnB,cAAAA,CAAC,GAAA,CAAA,CAAE,SAAA,CAAW,CAAA,UAAA,EAAaQ,CAAC,CAAA,CAAA,EAAIC,CAAAA,CAAI,CAAC,IACnC,QAAA,CAAAT,cAAAA,CAAC,MAAA,CAAA,CACC,CAAA,CAAG,CAAA,CACH,CAAA,CAAG,CAAA,CACH,EAAA,CAAI,EAAA,CACJ,UAAA,CAAW,KAAA,CACX,QAAA,CAAU,EAAA,CACV,IAAA,CAAM,yBAEL,QAAA,CAAAgB,CAAAA,GAAU,CAAA,CAAID,CAAAA,CAAQ,KAAA,CAAQG,CAAAA,CAAE,WAAW,CAAA,CAC9C,CAAA,CACF,CAEJ,CAAA,CCWA,IAAMK,EAAAA,CAAiBlC,CAAAA,EAAkC,CACvD,GAAM,CAAE,MAAA,CAAAmC,CAAAA,CAAQ,OAAA,CAAAT,CAAAA,CAAS,MAAAzB,CAAM,CAAA,CAAID,CAAAA,CAC7BoC,CAAAA,CAAWC,YAAAA,CAAO,IAAI,IAAA,EAAK,CAAE,WAAA,EAAY,CAAE,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA,CACxD,CAAE,CAAA,CAAAR,CAAE,CAAA,CAAIC,mBAAAA,EAAe,CAE7B,OAAIK,CAAAA,EAAUT,CAAAA,EAAWA,CAAAA,CAAQ,MAAA,CAE7Bf,cAAAA,CAACZ,CAAAA,CAAA,CACC,KAAA,CAAOE,CAAAA,GAAUmC,CAAAA,CAAS,OAAA,CAAUP,CAAAA,CAAE,WAAW,CAAA,CAAI5B,CAAAA,CACrD,KAAA,CAAOyB,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,CAClB,QAAA,CAAQ,KACV,CAAA,CAIG,IACT,CAAA,CAEM0B,EAAAA,CAAgBpD,CAAAA,EAA6B,CACjD,IAAMJ,CAAAA,CAASD,CAAAA,CAAUK,CAAAA,CAAM,MAAM,CAAA,CAE/BqD,CAAAA,CAAgBC,CAAAA,EAAgB,CACpC,IAAMC,CAAAA,CAAgB,EAAC,CAEvB,OAAAD,CAAAA,EAAM,MAAA,CAAO,CAACE,CAAAA,CAAKC,CAAAA,IACjBD,CAAAA,EAAOC,CAAAA,CAAK,GAAA,CACZF,CAAAA,CAAO,KAAK,CACV,GAAGE,CAAAA,CACH,GAAA,CAAKD,CAAAA,CACL,IAAA,CAAMC,CAAAA,CAAK,GAEb,CAAC,CAAA,CACMD,CAAAA,CAAAA,CACN,CAAC,CAAA,CAEGD,CACT,EAEMD,CAAAA,CAAOzD,aAAAA,CAAQ,IAAMwD,CAAAA,CAAarD,CAAAA,CAAM,IAAI,CAAA,CAAG,CAACA,CAAAA,CAAM,IAAI,CAAC,CAAA,CAEjE,OAEEW,cAAAA,CAAC8B,6BAAA,CAAoB,SAAA,CAAWzC,CAAAA,CAAM,SAAA,CAAY,iBAAA,CAAoB,EAAA,CAEpE,QAAA,CAAAQ,eAAAA,CAACkD,kBAAAA,CAAA,CACC,IAAA,CAAMJ,CAAAA,CACN,MAAA,CAAQ,CAAE,IAAK,EAAA,CAAI,KAAA,CAAO,EAAA,CAAI,IAAA,CAAM,GAAA,CAAK,MAAA,CAAQ,CAAE,CAAA,CAEnD,QAAA,CAAA,CAAA3C,cAAAA,CAACkC,sBAAAA,CAAA,CAAc,QAAA,CAAU,KAAA,CAAO,OAAO,SAAA,CAAU,aAAA,CAAe,GAAA,CAAM,CAAA,CAEtElC,cAAAA,CAACwC,cAAAA,CAAA,CACC,OAAA,CAAQ,MAAA,CACR,QAAA,CAAUnD,CAAAA,CAAM,IAAA,CAAK,MAAA,CAAS,CAAA,CAE9B,KAAMW,cAAAA,CAACa,CAAAA,CAAA,EAAW,CAAA,CAClB,MAAA,CAAO,SAAA,CACP,aAAA,CAAe,GAAA,CAIjB,CAAA,CAEAb,cAAAA,CAACuC,cAAAA,CAAA,CACC,OAAA,CAAQ,KAAA,CACR,KAAM,CAAE,QAAA,CAAU,EAAA,CAAI,IAAA,CAAM,wBAAyB,CAAA,CACrD,QAAA,CAAU,KAAA,CACV,QAAA,CAAU,KAAA,CACV,aAAA,CAAgBhD,CAAAA,EAAUW,CAAAA,CAAcX,CAAK,EAC/C,CAAA,CAEC,CAACF,CAAAA,CAAM,SAAA,EAENW,cAAAA,CAACiC,gBAAAA,CAAA,CACC,MAAA,CAAQ,CAAE,eAAA,CAAiB,KAAA,CAAO,aAAA,CAAe,GAAK,CAAA,CACtD,QAASjC,cAAAA,CAACuB,EAAAA,CAAA,EAAc,CAAA,CAC1B,CAAA,CAKD,CAAClC,CAAAA,CAAM,SAAA,EAENW,cAAAA,CAACgD,aAAAA,CAAA,CACC,IAAA,CAAK,SAAA,CACL,OAAA,CAAQ,MACR,MAAA,CAAQ/D,CAAAA,CAAO,OAAA,CACf,WAAA,CAAa,CAAA,CACb,GAAA,CAAK,KAAA,CACL,iBAAA,CAAmB,KAAA,CACrB,CAAA,CAAA,CAEJ,CAAA,CACF,CAEJ,EC5FA,IAAMsC,EAAAA,CAAiBlC,CAAAA,EAAkC,CACvD,GAAM,CAAE,MAAA,CAAAmC,CAAAA,CAAQ,OAAA,CAAAT,CAAAA,CAAS,KAAA,CAAAzB,CAAM,CAAA,CAAID,CAAAA,CAC7BoC,CAAAA,CAAWC,YAAAA,CAAO,IAAI,IAAA,GAAO,WAAA,EAAY,CAAE,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA,CACxD,CAAE,CAAA,CAAAR,CAAE,CAAA,CAAIC,mBAAAA,EAAe,CAE7B,OAAIK,CAAAA,EAAUT,CAAAA,EAAWA,CAAAA,CAAQ,MAAA,CAE7Bf,cAAAA,CAACZ,CAAAA,CAAA,CACC,KAAA,CAAOE,CAAAA,GAAUmC,CAAAA,CAAS,OAAA,CAAUP,CAAAA,CAAE,WAAW,CAAA,CAAI5B,EACrD,KAAA,CAAOyB,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,CACpB,CAAA,CAIG,IACT,CAAA,CAEMkC,EAAAA,CAAkB5D,CAAAA,EAA6B,CACnD,IAAMJ,CAAAA,CAASD,CAAAA,CAAUK,EAAM,MAAM,CAAA,CAgBrC,OAEEW,cAAAA,CAAC8B,4BAAAA,CAAA,CAAoB,SAAA,CAAWzC,CAAAA,CAAM,SAAA,CAAY,iBAAA,CAAoB,EAAA,CAEpE,QAAA,CAAAQ,eAAAA,CAACkD,kBAAAA,CAAA,CACC,KAAA,CAAO,GAAA,CACP,MAAA,CAAQ,GAAA,CACR,IAAA,CAAM1D,CAAAA,CAAM,IAAA,CACZ,MAAA,CAAQ,CAAE,GAAA,CAAK,EAAA,CAAI,KAAA,CAAO,EAAA,CAAI,IAAA,CAAM,GAAA,CAAK,MAAA,CAAQ,GAAI,CAAA,CAErD,QAAA,CAAA,CAAAW,cAAAA,CAACkC,sBAAAA,CAAA,CAAc,QAAA,CAAU,KAAA,CAAO,MAAA,CAAO,SAAA,CAAU,aAAA,CAAe,GAAA,CAAM,CAAA,CAEtElC,cAAAA,CAACwC,eAAA,CACC,OAAA,CAAQ,MAAA,CACR,QAAA,CAAUnD,CAAAA,CAAM,IAAA,CAAK,MAAA,CAAS,CAAA,CAE9B,IAAA,CAAMW,cAAAA,CAACa,CAAAA,CAAA,EAAW,CAAA,CAClB,MAAA,CAAO,UACP,aAAA,CAAe,GAAA,CAChB,CAAA,CAEDb,cAAAA,CAACuC,cAAAA,CAAA,CACC,OAAA,CAAQ,eAAA,CACR,IAAA,CAAM,CAAE,QAAA,CAAU,EAAA,CAAI,IAAA,CAAM,wBAAyB,EACrD,QAAA,CAAU,KAAA,CACV,QAAA,CAAU,KAAA,CACV,aAAA,CAAgBhD,CAAAA,EAAUW,CAAAA,CAAcX,CAAK,CAAA,CAC/C,CAAA,CAEC,CAACF,CAAAA,CAAM,SAAA,EAENW,cAAAA,CAACiC,iBAAA,CACC,MAAA,CAAQ,CAAE,eAAA,CAAiB,KAAA,CAAO,aAAA,CAAe,GAAK,CAAA,CACtD,OAAA,CAASjC,cAAAA,CAACuB,EAAAA,CAAA,EAAc,CAAA,CAC1B,CAAA,CAKD,CAAClC,CAAAA,CAAM,SAAA,EAENW,cAAAA,CAACgD,aAAAA,CAAA,CACC,IAAA,CAAK,SAAA,CACL,OAAA,CAAQ,eAAA,CACR,MAAA,CAAQ/D,CAAAA,CAAO,MAAA,CACf,WAAA,CAAa,CAAA,CACb,IAAK,KAAA,CACL,iBAAA,CAAmB,KAAA,CACrB,CAAA,CAAA,CAEJ,CAAA,CACF,CAEJ,EClFA,IAAMqB,EAAAA,CAAoBjB,CAAAA,EAAe,CACvC,GAAM,CAAE,IAAA,CAAAkB,CAAAA,CAAM,CAAA,CAAAC,CAAAA,CAAG,CAAA,CAAAC,CAAAA,CAAG,KAAA,CAAAC,CAAAA,CAAO,MAAA,CAAAC,CAAAA,CAAQ,OAAA,CAAAuC,CAAQ,CAAA,CAAI7D,CAAAA,CACzCuB,EAAY,IAAA,CAAK,GAAA,CAAID,CAAM,CAAA,CAEjC,OACEX,cAAAA,CAAC,MAAA,CAAA,CACC,EAAA,CAAI,CAAA,CACJ,CAAA,CAAGQ,CAAAA,CACH,CAAA,CAAGG,CAAAA,CAAS,CAAA,CAAIF,EAAIA,CAAAA,CAAIE,CAAAA,CACxB,KAAA,CAAOD,CAAAA,CACP,MAAA,CAAQE,CAAAA,CACR,MAAA,CAAO,MAAA,CACP,IAAA,CAAML,CAAAA,CACN,OAAA,CAAS2C,CAAAA,CACX,CAEJ,CAAA,CAEM7B,GAAmBhC,CAAAA,EAAe,CACtC,GAAM,CAAE,KAAA,CAAAqB,CAAAA,CAAO,MAAA,CAAAC,CAAAA,CAAQ,OAAA,CAAAI,CAAAA,CAAS,MAAA,CAAAD,CAAAA,CAAQ,IAAA,CAAAP,CAAK,EAAIlB,CAAAA,CAEjD,OAAI0B,CAAAA,GAAU,CAAC,CAAA,EAAG,KAAA,GAAU,CAAA,CAAU,IAAA,CAIpCf,cAAAA,CAACsB,cAAAA,CAAA,CAEC,CAAA,CAAGjC,CAAAA,CAAM,CAAA,CAAIA,EAAM,KAAA,CAAQ,CAAA,CAC3B,GAAA,CAAKA,CAAAA,CAAM,GAAA,CACX,MAAA,CAAQsB,CAAAA,CACR,KAAA,CAAO,CAAA,CACP,MAAA,CAAQ,wBAAA,CACR,eAAA,CAAiB,KAAA,CACjB,IAAA,CAAM,OACR,CAEJ,CAAA,CAEMY,EAAAA,CACJlC,CAAAA,EACG,CACH,GAAM,CAAE,MAAA,CAAAmC,CAAAA,CAAQ,OAAA,CAAAT,CAAAA,CAAS,KAAA,CAAAzB,CAAAA,CAAO,OAAA,CAAA6D,CAAQ,CAAA,CAAI9D,CAAAA,CAE5C,OAAI0B,CAAAA,GAAU,CAAC,CAAA,EAAG,KAAA,GAAU,CAAA,CAAU,IAAA,CAElCS,CAAAA,EAAUT,CAAAA,EAAWA,CAAAA,CAAQ,MAAA,CAE7Bf,cAAAA,CAACZ,EAAA,CACC,KAAA,CAAOE,CAAAA,CACP,KAAA,CAAOyB,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,CAElB,cAAA,CAAe,WAAA,CACf,EAAA,CAAIoC,CAAAA,EAAS,EAAA,CACb,EAAA,CAAIA,GAAS,EAAA,CACf,CAAA,CAIG,IACT,CAAA,CAEaC,EAAAA,CAAe/D,CAAAA,EAAyB,CACnD,IAAMJ,CAAAA,CAASD,CAAAA,CACbK,CAAAA,CAAM,MAAA,EAAQ,IAAA,CACV,CAAE,OAAQA,CAAAA,CAAM,MAAA,EAAQ,IAAA,CAAM,IAAA,CAAMA,CAAAA,CAAM,MAAA,EAAQ,IAAK,CAAA,CACvD,MACN,CAAA,CAEMgE,CAAAA,CAAUhE,CAAAA,CAAM,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,CAAGiE,CAAAA,GAAM,CAAA,CAAIA,CAAAA,CAAE,MAAA,CAAQ,CAAC,CAAA,GAAM,CAAA,CAC3DC,CAAAA,CAAYlE,CAAAA,CAAM,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,CAAEiE,IAAO,CAAA,CAAIA,CAAAA,CAAE,MAAA,CAAS,CAAA,CAAIA,CAAAA,CAAE,MAAA,CAAS,CAAC,CAAA,CACvEE,CAAAA,CAAUD,CAAAA,EAAa,EAAA,CAAK,CAAA,CAAKA,CAAAA,EAAa,GAAA,CAAM,EAAI,CAAA,CAE9D,OAEEvD,cAAAA,CAACF,MAAAA,CAAA,CAAI,SAAA,CAAWiC,KAAAA,CAAG1C,CAAAA,CAAM,SAAS,CAAA,CAEhC,QAAA,CAAAW,cAAAA,CAAC8B,4BAAAA,CAAA,CAEC,SAAAjC,eAAAA,CAACmC,iBAAAA,CAAA,CACC,IAAA,CAAM3C,CAAAA,CAAM,IAAA,CACZ,MAAA,CAAQ,CAAE,IAAA,CAAM,EAAA,CAAI,GAAA,CAAK,CAAA,CAAG,KAAA,CAAO,CAAA,CAAG,MAAA,CAAQ,EAAG,CAAA,CAGjD,QAAA,CAAA,CAAAW,cAAAA,CAACiC,gBAAAA,CAAA,CAEC,MAAA,CAAQjC,cAAAA,CAACqB,EAAAA,CAAA,EAAgB,CAAA,CACzB,OAAA,CAASrB,cAAAA,CAACuB,EAAAA,CAAA,CAAc,QAASlC,CAAAA,CAAM,OAAA,CAAS,CAAA,CAClD,CAAA,CACAW,cAAAA,CAACkC,sBAAAA,CAAA,CACC,QAAA,CAAU,KAAA,CACV,MAAA,CAAO,SAAA,CACP,aAAA,CAAe,GAAA,CACf,WAAA,CAAa,EACf,CAAA,CAEAlC,cAAAA,CAACmC,sBAAAA,CAAA,CAAc,CAAA,CAAG,CAAA,CAAG,MAAA,CAAO,MAAA,CAAO,CAAA,CAEnCnC,cAAAA,CAACoC,YAAAA,CAAA,CAAI,OAAA,CAAQ,QAAA,CAAS,MAAOpC,cAAAA,CAACM,EAAAA,CAAA,EAAiB,CAAA,CAAI,YAAA,CAAc,CAAA,CAC9D,QAAA,CAAAjB,CAAAA,CAAM,IAAA,CAAK,GAAA,CAAI,CAACgD,CAAAA,CAAOrB,CAAAA,GAGpBhB,cAAAA,CAACsC,cAAA,CAEC,IAAA,CAAMD,CAAAA,CAAM,MAAA,CAAS,CAAA,CAAIpD,CAAAA,CAAO,MAAA,CAASA,CAAAA,CAAO,IAAA,CAChD,OAAA,CAASoD,CAAAA,CAAM,OAAA,CAAA,CAFV,CAAA,KAAA,EAAQrB,CAAK,EAGpB,CAEH,CAAA,CACH,CAAA,CAEAhB,cAAAA,CAACuC,cAAAA,CAAA,CACC,IAAA,CAAM,CAAE,QAAA,CAAU,EAAA,CAAI,IAAA,CAAM,wBAAyB,CAAA,CACrD,QAAA,CAAU,MACV,QAAA,CAAU,KAAA,CACV,OAAA,CAAS,QAAA,CACT,aAAA,CAAe,CAAChD,CAAAA,CAAOyB,CAAAA,GACjBqC,CAAAA,CAAgB,CAAA,EAAGrC,CAAAA,CAAQ,GAAG,CAAA,CAAA,CAC3BX,EAAAA,CAAmBd,EAAOiE,CAAO,CAAA,CAE1C,KAAA,CAAO,EAAA,CACT,CAAA,CAEAxD,cAAAA,CAACwC,cAAAA,CAAA,CACC,OAAA,CAAQ,MAAA,CAER,QAAA,CAAU,KAAA,CACV,QAAA,CAAUnD,CAAAA,CAAM,IAAA,CAAK,MAAA,CAAS,CAAA,CAE9B,MAAA,CAAQ,CAAA,CAER,IAAA,CAAM,CAAE,QAAA,CAAU,EAAA,CAAI,IAAA,CAAM,wBAAyB,CAAA,CACrD,MAAA,CAAO,oBAAA,CACP,aAAA,CAAe,EAAA,CACjB,GACF,CAAA,CACF,CAAA,CACF,CAEJ,EACA,SAASgB,EAAAA,CAAmBoD,CAAAA,CAAgBC,CAAAA,CAAwB,CAAA,CAAW,CAC7E,IAAMC,CAAAA,CAAgB,CAAC,EAAA,CAAI,IAAK,GAAA,CAAK,GAAA,CAAK,GAAG,CAAA,CAEzC3C,CAAAA,CAAQ,CAAA,CACZ,KAAOyC,CAAAA,EAAU,GAAA,EAAQzC,CAAAA,CAAQ2C,CAAAA,CAAc,MAAA,CAAS,CAAA,EACtDF,CAAAA,EAAU,IACVzC,CAAAA,EAAAA,CAKF,OAAO,CAAA,EAFe4C,EAAAA,CAAuBH,CAAAA,CAAQC,CAAa,CAE3C,CAAA,EAAGC,CAAAA,CAAc3C,CAAK,CAAC,CAAA,CAChD,CAEA,SAAS4C,GAAuBC,CAAAA,CAAaC,CAAAA,CAAqB,CAChE,IAAMC,CAAAA,CAASF,CAAAA,CAAI,QAAA,EAAS,CACtBG,CAAAA,CAAeD,CAAAA,CAAO,OAAA,CAAQ,GAAG,CAAA,CAEvC,GAAIC,IAAiB,EAAA,EAAMF,CAAAA,GAAQ,CAAA,CACjC,OAAOC,CAAAA,CAAO,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAA,CAG5B,IAAME,CAAAA,CAAcD,CAAAA,CAAeF,CAAAA,CAAM,EAEzC,OAAOC,CAAAA,CAAO,KAAA,CAAM,CAAA,CAAGE,CAAW,CACpC,CCzMA,IAAAC,CAAAA,CAAmB,CAAA,CAAA,CAAA,EAAA,CAAA,CAINC,EAAAA,CAA6B,IAAA,IACxC,CAAA,CAAApG,OAAAA,EAAO,SAAU,CAAE,aAAA,CAAAqG,CAAAA,CAAe,OAAA,CAAAC,CAAQ,CAAA,CAAG,CAC3CD,CAAAA,CACE,CACE,QAAA,CAAU,CACR,gDAAA,CAAkD,CAChD,aAAA,CAAe,OACjB,CAAA,CACA,+CAAA,CAAiD,CAC/C,aAAA,CAAe,KACjB,CACF,CACF,CAAA,CACA,CACE,aAAA,CAAe,KACjB,CACF,EACF,CAAC","file":"index.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","export const getThemeColors = () => {\n const root = document.documentElement;\n const computedStyle = getComputedStyle(root);\n\n const colors = {\n primary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary\")\n ),\n primaryLight: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary-light\")\n ),\n secondary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-secondary\")\n ),\n success: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-success\")\n ),\n warning: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-warning\")\n ),\n danger: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-danger\")),\n info: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-info\")),\n loss: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-loss\")\n ),\n profit: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-profit\")\n ),\n };\n\n return colors;\n};\n\nconst convertToRGB = (color: string) => {\n return `rgb(${color.split(\" \").join(\",\")})`;\n};\n","import { useMemo } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\n\nexport const useColors = (colors?: { profit: string; loss: string }) => {\n const _colors = useMemo(() => {\n const themeColors = getThemeColors();\n return {\n profit: colors?.profit || themeColors.profit,\n loss: colors?.loss || themeColors.loss,\n primary: themeColors.primary,\n primaryLight: themeColors.primaryLight,\n };\n }, [colors]);\n\n return _colors;\n};\n","import { Box, Flex, Text } from \"@orderly.network/ui\";\n\nexport const OrderlyChartTooltip = (props: {\n label: string;\n value: string | number;\n unit?: string;\n prefix?: React.ReactNode;\n titleClassName?: string;\n coloring?: boolean;\n dp?: number;\n rm?: number;\n}) => {\n const {\n label,\n value,\n prefix,\n unit = \"USDC\",\n coloring = false,\n dp,\n rm,\n } = props;\n return (\n <Box intensity={600} p={3} r=\"md\">\n <Flex direction={\"row\"} className={props.titleClassName}>\n {prefix}\n <Text.numeral\n unit={unit}\n as=\"div\"\n size=\"sm\"\n coloring={coloring}\n showIdentifier={coloring}\n unitClassName=\"oui-text-base-contrast-54 oui-ml-1\"\n weight=\"semibold\"\n rm={rm}\n dp={dp}\n >\n {value}\n </Text.numeral>\n </Flex>\n <Text size=\"2xs\" intensity={54} weight=\"semibold\">\n {label}\n </Text>\n </Box>\n );\n};\n","import { numberToHumanStyle } from \"@orderly.network/utils\";\n\nexport const tickFormatter = (value: number) => {\n let absValue = Math.abs(value);\n const dp = absValue === 0 ? 0 : absValue <= 10 ? 2 : absValue <= 100 ? 1 : 0;\n\n const formatted = numberToHumanStyle(absValue, dp);\n return value < 0 ? `-${formatted}` : formatted;\n};\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { cn } from \"@orderly.network/ui\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnLChartDataItem = {\n date: string;\n pnl: number;\n};\n\nexport type PnLChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: PnLChartDataItem[];\n invisible?: boolean;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height } = props;\n\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n />\n );\n};\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index, width, containerWidth } = props;\n const { t } = useTranslation();\n const _x =\n index === 0\n ? 48\n : containerWidth > 0\n ? containerWidth - 10\n : width + payload.offset;\n\n return (\n <g transform={`translate(${_x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor={index === 0 ? \"start\" : \"end\"}\n // textAnchor={\"start\"}\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, stroke, fill } = props;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nexport const PnLBarChart = (props: PnLChartProps) => {\n const { invisible } = props;\n const colors = useColors(props.colors);\n const widthRef = useRef(0);\n\n return (\n // @ts-ignore\n <ResponsiveContainer\n className={cn(invisible && \"chart-invisible\")}\n onResize={(width, height) => {\n // console.log(\"width\", width, height);\n widthRef.current = width;\n }}\n >\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -10, top: 10, right: 10, bottom: 30 }}\n >\n {!invisible && (\n // @ts-ignore\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip />}\n />\n )}\n\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"rgba(0,0,0,0.04)\" />\n {/* @ts-ignore */}\n\n {!invisible && (\n // @ts-ignore\n <Bar dataKey=\"pnl\" shape={<RoundedRectangle />}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.pnl > 0 ? colors.profit : colors.loss}\n />\n );\n })}\n </Bar>\n )}\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickFormatter={(value) => tickFormatter(value)}\n tickLine={false}\n axisLine={false}\n dataKey={\"pnl\"}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel containerWidth={widthRef.current} />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n />\n </BarChart>\n </ResponsiveContainer>\n );\n};\n","import { useTranslation } from \"@orderly.network/i18n\";\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index } = props;\n const { t } = useTranslation();\n return (\n <g transform={`translate(${x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor=\"end\"\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n","import { useMemo, useRef } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\nimport { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n ReferenceLine,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { numberToHumanStyle } from \"@orderly.network/utils\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: any;\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nconst PnlLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n const dataTransfer = (data: any[]) => {\n const series: any[] = [];\n\n data?.reduce((acc, item) => {\n acc += item.pnl;\n series.push({\n ...item,\n pnl: acc,\n _pnl: item.pnl,\n // date: new Date(item.date).getTime(),\n });\n return acc;\n }, 0);\n\n return series;\n };\n\n const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n data={data}\n margin={{ top: 20, right: 10, left: -10, bottom: 0 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n // scale={\"time\"}\n // type=\"number\"\n // range={}\n />\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"pnl\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <ReferenceLine y={0} stroke=\"#000\" /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"pnl\"\n stroke={colors.primary}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { PnlLineChart };\n","import { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type AssetChartDataItem = {\n date: string;\n account_value: number;\n};\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: AssetChartDataItem[];\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n />\n );\n }\n\n return null;\n};\n\nconst AssetLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n // const dataTransfer = (data: any[]) => {\n // const series: any[] = [];\n\n // data.reduce((acc, item) => {\n // acc += item.pnl;\n // series.push({ ...item, pnl: acc, _pnl: item.pnl });\n // return acc;\n // }, 0);\n\n // return series;\n // };\n\n // const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n width={530}\n height={180}\n data={props.data}\n margin={{ top: 20, right: 10, left: -20, bottom: -10 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n ></XAxis>\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"account_value\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <Legend /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"account_value\"\n stroke={colors.profit}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { AssetLineChart };\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { Box, cn } from \"@orderly.network/ui\";\n\nexport type VolChartDataItem = {\n date: string;\n volume: number;\n opacity?: string | number;\n};\n\nexport type VolChartTooltip = {\n rm?: number;\n dp?: number;\n};\n\nexport type VolChartProps = {\n colors?: {\n fill: string;\n };\n data: VolChartDataItem[];\n tooltip?: VolChartTooltip;\n className?: string;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height, opacity } = props;\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n opacity={opacity}\n />\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, payload, stroke, fill } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (\n props: TooltipProps<any, any> & { tooltip?: VolChartTooltip }\n) => {\n const { active, payload, label, tooltip } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label}\n value={payload[0].value}\n // prefix=\"Commission\"\n titleClassName=\"oui-gap-4\"\n rm={tooltip?.rm}\n dp={tooltip?.dp}\n />\n );\n }\n\n return null;\n};\n\nexport const VolBarChart = (props: VolChartProps) => {\n const colors = useColors(\n props.colors?.fill\n ? { profit: props.colors?.fill, loss: props.colors?.fill }\n : undefined\n );\n\n const isEmpty = props.data.reduce((a, b) => a + b.volume, 0) === 0;\n const maxVolume = props.data.reduce((a,b) => (a > b.volume ? a : b.volume), 0);\n const decimal = maxVolume <= 10 ? 2 : (maxVolume <= 100 ? 1 : 0);\n\n return (\n // @ts-ignore\n <Box className={cn(props.className)}>\n {/* @ts-ignore */}\n <ResponsiveContainer>\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -0, top: 6, right: 0, bottom: 20 }}\n >\n {/* @ts-ignore */}\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip tooltip={props.tooltip} />}\n />\n <CartesianGrid\n vertical={false}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.08}\n repeatCount={6}\n />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"#000\" />\n {/* @ts-ignore */}\n <Bar dataKey=\"volume\" shape={<RoundedRectangle />} minPointSize={1}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.volume > 0 ? colors.profit : colors.loss}\n opacity={entry.opacity}\n />\n );\n })}\n </Bar>\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n dataKey={\"volume\"}\n tickFormatter={(value, index) => {\n if (isEmpty) return `${index * 100}`;\n return numberToHumanStyle(value, decimal);\n }}\n width={45}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n stroke=\"rgb(229, 231, 235)\"\n strokeOpacity={0.2}\n />\n </BarChart>\n </ResponsiveContainer>\n </Box>\n );\n};\nfunction numberToHumanStyle(number: number, decimalPlaces: number = 0): string {\n const abbreviations = [\"\", \"K\", \"M\", \"B\", \"T\"];\n\n let index = 0;\n while (number >= 1000 && index < abbreviations.length - 1) {\n number /= 1000;\n index++;\n }\n\n const roundedNumber = toFixedWithoutRounding(number, decimalPlaces);\n\n return `${roundedNumber}${abbreviations[index]}`;\n}\n\nfunction toFixedWithoutRounding(num: number, fix: number): string {\n const numStr = num.toString();\n const decimalIndex = numStr.indexOf(\".\");\n\n if (decimalIndex === -1 || fix === 0) {\n return numStr.split(\".\")[0];\n }\n\n const cutoffIndex = decimalIndex + fix + 1;\n\n return numStr.slice(0, cutoffIndex);\n}\n","import plugin from \"tailwindcss/plugin\";\n\nimport { PluginCreator } from \"tailwindcss/types/config\";\n\nexport const chartPlugin: PluginCreator = () =>\n plugin(function ({ addComponents, addBase }) {\n addComponents(\n {\n \".xAxis\": {\n \".recharts-cartesian-axis-tick:first-child text\": {\n \"text-anchor\": \"start\",\n },\n \".recharts-cartesian-axis-tick:last-child text\": {\n \"text-anchor\": \"end\",\n },\n },\n },\n {\n respectPrefix: false,\n }\n );\n });\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2_@swc+core@1.11.24_@swc+helpers@0.5.17__@types+node@22.15.21_typescript@5.8.3_/node_modules/tailwindcss/lib/util/createPlugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2_@swc+core@1.11.24_@swc+helpers@0.5.17__@types+node@22.15.21_typescript@5.8.3_/node_modules/tailwindcss/lib/public/create-plugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2_@swc+core@1.11.24_@swc+helpers@0.5.17__@types+node@22.15.21_typescript@5.8.3_/node_modules/tailwindcss/plugin.js","../src/utils/theme.ts","../src/orderly/useColors.ts","../src/orderly/pnlBar.tsx","../src/orderly/customTooltip.tsx","../src/utils/yTickFormatter.ts","../src/orderly/xAxisLabel.tsx","../src/orderly/pnlLine.tsx","../src/orderly/assetLine.tsx","../src/orderly/volBar.tsx","../src/tailwindcss/theme.ts"],"names":["require_createPlugin","__commonJSMin","exports","_default","createPlugin","plugin","config","pluginFunction","configFunction","optionsFunction","options","require_create_plugin","_createPlugin","_interop_require_default","obj","require_plugin","module","getThemeColors","root","computedStyle","convertToRGB","color","useColors","colors","useMemo","themeColors","OrderlyChartTooltip","props","label","value","prefix","unit","coloring","dp","rm","jsxs","Box","Flex","jsx","Text","tickFormatter","absValue","formatted","numberToHumanStyle","RoundedRectangle","fill","x","y","width","height","absHeight","XAxisLabel","stroke","payload","index","containerWidth","t","useTranslation","_x","CustomizedCross","Cross","CustomTooltip","active","todayStr","useRef","PnLBarChart","invisible","widthRef","ResponsiveContainer","cn","BarChart","Tooltip","CartesianGrid","ReferenceLine","Bar","entry","Cell","YAxis","XAxis","PnlLineChart","dataTransfer","data","series","acc","item","LineChart","Line","AssetLineChart","opacity","tooltip","VolBarChart","isEmpty","b","maxVolume","decimal","number","decimalPlaces","abbreviations","toFixedWithoutRounding","num","fix","numStr","decimalIndex","cutoffIndex","import_plugin","chartPlugin","addComponents","addBase"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","export const getThemeColors = () => {\n const root = document.documentElement;\n const computedStyle = getComputedStyle(root);\n\n const colors = {\n primary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary\")\n ),\n primaryLight: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary-light\")\n ),\n secondary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-secondary\")\n ),\n success: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-success\")\n ),\n warning: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-warning\")\n ),\n danger: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-danger\")),\n info: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-info\")),\n loss: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-loss\")\n ),\n profit: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-profit\")\n ),\n };\n\n return colors;\n};\n\nconst convertToRGB = (color: string) => {\n return `rgb(${color.split(\" \").join(\",\")})`;\n};\n","import { useMemo } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\n\nexport const useColors = (colors?: { profit: string; loss: string }) => {\n const _colors = useMemo(() => {\n const themeColors = getThemeColors();\n return {\n profit: colors?.profit || themeColors.profit,\n loss: colors?.loss || themeColors.loss,\n primary: themeColors.primary,\n primaryLight: themeColors.primaryLight,\n };\n }, [colors]);\n\n return _colors;\n};\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { cn } from \"@orderly.network/ui\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnLChartDataItem = {\n date: string;\n pnl: number;\n};\n\nexport type PnLChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: PnLChartDataItem[];\n invisible?: boolean;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height } = props;\n\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n />\n );\n};\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index, width, containerWidth } = props;\n const { t } = useTranslation();\n const _x =\n index === 0\n ? 48\n : containerWidth > 0\n ? containerWidth - 10\n : width + payload.offset;\n\n return (\n <g transform={`translate(${_x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor={index === 0 ? \"start\" : \"end\"}\n // textAnchor={\"start\"}\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, stroke, fill } = props;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nexport const PnLBarChart = (props: PnLChartProps) => {\n const { invisible } = props;\n const colors = useColors(props.colors);\n const widthRef = useRef(0);\n\n return (\n // @ts-ignore\n <ResponsiveContainer\n className={cn(invisible && \"chart-invisible\")}\n onResize={(width, height) => {\n // console.log(\"width\", width, height);\n widthRef.current = width;\n }}\n >\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -10, top: 10, right: 10, bottom: 30 }}\n >\n {!invisible && (\n // @ts-ignore\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip />}\n />\n )}\n\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"rgba(0,0,0,0.04)\" />\n {/* @ts-ignore */}\n\n {!invisible && (\n // @ts-ignore\n <Bar dataKey=\"pnl\" shape={<RoundedRectangle />}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.pnl > 0 ? colors.profit : colors.loss}\n />\n );\n })}\n </Bar>\n )}\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickFormatter={(value) => tickFormatter(value)}\n tickLine={false}\n axisLine={false}\n dataKey={\"pnl\"}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel containerWidth={widthRef.current} />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n />\n </BarChart>\n </ResponsiveContainer>\n );\n};\n","import { Box, Flex, Text } from \"@orderly.network/ui\";\n\nexport const OrderlyChartTooltip = (props: {\n label: string;\n value: string | number;\n unit?: string;\n prefix?: React.ReactNode;\n titleClassName?: string;\n coloring?: boolean;\n dp?: number;\n rm?: number;\n}) => {\n const {\n label,\n value,\n prefix,\n unit = \"USDC\",\n coloring = false,\n dp,\n rm,\n } = props;\n return (\n <Box intensity={600} p={3} r=\"md\">\n <Flex direction={\"row\"} className={props.titleClassName}>\n {prefix}\n <Text.numeral\n unit={unit}\n as=\"div\"\n size=\"sm\"\n coloring={coloring}\n showIdentifier={coloring}\n unitClassName=\"oui-text-base-contrast-54 oui-ml-1\"\n weight=\"semibold\"\n rm={rm}\n dp={dp}\n >\n {value}\n </Text.numeral>\n </Flex>\n <Text size=\"2xs\" intensity={54} weight=\"semibold\">\n {label}\n </Text>\n </Box>\n );\n};\n","import { numberToHumanStyle } from \"@orderly.network/utils\";\n\nexport const tickFormatter = (value: number) => {\n let absValue = Math.abs(value);\n const dp = absValue === 0 ? 0 : absValue <= 10 ? 2 : absValue <= 100 ? 1 : 0;\n\n const formatted = numberToHumanStyle(absValue, dp);\n return value < 0 ? `-${formatted}` : formatted;\n};\n","import { useTranslation } from \"@orderly.network/i18n\";\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index } = props;\n const { t } = useTranslation();\n return (\n <g transform={`translate(${x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor=\"end\"\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n","import { useMemo, useRef } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\nimport { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n ReferenceLine,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { numberToHumanStyle } from \"@orderly.network/utils\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: any;\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nconst PnlLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n const dataTransfer = (data: any[]) => {\n const series: any[] = [];\n\n data?.reduce((acc, item) => {\n acc += item.pnl;\n series.push({\n ...item,\n pnl: acc,\n _pnl: item.pnl,\n // date: new Date(item.date).getTime(),\n });\n return acc;\n }, 0);\n\n return series;\n };\n\n const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n data={data}\n margin={{ top: 20, right: 10, left: -10, bottom: 0 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n // scale={\"time\"}\n // type=\"number\"\n // range={}\n />\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"pnl\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <ReferenceLine y={0} stroke=\"#000\" /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"pnl\"\n stroke={colors.primary}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { PnlLineChart };\n","import { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type AssetChartDataItem = {\n date: string;\n account_value: number;\n};\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: AssetChartDataItem[];\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n />\n );\n }\n\n return null;\n};\n\nconst AssetLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n // const dataTransfer = (data: any[]) => {\n // const series: any[] = [];\n\n // data.reduce((acc, item) => {\n // acc += item.pnl;\n // series.push({ ...item, pnl: acc, _pnl: item.pnl });\n // return acc;\n // }, 0);\n\n // return series;\n // };\n\n // const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n width={530}\n height={180}\n data={props.data}\n margin={{ top: 20, right: 10, left: -20, bottom: -10 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n ></XAxis>\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"account_value\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <Legend /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"account_value\"\n stroke={colors.profit}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { AssetLineChart };\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { Box, cn } from \"@orderly.network/ui\";\n\nexport type VolChartDataItem = {\n date: string;\n volume: number;\n opacity?: string | number;\n};\n\nexport type VolChartTooltip = {\n rm?: number;\n dp?: number;\n};\n\nexport type VolChartProps = {\n colors?: {\n fill: string;\n };\n data: VolChartDataItem[];\n tooltip?: VolChartTooltip;\n className?: string;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height, opacity } = props;\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n opacity={opacity}\n />\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, payload, stroke, fill } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (\n props: TooltipProps<any, any> & { tooltip?: VolChartTooltip }\n) => {\n const { active, payload, label, tooltip } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label}\n value={payload[0].value}\n // prefix=\"Commission\"\n titleClassName=\"oui-gap-4\"\n rm={tooltip?.rm}\n dp={tooltip?.dp}\n />\n );\n }\n\n return null;\n};\n\nexport const VolBarChart = (props: VolChartProps) => {\n const colors = useColors(\n props.colors?.fill\n ? { profit: props.colors?.fill, loss: props.colors?.fill }\n : undefined\n );\n\n const isEmpty = props.data.reduce((a, b) => a + b.volume, 0) === 0;\n const maxVolume = props.data.reduce((a,b) => (a > b.volume ? a : b.volume), 0);\n const decimal = maxVolume <= 10 ? 2 : (maxVolume <= 100 ? 1 : 0);\n\n return (\n // @ts-ignore\n <Box className={cn(props.className)}>\n {/* @ts-ignore */}\n <ResponsiveContainer>\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -0, top: 6, right: 0, bottom: 20 }}\n >\n {/* @ts-ignore */}\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip tooltip={props.tooltip} />}\n />\n <CartesianGrid\n vertical={false}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.08}\n repeatCount={6}\n />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"#000\" />\n {/* @ts-ignore */}\n <Bar dataKey=\"volume\" shape={<RoundedRectangle />} minPointSize={1}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.volume > 0 ? colors.profit : colors.loss}\n opacity={entry.opacity}\n />\n );\n })}\n </Bar>\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n dataKey={\"volume\"}\n tickFormatter={(value, index) => {\n if (isEmpty) return `${index * 100}`;\n return numberToHumanStyle(value, decimal);\n }}\n width={45}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n stroke=\"rgb(229, 231, 235)\"\n strokeOpacity={0.2}\n />\n </BarChart>\n </ResponsiveContainer>\n </Box>\n );\n};\nfunction numberToHumanStyle(number: number, decimalPlaces: number = 0): string {\n const abbreviations = [\"\", \"K\", \"M\", \"B\", \"T\"];\n\n let index = 0;\n while (number >= 1000 && index < abbreviations.length - 1) {\n number /= 1000;\n index++;\n }\n\n const roundedNumber = toFixedWithoutRounding(number, decimalPlaces);\n\n return `${roundedNumber}${abbreviations[index]}`;\n}\n\nfunction toFixedWithoutRounding(num: number, fix: number): string {\n const numStr = num.toString();\n const decimalIndex = numStr.indexOf(\".\");\n\n if (decimalIndex === -1 || fix === 0) {\n return numStr.split(\".\")[0];\n }\n\n const cutoffIndex = decimalIndex + fix + 1;\n\n return numStr.slice(0, cutoffIndex);\n}\n","import plugin from \"tailwindcss/plugin\";\n\nimport { PluginCreator } from \"tailwindcss/types/config\";\n\nexport const chartPlugin: PluginCreator = () =>\n plugin(function ({ addComponents, addBase }) {\n addComponents(\n {\n \".xAxis\": {\n \".recharts-cartesian-axis-tick:first-child text\": {\n \"text-anchor\": \"start\",\n },\n \".recharts-cartesian-axis-tick:last-child text\": {\n \"text-anchor\": \"end\",\n },\n },\n },\n {\n respectPrefix: false,\n }\n );\n });\n"]}
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2/node_modules/tailwindcss/lib/util/createPlugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2/node_modules/tailwindcss/lib/public/create-plugin.js","../../../node_modules/.pnpm/tailwindcss@3.4.17_ts-node@10.9.2/node_modules/tailwindcss/plugin.js","../src/utils/theme.ts","../src/orderly/useColors.ts","../src/orderly/customTooltip.tsx","../src/utils/yTickFormatter.ts","../src/orderly/pnlBar.tsx","../src/orderly/xAxisLabel.tsx","../src/orderly/pnlLine.tsx","../src/orderly/assetLine.tsx","../src/orderly/volBar.tsx","../src/tailwindcss/theme.ts"],"names":["require_createPlugin","__commonJSMin","exports","_default","createPlugin","plugin","config","pluginFunction","configFunction","optionsFunction","options","require_create_plugin","_createPlugin","_interop_require_default","obj","require_plugin","module","getThemeColors","root","computedStyle","convertToRGB","color","useColors","colors","useMemo","themeColors","OrderlyChartTooltip","props","label","value","prefix","unit","coloring","dp","rm","jsxs","Box","Flex","jsx","Text","tickFormatter","absValue","formatted","numberToHumanStyle","RoundedRectangle","fill","x","y","width","height","absHeight","XAxisLabel","stroke","payload","index","containerWidth","t","useTranslation","_x","CustomizedCross","Cross","CustomTooltip","active","todayStr","useRef","PnLBarChart","invisible","widthRef","ResponsiveContainer","cn","BarChart","Tooltip","CartesianGrid","ReferenceLine","Bar","entry","Cell","YAxis","XAxis","PnlLineChart","dataTransfer","data","series","acc","item","LineChart","Line","AssetLineChart","opacity","tooltip","VolBarChart","isEmpty","b","maxVolume","decimal","number","decimalPlaces","abbreviations","toFixedWithoutRounding","num","fix","numStr","decimalIndex","cutoffIndex","import_plugin","chartPlugin","addComponents","addBase"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","export const getThemeColors = () => {\n const root = document.documentElement;\n const computedStyle = getComputedStyle(root);\n\n const colors = {\n primary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary\")\n ),\n primaryLight: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-primary-light\")\n ),\n secondary: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-secondary\")\n ),\n success: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-success\")\n ),\n warning: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-warning\")\n ),\n danger: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-danger\")),\n info: convertToRGB(computedStyle.getPropertyValue(\"--oui-color-info\")),\n loss: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-loss\")\n ),\n profit: convertToRGB(\n computedStyle.getPropertyValue(\"--oui-color-trading-profit\")\n ),\n };\n\n return colors;\n};\n\nconst convertToRGB = (color: string) => {\n return `rgb(${color.split(\" \").join(\",\")})`;\n};\n","import { useMemo } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\n\nexport const useColors = (colors?: { profit: string; loss: string }) => {\n const _colors = useMemo(() => {\n const themeColors = getThemeColors();\n return {\n profit: colors?.profit || themeColors.profit,\n loss: colors?.loss || themeColors.loss,\n primary: themeColors.primary,\n primaryLight: themeColors.primaryLight,\n };\n }, [colors]);\n\n return _colors;\n};\n","import { Box, Flex, Text } from \"@orderly.network/ui\";\n\nexport const OrderlyChartTooltip = (props: {\n label: string;\n value: string | number;\n unit?: string;\n prefix?: React.ReactNode;\n titleClassName?: string;\n coloring?: boolean;\n dp?: number;\n rm?: number;\n}) => {\n const {\n label,\n value,\n prefix,\n unit = \"USDC\",\n coloring = false,\n dp,\n rm,\n } = props;\n return (\n <Box intensity={600} p={3} r=\"md\">\n <Flex direction={\"row\"} className={props.titleClassName}>\n {prefix}\n <Text.numeral\n unit={unit}\n as=\"div\"\n size=\"sm\"\n coloring={coloring}\n showIdentifier={coloring}\n unitClassName=\"oui-text-base-contrast-54 oui-ml-1\"\n weight=\"semibold\"\n rm={rm}\n dp={dp}\n >\n {value}\n </Text.numeral>\n </Flex>\n <Text size=\"2xs\" intensity={54} weight=\"semibold\">\n {label}\n </Text>\n </Box>\n );\n};\n","import { numberToHumanStyle } from \"@orderly.network/utils\";\n\nexport const tickFormatter = (value: number) => {\n let absValue = Math.abs(value);\n const dp = absValue === 0 ? 0 : absValue <= 10 ? 2 : absValue <= 100 ? 1 : 0;\n\n const formatted = numberToHumanStyle(absValue, dp);\n return value < 0 ? `-${formatted}` : formatted;\n};\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { cn } from \"@orderly.network/ui\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnLChartDataItem = {\n date: string;\n pnl: number;\n};\n\nexport type PnLChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: PnLChartDataItem[];\n invisible?: boolean;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height } = props;\n\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n />\n );\n};\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index, width, containerWidth } = props;\n const { t } = useTranslation();\n const _x =\n index === 0\n ? 48\n : containerWidth > 0\n ? containerWidth - 10\n : width + payload.offset;\n\n return (\n <g transform={`translate(${_x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor={index === 0 ? \"start\" : \"end\"}\n // textAnchor={\"start\"}\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, stroke, fill } = props;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nexport const PnLBarChart = (props: PnLChartProps) => {\n const { invisible } = props;\n const colors = useColors(props.colors);\n const widthRef = useRef(0);\n\n return (\n // @ts-ignore\n <ResponsiveContainer\n className={cn(invisible && \"chart-invisible\")}\n onResize={(width, height) => {\n // console.log(\"width\", width, height);\n widthRef.current = width;\n }}\n >\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -10, top: 10, right: 10, bottom: 30 }}\n >\n {!invisible && (\n // @ts-ignore\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip />}\n />\n )}\n\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"rgba(0,0,0,0.04)\" />\n {/* @ts-ignore */}\n\n {!invisible && (\n // @ts-ignore\n <Bar dataKey=\"pnl\" shape={<RoundedRectangle />}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.pnl > 0 ? colors.profit : colors.loss}\n />\n );\n })}\n </Bar>\n )}\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickFormatter={(value) => tickFormatter(value)}\n tickLine={false}\n axisLine={false}\n dataKey={\"pnl\"}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel containerWidth={widthRef.current} />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n />\n </BarChart>\n </ResponsiveContainer>\n );\n};\n","import { useTranslation } from \"@orderly.network/i18n\";\n\nexport const XAxisLabel = (props: any) => {\n const { x, y, stroke, payload, index } = props;\n const { t } = useTranslation();\n return (\n <g transform={`translate(${x},${y - 6})`}>\n <text\n x={0}\n y={0}\n dy={16}\n textAnchor=\"end\"\n fontSize={10}\n fill={\"rgba(255,255,255,0.54)\"}\n >\n {index === 0 ? payload.value : t(\"chart.now\")}\n </text>\n </g>\n );\n};\n","import { useMemo, useRef } from \"react\";\nimport { getThemeColors } from \"../utils/theme\";\nimport { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n ReferenceLine,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { numberToHumanStyle } from \"@orderly.network/utils\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: any;\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n coloring\n />\n );\n }\n\n return null;\n};\n\nconst PnlLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n const dataTransfer = (data: any[]) => {\n const series: any[] = [];\n\n data?.reduce((acc, item) => {\n acc += item.pnl;\n series.push({\n ...item,\n pnl: acc,\n _pnl: item.pnl,\n // date: new Date(item.date).getTime(),\n });\n return acc;\n }, 0);\n\n return series;\n };\n\n const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n data={data}\n margin={{ top: 20, right: 10, left: -10, bottom: 0 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n // scale={\"time\"}\n // type=\"number\"\n // range={}\n />\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"pnl\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <ReferenceLine y={0} stroke=\"#000\" /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"pnl\"\n stroke={colors.primary}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { PnlLineChart };\n","import { useColors } from \"./useColors\";\n// import { Line } from \"../line/line\";\nimport {\n LineChart,\n XAxis,\n YAxis,\n Line,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { XAxisLabel } from \"./xAxisLabel\";\nimport { useRef } from \"react\";\nimport { tickFormatter } from \"../utils/yTickFormatter\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type AssetChartDataItem = {\n date: string;\n account_value: number;\n};\n\nexport type PnlLineChartProps = {\n colors?: {\n profit: string;\n loss: string;\n };\n data: AssetChartDataItem[];\n invisible?: boolean;\n};\n\nconst CustomTooltip = (props: TooltipProps<any, any>) => {\n const { active, payload, label } = props;\n const todayStr = useRef(new Date().toISOString().split(\"T\")[0]);\n const { t } = useTranslation();\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label === todayStr.current ? t(\"chart.now\") : label}\n value={payload[0].value}\n />\n );\n }\n\n return null;\n};\n\nconst AssetLineChart = (props: PnlLineChartProps) => {\n const colors = useColors(props.colors);\n\n // const dataTransfer = (data: any[]) => {\n // const series: any[] = [];\n\n // data.reduce((acc, item) => {\n // acc += item.pnl;\n // series.push({ ...item, pnl: acc, _pnl: item.pnl });\n // return acc;\n // }, 0);\n\n // return series;\n // };\n\n // const data = useMemo(() => dataTransfer(props.data), [props.data]);\n\n return (\n // @ts-ignore\n <ResponsiveContainer className={props.invisible ? \"chart-invisible\" : \"\"}>\n {/* @ts-ignore */}\n <LineChart\n width={530}\n height={180}\n data={props.data}\n margin={{ top: 20, right: 10, left: -20, bottom: -10 }}\n >\n <CartesianGrid vertical={false} stroke=\"#FFFFFF\" strokeOpacity={0.04} />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n interval={props.data.length - 2}\n // tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tick={<XAxisLabel />}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.04}\n ></XAxis>\n {/* @ts-ignore */}\n <YAxis\n dataKey=\"account_value\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n tickFormatter={(value) => tickFormatter(value)}\n />\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Tooltip\n cursor={{ strokeDasharray: \"3 2\", strokeOpacity: 0.16 }}\n content={<CustomTooltip />}\n />\n )}\n\n {/* <Legend /> */}\n {/* @ts-ignore */}\n {!props.invisible && (\n // @ts-ignore\n <Line\n type=\"natural\"\n dataKey=\"account_value\"\n stroke={colors.profit}\n strokeWidth={2}\n dot={false}\n isAnimationActive={false}\n />\n )}\n </LineChart>\n </ResponsiveContainer>\n );\n};\n\nexport { AssetLineChart };\n","import { useColors } from \"./useColors\";\nimport {\n BarChart,\n XAxis,\n YAxis,\n ResponsiveContainer,\n Bar,\n Cell,\n Tooltip,\n CartesianGrid,\n ReferenceLine,\n Cross,\n} from \"recharts\";\nimport type { TooltipProps } from \"recharts\";\nimport { OrderlyChartTooltip } from \"./customTooltip\";\nimport { Box, cn } from \"@orderly.network/ui\";\n\nexport type VolChartDataItem = {\n date: string;\n volume: number;\n opacity?: string | number;\n};\n\nexport type VolChartTooltip = {\n rm?: number;\n dp?: number;\n};\n\nexport type VolChartProps = {\n colors?: {\n fill: string;\n };\n data: VolChartDataItem[];\n tooltip?: VolChartTooltip;\n className?: string;\n};\n\nconst RoundedRectangle = (props: any) => {\n const { fill, x, y, width, height, opacity } = props;\n const absHeight = Math.abs(height);\n\n return (\n <rect\n rx={2}\n x={x}\n y={height > 0 ? y : y + height}\n width={width}\n height={absHeight}\n stroke=\"none\"\n fill={fill}\n opacity={opacity}\n />\n );\n};\n\nconst CustomizedCross = (props: any) => {\n const { width, height, payload, stroke, fill } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n return (\n // @ts-ignore\n <Cross\n // y={props.y + props.top}\n x={props.x + props.width / 2}\n top={props.top}\n height={height}\n width={1}\n stroke={\"rgba(255,255,255,0.16)\"}\n strokeDasharray={\"3 2\"}\n fill={\"none\"}\n />\n );\n};\n\nconst CustomTooltip = (\n props: TooltipProps<any, any> & { tooltip?: VolChartTooltip }\n) => {\n const { active, payload, label, tooltip } = props;\n\n if (payload?.[0]?.value === 0) return null;\n\n if (active && payload && payload.length) {\n return (\n <OrderlyChartTooltip\n label={label}\n value={payload[0].value}\n // prefix=\"Commission\"\n titleClassName=\"oui-gap-4\"\n rm={tooltip?.rm}\n dp={tooltip?.dp}\n />\n );\n }\n\n return null;\n};\n\nexport const VolBarChart = (props: VolChartProps) => {\n const colors = useColors(\n props.colors?.fill\n ? { profit: props.colors?.fill, loss: props.colors?.fill }\n : undefined\n );\n\n const isEmpty = props.data.reduce((a, b) => a + b.volume, 0) === 0;\n const maxVolume = props.data.reduce((a,b) => (a > b.volume ? a : b.volume), 0);\n const decimal = maxVolume <= 10 ? 2 : (maxVolume <= 100 ? 1 : 0);\n\n return (\n // @ts-ignore\n <Box className={cn(props.className)}>\n {/* @ts-ignore */}\n <ResponsiveContainer>\n {/* @ts-ignore */}\n <BarChart\n data={props.data}\n margin={{ left: -0, top: 6, right: 0, bottom: 20 }}\n >\n {/* @ts-ignore */}\n <Tooltip\n // cursor={{ fillOpacity: 0.1 }}\n cursor={<CustomizedCross />}\n content={<CustomTooltip tooltip={props.tooltip} />}\n />\n <CartesianGrid\n vertical={false}\n stroke=\"#FFFFFF\"\n strokeOpacity={0.08}\n repeatCount={6}\n />\n {/* @ts-ignore */}\n <ReferenceLine y={0} stroke=\"#000\" />\n {/* @ts-ignore */}\n <Bar dataKey=\"volume\" shape={<RoundedRectangle />} minPointSize={1}>\n {props.data.map((entry, index) => {\n return (\n // @ts-ignore\n <Cell\n key={`cell-${index}`}\n fill={entry.volume > 0 ? colors.profit : colors.loss}\n opacity={entry.opacity}\n />\n );\n })}\n </Bar>\n {/* @ts-ignore */}\n <YAxis\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n tickLine={false}\n axisLine={false}\n dataKey={\"volume\"}\n tickFormatter={(value, index) => {\n if (isEmpty) return `${index * 100}`;\n return numberToHumanStyle(value, decimal);\n }}\n width={45}\n />\n {/* @ts-ignore */}\n <XAxis\n dataKey=\"date\"\n // axisLine={false}\n tickLine={false}\n interval={props.data.length - 2}\n // tick={renderQuarterTick}\n height={1}\n // scale=\"time\"\n tick={{ fontSize: 10, fill: \"rgba(255,255,255,0.54)\" }}\n stroke=\"rgb(229, 231, 235)\"\n strokeOpacity={0.2}\n />\n </BarChart>\n </ResponsiveContainer>\n </Box>\n );\n};\nfunction numberToHumanStyle(number: number, decimalPlaces: number = 0): string {\n const abbreviations = [\"\", \"K\", \"M\", \"B\", \"T\"];\n\n let index = 0;\n while (number >= 1000 && index < abbreviations.length - 1) {\n number /= 1000;\n index++;\n }\n\n const roundedNumber = toFixedWithoutRounding(number, decimalPlaces);\n\n return `${roundedNumber}${abbreviations[index]}`;\n}\n\nfunction toFixedWithoutRounding(num: number, fix: number): string {\n const numStr = num.toString();\n const decimalIndex = numStr.indexOf(\".\");\n\n if (decimalIndex === -1 || fix === 0) {\n return numStr.split(\".\")[0];\n }\n\n const cutoffIndex = decimalIndex + fix + 1;\n\n return numStr.slice(0, cutoffIndex);\n}\n","import plugin from \"tailwindcss/plugin\";\n\nimport { PluginCreator } from \"tailwindcss/types/config\";\n\nexport const chartPlugin: PluginCreator = () =>\n plugin(function ({ addComponents, addBase }) {\n addComponents(\n {\n \".xAxis\": {\n \".recharts-cartesian-axis-tick:first-child text\": {\n \"text-anchor\": \"start\",\n },\n \".recharts-cartesian-axis-tick:last-child text\": {\n \"text-anchor\": \"end\",\n },\n },\n },\n {\n respectPrefix: false,\n }\n );\n });\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orderly.network/chart",
3
- "version": "2.5.2",
3
+ "version": "2.5.3-alpha.1",
4
4
  "description": "Charting library for Orderly Network",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -23,7 +23,7 @@
23
23
  "react-dom": "^18.2.0",
24
24
  "tailwindcss": "^3.4.4",
25
25
  "tsup": "^8.1.0",
26
- "tsconfig": "0.8.2"
26
+ "tsconfig": "0.8.3-alpha.1"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": ">=18",
@@ -36,9 +36,9 @@
36
36
  "d3-selection": "^3.0.0",
37
37
  "d3-shape": "^3.2.0",
38
38
  "recharts": "^2.12.7",
39
- "@orderly.network/i18n": "2.5.2",
40
- "@orderly.network/ui": "2.5.2",
41
- "@orderly.network/utils": "2.5.2"
39
+ "@orderly.network/i18n": "2.5.3-alpha.1",
40
+ "@orderly.network/utils": "2.5.3-alpha.1",
41
+ "@orderly.network/ui": "2.5.3-alpha.1"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "tsup",