@milaboratories/miplots4 1.0.125 → 1.0.127

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 (118) hide show
  1. package/dist/DataFrame.d.ts +7 -5
  2. package/dist/DataFrame.d.ts.map +1 -1
  3. package/dist/DataFrame.js +67 -60
  4. package/dist/DataFrame.js.map +1 -1
  5. package/dist/bubble/components/Chart.d.ts +3 -3
  6. package/dist/bubble/components/Chart.d.ts.map +1 -1
  7. package/dist/bubble/components/Chart.js +23 -23
  8. package/dist/bubble/components/Chart.js.map +1 -1
  9. package/dist/common/Tooltip.d.ts +1 -1
  10. package/dist/common/Tooltip.d.ts.map +1 -1
  11. package/dist/common/Tooltip.js +17 -17
  12. package/dist/common/Tooltip.js.map +1 -1
  13. package/dist/discrete/components/layers/BinnedDotsElement.d.ts +2 -2
  14. package/dist/discrete/components/layers/BinnedDotsElement.d.ts.map +1 -1
  15. package/dist/discrete/components/layers/BinnedDotsElement.js +9 -9
  16. package/dist/discrete/components/layers/BinnedDotsElement.js.map +1 -1
  17. package/dist/discrete/components/layers/BoxElement.d.ts +2 -2
  18. package/dist/discrete/components/layers/BoxElement.d.ts.map +1 -1
  19. package/dist/discrete/components/layers/BoxElement.js +19 -19
  20. package/dist/discrete/components/layers/BoxElement.js.map +1 -1
  21. package/dist/discrete/components/layers/DotsGroupElement.d.ts +3 -3
  22. package/dist/discrete/components/layers/DotsGroupElement.d.ts.map +1 -1
  23. package/dist/discrete/components/layers/DotsGroupElement.js +10 -10
  24. package/dist/discrete/components/layers/DotsGroupElement.js.map +1 -1
  25. package/dist/discrete/components/layers/ErrorBarElement.d.ts +2 -2
  26. package/dist/discrete/components/layers/ErrorBarElement.d.ts.map +1 -1
  27. package/dist/discrete/components/layers/ErrorBarElement.js +15 -15
  28. package/dist/discrete/components/layers/ErrorBarElement.js.map +1 -1
  29. package/dist/discrete/components/layers/LineElement.d.ts +2 -2
  30. package/dist/discrete/components/layers/LineElement.d.ts.map +1 -1
  31. package/dist/discrete/components/layers/LineElement.js +12 -12
  32. package/dist/discrete/components/layers/LineElement.js.map +1 -1
  33. package/dist/discrete/components/layers/LogoElement.d.ts +2 -2
  34. package/dist/discrete/components/layers/LogoElement.d.ts.map +1 -1
  35. package/dist/discrete/components/layers/LogoElement.js +19 -19
  36. package/dist/discrete/components/layers/LogoElement.js.map +1 -1
  37. package/dist/discrete/components/layers/PairedPointsElement.d.ts +2 -2
  38. package/dist/discrete/components/layers/PairedPointsElement.d.ts.map +1 -1
  39. package/dist/discrete/components/layers/PairedPointsElement.js +37 -37
  40. package/dist/discrete/components/layers/PairedPointsElement.js.map +1 -1
  41. package/dist/discrete/components/layers/StackedBarElement.d.ts +3 -3
  42. package/dist/discrete/components/layers/StackedBarElement.d.ts.map +1 -1
  43. package/dist/discrete/components/layers/StackedBarElement.js +18 -18
  44. package/dist/discrete/components/layers/StackedBarElement.js.map +1 -1
  45. package/dist/discrete/components/layers/ViolinElement.d.ts +4 -4
  46. package/dist/discrete/components/layers/ViolinElement.d.ts.map +1 -1
  47. package/dist/discrete/components/layers/ViolinElement.js +7 -7
  48. package/dist/discrete/components/layers/ViolinElement.js.map +1 -1
  49. package/dist/heatmap/components/Annotations/Annotation.d.ts +2 -2
  50. package/dist/heatmap/components/Annotations/Annotation.d.ts.map +1 -1
  51. package/dist/heatmap/components/Annotations/Annotation.js +16 -16
  52. package/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
  53. package/dist/heatmap/components/Chart.d.ts +1 -1
  54. package/dist/heatmap/components/Chart.d.ts.map +1 -1
  55. package/dist/heatmap/components/Chart.js +28 -28
  56. package/dist/heatmap/components/Chart.js.map +1 -1
  57. package/dist/histogram/components/Chart.d.ts +2 -2
  58. package/dist/histogram/components/Chart.d.ts.map +1 -1
  59. package/dist/histogram/components/Chart.js +22 -22
  60. package/dist/histogram/components/Chart.js.map +1 -1
  61. package/dist/node_modules/react/index.js +1 -1
  62. package/dist/node_modules/react-dom/index.js +1 -1
  63. package/dist/scatterplot/components/Chart.d.ts +6 -11
  64. package/dist/scatterplot/components/Chart.d.ts.map +1 -1
  65. package/dist/scatterplot/components/Chart.js +101 -331
  66. package/dist/scatterplot/components/Chart.js.map +1 -1
  67. package/dist/scatterplot/components/ChartAxis.d.ts +20 -0
  68. package/dist/scatterplot/components/ChartAxis.d.ts.map +1 -0
  69. package/dist/scatterplot/components/ChartAxis.js +52 -0
  70. package/dist/scatterplot/components/ChartAxis.js.map +1 -0
  71. package/dist/scatterplot/components/ChartAxisTitles.d.ts +15 -0
  72. package/dist/scatterplot/components/ChartAxisTitles.d.ts.map +1 -0
  73. package/dist/scatterplot/components/ChartAxisTitles.js +56 -0
  74. package/dist/scatterplot/components/ChartAxisTitles.js.map +1 -0
  75. package/dist/scatterplot/components/ChartFacetTitle.d.ts +11 -0
  76. package/dist/scatterplot/components/ChartFacetTitle.d.ts.map +1 -0
  77. package/dist/scatterplot/components/ChartFacetTitle.js +37 -0
  78. package/dist/scatterplot/components/ChartFacetTitle.js.map +1 -0
  79. package/dist/scatterplot/components/ChartLayersData.d.ts +39 -0
  80. package/dist/scatterplot/components/ChartLayersData.d.ts.map +1 -0
  81. package/dist/scatterplot/components/ChartLayersData.js +250 -0
  82. package/dist/scatterplot/components/ChartLayersData.js.map +1 -0
  83. package/dist/scatterplot/components/ChartTooltip.d.ts +18 -0
  84. package/dist/scatterplot/components/ChartTooltip.d.ts.map +1 -0
  85. package/dist/scatterplot/components/ChartTooltip.js +58 -0
  86. package/dist/scatterplot/components/ChartTooltip.js.map +1 -0
  87. package/dist/scatterplot/components/ChartTrendsData.d.ts +11 -0
  88. package/dist/scatterplot/components/ChartTrendsData.d.ts.map +1 -0
  89. package/dist/scatterplot/components/ChartTrendsData.js +65 -0
  90. package/dist/scatterplot/components/ChartTrendsData.js.map +1 -0
  91. package/dist/scatterplot/components/ChartsGroup.d.ts +3 -3
  92. package/dist/scatterplot/components/ChartsGroup.d.ts.map +1 -1
  93. package/dist/scatterplot/components/ChartsGroup.js +81 -73
  94. package/dist/scatterplot/components/ChartsGroup.js.map +1 -1
  95. package/dist/scatterplot/dots.d.ts +0 -2
  96. package/dist/scatterplot/dots.d.ts.map +1 -1
  97. package/dist/scatterplot/dots.js +26 -22
  98. package/dist/scatterplot/dots.js.map +1 -1
  99. package/dist/scatterplot-umap/ChartRenderer.d.ts +3 -1
  100. package/dist/scatterplot-umap/ChartRenderer.d.ts.map +1 -1
  101. package/dist/scatterplot-umap/ChartRenderer.js +159 -158
  102. package/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
  103. package/dist/scatterplot-umap/components/SVGLayer.d.ts.map +1 -1
  104. package/dist/scatterplot-umap/components/SVGLayer.js +32 -32
  105. package/dist/scatterplot-umap/components/SVGLayer.js.map +1 -1
  106. package/dist/scatterplot-umap/components/UpperSVG.d.ts +1 -1
  107. package/dist/scatterplot-umap/components/UpperSVG.d.ts.map +1 -1
  108. package/dist/scatterplot-umap/components/UpperSVG.js +18 -18
  109. package/dist/scatterplot-umap/components/UpperSVG.js.map +1 -1
  110. package/dist/scatterplot-umap/index.d.ts +2 -2
  111. package/dist/scatterplot-umap/index.d.ts.map +1 -1
  112. package/dist/scatterplot-umap/index.js +26 -25
  113. package/dist/scatterplot-umap/index.js.map +1 -1
  114. package/dist/utils/hooks/useFunction.d.ts +2 -0
  115. package/dist/utils/hooks/useFunction.d.ts.map +1 -0
  116. package/dist/utils/hooks/useFunction.js +9 -0
  117. package/dist/utils/hooks/useFunction.js.map +1 -0
  118. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PairedPointsElement.js","sources":["../../../../src/discrete/components/layers/PairedPointsElement.tsx"],"sourcesContent":["import type { TooltipsData} from '../../../common/Tooltip';\nimport {Tooltip} from '../../../common/Tooltip';\nimport type {ChartScales} from '../types';\nimport type {PairedPoints} from '../../layers';\nimport type {PairedPointsData} from '../../layers/types';\nimport type {AesItem, InheritAesDiscrete, Orientation, PointShape} from '../../../types';\nimport {getPointShape} from '../../../utils/getPointShape';\nimport {getLineShape} from '../../../utils/getLineShape';\nimport {numberFormat} from '../../../utils/numberFormat';\nimport React from 'react';\nimport {createPortal} from 'react-dom';\n\ninterface PairedPointsProps {\n facetKey: string;\n scales: ChartScales;\n geom: PairedPoints;\n orientation: Orientation;\n aes: PairedPointsData['aes'];\n sideDistances: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n showTooltips: boolean;\n tooltipsData: TooltipsData<unknown>;\n activeElementContainer?: Element;\n tooltipsContainer?: Element;\n}\n\nfunction getAesValue<ValueType>(\n scales: ChartScales,\n field: keyof AesItem,\n value: ValueType | InheritAesDiscrete,\n key: string\n): ValueType {\n if (value && typeof value === 'object' && 'type' in value) {\n if (value.type === 'primaryGrouping') {\n return scales.xPrimaryAes(key)[field] as ValueType;\n }\n if (value.type === 'secondaryGrouping') {\n return scales.xSecondaryAes(key)[field] as ValueType;\n }\n }\n return value as ValueType;\n}\n\nexport function PairedPointsElement({\n facetKey,\n scales,\n orientation,\n geom,\n aes,\n sideDistances,\n showTooltips,\n activeElementContainer,\n tooltipsContainer,\n tooltipsData,\n}: PairedPointsProps) {\n const isVertical = orientation === 'vertical';\n const lineColor = getAesValue(scales, 'lineColor', aes.lineColor, geom.id);\n const lineShape = getAesValue(scales, 'lineShape', aes.lineShape, geom.id);\n\n const fillColor1 = getAesValue(scales, 'fillColor', aes.dotFill, geom.key1);\n const dotShape1 = getAesValue(scales, 'dotShape', aes.dotShape, geom.key1);\n\n const fillColor2 = getAesValue(scales, 'fillColor', aes.dotFill, geom.key2);\n const dotShape2 = getAesValue(scales, 'dotShape', aes.dotShape, geom.key2);\n const shape1 = getPointShape(dotShape1 as PointShape, aes.dotSize, fillColor1);\n const shape2 = getPointShape(dotShape2 as PointShape, aes.dotSize, fillColor2);\n\n function getX(key: string) {\n if (geom.grouping === 'primary') {\n return (scales.xPrimary(key) ?? 0) + scales.xPrimary.bandwidth() / 2;\n }\n return (scales.xPrimary(geom.id) ?? 0) + (scales.xSecondary(key) ?? 0) + scales.xSecondary.bandwidth() / 2;\n }\n\n const dimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g opacity={aes.opacity}>\n {geom.pairs.map(pair => {\n const x1 = isVertical ? getX(geom.key1) : scales.y(pair.key1.value);\n const x2 = isVertical ? getX(geom.key2) : scales.y(pair.key2.value);\n const y1 = isVertical ? scales.y(pair.key1.value) : getX(geom.key1);\n const y2 = isVertical ? scales.y(pair.key2.value) : getX(geom.key2);\n const globalKey1 = `pairedPoints_${pair.id}_${pair.key1.id}`;\n const globalKey2 = `pairedPoints_${pair.id}_${pair.key2.id}`;\n const highlightedPoint1 = tooltipsData.currentFacet === facetKey && tooltipsData.selectedData === globalKey1 && dimmedBackground;\n const highlightedPoint2 = tooltipsData.currentFacet === facetKey && tooltipsData.selectedData === globalKey2 && dimmedBackground;\n\n const point1 = (\n <g transform={`translate(${x1},${y1})`}>\n {shape1}\n {showTooltips && tooltipsContainer && (\n <circle\n onMouseOver={() => tooltipsData.onMouseOver(globalKey1, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n r=\"15\"\n fill=\"transparent\"\n stroke=\"none\"\n />\n )}\n {showTooltips && (\n <Tooltip\n content={[pair.id, numberFormat(pair.key1.value)]}\n x={x1}\n y={y1}\n sideDistances={sideDistances}\n horizontal\n active={globalKey1 === tooltipsData.selectedData && tooltipsData.currentFacet === facetKey}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n const point2 = (\n <g transform={`translate(${x2},${y2})`}>\n {shape2}\n {showTooltips && tooltipsContainer && (\n <circle\n onMouseOver={() => tooltipsData.onMouseOver(globalKey2, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n r=\"15\"\n fill=\"transparent\"\n stroke=\"none\"\n />\n )}\n {showTooltips && (\n <Tooltip\n content={[pair.id, numberFormat(pair.key2.value)]}\n x={x2}\n y={y2}\n sideDistances={sideDistances}\n horizontal\n active={globalKey2 === tooltipsData.selectedData && tooltipsData.currentFacet === facetKey}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n return (\n <g key={pair.id}>\n <line\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n stroke={lineColor}\n strokeDasharray={getLineShape(lineShape)}\n strokeWidth={aes.lineWidth}\n fill=\"none\"\n />\n {highlightedPoint1 ? createPortal(point1, activeElementContainer) : point1}\n {highlightedPoint2 ? createPortal(point1, activeElementContainer) : point2}\n </g>\n );\n })}\n </g>\n );\n}\n"],"names":["getAesValue","scales","field","value","key","PairedPointsElement","facetKey","orientation","geom","aes","sideDistances","showTooltips","activeElementContainer","tooltipsContainer","tooltipsData","isVertical","lineColor","lineShape","fillColor1","dotShape1","fillColor2","dotShape2","shape1","getPointShape","shape2","getX","dimmedBackground","jsx","pair","x1","x2","y1","y2","globalKey1","globalKey2","highlightedPoint1","highlightedPoint2","point1","Tooltip","numberFormat","point2","getLineShape","createPortal"],"mappings":"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"}
1
+ {"version":3,"file":"PairedPointsElement.js","sources":["../../../../src/discrete/components/layers/PairedPointsElement.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../../common/Tooltip';\nimport { Tooltip } from '../../../common/Tooltip';\nimport type { AesItem, InheritAesDiscrete, Orientation, PointShape } from '../../../types';\nimport { getLineShape } from '../../../utils/getLineShape';\nimport { getPointShape } from '../../../utils/getPointShape';\nimport { numberFormat } from '../../../utils/numberFormat';\nimport type { PairedPoints } from '../../layers';\nimport type { PairedPointsData } from '../../layers/types';\nimport type { ChartScales } from '../types';\n\ninterface PairedPointsProps {\n facetKey: string;\n scales: ChartScales;\n geom: PairedPoints;\n orientation: Orientation;\n aes: PairedPointsData['aes'];\n sideDistances: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n showTooltips: boolean;\n tooltipsData: TooltipsData<unknown>;\n activeElementContainer?: Element;\n tooltipsContainer?: Element;\n}\n\nfunction getAesValue<ValueType>(\n scales: ChartScales,\n field: keyof AesItem,\n value: ValueType | InheritAesDiscrete,\n key: string\n): ValueType {\n if (value && typeof value === 'object' && 'type' in value) {\n if (value.type === 'primaryGrouping') {\n return scales.xPrimaryAes(key)[field] as ValueType;\n }\n if (value.type === 'secondaryGrouping') {\n return scales.xSecondaryAes(key)[field] as ValueType;\n }\n }\n return value as ValueType;\n}\n\nexport function PairedPointsElement({\n facetKey,\n scales,\n orientation,\n geom,\n aes,\n sideDistances,\n showTooltips,\n activeElementContainer,\n tooltipsContainer,\n tooltipsData,\n}: PairedPointsProps) {\n const isVertical = orientation === 'vertical';\n const lineColor = getAesValue(scales, 'lineColor', aes.lineColor, geom.id);\n const lineShape = getAesValue(scales, 'lineShape', aes.lineShape, geom.id);\n\n const fillColor1 = getAesValue(scales, 'fillColor', aes.dotFill, geom.key1);\n const dotShape1 = getAesValue(scales, 'dotShape', aes.dotShape, geom.key1);\n\n const fillColor2 = getAesValue(scales, 'fillColor', aes.dotFill, geom.key2);\n const dotShape2 = getAesValue(scales, 'dotShape', aes.dotShape, geom.key2);\n const shape1 = getPointShape(dotShape1 as PointShape, aes.dotSize, fillColor1);\n const shape2 = getPointShape(dotShape2 as PointShape, aes.dotSize, fillColor2);\n\n function getX(key: string) {\n if (geom.grouping === 'primary') {\n return (scales.xPrimary(key) ?? 0) + scales.xPrimary.bandwidth() / 2;\n }\n return (scales.xPrimary(geom.id) ?? 0) + (scales.xSecondary(key) ?? 0) + scales.xSecondary.bandwidth() / 2;\n }\n\n const dimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g opacity={aes.opacity}>\n {geom.pairs.map(pair => {\n const x1 = isVertical ? getX(geom.key1) : scales.y(pair.key1.value);\n const x2 = isVertical ? getX(geom.key2) : scales.y(pair.key2.value);\n const y1 = isVertical ? scales.y(pair.key1.value) : getX(geom.key1);\n const y2 = isVertical ? scales.y(pair.key2.value) : getX(geom.key2);\n const globalKey1 = `pairedPoints_${pair.id}_${pair.key1.id}`;\n const globalKey2 = `pairedPoints_${pair.id}_${pair.key2.id}`;\n const highlightedPoint1 = tooltipsData.currentFacet === facetKey && tooltipsData.selectedData === globalKey1 && dimmedBackground;\n const highlightedPoint2 = tooltipsData.currentFacet === facetKey && tooltipsData.selectedData === globalKey2 && dimmedBackground;\n\n const point1 = (\n <g transform={`translate(${x1},${y1})`}>\n {shape1}\n {showTooltips && tooltipsContainer && (\n <circle\n onMouseOver={() => tooltipsData.onMouseEnter(globalKey1, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n r=\"15\"\n fill=\"transparent\"\n stroke=\"none\"\n />\n )}\n {showTooltips && (\n <Tooltip\n content={[pair.id, numberFormat(pair.key1.value)]}\n x={x1}\n y={y1}\n sideDistances={sideDistances}\n horizontal\n active={globalKey1 === tooltipsData.selectedData && tooltipsData.currentFacet === facetKey}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n const point2 = (\n <g transform={`translate(${x2},${y2})`}>\n {shape2}\n {showTooltips && tooltipsContainer && (\n <circle\n onMouseOver={() => tooltipsData.onMouseEnter(globalKey2, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n r=\"15\"\n fill=\"transparent\"\n stroke=\"none\"\n />\n )}\n {showTooltips && (\n <Tooltip\n content={[pair.id, numberFormat(pair.key2.value)]}\n x={x2}\n y={y2}\n sideDistances={sideDistances}\n horizontal\n active={globalKey2 === tooltipsData.selectedData && tooltipsData.currentFacet === facetKey}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n return (\n <g key={pair.id}>\n <line\n x1={x1}\n y1={y1}\n x2={x2}\n y2={y2}\n stroke={lineColor}\n strokeDasharray={getLineShape(lineShape)}\n strokeWidth={aes.lineWidth}\n fill=\"none\"\n />\n {highlightedPoint1 ? createPortal(point1, activeElementContainer) : point1}\n {highlightedPoint2 ? createPortal(point1, activeElementContainer) : point2}\n </g>\n );\n })}\n </g>\n );\n}\n"],"names":["getAesValue","scales","field","value","key","PairedPointsElement","facetKey","orientation","geom","aes","sideDistances","showTooltips","activeElementContainer","tooltipsContainer","tooltipsData","isVertical","lineColor","lineShape","fillColor1","dotShape1","fillColor2","dotShape2","shape1","getPointShape","shape2","getX","dimmedBackground","jsx","pair","x1","x2","y1","y2","globalKey1","globalKey2","highlightedPoint1","highlightedPoint2","point1","Tooltip","numberFormat","point2","getLineShape","createPortal"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { TooltipsData } from '../../../common/Tooltip';
2
- import { ChartScales } from '../types';
3
- import { StackedBar } from '../../layers';
4
- import { StackedBarLayer } from '../../DiscreteSettingsImpl';
5
2
  import { GroupingData, Orientation } from '../../../types';
3
+ import { StackedBarLayer } from '../../DiscreteSettingsImpl';
4
+ import { StackedBar } from '../../layers';
5
+ import { ChartScales } from '../types';
6
6
  interface StackedBarProps {
7
7
  facetKey: string;
8
8
  scales: ChartScales;
@@ -1 +1 @@
1
- {"version":3,"file":"StackedBarElement.d.ts","sourceRoot":"","sources":["../../../../src/discrete/components/layers/StackedBarElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAA8B,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAK7E,UAAU,eAAe;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD,wBAAgB,iBAAiB,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,IAAI,EACJ,GAAG,EACH,aAAa,EACb,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,GACf,EAAE,eAAe,2CAuEjB"}
1
+ {"version":3,"file":"StackedBarElement.d.ts","sourceRoot":"","sources":["../../../../src/discrete/components/layers/StackedBarElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAW,YAAY,EAAsB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,UAAU,eAAe;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA0BD,wBAAgB,iBAAiB,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,IAAI,EACJ,GAAG,EACH,aAAa,EACb,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,GACf,EAAE,eAAe,2CAuEjB"}
@@ -1,7 +1,7 @@
1
1
  import { j as f } from "../../../node_modules/react/jsx-runtime.js";
2
- import { Tooltip as F } from "../../../common/Tooltip.js";
2
+ import { r as F } from "../../../node_modules/react-dom/index.js";
3
+ import { Tooltip as H } from "../../../common/Tooltip.js";
3
4
  import { numberFormat as O } from "../../../utils/numberFormat.js";
4
- import { r as H } from "../../../node_modules/react-dom/index.js";
5
5
  function P(c, r, n, t, o) {
6
6
  if (n && typeof n == "object" && "type" in n) {
7
7
  if (n.type === "primaryGrouping")
@@ -22,12 +22,12 @@ function X({
22
22
  geom: t,
23
23
  aes: o,
24
24
  sideDistances: x,
25
- showTooltips: v,
26
- elementsAmount: G,
27
- normalize: S,
25
+ showTooltips: G,
26
+ elementsAmount: S,
27
+ normalize: v,
28
28
  secondaryGrouping: w,
29
29
  activeElementContainer: g,
30
- tooltipsContainer: L,
30
+ tooltipsContainer: E,
31
31
  tooltipsData: e
32
32
  }) {
33
33
  const u = n === "vertical", h = r.xPrimary.bandwidth(), a = (r.xPrimary(t.primaryGrouping) ?? 0) + h / 2, d = o.width === "auto" ? h * 0.8 : Math.min(h, o.width), M = r.xSecondary.domain().reverse(), b = {};
@@ -41,38 +41,38 @@ function X({
41
41
  y2: m + p
42
42
  }, m += p;
43
43
  });
44
- const V = g && e.fixed;
44
+ const L = g && e.fixed;
45
45
  return /* @__PURE__ */ f.jsx("g", { opacity: o.opacity, strokeWidth: o.lineWidth, children: M.map((i) => {
46
46
  if (!t.valuesMap[i])
47
47
  return null;
48
- const { y1: p, y2: W } = b[i], s = r.y(p), l = r.y(W), C = Math.abs(s - l), A = P(r, "lineColor", o.lineColor, t.primaryGrouping, i), B = P(r, "fillColor", o.fillColor, t.primaryGrouping, i), y = `stackedBar_${String(t.primaryGrouping)}_${String(i)}`, j = /* @__PURE__ */ f.jsx(
48
+ const { y1: p, y2: V } = b[i], s = r.y(p), l = r.y(V), C = Math.abs(s - l), W = P(r, "lineColor", o.lineColor, t.primaryGrouping, i), A = P(r, "fillColor", o.fillColor, t.primaryGrouping, i), y = `stackedBar_${String(t.primaryGrouping)}_${String(i)}`, j = /* @__PURE__ */ f.jsx(
49
49
  "rect",
50
50
  {
51
51
  width: u ? d : C,
52
52
  height: u ? C : d,
53
53
  x: u ? a - d / 2 : Math.min(s, l),
54
54
  y: u ? Math.min(s, l) : a - d / 2,
55
- fill: B,
56
- stroke: A,
57
- onMouseOver: () => e.onMouseOver(y, c),
55
+ fill: A,
56
+ stroke: W,
57
+ onMouseOver: () => e.onMouseEnter(y, c),
58
58
  onMouseLeave: () => e.onMouseLeave()
59
59
  }
60
- ), E = e.selectedData === y && c === e.currentFacet && V;
60
+ ), B = e.selectedData === y && c === e.currentFacet && L;
61
61
  return /* @__PURE__ */ f.jsxs("g", { children: [
62
- E ? H.createPortal(j, g) : j,
63
- v && /* @__PURE__ */ f.jsx(
64
- F,
62
+ B ? F.createPortal(j, g) : j,
63
+ G && /* @__PURE__ */ f.jsx(
64
+ H,
65
65
  {
66
- content: T(w, t, i, S),
66
+ content: T(w, t, i, v),
67
67
  x: u ? a : (s + l) / 2,
68
68
  y: u ? (s + l) / 2 : a,
69
69
  sideDistances: x,
70
70
  horizontal: u,
71
- offset: G > 1 ? h / 2 : h / 4,
71
+ offset: S > 1 ? h / 2 : h / 4,
72
72
  active: y === e.selectedData && c === e.currentFacet,
73
73
  fixed: e.fixed,
74
74
  onClose: e.onClose,
75
- container: L
75
+ container: E
76
76
  }
77
77
  )
78
78
  ] }, i);
@@ -1 +1 @@
1
- {"version":3,"file":"StackedBarElement.js","sources":["../../../../src/discrete/components/layers/StackedBarElement.tsx"],"sourcesContent":["import type { TooltipsData} from '../../../common/Tooltip';\nimport {Tooltip} from '../../../common/Tooltip';\nimport type {ChartScales} from '../types';\nimport type {StackedBar} from '../../layers';\nimport type {StackedBarLayer} from '../../DiscreteSettingsImpl';\nimport type {GroupingData} from '../../../types';\nimport type {AesItem, InheritAesDiscrete, Orientation} from '../../../types';\nimport React from 'react';\nimport {numberFormat} from '../../../utils/numberFormat';\nimport {createPortal} from 'react-dom';\n\ninterface StackedBarProps {\n facetKey: string;\n scales: ChartScales;\n geom: StackedBar;\n orientation: Orientation;\n aes: StackedBarLayer['aes'];\n normalize: boolean;\n sideDistances: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n showTooltips: boolean;\n elementsAmount: number;\n secondaryGrouping: GroupingData;\n tooltipsData: TooltipsData<unknown>;\n activeElementContainer?: Element;\n tooltipsContainer?: Element;\n}\n\nfunction getAesValue<ValueType>(\n scales: ChartScales,\n field: keyof AesItem,\n value: ValueType | InheritAesDiscrete,\n primaryGrouping: string,\n secondaryGrouping: string\n): ValueType {\n if (value && typeof value === 'object' && 'type' in value) {\n if (value.type === 'primaryGrouping') {\n return scales.xPrimaryAes(primaryGrouping)[field] as ValueType;\n }\n if (value.type === 'secondaryGrouping') {\n return scales.xSecondaryAes(secondaryGrouping)[field] as ValueType;\n }\n }\n return value as ValueType;\n}\n\nfunction getTooltipContent(secondaryGrouping:GroupingData, geom:StackedBar, secondaryKey: string, normalize:boolean) {\n const keyLabel = secondaryGrouping.valueLabels[secondaryKey];\n const heightValue = numberFormat(geom.valuesMap[secondaryKey].height) + (normalize ? '%' : '');\n return keyLabel ? [keyLabel, heightValue] : [heightValue];\n}\n\nexport function StackedBarElement({\n facetKey,\n scales,\n orientation,\n geom,\n aes,\n sideDistances,\n showTooltips,\n elementsAmount,\n normalize,\n secondaryGrouping,\n activeElementContainer,\n tooltipsContainer,\n tooltipsData,\n}: StackedBarProps) {\n const isVertical = orientation === 'vertical';\n const boxOuterWidth = scales.xPrimary.bandwidth();\n const boxXPosition = (scales.xPrimary(geom.primaryGrouping) ?? 0) + boxOuterWidth / 2;\n const boxWidth = aes.width === 'auto' ? boxOuterWidth * 0.8 : Math.min(boxOuterWidth, aes.width);\n const secondaryKeys = scales.xSecondary.domain().reverse();\n const yValues:Record<string, {y1: number, y2: number}> = {};\n let currentHeight = 0;\n secondaryKeys.forEach(secondaryKey => {\n if (!geom.valuesMap[secondaryKey]) {\n return;\n }\n const height = geom.valuesMap[secondaryKey].height;\n yValues[secondaryKey] = {\n y1: currentHeight,\n y2: currentHeight + height,\n };\n currentHeight += height;\n });\n\n const dimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g opacity={aes.opacity} strokeWidth={aes.lineWidth}>\n {secondaryKeys.map(key => {\n if (!geom.valuesMap[key]) {\n return null;\n }\n const {y1, y2} = yValues[key];\n const y1Px = scales.y(y1);\n const y2Px = scales.y(y2);\n const boxHeight = Math.abs(y1Px - y2Px);\n const lineColor = getAesValue(scales, 'lineColor', aes.lineColor, geom.primaryGrouping, key);\n const fillColor = getAesValue(scales, 'fillColor', aes.fillColor, geom.primaryGrouping, key);\n const globalKey = `stackedBar_${String(geom.primaryGrouping)}_${String(key)}`;\n\n const section = (\n <rect\n width={isVertical ? boxWidth : boxHeight}\n height={isVertical ? boxHeight : boxWidth}\n x={isVertical ? boxXPosition - boxWidth / 2 : Math.min(y1Px, y2Px)}\n y={isVertical ? Math.min(y1Px, y2Px) : boxXPosition - boxWidth / 2}\n fill={fillColor}\n stroke={lineColor}\n onMouseOver={() => tooltipsData.onMouseOver(globalKey, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n );\n const highlightedSection = tooltipsData.selectedData === globalKey && facetKey === tooltipsData.currentFacet && dimmedBackground;\n return (\n <g key={key}>\n {highlightedSection ? createPortal(section, activeElementContainer) : section}\n {showTooltips && (\n <Tooltip\n content={getTooltipContent(secondaryGrouping, geom, key, normalize)}\n x={isVertical ? boxXPosition : (y1Px + y2Px) / 2}\n y={isVertical ? (y1Px + y2Px) / 2 : boxXPosition}\n sideDistances={sideDistances}\n horizontal={isVertical}\n offset={elementsAmount > 1 ? boxOuterWidth / 2 : boxOuterWidth / 4}\n active={globalKey === tooltipsData.selectedData && facetKey === tooltipsData.currentFacet}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n })}\n </g>\n );\n}\n"],"names":["getAesValue","scales","field","value","primaryGrouping","secondaryGrouping","getTooltipContent","geom","secondaryKey","normalize","keyLabel","heightValue","numberFormat","StackedBarElement","facetKey","orientation","aes","sideDistances","showTooltips","elementsAmount","activeElementContainer","tooltipsContainer","tooltipsData","isVertical","boxOuterWidth","boxXPosition","boxWidth","secondaryKeys","yValues","currentHeight","height","dimmedBackground","jsx","key","y1","y2","y1Px","y2Px","boxHeight","lineColor","fillColor","globalKey","section","highlightedSection","createPortal","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"StackedBarElement.js","sources":["../../../../src/discrete/components/layers/StackedBarElement.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../../common/Tooltip';\nimport { Tooltip } from '../../../common/Tooltip';\nimport type { AesItem, GroupingData, InheritAesDiscrete, Orientation } from '../../../types';\nimport { numberFormat } from '../../../utils/numberFormat';\nimport type { StackedBarLayer } from '../../DiscreteSettingsImpl';\nimport type { StackedBar } from '../../layers';\nimport type { ChartScales } from '../types';\n\ninterface StackedBarProps {\n facetKey: string;\n scales: ChartScales;\n geom: StackedBar;\n orientation: Orientation;\n aes: StackedBarLayer['aes'];\n normalize: boolean;\n sideDistances: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n showTooltips: boolean;\n elementsAmount: number;\n secondaryGrouping: GroupingData;\n tooltipsData: TooltipsData<unknown>;\n activeElementContainer?: Element;\n tooltipsContainer?: Element;\n}\n\nfunction getAesValue<ValueType>(\n scales: ChartScales,\n field: keyof AesItem,\n value: ValueType | InheritAesDiscrete,\n primaryGrouping: string,\n secondaryGrouping: string\n): ValueType {\n if (value && typeof value === 'object' && 'type' in value) {\n if (value.type === 'primaryGrouping') {\n return scales.xPrimaryAes(primaryGrouping)[field] as ValueType;\n }\n if (value.type === 'secondaryGrouping') {\n return scales.xSecondaryAes(secondaryGrouping)[field] as ValueType;\n }\n }\n return value as ValueType;\n}\n\nfunction getTooltipContent(secondaryGrouping:GroupingData, geom:StackedBar, secondaryKey: string, normalize:boolean) {\n const keyLabel = secondaryGrouping.valueLabels[secondaryKey];\n const heightValue = numberFormat(geom.valuesMap[secondaryKey].height) + (normalize ? '%' : '');\n return keyLabel ? [keyLabel, heightValue] : [heightValue];\n}\n\nexport function StackedBarElement({\n facetKey,\n scales,\n orientation,\n geom,\n aes,\n sideDistances,\n showTooltips,\n elementsAmount,\n normalize,\n secondaryGrouping,\n activeElementContainer,\n tooltipsContainer,\n tooltipsData,\n}: StackedBarProps) {\n const isVertical = orientation === 'vertical';\n const boxOuterWidth = scales.xPrimary.bandwidth();\n const boxXPosition = (scales.xPrimary(geom.primaryGrouping) ?? 0) + boxOuterWidth / 2;\n const boxWidth = aes.width === 'auto' ? boxOuterWidth * 0.8 : Math.min(boxOuterWidth, aes.width);\n const secondaryKeys = scales.xSecondary.domain().reverse();\n const yValues:Record<string, {y1: number, y2: number}> = {};\n let currentHeight = 0;\n secondaryKeys.forEach(secondaryKey => {\n if (!geom.valuesMap[secondaryKey]) {\n return;\n }\n const height = geom.valuesMap[secondaryKey].height;\n yValues[secondaryKey] = {\n y1: currentHeight,\n y2: currentHeight + height,\n };\n currentHeight += height;\n });\n\n const dimmedBackground = activeElementContainer && tooltipsData.fixed;\n\n return (\n <g opacity={aes.opacity} strokeWidth={aes.lineWidth}>\n {secondaryKeys.map(key => {\n if (!geom.valuesMap[key]) {\n return null;\n }\n const {y1, y2} = yValues[key];\n const y1Px = scales.y(y1);\n const y2Px = scales.y(y2);\n const boxHeight = Math.abs(y1Px - y2Px);\n const lineColor = getAesValue(scales, 'lineColor', aes.lineColor, geom.primaryGrouping, key);\n const fillColor = getAesValue(scales, 'fillColor', aes.fillColor, geom.primaryGrouping, key);\n const globalKey = `stackedBar_${String(geom.primaryGrouping)}_${String(key)}`;\n\n const section = (\n <rect\n width={isVertical ? boxWidth : boxHeight}\n height={isVertical ? boxHeight : boxWidth}\n x={isVertical ? boxXPosition - boxWidth / 2 : Math.min(y1Px, y2Px)}\n y={isVertical ? Math.min(y1Px, y2Px) : boxXPosition - boxWidth / 2}\n fill={fillColor}\n stroke={lineColor}\n onMouseOver={() => tooltipsData.onMouseEnter(globalKey, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n );\n const highlightedSection = tooltipsData.selectedData === globalKey && facetKey === tooltipsData.currentFacet && dimmedBackground;\n return (\n <g key={key}>\n {highlightedSection ? createPortal(section, activeElementContainer) : section}\n {showTooltips && (\n <Tooltip\n content={getTooltipContent(secondaryGrouping, geom, key, normalize)}\n x={isVertical ? boxXPosition : (y1Px + y2Px) / 2}\n y={isVertical ? (y1Px + y2Px) / 2 : boxXPosition}\n sideDistances={sideDistances}\n horizontal={isVertical}\n offset={elementsAmount > 1 ? boxOuterWidth / 2 : boxOuterWidth / 4}\n active={globalKey === tooltipsData.selectedData && facetKey === tooltipsData.currentFacet}\n fixed={tooltipsData.fixed}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n })}\n </g>\n );\n}\n"],"names":["getAesValue","scales","field","value","primaryGrouping","secondaryGrouping","getTooltipContent","geom","secondaryKey","normalize","keyLabel","heightValue","numberFormat","StackedBarElement","facetKey","orientation","aes","sideDistances","showTooltips","elementsAmount","activeElementContainer","tooltipsContainer","tooltipsData","isVertical","boxOuterWidth","boxXPosition","boxWidth","secondaryKeys","yValues","currentHeight","height","dimmedBackground","jsx","key","y1","y2","y1Px","y2Px","boxHeight","lineColor","fillColor","globalKey","section","highlightedSection","createPortal","Tooltip"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { ChartScales } from '../types';
2
- import { Violin } from '../../layers';
3
- import { ViolinLayer } from '../../DiscreteSettingsImpl';
4
- import { Orientation } from '../../../types';
5
1
  import { TooltipsData } from '../../../common/Tooltip';
2
+ import { Orientation } from '../../../types';
3
+ import { ViolinLayer } from '../../DiscreteSettingsImpl';
4
+ import { Violin } from '../../layers';
5
+ import { ChartScales } from '../types';
6
6
  interface ViolinProps {
7
7
  facetKey: string;
8
8
  scales: ChartScales;
@@ -1 +1 @@
1
- {"version":3,"file":"ViolinElement.d.ts","sourceRoot":"","sources":["../../../../src/discrete/components/layers/ViolinElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAI3D,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAmBD,wBAAgB,aAAa,CAAC,EAC1B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,MAAM,EACN,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,GACf,EAAE,WAAW,2CA0Fb"}
1
+ {"version":3,"file":"ViolinElement.d.ts","sourceRoot":"","sources":["../../../../src/discrete/components/layers/ViolinElement.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAA+B,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAmBD,wBAAgB,aAAa,CAAC,EAC1B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,MAAM,EACN,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,GACf,EAAE,WAAW,2CA0Fb"}
@@ -1,8 +1,8 @@
1
1
  import { j as o } from "../../../node_modules/react/jsx-runtime.js";
2
+ import { r as G } from "../../../node_modules/react-dom/index.js";
3
+ import { Tooltip as P } from "../../../common/Tooltip.js";
2
4
  import { getLineShape as h } from "../../../utils/getLineShape.js";
3
5
  import { numberFormat as x } from "../../../utils/numberFormat.js";
4
- import { Tooltip as G } from "../../../common/Tooltip.js";
5
- import { r as P } from "../../../node_modules/react-dom/index.js";
6
6
  function l(q, t, i, r) {
7
7
  if (i && typeof i == "object" && "type" in i) {
8
8
  if (i.type === "primaryGrouping")
@@ -12,7 +12,7 @@ function l(q, t, i, r) {
12
12
  }
13
13
  return i;
14
14
  }
15
- function Q({
15
+ function V({
16
16
  facetKey: q,
17
17
  scales: t,
18
18
  orientation: i,
@@ -74,7 +74,7 @@ function Q({
74
74
  p && g && /* @__PURE__ */ o.jsx(
75
75
  "rect",
76
76
  {
77
- onMouseOver: () => u.onMouseOver(r, q),
77
+ onMouseOver: () => u.onMouseEnter(r, q),
78
78
  onMouseLeave: u.onMouseLeave,
79
79
  width: e ? d : j,
80
80
  x: e ? -d / 2 : 0,
@@ -85,7 +85,7 @@ function Q({
85
85
  }
86
86
  ),
87
87
  p && /* @__PURE__ */ o.jsx(
88
- G,
88
+ P,
89
89
  {
90
90
  content: [
91
91
  `Quartile 3 = ${x(r.quartiles.q3)}`,
@@ -106,9 +106,9 @@ function Q({
106
106
  ]
107
107
  }
108
108
  );
109
- return C ? P.createPortal(k, f) : k;
109
+ return C ? G.createPortal(k, f) : k;
110
110
  }
111
111
  export {
112
- Q as ViolinElement
112
+ V as ViolinElement
113
113
  };
114
114
  //# sourceMappingURL=ViolinElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViolinElement.js","sources":["../../../../src/discrete/components/layers/ViolinElement.tsx"],"sourcesContent":["import type {ChartScales} from '../types';\nimport type {Violin} from '../../layers';\nimport type {ViolinLayer} from '../../DiscreteSettingsImpl';\nimport type {AesItem, InheritAesDiscrete} from '../../../types';\nimport type {Orientation} from '../../../types';\nimport {getLineShape} from '../../../utils/getLineShape';\nimport React from 'react';\nimport {numberFormat} from '../../../utils/numberFormat';\nimport type { TooltipsData} from '../../../common/Tooltip';\nimport {Tooltip} from '../../../common/Tooltip';\nimport {createPortal} from 'react-dom';\n\ninterface ViolinProps {\n facetKey: string;\n scales: ChartScales;\n violin: Violin;\n orientation: Orientation;\n aes: ViolinLayer['aes'];\n maxViolinDensity: number;\n sideDistances: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n showTooltips: boolean;\n elementsAmount: number;\n tooltipsData: TooltipsData<unknown>;\n activeElementContainer?: Element;\n tooltipsContainer?: Element;\n}\n\nfunction getAesValue<ValueType>(\n scales: ChartScales,\n field: keyof AesItem,\n value: ValueType | InheritAesDiscrete,\n geom: Violin\n): ValueType {\n if (value && typeof value === 'object' && 'type' in value) {\n if (value.type === 'primaryGrouping') {\n return scales.xPrimaryAes(geom.primaryGrouping)[field] as ValueType;\n }\n if (value.type === 'secondaryGrouping') {\n return scales.xSecondaryAes(geom.secondaryGrouping)[field] as ValueType;\n }\n }\n return value as ValueType;\n}\n\nexport function ViolinElement({\n facetKey,\n scales,\n orientation,\n violin,\n aes,\n maxViolinDensity,\n showTooltips,\n sideDistances,\n elementsAmount,\n activeElementContainer,\n tooltipsContainer,\n tooltipsData,\n}: ViolinProps) {\n const isVertical = orientation === 'vertical';\n const xPosition =\n (scales.xPrimary(violin.primaryGrouping) ?? 0) +\n (scales.xSecondary(violin.secondaryGrouping) ?? 0) +\n scales.xSecondary.bandwidth() / 2;\n const violinOuterWidth = scales.xSecondary.bandwidth();\n const width = aes.width === 'auto' ? violinOuterWidth * 0.8 : Math.min(violinOuterWidth, aes.width);\n const lineColor = getAesValue(scales, 'lineColor', aes.lineColor, violin);\n const fillColor = getAesValue(scales, 'fillColor', aes.fillColor, violin);\n const area = violin.getArea(orientation, scales.y, width, maxViolinDensity) ?? '';\n const line = violin.getLine(orientation, scales.y, width, maxViolinDensity) ?? '';\n\n const yRange = Math.abs(scales.y.range()[0] - scales.y.range()[1]);\n\n const dimmedBackground = activeElementContainer && tooltipsData.fixed;\n const highlightedViolin = tooltipsData.selectedData === violin && dimmedBackground;\n\n const violinElement = (\n <g\n transform={isVertical ? `translate(${xPosition},0)` : `translate(0, ${xPosition})`}\n opacity={aes.opacity}\n stroke={lineColor}\n fill={fillColor}\n strokeWidth={aes.lineWidth}\n strokeDasharray={getLineShape(aes.lineShape)}\n >\n <clipPath id={`violin_${violin.key}`}>\n <path d={area} />\n </clipPath>\n <path d={area} stroke=\"none\" />\n {aes.showQuartiles && (\n <g clipPath={`url(#violin_${violin.key})`} strokeWidth={aes.lineWidth} stroke={lineColor}>\n <line\n x1={isVertical ? -width / 2 : scales.y(violin.quartiles.q1)}\n x2={isVertical ? width / 2 : scales.y(violin.quartiles.q1)}\n y1={isVertical ? scales.y(violin.quartiles.q1) : -width / 2}\n y2={isVertical ? scales.y(violin.quartiles.q1) : width / 2}\n strokeDasharray={getLineShape(aes.quartilesLineStyle)}\n />\n <line\n x1={isVertical ? -width / 2 : scales.y(violin.quartiles.q2)}\n x2={isVertical ? width / 2 : scales.y(violin.quartiles.q2)}\n y1={isVertical ? scales.y(violin.quartiles.q2) : -width / 2}\n y2={isVertical ? scales.y(violin.quartiles.q2) : width / 2}\n strokeDasharray={getLineShape(aes.medianLineStyle)}\n />\n <line\n x1={isVertical ? -width / 2 : scales.y(violin.quartiles.q3)}\n x2={isVertical ? width / 2 : scales.y(violin.quartiles.q3)}\n y1={isVertical ? scales.y(violin.quartiles.q3) : -width / 2}\n y2={isVertical ? scales.y(violin.quartiles.q3) : width / 2}\n strokeDasharray={getLineShape(aes.quartilesLineStyle)}\n />\n </g>\n )}\n <path d={line} fill=\"none\" />\n {showTooltips && tooltipsContainer && (\n <rect\n onMouseOver={() => tooltipsData.onMouseOver(violin, facetKey)}\n onMouseLeave={tooltipsData.onMouseLeave}\n width={isVertical ? violinOuterWidth : yRange}\n x={isVertical ? -violinOuterWidth / 2 : 0}\n y={isVertical ? 0 : -violinOuterWidth / 2}\n height={isVertical ? yRange : violinOuterWidth}\n fill=\"transparent\"\n stroke=\"none\"\n />\n )}\n {showTooltips && (\n <Tooltip\n content={[\n `Quartile 3 = ${numberFormat(violin.quartiles.q3)}`,\n `Median = ${numberFormat(violin.quartiles.q2)}`,\n `Quartile 1 = ${numberFormat(violin.quartiles.q1)}`,\n ]}\n x={isVertical ? xPosition : scales.y(violin.quartiles.q2)}\n y={isVertical ? scales.y(violin.quartiles.q2) : xPosition}\n sideDistances={sideDistances}\n horizontal={isVertical}\n active={tooltipsData.active && tooltipsData.selectedData === violin && tooltipsData.currentFacet === facetKey}\n fixed={tooltipsData.fixed}\n offset={elementsAmount > 1 ? width / 2 : width / 4}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n return highlightedViolin ? createPortal(violinElement, activeElementContainer) : violinElement;\n}\n"],"names":["getAesValue","scales","field","value","geom","ViolinElement","facetKey","orientation","violin","aes","maxViolinDensity","showTooltips","sideDistances","elementsAmount","activeElementContainer","tooltipsContainer","tooltipsData","isVertical","xPosition","violinOuterWidth","width","lineColor","fillColor","area","line","yRange","dimmedBackground","highlightedViolin","violinElement","jsxs","getLineShape","jsx","Tooltip","numberFormat","createPortal"],"mappings":"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"}
1
+ {"version":3,"file":"ViolinElement.js","sources":["../../../../src/discrete/components/layers/ViolinElement.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../../common/Tooltip';\nimport { Tooltip } from '../../../common/Tooltip';\nimport type { AesItem, InheritAesDiscrete, Orientation } from '../../../types';\nimport { getLineShape } from '../../../utils/getLineShape';\nimport { numberFormat } from '../../../utils/numberFormat';\nimport type { ViolinLayer } from '../../DiscreteSettingsImpl';\nimport type { Violin } from '../../layers';\nimport type { ChartScales } from '../types';\n\ninterface ViolinProps {\n facetKey: string;\n scales: ChartScales;\n violin: Violin;\n orientation: Orientation;\n aes: ViolinLayer['aes'];\n maxViolinDensity: number;\n sideDistances: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n showTooltips: boolean;\n elementsAmount: number;\n tooltipsData: TooltipsData<unknown>;\n activeElementContainer?: Element;\n tooltipsContainer?: Element;\n}\n\nfunction getAesValue<ValueType>(\n scales: ChartScales,\n field: keyof AesItem,\n value: ValueType | InheritAesDiscrete,\n geom: Violin\n): ValueType {\n if (value && typeof value === 'object' && 'type' in value) {\n if (value.type === 'primaryGrouping') {\n return scales.xPrimaryAes(geom.primaryGrouping)[field] as ValueType;\n }\n if (value.type === 'secondaryGrouping') {\n return scales.xSecondaryAes(geom.secondaryGrouping)[field] as ValueType;\n }\n }\n return value as ValueType;\n}\n\nexport function ViolinElement({\n facetKey,\n scales,\n orientation,\n violin,\n aes,\n maxViolinDensity,\n showTooltips,\n sideDistances,\n elementsAmount,\n activeElementContainer,\n tooltipsContainer,\n tooltipsData,\n}: ViolinProps) {\n const isVertical = orientation === 'vertical';\n const xPosition =\n (scales.xPrimary(violin.primaryGrouping) ?? 0) +\n (scales.xSecondary(violin.secondaryGrouping) ?? 0) +\n scales.xSecondary.bandwidth() / 2;\n const violinOuterWidth = scales.xSecondary.bandwidth();\n const width = aes.width === 'auto' ? violinOuterWidth * 0.8 : Math.min(violinOuterWidth, aes.width);\n const lineColor = getAesValue(scales, 'lineColor', aes.lineColor, violin);\n const fillColor = getAesValue(scales, 'fillColor', aes.fillColor, violin);\n const area = violin.getArea(orientation, scales.y, width, maxViolinDensity) ?? '';\n const line = violin.getLine(orientation, scales.y, width, maxViolinDensity) ?? '';\n\n const yRange = Math.abs(scales.y.range()[0] - scales.y.range()[1]);\n\n const dimmedBackground = activeElementContainer && tooltipsData.fixed;\n const highlightedViolin = tooltipsData.selectedData === violin && dimmedBackground;\n\n const violinElement = (\n <g\n transform={isVertical ? `translate(${xPosition},0)` : `translate(0, ${xPosition})`}\n opacity={aes.opacity}\n stroke={lineColor}\n fill={fillColor}\n strokeWidth={aes.lineWidth}\n strokeDasharray={getLineShape(aes.lineShape)}\n >\n <clipPath id={`violin_${violin.key}`}>\n <path d={area} />\n </clipPath>\n <path d={area} stroke=\"none\" />\n {aes.showQuartiles && (\n <g clipPath={`url(#violin_${violin.key})`} strokeWidth={aes.lineWidth} stroke={lineColor}>\n <line\n x1={isVertical ? -width / 2 : scales.y(violin.quartiles.q1)}\n x2={isVertical ? width / 2 : scales.y(violin.quartiles.q1)}\n y1={isVertical ? scales.y(violin.quartiles.q1) : -width / 2}\n y2={isVertical ? scales.y(violin.quartiles.q1) : width / 2}\n strokeDasharray={getLineShape(aes.quartilesLineStyle)}\n />\n <line\n x1={isVertical ? -width / 2 : scales.y(violin.quartiles.q2)}\n x2={isVertical ? width / 2 : scales.y(violin.quartiles.q2)}\n y1={isVertical ? scales.y(violin.quartiles.q2) : -width / 2}\n y2={isVertical ? scales.y(violin.quartiles.q2) : width / 2}\n strokeDasharray={getLineShape(aes.medianLineStyle)}\n />\n <line\n x1={isVertical ? -width / 2 : scales.y(violin.quartiles.q3)}\n x2={isVertical ? width / 2 : scales.y(violin.quartiles.q3)}\n y1={isVertical ? scales.y(violin.quartiles.q3) : -width / 2}\n y2={isVertical ? scales.y(violin.quartiles.q3) : width / 2}\n strokeDasharray={getLineShape(aes.quartilesLineStyle)}\n />\n </g>\n )}\n <path d={line} fill=\"none\" />\n {showTooltips && tooltipsContainer && (\n <rect\n onMouseOver={() => tooltipsData.onMouseEnter(violin, facetKey)}\n onMouseLeave={tooltipsData.onMouseLeave}\n width={isVertical ? violinOuterWidth : yRange}\n x={isVertical ? -violinOuterWidth / 2 : 0}\n y={isVertical ? 0 : -violinOuterWidth / 2}\n height={isVertical ? yRange : violinOuterWidth}\n fill=\"transparent\"\n stroke=\"none\"\n />\n )}\n {showTooltips && (\n <Tooltip\n content={[\n `Quartile 3 = ${numberFormat(violin.quartiles.q3)}`,\n `Median = ${numberFormat(violin.quartiles.q2)}`,\n `Quartile 1 = ${numberFormat(violin.quartiles.q1)}`,\n ]}\n x={isVertical ? xPosition : scales.y(violin.quartiles.q2)}\n y={isVertical ? scales.y(violin.quartiles.q2) : xPosition}\n sideDistances={sideDistances}\n horizontal={isVertical}\n active={tooltipsData.active && tooltipsData.selectedData === violin && tooltipsData.currentFacet === facetKey}\n fixed={tooltipsData.fixed}\n offset={elementsAmount > 1 ? width / 2 : width / 4}\n onClose={tooltipsData.onClose}\n container={tooltipsContainer}\n />\n )}\n </g>\n );\n return highlightedViolin ? createPortal(violinElement, activeElementContainer) : violinElement;\n}\n"],"names":["getAesValue","scales","field","value","geom","ViolinElement","facetKey","orientation","violin","aes","maxViolinDensity","showTooltips","sideDistances","elementsAmount","activeElementContainer","tooltipsContainer","tooltipsData","isVertical","xPosition","violinOuterWidth","width","lineColor","fillColor","area","line","yRange","dimmedBackground","highlightedViolin","violinElement","jsxs","getLineShape","jsx","Tooltip","numberFormat","createPortal"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { TooltipsData } from '../../../common/Tooltip';
2
- import { AnnotationColorScales, AnnotationTooltipData, ChartScales } from '../types';
2
+ import { DataValue } from '../../../types';
3
3
  import { Cell, GroupedCellsData } from '../../getCells';
4
4
  import { HeatmapSettingsImpl } from '../../HeatmapSettingsImpl';
5
- import { DataValue } from '../../../types';
5
+ import { AnnotationColorScales, AnnotationTooltipData, ChartScales } from '../types';
6
6
  interface AnnotationProps {
7
7
  facetKey: string;
8
8
  scales: ChartScales;
@@ -1 +1 @@
1
- {"version":3,"file":"Annotation.d.ts","sourceRoot":"","sources":["../../../../src/heatmap/components/Annotations/Annotation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAC,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAuB9C,UAAU,eAAe;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1C,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,KAAK,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;IACrD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,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,YAAY,EAAE,YAAY,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC;IACzD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAMD,wBAAgB,UAAU,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,UAAU,EACV,GAAG,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,sBAAsB,EACzB,EAAE,eAAe,2CA4IjB"}
1
+ {"version":3,"file":"Annotation.d.ts","sourceRoot":"","sources":["../../../../src/heatmap/components/Annotations/Annotation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAqB1F,UAAU,eAAe;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1C,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChC,KAAK,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;IACrD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,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,YAAY,EAAE,YAAY,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC;IACzD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAMD,wBAAgB,UAAU,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,UAAU,EACV,GAAG,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,sBAAsB,EACzB,EAAE,eAAe,2CA4IjB"}
@@ -1,11 +1,11 @@
1
1
  import { j as u } from "../../../node_modules/react/jsx-runtime.js";
2
- import { BLACK as E } from "../../../constants.js";
3
- import { ANNOTATION_WIDTH as s } from "../../constants.js";
4
2
  import { r as S } from "../../../node_modules/react-dom/index.js";
3
+ import { BLACK as O } from "../../../constants.js";
4
+ import { ANNOTATION_WIDTH as s } from "../../constants.js";
5
5
  function q(g, f, r, x, m) {
6
6
  if (g) {
7
- const k = s / 2, C = r === "top" ? -5 : m + 5;
8
- return { x: k, y: C, rotate: f === "left" ? -90 : 90, anchor: f === "left" && r === "top" ? "start" : "end" };
7
+ const v = s / 2, C = r === "top" ? -5 : m + 5;
8
+ return { x: v, y: C, rotate: f === "left" ? -90 : 90, anchor: f === "left" && r === "top" ? "start" : "end" };
9
9
  }
10
10
  const c = r === "right" ? x + 5 : -5, i = s / 2;
11
11
  return { x: c, y: i, rotate: 0, anchor: r === "right" ? "start" : "end" };
@@ -22,7 +22,7 @@ function Z({
22
22
  x: c,
23
23
  y: i,
24
24
  annotation: w,
25
- showTitle: k,
25
+ showTitle: v,
26
26
  width: C,
27
27
  height: A,
28
28
  colorScale: d,
@@ -35,22 +35,22 @@ function Z({
35
35
  tooltipsData: h,
36
36
  activeElementContainer: I
37
37
  }) {
38
- const { position: p, titlePosition: Y, valueColumn: j } = w, o = p === "left" || p === "right", z = (o ? r.y : r.x).domain(), v = q(o, p, Y, C, A), F = h.fixed && I;
38
+ const { position: p, titlePosition: Y, valueColumn: j } = w, o = p === "left" || p === "right", z = (o ? r.y : r.x).domain(), k = q(o, p, Y, C, A), F = h.fixed && I;
39
39
  return /* @__PURE__ */ u.jsxs("g", { children: [
40
40
  z.map((t) => {
41
- const n = f == null ? void 0 : f[t], l = d.type === "continuous" ? d.scale(Number(n)) : d.scale(String(n)), e = c + (o ? 0 : r.x(t)), M = i + (o ? r.y(t) : 0), N = o ? s : x, O = o ? m : s, W = o ? null : t, H = o ? t : null, R = F && J(h.selectedData) && h.selectedData.xKey === W && h.selectedData.yKey === H && g === h.currentFacet, L = /* @__PURE__ */ u.jsx(
41
+ const n = f == null ? void 0 : f[t], l = d.type === "continuous" ? d.scale(Number(n)) : d.scale(String(n)), e = c + (o ? 0 : r.x(t)), M = i + (o ? r.y(t) : 0), N = o ? s : x, W = o ? m : s, E = o ? null : t, H = o ? t : null, R = F && J(h.selectedData) && h.selectedData.xKey === E && h.selectedData.yKey === H && g === h.currentFacet, L = /* @__PURE__ */ u.jsx(
42
42
  "rect",
43
43
  {
44
44
  x: e,
45
45
  y: M,
46
46
  width: N,
47
- height: O,
47
+ height: W,
48
48
  fill: l,
49
49
  stroke: X.cellStrokeColor,
50
- onMouseOver: () => h.onMouseOver({
50
+ onMouseOver: () => h.onMouseEnter({
51
51
  x: e + N,
52
- y: M + O / 2,
53
- xKey: W,
52
+ y: M + W / 2,
53
+ xKey: E,
54
54
  yKey: H,
55
55
  value: n,
56
56
  title: j.label ?? j.value
@@ -109,7 +109,7 @@ function Z({
109
109
  y: i,
110
110
  width: l,
111
111
  height: s,
112
- stroke: E,
112
+ stroke: O,
113
113
  fill: "none"
114
114
  },
115
115
  `${e}_${i}`
@@ -127,19 +127,19 @@ function Z({
127
127
  y: e + i,
128
128
  width: s,
129
129
  height: l,
130
- stroke: E,
130
+ stroke: O,
131
131
  fill: "none"
132
132
  },
133
133
  `${c}_${e}`
134
134
  );
135
135
  }),
136
- k && /* @__PURE__ */ u.jsx(
136
+ v && /* @__PURE__ */ u.jsx(
137
137
  "g",
138
138
  {
139
139
  fontWeight: "500",
140
140
  fontSize: "14px",
141
- transform: `translate(${c + v.x},${i + v.y}) rotate(${v.rotate})`,
142
- children: /* @__PURE__ */ u.jsx("text", { textAnchor: v.anchor, dominantBaseline: "central", children: j.label ?? j.value })
141
+ transform: `translate(${c + k.x},${i + k.y}) rotate(${k.rotate})`,
142
+ children: /* @__PURE__ */ u.jsx("text", { textAnchor: k.anchor, dominantBaseline: "central", children: j.label ?? j.value })
143
143
  }
144
144
  )
145
145
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"Annotation.js","sources":["../../../../src/heatmap/components/Annotations/Annotation.tsx"],"sourcesContent":["import type {TooltipsData} from '../../../common/Tooltip';\nimport {BLACK} from '../../../constants';\nimport {ANNOTATION_WIDTH} from '../../constants';\nimport type {AnnotationColorScales, AnnotationTooltipData, ChartScales} from '../types';\nimport type {Cell} from '../../getCells';\nimport type {GroupedCellsData} from '../../getCells';\nimport type {HeatmapSettingsImpl} from '../../HeatmapSettingsImpl';\nimport type {DataValue} from '../../../types';\nimport React from 'react';\nimport {createPortal} from 'react-dom';\n\nfunction getTextPosition(\n vertical: boolean,\n annotationPosition: string,\n titlePosition: string,\n width: number,\n height: number\n) {\n if (vertical) {\n const x = ANNOTATION_WIDTH / 2;\n const y = titlePosition === 'top' ? -5 : height + 5;\n const rotate = annotationPosition === 'left' ? -90 : 90;\n const anchor = annotationPosition === 'left' && titlePosition === 'top' ? 'start' : 'end';\n return {x, y, rotate, anchor};\n }\n const x = titlePosition === 'right' ? width + 5 : -5;\n const y = ANNOTATION_WIDTH / 2;\n const anchor = titlePosition === 'right' ? 'start' : 'end';\n return {x, y, rotate: 0, anchor};\n}\ninterface AnnotationProps {\n facetKey: string;\n scales: ChartScales;\n data: Record<string, DataValue>;\n annotation: HeatmapSettingsImpl['annotations'][0];\n stepX: number;\n stepY: number;\n vertical?: boolean;\n x: number;\n y: number;\n width: number;\n height: number;\n showTitle: boolean;\n colorScale: AnnotationColorScales[string];\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 activeElementContainer?: Element;\n}\n\nfunction isAnnotationTooltip(d:Cell|AnnotationTooltipData|null):d is AnnotationTooltipData {\n return d !== null && !('data' in d);\n}\n\nexport function Annotation({\n facetKey,\n data,\n scales,\n stepX,\n stepY,\n x,\n y,\n annotation,\n showTitle,\n width,\n height,\n colorScale,\n aes,\n frame,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n tooltipsData,\n activeElementContainer\n}: AnnotationProps) {\n const {position, titlePosition, valueColumn} = annotation;\n const vertical = position === 'left' || position === 'right';\n const keys = (vertical ? scales.y : scales.x).domain();\n const textPosition = getTextPosition(vertical, position, titlePosition, width, height);\n const isDimmedBackground = tooltipsData.fixed && activeElementContainer;\n\n return (\n <g>\n {keys.map(key => {\n const value = data?.[key];\n const fillColor = colorScale.type === 'continuous'\n ? colorScale.scale(Number(value))\n : colorScale.scale(String(value));\n const xInner= x + (vertical ? 0 : scales.x(key));\n const yInner= y + (vertical ? scales.y(key) : 0);\n const width = vertical ? ANNOTATION_WIDTH : stepX;\n const height = vertical ? stepY : ANNOTATION_WIDTH;\n const xKey = vertical ? null : key;\n const yKey = vertical ? key : null;\n const highlighted = isDimmedBackground\n && isAnnotationTooltip(tooltipsData.selectedData)\n && tooltipsData.selectedData.xKey === xKey\n && tooltipsData.selectedData.yKey === yKey\n && facetKey === tooltipsData.currentFacet;\n const cellElement = (\n <rect\n key={key}\n x={xInner}\n y={yInner}\n width={width}\n height={height}\n fill={fillColor}\n stroke={aes.cellStrokeColor}\n onMouseOver={() => tooltipsData.onMouseOver({\n x: xInner + width,\n y: yInner + height / 2,\n xKey,\n yKey,\n value,\n title: valueColumn.label ?? valueColumn.value\n } as AnnotationTooltipData, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n );\n return highlighted ? createPortal(cellElement, activeElementContainer) : cellElement;\n })}\n {tooltipsData.fixed && !vertical && xGroupKeys.map(xGroupKey => {\n const keysCountX = xKeysByGroups[xGroupKey].length;\n if (keysCountX === 0) {\n return null;\n }\n const groupWidth = keysCountX * stepX;\n const groupX = scales.x(xKeysByGroups[xGroupKey][0]);\n return (\n <rect\n key={`${groupX}_${y}`}\n x={groupX + x}\n y={y}\n width={groupWidth}\n height={ANNOTATION_WIDTH}\n stroke=\"none\"\n fill=\"rgba(255, 255, 255, 0.8)\"\n />\n );\n })}\n {tooltipsData.fixed && vertical && yGroupKeys.map(yGroupKey => {\n const keysCountY = yKeysByGroups[yGroupKey].length;\n if (keysCountY === 0) {\n return null;\n }\n const groupHeight = keysCountY * stepY;\n const groupY = scales.y(yKeysByGroups[yGroupKey][0]);\n return (\n <rect\n key={`${x}_${groupY}`}\n x={x}\n y={groupY + y}\n width={ANNOTATION_WIDTH}\n height={groupHeight}\n stroke=\"none\"\n fill=\"rgba(255, 255, 255, 0.8)\"\n />\n );\n })}\n {frame.type === 'groups' &&\n !vertical &&\n xGroupKeys.map(xGroupKey => {\n const keysCountX = xKeysByGroups[xGroupKey].length;\n if (keysCountX === 0) {\n return null;\n }\n const groupWidth = keysCountX * stepX;\n const groupX = scales.x(xKeysByGroups[xGroupKey][0]);\n return (\n <rect\n key={`${groupX}_${y}`}\n x={groupX + x}\n y={y}\n width={groupWidth}\n height={ANNOTATION_WIDTH}\n stroke={BLACK}\n fill=\"none\"\n />\n );\n })}\n {frame.type === 'groups' &&\n vertical &&\n yGroupKeys.map(yGroupKey => {\n const keysCountY = yKeysByGroups[yGroupKey].length;\n if (keysCountY === 0) {\n return null;\n }\n const groupHeight = keysCountY * stepY;\n const groupY = scales.y(yKeysByGroups[yGroupKey][0]);\n return (\n <rect\n key={`${x}_${groupY}`}\n x={x}\n y={groupY + y}\n width={ANNOTATION_WIDTH}\n height={groupHeight}\n stroke={BLACK}\n fill=\"none\"\n />\n );\n })}\n {showTitle && (\n <g\n fontWeight=\"500\"\n fontSize=\"14px\"\n transform={`translate(${x + textPosition.x},${y + textPosition.y}) rotate(${textPosition.rotate})`}\n >\n <text textAnchor={textPosition.anchor} dominantBaseline=\"central\">\n {valueColumn.label ?? valueColumn.value}\n </text>\n </g>\n )}\n </g>\n );\n}\n"],"names":["getTextPosition","vertical","annotationPosition","titlePosition","width","height","x","ANNOTATION_WIDTH","y","anchor","isAnnotationTooltip","d","Annotation","facetKey","data","scales","stepX","stepY","annotation","showTitle","colorScale","aes","frame","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","tooltipsData","activeElementContainer","position","valueColumn","keys","textPosition","isDimmedBackground","key","value","fillColor","xInner","yInner","xKey","yKey","highlighted","cellElement","jsx","createPortal","xGroupKey","keysCountX","groupWidth","groupX","yGroupKey","keysCountY","groupHeight","groupY","BLACK"],"mappings":"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"}
1
+ {"version":3,"file":"Annotation.js","sources":["../../../../src/heatmap/components/Annotations/Annotation.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport type { TooltipsData } from '../../../common/Tooltip';\nimport { BLACK } from '../../../constants';\nimport type { DataValue } from '../../../types';\nimport { ANNOTATION_WIDTH } from '../../constants';\nimport type { Cell, GroupedCellsData } from '../../getCells';\nimport type { HeatmapSettingsImpl } from '../../HeatmapSettingsImpl';\nimport type { AnnotationColorScales, AnnotationTooltipData, ChartScales } from '../types';\n\nfunction getTextPosition(\n vertical: boolean,\n annotationPosition: string,\n titlePosition: string,\n width: number,\n height: number\n) {\n if (vertical) {\n const x = ANNOTATION_WIDTH / 2;\n const y = titlePosition === 'top' ? -5 : height + 5;\n const rotate = annotationPosition === 'left' ? -90 : 90;\n const anchor = annotationPosition === 'left' && titlePosition === 'top' ? 'start' : 'end';\n return {x, y, rotate, anchor};\n }\n const x = titlePosition === 'right' ? width + 5 : -5;\n const y = ANNOTATION_WIDTH / 2;\n const anchor = titlePosition === 'right' ? 'start' : 'end';\n return {x, y, rotate: 0, anchor};\n}\ninterface AnnotationProps {\n facetKey: string;\n scales: ChartScales;\n data: Record<string, DataValue>;\n annotation: HeatmapSettingsImpl['annotations'][0];\n stepX: number;\n stepY: number;\n vertical?: boolean;\n x: number;\n y: number;\n width: number;\n height: number;\n showTitle: boolean;\n colorScale: AnnotationColorScales[string];\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 activeElementContainer?: Element;\n}\n\nfunction isAnnotationTooltip(d:Cell|AnnotationTooltipData|null):d is AnnotationTooltipData {\n return d !== null && !('data' in d);\n}\n\nexport function Annotation({\n facetKey,\n data,\n scales,\n stepX,\n stepY,\n x,\n y,\n annotation,\n showTitle,\n width,\n height,\n colorScale,\n aes,\n frame,\n xGroupKeys,\n yGroupKeys,\n xKeysByGroups,\n yKeysByGroups,\n tooltipsData,\n activeElementContainer\n}: AnnotationProps) {\n const {position, titlePosition, valueColumn} = annotation;\n const vertical = position === 'left' || position === 'right';\n const keys = (vertical ? scales.y : scales.x).domain();\n const textPosition = getTextPosition(vertical, position, titlePosition, width, height);\n const isDimmedBackground = tooltipsData.fixed && activeElementContainer;\n\n return (\n <g>\n {keys.map(key => {\n const value = data?.[key];\n const fillColor = colorScale.type === 'continuous'\n ? colorScale.scale(Number(value))\n : colorScale.scale(String(value));\n const xInner= x + (vertical ? 0 : scales.x(key));\n const yInner= y + (vertical ? scales.y(key) : 0);\n const width = vertical ? ANNOTATION_WIDTH : stepX;\n const height = vertical ? stepY : ANNOTATION_WIDTH;\n const xKey = vertical ? null : key;\n const yKey = vertical ? key : null;\n const highlighted = isDimmedBackground\n && isAnnotationTooltip(tooltipsData.selectedData)\n && tooltipsData.selectedData.xKey === xKey\n && tooltipsData.selectedData.yKey === yKey\n && facetKey === tooltipsData.currentFacet;\n const cellElement = (\n <rect\n key={key}\n x={xInner}\n y={yInner}\n width={width}\n height={height}\n fill={fillColor}\n stroke={aes.cellStrokeColor}\n onMouseOver={() => tooltipsData.onMouseEnter({\n x: xInner + width,\n y: yInner + height / 2,\n xKey,\n yKey,\n value,\n title: valueColumn.label ?? valueColumn.value\n } as AnnotationTooltipData, facetKey)}\n onMouseLeave={() => tooltipsData.onMouseLeave()}\n />\n );\n return highlighted ? createPortal(cellElement, activeElementContainer) : cellElement;\n })}\n {tooltipsData.fixed && !vertical && xGroupKeys.map(xGroupKey => {\n const keysCountX = xKeysByGroups[xGroupKey].length;\n if (keysCountX === 0) {\n return null;\n }\n const groupWidth = keysCountX * stepX;\n const groupX = scales.x(xKeysByGroups[xGroupKey][0]);\n return (\n <rect\n key={`${groupX}_${y}`}\n x={groupX + x}\n y={y}\n width={groupWidth}\n height={ANNOTATION_WIDTH}\n stroke=\"none\"\n fill=\"rgba(255, 255, 255, 0.8)\"\n />\n );\n })}\n {tooltipsData.fixed && vertical && yGroupKeys.map(yGroupKey => {\n const keysCountY = yKeysByGroups[yGroupKey].length;\n if (keysCountY === 0) {\n return null;\n }\n const groupHeight = keysCountY * stepY;\n const groupY = scales.y(yKeysByGroups[yGroupKey][0]);\n return (\n <rect\n key={`${x}_${groupY}`}\n x={x}\n y={groupY + y}\n width={ANNOTATION_WIDTH}\n height={groupHeight}\n stroke=\"none\"\n fill=\"rgba(255, 255, 255, 0.8)\"\n />\n );\n })}\n {frame.type === 'groups' &&\n !vertical &&\n xGroupKeys.map(xGroupKey => {\n const keysCountX = xKeysByGroups[xGroupKey].length;\n if (keysCountX === 0) {\n return null;\n }\n const groupWidth = keysCountX * stepX;\n const groupX = scales.x(xKeysByGroups[xGroupKey][0]);\n return (\n <rect\n key={`${groupX}_${y}`}\n x={groupX + x}\n y={y}\n width={groupWidth}\n height={ANNOTATION_WIDTH}\n stroke={BLACK}\n fill=\"none\"\n />\n );\n })}\n {frame.type === 'groups' &&\n vertical &&\n yGroupKeys.map(yGroupKey => {\n const keysCountY = yKeysByGroups[yGroupKey].length;\n if (keysCountY === 0) {\n return null;\n }\n const groupHeight = keysCountY * stepY;\n const groupY = scales.y(yKeysByGroups[yGroupKey][0]);\n return (\n <rect\n key={`${x}_${groupY}`}\n x={x}\n y={groupY + y}\n width={ANNOTATION_WIDTH}\n height={groupHeight}\n stroke={BLACK}\n fill=\"none\"\n />\n );\n })}\n {showTitle && (\n <g\n fontWeight=\"500\"\n fontSize=\"14px\"\n transform={`translate(${x + textPosition.x},${y + textPosition.y}) rotate(${textPosition.rotate})`}\n >\n <text textAnchor={textPosition.anchor} dominantBaseline=\"central\">\n {valueColumn.label ?? valueColumn.value}\n </text>\n </g>\n )}\n </g>\n );\n}\n"],"names":["getTextPosition","vertical","annotationPosition","titlePosition","width","height","x","ANNOTATION_WIDTH","y","anchor","isAnnotationTooltip","d","Annotation","facetKey","data","scales","stepX","stepY","annotation","showTitle","colorScale","aes","frame","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","tooltipsData","activeElementContainer","position","valueColumn","keys","textPosition","isDimmedBackground","key","value","fillColor","xInner","yInner","xKey","yKey","highlighted","cellElement","jsx","createPortal","xGroupKey","keysCountX","groupWidth","groupX","yGroupKey","keysCountY","groupHeight","groupY","BLACK"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TooltipsData } from '../../common/Tooltip';
2
- import { AnnotationTooltipData, ChartDendrograms, ChartSizes, DendrogramAesScales, LabelAngles, Margins, AnnotationColorScales, CaptionsSizes, ChartDimensionsData, ChartScales } from './types';
3
2
  import { Cell, GroupedCellsData } from '../getCells';
4
3
  import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
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, }: {
6
6
  facetKey: string;
7
7
  chartSizes: ChartSizes;
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/Chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAMxD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAC,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AACrG,OAAO,KAAK,EAAC,qBAAqB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAC,mBAAmB,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAE9D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAgDhE,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,GACf,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,GAAC,qBAAqB,CAAC,CAAC;CAC1D,2CAgLA"}
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/heatmap/components/Chart.tsx"],"names":[],"mappings":"AAEA,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;AA4CtM,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,GACf,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,GAAC,qBAAqB,CAAC,CAAC;CAC1D,2CAgLA"}