@milaboratories/miplots4 1.0.162 → 1.0.163

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 (62) hide show
  1. package/dist/common/BandAxis.d.ts +2 -1
  2. package/dist/common/BandAxis.js +19 -18
  3. package/dist/common/BandAxis.js.map +1 -1
  4. package/dist/common/ContinuousAxis.js +20 -20
  5. package/dist/common/ContinuousAxis.js.map +1 -1
  6. package/dist/common/Legend.js +3 -3
  7. package/dist/common/Legend.js.map +1 -1
  8. package/dist/discrete/DiscreteSettingsImpl.d.ts +6 -4
  9. package/dist/discrete/DiscreteSettingsImpl.js +9 -9
  10. package/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
  11. package/dist/discrete/constants.d.ts +1 -1
  12. package/dist/discrete/constants.js +1 -1
  13. package/dist/discrete/constants.js.map +1 -1
  14. package/dist/discrete/index.js +107 -106
  15. package/dist/discrete/index.js.map +1 -1
  16. package/dist/discrete/layers/bar.js +25 -22
  17. package/dist/discrete/layers/bar.js.map +1 -1
  18. package/dist/discrete/layers/errorbars.js +57 -48
  19. package/dist/discrete/layers/errorbars.js.map +1 -1
  20. package/dist/discrete/layers/lines.js +40 -31
  21. package/dist/discrete/layers/lines.js.map +1 -1
  22. package/dist/discrete/layers/stackedBar.js.map +1 -1
  23. package/dist/heatmap/fillCellsData.js +49 -46
  24. package/dist/heatmap/fillCellsData.js.map +1 -1
  25. package/dist/histogram/ChartRenderer.js +57 -54
  26. package/dist/histogram/ChartRenderer.js.map +1 -1
  27. package/dist/histogram/constants.d.ts +1 -1
  28. package/dist/histogram/constants.js.map +1 -1
  29. package/dist/histogram/index.js +58 -51
  30. package/dist/histogram/index.js.map +1 -1
  31. package/dist/scatterplot/ChartRenderer.js +89 -89
  32. package/dist/scatterplot/ChartRenderer.js.map +1 -1
  33. package/dist/scatterplot/components/ChartAxis.js +30 -30
  34. package/dist/scatterplot/components/ChartAxis.js.map +1 -1
  35. package/dist/scatterplot/components/ChartAxisTitles.js +22 -22
  36. package/dist/scatterplot/components/ChartAxisTitles.js.map +1 -1
  37. package/dist/scatterplot/constants.d.ts +1 -1
  38. package/dist/scatterplot/constants.js +1 -1
  39. package/dist/scatterplot/constants.js.map +1 -1
  40. package/dist/scatterplot/dots.d.ts +1 -1
  41. package/dist/scatterplot/dots.js +14 -14
  42. package/dist/scatterplot/dots.js.map +1 -1
  43. package/dist/scatterplot/index.js +94 -79
  44. package/dist/scatterplot/index.js.map +1 -1
  45. package/dist/scatterplot-umap/ChartRenderer.d.ts +1 -1
  46. package/dist/scatterplot-umap/ChartRenderer.js +14 -14
  47. package/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
  48. package/dist/scatterplot-umap/components/LowerSVG.js +38 -38
  49. package/dist/scatterplot-umap/components/LowerSVG.js.map +1 -1
  50. package/dist/types/bubble.d.ts +5 -5
  51. package/dist/types/bubble.js +40 -40
  52. package/dist/types/bubble.js.map +1 -1
  53. package/dist/types/common.d.ts +25 -2
  54. package/dist/types/common.js +16 -15
  55. package/dist/types/common.js.map +1 -1
  56. package/dist/types/discrete.d.ts +66 -56
  57. package/dist/types/discrete.js +40 -38
  58. package/dist/types/discrete.js.map +1 -1
  59. package/dist/types/heatmap.d.ts +5 -6
  60. package/dist/types/heatmap.js +29 -29
  61. package/dist/types/heatmap.js.map +1 -1
  62. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DiscreteSettingsImpl.js","sources":["../../src/discrete/DiscreteSettingsImpl.ts"],"sourcesContent":["import { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AesRecord,\n Color,\n ColumnName,\n DataValue,\n DiscreteSettings,\n FrameType,\n InheritAesDiscrete,\n LegendPosition,\n LineShape,\n Orientation,\n BarLayer as OuterBarLayer,\n BinnedDotsLayer as OuterBinnedDotsLayer,\n BoxLayer as OuterBoxLayer,\n DotLayer as OuterDotLayer,\n ErrorBarLayer as OuterErrorBarLayer,\n LineLayer as OuterLineLayer,\n LogoPlotLayer as OuterLogoPlotLayer,\n PairedPointsLayer as OuterPairedPointsLayer,\n SinaLayer as OuterSinaLayer,\n StackedAreaLayer as OuterStackedAreaLayer,\n StackedBarLayer as OuterStackedBarLayer,\n StatLayer as OuterStatLayer,\n ViolinLayer as OuterViolinLayer,\n PointShape,\n PValueCorrectionMethod,\n SettingsInterface,\n SignificanceLevels,\n StatTestMethod,\n SummaryErrorValue,\n SummaryGroupValue,\n TitlePosition,\n} from '../types';\nimport { DiscreteSettingsSchema } from '../types';\nimport { MIN_MARGIN, PADDINGS } from './constants';\n\nimport lodash from 'lodash';\nimport { exhaustive } from '../utils';\n\nconst DEFAULT_FILL = '#3e9838';\nconst DEFAULT_DOT_SHAPE = '21';\nconst DEFAULT_DOT_SIZE = 3;\n\nabstract class BaseDiscreteLayer {\n abstract type: string;\n abstract isEqualForCalculation(otherLayer: DiscreteLayer): boolean;\n}\n\nexport class BoxLayer extends BaseDiscreteLayer {\n readonly type = 'box';\n readonly stat: {\n upper: number;\n medium: number;\n lower: number;\n k: number;\n } = {\n upper: 0.75,\n medium: 0.5,\n lower: 0.25,\n k: 1.5,\n };\n readonly aes: {\n showOutliers: boolean;\n boxWidth: 'auto' | number;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: InheritAesDiscrete | number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n showOutliers: true,\n boxWidth: 'auto',\n dotShape: DEFAULT_DOT_SHAPE,\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterBoxLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'box' &&\n (Object.keys(this.stat) as (keyof BoxLayer['stat'])[]).every(key => this.stat[key] === otherLayer.stat[key])\n );\n }\n}\n\nexport class ViolinLayer extends BaseDiscreteLayer {\n readonly type = 'violin';\n readonly stat: {\n bandwidth: 'auto' | number;\n stepsCount: 'auto' | number;\n trim: boolean;\n } = {\n bandwidth: 'auto',\n stepsCount: 40,\n trim: true,\n };\n readonly aes: {\n width: 'auto' | number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n showQuartiles: boolean;\n medianLineStyle: LineShape;\n quartilesLineStyle: LineShape;\n } = {\n width: 'auto',\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n showQuartiles: true,\n medianLineStyle: 'solid',\n quartilesLineStyle: 'dashed'\n };\n\n constructor(layer: OuterViolinLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'violin' && (\n this.stat.bandwidth !== otherLayer.stat.bandwidth ||\n this.stat.trim !== otherLayer.stat.trim ||\n this.stat.stepsCount !== otherLayer.stat.stepsCount\n )\n );\n }\n}\n\nexport class DotLayer extends BaseDiscreteLayer {\n readonly type = 'dot';\n readonly aes: {\n showOutliers: boolean;\n jitter: number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n jitter: 0.8,\n lineColor: 'none',\n dotFill: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterDotLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'dot' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class LineLayer extends BaseDiscreteLayer {\n readonly type = 'line';\n readonly pointsValues: SummaryGroupValue;\n readonly emptyGroupValue: number;\n readonly aes: {\n showOutliers: boolean;\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineShape: InheritAesDiscrete | LineShape;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineShape: 'solid',\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterLineLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.emptyGroupValue = layer.emptyGroupValue ?? 0;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'line' && this.pointsValues === otherLayer.pointsValues && this.emptyGroupValue === otherLayer.emptyGroupValue;\n }\n}\n\nexport class ErrorBarLayer extends BaseDiscreteLayer {\n readonly type = 'errorbar';\n readonly pointsValues: SummaryGroupValue;\n readonly interval: SummaryErrorValue;\n readonly aes: {\n showDots: boolean;\n width: number | 'auto';\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showDots: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterErrorBarLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.interval = layer.interval;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'errorbar' &&\n this.pointsValues === otherLayer.pointsValues &&\n this.interval === otherLayer.interval\n );\n }\n}\n\nexport class BarLayer extends BaseDiscreteLayer {\n readonly type = 'bar';\n readonly height: 'min' | 'max' | 'median' | 'mean';\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBarLayer) {\n super();\n this.height = layer.height ?? 'max';\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'bar' && this.height === otherLayer.height;\n }\n}\n\nexport class StackedBarLayer extends BaseDiscreteLayer {\n readonly type = 'stackedBar';\n readonly normalize: boolean = false;\n readonly height: 'sum' | 'min' | 'max' | 'median' | 'mean';\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterStackedBarLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.height = layer.height ?? 'sum';\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedBar' && otherLayer.normalize === this.normalize && otherLayer.height === this.height;\n }\n}\n\nexport class StackedAreaLayer extends BaseDiscreteLayer {\n readonly type = 'stackedArea';\n readonly normalize: boolean = false;\n readonly height: 'sum' | 'min' | 'max' | 'median' | 'mean';\n readonly showBars: boolean = true;\n readonly aes: {\n barWidth: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n barsOpacity: number;\n areaOpacity: number;\n } = {\n barWidth: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n barsOpacity: 1,\n areaOpacity: 0.7,\n };\n\n constructor(layer: OuterStackedAreaLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.height = layer.height ?? 'sum';\n this.showBars = layer.showBars ?? true;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedArea' && otherLayer.normalize === this.normalize && otherLayer.height === this.height && otherLayer.showBars === this.showBars;\n }\n}\n\nexport class LogoPlotLayer extends BaseDiscreteLayer {\n readonly type = 'logo';\n readonly normalize: boolean = false;\n readonly aes: {\n width: number | 'auto';\n fillColor: Record<string, string> | Color;\n lineColor: Color;\n opacity: number;\n } = {\n width: 'auto',\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterLogoPlotLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'logo' && otherLayer.normalize === this.normalize;\n }\n}\n\nexport class BinnedDotsLayer extends BaseDiscreteLayer {\n readonly type = 'binnedDots';\n readonly method: 'dotdensity' | 'histodot';\n readonly position: 'stack' | 'jitter';\n readonly keyColumn: ColumnName | null;\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n dotSize?: number;\n lineWidth: number;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBinnedDotsLayer) {\n super();\n this.method = layer.method ?? 'dotdensity';\n this.position = layer.position ?? 'stack';\n this.keyColumn = layer.keyColumn ?? null;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'binnedDots' &&\n this.method === otherLayer.method &&\n this.position === otherLayer.position &&\n this.keyColumn?.value === otherLayer.keyColumn?.value\n );\n }\n}\n\nexport class PairedPointsLayer extends BaseDiscreteLayer {\n readonly type = 'pairedPoints';\n readonly linkColumn: ColumnName;\n readonly aes: {\n showOutliers: boolean;\n lineColor: InheritAesDiscrete | Color;\n lineWidth: number;\n lineShape: LineShape;\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineColor: BLACK,\n lineShape: 'solid',\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterPairedPointsLayer) {\n super();\n this.linkColumn = layer.linkColumn;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'pairedPoints' &&\n this.aes.showOutliers === otherLayer.aes.showOutliers &&\n this.linkColumn.value === otherLayer.linkColumn.value\n );\n }\n}\n\nexport class SinaLayer extends BaseDiscreteLayer {\n readonly type = 'sina';\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: InheritAesDiscrete | PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n dotFill: DEFAULT_FILL,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterSinaLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'sina' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class StatLayer extends BaseDiscreteLayer {\n readonly type = 'stat';\n readonly statType: 'overall' | 'referenceGroup' | 'pairwise';\n readonly testMethod: StatTestMethod;\n readonly paired: boolean;\n readonly ns: boolean;\n readonly format: 'significance' | 'pValue';\n readonly referenceGroup: DataValue | null = null;\n readonly correctionMethod: PValueCorrectionMethod | null = null;\n readonly significanceLevels: SignificanceLevels;\n\n constructor(layer: OuterStatLayer) {\n super();\n this.statType = layer.statType;\n this.testMethod = layer.testMethod;\n this.paired = layer.paired ?? false;\n this.ns = layer.ns ?? true;\n this.format = layer.format ?? 'pValue';\n if (this.statType === 'referenceGroup') {\n this.referenceGroup = layer.referenceGroup ?? null;\n }\n if (this.statType === 'referenceGroup' || this.statType === 'pairwise') {\n this.correctionMethod = layer.correctionMethod ?? null;\n }\n this.significanceLevels = {\n one: layer.significanceLevels?.one ?? 0.05,\n two: layer.significanceLevels?.two ?? 0.01,\n three: layer.significanceLevels?.three ?? 0.001,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stat' && (Object.keys(this) as (keyof StatLayer)[]).every(key => this[key] === otherLayer[key]);\n }\n}\n\nexport type DiscreteLayer =\n | StackedAreaLayer\n | BoxLayer\n | ViolinLayer\n | DotLayer\n | LineLayer\n | ErrorBarLayer\n | BarLayer\n | StackedBarLayer\n | BinnedDotsLayer\n | PairedPointsLayer\n | SinaLayer\n | StatLayer\n | LogoPlotLayer;\n\nexport class DiscreteSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'discrete';\n readonly y: ColumnName;\n readonly keyColumn: ColumnName | null;\n readonly primaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n } | null;\n readonly secondaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n } | null;\n readonly facetSettings: {\n sharedX: boolean;\n sharedY: boolean;\n order?: Record<string, DataValue[]>; // map with ordered values of columns in \"facetBy\"\n nRows?: number;\n nCols?: number;\n titlePosition?: 'left' | 'right' | 'center';\n } | null;\n readonly facetBy: ColumnName[];\n readonly chartSettings: {\n readonly size: {width: number; height: number, outerOffset: number, innerOffset: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly orientation: Orientation;\n readonly yAxis: {\n title: string | ColumnName;\n scale: 'linear' | 'log';\n showGrid: boolean;\n showTicks: boolean;\n hiddenLabels: boolean;\n };\n readonly xAxis: {\n title: string | ColumnName;\n showGrid: boolean;\n linesBetweenCategories: boolean;\n showTicks: boolean;\n labelsPosition: 'center' | '45deg' | '90deg';\n hiddenLabels: boolean;\n };\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {\n box: {show: boolean};\n violin: {show: boolean};\n boxOutliers: {show: boolean};\n line: {show: boolean};\n dot: {show: boolean};\n errorBar: {show: boolean};\n binnedDots: {show: boolean};\n pairedPoints: {show: boolean};\n stackedBar: {show: boolean};\n logo: {show: boolean};\n };\n };\n\n readonly layers: DiscreteLayer[];\n\n constructor(settings: DiscreteSettings) {\n DiscreteSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.y = settings.y; // throw error if empty or if y.name doesn't exist in input table\n this.keyColumn = settings.keyColumn ?? null;\n this.primaryGrouping = settings.primaryGrouping ?? null; // check columnName\n this.secondaryGrouping = settings.secondaryGrouping ?? null; // check columnName\n this.facetSettings = {\n sharedX: true,\n sharedY: true,\n titlePosition: 'left',\n ...settings.facetSettings,\n };\n this.facetBy = settings.facetBy ?? [];\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n outerOffset: settings?.size?.outerOffset ?? MIN_MARGIN,\n innerOffset: settings?.size?.innerOffset ?? PADDINGS.TOP\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n orientation: settings.orientation ?? 'vertical',\n yAxis: {\n title: settings.y?.label ?? settings.y.value ?? '',\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n hiddenLabels: false,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.primaryGrouping?.columnName?.label ?? settings.primaryGrouping?.columnName.value ?? '',\n showGrid: true,\n showTicks: true,\n linesBetweenCategories: true,\n labelsPosition: 'center',\n hiddenLabels: false,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n box: {show: true},\n violin: {show: true},\n boxOutliers: {show: true},\n line: {show: true},\n errorBar: {show: true},\n dot: {show: true},\n binnedDots: {show: true},\n pairedPoints: {show: true},\n stackedBar: {show: true},\n logo: {show: false},\n ...settings.tooltips,\n },\n };\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'box') {\n return new BoxLayer(layer);\n }\n if (layer.type === 'violin') {\n return new ViolinLayer(layer);\n }\n if (layer.type === 'dot') {\n return new DotLayer(layer);\n }\n if (layer.type === 'line') {\n return new LineLayer(layer);\n }\n if (layer.type === 'errorbar') {\n return new ErrorBarLayer(layer);\n }\n if (layer.type === 'bar') {\n return new BarLayer(layer);\n }\n if (layer.type === 'stackedBar') {\n return new StackedBarLayer(layer);\n }\n if (layer.type === 'stackedArea') {\n return new StackedAreaLayer(layer);\n }\n if (layer.type === 'stat') {\n return new StatLayer(layer);\n }\n if (layer.type === 'binnedDots') {\n return new BinnedDotsLayer(layer);\n }\n if (layer.type === 'pairedPoints') {\n return new PairedPointsLayer(layer);\n }\n if (layer.type === 'sina') {\n return new SinaLayer(layer);\n }\n if (layer.type === 'logo') {\n return new LogoPlotLayer(layer);\n }\n exhaustive(layer, 'Unknown layer type');\n })\n .filter(Boolean) as DiscreteLayer[];\n }\n}\n"],"names":["DEFAULT_FILL","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","BaseDiscreteLayer","BoxLayer","layer","__publicField","BLACK","otherLayer","key","ViolinLayer","DotLayer","LineLayer","ErrorBarLayer","BarLayer","StackedBarLayer","StackedAreaLayer","LogoPlotLayer","BinnedDotsLayer","_a","_b","PairedPointsLayer","SinaLayer","StatLayer","_c","DiscreteSettingsImpl","settings","DiscreteSettingsSchema","lodash","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","MIN_MARGIN","_d","PADDINGS","_e","_f","_h","_g","_i","_j","exhaustive"],"mappings":"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"}
1
+ {"version":3,"file":"DiscreteSettingsImpl.js","sources":["../../src/discrete/DiscreteSettingsImpl.ts"],"sourcesContent":["import { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AesRecord,\n AggregationMethod,\n Color,\n ColumnName,\n DataValue,\n DiscreteSettings,\n FrameType,\n InheritAesDiscrete,\n LegendPosition,\n LineShape,\n Orientation,\n BarLayer as OuterBarLayer,\n BinnedDotsLayer as OuterBinnedDotsLayer,\n BoxLayer as OuterBoxLayer,\n DotLayer as OuterDotLayer,\n ErrorBarLayer as OuterErrorBarLayer,\n LineLayer as OuterLineLayer,\n LogoPlotLayer as OuterLogoPlotLayer,\n PairedPointsLayer as OuterPairedPointsLayer,\n SinaLayer as OuterSinaLayer,\n StackedAreaLayer as OuterStackedAreaLayer,\n StackedBarLayer as OuterStackedBarLayer,\n StatLayer as OuterStatLayer,\n ViolinLayer as OuterViolinLayer,\n PointShape,\n PValueCorrectionMethod,\n SettingsInterface,\n SignificanceLevels,\n StatTestMethod,\n SummaryErrorValue,\n SummaryGroupValue,\n TitlePosition,\n} from '../types';\nimport { DiscreteSettingsSchema } from '../types';\nimport { MIN_MARGIN, PADDINGS } from './constants';\n\nimport lodash from 'lodash';\nimport { exhaustive } from '../utils';\n\nconst DEFAULT_FILL = '#3e9838';\nconst DEFAULT_DOT_SHAPE = '21';\nconst DEFAULT_DOT_SIZE = 3;\n\nabstract class BaseDiscreteLayer {\n abstract type: string;\n abstract isEqualForCalculation(otherLayer: DiscreteLayer): boolean;\n}\n\nexport class BoxLayer extends BaseDiscreteLayer {\n readonly type = 'box';\n readonly stat: {\n upper: number;\n medium: number;\n lower: number;\n k: number;\n } = {\n upper: 0.75,\n medium: 0.5,\n lower: 0.25,\n k: 1.5,\n };\n readonly aes: {\n showOutliers: boolean;\n boxWidth: 'auto' | number;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: InheritAesDiscrete | number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n showOutliers: true,\n boxWidth: 'auto',\n dotShape: DEFAULT_DOT_SHAPE,\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterBoxLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'box' &&\n (Object.keys(this.stat) as (keyof BoxLayer['stat'])[]).every(key => this.stat[key] === otherLayer.stat[key])\n );\n }\n}\n\nexport class ViolinLayer extends BaseDiscreteLayer {\n readonly type = 'violin';\n readonly stat: {\n bandwidth: 'auto' | number;\n stepsCount: 'auto' | number;\n trim: boolean;\n } = {\n bandwidth: 'auto',\n stepsCount: 40,\n trim: true,\n };\n readonly aes: {\n width: 'auto' | number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n showQuartiles: boolean;\n medianLineStyle: LineShape;\n quartilesLineStyle: LineShape;\n } = {\n width: 'auto',\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n showQuartiles: true,\n medianLineStyle: 'solid',\n quartilesLineStyle: 'dashed'\n };\n\n constructor(layer: OuterViolinLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'violin' && (\n this.stat.bandwidth !== otherLayer.stat.bandwidth ||\n this.stat.trim !== otherLayer.stat.trim ||\n this.stat.stepsCount !== otherLayer.stat.stepsCount\n )\n );\n }\n}\n\nexport class DotLayer extends BaseDiscreteLayer {\n readonly type = 'dot';\n readonly aes: {\n showOutliers: boolean;\n jitter: number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n jitter: 0.8,\n lineColor: 'none',\n dotFill: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterDotLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'dot' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class LineLayer extends BaseDiscreteLayer {\n readonly type = 'line';\n readonly pointsValues: SummaryGroupValue;\n readonly emptyGroupValue: number;\n readonly aes: {\n showOutliers: boolean;\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineShape: InheritAesDiscrete | LineShape;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineShape: 'solid',\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterLineLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.emptyGroupValue = layer.emptyGroupValue ?? 0;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'line' && this.pointsValues === otherLayer.pointsValues && this.emptyGroupValue === otherLayer.emptyGroupValue;\n }\n}\n\nexport class ErrorBarLayer extends BaseDiscreteLayer {\n readonly type = 'errorbar';\n readonly pointsValues: SummaryGroupValue;\n readonly interval: SummaryErrorValue;\n readonly aes: {\n showDots: boolean;\n width: number | 'auto';\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showDots: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterErrorBarLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.interval = layer.interval;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'errorbar' &&\n this.pointsValues === otherLayer.pointsValues &&\n this.interval === otherLayer.interval\n );\n }\n}\n\nexport class BarLayer extends BaseDiscreteLayer {\n readonly type = 'bar';\n readonly height: AggregationMethod;\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBarLayer) {\n super();\n this.height = layer.height ?? 'max';\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'bar' && this.height === otherLayer.height;\n }\n}\n\nexport class StackedBarLayer extends BaseDiscreteLayer {\n readonly type = 'stackedBar';\n readonly normalize: boolean = false;\n readonly height: AggregationMethod;\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterStackedBarLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.height = layer.height ?? 'sum';\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedBar' && otherLayer.normalize === this.normalize && otherLayer.height === this.height;\n }\n}\n\nexport class StackedAreaLayer extends BaseDiscreteLayer {\n readonly type = 'stackedArea';\n readonly normalize: boolean = false;\n readonly height: AggregationMethod;\n readonly showBars: boolean = true;\n readonly aes: {\n barWidth: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n barsOpacity: number;\n areaOpacity: number;\n } = {\n barWidth: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n barsOpacity: 1,\n areaOpacity: 0.7,\n };\n\n constructor(layer: OuterStackedAreaLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.height = layer.height ?? 'sum';\n this.showBars = layer.showBars ?? true;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedArea' && otherLayer.normalize === this.normalize && otherLayer.height === this.height && otherLayer.showBars === this.showBars;\n }\n}\n\nexport class LogoPlotLayer extends BaseDiscreteLayer {\n readonly type = 'logo';\n readonly normalize: boolean = false;\n readonly aes: {\n width: number | 'auto';\n fillColor: Record<string, string> | Color;\n lineColor: Color;\n opacity: number;\n } = {\n width: 'auto',\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterLogoPlotLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'logo' && otherLayer.normalize === this.normalize;\n }\n}\n\nexport class BinnedDotsLayer extends BaseDiscreteLayer {\n readonly type = 'binnedDots';\n readonly method: 'dotdensity' | 'histodot';\n readonly position: 'stack' | 'jitter';\n readonly keyColumn: ColumnName | null;\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n dotSize?: number;\n lineWidth: number;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBinnedDotsLayer) {\n super();\n this.method = layer.method ?? 'dotdensity';\n this.position = layer.position ?? 'stack';\n this.keyColumn = layer.keyColumn ?? null;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'binnedDots' &&\n this.method === otherLayer.method &&\n this.position === otherLayer.position &&\n this.keyColumn?.value === otherLayer.keyColumn?.value\n );\n }\n}\n\nexport class PairedPointsLayer extends BaseDiscreteLayer {\n readonly type = 'pairedPoints';\n readonly linkColumn: ColumnName;\n readonly aes: {\n showOutliers: boolean;\n lineColor: InheritAesDiscrete | Color;\n lineWidth: number;\n lineShape: LineShape;\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineColor: BLACK,\n lineShape: 'solid',\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterPairedPointsLayer) {\n super();\n this.linkColumn = layer.linkColumn;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'pairedPoints' &&\n this.aes.showOutliers === otherLayer.aes.showOutliers &&\n this.linkColumn.value === otherLayer.linkColumn.value\n );\n }\n}\n\nexport class SinaLayer extends BaseDiscreteLayer {\n readonly type = 'sina';\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: InheritAesDiscrete | PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n dotFill: DEFAULT_FILL,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterSinaLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'sina' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class StatLayer extends BaseDiscreteLayer {\n readonly type = 'stat';\n readonly statType: 'overall' | 'referenceGroup' | 'pairwise';\n readonly testMethod: StatTestMethod;\n readonly paired: boolean;\n readonly ns: boolean;\n readonly format: 'significance' | 'pValue';\n readonly referenceGroup: DataValue | null = null;\n readonly correctionMethod: PValueCorrectionMethod | null = null;\n readonly significanceLevels: SignificanceLevels;\n\n constructor(layer: OuterStatLayer) {\n super();\n this.statType = layer.statType;\n this.testMethod = layer.testMethod;\n this.paired = layer.paired ?? false;\n this.ns = layer.ns ?? true;\n this.format = layer.format ?? 'pValue';\n if (this.statType === 'referenceGroup') {\n this.referenceGroup = layer.referenceGroup ?? null;\n }\n if (this.statType === 'referenceGroup' || this.statType === 'pairwise') {\n this.correctionMethod = layer.correctionMethod ?? null;\n }\n this.significanceLevels = {\n one: layer.significanceLevels?.one ?? 0.05,\n two: layer.significanceLevels?.two ?? 0.01,\n three: layer.significanceLevels?.three ?? 0.001,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stat' && (Object.keys(this) as (keyof StatLayer)[]).every(key => this[key] === otherLayer[key]);\n }\n}\n\nexport type DiscreteLayer =\n | StackedAreaLayer\n | BoxLayer\n | ViolinLayer\n | DotLayer\n | LineLayer\n | ErrorBarLayer\n | BarLayer\n | StackedBarLayer\n | BinnedDotsLayer\n | PairedPointsLayer\n | SinaLayer\n | StatLayer\n | LogoPlotLayer;\n\nexport class DiscreteSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'discrete';\n readonly y: ColumnName;\n readonly keyColumn: ColumnName | null;\n readonly primaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n unlimitedGroupsCount?: boolean;\n } | null;\n readonly secondaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n unlimitedGroupsCount?: boolean;\n } | null;\n readonly facetSettings: {\n sharedX: boolean;\n sharedY: boolean;\n order?: Record<string, DataValue[]>; // map with ordered values of columns in \"facetBy\"\n nRows?: number;\n nCols?: number;\n titlePosition?: 'left' | 'right' | 'center';\n } | null;\n readonly facetBy: ColumnName[];\n readonly chartSettings: {\n readonly size: {width: number; height: number, outerOffset: number, innerOffset: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly orientation: Orientation;\n readonly yAxis: {\n title: string | ColumnName;\n scale: 'linear' | 'log';\n showGrid: boolean;\n showTicks: boolean;\n hiddenLabels: boolean;\n };\n readonly xAxis: {\n title: string | ColumnName;\n showGrid: boolean;\n linesBetweenCategories: boolean;\n showTicks: boolean;\n labelsPosition: 'center' | '45deg' | '90deg';\n hiddenLabels: boolean;\n };\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {\n box: {show: boolean};\n violin: {show: boolean};\n boxOutliers: {show: boolean};\n line: {show: boolean};\n dot: {show: boolean};\n errorBar: {show: boolean};\n binnedDots: {show: boolean};\n pairedPoints: {show: boolean};\n stackedBar: {show: boolean};\n logo: {show: boolean};\n };\n };\n\n readonly layers: DiscreteLayer[];\n\n constructor(settings: DiscreteSettings) {\n DiscreteSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.y = settings.y; // throw error if empty or if y.name doesn't exist in input table\n this.keyColumn = settings.keyColumn ?? null;\n this.primaryGrouping = settings.primaryGrouping ? { unlimitedGroupsCount: false, ...settings.primaryGrouping } : null; // check columnName\n this.secondaryGrouping = settings.secondaryGrouping ? { unlimitedGroupsCount: false, ...settings.secondaryGrouping } : null; // check columnName\n this.facetSettings = {\n sharedX: true,\n sharedY: true,\n titlePosition: 'left',\n ...settings.facetSettings,\n };\n this.facetBy = settings.facetBy ?? [];\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n outerOffset: settings?.size?.outerOffset ?? MIN_MARGIN,\n innerOffset: settings?.size?.innerOffset ?? PADDINGS.TOP\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n orientation: settings.orientation ?? 'vertical',\n yAxis: {\n title: settings.y?.label ?? settings.y.value ?? '',\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n hiddenLabels: false,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.primaryGrouping?.columnName?.label ?? settings.primaryGrouping?.columnName.value ?? '',\n showGrid: true,\n showTicks: true,\n linesBetweenCategories: true,\n labelsPosition: 'center',\n hiddenLabels: false,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n box: {show: true},\n violin: {show: true},\n boxOutliers: {show: true},\n line: {show: true},\n errorBar: {show: true},\n dot: {show: true},\n binnedDots: {show: true},\n pairedPoints: {show: true},\n stackedBar: {show: true},\n logo: {show: false},\n ...settings.tooltips,\n },\n };\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'box') {\n return new BoxLayer(layer);\n }\n if (layer.type === 'violin') {\n return new ViolinLayer(layer);\n }\n if (layer.type === 'dot') {\n return new DotLayer(layer);\n }\n if (layer.type === 'line') {\n return new LineLayer(layer);\n }\n if (layer.type === 'errorbar') {\n return new ErrorBarLayer(layer);\n }\n if (layer.type === 'bar') {\n return new BarLayer(layer);\n }\n if (layer.type === 'stackedBar') {\n return new StackedBarLayer(layer);\n }\n if (layer.type === 'stackedArea') {\n return new StackedAreaLayer(layer);\n }\n if (layer.type === 'stat') {\n return new StatLayer(layer);\n }\n if (layer.type === 'binnedDots') {\n return new BinnedDotsLayer(layer);\n }\n if (layer.type === 'pairedPoints') {\n return new PairedPointsLayer(layer);\n }\n if (layer.type === 'sina') {\n return new SinaLayer(layer);\n }\n if (layer.type === 'logo') {\n return new LogoPlotLayer(layer);\n }\n exhaustive(layer, 'Unknown layer type');\n })\n .filter(Boolean) as DiscreteLayer[];\n }\n}\n"],"names":["DEFAULT_FILL","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","BaseDiscreteLayer","BoxLayer","layer","__publicField","BLACK","otherLayer","key","ViolinLayer","DotLayer","LineLayer","ErrorBarLayer","BarLayer","StackedBarLayer","StackedAreaLayer","LogoPlotLayer","BinnedDotsLayer","_a","_b","PairedPointsLayer","SinaLayer","StatLayer","_c","DiscreteSettingsImpl","settings","DiscreteSettingsSchema","lodash","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","MIN_MARGIN","_d","PADDINGS","_e","_f","_h","_g","_i","_j","exhaustive"],"mappings":";;;;;;;;;;;;;;AAyCA,MAAMA,IAAe,WACfC,IAAoB,MACpBC,IAAmB;AAEzB,MAAeC,EAAkB;AAGjC;AAEO,MAAMC,UAAiBD,EAAkB;AAAA,EAqC5C,YAAYE,GAAsB;AAC9B,UAAA;AArCK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,cAKL;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,GAAG;AAAA,IAAA;AAEE,IAAAA,EAAA,aAWL;AAAA,MACA,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAUL;AAAA,MACV,SAASM;AAAA,MACT,SAASL;AAAA,MACT,WAAWK;AAAA,MACX,WAAWP;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAKT,SAAK,OAAO;AAAA,MACR,GAAG,KAAK;AAAA,MACR,GAAGK,EAAM;AAAA,IAAA,GAEb,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WACIA,EAAW,SAAS,SACnB,OAAO,KAAK,KAAK,IAAI,EAAiC,MAAM,CAAAC,MAAO,KAAK,KAAKA,CAAG,MAAMD,EAAW,KAAKC,CAAG,CAAC;AAAA,EAEnH;AACJ;AAEO,MAAMC,UAAoBP,EAAkB;AAAA,EAiC/C,YAAYE,GAAyB;AACjC,UAAA;AAjCK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,cAIL;AAAA,MACA,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,MAAM;AAAA,IAAA;AAED,IAAAA,EAAA,aAUL;AAAA,MACA,OAAO;AAAA,MACP,WAAWC;AAAA,MACX,WAAWP;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,MACT,eAAe;AAAA,MACf,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,IAAA;AAKpB,SAAK,OAAO;AAAA,MACR,GAAG,KAAK;AAAA,MACR,GAAGK,EAAM;AAAA,IAAA,GAEb,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WACIA,EAAW,SAAS,aAChB,KAAK,KAAK,cAAcA,EAAW,KAAK,aACxC,KAAK,KAAK,SAASA,EAAW,KAAK,QACnC,KAAK,KAAK,eAAeA,EAAW,KAAK;AAAA,EAGrD;AACJ;AAEO,MAAMG,UAAiBR,EAAkB;AAAA,EAoB5C,YAAYE,GAAsB;AAC9B,UAAA;AApBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,aAQL;AAAA,MACA,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,SAASC;AAAA,MACT,UAAUN;AAAA,MACV,SAASC;AAAA,MACT,SAAS;AAAA,IAAA;AAKT,SAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGG,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WAAOA,EAAW,SAAS,SAAS,KAAK,IAAI,iBAAiBA,EAAW,IAAI;AAAA,EACjF;AACJ;AAEO,MAAMI,UAAkBT,EAAkB;AAAA,EAwB7C,YAAYE,GAAuB;AAC/B,UAAA;AAxBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA,aASL;AAAA,MACA,cAAc;AAAA,MACd,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAWC;AAAA,MACX,UAAUN;AAAA,MACV,SAASC;AAAA,MACT,SAAS;AAAA,IAAA;AAKT,SAAK,eAAeG,EAAM,cAC1B,KAAK,kBAAkBA,EAAM,mBAAmB,GAChD,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WAAOA,EAAW,SAAS,UAAU,KAAK,iBAAiBA,EAAW,gBAAgB,KAAK,oBAAoBA,EAAW;AAAA,EAC9H;AACJ;AAEO,MAAMK,UAAsBV,EAAkB;AAAA,EAwBjD,YAAYE,GAA2B;AACnC,UAAA;AAxBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA,aASL;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAWC;AAAA,MACX,UAAUN;AAAA,MACV,SAASC;AAAA,MACT,SAAS;AAAA,IAAA;AAKT,SAAK,eAAeG,EAAM,cAC1B,KAAK,WAAWA,EAAM,UACtB,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WACIA,EAAW,SAAS,cACpB,KAAK,iBAAiBA,EAAW,gBACjC,KAAK,aAAaA,EAAW;AAAA,EAErC;AACJ;AAEO,MAAMM,UAAiBX,EAAkB;AAAA,EAiB5C,YAAYE,GAAsB;AAC9B,UAAA;AAjBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA,aAML;AAAA,MACA,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAWC;AAAA,MACX,SAAS;AAAA,IAAA;AAKT,SAAK,SAASF,EAAM,UAAU,OAC9B,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WAAOA,EAAW,SAAS,SAAS,KAAK,WAAWA,EAAW;AAAA,EACnE;AACJ;AAEO,MAAMO,UAAwBZ,EAAkB;AAAA,EAkBnD,YAAYE,GAA6B;AACrC,UAAA;AAlBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,mBAAqB;AACrB,IAAAA,EAAA;AACA,IAAAA,EAAA,aAML;AAAA,MACA,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAWN;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAKT,SAAK,YAAYK,EAAM,aAAa,IACpC,KAAK,SAASA,EAAM,UAAU,OAC9B,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WAAOA,EAAW,SAAS,gBAAgBA,EAAW,cAAc,KAAK,aAAaA,EAAW,WAAW,KAAK;AAAA,EACrH;AACJ;AAEO,MAAMQ,UAAyBb,EAAkB;AAAA,EAqBpD,YAAYE,GAA8B;AACtC,UAAA;AArBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,mBAAqB;AACrB,IAAAA,EAAA;AACA,IAAAA,EAAA,kBAAoB;AACpB,IAAAA,EAAA,aAOL;AAAA,MACA,UAAU;AAAA,MACV,WAAW;AAAA,MACX,WAAWN;AAAA,MACX,WAAW;AAAA,MACX,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAKb,SAAK,YAAYK,EAAM,aAAa,IACpC,KAAK,SAASA,EAAM,UAAU,OAC9B,KAAK,WAAWA,EAAM,YAAY,IAClC,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WAAOA,EAAW,SAAS,iBAAiBA,EAAW,cAAc,KAAK,aAAaA,EAAW,WAAW,KAAK,UAAUA,EAAW,aAAa,KAAK;AAAA,EAC7J;AACJ;AAEO,MAAMS,UAAsBd,EAAkB;AAAA,EAejD,YAAYE,GAA2B;AACnC,UAAA;AAfK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,mBAAqB;AACrB,IAAAA,EAAA,aAKL;AAAA,MACA,OAAO;AAAA,MACP,WAAWN;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAKT,SAAK,YAAYK,EAAM,aAAa,IACpC,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WAAOA,EAAW,SAAS,UAAUA,EAAW,cAAc,KAAK;AAAA,EACvE;AACJ;AAEO,MAAMU,UAAwBf,EAAkB;AAAA,EAsBnD,YAAYE,GAA6B;AACrC,UAAA;AAtBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA,aAQL;AAAA,MACA,cAAc;AAAA,MACd,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAWC;AAAA,MACX,SAAS;AAAA,IAAA;AAKT,SAAK,SAASF,EAAM,UAAU,cAC9B,KAAK,WAAWA,EAAM,YAAY,SAClC,KAAK,YAAYA,EAAM,aAAa,MACpC,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;;AAC7C,WACIA,EAAW,SAAS,gBACpB,KAAK,WAAWA,EAAW,UAC3B,KAAK,aAAaA,EAAW,cAC7BW,IAAA,KAAK,cAAL,gBAAAA,EAAgB,aAAUC,IAAAZ,EAAW,cAAX,gBAAAY,EAAsB;AAAA,EAExD;AACJ;AAEO,MAAMC,UAA0BlB,EAAkB;AAAA,EAuBrD,YAAYE,GAA+B;AACvC,UAAA;AAvBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA,aASL;AAAA,MACA,cAAc;AAAA,MACd,WAAW;AAAA,MACX,WAAWC;AAAA,MACX,WAAW;AAAA,MACX,SAASA;AAAA,MACT,SAASL;AAAA,MACT,UAAUD;AAAA,MACV,SAAS;AAAA,IAAA;AAKT,SAAK,aAAaI,EAAM,YACxB,KAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGA,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WACIA,EAAW,SAAS,kBACpB,KAAK,IAAI,iBAAiBA,EAAW,IAAI,gBACzC,KAAK,WAAW,UAAUA,EAAW,WAAW;AAAA,EAExD;AACJ;AAEO,MAAMc,UAAkBnB,EAAkB;AAAA,EAkB7C,YAAYE,GAAuB;AAC/B,UAAA;AAlBK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA,aAOL;AAAA,MACA,cAAc;AAAA,MACd,OAAO;AAAA,MACP,SAASN;AAAA,MACT,SAASE;AAAA,MACT,UAAUD;AAAA,MACV,SAAS;AAAA,IAAA;AAKT,SAAK,MAAM;AAAA,MACP,GAAG,KAAK;AAAA,MACR,GAAGI,EAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,sBAAsBG,GAA2B;AAC7C,WAAOA,EAAW,SAAS,UAAU,KAAK,IAAI,iBAAiBA,EAAW,IAAI;AAAA,EAClF;AACJ;AAEO,MAAMe,UAAkBpB,EAAkB;AAAA,EAW7C,YAAYE,GAAuB;;AAC/B,UAAA;AAXK,IAAAC,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA,wBAAmC;AACnC,IAAAA,EAAA,0BAAkD;AAClD,IAAAA,EAAA;AAIL,SAAK,WAAWD,EAAM,UACtB,KAAK,aAAaA,EAAM,YACxB,KAAK,SAASA,EAAM,UAAU,IAC9B,KAAK,KAAKA,EAAM,MAAM,IACtB,KAAK,SAASA,EAAM,UAAU,UAC1B,KAAK,aAAa,qBAClB,KAAK,iBAAiBA,EAAM,kBAAkB,QAE9C,KAAK,aAAa,oBAAoB,KAAK,aAAa,gBACxD,KAAK,mBAAmBA,EAAM,oBAAoB,OAEtD,KAAK,qBAAqB;AAAA,MACtB,OAAKc,IAAAd,EAAM,uBAAN,gBAAAc,EAA0B,QAAO;AAAA,MACtC,OAAKC,IAAAf,EAAM,uBAAN,gBAAAe,EAA0B,QAAO;AAAA,MACtC,SAAOI,IAAAnB,EAAM,uBAAN,gBAAAmB,EAA0B,UAAS;AAAA,IAAA;AAAA,EAElD;AAAA,EAEA,sBAAsBhB,GAA2B;AAC7C,WAAOA,EAAW,SAAS,UAAW,OAAO,KAAK,IAAI,EAA0B,MAAM,CAAAC,MAAO,KAAKA,CAAG,MAAMD,EAAWC,CAAG,CAAC;AAAA,EAC9H;AACJ;AAiBO,MAAMgB,GAAkD;AAAA,EAiE3D,YAAYC,GAA4B;AAhE/B,IAAApB,EAAA;AACA,IAAAA,EAAA,cAAO;AACP,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAOA,IAAAA,EAAA;AAOA,IAAAA,EAAA;AAQA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAmCA,IAAAA,EAAA;;AAGL,IAAAqB,EAAuB,MAAMD,CAAQ,GACrC,KAAK,KAAKE,EAAO,SAAS,UAAU,GACpC,KAAK,IAAIF,EAAS,GAClB,KAAK,YAAYA,EAAS,aAAa,MACvC,KAAK,kBAAkBA,EAAS,kBAAkB,EAAE,sBAAsB,IAAO,GAAGA,EAAS,gBAAA,IAAoB,MACjH,KAAK,oBAAoBA,EAAS,oBAAoB,EAAE,sBAAsB,IAAO,GAAGA,EAAS,kBAAA,IAAsB,MACvH,KAAK,gBAAgB;AAAA,MACjB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,eAAe;AAAA,MACf,GAAGA,EAAS;AAAA,IAAA,GAEhB,KAAK,UAAUA,EAAS,WAAW,CAAA,GACnC,KAAK,gBAAgB;AAAA,MACjB,MAAM;AAAA,QACF,SAAOP,IAAAO,KAAA,gBAAAA,EAAU,SAAV,gBAAAP,EAAgB,WAAU,KAAK,QAAQ,SAASU,IAAsBC;AAAA,QAC7E,UAAQV,IAAAM,KAAA,gBAAAA,EAAU,SAAV,gBAAAN,EAAgB,YAAW,KAAK,QAAQ,SAASW,IAAuBC;AAAA,QAChF,eAAaR,IAAAE,KAAA,gBAAAA,EAAU,SAAV,gBAAAF,EAAgB,gBAAeS;AAAA,QAC5C,eAAaC,IAAAR,KAAA,gBAAAA,EAAU,SAAV,gBAAAQ,EAAgB,gBAAeC,EAAS;AAAA,MAAA;AAAA,MAEzD,OAAO;AAAA,QACH,UAAU;AAAA,QACV,MAAM;AAAA,QACN,GAAGT,EAAS;AAAA,QACZ,QAAMU,IAAAV,EAAS,UAAT,gBAAAU,EAAgB,SAAQ;AAAA,MAAA;AAAA,MAElC,aAAaV,EAAS,eAAe;AAAA,MACrC,OAAO;AAAA,QACH,SAAOW,IAAAX,EAAS,MAAT,gBAAAW,EAAY,UAASX,EAAS,EAAE,SAAS;AAAA,QAChD,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,cAAc;AAAA,QACd,GAAGA,EAAS;AAAA,MAAA;AAAA,MAEhB,OAAO;AAAA,QACH,SAAOY,KAAAC,IAAAb,EAAS,oBAAT,gBAAAa,EAA0B,eAA1B,gBAAAD,EAAsC,YAASE,IAAAd,EAAS,oBAAT,gBAAAc,EAA0B,WAAW,UAAS;AAAA,QACpG,UAAU;AAAA,QACV,WAAW;AAAA,QACX,wBAAwB;AAAA,QACxB,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,GAAGd,EAAS;AAAA,MAAA;AAAA,MAEhB,OAAO,EAAC,QAAMe,IAAAf,EAAS,UAAT,gBAAAe,EAAgB,SAAQ,OAAA;AAAA,MACtC,QAAQ;AAAA,QACJ,MAAM;AAAA,QACN,UAAU;AAAA,QACV,GAAGf,EAAS;AAAA,MAAA;AAAA,MAEhB,UAAU;AAAA,QACN,KAAK,EAAC,MAAM,GAAA;AAAA,QACZ,QAAQ,EAAC,MAAM,GAAA;AAAA,QACf,aAAa,EAAC,MAAM,GAAA;AAAA,QACpB,MAAM,EAAC,MAAM,GAAA;AAAA,QACb,UAAU,EAAC,MAAM,GAAA;AAAA,QACjB,KAAK,EAAC,MAAM,GAAA;AAAA,QACZ,YAAY,EAAC,MAAM,GAAA;AAAA,QACnB,cAAc,EAAC,MAAM,GAAA;AAAA,QACrB,YAAY,EAAC,MAAM,GAAA;AAAA,QACnB,MAAM,EAAC,MAAM,GAAA;AAAA,QACb,GAAGA,EAAS;AAAA,MAAA;AAAA,IAChB,GAEJ,KAAK,SAASA,EAAS,OAClB,IAAI,CAAArB,MAAS;AACV,UAAIA,EAAM,SAAS;AACf,eAAO,IAAID,EAASC,CAAK;AAE7B,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIK,EAAYL,CAAK;AAEhC,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIM,EAASN,CAAK;AAE7B,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIO,EAAUP,CAAK;AAE9B,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIQ,EAAcR,CAAK;AAElC,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIS,EAAST,CAAK;AAE7B,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIU,EAAgBV,CAAK;AAEpC,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIW,EAAiBX,CAAK;AAErC,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIkB,EAAUlB,CAAK;AAE9B,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIa,EAAgBb,CAAK;AAEpC,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIgB,EAAkBhB,CAAK;AAEtC,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIiB,EAAUjB,CAAK;AAE9B,UAAIA,EAAM,SAAS;AACf,eAAO,IAAIY,EAAcZ,CAAK;AAElC,MAAAqC,EAAWrC,GAAO,oBAAoB;AAAA,IAC1C,CAAC,EACA,OAAO,OAAO;AAAA,EACvB;AACJ;"}
@@ -14,5 +14,5 @@ export declare const DEFAULT_AES: AesItem;
14
14
  export declare const CAPTION_LINE_HEIGHT = 20;
15
15
  export declare const DEFAULT_TICKS_SIZE = 4;
16
16
  export declare const TICK_OFFSET = 4;
17
- export declare const LEGEND_OFFSET = 36;
17
+ export declare const LEGEND_OFFSET = 24;
18
18
  export declare const MIN_TICK_STEP = 25;
@@ -9,7 +9,7 @@ const T = {
9
9
  dotSize: 3,
10
10
  dotFill: o,
11
11
  dotShape: "21"
12
- }, A = 20, N = 4, S = 4, i = 36, l = 25;
12
+ }, A = 20, N = 4, S = 4, i = 24, l = 25;
13
13
  export {
14
14
  A as CAPTION_LINE_HEIGHT,
15
15
  L as DEFAULT_AES,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../src/discrete/constants.ts"],"sourcesContent":["import {BLACK} from '../constants';\nimport type { AesItem } from '../types';\n\n// inner paddings in chart area\nexport const PADDINGS = {\n TOP: 30,\n BOTTOM: 30,\n};\n\n// height of axis title\nexport const TITLE_LINE = 30;\nexport const FACET_TITLE_OFFSET = 6;\nexport const FACET_TITLE_LINE = 20;\nexport const MIN_PADDING = 15;\nexport const MIN_MARGIN = 24;\n\n// line height for pairwise p-values\nexport const P_VALUE_LINE_HEIGHT = 25;\n// offset between chart and p-value area\nexport const P_VALUE_OFFSET = 12;\n\nexport const DEFAULT_AES:AesItem = {\n fillColor: 'white',\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n dotSize: 3,\n dotFill: BLACK,\n dotShape: '21',\n};\n\nexport const CAPTION_LINE_HEIGHT = 20;\nexport const DEFAULT_TICKS_SIZE = 4;\nexport const TICK_OFFSET = 4;\n\nexport const LEGEND_OFFSET = 36;\n\nexport const MIN_TICK_STEP = 25;\n"],"names":["PADDINGS","TITLE_LINE","FACET_TITLE_OFFSET","FACET_TITLE_LINE","MIN_PADDING","MIN_MARGIN","P_VALUE_LINE_HEIGHT","P_VALUE_OFFSET","DEFAULT_AES","BLACK","CAPTION_LINE_HEIGHT","DEFAULT_TICKS_SIZE","TICK_OFFSET","LEGEND_OFFSET","MIN_TICK_STEP"],"mappings":";AAIO,MAAMA,IAAW;AAAA,EACpB,KAAK;AAET,GAGaC,IAAa,IACbC,IAAqB,GACrBC,IAAmB,IACnBC,IAAc,IACdC,IAAa,IAGbC,IAAsB,IAEtBC,IAAiB,IAEjBC,IAAsB;AAAA,EAC/B,WAAW;AAAA,EACX,WAAWC;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAASA;AAAA,EACT,UAAU;AACd,GAEaC,IAAsB,IACtBC,IAAqB,GACrBC,IAAc,GAEdC,IAAgB,IAEhBC,IAAgB;"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/discrete/constants.ts"],"sourcesContent":["import {BLACK} from '../constants';\nimport type { AesItem } from '../types';\n\n// inner paddings in chart area\nexport const PADDINGS = {\n TOP: 30,\n BOTTOM: 30,\n};\n\n// height of axis title\nexport const TITLE_LINE = 30;\nexport const FACET_TITLE_OFFSET = 6;\nexport const FACET_TITLE_LINE = 20;\nexport const MIN_PADDING = 15;\nexport const MIN_MARGIN = 24;\n\n// line height for pairwise p-values\nexport const P_VALUE_LINE_HEIGHT = 25;\n// offset between chart and p-value area\nexport const P_VALUE_OFFSET = 12;\n\nexport const DEFAULT_AES:AesItem = {\n fillColor: 'white',\n lineColor: BLACK,\n lineWidth: 1,\n lineShape: 'solid',\n dotSize: 3,\n dotFill: BLACK,\n dotShape: '21',\n};\n\nexport const CAPTION_LINE_HEIGHT = 20;\nexport const DEFAULT_TICKS_SIZE = 4;\nexport const TICK_OFFSET = 4;\n\nexport const LEGEND_OFFSET = 24;\n\nexport const MIN_TICK_STEP = 25;\n"],"names":["PADDINGS","TITLE_LINE","FACET_TITLE_OFFSET","FACET_TITLE_LINE","MIN_PADDING","MIN_MARGIN","P_VALUE_LINE_HEIGHT","P_VALUE_OFFSET","DEFAULT_AES","BLACK","CAPTION_LINE_HEIGHT","DEFAULT_TICKS_SIZE","TICK_OFFSET","LEGEND_OFFSET","MIN_TICK_STEP"],"mappings":";AAIO,MAAMA,IAAW;AAAA,EACpB,KAAK;AAET,GAGaC,IAAa,IACbC,IAAqB,GACrBC,IAAmB,IACnBC,IAAc,IACdC,IAAa,IAGbC,IAAsB,IAEtBC,IAAiB,IAEjBC,IAAsB;AAAA,EAC/B,WAAW;AAAA,EACX,WAAWC;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAASA;AAAA,EACT,UAAU;AACd,GAEaC,IAAsB,IACtBC,IAAqB,GACrBC,IAAc,GAEdC,IAAgB,IAEhBC,IAAgB;"}
@@ -1,47 +1,47 @@
1
- var O = Object.defineProperty;
2
- var P = (l, n, e) => n in l ? O(l, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : l[n] = e;
3
- var G = (l, n, e) => P(l, typeof n != "symbol" ? n + "" : n, e);
4
- import { l as R } from "../_virtual/lodash.js";
5
- import { s as U } from "../_virtual/server.browser.js";
6
- import { AbstractChart as T } from "../AbstractChart.js";
1
+ var U = Object.defineProperty;
2
+ var O = (l, n, r) => n in l ? U(l, n, { enumerable: !0, configurable: !0, writable: !0, value: r }) : l[n] = r;
3
+ var G = (l, n, r) => O(l, typeof n != "symbol" ? n + "" : n, r);
4
+ import { l as K } from "../_virtual/lodash.js";
5
+ import { s as T } from "../_virtual/server.browser.js";
6
+ import { AbstractChart as F } from "../AbstractChart.js";
7
7
  import { NO_GROUPED as C } from "../DataFrame.js";
8
- import { getUnknownErrorInfo as _, isErrorInfo as v } from "../types/common.js";
8
+ import { getUnknownErrorInfo as v, isErrorInfo as k } from "../types/common.js";
9
9
  import "../types/discrete.js";
10
10
  import "../types/scatterplot.js";
11
11
  import "../types/heatmap.js";
12
12
  import "../types/dendro.js";
13
13
  import "../types/histogram.js";
14
14
  import "../types/bubble.js";
15
- import F from "./ChartRenderer.js";
16
- import { MAX_GROUPS_COUNT as w, MAX_FACETS_COUNT as k } from "../constants.js";
17
- import { DiscreteSettingsImpl as b, StatLayer as S, BoxLayer as M, ViolinLayer as V, DotLayer as j, LineLayer as H, ErrorBarLayer as X, BarLayer as q, StackedBarLayer as z, StackedAreaLayer as J, BinnedDotsLayer as Q, PairedPointsLayer as W, SinaLayer as Y, LogoPlotLayer as Z } from "./DiscreteSettingsImpl.js";
18
- import { getBoxesData as $ } from "./layers/boxes.js";
19
- import { getViolinsData as tt } from "./layers/violins.js";
20
- import { getSinaData as at } from "./layers/sina.js";
15
+ import M from "./ChartRenderer.js";
16
+ import { MAX_GROUPS_COUNT as w, MAX_FACETS_COUNT as b } from "../constants.js";
17
+ import { DiscreteSettingsImpl as A, StatLayer as S, BoxLayer as V, ViolinLayer as j, DotLayer as H, LineLayer as X, ErrorBarLayer as q, BarLayer as z, StackedBarLayer as J, StackedAreaLayer as Q, BinnedDotsLayer as W, PairedPointsLayer as Y, SinaLayer as Z, LogoPlotLayer as $ } from "./DiscreteSettingsImpl.js";
18
+ import { getBoxesData as tt } from "./layers/boxes.js";
19
+ import { getViolinsData as at } from "./layers/violins.js";
20
+ import { getSinaData as rt } from "./layers/sina.js";
21
21
  import { getDotsData as et } from "./layers/dots.js";
22
- import { getLinesData as rt } from "./layers/lines.js";
23
- import { getErrorBarsData as ot } from "./layers/errorbars.js";
24
- import { getBarsData as nt } from "./layers/bar.js";
22
+ import { getLinesData as ot } from "./layers/lines.js";
23
+ import { getErrorBarsData as nt } from "./layers/errorbars.js";
24
+ import { getBarsData as it } from "./layers/bar.js";
25
25
  import { getStackedBarsData as st } from "./layers/stackedBar.js";
26
- import { getStackedAreaData as it } from "./layers/stackedArea.js";
27
- import { getBinnedDotsData as ut } from "./layers/binnedDots.js";
28
- import { getPairedPointsData as lt } from "./layers/pairedPoints.js";
29
- import { getLogoData as ct } from "./layers/logo.js";
30
- import { getStatsData as ht } from "./layers/stats/index.js";
31
- import { getFacetStringKey as A } from "./utils/getFacetStringKey.js";
32
- import { arraysAreDifferent as N } from "../utils/arraysAreDifferent.js";
33
- function x(l, n, e = null) {
34
- const t = n.value, r = l.getColumnCategories(t);
35
- return R.intersection(e ?? r, r).map(String);
26
+ import { getStackedAreaData as ut } from "./layers/stackedArea.js";
27
+ import { getBinnedDotsData as lt } from "./layers/binnedDots.js";
28
+ import { getPairedPointsData as ct } from "./layers/pairedPoints.js";
29
+ import { getLogoData as ht } from "./layers/logo.js";
30
+ import { getStatsData as dt } from "./layers/stats/index.js";
31
+ import { getFacetStringKey as N } from "./utils/getFacetStringKey.js";
32
+ import { arraysAreDifferent as x } from "../utils/arraysAreDifferent.js";
33
+ function I(l, n, r = null) {
34
+ const t = n.value, e = l.getColumnCategories(t);
35
+ return K.intersection(r ?? e, e).map(String);
36
36
  }
37
- function I(l) {
37
+ function R(l) {
38
38
  if (!l.length)
39
39
  return [];
40
40
  let n = [[]];
41
- return l.forEach((e) => {
41
+ return l.forEach((r) => {
42
42
  const t = [];
43
- e.forEach((r) => {
44
- t.push(...n.map((i) => [...i, r]));
43
+ r.forEach((e) => {
44
+ t.push(...n.map((s) => [...s, e]));
45
45
  }), n = t;
46
46
  }), n;
47
47
  }
@@ -54,176 +54,177 @@ function B(l, n) {
54
54
  valueLabels: { null: "" },
55
55
  inheritedAes: null
56
56
  };
57
- const e = n.columnName.value, t = n.columnName.valueLabels, r = l.getColumnCategories(e, !1), i = (o) => t ? String(
57
+ const r = n.columnName.value, t = n.columnName.valueLabels, e = l.getColumnCategories(r, !1), s = (o) => t ? String(
58
58
  l.getColumnValue(
59
59
  t,
60
- l.getColumnCategoryRowIndex(e, o)
60
+ l.getColumnCategoryRowIndex(r, o)
61
61
  )
62
- ) : o, u = l.getColumnCategories(e, !n.allowNullGroup);
62
+ ) : o, u = l.getColumnCategories(r, !n.allowNullGroup);
63
63
  return {
64
- keys: n.order === void 0 ? u : R.intersection(n.order.map(String), u),
65
- value: e,
66
- label: n.columnName.label ?? e,
67
- valueLabels: r.reduce((o, c) => (o[c] = i(c), o), {}),
64
+ keys: n.order === void 0 ? u : K.intersection(n.order.map(String), u),
65
+ value: r,
66
+ label: n.columnName.label ?? r,
67
+ valueLabels: e.reduce((o, c) => (o[c] = s(c), o), {}),
68
68
  inheritedAes: n.inheritedAes ?? null
69
69
  };
70
70
  }
71
- class Vt extends T {
72
- constructor(e, t, r) {
73
- super(e, t);
71
+ class jt extends F {
72
+ constructor(r, t, e) {
73
+ super(r, t);
74
74
  G(this, "settings");
75
- G(this, "chartRenderer", new F());
75
+ G(this, "chartRenderer", new M());
76
76
  G(this, "onTooltipHintSwitch", () => {
77
77
  });
78
78
  G(this, "calculatedData", null);
79
- this.settings = new b(t), r && (this.onTooltipHintSwitch = r[0]);
79
+ this.settings = new A(t), e && (this.onTooltipHintSwitch = e[0]);
80
80
  }
81
- mount(e) {
81
+ mount(r) {
82
82
  try {
83
- this.chartRenderer.init(e), this._updateData(), this._updateChart(), this.hasError = !1, this.errorInfo = null;
83
+ this.chartRenderer.init(r), this._updateData(), this._updateChart(), this.hasError = !1, this.errorInfo = null;
84
84
  } catch (t) {
85
- this.hasError = !0, t instanceof Error && (this.errorInfo = v(t.cause) ? t.cause : _(t), this.chartRenderer.renderError(t.message), console.error(t));
85
+ this.hasError = !0, t instanceof Error && (this.errorInfo = k(t.cause) ? t.cause : v(t), this.chartRenderer.renderError(t.message), console.error(t));
86
86
  }
87
87
  }
88
88
  unmount() {
89
89
  this.chartRenderer.clear();
90
90
  }
91
- updateSettingsAndData(e, t) {
91
+ updateSettingsAndData(r, t) {
92
92
  try {
93
- const r = this.settings, i = this.data;
94
- this.settings = new b(t), this.data = e, this._needUpdateCalculatedDataBySettings(r, this.settings) || this._needUpdateCalculatedDataByData(i, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart(), this.hasError = !1, this.errorInfo = null;
95
- } catch (r) {
96
- this.hasError = !0, r instanceof Error && (this.errorInfo = v(r.cause) ? r.cause : _(r), this.chartRenderer.renderError(r.message), console.error(r));
93
+ const e = this.settings, s = this.data;
94
+ this.settings = new A(t), this.data = r, this._needUpdateCalculatedDataBySettings(e, this.settings) || this._needUpdateCalculatedDataByData(s, this.data) ? this._updateData() : this._updateAesInData(), this._updateChart(), this.hasError = !1, this.errorInfo = null;
95
+ } catch (e) {
96
+ this.hasError = !0, e instanceof Error && (this.errorInfo = k(e.cause) ? e.cause : v(e), this.chartRenderer.renderError(e.message), console.error(e));
97
97
  }
98
98
  }
99
- updateChartState(e, t) {
99
+ updateChartState(r, t) {
100
100
  console.warn("no chart state for discrete");
101
101
  }
102
102
  export() {
103
- return this._updateChart(), U.renderToString(this.chartRenderer.component);
103
+ return this._updateChart(), T.renderToString(this.chartRenderer.component);
104
104
  }
105
- _needUpdateCalculatedDataBySettings(e, t) {
106
- var r, i, u, h, o, c, d, m, L, f, p, s;
107
- return e.chartSettings.yAxis.scale !== t.chartSettings.yAxis.scale || (((r = e.primaryGrouping) == null ? void 0 : r.columnName.value) ?? "") !== (((i = t.primaryGrouping) == null ? void 0 : i.columnName.value) ?? "") || (((u = e.secondaryGrouping) == null ? void 0 : u.columnName.value) ?? "") !== (((h = t.secondaryGrouping) == null ? void 0 : h.columnName.value) ?? "") || (((o = e.primaryGrouping) == null ? void 0 : o.allowNullGroup) ?? "") !== (((c = t.primaryGrouping) == null ? void 0 : c.allowNullGroup) ?? "") || (((d = e.secondaryGrouping) == null ? void 0 : d.allowNullGroup) ?? "") !== (((m = t.secondaryGrouping) == null ? void 0 : m.allowNullGroup) ?? "") || N((L = e.primaryGrouping) == null ? void 0 : L.order, (f = t.primaryGrouping) == null ? void 0 : f.order, { ignoreOrder: !0 }) || N((p = e.secondaryGrouping) == null ? void 0 : p.order, (s = t.secondaryGrouping) == null ? void 0 : s.order, { ignoreOrder: !0 }) || e.facetBy.some((y, g) => {
108
- var E;
109
- return y.value !== ((E = t.facetBy[g]) == null ? void 0 : E.value);
110
- }) || e.layers.length !== t.layers.length || e.layers.some((y, g) => !y.isEqualForCalculation(t.layers[g]));
105
+ _needUpdateCalculatedDataBySettings(r, t) {
106
+ var e, s, u, h, o, c, d, p, L, m, i, E;
107
+ return r.chartSettings.yAxis.scale !== t.chartSettings.yAxis.scale || (((e = r.primaryGrouping) == null ? void 0 : e.columnName.value) ?? "") !== (((s = t.primaryGrouping) == null ? void 0 : s.columnName.value) ?? "") || (((u = r.secondaryGrouping) == null ? void 0 : u.columnName.value) ?? "") !== (((h = t.secondaryGrouping) == null ? void 0 : h.columnName.value) ?? "") || (((o = r.primaryGrouping) == null ? void 0 : o.allowNullGroup) ?? "") !== (((c = t.primaryGrouping) == null ? void 0 : c.allowNullGroup) ?? "") || (((d = r.secondaryGrouping) == null ? void 0 : d.allowNullGroup) ?? "") !== (((p = t.secondaryGrouping) == null ? void 0 : p.allowNullGroup) ?? "") || x((L = r.primaryGrouping) == null ? void 0 : L.order, (m = t.primaryGrouping) == null ? void 0 : m.order, { ignoreOrder: !0 }) || x((i = r.secondaryGrouping) == null ? void 0 : i.order, (E = t.secondaryGrouping) == null ? void 0 : E.order, { ignoreOrder: !0 }) || r.facetBy.some((f, y) => {
108
+ var g;
109
+ return f.value !== ((g = t.facetBy[y]) == null ? void 0 : g.value);
110
+ }) || r.layers.length !== t.layers.length || r.layers.some((f, y) => !f.isEqualForCalculation(t.layers[y]));
111
111
  }
112
- _needUpdateCalculatedDataByData(e, t) {
113
- const r = Object.keys(e.data), i = Object.keys(t.data);
114
- return e.id !== t.id || r.length !== i.length || r.some((u) => {
112
+ _needUpdateCalculatedDataByData(r, t) {
113
+ const e = Object.keys(r.data), s = Object.keys(t.data);
114
+ return r.id !== t.id || e.length !== s.length || e.some((u) => {
115
115
  var h;
116
- return e.data[u].length !== ((h = t.data[u]) == null ? void 0 : h.length);
116
+ return r.data[u].length !== ((h = t.data[u]) == null ? void 0 : h.length);
117
117
  });
118
118
  }
119
119
  _updateData() {
120
- const { chartSettings: e, y: t, keyColumn: r, facetBy: i, layers: u, facetSettings: h } = this.settings, { yAxis: o } = e, c = this.data.getColumn(t.value).every((a) => a === null || !(Number(a) < 0)), d = B(this.data, this.settings.primaryGrouping), m = B(this.data, this.settings.secondaryGrouping), L = i.map((a) => a.value), f = u.some((a) => a.type === "logo" || a.type === "bar");
121
- if (!f && d.keys.length > w) {
120
+ var g, _;
121
+ const { chartSettings: r, y: t, keyColumn: e, facetBy: s, layers: u, facetSettings: h } = this.settings, { yAxis: o } = r, c = this.data.getColumn(t.value).every((a) => a === null || !(Number(a) < 0)), d = B(this.data, this.settings.primaryGrouping), p = B(this.data, this.settings.secondaryGrouping), L = s.map((a) => a.value);
122
+ if (!((g = this.settings.primaryGrouping) != null && g.unlimitedGroupsCount) && d.keys.length > w) {
122
123
  const a = {
123
124
  type: "tooManyPrimaryGroups",
124
125
  info: { count: d.keys.length, maxCount: w }
125
126
  };
126
127
  throw Error(a.type, { cause: a });
127
128
  }
128
- if (!f && m.keys.length > w) {
129
+ if (!((_ = this.settings.secondaryGrouping) != null && _.unlimitedGroupsCount) && p.keys.length > w) {
129
130
  const a = {
130
131
  type: "tooManySecondaryGroups",
131
- info: { count: m.keys.length, maxCount: w }
132
+ info: { count: p.keys.length, maxCount: w }
132
133
  };
133
134
  throw Error(a.type, { cause: a });
134
135
  }
135
- const p = i.length ? I(
136
- i.map((a) => {
136
+ const m = s.length ? R(
137
+ s.map((a) => {
137
138
  var D;
138
- return x(this.data, a, (D = h == null ? void 0 : h.order) == null ? void 0 : D[a.value]);
139
+ return I(this.data, a, (D = h == null ? void 0 : h.order) == null ? void 0 : D[a.value]);
139
140
  })
140
141
  ) : [[C]];
141
- if (p.length > k) {
142
+ if (m.length > b) {
142
143
  const a = {
143
144
  type: "tooManyFacets",
144
- info: { count: p.length, maxCount: k }
145
+ info: { count: m.length, maxCount: b }
145
146
  };
146
147
  throw Error(a.type, { cause: a });
147
148
  }
148
- this.data.setGrouping([...L, d.value, m.value]);
149
- const s = {
150
- facet: p,
149
+ this.data.setGrouping([...L, d.value, p.value]);
150
+ const i = {
151
+ facet: m,
151
152
  primary: d.value !== null ? d.keys : [C],
152
- secondary: m.value !== null ? m.keys : [C]
153
- }, y = s.facet.reduce((a, D) => (a[A(D)] = s.primary.filter(
154
- (K) => this.data.getRowsByGrouping([...D, K]).length > 0
155
- ).map(String), a), {}), g = u.filter((a) => !(a instanceof S)).map((a) => {
156
- if (a instanceof M)
157
- return $(a, s, this.data, t, r, o);
153
+ secondary: p.value !== null ? p.keys : [C]
154
+ }, E = i.facet.reduce((a, D) => (a[N(D)] = i.primary.filter(
155
+ (P) => this.data.getRowsByGrouping([...D, P]).length > 0
156
+ ).map(String), a), {}), f = u.filter((a) => !(a instanceof S)).map((a) => {
158
157
  if (a instanceof V)
159
- return tt(a, s, this.data, t, o);
158
+ return tt(a, i, this.data, t, e, o);
160
159
  if (a instanceof j)
161
- return et(a, s, this.data, t, o, r);
160
+ return at(a, i, this.data, t, o);
162
161
  if (a instanceof H)
163
- return rt(a, s, this.data, t, o);
162
+ return et(a, i, this.data, t, o, e);
164
163
  if (a instanceof X)
165
- return ot(a, s, this.data, t, o);
164
+ return ot(a, i, this.data, t, o);
166
165
  if (a instanceof q)
167
- return nt(a, s, this.data, t, o);
166
+ return nt(a, i, this.data, t, o);
168
167
  if (a instanceof z)
169
- return st(a, s, this.data, t);
168
+ return it(a, i, this.data, t, o);
170
169
  if (a instanceof J)
171
- return it(a, s, this.data, t);
170
+ return st(a, i, this.data, t);
172
171
  if (a instanceof Q)
173
- return ut(a, s, this.data, t, o);
172
+ return ut(a, i, this.data, t);
174
173
  if (a instanceof W)
175
- return lt(a, s, this.data, t, o);
174
+ return lt(a, i, this.data, t, o);
176
175
  if (a instanceof Y)
177
- return at(a, s, this.data, t, o);
176
+ return ct(a, i, this.data, t, o);
178
177
  if (a instanceof Z)
179
- return ct(a, s, this.data, t);
178
+ return rt(a, i, this.data, t, o);
179
+ if (a instanceof $)
180
+ return ht(a, i, this.data, t);
180
181
  throw new Error("Unknown layer type");
181
- }), E = u.filter((a) => a instanceof S).map((a) => {
182
+ }), y = u.filter((a) => a instanceof S).map((a) => {
182
183
  if (d.value === null)
183
184
  throw new Error("Cannot calculate p-value without data grouping");
184
- return ht(a, s.facet, s.primary, t, this.data);
185
+ return dt(a, i.facet, i.primary, t, this.data);
185
186
  });
186
187
  this.calculatedData = {
187
- layersData: g,
188
- statsLayersData: E,
188
+ layersData: f,
189
+ statsLayersData: y,
189
190
  primaryGrouping: d,
190
- secondaryGrouping: m,
191
- facetKeyLists: p,
192
- nonEmptyGroupsByFacets: y,
191
+ secondaryGrouping: p,
192
+ facetKeyLists: m,
193
+ nonEmptyGroupsByFacets: E,
193
194
  onlyPositive: c
194
195
  };
195
196
  }
196
197
  _updateAesInData() {
197
198
  if (this.calculatedData === null)
198
199
  return;
199
- const { layers: e, facetBy: t, primaryGrouping: r, secondaryGrouping: i, facetSettings: u } = this.settings, h = e.filter((o) => !(o instanceof S));
200
+ const { layers: r, facetBy: t, primaryGrouping: e, secondaryGrouping: s, facetSettings: u } = this.settings, h = r.filter((o) => !(o instanceof S));
200
201
  for (let o = 0; o < h.length; o++) {
201
202
  const c = h[o];
202
203
  "aes" in c && (this.calculatedData.layersData[o].aes = c.aes);
203
204
  }
204
- this.calculatedData.primaryGrouping = B(this.data, r), this.calculatedData.secondaryGrouping = B(this.data, i), this.calculatedData.facetKeyLists = t.length ? I(
205
+ this.calculatedData.primaryGrouping = B(this.data, e), this.calculatedData.secondaryGrouping = B(this.data, s), this.calculatedData.facetKeyLists = t.length ? R(
205
206
  t.map((o) => {
206
207
  var c;
207
- return x(this.data, o, (c = u == null ? void 0 : u.order) == null ? void 0 : c[o.value]);
208
+ return I(this.data, o, (c = u == null ? void 0 : u.order) == null ? void 0 : c[o.value]);
208
209
  })
209
210
  ) : [[C]];
210
211
  }
211
212
  _updateChart() {
212
213
  if (!this.calculatedData)
213
214
  return;
214
- const { id: e, chartSettings: t, keyColumn: r, facetSettings: i } = this.settings, u = this.calculatedData.facetKeyLists.map(A), h = this.calculatedData.facetKeyLists.map((o) => o.map((c) => c === C ? "null" : c));
215
+ const { id: r, chartSettings: t, keyColumn: e, facetSettings: s } = this.settings, u = this.calculatedData.facetKeyLists.map(N), h = this.calculatedData.facetKeyLists.map((o) => o.map((c) => c === C ? "null" : c));
215
216
  this.chartRenderer.render(
216
217
  this.data,
217
- e,
218
+ r,
218
219
  t,
219
220
  this.calculatedData.primaryGrouping,
220
221
  this.calculatedData.secondaryGrouping,
221
- i,
222
+ s,
222
223
  u,
223
224
  h,
224
225
  this.calculatedData.layersData,
225
226
  this.calculatedData.statsLayersData,
226
- r,
227
+ e,
227
228
  this.calculatedData.nonEmptyGroupsByFacets,
228
229
  this.calculatedData.onlyPositive,
229
230
  this.onTooltipHintSwitch
@@ -231,6 +232,6 @@ class Vt extends T {
231
232
  }
232
233
  }
233
234
  export {
234
- Vt as ChartDiscrete
235
+ jt as ChartDiscrete
235
236
  };
236
237
  //# sourceMappingURL=index.js.map