@milaboratories/miplots4 1.0.150 → 1.0.152

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 (107) hide show
  1. package/dist/bubble/BubbleSettingsImpl.d.ts +9 -1
  2. package/dist/bubble/BubbleSettingsImpl.d.ts.map +1 -1
  3. package/dist/bubble/BubbleSettingsImpl.js +25 -16
  4. package/dist/bubble/BubbleSettingsImpl.js.map +1 -1
  5. package/dist/bubble/ChartRenderer.d.ts +15 -5
  6. package/dist/bubble/ChartRenderer.d.ts.map +1 -1
  7. package/dist/bubble/ChartRenderer.js +146 -146
  8. package/dist/bubble/ChartRenderer.js.map +1 -1
  9. package/dist/bubble/components/Chart.d.ts +5 -5
  10. package/dist/bubble/components/Chart.d.ts.map +1 -1
  11. package/dist/bubble/components/Chart.js +46 -46
  12. package/dist/bubble/components/Chart.js.map +1 -1
  13. package/dist/bubble/components/ChartsGroup.d.ts +4 -4
  14. package/dist/bubble/components/ChartsGroup.d.ts.map +1 -1
  15. package/dist/bubble/components/ChartsGroup.js.map +1 -1
  16. package/dist/bubble/getCellTooltip.d.ts +2 -2
  17. package/dist/bubble/getCellTooltip.d.ts.map +1 -1
  18. package/dist/bubble/getCellTooltip.js +17 -17
  19. package/dist/bubble/getCellTooltip.js.map +1 -1
  20. package/dist/bubble/getGroupedCellsData.d.ts +7 -29
  21. package/dist/bubble/getGroupedCellsData.d.ts.map +1 -1
  22. package/dist/bubble/getGroupedCellsData.js +49 -83
  23. package/dist/bubble/getGroupedCellsData.js.map +1 -1
  24. package/dist/bubble/index.d.ts +2 -2
  25. package/dist/bubble/index.d.ts.map +1 -1
  26. package/dist/bubble/index.js +54 -37
  27. package/dist/bubble/index.js.map +1 -1
  28. package/dist/bubble/utils/calculateCaptionTails.d.ts +2 -2
  29. package/dist/bubble/utils/calculateCaptionTails.d.ts.map +1 -1
  30. package/dist/bubble/utils/calculateCaptionTails.js.map +1 -1
  31. package/dist/discrete/DiscreteSettingsImpl.d.ts +2 -0
  32. package/dist/discrete/DiscreteSettingsImpl.d.ts.map +1 -1
  33. package/dist/discrete/DiscreteSettingsImpl.js +21 -19
  34. package/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
  35. package/dist/discrete/layers/stackedBar.d.ts.map +1 -1
  36. package/dist/discrete/layers/stackedBar.js +55 -30
  37. package/dist/discrete/layers/stackedBar.js.map +1 -1
  38. package/dist/heatmap/ChartRenderer.d.ts +7 -7
  39. package/dist/heatmap/ChartRenderer.d.ts.map +1 -1
  40. package/dist/heatmap/ChartRenderer.js +2 -2
  41. package/dist/heatmap/ChartRenderer.js.map +1 -1
  42. package/dist/heatmap/components/Annotations/Annotation.d.ts +4 -4
  43. package/dist/heatmap/components/Annotations/Annotation.d.ts.map +1 -1
  44. package/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
  45. package/dist/heatmap/components/Annotations/AnnotationCellsCanvas.d.ts +2 -2
  46. package/dist/heatmap/components/Annotations/AnnotationCellsCanvas.d.ts.map +1 -1
  47. package/dist/heatmap/components/Annotations/AnnotationCellsCanvas.js.map +1 -1
  48. package/dist/heatmap/components/Annotations/AnnotationCellsSvg.d.ts +2 -2
  49. package/dist/heatmap/components/Annotations/AnnotationCellsSvg.d.ts.map +1 -1
  50. package/dist/heatmap/components/Annotations/AnnotationCellsSvg.js.map +1 -1
  51. package/dist/heatmap/components/Annotations/index.d.ts +5 -5
  52. package/dist/heatmap/components/Annotations/index.d.ts.map +1 -1
  53. package/dist/heatmap/components/Annotations/index.js.map +1 -1
  54. package/dist/heatmap/components/CanvasCells.d.ts +3 -3
  55. package/dist/heatmap/components/CanvasCells.d.ts.map +1 -1
  56. package/dist/heatmap/components/CanvasCells.js +18 -18
  57. package/dist/heatmap/components/CanvasCells.js.map +1 -1
  58. package/dist/heatmap/components/Chart.d.ts +6 -6
  59. package/dist/heatmap/components/Chart.d.ts.map +1 -1
  60. package/dist/heatmap/components/Chart.js +63 -63
  61. package/dist/heatmap/components/Chart.js.map +1 -1
  62. package/dist/heatmap/components/ChartsGroup.d.ts +3 -3
  63. package/dist/heatmap/components/ChartsGroup.d.ts.map +1 -1
  64. package/dist/heatmap/components/ChartsGroup.js.map +1 -1
  65. package/dist/heatmap/components/SvgCells.d.ts +3 -3
  66. package/dist/heatmap/components/SvgCells.d.ts.map +1 -1
  67. package/dist/heatmap/components/SvgCells.js +18 -18
  68. package/dist/heatmap/components/SvgCells.js.map +1 -1
  69. package/dist/heatmap/components/tooltipUtils.d.ts +5 -5
  70. package/dist/heatmap/components/tooltipUtils.d.ts.map +1 -1
  71. package/dist/heatmap/components/tooltipUtils.js +7 -7
  72. package/dist/heatmap/components/tooltipUtils.js.map +1 -1
  73. package/dist/heatmap/fillCellsData.d.ts +45 -0
  74. package/dist/heatmap/fillCellsData.d.ts.map +1 -0
  75. package/dist/heatmap/fillCellsData.js +244 -0
  76. package/dist/heatmap/fillCellsData.js.map +1 -0
  77. package/dist/heatmap/getCells.d.ts +5 -37
  78. package/dist/heatmap/getCells.d.ts.map +1 -1
  79. package/dist/heatmap/getCells.js +28 -214
  80. package/dist/heatmap/getCells.js.map +1 -1
  81. package/dist/heatmap/getDendrograms.d.ts +2 -2
  82. package/dist/heatmap/getDendrograms.d.ts.map +1 -1
  83. package/dist/heatmap/getDendrograms.js +19 -19
  84. package/dist/heatmap/getDendrograms.js.map +1 -1
  85. package/dist/heatmap/index.d.ts +2 -2
  86. package/dist/heatmap/index.d.ts.map +1 -1
  87. package/dist/heatmap/index.js +7 -7
  88. package/dist/heatmap/index.js.map +1 -1
  89. package/dist/heatmap/utils/calculateCaptionTails.d.ts +2 -2
  90. package/dist/heatmap/utils/calculateCaptionTails.d.ts.map +1 -1
  91. package/dist/heatmap/utils/calculateCaptionTails.js.map +1 -1
  92. package/dist/node_modules/d3-array/src/min.js +11 -5
  93. package/dist/node_modules/d3-array/src/min.js.map +1 -1
  94. package/dist/types/bubble.d.ts +92 -0
  95. package/dist/types/bubble.d.ts.map +1 -1
  96. package/dist/types/bubble.js +16 -5
  97. package/dist/types/bubble.js.map +1 -1
  98. package/dist/types/discrete.d.ts +30 -8
  99. package/dist/types/discrete.d.ts.map +1 -1
  100. package/dist/types/discrete.js +16 -14
  101. package/dist/types/discrete.js.map +1 -1
  102. package/dist/types/heatmap.d.ts +18 -18
  103. package/dist/utils/getFacetOrGroupKey.d.ts +2 -0
  104. package/dist/utils/getFacetOrGroupKey.d.ts.map +1 -0
  105. package/dist/utils/getFacetOrGroupKey.js +7 -0
  106. package/dist/utils/getFacetOrGroupKey.js.map +1 -0
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/heatmap/components/Annotations/index.tsx"],"sourcesContent":["import type {TooltipsData} from '../../../common/Tooltip';\nimport {Annotation} from './Annotation';\nimport type {\n AnnotationColorScales,\n AnnotationTooltipData,\n ChartDimensionsData,\n ChartScales,\n} from '../types';\nimport {ANNOTATION_WIDTH, ANNOTATIONS_OFFSET} from '../../constants';\nimport type {Cell} from '../../getCells';\nimport type {GroupedCellsData} from '../../getCells';\nimport type {HeatmapSettingsImpl} from '../../HeatmapSettingsImpl';\nimport React from 'react';\n\nfunction showTitle(item: HeatmapSettingsImpl['annotations'][0], chartEdgeSides: ChartDimensionsData['chartEdgeSides']) {\n return item.showTitle && chartEdgeSides.includes(item.titlePosition);\n}\n\ninterface AnnotationProps {\n facetKey: string;\n sideElementBBoxes: ChartDimensionsData['sideElementBBoxes'];\n annotations: HeatmapSettingsImpl['annotations'];\n cellsMeta: GroupedCellsData['meta'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n chartEdgeSides: ChartDimensionsData['chartEdgeSides'];\n width: number;\n height: number;\n scales: ChartScales;\n stepX: number;\n stepY: number;\n aes: HeatmapSettingsImpl['aes'];\n frame: HeatmapSettingsImpl['chartSettings']['frame'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];\n tooltipsData: TooltipsData<Cell|AnnotationTooltipData>;\n cellsRenderingMode: 'canvas' | 'svg';\n}\n\nexport function Annotations({\n facetKey,\n sideElementBBoxes,\n annotations,\n annotationColorScales,\n cellsMeta,\n chartEdgeSides,\n sharedX,\n sharedY,\n width,\n height,\n scales,\n stepX,\n stepY,\n aes,\n frame,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n tooltipsData,\n cellsRenderingMode,\n}: AnnotationProps) {\n const usedAnnotations = annotations.filter(item => {\n return (\n chartEdgeSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position))\n );\n });\n const leftAnnotations = usedAnnotations.filter(item => item.position === 'left');\n const rightAnnotations = usedAnnotations.filter(item => item.position === 'right');\n const topAnnotations = usedAnnotations.filter(item => item.position === 'top');\n const bottomAnnotations = usedAnnotations.filter(item => item.position === 'bottom');\n const {xDataByKeys, yDataByKeys} = cellsMeta;\n\n const commonProps = {\n facetKey,\n scales,\n stepX,\n stepY,\n width,\n height,\n aes,\n frame,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n tooltipsData,\n cellsRenderingMode,\n };\n return (\n <g>\n {leftAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={yDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.left.annotations.x + idx * ANNOTATION_WIDTH}\n y={sideElementBBoxes.left.annotations.y}\n {...commonProps}\n />\n );\n })}\n {rightAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={yDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.right.annotations.x + idx * ANNOTATION_WIDTH + ANNOTATIONS_OFFSET}\n y={sideElementBBoxes.right.annotations.y}\n {...commonProps}\n />\n );\n })}\n {topAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={xDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.top.annotations.x}\n y={sideElementBBoxes.top.annotations.y + idx * ANNOTATION_WIDTH}\n {...commonProps}\n />\n );\n })}\n {bottomAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={xDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.bottom.annotations.x}\n y={sideElementBBoxes.bottom.annotations.y + idx * ANNOTATION_WIDTH + ANNOTATIONS_OFFSET}\n {...commonProps}\n />\n );\n })}\n </g>\n );\n}\n"],"names":["showTitle","item","chartEdgeSides","Annotations","facetKey","sideElementBBoxes","annotations","annotationColorScales","cellsMeta","sharedX","sharedY","width","height","scales","stepX","stepY","aes","frame","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","tooltipsData","cellsRenderingMode","usedAnnotations","leftAnnotations","rightAnnotations","topAnnotations","bottomAnnotations","xDataByKeys","yDataByKeys","commonProps","idx","jsx","Annotation","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/heatmap/components/Annotations/index.tsx"],"sourcesContent":["import type {TooltipsData} from '../../../common/Tooltip';\nimport {Annotation} from './Annotation';\nimport type {\n AnnotationColorScales,\n AnnotationTooltipData,\n ChartDimensionsData,\n ChartScales,\n} from '../types';\nimport {ANNOTATION_WIDTH, ANNOTATIONS_OFFSET} from '../../constants';\nimport type {CellHeatmap, GroupedCellsHeatmap} from '../../getCells';\nimport type {HeatmapSettingsImpl} from '../../HeatmapSettingsImpl';\nimport React from 'react';\n\nfunction showTitle(item: HeatmapSettingsImpl['annotations'][0], chartEdgeSides: ChartDimensionsData['chartEdgeSides']) {\n return item.showTitle && chartEdgeSides.includes(item.titlePosition);\n}\n\ninterface AnnotationProps {\n facetKey: string;\n sideElementBBoxes: ChartDimensionsData['sideElementBBoxes'];\n annotations: HeatmapSettingsImpl['annotations'];\n cellsMeta: GroupedCellsHeatmap['meta'];\n annotationColorScales: AnnotationColorScales;\n sharedX: boolean;\n sharedY: boolean;\n chartEdgeSides: ChartDimensionsData['chartEdgeSides'];\n width: number;\n height: number;\n scales: ChartScales;\n stepX: number;\n stepY: number;\n aes: HeatmapSettingsImpl['aes'];\n frame: HeatmapSettingsImpl['chartSettings']['frame'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n xKeysByGroups: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['yKeysByGroups'];\n tooltipsData: TooltipsData<CellHeatmap|AnnotationTooltipData>;\n cellsRenderingMode: 'canvas' | 'svg';\n}\n\nexport function Annotations({\n facetKey,\n sideElementBBoxes,\n annotations,\n annotationColorScales,\n cellsMeta,\n chartEdgeSides,\n sharedX,\n sharedY,\n width,\n height,\n scales,\n stepX,\n stepY,\n aes,\n frame,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n tooltipsData,\n cellsRenderingMode,\n}: AnnotationProps) {\n const usedAnnotations = annotations.filter(item => {\n return (\n chartEdgeSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position))\n );\n });\n const leftAnnotations = usedAnnotations.filter(item => item.position === 'left');\n const rightAnnotations = usedAnnotations.filter(item => item.position === 'right');\n const topAnnotations = usedAnnotations.filter(item => item.position === 'top');\n const bottomAnnotations = usedAnnotations.filter(item => item.position === 'bottom');\n const {xDataByKeys, yDataByKeys} = cellsMeta;\n\n const commonProps = {\n facetKey,\n scales,\n stepX,\n stepY,\n width,\n height,\n aes,\n frame,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n tooltipsData,\n cellsRenderingMode,\n };\n return (\n <g>\n {leftAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={yDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.left.annotations.x + idx * ANNOTATION_WIDTH}\n y={sideElementBBoxes.left.annotations.y}\n {...commonProps}\n />\n );\n })}\n {rightAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={yDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.right.annotations.x + idx * ANNOTATION_WIDTH + ANNOTATIONS_OFFSET}\n y={sideElementBBoxes.right.annotations.y}\n {...commonProps}\n />\n );\n })}\n {topAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={xDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.top.annotations.x}\n y={sideElementBBoxes.top.annotations.y + idx * ANNOTATION_WIDTH}\n {...commonProps}\n />\n );\n })}\n {bottomAnnotations.map((item, idx) => {\n return (\n <Annotation\n key={item.id}\n annotation={item}\n colorScale={annotationColorScales[item.id]}\n data={xDataByKeys[item.valueColumn.valueLabels ?? item.valueColumn.value]}\n showTitle={showTitle(item, chartEdgeSides)}\n x={sideElementBBoxes.bottom.annotations.x}\n y={sideElementBBoxes.bottom.annotations.y + idx * ANNOTATION_WIDTH + ANNOTATIONS_OFFSET}\n {...commonProps}\n />\n );\n })}\n </g>\n );\n}\n"],"names":["showTitle","item","chartEdgeSides","Annotations","facetKey","sideElementBBoxes","annotations","annotationColorScales","cellsMeta","sharedX","sharedY","width","height","scales","stepX","stepY","aes","frame","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","tooltipsData","cellsRenderingMode","usedAnnotations","leftAnnotations","rightAnnotations","topAnnotations","bottomAnnotations","xDataByKeys","yDataByKeys","commonProps","idx","jsx","Annotation","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Cell, GroupedCellsData } from '../getCells';
1
+ import { CellHeatmap, GroupedCellsHeatmap } from '../getCells';
2
2
  import { AnnotationTooltipData, ChartScales } from './types';
3
3
  import { TooltipsData } from '../../common/Tooltip';
4
4
  import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
@@ -7,14 +7,14 @@ interface CanvasCellsProps<T> {
7
7
  height: number;
8
8
  facetKey: string;
9
9
  scales: ChartScales;
10
- cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];
10
+ cells: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['cells'];
11
11
  xKeys: string[];
12
12
  yKeys: string[];
13
13
  stepX: number;
14
14
  stepY: number;
15
15
  aes: HeatmapSettingsImpl['aes'];
16
16
  colorScale: (value: T) => string;
17
- tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;
17
+ tooltipsData: TooltipsData<CellHeatmap | AnnotationTooltipData>;
18
18
  }
19
19
  export declare function CanvasCells<ValueType>({ width, height, facetKey, scales, cells, xKeys, yKeys, stepX, stepY, aes, colorScale, tooltipsData, }: CanvasCellsProps<ValueType>): import("react/jsx-runtime").JSX.Element;
20
20
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasCells.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/CanvasCells.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;AAgElE,UAAU,gBAAgB,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,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,WAAW,CAAC,SAAS,EAAE,EACnC,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,UAAU,EACV,YAAY,GACf,EAAE,gBAAgB,CAAC,SAAS,CAAC,2CAwD7B"}
1
+ {"version":3,"file":"CanvasCells.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/CanvasCells.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,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;AAgElE,UAAU,gBAAgB,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnF,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,WAAW,GAAG,qBAAqB,CAAC,CAAC;CACnE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,EACnC,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,UAAU,EACV,YAAY,GACf,EAAE,gBAAgB,CAAC,SAAS,CAAC,2CAwD7B"}
@@ -1,17 +1,17 @@
1
1
  import { j } from "../../node_modules/react/jsx-runtime.js";
2
2
  import { r as M } from "../../_virtual/index.js";
3
- import { useFunction as S } from "../../utils/hooks/useFunction.js";
4
- function h(e, n, c, o, t, r, x, m, y, v, C, l) {
5
- var a;
3
+ import { useFunction as L } from "../../utils/hooks/useFunction.js";
4
+ function h(e, n, c, o, t, r, x, m, y, v, d, a) {
5
+ var l;
6
6
  if (e) {
7
- e.beginPath(), e.clearRect(0, 0, C, l);
7
+ e.beginPath(), e.clearRect(0, 0, d, a);
8
8
  for (const s of o)
9
9
  for (const f of t) {
10
- const i = (a = c == null ? void 0 : c[s]) == null ? void 0 : a[f];
10
+ const i = (l = c == null ? void 0 : c[s]) == null ? void 0 : l[f];
11
11
  if (!i)
12
12
  continue;
13
- const d = n.x(s), u = n.y(f);
14
- e.fillStyle = i.value === null ? y : v(i.normalizedValue), e.fillRect(d, u, r, x);
13
+ const C = n.x(s), u = n.y(f);
14
+ e.fillStyle = i.value.dataSource === null ? y : v(i.normalizedValue.dataSource), e.fillRect(C, u, r, x);
15
15
  }
16
16
  }
17
17
  }
@@ -40,10 +40,10 @@ function z({
40
40
  stepX: m,
41
41
  stepY: y,
42
42
  aes: v,
43
- colorScale: C,
44
- tooltipsData: l
43
+ colorScale: d,
44
+ tooltipsData: a
45
45
  }) {
46
- const a = M.useRef(null), s = window.devicePixelRatio || 1, f = M.useRef(null), i = () => {
46
+ const l = M.useRef(null), s = window.devicePixelRatio || 1, f = M.useRef(null), i = () => {
47
47
  h(
48
48
  f.current,
49
49
  o,
@@ -54,28 +54,28 @@ function z({
54
54
  y,
55
55
  v.cellStrokeColor,
56
56
  v.emptyCellColor,
57
- C,
57
+ d,
58
58
  e,
59
59
  n
60
60
  );
61
61
  };
62
62
  M.useEffect(() => {
63
- const u = a.current;
63
+ const u = l.current;
64
64
  f.current || (f.current = (u == null ? void 0 : u.getContext("2d")) ?? null), u && f.current && (u.style.width = e + "px", u.style.height = n + "px", f.current.scale(s, s)), i();
65
65
  }, [e, n]), i();
66
- const d = S((u) => {
66
+ const C = L((u) => {
67
67
  var p;
68
- const K = u.nativeEvent.offsetX, b = u.nativeEvent.offsetY, g = E(K, o.x.range(), o.x.domain(), m), L = E(b, o.y.range(), o.y.domain(), y), R = (p = t[g]) == null ? void 0 : p[L];
69
- R ? l.onMouseEnter(R, c) : l.onMouseLeave();
68
+ const K = u.nativeEvent.offsetX, S = u.nativeEvent.offsetY, b = E(K, o.x.range(), o.x.domain(), m), g = E(S, o.y.range(), o.y.domain(), y), R = (p = t[b]) == null ? void 0 : p[g];
69
+ R ? a.onMouseEnter(R, c) : a.onMouseLeave();
70
70
  });
71
71
  return /* @__PURE__ */ j.jsx("foreignObject", { width: e, height: n, children: /* @__PURE__ */ j.jsx(
72
72
  "canvas",
73
73
  {
74
- ref: a,
74
+ ref: l,
75
75
  width: s * e,
76
76
  height: s * n,
77
- onMouseMove: d,
78
- onMouseLeave: () => l.onMouseLeave()
77
+ onMouseMove: C,
78
+ onMouseLeave: () => a.onMouseLeave()
79
79
  }
80
80
  ) });
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasCells.js","sources":["../../../src/heatmap/components/CanvasCells.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';\nimport type { MouseEventHandler } from 'react';\nimport { useEffect, useRef } from 'react';\nimport { useFunction } from '../../utils/hooks/useFunction';\n\nfunction renderCells<T>(\n ctx: CanvasRenderingContext2D | null,\n scales: ChartScales,\n cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'],\n xKeys: string[],\n yKeys: string[],\n stepX: number,\n stepY: number,\n strokeColor: string,\n emptyCellColor: string,\n colorScale: (value: T) => string,\n width: number,\n height: number\n) {\n if (!ctx) {\n return;\n }\n ctx.beginPath(); // Start a new path\n ctx.clearRect(0, 0, width, height);\n for (const xKey of xKeys) {\n for (const yKey of yKeys) {\n const cell = cells?.[xKey]?.[yKey];\n if (!cell) {\n continue;\n }\n const x = scales.x(xKey);\n const y = scales.y(yKey);\n ctx.fillStyle = cell.value === null ? emptyCellColor : colorScale(cell.normalizedValue as T),\n ctx.fillRect(x, y, stepX, stepY); // Add a rectangle to the current path\n }\n }\n}\n\nfunction binarySearch(arr: number[], val: number, step: number) {\n let start = 0;\n let end = arr.length - 1;\n\n while (start <= end) {\n const mid = Math.floor((start + end) / 2);\n if (Math.abs(arr[mid] - val) < step) {\n return arr[mid] >= val ? mid - 1 : mid;\n }\n\n if (val < arr[mid]) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n return -1;\n}\nfunction searchKey(px: number, positions: number[], keys: string[], step: number) {\n const pos = binarySearch(positions, px, step);\n if (pos === -1) {\n return -1;\n }\n return keys[pos];\n}\n\ninterface CanvasCellsProps<T> {\n width: number,\n height: number,\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 CanvasCells<ValueType>({\n width,\n height,\n facetKey,\n scales,\n cells,\n xKeys,\n yKeys,\n stepX,\n stepY,\n aes,\n colorScale,\n tooltipsData,\n}: CanvasCellsProps<ValueType>) {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const canvasRatio = window.devicePixelRatio || 1;\n const ctx = useRef<CanvasRenderingContext2D | null>(null);\n const render = () => {\n renderCells<ValueType>(\n ctx.current,\n scales,\n cells,\n xKeys,\n yKeys, stepX, stepY,\n aes.cellStrokeColor,\n aes.emptyCellColor,\n colorScale,\n width,\n height\n );\n };\n useEffect(() => {\n const canvasEl = canvasRef.current;\n if (!ctx.current) {\n ctx.current = canvasEl?.getContext('2d') ?? null;\n }\n if (canvasEl && ctx.current) {\n canvasEl.style.width = width + 'px';\n canvasEl.style.height = height + 'px';\n ctx.current.scale(canvasRatio, canvasRatio);\n }\n render();\n }, [width, height]);\n render();\n\n const moveOnCanvas: MouseEventHandler<HTMLCanvasElement> = useFunction((e: React.MouseEvent) => {\n const x = e.nativeEvent.offsetX;\n const y = e.nativeEvent.offsetY;\n const xKey = searchKey(x, scales.x.range(), scales.x.domain(), stepX);\n const yKey = searchKey(y, scales.y.range(), scales.y.domain(), stepY);\n const activeCell = cells[xKey]?.[yKey];\n if (activeCell) {\n tooltipsData.onMouseEnter(activeCell, facetKey);\n } else {\n tooltipsData.onMouseLeave();\n }\n });\n\n return (\n <foreignObject width={width} height={height}>\n <canvas\n ref={canvasRef}\n width={canvasRatio * width}\n height={canvasRatio * height}\n onMouseMove={moveOnCanvas}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n </foreignObject>\n );\n}"],"names":["renderCells","ctx","scales","cells","xKeys","yKeys","stepX","stepY","strokeColor","emptyCellColor","colorScale","width","height","xKey","yKey","cell","_a","x","y","binarySearch","arr","val","step","start","end","mid","searchKey","px","positions","keys","pos","CanvasCells","facetKey","aes","tooltipsData","canvasRef","useRef","canvasRatio","render","useEffect","canvasEl","moveOnCanvas","useFunction","e","activeCell","jsx"],"mappings":";;;AAQA,SAASA,EACLC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACF;;AACE,MAAKX,GAGL;AAAA,IAAAA,EAAI,UAAA,GACJA,EAAI,UAAU,GAAG,GAAGU,GAAOC,CAAM;AACjC,eAAWC,KAAQT;AACf,iBAAWU,KAAQT,GAAO;AACtB,cAAMU,KAAOC,IAAAb,KAAA,gBAAAA,EAAQU,OAAR,gBAAAG,EAAgBF;AAC7B,YAAI,CAACC;AACD;AAEJ,cAAME,IAAIf,EAAO,EAAEW,CAAI,GACjBK,IAAIhB,EAAO,EAAEY,CAAI;AACvB,QAAAb,EAAI,YAAYc,EAAK,UAAU,OAAON,IAAiBC,EAAWK,EAAK,eAAoB,GACvFd,EAAI,SAASgB,GAAGC,GAAGZ,GAAOC,CAAK;AAAA,MACvC;AAAA;AAER;AAEA,SAASY,EAAaC,GAAeC,GAAaC,GAAc;AAC5D,MAAIC,IAAQ,GACRC,IAAMJ,EAAI,SAAS;AAEvB,SAAOG,KAASC,KAAK;AACjB,UAAMC,IAAM,KAAK,OAAOF,IAAQC,KAAO,CAAC;AACxC,QAAI,KAAK,IAAIJ,EAAIK,CAAG,IAAIJ,CAAG,IAAIC;AAC3B,aAAOF,EAAIK,CAAG,KAAKJ,IAAMI,IAAM,IAAIA;AAGvC,IAAIJ,IAAMD,EAAIK,CAAG,IACbD,IAAMC,IAAM,IAEZF,IAAQE,IAAM;AAAA,EAEtB;AACA,SAAO;AACX;AACA,SAASC,EAAUC,GAAYC,GAAqBC,GAAgBP,GAAc;AAC9E,QAAMQ,IAAMX,EAAaS,GAAWD,GAAIL,CAAI;AAC5C,SAAIQ,MAAQ,KACD,KAEJD,EAAKC,CAAG;AACnB;AAiBO,SAASC,EAAuB;AAAA,EACnC,OAAApB;AAAA,EACA,QAAAC;AAAA,EACA,UAAAoB;AAAA,EACA,QAAA9B;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,KAAA0B;AAAA,EACA,YAAAvB;AAAA,EACA,cAAAwB;AACJ,GAAgC;AAC5B,QAAMC,IAAYC,EAAAA,OAAiC,IAAI,GACjDC,IAAc,OAAO,oBAAoB,GACzCpC,IAAMmC,EAAAA,OAAwC,IAAI,GAClDE,IAAS,MAAM;AACjB,IAAAtC;AAAA,MACIC,EAAI;AAAA,MACJC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MAAOC;AAAA,MAAOC;AAAA,MACd0B,EAAI;AAAA,MACJA,EAAI;AAAA,MACJvB;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAER;AACA2B,EAAAA,EAAAA,UAAU,MAAM;AACZ,UAAMC,IAAWL,EAAU;AAC3B,IAAKlC,EAAI,YACLA,EAAI,WAAUuC,KAAA,gBAAAA,EAAU,WAAW,UAAS,OAE5CA,KAAYvC,EAAI,YAChBuC,EAAS,MAAM,QAAQ7B,IAAQ,MAC/B6B,EAAS,MAAM,SAAS5B,IAAS,MACjCX,EAAI,QAAQ,MAAMoC,GAAaA,CAAW,IAE9CC,EAAA;AAAA,EACJ,GAAG,CAAC3B,GAAOC,CAAM,CAAC,GAClB0B,EAAA;AAEA,QAAMG,IAAqDC,EAAY,CAACC,MAAwB;;AAC5F,UAAM1B,IAAI0B,EAAE,YAAY,SAClBzB,IAAIyB,EAAE,YAAY,SAClB9B,IAAOa,EAAUT,GAAGf,EAAO,EAAE,MAAA,GAASA,EAAO,EAAE,OAAA,GAAUI,CAAK,GAC9DQ,IAAOY,EAAUR,GAAGhB,EAAO,EAAE,MAAA,GAASA,EAAO,EAAE,OAAA,GAAUK,CAAK,GAC9DqC,KAAa5B,IAAAb,EAAMU,CAAI,MAAV,gBAAAG,EAAcF;AACjC,IAAI8B,IACAV,EAAa,aAAaU,GAAYZ,CAAQ,IAE9CE,EAAa,aAAA;AAAA,EAErB,CAAC;AAED,SACIW,gBAAAA,EAAAA,IAAC,iBAAA,EAAc,OAAAlC,GAAc,QAAAC,GACzB,UAAAiC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKV;AAAA,MACL,OAAOE,IAAc1B;AAAA,MACrB,QAAQ0B,IAAczB;AAAA,MACtB,aAAa6B;AAAA,MACb,cAAc,MAAMP,EAAa,aAAA;AAAA,IAAa;AAAA,EAAA,GAEtD;AAER;"}
1
+ {"version":3,"file":"CanvasCells.js","sources":["../../../src/heatmap/components/CanvasCells.tsx"],"sourcesContent":["import type { CellHeatmap, GroupedCellsHeatmap } from '../getCells';\nimport type { AnnotationTooltipData, ChartScales } from './types';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport type { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';\nimport type { MouseEventHandler } from 'react';\nimport { useEffect, useRef } from 'react';\nimport { useFunction } from '../../utils/hooks/useFunction';\n\nfunction renderCells<T>(\n ctx: CanvasRenderingContext2D | null,\n scales: ChartScales,\n cells: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['cells'],\n xKeys: string[],\n yKeys: string[],\n stepX: number,\n stepY: number,\n strokeColor: string,\n emptyCellColor: string,\n colorScale: (value: T) => string,\n width: number,\n height: number\n) {\n if (!ctx) {\n return;\n }\n ctx.beginPath(); // Start a new path\n ctx.clearRect(0, 0, width, height);\n for (const xKey of xKeys) {\n for (const yKey of yKeys) {\n const cell = cells?.[xKey]?.[yKey];\n if (!cell) {\n continue;\n }\n const x = scales.x(xKey);\n const y = scales.y(yKey);\n ctx.fillStyle = cell.value.dataSource === null ? emptyCellColor : colorScale(cell.normalizedValue.dataSource as T),\n ctx.fillRect(x, y, stepX, stepY); // Add a rectangle to the current path\n }\n }\n}\n\nfunction binarySearch(arr: number[], val: number, step: number) {\n let start = 0;\n let end = arr.length - 1;\n\n while (start <= end) {\n const mid = Math.floor((start + end) / 2);\n if (Math.abs(arr[mid] - val) < step) {\n return arr[mid] >= val ? mid - 1 : mid;\n }\n\n if (val < arr[mid]) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n return -1;\n}\nfunction searchKey(px: number, positions: number[], keys: string[], step: number) {\n const pos = binarySearch(positions, px, step);\n if (pos === -1) {\n return -1;\n }\n return keys[pos];\n}\n\ninterface CanvasCellsProps<T> {\n width: number,\n height: number,\n facetKey: string,\n scales: ChartScales,\n cells: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['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<CellHeatmap | AnnotationTooltipData>;\n}\n\nexport function CanvasCells<ValueType>({\n width,\n height,\n facetKey,\n scales,\n cells,\n xKeys,\n yKeys,\n stepX,\n stepY,\n aes,\n colorScale,\n tooltipsData,\n}: CanvasCellsProps<ValueType>) {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const canvasRatio = window.devicePixelRatio || 1;\n const ctx = useRef<CanvasRenderingContext2D | null>(null);\n const render = () => {\n renderCells<ValueType>(\n ctx.current,\n scales,\n cells,\n xKeys,\n yKeys, stepX, stepY,\n aes.cellStrokeColor,\n aes.emptyCellColor,\n colorScale,\n width,\n height\n );\n };\n useEffect(() => {\n const canvasEl = canvasRef.current;\n if (!ctx.current) {\n ctx.current = canvasEl?.getContext('2d') ?? null;\n }\n if (canvasEl && ctx.current) {\n canvasEl.style.width = width + 'px';\n canvasEl.style.height = height + 'px';\n ctx.current.scale(canvasRatio, canvasRatio);\n }\n render();\n }, [width, height]);\n render();\n\n const moveOnCanvas: MouseEventHandler<HTMLCanvasElement> = useFunction((e: React.MouseEvent) => {\n const x = e.nativeEvent.offsetX;\n const y = e.nativeEvent.offsetY;\n const xKey = searchKey(x, scales.x.range(), scales.x.domain(), stepX);\n const yKey = searchKey(y, scales.y.range(), scales.y.domain(), stepY);\n const activeCell = cells[xKey]?.[yKey];\n if (activeCell) {\n tooltipsData.onMouseEnter(activeCell, facetKey);\n } else {\n tooltipsData.onMouseLeave();\n }\n });\n\n return (\n <foreignObject width={width} height={height}>\n <canvas\n ref={canvasRef}\n width={canvasRatio * width}\n height={canvasRatio * height}\n onMouseMove={moveOnCanvas}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n </foreignObject>\n );\n}"],"names":["renderCells","ctx","scales","cells","xKeys","yKeys","stepX","stepY","strokeColor","emptyCellColor","colorScale","width","height","xKey","yKey","cell","_a","x","y","binarySearch","arr","val","step","start","end","mid","searchKey","px","positions","keys","pos","CanvasCells","facetKey","aes","tooltipsData","canvasRef","useRef","canvasRatio","render","useEffect","canvasEl","moveOnCanvas","useFunction","e","activeCell","jsx"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { TooltipsData } from '../../common/Tooltip';
2
- import { Cell, GroupedCellsData } from '../getCells';
2
+ import { CellHeatmap, GroupedCellsHeatmap } from '../getCells';
3
3
  import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
4
4
  import { AnnotationColorScales, AnnotationTooltipData, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartScales, ChartSizes, DendrogramAesScales, LabelAngles, Margins } from './types';
5
5
  export declare function Chart<ValueType>({ 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, }: {
@@ -8,14 +8,14 @@ export declare function Chart<ValueType>({ dendrograms, facetKey, dimensions, sc
8
8
  captionsSizes: CaptionsSizes;
9
9
  dimensions: ChartDimensionsData;
10
10
  scales: ChartScales;
11
- cells: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['cells'];
12
- xKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['xKeysByGroups'];
13
- yKeysByGroups: GroupedCellsData['facets'][keyof GroupedCellsData['facets']]['yKeysByGroups'];
11
+ cells: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['cells'];
12
+ xKeysByGroups: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['xKeysByGroups'];
13
+ yKeysByGroups: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['yKeysByGroups'];
14
14
  xGroupKeys: string[];
15
15
  yGroupKeys: string[];
16
16
  colorScale: (value: ValueType) => string;
17
17
  chartSettings: HeatmapSettingsImpl['chartSettings'];
18
- cellsMeta: GroupedCellsData['meta'];
18
+ cellsMeta: GroupedCellsHeatmap['meta'];
19
19
  stepX: number;
20
20
  stepY: number;
21
21
  annotations: HeatmapSettingsImpl['annotations'];
@@ -28,7 +28,7 @@ export declare function Chart<ValueType>({ dendrograms, facetKey, dimensions, sc
28
28
  labelAngles: LabelAngles;
29
29
  margins: Margins;
30
30
  tooltipsContainer?: Element;
31
- tooltipsData: TooltipsData<Cell | AnnotationTooltipData>;
31
+ tooltipsData: TooltipsData<CellHeatmap | AnnotationTooltipData>;
32
32
  cellsRenderingMode: 'svg' | 'canvas';
33
33
  }): import("react/jsx-runtime").JSX.Element;
34
34
  //# sourceMappingURL=Chart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/Chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAKlE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKtM,wBAAgB,KAAK,CAAC,SAAS,EAAE,EAC7B,WAAW,EACX,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,GAAG,EACH,WAAW,EACX,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACrB,EAAE;IACC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7E,aAAa,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7F,aAAa,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7F,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC;IACzC,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC;IACzD,kBAAkB,EAAE,KAAK,GAAG,QAAQ,CAAC;CACxC,2CA0MA"}
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/Chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAKlE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKtM,wBAAgB,KAAK,CAAC,SAAS,EAAE,EAC7B,WAAW,EACX,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,GAAG,EACH,WAAW,EACX,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACrB,EAAE;IACC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACnF,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACnG,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACnG,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC;IACzC,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAChD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC;IAChE,kBAAkB,EAAE,KAAK,GAAG,QAAQ,CAAC;CACxC,2CA0MA"}
@@ -1,47 +1,47 @@
1
1
  import { j as r } from "../../node_modules/react/jsx-runtime.js";
2
- import { Tooltip as V } from "../../common/Tooltip.js";
2
+ import { Tooltip as S } from "../../common/Tooltip.js";
3
3
  import { useDataFrame as K } from "../../common/useDataFrame.js";
4
4
  import { FONT_SIZE as D, FACET_TITLE_OFFSET as Y } from "../constants.js";
5
5
  import { Annotations as s } from "./Annotations/index.js";
6
6
  import { Captions as X } from "./Captions/index.js";
7
7
  import { Dendrograms as M } from "./Dendrograms.js";
8
8
  import { Frames as p } from "./Frames.js";
9
- import { isCellTooltip as W, isAnnotationTooltip as _, getTooltipContent as ee, getAnnotationTooltipContent as re } from "./tooltipUtils.js";
9
+ import { isCellTooltip as V, isAnnotationTooltip as W, getTooltipContent as ee, getAnnotationTooltipContent as re } from "./tooltipUtils.js";
10
10
  import { CanvasCells as te } from "./CanvasCells.js";
11
11
  import { SvgCells as xe } from "./SvgCells.js";
12
- function Te({
13
- dendrograms: B,
12
+ function ue({
13
+ dendrograms: _,
14
14
  facetKey: n,
15
15
  dimensions: f,
16
16
  scales: t,
17
17
  cells: A,
18
- xGroupKeys: T,
19
- yGroupKeys: y,
20
- xKeysByGroups: C,
21
- yKeysByGroups: u,
18
+ xGroupKeys: u,
19
+ yGroupKeys: T,
20
+ xKeysByGroups: y,
21
+ yKeysByGroups: C,
22
22
  colorScale: F,
23
23
  chartSettings: l,
24
24
  cellsMeta: x,
25
25
  stepX: d,
26
26
  stepY: m,
27
- sharedX: H,
28
- sharedY: I,
29
- annotations: O,
30
- annotationColorScales: N,
31
- dendrogramAesScales: S,
32
- aes: i,
27
+ sharedX: B,
28
+ sharedY: H,
29
+ annotations: I,
30
+ annotationColorScales: O,
31
+ dendrogramAesScales: N,
32
+ aes: o,
33
33
  labelAngles: Z,
34
- chartSizes: o,
34
+ chartSizes: i,
35
35
  margins: j,
36
36
  tooltipsContainer: $,
37
37
  tooltipsData: e,
38
- cellsRenderingMode: b
38
+ cellsRenderingMode: a
39
39
  }) {
40
- const q = K(), { xAxis: z, yAxis: J, tooltips: v } = l, { width: w, height: E } = f.inner, { padding: c, chartEdgeSides: P, sideElementBBoxes: h } = f, { xGroupLabels: Q, yGroupLabels: U, xLabels: R, yLabels: G } = x, g = t.x.domain(), a = t.y.domain(), L = {
40
+ const q = K(), { xAxis: z, yAxis: J, tooltips: b } = l, { width: v, height: w } = f.inner, { padding: c, chartEdgeSides: P, sideElementBBoxes: h } = f, { xGroupLabels: Q, yGroupLabels: U, xLabels: R, yLabels: G } = x, g = t.x.domain(), E = t.y.domain(), L = {
41
41
  left: j.left + f.left + c.left,
42
- right: o.totalWidth - (j.left + f.left + c.left),
42
+ right: i.totalWidth - (j.left + f.left + c.left),
43
43
  top: j.top + f.top + c.top,
44
- bottom: o.totalHeight - (j.top + f.top + c.top)
44
+ bottom: i.totalHeight - (j.top + f.top + c.top)
45
45
  }, k = !1;
46
46
  return /* @__PURE__ */ r.jsxs("g", { transform: `translate(${f.left},${f.top})`, fontSize: D, children: [
47
47
  /* @__PURE__ */ r.jsxs("g", { transform: `translate(${c.left},${c.top})`, children: [
@@ -50,37 +50,37 @@ function Te({
50
50
  {
51
51
  facetKey: n,
52
52
  sideElementBBoxes: h,
53
- annotations: O,
53
+ annotations: I,
54
54
  cellsMeta: x,
55
- annotationColorScales: N,
56
- sharedX: H,
57
- sharedY: I,
55
+ annotationColorScales: O,
56
+ sharedX: B,
57
+ sharedY: H,
58
58
  chartEdgeSides: P,
59
- width: w,
60
- height: E,
59
+ width: v,
60
+ height: w,
61
61
  scales: t,
62
62
  stepX: d,
63
63
  stepY: m,
64
- aes: i,
64
+ aes: o,
65
65
  frame: l.frame,
66
- xGroupKeys: T,
67
- yGroupKeys: y,
68
- xKeysByGroups: C,
69
- yKeysByGroups: u,
66
+ xGroupKeys: u,
67
+ yGroupKeys: T,
68
+ xKeysByGroups: y,
69
+ yKeysByGroups: C,
70
70
  tooltipsData: e,
71
- cellsRenderingMode: b
71
+ cellsRenderingMode: a
72
72
  }
73
73
  ),
74
74
  /* @__PURE__ */ r.jsx(
75
75
  M,
76
76
  {
77
- dendrograms: B,
77
+ dendrograms: _,
78
78
  sideElementBBoxes: h,
79
79
  xGroupKeys: x.xGroupKeys,
80
80
  yGroupKeys: x.yGroupKeys,
81
81
  xDataByKeys: x.xDataByKeys,
82
82
  yDataByKeys: x.yDataByKeys,
83
- aesScales: S
83
+ aesScales: N
84
84
  }
85
85
  ),
86
86
  h.top.facetTitle.isVisible && /* @__PURE__ */ r.jsx(
@@ -94,34 +94,34 @@ function Te({
94
94
  }
95
95
  ),
96
96
  k,
97
- b === "svg" && /* @__PURE__ */ r.jsx(
97
+ a === "svg" && /* @__PURE__ */ r.jsx(
98
98
  xe,
99
99
  {
100
100
  scales: t,
101
101
  facetKey: n,
102
102
  cells: A,
103
103
  xKeys: g,
104
- yKeys: a,
104
+ yKeys: E,
105
105
  stepX: d,
106
106
  stepY: m,
107
- aes: i,
107
+ aes: o,
108
108
  colorScale: F,
109
109
  tooltipsData: e
110
110
  }
111
111
  ),
112
- b === "canvas" && /* @__PURE__ */ r.jsx(
112
+ a === "canvas" && /* @__PURE__ */ r.jsx(
113
113
  te,
114
114
  {
115
115
  scales: t,
116
116
  facetKey: n,
117
117
  cells: A,
118
- width: w,
119
- height: E,
118
+ width: v,
119
+ height: w,
120
120
  xKeys: g,
121
- yKeys: a,
121
+ yKeys: E,
122
122
  stepX: d,
123
123
  stepY: m,
124
- aes: i,
124
+ aes: o,
125
125
  colorScale: F,
126
126
  tooltipsData: e
127
127
  }
@@ -130,15 +130,15 @@ function Te({
130
130
  p,
131
131
  {
132
132
  frame: l.frame,
133
- xGroupKeys: T,
134
- yGroupKeys: y,
135
- xKeysByGroups: C,
136
- yKeysByGroups: u,
133
+ xGroupKeys: u,
134
+ yGroupKeys: T,
135
+ xKeysByGroups: y,
136
+ yKeysByGroups: C,
137
137
  scales: t,
138
138
  stepX: d,
139
139
  stepY: m,
140
- width: w,
141
- height: E
140
+ width: v,
141
+ height: w
142
142
  }
143
143
  ),
144
144
  /* @__PURE__ */ r.jsx(
@@ -152,11 +152,11 @@ function Te({
152
152
  debug: k,
153
153
  sideElementBBoxes: h,
154
154
  xKeys: g,
155
- yKeys: a,
156
- xGroupKeys: T,
157
- yGroupKeys: y,
158
- xKeysByGroups: C,
159
- yKeysByGroups: u,
155
+ yKeys: E,
156
+ xGroupKeys: u,
157
+ yGroupKeys: T,
158
+ xKeysByGroups: y,
159
+ yKeysByGroups: C,
160
160
  xGroupLabels: Q,
161
161
  yGroupLabels: U,
162
162
  labelAngles: Z,
@@ -165,10 +165,10 @@ function Te({
165
165
  }
166
166
  )
167
167
  ] }),
168
- l.tooltips.show && W(e.selectedData) && e.currentFacet === n && /* @__PURE__ */ r.jsx(
169
- V,
168
+ l.tooltips.show && V(e.selectedData) && e.currentFacet === n && /* @__PURE__ */ r.jsx(
169
+ S,
170
170
  {
171
- content: ee(q, e.selectedData, x, v == null ? void 0 : v.content),
171
+ content: ee(q, e.selectedData, x, b == null ? void 0 : b.content),
172
172
  x: t.x(String(e.selectedData.x)) + d / 2,
173
173
  y: t.y(String(e.selectedData.y)) + m / 2,
174
174
  offset: g.length > 1 ? d / 2 : 0,
@@ -179,8 +179,8 @@ function Te({
179
179
  container: $
180
180
  }
181
181
  ),
182
- l.tooltips.show && _(e.selectedData) && e.currentFacet === n && /* @__PURE__ */ r.jsx(
183
- V,
182
+ l.tooltips.show && W(e.selectedData) && e.currentFacet === n && /* @__PURE__ */ r.jsx(
183
+ S,
184
184
  {
185
185
  content: re(e.selectedData, x),
186
186
  x: e.selectedData.x,
@@ -194,20 +194,20 @@ function Te({
194
194
  }
195
195
  ),
196
196
  /* @__PURE__ */ r.jsxs("g", { transform: `translate(${c.left},${c.top})`, children: [
197
- e.fixed && /* @__PURE__ */ r.jsx("rect", { width: o.chartWidth, height: o.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
197
+ e.fixed && /* @__PURE__ */ r.jsx("rect", { width: i.chartWidth, height: i.chartHeight, fill: "rgba(255, 255, 255, 0.8)" }),
198
198
  /* @__PURE__ */ r.jsxs("g", { children: [
199
- e.fixed && e.currentFacet === n && W(e.selectedData) && /* @__PURE__ */ r.jsx(
199
+ e.fixed && e.currentFacet === n && V(e.selectedData) && /* @__PURE__ */ r.jsx(
200
200
  "rect",
201
201
  {
202
202
  width: d,
203
203
  height: m,
204
204
  x: t.x(e.selectedData.x),
205
205
  y: t.y(e.selectedData.y),
206
- fill: F(e.selectedData.normalizedValue ?? e.selectedData.value),
207
- stroke: i.cellStrokeColor
206
+ fill: F(e.selectedData.normalizedValue.dataSource ?? e.selectedData.value.dataSource),
207
+ stroke: o.cellStrokeColor
208
208
  }
209
209
  ),
210
- e.fixed && e.currentFacet === n && _(e.selectedData) && /* @__PURE__ */ r.jsx(
210
+ e.fixed && e.currentFacet === n && W(e.selectedData) && /* @__PURE__ */ r.jsx(
211
211
  "rect",
212
212
  {
213
213
  x: e.selectedData.cell.x,
@@ -223,6 +223,6 @@ function Te({
223
223
  ] });
224
224
  }
225
225
  export {
226
- Te as Chart
226
+ ue as Chart
227
227
  };
228
228
  //# sourceMappingURL=Chart.js.map
@@ -1 +1 @@
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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"}
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 { CellHeatmap, GroupedCellsHeatmap } 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: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['cells'];\n xKeysByGroups: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['xKeysByGroups'];\n yKeysByGroups: GroupedCellsHeatmap['facets'][keyof GroupedCellsHeatmap['facets']]['yKeysByGroups'];\n xGroupKeys: string[];\n yGroupKeys: string[];\n colorScale: (value: ValueType) => string;\n chartSettings: HeatmapSettingsImpl['chartSettings'];\n cellsMeta: GroupedCellsHeatmap['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<CellHeatmap | 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.dataSource ?? tooltipsData.selectedData.value.dataSource) 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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"}
@@ -1,5 +1,5 @@
1
1
  import { LegendData } from '../../common/types';
2
- import { GroupedCellsData } from '../getCells';
2
+ import { GroupedCellsHeatmap } from '../getCells';
3
3
  import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
4
4
  import { AnnotationColorScales, CaptionsSizes, ChartDendrograms, ChartDimensionsData, ChartSizes, ChartsScales, DendrogramAesScales, LabelAngles, Margins } from './types';
5
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 }: {
@@ -16,8 +16,8 @@ export declare function ChartsGroup({ margins, captionsSizes, settingsId, chartS
16
16
  settingsId: string;
17
17
  colorScale: (value: unknown) => string;
18
18
  annotationColorScales: AnnotationColorScales;
19
- groupedCells: GroupedCellsData['facets'];
20
- cellsMeta: GroupedCellsData['meta'];
19
+ groupedCells: GroupedCellsHeatmap['facets'];
20
+ cellsMeta: GroupedCellsHeatmap['meta'];
21
21
  annotations: HeatmapSettingsImpl['annotations'];
22
22
  step: {
23
23
  x: Record<string, number>;
@@ -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,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
+ {"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,EAAe,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,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,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC5C,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvC,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"}