@milaboratories/miplots4 1.0.145 → 1.0.146

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.
Files changed (61) hide show
  1. package/dist/heatmap/ChartRenderer.d.ts +1 -1
  2. package/dist/heatmap/ChartRenderer.d.ts.map +1 -1
  3. package/dist/heatmap/ChartRenderer.js +110 -109
  4. package/dist/heatmap/ChartRenderer.js.map +1 -1
  5. package/dist/heatmap/HeatmapSettingsImpl.d.ts +1 -0
  6. package/dist/heatmap/HeatmapSettingsImpl.d.ts.map +1 -1
  7. package/dist/heatmap/HeatmapSettingsImpl.js +7 -6
  8. package/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
  9. package/dist/heatmap/components/Annotations/Annotation.d.ts +2 -2
  10. package/dist/heatmap/components/Annotations/Annotation.d.ts.map +1 -1
  11. package/dist/heatmap/components/Annotations/Annotation.js +106 -98
  12. package/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
  13. package/dist/heatmap/components/Annotations/AnnotationCellsCanvas.d.ts +23 -0
  14. package/dist/heatmap/components/Annotations/AnnotationCellsCanvas.d.ts.map +1 -0
  15. package/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js +99 -0
  16. package/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js.map +1 -0
  17. package/dist/heatmap/components/Annotations/AnnotationCellsSvg.d.ts +23 -0
  18. package/dist/heatmap/components/Annotations/AnnotationCellsSvg.d.ts.map +1 -0
  19. package/dist/heatmap/components/Annotations/AnnotationCellsSvg.js +57 -0
  20. package/dist/heatmap/components/Annotations/AnnotationCellsSvg.js.map +1 -0
  21. package/dist/heatmap/components/Annotations/index.d.ts +2 -2
  22. package/dist/heatmap/components/Annotations/index.d.ts.map +1 -1
  23. package/dist/heatmap/components/Annotations/index.js +2 -2
  24. package/dist/heatmap/components/Annotations/index.js.map +1 -1
  25. package/dist/heatmap/components/CanvasCells.d.ts +21 -0
  26. package/dist/heatmap/components/CanvasCells.d.ts.map +1 -0
  27. package/dist/heatmap/components/CanvasCells.js +85 -0
  28. package/dist/heatmap/components/CanvasCells.js.map +1 -0
  29. package/dist/heatmap/components/Chart.d.ts +2 -1
  30. package/dist/heatmap/components/Chart.d.ts.map +1 -1
  31. package/dist/heatmap/components/Chart.js +180 -186
  32. package/dist/heatmap/components/Chart.js.map +1 -1
  33. package/dist/heatmap/components/ChartsGroup.d.ts +2 -1
  34. package/dist/heatmap/components/ChartsGroup.d.ts.map +1 -1
  35. package/dist/heatmap/components/ChartsGroup.js +27 -25
  36. package/dist/heatmap/components/ChartsGroup.js.map +1 -1
  37. package/dist/heatmap/components/SvgCells.d.ts +19 -0
  38. package/dist/heatmap/components/SvgCells.d.ts.map +1 -0
  39. package/dist/heatmap/components/SvgCells.js +38 -0
  40. package/dist/heatmap/components/SvgCells.js.map +1 -0
  41. package/dist/heatmap/components/tooltipUtils.d.ts +10 -0
  42. package/dist/heatmap/components/tooltipUtils.d.ts.map +1 -0
  43. package/dist/heatmap/components/tooltipUtils.js +44 -0
  44. package/dist/heatmap/components/tooltipUtils.js.map +1 -0
  45. package/dist/heatmap/components/types.d.ts +8 -0
  46. package/dist/heatmap/components/types.d.ts.map +1 -1
  47. package/dist/heatmap/constants.d.ts +1 -0
  48. package/dist/heatmap/constants.d.ts.map +1 -1
  49. package/dist/heatmap/constants.js +13 -12
  50. package/dist/heatmap/constants.js.map +1 -1
  51. package/dist/heatmap/getCells.d.ts.map +1 -1
  52. package/dist/heatmap/getCells.js +65 -68
  53. package/dist/heatmap/getCells.js.map +1 -1
  54. package/dist/heatmap/index.d.ts.map +1 -1
  55. package/dist/heatmap/index.js +89 -87
  56. package/dist/heatmap/index.js.map +1 -1
  57. package/dist/types/heatmap.d.ts +3 -0
  58. package/dist/types/heatmap.d.ts.map +1 -1
  59. package/dist/types/heatmap.js +5 -4
  60. package/dist/types/heatmap.js.map +1 -1
  61. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","sources":["../../../src/heatmap/components/Chart.tsx"],"sourcesContent":["import { format as d3format } from 'd3-format';\nimport { useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport type { DataFrame } from '../../DataFrame';\nimport type { ColumnName, DataValue } from '../../types';\nimport { FACET_TITLE_OFFSET, FONT_SIZE } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Annotations } from './Annotations';\nimport { Captions } from './Captions';\nimport { Dendrograms } from './Dendrograms';\nimport { Frames } from './Frames';\nimport type { AnnotationColorScales, AnnotationTooltipData, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartScales, ChartSizes, DendrogramAesScales, LabelAngles, Margins } from './types';\n\nfunction formatCellValue(v: DataValue, format?: string): number | string {\n if (v === null) {\n return 'null';\n }\n if (typeof v === 'number') {\n if (format) {\n return d3format(format)(v);\n }\n const whole = v > 0 ? Math.floor(v) : Math.ceil(v);\n const decimal = v - whole;\n return whole + Number(decimal.toPrecision(2));\n }\n return v;\n}\nfunction getTooltipContent(\n dataFrame: DataFrame,\n cell: Cell,\n cellsMeta: GroupedCellsData['meta'],\n columnsList: ColumnName[] = []\n) {\n const value = `${formatCellValue(cell.value)}${cell.value !== cell.normalizedValue ? ` (${formatCellValue(cell.normalizedValue)})` : ''}`;\n if (columnsList.length) {\n const lines = [\n `Value: ${value}`,\n ];\n for (const column of columnsList) {\n const value = dataFrame.getColumnValue(column.value, cell.idx);\n lines.push(`${column.label}: ${formatCellValue(value, column.format)}`);\n }\n return lines;\n }\n\n return [value];\n}\nfunction getAnnotationTooltipContent(data: AnnotationTooltipData, cellsMeta: GroupedCellsData['meta']) {\n const lines: string[] = [];\n if (data.xKey) {\n lines.push(`X: ${cellsMeta.xLabels[data.xKey as string]}`);\n }\n if (data.yKey) {\n lines.push(`Y: ${cellsMeta.yLabels[data.yKey as string]}`);\n }\n lines.push(`${data.title}: ${formatCellValue(data.value, data.column.format)}`);\n return lines;\n}\n\nfunction isAnnotationTooltip(d: Cell | AnnotationTooltipData | null): d is AnnotationTooltipData {\n return d !== null && 'isAnnotation' in d;\n}\n\nfunction isCellTooltip(d: Cell | AnnotationTooltipData | null): d is Cell {\n return d !== null && 'isCell' in d;\n}\n\nexport function Chart<ValueType>({\n dendrograms,\n facetKey,\n dimensions,\n scales,\n cells,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n colorScale,\n chartSettings,\n cellsMeta,\n stepX,\n stepY,\n sharedX,\n sharedY,\n annotations,\n annotationColorScales,\n dendrogramAesScales,\n aes,\n labelAngles,\n chartSizes,\n margins,\n tooltipsContainer,\n tooltipsData,\n}: {\n facetKey: string;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n dimensions: ChartDimensionsData;\n scales: ChartScales;\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];\n xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n colorScale: (value: ValueType) => string;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n cellsMeta: GroupedCellsData['meta'];\n stepX: number;\n stepY: number;\n annotations: HeatmapSettingsImpl['annotations'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: ChartDendrograms;\n dendrogramAesScales: DendrogramAesScales;\n labelAngles: LabelAngles;\n margins: Margins;\n tooltipsContainer?: Element;\n tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;\n}) {\n const dataFrame = useDataFrame();\n const [activeElementContainer, setActiveElementContainer] = useState<SVGGElement>();\n\n const { xAxis, yAxis, tooltips } = chartSettings;\n const { width, height } = dimensions.inner;\n const { padding, chartEdgeSides, sideElementBBoxes } = dimensions;\n const { xGroupLabels, yGroupLabels, xLabels, yLabels } = cellsMeta;\n\n const xKeys = scales.x.domain();\n const yKeys = scales.y.domain();\n\n const sideDistances = {\n left: margins.left + dimensions.left + padding.left,\n right: chartSizes.totalWidth - (margins.left + dimensions.left + padding.left),\n top: margins.top + dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (margins.top + dimensions.top + padding.top),\n };\n\n const debug = false;\n const isDimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g transform={`translate(${dimensions.left},${dimensions.top})`} fontSize={FONT_SIZE}>\n <g transform={`translate(${padding.left},${padding.top})`}>\n <Annotations\n facetKey={facetKey}\n sideElementBBoxes={sideElementBBoxes}\n annotations={annotations}\n cellsMeta={cellsMeta}\n annotationColorScales={annotationColorScales}\n sharedX={sharedX}\n sharedY={sharedY}\n chartEdgeSides={chartEdgeSides}\n width={width}\n height={height}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n tooltipsData={tooltipsData}\n activeElementContainer={activeElementContainer}\n />\n <Dendrograms\n dendrograms={dendrograms}\n sideElementBBoxes={sideElementBBoxes}\n xGroupKeys={cellsMeta.xGroupKeys}\n yGroupKeys={cellsMeta.yGroupKeys}\n xDataByKeys={cellsMeta.xDataByKeys}\n yDataByKeys={cellsMeta.yDataByKeys}\n aesScales={dendrogramAesScales}\n />\n {/* facet title */}\n {sideElementBBoxes.top.facetTitle.isVisible && (\n <text\n x={sideElementBBoxes.top.facetTitle.x}\n y={\n sideElementBBoxes.top.facetTitle.y +\n sideElementBBoxes.top.facetTitle.height -\n FACET_TITLE_OFFSET\n }\n fontWeight=\"500\"\n fontSize=\"20px\"\n >\n {cellsMeta.facetKeyValues[facetKey].join(', ')}\n </text>\n )}\n {debug && (\n <g fill=\"green\" opacity=\"0.2\">\n <rect\n x={-padding.left}\n y={-padding.top}\n width={dimensions.outer.width}\n height={dimensions.outer.height}\n fill=\"none\"\n stroke=\"red\"\n />\n <rect x={-padding.left} y=\"0\" width={padding.left} height={height} />\n <rect x={width} y=\"0\" width={padding.right} height={height} />\n <rect x=\"0\" y={-padding.top} width={width} height={padding.top} />\n <rect x=\"0\" y={height} width={width} height={padding.bottom} />\n </g>\n )}\n {/* cells */}\n {xKeys.map(xKey =>\n yKeys.map(yKey => {\n const cell = cells?.[xKey]?.[yKey];\n const highlighted = isDimmedBackground && isCellTooltip(tooltipsData.selectedData) && cell?.id === tooltipsData.selectedData.id;\n const cellElement = cell ? (\n <rect\n key={cell ? cell.id : `${xKey}_${yKey}`}\n x={scales.x(xKey)}\n y={scales.y(yKey)}\n width={stepX}\n height={stepY}\n stroke={aes.cellStrokeColor}\n fill={cell.value === null ? aes.emptyCellColor : colorScale(cell.normalizedValue as ValueType)}\n onMouseOver={() => tooltipsData.onMouseEnter(cell, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n ) : null;\n return highlighted ? createPortal(cellElement, activeElementContainer) : cellElement;\n })\n )}\n <Frames\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n width={width}\n height={height}\n />\n <Captions\n xAxis={xAxis}\n yAxis={yAxis}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n debug={debug}\n sideElementBBoxes={sideElementBBoxes}\n xKeys={xKeys}\n yKeys={yKeys}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n xGroupLabels={xGroupLabels}\n yGroupLabels={yGroupLabels}\n labelAngles={labelAngles}\n xLabels={xLabels}\n yLabels={yLabels}\n />\n </g>\n {chartSettings.tooltips.show && isCellTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipsData.selectedData, cellsMeta, tooltips?.content)}\n x={scales.x(String(tooltipsData.selectedData.x)) + stepX / 2}\n y={scales.y(String(tooltipsData.selectedData.y)) + stepY / 2}\n offset={xKeys.length > 1 ? stepX / 2 : 0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n {chartSettings.tooltips.show && isAnnotationTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getAnnotationTooltipContent(tooltipsData.selectedData, cellsMeta)}\n x={tooltipsData.selectedData.x}\n y={tooltipsData.selectedData.y}\n offset={0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n <g transform={`translate(${padding.left},${padding.top})`}>\n {tooltipsData.fixed && <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\" />}\n <g ref={node => {\n if (node && !activeElementContainer) {\n setActiveElementContainer(node);\n }\n }}\n />\n </g>\n </g>\n );\n}\n"],"names":["formatCellValue","v","format","d3format","whole","decimal","getTooltipContent","dataFrame","cell","cellsMeta","columnsList","value","lines","column","getAnnotationTooltipContent","data","isAnnotationTooltip","d","isCellTooltip","Chart","dendrograms","facetKey","dimensions","scales","cells","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","colorScale","chartSettings","stepX","stepY","sharedX","sharedY","annotations","annotationColorScales","dendrogramAesScales","aes","labelAngles","chartSizes","margins","tooltipsContainer","tooltipsData","useDataFrame","activeElementContainer","setActiveElementContainer","useState","xAxis","yAxis","tooltips","width","height","padding","chartEdgeSides","sideElementBBoxes","xGroupLabels","yGroupLabels","xLabels","yLabels","xKeys","yKeys","sideDistances","debug","isDimmedBackground","jsxs","FONT_SIZE","jsx","Annotations","Dendrograms","FACET_TITLE_OFFSET","xKey","yKey","_a","highlighted","cellElement","createPortal","Frames","Captions","Tooltip","node"],"mappings":"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"}
1
+ {"version":3,"file":"Chart.js","sources":["../../../src/heatmap/components/Chart.tsx"],"sourcesContent":["import type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport { FACET_TITLE_OFFSET, FONT_SIZE } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Annotations } from './Annotations';\nimport { Captions } from './Captions';\nimport { Dendrograms } from './Dendrograms';\nimport { Frames } from './Frames';\nimport type { AnnotationColorScales, AnnotationTooltipData, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartScales, ChartSizes, DendrogramAesScales, LabelAngles, Margins } from './types';\nimport { getAnnotationTooltipContent, getTooltipContent, isAnnotationTooltip, isCellTooltip } from './tooltipUtils';\nimport { CanvasCells } from './CanvasCells';\nimport { SvgCells } from './SvgCells';\n\nexport function Chart<ValueType>({\n dendrograms,\n facetKey,\n dimensions,\n scales,\n cells,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n colorScale,\n chartSettings,\n cellsMeta,\n stepX,\n stepY,\n sharedX,\n sharedY,\n annotations,\n annotationColorScales,\n dendrogramAesScales,\n aes,\n labelAngles,\n chartSizes,\n margins,\n tooltipsContainer,\n tooltipsData,\n cellsRenderingMode,\n}: {\n facetKey: string;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n dimensions: ChartDimensionsData;\n scales: ChartScales;\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];\n xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n colorScale: (value: ValueType) => string;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n cellsMeta: GroupedCellsData['meta'];\n stepX: number;\n stepY: number;\n annotations: HeatmapSettingsImpl['annotations'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: ChartDendrograms;\n dendrogramAesScales: DendrogramAesScales;\n labelAngles: LabelAngles;\n margins: Margins;\n tooltipsContainer?: Element;\n tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;\n cellsRenderingMode: 'svg' | 'canvas';\n}) {\n const dataFrame = useDataFrame();\n\n const { xAxis, yAxis, tooltips } = chartSettings;\n const { width, height } = dimensions.inner;\n const { padding, chartEdgeSides, sideElementBBoxes } = dimensions;\n const { xGroupLabels, yGroupLabels, xLabels, yLabels } = cellsMeta;\n\n const xKeys = scales.x.domain();\n const yKeys = scales.y.domain();\n\n const sideDistances = {\n left: margins.left + dimensions.left + padding.left,\n right: chartSizes.totalWidth - (margins.left + dimensions.left + padding.left),\n top: margins.top + dimensions.top + padding.top,\n bottom: chartSizes.totalHeight - (margins.top + dimensions.top + padding.top),\n };\n\n const debug = false;\n return (\n <g transform={`translate(${dimensions.left},${dimensions.top})`} fontSize={FONT_SIZE}>\n <g transform={`translate(${padding.left},${padding.top})`}>\n <Annotations\n facetKey={facetKey}\n sideElementBBoxes={sideElementBBoxes}\n annotations={annotations}\n cellsMeta={cellsMeta}\n annotationColorScales={annotationColorScales}\n sharedX={sharedX}\n sharedY={sharedY}\n chartEdgeSides={chartEdgeSides}\n width={width}\n height={height}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n tooltipsData={tooltipsData}\n cellsRenderingMode={cellsRenderingMode}\n />\n <Dendrograms\n dendrograms={dendrograms}\n sideElementBBoxes={sideElementBBoxes}\n xGroupKeys={cellsMeta.xGroupKeys}\n yGroupKeys={cellsMeta.yGroupKeys}\n xDataByKeys={cellsMeta.xDataByKeys}\n yDataByKeys={cellsMeta.yDataByKeys}\n aesScales={dendrogramAesScales}\n />\n {/* facet title */}\n {sideElementBBoxes.top.facetTitle.isVisible && (\n <text\n x={sideElementBBoxes.top.facetTitle.x}\n y={\n sideElementBBoxes.top.facetTitle.y +\n sideElementBBoxes.top.facetTitle.height -\n FACET_TITLE_OFFSET\n }\n fontWeight=\"500\"\n fontSize=\"20px\"\n >\n {cellsMeta.facetKeyValues[facetKey].join(', ')}\n </text>\n )}\n {debug && (\n <g fill=\"green\" opacity=\"0.2\">\n <rect\n x={-padding.left}\n y={-padding.top}\n width={dimensions.outer.width}\n height={dimensions.outer.height}\n fill=\"none\"\n stroke=\"red\"\n />\n <rect x={-padding.left} y=\"0\" width={padding.left} height={height} />\n <rect x={width} y=\"0\" width={padding.right} height={height} />\n <rect x=\"0\" y={-padding.top} width={width} height={padding.top} />\n <rect x=\"0\" y={height} width={width} height={padding.bottom} />\n </g>\n )}\n {/* cells */}\n {cellsRenderingMode === 'svg' && (\n <SvgCells\n scales={scales}\n facetKey={facetKey}\n cells={cells}\n xKeys={xKeys}\n yKeys={yKeys}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n colorScale={colorScale}\n tooltipsData={tooltipsData}\n />\n )}\n {cellsRenderingMode === 'canvas' && (\n <CanvasCells\n scales={scales}\n facetKey={facetKey}\n cells={cells}\n width={width}\n height={height}\n xKeys={xKeys}\n yKeys={yKeys}\n stepX={stepX}\n stepY={stepY}\n aes={aes}\n colorScale={colorScale}\n tooltipsData={tooltipsData}\n />\n )}\n <Frames\n frame={chartSettings.frame}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n width={width}\n height={height}\n />\n <Captions\n xAxis={xAxis}\n yAxis={yAxis}\n scales={scales}\n stepX={stepX}\n stepY={stepY}\n debug={debug}\n sideElementBBoxes={sideElementBBoxes}\n xKeys={xKeys}\n yKeys={yKeys}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={xKeysByGroups}\n yKeysByGroups={yKeysByGroups}\n xGroupLabels={xGroupLabels}\n yGroupLabels={yGroupLabels}\n labelAngles={labelAngles}\n xLabels={xLabels}\n yLabels={yLabels}\n />\n </g>\n {chartSettings.tooltips.show && isCellTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipsData.selectedData, cellsMeta, tooltips?.content)}\n x={scales.x(String(tooltipsData.selectedData.x)) + stepX / 2}\n y={scales.y(String(tooltipsData.selectedData.y)) + stepY / 2}\n offset={xKeys.length > 1 ? stepX / 2 : 0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n {chartSettings.tooltips.show && isAnnotationTooltip(tooltipsData.selectedData) && tooltipsData.currentFacet === facetKey && (\n <Tooltip\n content={getAnnotationTooltipContent(tooltipsData.selectedData, cellsMeta)}\n x={tooltipsData.selectedData.x}\n y={tooltipsData.selectedData.y}\n offset={0}\n active\n sideDistances={sideDistances}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n <g transform={`translate(${padding.left},${padding.top})`}>\n {tooltipsData.fixed && <rect width={chartSizes.chartWidth} height={chartSizes.chartHeight} fill=\"rgba(255, 255, 255, 0.8)\" />}\n <g>\n {tooltipsData.fixed && tooltipsData.currentFacet === facetKey && isCellTooltip(tooltipsData.selectedData) && (\n <rect\n width={stepX}\n height={stepY}\n x={scales.x(tooltipsData.selectedData.x as string)}\n y={scales.y(tooltipsData.selectedData.y as string)}\n fill={colorScale((tooltipsData.selectedData.normalizedValue ?? tooltipsData.selectedData.value) as ValueType)}\n stroke={aes.cellStrokeColor}\n />\n )}\n {tooltipsData.fixed && tooltipsData.currentFacet === facetKey && isAnnotationTooltip(tooltipsData.selectedData) && (\n <rect\n x={tooltipsData.selectedData.cell.x}\n y={tooltipsData.selectedData.cell.y}\n width={tooltipsData.selectedData.cell.width}\n height={tooltipsData.selectedData.cell.height}\n fill={tooltipsData.selectedData.cell.fill}\n stroke={tooltipsData.selectedData.cell.stroke}\n />\n )}\n </g>\n </g>\n </g>\n );\n}\n"],"names":["Chart","dendrograms","facetKey","dimensions","scales","cells","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","colorScale","chartSettings","cellsMeta","stepX","stepY","sharedX","sharedY","annotations","annotationColorScales","dendrogramAesScales","aes","labelAngles","chartSizes","margins","tooltipsContainer","tooltipsData","cellsRenderingMode","dataFrame","useDataFrame","xAxis","yAxis","tooltips","width","height","padding","chartEdgeSides","sideElementBBoxes","xGroupLabels","yGroupLabels","xLabels","yLabels","xKeys","yKeys","sideDistances","debug","jsxs","FONT_SIZE","jsx","Annotations","Dendrograms","FACET_TITLE_OFFSET","SvgCells","CanvasCells","Frames","Captions","isCellTooltip","Tooltip","getTooltipContent","isAnnotationTooltip","getAnnotationTooltipContent"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { LegendData } from '../../common/types';
2
2
  import { GroupedCellsData } from '../getCells';
3
3
  import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
4
4
  import { AnnotationColorScales, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartSizes, ChartsScales, DendrogramAesScales, LabelAngles, Margins } from './types';
5
- export declare function ChartsGroup({ margins, captionsSizes, settingsId, chartSettings, chartSizes, chartsDimensions, facetKeys, facetSettings, xGroupKeys, yGroupKeys, scales, colorScale, groupedCells, cellsMeta, step, annotations, annotationColorScales, legend, aes, dendrograms, dendrogramAesScales, columnsCount, labelAngles, onTooltipHintSwitch }: {
5
+ export declare function ChartsGroup({ margins, captionsSizes, settingsId, chartSettings, chartSizes, chartsDimensions, facetKeys, facetSettings, xGroupKeys, yGroupKeys, scales, colorScale, groupedCells, cellsMeta, step, annotations, annotationColorScales, legend, aes, dendrograms, dendrogramAesScales, columnsCount, labelAngles, onTooltipHintSwitch, cellsRenderingMode }: {
6
6
  margins: Margins;
7
7
  captionsSizes: CaptionsSizes;
8
8
  chartSettings: HeatmapSettingsImpl['chartSettings'];
@@ -30,5 +30,6 @@ export declare function ChartsGroup({ margins, captionsSizes, settingsId, chartS
30
30
  columnsCount: number;
31
31
  labelAngles: LabelAngles;
32
32
  onTooltipHintSwitch: (v: boolean) => void;
33
+ cellsRenderingMode: 'svg' | 'canvas';
33
34
  }): import("react/jsx-runtime").JSX.Element;
34
35
  //# sourceMappingURL=ChartsGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartsGroup.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,KAAK,EACR,qBAAqB,EAAyB,aAAa,EAC3D,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAC7G,MAAM,SAAS,CAAC;AAEjB,wBAAgB,WAAW,CAAC,EACxB,OAAO,EACP,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,MAAM,EACN,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACtB,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAC,OAAO,KAAK,MAAM,CAAC;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,EAAE;QACF,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,EAAC,OAAO,KAAK,IAAI,CAAC;CAC5C,2CA6EA"}
1
+ {"version":3,"file":"ChartsGroup.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAQ,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,KAAK,EACR,qBAAqB,EAAyB,aAAa,EAC3D,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAC7G,MAAM,SAAS,CAAC;AAEjB,wBAAgB,WAAW,CAAC,EACxB,OAAO,EACP,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,MAAM,EACN,GAAG,EACH,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EACrB,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAC,OAAO,KAAK,MAAM,CAAC;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,EAAE;QACF,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,CAAC,CAAC,EAAC,OAAO,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,KAAK,GAAG,QAAQ,CAAA;CACvC,2CA8EA"}
@@ -1,13 +1,13 @@
1
1
  import { j as t } from "../../node_modules/react/jsx-runtime.js";
2
2
  import { r as h } from "../../_virtual/index.js";
3
- import { ChartsTitle as O } from "../../common/ChartsTitle.js";
4
- import { ErrorBoundary as _ } from "../../common/ErrorBoundary.js";
5
- import b from "../../common/fonts.js";
6
- import { Legend as k } from "../../common/Legend.js";
7
- import { useTooltip as q } from "../../common/Tooltip.js";
8
- import { LEGEND_OFFSET as A } from "../constants.js";
9
- import { Chart as J } from "./Chart.js";
10
- function oo({
3
+ import { ChartsTitle as _ } from "../../common/ChartsTitle.js";
4
+ import { ErrorBoundary as b } from "../../common/ErrorBoundary.js";
5
+ import k from "../../common/fonts.js";
6
+ import { Legend as q } from "../../common/Legend.js";
7
+ import { useTooltip as A } from "../../common/Tooltip.js";
8
+ import { LEGEND_OFFSET as J } from "../constants.js";
9
+ import { Chart as Q } from "./Chart.js";
10
+ function to({
11
11
  margins: s,
12
12
  captionsSizes: a,
13
13
  settingsId: f,
@@ -31,14 +31,15 @@ function oo({
31
31
  dendrogramAesScales: $,
32
32
  columnsCount: W,
33
33
  labelAngles: P,
34
- onTooltipHintSwitch: X
34
+ onTooltipHintSwitch: X,
35
+ cellsRenderingMode: Y
35
36
  }) {
36
- const [Y, v] = h.useState(), F = q(X), e = h.useRef(null);
37
+ const [v, F] = h.useState(), L = A(X), e = h.useRef(null);
37
38
  h.useEffect(() => {
38
- e.current && v(e.current);
39
+ e.current && F(e.current);
39
40
  }, []);
40
- const u = p[i[0]].padding, L = p[i[W - 1]].padding, R = s.left + r.chartsWidth + A, H = s.top + u.top;
41
- return /* @__PURE__ */ t.jsx(_, { dataId: f, children: /* @__PURE__ */ t.jsxs(
41
+ const u = p[i[0]].padding, R = p[i[W - 1]].padding, H = s.left + r.chartsWidth + J, D = s.top + u.top;
42
+ return /* @__PURE__ */ t.jsx(b, { dataId: f, children: /* @__PURE__ */ t.jsxs(
42
43
  "svg",
43
44
  {
44
45
  xmlns: "http://www.w3.org/2000/svg",
@@ -47,23 +48,23 @@ function oo({
47
48
  height: r.totalHeight,
48
49
  fontFamily: "Manrope",
49
50
  children: [
50
- /* @__PURE__ */ t.jsx("defs", { children: b }),
51
+ /* @__PURE__ */ t.jsx("defs", { children: k }),
51
52
  /* @__PURE__ */ t.jsxs("g", { transform: `translate(${s.left},${s.top})`, children: [
52
53
  /* @__PURE__ */ t.jsx(
53
- O,
54
+ _,
54
55
  {
55
56
  title: [d.title.name],
56
57
  show: d.title.show,
57
58
  position: d.title.position,
58
59
  leftPadding: u.left,
59
- rightPadding: L.right,
60
+ rightPadding: R.right,
60
61
  chartsWidth: r.chartsWidth
61
62
  }
62
63
  ),
63
64
  i.map((o) => {
64
- const { cells: D, xKeysByGroups: I, yKeysByGroups: N } = w[o];
65
+ const { cells: I, xKeysByGroups: N, yKeysByGroups: O } = w[o];
65
66
  return /* @__PURE__ */ t.jsx(
66
- J,
67
+ Q,
67
68
  {
68
69
  dendrograms: T[o],
69
70
  captionsSizes: a,
@@ -71,12 +72,12 @@ function oo({
71
72
  dimensions: p[o],
72
73
  xGroupKeys: g,
73
74
  yGroupKeys: j,
74
- xKeysByGroups: n.sharedX ? l.xKeysByGroups : I,
75
- yKeysByGroups: n.sharedY ? l.yKeysByGroups : N,
75
+ xKeysByGroups: n.sharedX ? l.xKeysByGroups : N,
76
+ yKeysByGroups: n.sharedY ? l.yKeysByGroups : O,
76
77
  sharedX: n.sharedX,
77
78
  sharedY: n.sharedY,
78
79
  scales: { x: m.x[o], y: m.y[o] },
79
- cells: D,
80
+ cells: I,
80
81
  cellsMeta: l,
81
82
  stepX: x.x[o],
82
83
  stepY: x.y[o],
@@ -89,20 +90,21 @@ function oo({
89
90
  labelAngles: P,
90
91
  margins: s,
91
92
  chartSizes: r,
92
- tooltipsContainer: Y,
93
- tooltipsData: F
93
+ tooltipsContainer: v,
94
+ tooltipsData: L,
95
+ cellsRenderingMode: Y
94
96
  },
95
97
  o
96
98
  );
97
99
  })
98
100
  ] }),
99
- /* @__PURE__ */ t.jsx("g", { transform: `translate(${R},${H})`, children: /* @__PURE__ */ t.jsx(k, { legendData: C }) }),
101
+ /* @__PURE__ */ t.jsx("g", { transform: `translate(${H},${D})`, children: /* @__PURE__ */ t.jsx(q, { legendData: C }) }),
100
102
  /* @__PURE__ */ t.jsx("g", { ref: e, style: { outline: "none" } })
101
103
  ]
102
104
  }
103
105
  ) });
104
106
  }
105
107
  export {
106
- oo as ChartsGroup
108
+ to as ChartsGroup
107
109
  };
108
110
  //# sourceMappingURL=ChartsGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartsGroup.js","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { ChartsTitle } from '../../common/ChartsTitle';\nimport { ErrorBoundary } from '../../common/ErrorBoundary';\nimport fonts from '../../common/fonts';\nimport { Legend } from '../../common/Legend';\nimport { useTooltip } from '../../common/Tooltip';\nimport type { LegendData } from '../../common/types';\nimport { LEGEND_OFFSET } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Chart } from './Chart';\nimport type {\n AnnotationColorScales, AnnotationTooltipData, CaptionsSizes,\n ChartDendrograms, ChartDimensionsData, ChartSizes, ChartsScales, DendrogramAesScales, LabelAngles, Margins\n} from './types';\n\nexport function ChartsGroup({\n margins,\n captionsSizes,\n settingsId,\n chartSettings,\n chartSizes,\n chartsDimensions,\n facetKeys,\n facetSettings,\n xGroupKeys,\n yGroupKeys,\n scales,\n colorScale,\n groupedCells,\n cellsMeta,\n step,\n annotations,\n annotationColorScales,\n legend,\n aes,\n dendrograms,\n dendrogramAesScales,\n columnsCount,\n labelAngles,\n onTooltipHintSwitch\n}: {\n margins: Margins;\n captionsSizes: CaptionsSizes;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n facetSettings: HeatmapSettingsImpl['facetSettings'];\n chartSizes: ChartSizes;\n chartsDimensions: Record<string, ChartDimensionsData>;\n scales: ChartsScales;\n facetKeys: string[];\n xGroupKeys: string[];\n yGroupKeys: string[];\n settingsId: string;\n colorScale: (value:unknown) => string;\n annotationColorScales: AnnotationColorScales;\n groupedCells: GroupedCellsData['facets'];\n cellsMeta: GroupedCellsData['meta'];\n annotations: HeatmapSettingsImpl['annotations'];\n step: {\n x: Record<string, number>;\n y: Record<string, number>;\n };\n legend: LegendData;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: Record<string, ChartDendrograms>;\n dendrogramAesScales: DendrogramAesScales;\n columnsCount: number;\n labelAngles: LabelAngles;\n onTooltipHintSwitch: (v:boolean) => void;\n}) {\n const [tooltipsContainer, setTooltipsContainer] = useState<SVGGElement>();\n const tooltipsData = useTooltip<Cell|AnnotationTooltipData>(onTooltipHintSwitch);\n const tooltipsRef = useRef<SVGGElement>(null);\n useEffect(() => {\n if (tooltipsRef.current) {\n setTooltipsContainer(tooltipsRef.current);\n }\n }, []);\n\n const leftTopChartPadding = chartsDimensions[facetKeys[0]].padding;\n const rightTopChartPadding = chartsDimensions[facetKeys[columnsCount - 1]].padding;\n\n const legendLeft = margins.left + chartSizes.chartsWidth + LEGEND_OFFSET;\n const legendTop = margins.top + leftTopChartPadding.top;\n\n return (\n <ErrorBoundary dataId={settingsId}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${chartSizes.totalWidth} ${chartSizes.totalHeight}`}\n width={chartSizes.totalWidth}\n height={chartSizes.totalHeight}\n fontFamily=\"Manrope\"\n >\n <defs>{fonts}</defs>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <ChartsTitle\n title={[chartSettings.title.name]}\n show={chartSettings.title.show}\n position={chartSettings.title.position}\n leftPadding={leftTopChartPadding.left}\n rightPadding={rightTopChartPadding.right}\n chartsWidth={chartSizes.chartsWidth}\n />\n {facetKeys.map(facetKey => {\n const {cells, xKeysByGroups, yKeysByGroups} = groupedCells[facetKey];\n return (\n <Chart\n dendrograms={dendrograms[facetKey]}\n captionsSizes={captionsSizes}\n key={facetKey}\n facetKey={facetKey}\n dimensions={chartsDimensions[facetKey]}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={facetSettings.sharedX ? cellsMeta.xKeysByGroups : xKeysByGroups}\n yKeysByGroups={facetSettings.sharedY ? cellsMeta.yKeysByGroups : yKeysByGroups}\n sharedX={facetSettings.sharedX}\n sharedY={facetSettings.sharedY}\n scales={{x: scales.x[facetKey], y: scales.y[facetKey]}}\n cells={cells}\n cellsMeta={cellsMeta}\n stepX={step.x[facetKey]}\n stepY={step.y[facetKey]}\n colorScale={colorScale}\n chartSettings={chartSettings}\n aes={aes}\n annotations={annotations}\n annotationColorScales={annotationColorScales}\n dendrogramAesScales={dendrogramAesScales}\n labelAngles={labelAngles}\n margins={margins}\n chartSizes={chartSizes}\n tooltipsContainer={tooltipsContainer}\n tooltipsData={tooltipsData}\n />\n );\n })}\n </g>\n <g transform={`translate(${legendLeft},${legendTop})`}>\n <Legend legendData={legend} />\n </g>\n <g ref={tooltipsRef} style={{outline: 'none'}} />\n </svg>\n </ErrorBoundary>\n );\n}\n"],"names":["ChartsGroup","margins","captionsSizes","settingsId","chartSettings","chartSizes","chartsDimensions","facetKeys","facetSettings","xGroupKeys","yGroupKeys","scales","colorScale","groupedCells","cellsMeta","step","annotations","annotationColorScales","legend","aes","dendrograms","dendrogramAesScales","columnsCount","labelAngles","onTooltipHintSwitch","tooltipsContainer","setTooltipsContainer","useState","tooltipsData","useTooltip","tooltipsRef","useRef","useEffect","leftTopChartPadding","rightTopChartPadding","legendLeft","LEGEND_OFFSET","legendTop","jsx","ErrorBoundary","jsxs","fonts","ChartsTitle","facetKey","cells","xKeysByGroups","yKeysByGroups","Chart","Legend"],"mappings":"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"}
1
+ {"version":3,"file":"ChartsGroup.js","sources":["../../../src/heatmap/components/ChartsGroup.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { ChartsTitle } from '../../common/ChartsTitle';\nimport { ErrorBoundary } from '../../common/ErrorBoundary';\nimport fonts from '../../common/fonts';\nimport { Legend } from '../../common/Legend';\nimport { useTooltip } from '../../common/Tooltip';\nimport type { LegendData } from '../../common/types';\nimport { LEGEND_OFFSET } from '../constants';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport { Chart } from './Chart';\nimport type {\n AnnotationColorScales, AnnotationTooltipData, CaptionsSizes,\n ChartDendrograms, ChartDimensionsData, ChartSizes, ChartsScales, DendrogramAesScales, LabelAngles, Margins\n} from './types';\n\nexport function ChartsGroup({\n margins,\n captionsSizes,\n settingsId,\n chartSettings,\n chartSizes,\n chartsDimensions,\n facetKeys,\n facetSettings,\n xGroupKeys,\n yGroupKeys,\n scales,\n colorScale,\n groupedCells,\n cellsMeta,\n step,\n annotations,\n annotationColorScales,\n legend,\n aes,\n dendrograms,\n dendrogramAesScales,\n columnsCount,\n labelAngles,\n onTooltipHintSwitch,\n cellsRenderingMode\n}: {\n margins: Margins;\n captionsSizes: CaptionsSizes;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n facetSettings: HeatmapSettingsImpl['facetSettings'];\n chartSizes: ChartSizes;\n chartsDimensions: Record<string, ChartDimensionsData>;\n scales: ChartsScales;\n facetKeys: string[];\n xGroupKeys: string[];\n yGroupKeys: string[];\n settingsId: string;\n colorScale: (value:unknown) => string;\n annotationColorScales: AnnotationColorScales;\n groupedCells: GroupedCellsData['facets'];\n cellsMeta: GroupedCellsData['meta'];\n annotations: HeatmapSettingsImpl['annotations'];\n step: {\n x: Record<string, number>;\n y: Record<string, number>;\n };\n legend: LegendData;\n aes: HeatmapSettingsImpl['aes'];\n dendrograms: Record<string, ChartDendrograms>;\n dendrogramAesScales: DendrogramAesScales;\n columnsCount: number;\n labelAngles: LabelAngles;\n onTooltipHintSwitch: (v:boolean) => void;\n cellsRenderingMode: 'svg' | 'canvas'\n}) {\n const [tooltipsContainer, setTooltipsContainer] = useState<SVGGElement>();\n const tooltipsData = useTooltip<Cell|AnnotationTooltipData>(onTooltipHintSwitch);\n const tooltipsRef = useRef<SVGGElement>(null);\n useEffect(() => {\n if (tooltipsRef.current) {\n setTooltipsContainer(tooltipsRef.current);\n }\n }, []);\n\n const leftTopChartPadding = chartsDimensions[facetKeys[0]].padding;\n const rightTopChartPadding = chartsDimensions[facetKeys[columnsCount - 1]].padding;\n\n const legendLeft = margins.left + chartSizes.chartsWidth + LEGEND_OFFSET;\n const legendTop = margins.top + leftTopChartPadding.top;\n\n return (\n <ErrorBoundary dataId={settingsId}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${chartSizes.totalWidth} ${chartSizes.totalHeight}`}\n width={chartSizes.totalWidth}\n height={chartSizes.totalHeight}\n fontFamily=\"Manrope\"\n >\n <defs>{fonts}</defs>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <ChartsTitle\n title={[chartSettings.title.name]}\n show={chartSettings.title.show}\n position={chartSettings.title.position}\n leftPadding={leftTopChartPadding.left}\n rightPadding={rightTopChartPadding.right}\n chartsWidth={chartSizes.chartsWidth}\n />\n {facetKeys.map(facetKey => {\n const {cells, xKeysByGroups, yKeysByGroups} = groupedCells[facetKey];\n return (\n <Chart\n dendrograms={dendrograms[facetKey]}\n captionsSizes={captionsSizes}\n key={facetKey}\n facetKey={facetKey}\n dimensions={chartsDimensions[facetKey]}\n xGroupKeys={xGroupKeys}\n yGroupKeys={yGroupKeys}\n xKeysByGroups={facetSettings.sharedX ? cellsMeta.xKeysByGroups : xKeysByGroups}\n yKeysByGroups={facetSettings.sharedY ? cellsMeta.yKeysByGroups : yKeysByGroups}\n sharedX={facetSettings.sharedX}\n sharedY={facetSettings.sharedY}\n scales={{x: scales.x[facetKey], y: scales.y[facetKey]}}\n cells={cells}\n cellsMeta={cellsMeta}\n stepX={step.x[facetKey]}\n stepY={step.y[facetKey]}\n colorScale={colorScale}\n chartSettings={chartSettings}\n aes={aes}\n annotations={annotations}\n annotationColorScales={annotationColorScales}\n dendrogramAesScales={dendrogramAesScales}\n labelAngles={labelAngles}\n margins={margins}\n chartSizes={chartSizes}\n tooltipsContainer={tooltipsContainer}\n tooltipsData={tooltipsData}\n cellsRenderingMode={cellsRenderingMode}\n />\n );\n })}\n </g>\n <g transform={`translate(${legendLeft},${legendTop})`}>\n <Legend legendData={legend} />\n </g>\n <g ref={tooltipsRef} style={{outline: 'none'}} />\n </svg>\n </ErrorBoundary>\n );\n}\n"],"names":["ChartsGroup","margins","captionsSizes","settingsId","chartSettings","chartSizes","chartsDimensions","facetKeys","facetSettings","xGroupKeys","yGroupKeys","scales","colorScale","groupedCells","cellsMeta","step","annotations","annotationColorScales","legend","aes","dendrograms","dendrogramAesScales","columnsCount","labelAngles","onTooltipHintSwitch","cellsRenderingMode","tooltipsContainer","setTooltipsContainer","useState","tooltipsData","useTooltip","tooltipsRef","useRef","useEffect","leftTopChartPadding","rightTopChartPadding","legendLeft","LEGEND_OFFSET","legendTop","jsx","ErrorBoundary","jsxs","fonts","ChartsTitle","facetKey","cells","xKeysByGroups","yKeysByGroups","Chart","Legend"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Cell, GroupedCellsData } from '../getCells';
2
+ import { AnnotationTooltipData, ChartScales } from './types';
3
+ import { TooltipsData } from '../../common/Tooltip';
4
+ import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
5
+ interface SvgCellsProps<T> {
6
+ facetKey: string;
7
+ scales: ChartScales;
8
+ cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];
9
+ xKeys: string[];
10
+ yKeys: string[];
11
+ stepX: number;
12
+ stepY: number;
13
+ aes: HeatmapSettingsImpl['aes'];
14
+ colorScale: (value: T) => string;
15
+ tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;
16
+ }
17
+ export declare function SvgCells<ValueType>({ facetKey, scales, cells, xKeys, yKeys, stepX, stepY, aes, colorScale, tooltipsData, }: SvgCellsProps<ValueType>): (import("react/jsx-runtime").JSX.Element | null)[][];
18
+ export {};
19
+ //# sourceMappingURL=SvgCells.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SvgCells.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/SvgCells.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,UAAU,aAAa,CAAC,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC;CAC5D;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,EAChC,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,UAAU,EACV,YAAY,GACf,EAAE,aAAa,CAAC,SAAS,CAAC,wDAmB1B"}
@@ -0,0 +1,38 @@
1
+ import { j as M } from "../../node_modules/react/jsx-runtime.js";
2
+ function f({
3
+ facetKey: m,
4
+ scales: r,
5
+ cells: e,
6
+ xKeys: p,
7
+ yKeys: v,
8
+ stepX: x,
9
+ stepY: a,
10
+ aes: n,
11
+ colorScale: C,
12
+ tooltipsData: t
13
+ }) {
14
+ return p.map(
15
+ (u) => v.map((l) => {
16
+ var i;
17
+ const o = (i = e == null ? void 0 : e[u]) == null ? void 0 : i[l];
18
+ return o ? /* @__PURE__ */ M.jsx(
19
+ "rect",
20
+ {
21
+ x: r.x(u),
22
+ y: r.y(l),
23
+ width: x,
24
+ height: a,
25
+ stroke: n.cellStrokeColor,
26
+ fill: o.value === null ? n.emptyCellColor : C(o.normalizedValue),
27
+ onMouseOver: () => t.onMouseEnter(o, m),
28
+ onMouseLeave: () => t.onMouseLeave()
29
+ },
30
+ o.id
31
+ ) : null;
32
+ })
33
+ );
34
+ }
35
+ export {
36
+ f as SvgCells
37
+ };
38
+ //# sourceMappingURL=SvgCells.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SvgCells.js","sources":["../../../src/heatmap/components/SvgCells.tsx"],"sourcesContent":["import type { Cell, GroupedCellsData } from '../getCells';\nimport type { AnnotationTooltipData, ChartScales } from './types';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\n\ninterface SvgCellsProps<T> {\n facetKey: string,\n scales: ChartScales,\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'],\n xKeys: string[],\n yKeys: string[],\n stepX: number,\n stepY: number,\n aes: HeatmapSettingsImpl['aes'];\n colorScale: (value: T) => string,\n tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;\n}\n\nexport function SvgCells<ValueType>({\n facetKey,\n scales,\n cells,\n xKeys,\n yKeys,\n stepX,\n stepY,\n aes,\n colorScale,\n tooltipsData,\n}: SvgCellsProps<ValueType>) {\n return xKeys.map(xKey =>\n yKeys.map(yKey => {\n const cell = cells?.[xKey]?.[yKey];\n return cell ? (\n <rect\n key={cell.id}\n x={scales.x(xKey)}\n y={scales.y(yKey)}\n width={stepX}\n height={stepY}\n stroke={aes.cellStrokeColor}\n fill={cell.value === null ? aes.emptyCellColor : colorScale(cell.normalizedValue as ValueType)}\n onMouseOver={() => tooltipsData.onMouseEnter(cell, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n ) : null;\n })\n );\n}"],"names":["SvgCells","facetKey","scales","cells","xKeys","yKeys","stepX","stepY","aes","colorScale","tooltipsData","xKey","yKey","cell","_a","jsx"],"mappings":";AAkBO,SAASA,EAAoB;AAAA,EAChC,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,KAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AACJ,GAA6B;AACzB,SAAON,EAAM;AAAA,IAAI,CAAAO,MACbN,EAAM,IAAI,CAAAO,MAAQ;;AACd,YAAMC,KAAOC,IAAAX,KAAA,gBAAAA,EAAQQ,OAAR,gBAAAG,EAAgBF;AAC7B,aAAOC,IACHE,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UAEG,GAAGb,EAAO,EAAES,CAAI;AAAA,UAChB,GAAGT,EAAO,EAAEU,CAAI;AAAA,UAChB,OAAON;AAAA,UACP,QAAQC;AAAA,UACR,QAAQC,EAAI;AAAA,UACZ,MAAMK,EAAK,UAAU,OAAOL,EAAI,iBAAiBC,EAAWI,EAAK,eAA4B;AAAA,UAC7F,aAAa,MAAMH,EAAa,aAAaG,GAAMZ,CAAQ;AAAA,UAC3D,cAAc,MAAMS,EAAa,aAAA;AAAA,QAAa;AAAA,QARzCG,EAAK;AAAA,MAAA,IAUd;AAAA,IACR,CAAC;AAAA,EAAA;AAET;"}
@@ -0,0 +1,10 @@
1
+ import { DataFrame } from '../../DataFrame';
2
+ import { ColumnName, DataValue } from '../../types';
3
+ import { Cell, GroupedCellsData } from '../getCells';
4
+ import { AnnotationTooltipData } from './types';
5
+ export declare function formatCellValue(v: DataValue, format?: string): number | string;
6
+ export declare function getTooltipContent(dataFrame: DataFrame, cell: Cell, cellsMeta: GroupedCellsData['meta'], columnsList?: ColumnName[]): string[];
7
+ export declare function getAnnotationTooltipContent(data: AnnotationTooltipData, cellsMeta: GroupedCellsData['meta']): string[];
8
+ export declare function isAnnotationTooltip(d: Cell | AnnotationTooltipData | null): d is AnnotationTooltipData;
9
+ export declare function isCellTooltip(d: Cell | AnnotationTooltipData | null): d is Cell;
10
+ //# sourceMappingURL=tooltipUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltipUtils.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/tooltipUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAa9E;AACD,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,WAAW,GAAE,UAAU,EAAO,YAejC;AACD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,YAU3G;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,qBAAqB,GAAG,IAAI,GAAG,CAAC,IAAI,qBAAqB,CAEtG;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,qBAAqB,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAE/E"}
@@ -0,0 +1,44 @@
1
+ import { format as s } from "../../node_modules/d3-format/src/defaultLocale.js";
2
+ function l(n, o) {
3
+ if (n === null)
4
+ return "null";
5
+ if (typeof n == "number") {
6
+ if (o)
7
+ return s(o)(n);
8
+ const e = n > 0 ? Math.floor(n) : Math.ceil(n), t = n - e;
9
+ return e + Number(t.toPrecision(2));
10
+ }
11
+ return n;
12
+ }
13
+ function c(n, o, e, t = []) {
14
+ const i = `${l(o.value)}${o.value !== o.normalizedValue ? ` (${l(o.normalizedValue)})` : ""}`;
15
+ if (t.length) {
16
+ const r = [
17
+ `Value: ${i}`
18
+ ];
19
+ for (const u of t) {
20
+ const f = n.getColumnValue(u.value, o.idx);
21
+ r.push(`${u.label}: ${l(f, u.format)}`);
22
+ }
23
+ return r;
24
+ }
25
+ return [i];
26
+ }
27
+ function m(n, o) {
28
+ const e = [];
29
+ return n.xKey && e.push(`X: ${o.xLabels[n.xKey]}`), n.yKey && e.push(`Y: ${o.yLabels[n.yKey]}`), e.push(`${n.title}: ${l(n.value, n.column.format)}`), e;
30
+ }
31
+ function p(n) {
32
+ return n !== null && "isAnnotation" in n;
33
+ }
34
+ function $(n) {
35
+ return n !== null && "isCell" in n;
36
+ }
37
+ export {
38
+ l as formatCellValue,
39
+ m as getAnnotationTooltipContent,
40
+ c as getTooltipContent,
41
+ p as isAnnotationTooltip,
42
+ $ as isCellTooltip
43
+ };
44
+ //# sourceMappingURL=tooltipUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltipUtils.js","sources":["../../../src/heatmap/components/tooltipUtils.ts"],"sourcesContent":["import { format as d3format } from 'd3-format';\nimport type { DataFrame } from '../../DataFrame';\nimport type { ColumnName, DataValue } from '../../types';\nimport type { Cell, GroupedCellsData } from '../getCells';\nimport type { AnnotationTooltipData } from './types';\n\nexport function formatCellValue(v: DataValue, format?: string): number | string {\n if (v === null) {\n return 'null';\n }\n if (typeof v === 'number') {\n if (format) {\n return d3format(format)(v);\n }\n const whole = v > 0 ? Math.floor(v) : Math.ceil(v);\n const decimal = v - whole;\n return whole + Number(decimal.toPrecision(2));\n }\n return v;\n}\nexport function getTooltipContent(\n dataFrame: DataFrame,\n cell: Cell,\n cellsMeta: GroupedCellsData['meta'],\n columnsList: ColumnName[] = []\n) {\n const value = `${formatCellValue(cell.value)}${cell.value !== cell.normalizedValue ? ` (${formatCellValue(cell.normalizedValue)})` : ''}`;\n if (columnsList.length) {\n const lines = [\n `Value: ${value}`,\n ];\n for (const column of columnsList) {\n const value = dataFrame.getColumnValue(column.value, cell.idx);\n lines.push(`${column.label}: ${formatCellValue(value, column.format)}`);\n }\n return lines;\n }\n\n return [value];\n}\nexport function getAnnotationTooltipContent(data: AnnotationTooltipData, cellsMeta: GroupedCellsData['meta']) {\n const lines: string[] = [];\n if (data.xKey) {\n lines.push(`X: ${cellsMeta.xLabels[data.xKey as string]}`);\n }\n if (data.yKey) {\n lines.push(`Y: ${cellsMeta.yLabels[data.yKey as string]}`);\n }\n lines.push(`${data.title}: ${formatCellValue(data.value, data.column.format)}`);\n return lines;\n}\n\nexport function isAnnotationTooltip(d: Cell | AnnotationTooltipData | null): d is AnnotationTooltipData {\n return d !== null && 'isAnnotation' in d;\n}\n\nexport function isCellTooltip(d: Cell | AnnotationTooltipData | null): d is Cell {\n return d !== null && 'isCell' in d;\n}\n"],"names":["formatCellValue","v","format","d3format","whole","decimal","getTooltipContent","dataFrame","cell","cellsMeta","columnsList","value","lines","column","getAnnotationTooltipContent","data","isAnnotationTooltip","d","isCellTooltip"],"mappings":";AAMO,SAASA,EAAgBC,GAAcC,GAAkC;AAC5E,MAAID,MAAM;AACN,WAAO;AAEX,MAAI,OAAOA,KAAM,UAAU;AACvB,QAAIC;AACA,aAAOC,EAASD,CAAM,EAAED,CAAC;AAE7B,UAAMG,IAAQH,IAAI,IAAI,KAAK,MAAMA,CAAC,IAAI,KAAK,KAAKA,CAAC,GAC3CI,IAAUJ,IAAIG;AACpB,WAAOA,IAAQ,OAAOC,EAAQ,YAAY,CAAC,CAAC;AAAA,EAChD;AACA,SAAOJ;AACX;AACO,SAASK,EACZC,GACAC,GACAC,GACAC,IAA4B,CAAA,GAC9B;AACE,QAAMC,IAAQ,GAAGX,EAAgBQ,EAAK,KAAK,CAAC,GAAGA,EAAK,UAAUA,EAAK,kBAAkB,KAAKR,EAAgBQ,EAAK,eAAe,CAAC,MAAM,EAAE;AACvI,MAAIE,EAAY,QAAQ;AACpB,UAAME,IAAQ;AAAA,MACV,UAAUD,CAAK;AAAA,IAAA;AAEnB,eAAWE,KAAUH,GAAa;AAC9B,YAAMC,IAAQJ,EAAU,eAAeM,EAAO,OAAOL,EAAK,GAAG;AAC7D,MAAAI,EAAM,KAAK,GAAGC,EAAO,KAAK,KAAKb,EAAgBW,GAAOE,EAAO,MAAM,CAAC,EAAE;AAAA,IAC1E;AACA,WAAOD;AAAA,EACX;AAEA,SAAO,CAACD,CAAK;AACjB;AACO,SAASG,EAA4BC,GAA6BN,GAAqC;AAC1G,QAAMG,IAAkB,CAAA;AACxB,SAAIG,EAAK,QACLH,EAAM,KAAK,MAAMH,EAAU,QAAQM,EAAK,IAAc,CAAC,EAAE,GAEzDA,EAAK,QACLH,EAAM,KAAK,MAAMH,EAAU,QAAQM,EAAK,IAAc,CAAC,EAAE,GAE7DH,EAAM,KAAK,GAAGG,EAAK,KAAK,KAAKf,EAAgBe,EAAK,OAAOA,EAAK,OAAO,MAAM,CAAC,EAAE,GACvEH;AACX;AAEO,SAASI,EAAoBC,GAAoE;AACpG,SAAOA,MAAM,QAAQ,kBAAkBA;AAC3C;AAEO,SAASC,EAAcD,GAAmD;AAC7E,SAAOA,MAAM,QAAQ,YAAYA;AACrC;"}
@@ -103,6 +103,14 @@ export type AnnotationTooltipData = {
103
103
  yKey: DataValue | null;
104
104
  value: DataValue;
105
105
  title: string;
106
+ cell: {
107
+ x: number;
108
+ y: number;
109
+ width: number;
110
+ height: number;
111
+ fill: string;
112
+ stroke: string;
113
+ };
106
114
  column: ColumnName;
107
115
  };
108
116
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/types.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,5 @@ export declare const CHART_SIDE_ELEMENTS: {
18
18
  bottom: string[];
19
19
  };
20
20
  export declare const DEFAULT_AES: AesItem;
21
+ export declare const MAX_SVG_RENDERED_CELLS_COUNT = 500000;
21
22
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/heatmap/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,eAAO,MAAM,mBAAmB;;;;;CAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAC,OAQxB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/heatmap/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,eAAO,MAAM,mBAAmB;;;;;CAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAC,OAQxB,CAAC;AAEF,eAAO,MAAM,4BAA4B,SAAS,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { BLACK as o } from "../constants.js";
2
- const n = 15, s = 8, T = 30, i = 48, E = 24, _ = 16, I = 4, a = 4, e = 20, S = 16, l = 16, N = 8, c = {
2
+ const n = 15, s = 8, T = 30, E = 48, i = 24, _ = 16, e = 4, I = 4, a = 20, S = 16, N = 16, c = 8, l = {
3
3
  left: ["annotations", "axis", "groups", "axisTitle", "dendro"],
4
4
  right: ["annotations", "axis", "groups", "axisTitle", "dendro"],
5
5
  top: ["annotations", "axis", "groups", "axisTitle", "dendro", "facetTitle"],
6
6
  bottom: ["annotations", "axis", "groups", "axisTitle", "dendro"]
7
- }, F = {
7
+ }, A = {
8
8
  fillColor: "white",
9
9
  lineColor: o,
10
10
  lineWidth: 1,
@@ -12,21 +12,22 @@ const n = 15, s = 8, T = 30, i = 48, E = 24, _ = 16, I = 4, a = 4, e = 20, S = 1
12
12
  dotSize: 3,
13
13
  dotFill: o,
14
14
  dotShape: "21"
15
- };
15
+ }, F = 5e5;
16
16
  export {
17
- N as ANNOTATIONS_OFFSET,
18
- l as ANNOTATION_WIDTH,
19
- c as CHART_SIDE_ELEMENTS,
20
- F as DEFAULT_AES,
21
- a as DEFAULT_TICKS_SIZE,
22
- i as FACET_TITLE_LINE,
23
- E as FACET_TITLE_OFFSET,
17
+ c as ANNOTATIONS_OFFSET,
18
+ N as ANNOTATION_WIDTH,
19
+ l as CHART_SIDE_ELEMENTS,
20
+ A as DEFAULT_AES,
21
+ I as DEFAULT_TICKS_SIZE,
22
+ E as FACET_TITLE_LINE,
23
+ i as FACET_TITLE_OFFSET,
24
24
  S as FONT_SIZE,
25
- e as LEGEND_OFFSET,
25
+ a as LEGEND_OFFSET,
26
+ F as MAX_SVG_RENDERED_CELLS_COUNT,
26
27
  s as MIN_MARGIN,
27
28
  n as MIN_PADDING,
28
29
  _ as MIN_STEP_FOR_VISIBLE_LABELS,
29
- I as TICK_OFFSET,
30
+ e as TICK_OFFSET,
30
31
  T as TITLE_LINE
31
32
  };
32
33
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../src/heatmap/constants.ts"],"sourcesContent":["import {BLACK} from '../constants';\nimport type {AesItem} from '../types';\n\nexport const MIN_PADDING = 15;\nexport const MIN_MARGIN = 8;\n\nexport const TITLE_LINE = 30;\nexport const FACET_TITLE_LINE = 48;\nexport const FACET_TITLE_OFFSET = 24;\n\nexport const MIN_STEP_FOR_VISIBLE_LABELS = 16;\n\nexport const TICK_OFFSET = 4;\nexport const DEFAULT_TICKS_SIZE = 4;\n\nexport const LEGEND_OFFSET = 20;\nexport const FONT_SIZE = 16;\n\nexport const ANNOTATION_WIDTH = 16;\nexport const ANNOTATIONS_OFFSET = 8;\n\nexport const CHART_SIDE_ELEMENTS = {\n left: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro'],\n right: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro'],\n top: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro', 'facetTitle'],\n bottom: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro']\n};\n\nexport const DEFAULT_AES:AesItem = {\n fillColor: 'white',\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n dotSize: 3,\n dotFill: BLACK,\n dotShape: '21',\n};\n"],"names":["MIN_PADDING","MIN_MARGIN","TITLE_LINE","FACET_TITLE_LINE","FACET_TITLE_OFFSET","MIN_STEP_FOR_VISIBLE_LABELS","TICK_OFFSET","DEFAULT_TICKS_SIZE","LEGEND_OFFSET","FONT_SIZE","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET","CHART_SIDE_ELEMENTS","DEFAULT_AES","BLACK"],"mappings":";AAGO,MAAMA,IAAc,IACdC,IAAa,GAEbC,IAAa,IACbC,IAAmB,IACnBC,IAAqB,IAErBC,IAA8B,IAE9BC,IAAc,GACdC,IAAqB,GAErBC,IAAgB,IAChBC,IAAY,IAEZC,IAAmB,IACnBC,IAAqB,GAErBC,IAAsB;AAAA,EAC/B,MAAM,CAAC,eAAe,QAAQ,UAAU,aAAa,QAAQ;AAAA,EAC7D,OAAO,CAAC,eAAe,QAAQ,UAAU,aAAa,QAAQ;AAAA,EAC9D,KAAK,CAAC,eAAe,QAAQ,UAAU,aAAa,UAAU,YAAY;AAAA,EAC1E,QAAQ,CAAC,eAAe,QAAQ,UAAU,aAAa,QAAQ;AACnE,GAEaC,IAAsB;AAAA,EAC/B,WAAW;AAAA,EACX,WAAWC;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAASA;AAAA,EACT,UAAU;AACd;"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/heatmap/constants.ts"],"sourcesContent":["import {BLACK} from '../constants';\nimport type {AesItem} from '../types';\n\nexport const MIN_PADDING = 15;\nexport const MIN_MARGIN = 8;\n\nexport const TITLE_LINE = 30;\nexport const FACET_TITLE_LINE = 48;\nexport const FACET_TITLE_OFFSET = 24;\n\nexport const MIN_STEP_FOR_VISIBLE_LABELS = 16;\n\nexport const TICK_OFFSET = 4;\nexport const DEFAULT_TICKS_SIZE = 4;\n\nexport const LEGEND_OFFSET = 20;\nexport const FONT_SIZE = 16;\n\nexport const ANNOTATION_WIDTH = 16;\nexport const ANNOTATIONS_OFFSET = 8;\n\nexport const CHART_SIDE_ELEMENTS = {\n left: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro'],\n right: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro'],\n top: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro', 'facetTitle'],\n bottom: ['annotations', 'axis', 'groups', 'axisTitle', 'dendro']\n};\n\nexport const DEFAULT_AES:AesItem = {\n fillColor: 'white',\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n dotSize: 3,\n dotFill: BLACK,\n dotShape: '21',\n};\n\nexport const MAX_SVG_RENDERED_CELLS_COUNT = 500000;\n\n"],"names":["MIN_PADDING","MIN_MARGIN","TITLE_LINE","FACET_TITLE_LINE","FACET_TITLE_OFFSET","MIN_STEP_FOR_VISIBLE_LABELS","TICK_OFFSET","DEFAULT_TICKS_SIZE","LEGEND_OFFSET","FONT_SIZE","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET","CHART_SIDE_ELEMENTS","DEFAULT_AES","BLACK","MAX_SVG_RENDERED_CELLS_COUNT"],"mappings":";AAGO,MAAMA,IAAc,IACdC,IAAa,GAEbC,IAAa,IACbC,IAAmB,IACnBC,IAAqB,IAErBC,IAA8B,IAE9BC,IAAc,GACdC,IAAqB,GAErBC,IAAgB,IAChBC,IAAY,IAEZC,IAAmB,IACnBC,IAAqB,GAErBC,IAAsB;AAAA,EAC/B,MAAM,CAAC,eAAe,QAAQ,UAAU,aAAa,QAAQ;AAAA,EAC7D,OAAO,CAAC,eAAe,QAAQ,UAAU,aAAa,QAAQ;AAAA,EAC9D,KAAK,CAAC,eAAe,QAAQ,UAAU,aAAa,UAAU,YAAY;AAAA,EAC1E,QAAQ,CAAC,eAAe,QAAQ,UAAU,aAAa,QAAQ;AACnE,GAEaC,IAAsB;AAAA,EAC/B,WAAW;AAAA,EACX,WAAWC;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAASA;AAAA,EACT,UAAU;AACd,GAEaC,IAA+B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCells.d.ts","sourceRoot":"","sources":["../../src/heatmap/getCells.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,UAAU,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA+BjE,MAAM,MAAM,IAAI,GAAG;IACf,MAAM,EAAE,IAAI,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,SAAS,CAAC;IAC3B,CAAC,EAAE,SAAS,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE;QACF,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,EAAE,MAAM,CACV,MAAM,EACN;QAEI,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAEhB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/C,CACJ,CAAC;CACL,CAAC;AAwBF,wBAAgB,QAAQ,CACpB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,UAAU,EAAE,EACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,QAAQ,EAAE,UAAU,EAAE,EACtB,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAC3C,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAC3C,KAAK,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EACpD,KAAK,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GACrD,gBAAgB,CAyOlB"}
1
+ {"version":3,"file":"getCells.d.ts","sourceRoot":"","sources":["../../src/heatmap/getCells.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,UAAU,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA8BjE,MAAM,MAAM,IAAI,GAAG;IACf,MAAM,EAAE,IAAI,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,SAAS,CAAC;IAC3B,CAAC,EAAE,SAAS,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE;QACF,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,EAAE,MAAM,CACV,MAAM,EACN;QAEI,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAEhB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAExC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/C,CACJ,CAAC;CACL,CAAC;AAwBF,wBAAgB,QAAQ,CACpB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,UAAU,EAAE,EACrB,QAAQ,EAAE,UAAU,EAAE,EACtB,QAAQ,EAAE,UAAU,EAAE,EACtB,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAC3C,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAC3C,KAAK,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EACpD,KAAK,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GACrD,gBAAgB,CAqOlB"}