{"version":3,"file":"ChartBaseTheming-090718ad.js","sources":["../../../app/javascript/components/chart/utils/ChartBaseTheming.js"],"sourcesContent":["import colors from 'tailwindcss/colors';\nimport { formatNumber, formatPrice } from '@/composeables/filters';\nimport Highcharts from 'highcharts';\n\nexport const baseColors = (i = null) => {\n const color_series = [colors.blue[500], colors.slate[500]];\n if (i == null) return color_series;\n return color_series[i % (color_series.length - 1)];\n};\n\nexport const baseColorPos = (i = null) => {\n const color_series = colors.blue[500];\n if (i == null) return color_series;\n return color_series[i % (color_series.length - 1)];\n};\n\nexport const baseColorNeg = (i = null) => {\n const color_series = colors.blue[500];\n if (i == null) return color_series;\n return color_series[i % (color_series.length - 1)];\n};\n\nexport const baseColorMuted = (i = null) => {\n return colors.slate[700];\n};\n\nexport const multiColorSeries = (i = null) => {\n const color_series = [\n colors.blue[600],\n colors.red[600],\n colors.emerald[600],\n colors.yellow[600],\n colors.pink[600],\n colors.orange[600],\n '#C026D3', // Extended Fuschia 600\n colors.sky[300],\n colors.emerald[800],\n colors.pink[500]\n ];\n if (i == null) return color_series;\n return color_series[i % (color_series.length - 1)];\n};\n\nexport const multiColorSeriesMuted = (i = null) => {\n const color_series = [\n colors.blue[400],\n colors.emerald[300],\n colors.pink[400],\n '#E879F9', // Extended Fuschia 400\n colors.orange[300],\n colors.yellow[200],\n '#F87171' // Extended Red 400\n ];\n if (i == null) return color_series;\n return color_series[i % (color_series.length - 1)];\n};\n\nexport const monoChromeSeries = (color = 'blue', i = null) => {\n const color_series = [\n colors[color][500],\n colors[color][700],\n colors[color][300],\n colors[color][200],\n colors[color][900],\n colors[color][100]\n ];\n if (i == null) return color_series;\n return color_series[i % (color_series.length - 1)];\n};\n\nexport const baseHighchartsTheme = () => {\n let chartColors = baseColors();\n return {\n // colors: chartColors,\n colors: [colors.blue[600], colors.slate[400], colors.amber[600], colors.amber[400]],\n chart: {\n animation: false,\n backgroundColor: 'transparent',\n spacingTop: 20,\n zoomType: '',\n style: {\n fontFamily: 'Inter'\n }\n },\n title: {\n text: undefined,\n style: {\n color: colors.slate[400]\n }\n },\n credits: {\n enabled: false\n },\n exporting: {\n enabled: false,\n fallbackToExportServer: false,\n chartOptions: {\n chart: {\n backgroundColor: colors.slate[900]\n },\n title: {\n style: {\n color: colors.slate[300],\n fontWeight: 'bold',\n fontSize: '14px'\n }\n }\n }\n },\n xAxis: {\n lineColor: colors.slate[800],\n tickLength: 6,\n tickWidth: 1,\n tickColor: colors.slate[700],\n title: {\n style: {\n color: colors.slate[400],\n fontSize: '10px'\n }\n },\n labels: {\n enabled: true,\n style: {\n color: colors.slate[400],\n fontSize: '10px'\n }\n },\n crosshair: {\n color: colors.slate[600],\n // dashStyle: 'Dash',\n width: 1\n }\n },\n time: {\n useUTC: false\n },\n yAxis: {\n gridLineColor: colors.slate[800],\n lineColor: colors.slate[600],\n scaleShowLabels: true,\n maxPadding: 0,\n title: {\n text: '',\n style: {\n color: colors.slate[400],\n fontSize: '10px'\n }\n },\n labels: {\n enabled: true,\n style: {\n color: colors.slate[400],\n fontSize: '10px'\n }\n }\n },\n legend: {\n margin: 0,\n symbolWidth: 6,\n symbolHeight: 6,\n symbolRadius: 3,\n itemStyle: {\n fontSize: '10px',\n fontWeight: 'light',\n color: colors.slate[100]\n },\n itemHiddenStyle: {\n fontSize: '10px',\n color: colors.slate[500]\n },\n itemHoverStyle: {\n fontSize: '10px',\n color: colors.slate[300]\n }\n },\n plotOptions: {\n area: {\n stacking: 'normal',\n marker: false,\n turboThreshold: 100000\n },\n column: {\n borderWidth: 0\n },\n heatmap: {\n dataLabels: {\n enabled: true,\n backgroundColor: 'transparent',\n borderWidth: 0,\n style: {\n color: colors.slate[300],\n fontSize: '10px',\n textOutline: 'transparent'\n },\n formatter: function () {\n return Highcharts.numberFormat(this.point.value, 0, null, ',');\n }\n }\n },\n histogram: {\n pointPadding: 0.1,\n borderWidth: 0\n // binWidth: 0.2\n },\n line: {\n lineWidth: 2,\n marker: {\n enabled: false\n }\n },\n pie: {\n // opacity: 0.9,\n size: '100%',\n allowPointSelect: true,\n cursor: 'pointer',\n animation: false,\n startAngle: 120,\n dataLabels: {\n enabled: true,\n distance: -30,\n color: colors.slate[300],\n style: {\n textOutline: false\n },\n formatter: function () {\n return '' + this.point.name + ':
' + this.point.y;\n }\n },\n showInLegend: true,\n borderWidth: 0,\n shadow: false\n },\n series: {\n crisp: true,\n marker: {\n radius: 1\n },\n connectNulls: true,\n animation: false,\n bar: {\n borderWidth: 0\n },\n states: {\n hover: {\n lineWidth: 2\n }\n }\n }\n },\n turboThreshold: 10000000000000,\n tooltip: {\n shared: true,\n followPointer: true,\n useHTML: true,\n borderWidth: 0,\n backgroundColor: 'transparent',\n shadow: false,\n style: {\n zIndex: 100,\n color: colors.slate[200],\n pointerEvents: 'auto'\n },\n headerFormat: `
\n
`,\n xDateFormat: '%b %d, %Y',\n pointFormatter: function () {\n const formatType = this.series.userOptions?.formatType;\n let pointVal =\n (formatType?.includes('price') || this.series.name.toLowerCase().includes('price')) &&\n (this.y < 1 || this.y.toString().includes('e'))\n ? formatPrice(this.y)\n : formatNumber(this.y);\n let prefix = formatType?.includes('price') || formatType?.includes('dollar') ? '$' : null;\n let suffix = formatType?.includes('percent') ? '%' : null;\n\n return `
\n
\n \n ${this.series.name}
\n
\n
\n ${prefix ? prefix : ''}\n ${pointVal}\n ${suffix ? suffix : ''}\n
\n
`;\n },\n footerFormat: `
{point.key}
`\n }\n };\n};\n"],"names":["baseColors","i","color_series","colors","baseColorMuted","multiColorSeries","monoChromeSeries","color","baseHighchartsTheme","Highcharts","formatType","_a","pointVal","formatPrice","formatNumber","prefix","suffix"],"mappings":"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"}