@milaboratories/graph-maker 1.1.141 → 1.1.143

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 (132) hide show
  1. package/dist/GraphMaker/components/LassoControls/index.vue.js +1 -1
  2. package/dist/GraphMaker/components/ReorderForm.vue.d.ts +15 -0
  3. package/dist/GraphMaker/components/ReorderForm.vue.d.ts.map +1 -0
  4. package/dist/GraphMaker/components/ReorderForm.vue.js +43 -0
  5. package/dist/GraphMaker/components/ReorderForm.vue.js.map +1 -0
  6. package/dist/GraphMaker/components/ReorderForm.vue2.js +5 -0
  7. package/dist/GraphMaker/components/ReorderForm.vue2.js.map +1 -0
  8. package/dist/GraphMaker/constantsCommon.d.ts +23 -0
  9. package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
  10. package/dist/GraphMaker/constantsCommon.js +97 -83
  11. package/dist/GraphMaker/constantsCommon.js.map +1 -1
  12. package/dist/GraphMaker/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
  13. package/dist/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.d.ts.map +1 -1
  14. package/dist/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +305 -172
  15. package/dist/GraphMaker/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
  16. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts +3 -0
  17. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts.map +1 -0
  18. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js +90 -0
  19. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -0
  20. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue2.js +5 -0
  21. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue2.js.map +1 -0
  22. package/dist/GraphMaker/forms/LayersForm/index.vue.d.ts.map +1 -1
  23. package/dist/GraphMaker/forms/LayersForm/index.vue.js +45 -43
  24. package/dist/GraphMaker/forms/LayersForm/index.vue.js.map +1 -1
  25. package/dist/GraphMaker/index.vue.d.ts.map +1 -1
  26. package/dist/GraphMaker/index.vue.js +33 -34
  27. package/dist/GraphMaker/index.vue.js.map +1 -1
  28. package/dist/GraphMaker/types.d.ts +1 -1
  29. package/dist/GraphMaker/types.d.ts.map +1 -1
  30. package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +3 -3
  31. package/dist/GraphMaker/utils/createChartSettingsForRender/composeBubbleSettings.d.ts.map +1 -1
  32. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts +9 -9
  33. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDendroSettings.d.ts.map +1 -1
  34. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +21 -11
  35. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
  36. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +3 -3
  37. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
  38. package/dist/GraphMaker/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +1 -1
  39. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +31 -5
  40. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
  41. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js +56 -53
  42. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
  43. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts +1 -7
  44. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.d.ts.map +1 -1
  45. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +13 -13
  46. package/dist/GraphMaker/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
  47. package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts +6 -4
  48. package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts.map +1 -1
  49. package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.js +42 -13
  50. package/dist/GraphMaker/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
  51. package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts.map +1 -1
  52. package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js +84 -70
  53. package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
  54. package/dist/GraphMaker/utils/loadUniqueValuesToSave.d.ts.map +1 -1
  55. package/dist/GraphMaker/utils/loadUniqueValuesToSave.js +48 -44
  56. package/dist/GraphMaker/utils/loadUniqueValuesToSave.js.map +1 -1
  57. package/dist/node_modules/@milaboratories/miplots4/dist/MiPlots.js +1 -1
  58. package/dist/node_modules/@milaboratories/miplots4/dist/{discrete/components → common}/BandAxis.js +3 -3
  59. package/dist/node_modules/@milaboratories/miplots4/dist/common/BandAxis.js.map +1 -0
  60. package/dist/node_modules/@milaboratories/miplots4/dist/common/ContinuousGrid.js.map +1 -1
  61. package/dist/node_modules/@milaboratories/miplots4/dist/dendro/ChartRenderer.js +14 -14
  62. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/ChartRenderer.js +197 -270
  63. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/ChartRenderer.js.map +1 -1
  64. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js +182 -161
  65. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
  66. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Chart.js +121 -104
  67. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Chart.js.map +1 -1
  68. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/ChartsGroup.js +4 -4
  69. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/Grid.js.map +1 -1
  70. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedAreaElement.js +105 -0
  71. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedAreaElement.js.map +1 -0
  72. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedBarElement.js +66 -59
  73. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/layers/StackedBarElement.js.map +1 -1
  74. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js +61 -58
  75. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js.map +1 -1
  76. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedArea.js +17 -0
  77. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedArea.js.map +1 -0
  78. package/dist/node_modules/@milaboratories/miplots4/dist/histogram/ChartRenderer.js +1 -1
  79. package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-scale/src/band.js +44 -34
  80. package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-scale/src/band.js.map +1 -1
  81. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ChartRenderer.js +272 -195
  82. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ChartRenderer.js.map +1 -1
  83. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ScatterplotSettingsImpl.js +23 -23
  84. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/ScatterplotSettingsImpl.js.map +1 -1
  85. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Chart.js +54 -50
  86. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Chart.js.map +1 -1
  87. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartAxis.js +32 -28
  88. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartAxis.js.map +1 -1
  89. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartLayersData.js.map +1 -1
  90. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartTooltip.js.map +1 -1
  91. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartTrendsData.js +29 -26
  92. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartTrendsData.js.map +1 -1
  93. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartsGroup.js +44 -41
  94. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/ChartsGroup.js.map +1 -1
  95. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Grid.js +31 -27
  96. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Grid.js.map +1 -1
  97. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/dots.js.map +1 -1
  98. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/getLayersData.js +29 -18
  99. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/getLayersData.js.map +1 -1
  100. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/index.js +71 -57
  101. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/index.js.map +1 -1
  102. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/linearRegression.js.map +1 -1
  103. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/isNumericScale.js +11 -0
  104. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/utils/isNumericScale.js.map +1 -0
  105. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/ChartRenderer.js +10 -10
  106. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
  107. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/SettingsImpl.js.map +1 -1
  108. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/components/LowerSVG.js +6 -6
  109. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot-umap/components/LowerSVG.js.map +1 -1
  110. package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js +35 -25
  111. package/dist/node_modules/@milaboratories/miplots4/dist/types/common.js.map +1 -1
  112. package/dist/node_modules/@milaboratories/miplots4/dist/types/dendro.js +3 -3
  113. package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js +51 -36
  114. package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js.map +1 -1
  115. package/dist/node_modules/@milaboratories/miplots4/dist/types/heatmap.js +6 -6
  116. package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot-umap.js +7 -7
  117. package/dist/node_modules/@milaboratories/miplots4/dist/types/scatterplot-umap.js.map +1 -1
  118. package/dist/node_modules/@milaboratories/miplots4/dist/utils/createMultilineDiscreteLabels.js +32 -0
  119. package/dist/node_modules/@milaboratories/miplots4/dist/utils/createMultilineDiscreteLabels.js.map +1 -0
  120. package/dist/node_modules/@milaboratories/miplots4/dist/utils/getFacetRowsColumns.js +18 -0
  121. package/dist/node_modules/@milaboratories/miplots4/dist/utils/getFacetRowsColumns.js.map +1 -0
  122. package/dist/node_modules/@milaboratories/miplots4/dist/utils/measureMultilineDiscreteLabels.js +63 -0
  123. package/dist/node_modules/@milaboratories/miplots4/dist/utils/measureMultilineDiscreteLabels.js.map +1 -0
  124. package/dist/node_modules/@milaboratories/miplots4/dist/{discrete/utils → utils}/splitTextByWidth.js +1 -1
  125. package/dist/node_modules/@milaboratories/miplots4/dist/utils/splitTextByWidth.js.map +1 -0
  126. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +2 -2
  127. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -1
  128. package/package.json +3 -3
  129. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/components/BandAxis.js.map +0 -1
  130. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/utils/splitTextByWidth.js.map +0 -1
  131. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Axis.js +0 -59
  132. package/dist/node_modules/@milaboratories/miplots4/dist/scatterplot/components/Axis.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LowerSVG.js","sources":["../../../../../../../node_modules/@milaboratories/miplots4/src/scatterplot-umap/components/LowerSVG.tsx"],"sourcesContent":["import {format} from 'd3-format';\nimport { curveBasis, line } from 'd3-shape';\nimport React, { useEffect, useState } from 'react';\nimport { ChartsTitle } from '../../common/ChartsTitle';\nimport { ContinuousGrid } from '../../common/ContinuousGrid';\nimport fonts from '../../common/fonts';\nimport { Legend } from '../../common/Legend';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport type { LegendData } from '../../common/types';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport { BLACK } from '../../constants';\nimport type { DataFrame } from '../../DataFrame';\nimport { Axis } from '../../scatterplot/components/Axis';\nimport {formatColumnValue} from '../../scatterplot/utils/formatColumnValue';\nimport type { ColumnName } from '../../types';\nimport type { CurveUmapLayer } from '../../types/scatterplot-umap';\nimport { DEFAULT_TICKS_SIZE, LEGEND_OFFSET, TITLE_LINE } from '../constants';\nimport type { ScatterplotUmapSettingsImpl } from '../SettingsImpl';\nimport type { CaptionsSizes, ChartScales, ChartSizes, Dot, DotInfo, Margins, SVGLayerProps } from '../types';\n\nfunction getTooltipContent(dataFrame: DataFrame, dot: DotInfo, columnsList: ColumnName[] = [], ) {\n const lines: string[] = [];\n for (const column of columnsList) {\n const columnFormatter = column?.format ? format(column.format) : undefined;\n lines.push(`${column.label}: ${formatColumnValue(dataFrame, dot.idx, column, columnFormatter)}`);\n }\n return lines;\n}\n\nfunction getTitle(title: string | ColumnName): string {\n if (typeof title === 'string') {\n return title;\n }\n return title.label ?? title.value;\n}\n\nconst lineGenerator = line<Dot>().curve(curveBasis);\n\nfunction LowerSvg({\n scales,\n chartSettings,\n mainTitle,\n keyColumn,\n margins,\n chartSizes,\n container,\n zoomStateKey,\n legendData,\n dotsByGrouping,\n layers,\n aesGetters,\n tooltipData\n}: {\n aesGetters: SVGLayerProps['aesGetters'];\n scales: ChartScales;\n chartSettings: ScatterplotUmapSettingsImpl['chartSettings'];\n mainTitle: string[];\n keyColumn: ColumnName | null;\n margins: Margins;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n selectedDot?: DotInfo | null;\n container: SVGElement | null;\n zoomStateKey: string;\n legendData: LegendData;\n dotsByGrouping: Record<string, Dot[]>;\n layers: ScatterplotUmapSettingsImpl['layers'];\n tooltipData: TooltipsData<DotInfo>;\n}) {\n const dataFrame = useDataFrame();\n const {title, xAxis, yAxis, frame, legend} = chartSettings;\n const tickSizeX = xAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const tickSizeY = yAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const xTitle = xAxis.title;\n const yTitle = yAxis.title;\n const needLeftAxis = true;\n const needBottomAxis = true;\n\n const sideDistances = {\n left: 0,\n right: chartSizes.chartWidth,\n top: 0,\n bottom: chartSizes.chartHeight,\n };\n\n if (!container) {\n return null;\n }\n\n const curveLayer = layers.find(layer => layer.type === 'curve') as CurveUmapLayer | undefined;\n const [lines, setLines] = useState<{key: string, d:string, dot: Dot}[]>([]);\n\n function updateLines() {\n const data = Object.entries(dotsByGrouping);\n const nextLines = data.map(([key, dots]) => ({\n key,\n d: curveLayer?.smoothing ? lineGenerator(dots) ?? '' : dots.map(d => `${scales.x(d.x)},${scales.y(d.y)}`).join(' '),\n dot: dots[0]\n }));\n setLines(nextLines);\n }\n useEffect(() => {\n if (!curveLayer) {\n return;\n }\n lineGenerator\n .x((d: Dot) => scales.x(d.x))\n .y((d: Dot) => scales.y(d.y));\n updateLines();\n }, [zoomStateKey, chartSizes.chartWidth, chartSizes.chartHeight]);\n\n useEffect(() => {\n if (!curveLayer) {\n return;\n }\n updateLines();\n }, [curveLayer?.smoothing]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${chartSizes.totalWidth} ${chartSizes.totalHeight}`}\n width={chartSizes.totalWidth}\n height={chartSizes.totalHeight}\n style={{pointerEvents: 'none'}}\n >\n <defs>{fonts}</defs>\n <g transform={`translate(${margins.left},${margins.top})`} fontFamily=\"Manrope\">\n <clipPath id=\"viewportClipPath\">\n <rect x=\"0\" y=\"0\" width={chartSizes.chartWidth} height={chartSizes.chartHeight}/>\n </clipPath>\n <ChartsTitle\n title={mainTitle}\n show={title.show}\n position={title.position}\n leftPadding={margins.left}\n rightPadding={margins.right}\n chartsWidth={chartSizes.chartWidth}\n />\n <g dominantBaseline=\"central\" textAnchor=\"middle\" fontWeight=\"500\" fontSize=\"14px\" fill={BLACK}>\n {xTitle && (\n <text\n x={chartSizes.chartWidth / 2}\n y={chartSizes.chartHeight + margins.bottom - TITLE_LINE / 2}\n >\n {getTitle(xTitle)}\n </text>\n )}\n {yTitle && (\n <text\n x={-margins.left + TITLE_LINE / 2}\n y={chartSizes.chartHeight / 2}\n transform={`rotate(-90,${-margins.left + TITLE_LINE / 2},${\n chartSizes.chartHeight / 2\n })`}\n >\n {getTitle(yTitle)}\n </text>\n )}\n </g>\n <ContinuousGrid\n width={chartSizes.chartWidth}\n height={chartSizes.chartHeight}\n scaleX={scales.x}\n scaleY={scales.y}\n axisX={xAxis}\n axisY={yAxis}\n updatingKey={zoomStateKey}\n frameType={frame.type}\n />\n {needBottomAxis && (\n <g transform={`translate(0,${chartSizes.chartHeight})`}>\n <Axis scale={scales.x} orient=\"bottom\" tickSize={tickSizeX} />\n </g>\n )}\n {needLeftAxis && (\n <g>\n <Axis scale={scales.y} orient=\"left\" tickSize={tickSizeY} />\n </g>\n )}\n {curveLayer && curveLayer.smoothing && (\n <g clipPath=\"url(#viewportClipPath)\">\n {lines.map(({key, d, dot}) => (\n <path\n key={key}\n d={d}\n fill=\"none\"\n stroke={aesGetters.dotFill(dot.idx)}\n strokeWidth={curveLayer.aes?.lineWidth}\n strokeDasharray={aesGetters.lineType(dot.idx)}\n />\n ))}\n </g>\n )}\n {curveLayer && !curveLayer.smoothing && (\n <g clipPath=\"url(#viewportClipPath)\">\n {lines.map(({key, d, dot}) => (\n <polyline\n key={key}\n points={d}\n fill=\"none\"\n stroke={aesGetters.dotFill(dot.idx)}\n strokeWidth={curveLayer.aes?.lineWidth}\n strokeDasharray={aesGetters.lineType(dot.idx)}\n />\n ))}\n </g>\n )}\n {chartSettings.tooltips.show && tooltipData.selectedData && (\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipData.selectedData, chartSettings.tooltips?.content)}\n x={scales.x(tooltipData.selectedData.x)}\n y={scales.y(tooltipData.selectedData.y)}\n active={true}\n fixed={tooltipData.fixed}\n sideDistances={sideDistances}\n container={container}\n onClose={tooltipData.onClose}\n />\n )}\n {legend.show && (\n <g transform={`translate(${chartSizes.chartWidth + LEGEND_OFFSET},0)`}>\n <Legend legendData={legendData} />\n </g>\n )}\n </g>\n </svg>\n );\n}\n\nexport default React.memo(LowerSvg);\n"],"names":["getTooltipContent","dataFrame","dot","columnsList","lines","column","columnFormatter","format","formatColumnValue","getTitle","title","lineGenerator","line","curveBasis","LowerSvg","scales","chartSettings","mainTitle","keyColumn","margins","chartSizes","container","zoomStateKey","legendData","dotsByGrouping","layers","aesGetters","tooltipData","useDataFrame","xAxis","yAxis","frame","legend","tickSizeX","DEFAULT_TICKS_SIZE","tickSizeY","xTitle","yTitle","sideDistances","curveLayer","layer","setLines","useState","updateLines","nextLines","key","dots","d","useEffect","jsxs","jsx","fonts","ChartsTitle","BLACK","TITLE_LINE","ContinuousGrid","Axis","_a","o","Tooltip","LEGEND_OFFSET","Legend","LowerSvg$1","React"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"LowerSVG.js","sources":["../../../../../../../node_modules/@milaboratories/miplots4/src/scatterplot-umap/components/LowerSVG.tsx"],"sourcesContent":["import {format} from 'd3-format';\nimport { curveBasis, line } from 'd3-shape';\nimport React, { useEffect, useState } from 'react';\nimport { ChartsTitle } from '../../common/ChartsTitle';\nimport { ContinuousGrid } from '../../common/ContinuousGrid';\nimport fonts from '../../common/fonts';\nimport { Legend } from '../../common/Legend';\nimport type { TooltipsData } from '../../common/Tooltip';\nimport { Tooltip } from '../../common/Tooltip';\nimport type { LegendData } from '../../common/types';\nimport { useDataFrame } from '../../common/useDataFrame';\nimport { BLACK } from '../../constants';\nimport type { DataFrame } from '../../DataFrame';\nimport { ContinuousAxis } from '../../common/ContinuousAxis';\nimport {formatColumnValue} from '../../scatterplot/utils/formatColumnValue';\nimport type { ColumnName } from '../../types';\nimport type { CurveUmapLayer } from '../../types/scatterplot-umap';\nimport { DEFAULT_TICKS_SIZE, LEGEND_OFFSET, TITLE_LINE } from '../constants';\nimport type { ScatterplotUmapSettingsImpl } from '../SettingsImpl';\nimport type { CaptionsSizes, ChartScales, ChartSizes, Dot, DotInfo, Margins, SVGLayerProps } from '../types';\n\nfunction getTooltipContent(dataFrame: DataFrame, dot: DotInfo, columnsList: ColumnName[] = [], ) {\n const lines: string[] = [];\n for (const column of columnsList) {\n const columnFormatter = column?.format ? format(column.format) : undefined;\n lines.push(`${column.label}: ${formatColumnValue(dataFrame, dot.idx, column, columnFormatter)}`);\n }\n return lines;\n}\n\nfunction getTitle(title: string | ColumnName): string {\n if (typeof title === 'string') {\n return title;\n }\n return title.label ?? title.value;\n}\n\nconst lineGenerator = line<Dot>().curve(curveBasis);\n\nfunction LowerSvg({\n scales,\n chartSettings,\n mainTitle,\n keyColumn,\n margins,\n chartSizes,\n container,\n zoomStateKey,\n legendData,\n dotsByGrouping,\n layers,\n aesGetters,\n tooltipData\n}: {\n aesGetters: SVGLayerProps['aesGetters'];\n scales: ChartScales;\n chartSettings: ScatterplotUmapSettingsImpl['chartSettings'];\n mainTitle: string[];\n keyColumn: ColumnName | null;\n margins: Margins;\n chartSizes: ChartSizes;\n captionsSizes: CaptionsSizes;\n selectedDot?: DotInfo | null;\n container: SVGElement | null;\n zoomStateKey: string;\n legendData: LegendData;\n dotsByGrouping: Record<string, Dot[]>;\n layers: ScatterplotUmapSettingsImpl['layers'];\n tooltipData: TooltipsData<DotInfo>;\n}) {\n const dataFrame = useDataFrame();\n const {title, xAxis, yAxis, frame, legend} = chartSettings;\n const tickSizeX = xAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const tickSizeY = yAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const xTitle = xAxis.title;\n const yTitle = yAxis.title;\n const needLeftAxis = true;\n const needBottomAxis = true;\n\n const sideDistances = {\n left: 0,\n right: chartSizes.chartWidth,\n top: 0,\n bottom: chartSizes.chartHeight,\n };\n\n if (!container) {\n return null;\n }\n\n const curveLayer = layers.find(layer => layer.type === 'curve') as CurveUmapLayer | undefined;\n const [lines, setLines] = useState<{key: string, d:string, dot: Dot}[]>([]);\n\n function updateLines() {\n const data = Object.entries(dotsByGrouping);\n const nextLines = data.map(([key, dots]) => ({\n key,\n d: curveLayer?.smoothing ? lineGenerator(dots) ?? '' : dots.map(d => `${scales.x(d.x)},${scales.y(d.y)}`).join(' '),\n dot: dots[0]\n }));\n setLines(nextLines);\n }\n useEffect(() => {\n if (!curveLayer) {\n return;\n }\n lineGenerator\n .x((d: Dot) => scales.x(d.x))\n .y((d: Dot) => scales.y(d.y));\n updateLines();\n }, [zoomStateKey, chartSizes.chartWidth, chartSizes.chartHeight]);\n\n useEffect(() => {\n if (!curveLayer) {\n return;\n }\n updateLines();\n }, [curveLayer?.smoothing]);\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${chartSizes.totalWidth} ${chartSizes.totalHeight}`}\n width={chartSizes.totalWidth}\n height={chartSizes.totalHeight}\n style={{pointerEvents: 'none'}}\n >\n <defs>{fonts}</defs>\n <g transform={`translate(${margins.left},${margins.top})`} fontFamily=\"Manrope\">\n <clipPath id=\"viewportClipPath\">\n <rect x=\"0\" y=\"0\" width={chartSizes.chartWidth} height={chartSizes.chartHeight}/>\n </clipPath>\n <ChartsTitle\n title={mainTitle}\n show={title.show}\n position={title.position}\n leftPadding={margins.left}\n rightPadding={margins.right}\n chartsWidth={chartSizes.chartWidth}\n />\n <g dominantBaseline=\"central\" textAnchor=\"middle\" fontWeight=\"500\" fontSize=\"14px\" fill={BLACK}>\n {xTitle && (\n <text\n x={chartSizes.chartWidth / 2}\n y={chartSizes.chartHeight + margins.bottom - TITLE_LINE / 2}\n >\n {getTitle(xTitle)}\n </text>\n )}\n {yTitle && (\n <text\n x={-margins.left + TITLE_LINE / 2}\n y={chartSizes.chartHeight / 2}\n transform={`rotate(-90,${-margins.left + TITLE_LINE / 2},${\n chartSizes.chartHeight / 2\n })`}\n >\n {getTitle(yTitle)}\n </text>\n )}\n </g>\n <ContinuousGrid\n width={chartSizes.chartWidth}\n height={chartSizes.chartHeight}\n scaleX={scales.x}\n scaleY={scales.y}\n axisX={xAxis}\n axisY={yAxis}\n updatingKey={zoomStateKey}\n frameType={frame.type}\n />\n {needBottomAxis && (\n <g transform={`translate(0,${chartSizes.chartHeight})`}>\n <ContinuousAxis scale={scales.x} orient=\"bottom\" tickSize={tickSizeX} />\n </g>\n )}\n {needLeftAxis && (\n <g>\n <ContinuousAxis scale={scales.y} orient=\"left\" tickSize={tickSizeY} />\n </g>\n )}\n {curveLayer && curveLayer.smoothing && (\n <g clipPath=\"url(#viewportClipPath)\">\n {lines.map(({key, d, dot}) => (\n <path\n key={key}\n d={d}\n fill=\"none\"\n stroke={aesGetters.dotFill(dot.idx)}\n strokeWidth={curveLayer.aes?.lineWidth}\n strokeDasharray={aesGetters.lineType(dot.idx)}\n />\n ))}\n </g>\n )}\n {curveLayer && !curveLayer.smoothing && (\n <g clipPath=\"url(#viewportClipPath)\">\n {lines.map(({key, d, dot}) => (\n <polyline\n key={key}\n points={d}\n fill=\"none\"\n stroke={aesGetters.dotFill(dot.idx)}\n strokeWidth={curveLayer.aes?.lineWidth}\n strokeDasharray={aesGetters.lineType(dot.idx)}\n />\n ))}\n </g>\n )}\n {chartSettings.tooltips.show && tooltipData.selectedData && (\n <Tooltip\n content={getTooltipContent(dataFrame, tooltipData.selectedData, chartSettings.tooltips?.content)}\n x={scales.x(tooltipData.selectedData.x)}\n y={scales.y(tooltipData.selectedData.y)}\n active={true}\n fixed={tooltipData.fixed}\n sideDistances={sideDistances}\n container={container}\n onClose={tooltipData.onClose}\n />\n )}\n {legend.show && (\n <g transform={`translate(${chartSizes.chartWidth + LEGEND_OFFSET},0)`}>\n <Legend legendData={legendData} />\n </g>\n )}\n </g>\n </svg>\n );\n}\n\nexport default React.memo(LowerSvg);\n"],"names":["getTooltipContent","dataFrame","dot","columnsList","lines","column","columnFormatter","format","formatColumnValue","getTitle","title","lineGenerator","line","curveBasis","LowerSvg","scales","chartSettings","mainTitle","keyColumn","margins","chartSizes","container","zoomStateKey","legendData","dotsByGrouping","layers","aesGetters","tooltipData","useDataFrame","xAxis","yAxis","frame","legend","tickSizeX","DEFAULT_TICKS_SIZE","tickSizeY","xTitle","yTitle","sideDistances","curveLayer","layer","setLines","useState","updateLines","nextLines","key","dots","d","useEffect","jsxs","jsx","fonts","ChartsTitle","BLACK","TITLE_LINE","ContinuousGrid","ContinuousAxis","_a","o","Tooltip","LEGEND_OFFSET","Legend","LowerSvg$1","React"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  import e from "../node_modules/zod/lib/index.js";
2
- const c = e.union([e.string(), e.number(), e.null()]), t = [
2
+ const h = e.union([e.string(), e.number(), e.null()]), t = [
3
3
  "0",
4
4
  "1",
5
5
  "2",
@@ -25,14 +25,14 @@ const c = e.union([e.string(), e.number(), e.null()]), t = [
25
25
  "23",
26
26
  "24",
27
27
  "25"
28
- ], i = e.enum(t), l = ["solid", "dashed", "dotted", "dotdash", "longdash", "twodash"], n = e.enum(l), r = ["left", "bottom", "left-bottom", "full", "empty"], g = e.enum(r), s = ["inside", "right", "top", "bottom"], b = e.enum(s), u = ["left", "center", "right"], h = e.enum(u), a = e.object({
28
+ ], i = e.enum(t), l = ["solid", "dashed", "dotted", "dotdash", "longdash", "twodash"], n = e.enum(l), s = ["left", "bottom", "left-bottom", "full", "empty"], d = e.enum(s), r = ["inside", "right", "top", "bottom"], S = e.enum(r), u = ["left", "center", "right"], f = e.enum(u), a = e.object({
29
29
  type: e.literal("column"),
30
30
  value: e.string(),
31
31
  format: e.optional(e.string()),
32
32
  // d3 format
33
33
  label: e.optional(e.string()),
34
34
  valueLabels: e.optional(e.string())
35
- }), m = e.object({
35
+ }), c = e.object({
36
36
  fillColor: e.optional(e.string()),
37
37
  lineColor: e.optional(e.string()),
38
38
  lineWidth: e.optional(e.number()),
@@ -40,14 +40,14 @@ const c = e.union([e.string(), e.number(), e.null()]), t = [
40
40
  dotShape: e.optional(i),
41
41
  dotSize: e.optional(e.number()),
42
42
  dotFill: e.optional(e.string())
43
- }), d = e.record(m);
44
- function S(o) {
43
+ }), y = e.record(c);
44
+ function A(o) {
45
45
  return e.object({
46
46
  columnName: a,
47
47
  valuesMap: e.record(o)
48
48
  });
49
49
  }
50
- function f(o) {
50
+ function L(o) {
51
51
  return e.object({
52
52
  columnName: a,
53
53
  domain: e.array(e.number()),
@@ -55,42 +55,52 @@ function f(o) {
55
55
  type: e.optional(e.union([e.literal("linear"), e.literal("log")]))
56
56
  });
57
57
  }
58
- function y(o) {
58
+ function j(o) {
59
59
  return typeof o != "object" ? !1 : o !== null && "valuesMap" in o;
60
60
  }
61
- function A(o) {
61
+ function P(o) {
62
62
  return typeof o != "object" ? !1 : o !== null && "domain" in o && "range" in o;
63
63
  }
64
- const L = e.object({
64
+ const m = e.union([e.literal("center"), e.literal("45deg"), e.literal("90deg")]), p = e.object({
65
65
  title: e.optional(e.union([e.string(), a])),
66
- scale: e.optional(e.union([e.literal("linear"), e.literal("log")])),
66
+ scale: e.optional(e.literal("discrete")),
67
+ keys: e.optional(e.array(e.union([e.string(), e.number()]))),
68
+ labels: e.optional(e.record(e.string())),
67
69
  showGrid: e.optional(e.boolean()),
68
70
  linesBetweenCategories: e.optional(e.boolean()),
69
71
  showTicks: e.optional(e.boolean()),
70
- labelsPosition: e.optional(e.union([e.literal("center"), e.literal("45deg"), e.literal("90deg")])),
72
+ labelsPosition: e.optional(m),
73
+ hiddenLabels: e.optional(e.boolean())
74
+ }), g = e.object({
75
+ title: e.optional(e.union([e.string(), a])),
76
+ scale: e.optional(e.union([e.literal("linear"), e.literal("log")])),
77
+ showGrid: e.optional(e.boolean()),
78
+ showTicks: e.optional(e.boolean()),
71
79
  significantLines: e.optional(e.array(e.number())),
72
80
  significantLinesStyle: e.optional(n),
73
81
  symmetricRange: e.optional(e.number()),
74
82
  upperValue: e.optional(e.number()),
75
- lowerValue: e.optional(e.number()),
76
- hiddenLabels: e.optional(e.boolean())
77
- });
83
+ lowerValue: e.optional(e.number())
84
+ }), T = e.union([p, g]);
78
85
  export {
79
- m as AesItemSchema,
80
- d as AesRecordSchema,
81
- L as AxisSettingsSchema,
86
+ c as AesItemSchema,
87
+ y as AesRecordSchema,
88
+ g as AxisSettingsContinuousSchema,
89
+ p as AxisSettingsDiscreteSchema,
90
+ T as AxisSettingsSchema,
82
91
  a as ColumnNameSchema,
83
- c as DataValueSchema,
84
- g as FrameTypeSchema,
85
- b as LegendPositionSchema,
92
+ h as DataValueSchema,
93
+ m as DiscreteLabelsPositionSchema,
94
+ d as FrameTypeSchema,
95
+ S as LegendPositionSchema,
86
96
  n as LineShapeSchema,
87
97
  t as POINT_SHAPE,
88
98
  i as PointShapeSchema,
89
99
  u as TITLE_POSITION,
90
- h as TitlePositionSchema,
91
- S as categoricalAesMappingFromValueSchema,
92
- f as continuousAesMappingFromValueSchema,
93
- y as isCategoricalAes,
94
- A as isContinuousAes
100
+ f as TitlePositionSchema,
101
+ A as categoricalAesMappingFromValueSchema,
102
+ L as continuousAesMappingFromValueSchema,
103
+ j as isCategoricalAes,
104
+ P as isContinuousAes
95
105
  };
96
106
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/common.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { LassoControlsState, Polygon } from '../scatterplot-umap/types';\nimport type { CategoricalAesFromColumn, ContinuousAesFromColumn } from './scatterplot';\n\nexport type DataValue = string | number | null;\nexport type Category = string;\nexport const DataValueSchema = z.union([z.string(), z.number(), z.null()]);\n\nexport type Row = Record<string, DataValue>\n\nexport type Color = string;\n\n// numbered according ggplot2 symbols, 19 (third size of black circle) is missed\nexport const POINT_SHAPE = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '20',\n '21',\n '22',\n '23',\n '24',\n '25',\n] as const;\nexport const PointShapeSchema = z.enum(POINT_SHAPE);\nexport type PointShape = z.infer<typeof PointShapeSchema>;\n\nconst LINE_SHAPE = ['solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'] as const;\nexport const LineShapeSchema = z.enum(LINE_SHAPE);\nexport type LineShape = z.infer<typeof LineShapeSchema>;\n\nconst FRAME_TYPE = ['left', 'bottom', 'left-bottom', 'full', 'empty'] as const;\nexport const FrameTypeSchema = z.enum(FRAME_TYPE);\nexport type FrameType = z.infer<typeof FrameTypeSchema>;\n\nconst LEGEND_POSITION = ['inside', 'right', 'top', 'bottom'] as const;\nexport const LegendPositionSchema = z.enum(LEGEND_POSITION);\nexport type LegendPosition = z.infer<typeof LegendPositionSchema>;\n\nexport const TITLE_POSITION = ['left', 'center', 'right'] as const;\nexport const TitlePositionSchema = z.enum(TITLE_POSITION);\nexport type TitlePosition = z.infer<typeof TitlePositionSchema>;\n\nexport const ColumnNameSchema = z.object({\n type: z.literal('column'),\n value: z.string(),\n format: z.optional(z.string()), // d3 format\n label: z.optional(z.string()),\n valueLabels: z.optional(z.string())\n});\nexport type ColumnName = z.infer<typeof ColumnNameSchema>\n\nexport type AesItem = {\n fillColor?: Color;\n lineColor?: Color;\n lineWidth?: number;\n lineShape?: LineShape;\n dotShape?: PointShape;\n dotSize?: number;\n dotFill?: Color;\n};\nexport const AesItemSchema = z.object({\n fillColor: z.optional(z.string()),\n lineColor: z.optional(z.string()),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotShape: z.optional(PointShapeSchema),\n dotSize: z.optional(z.number()),\n dotFill: z.optional(z.string()),\n});\n\nexport const AesRecordSchema = z.record(AesItemSchema);\nexport type AesRecord = z.infer<typeof AesRecordSchema>;\n\nexport function categoricalAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n valuesMap: z.record(valueSchema),\n });\n}\nexport function continuousAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n domain: z.array(z.number()),\n range: z.array(valueSchema),\n type: z.optional(z.union([z.literal('linear'), z.literal('log')]))\n });\n}\n\nexport function isCategoricalAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is CategoricalAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'valuesMap' in item;\n}\n\nexport function isContinuousAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is ContinuousAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'domain' in item && 'range' in item;\n}\n\nexport type AxisSettings = {\n title?: string | ColumnName;\n scale?: 'linear' | 'log';\n showGrid?: boolean;\n // for discrete X axis - lines between groups, to improve groups recognizing\n linesBetweenCategories?: boolean;\n showTicks?: boolean;\n labelsPosition?: 'center' | '45deg' | '90deg';\n significantLines?: number[],\n significantLinesStyle?: LineShape,\n symmetricRange?: number // to get some value perfectly in the middle of axis\n upperValue?: number // limits\n lowerValue?: number\n};\n\nexport const AxisSettingsSchema = z.object({\n title: z.optional(z.union([z.string(), ColumnNameSchema])),\n scale: z.optional(z.union([z.literal('linear'), z.literal('log')])),\n showGrid: z.optional(z.boolean()),\n linesBetweenCategories: z.optional(z.boolean()),\n showTicks: z.optional(z.boolean()),\n labelsPosition: z.optional(z.union([z.literal('center'), z.literal('45deg'), z.literal('90deg')])),\n significantLines: z.optional(z.array(z.number())),\n significantLinesStyle: z.optional(LineShapeSchema),\n symmetricRange: z.optional(z.number()),\n upperValue: z.optional(z.number()),\n lowerValue: z.optional(z.number()),\n hiddenLabels: z.optional(z.boolean())\n});\n\nexport interface SettingsInterface {\n type: string;\n}\n\nexport type ClickEventData = {\n x: number;\n y: number;\n info: unknown;\n}\n\nexport type PolygonData = [number, number][];\n\nexport type ChartEventHandlers<T> = T;\nexport type DendroEventHandlers = ChartEventHandlers<[(d:ClickEventData) => void]>\nexport type ScatterplotEventHandlers = ChartEventHandlers<{\n onPolygonUpdate: (d:number[], p: Polygon[]) => void;\n onTooltipHintSwitch: (d:boolean) => void;\n onLassoStateChange: () => void;\n onLassoControlsStateUpdate: (v:LassoControlsState) => void;\n}>\nexport type BubbleEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type DiscreteEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HeatmapEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HistogramEventHandlers = ChartEventHandlers<[(d:boolean) => void]>"],"names":["DataValueSchema","z","POINT_SHAPE","PointShapeSchema","LINE_SHAPE","LineShapeSchema","FRAME_TYPE","FrameTypeSchema","LEGEND_POSITION","LegendPositionSchema","TITLE_POSITION","TitlePositionSchema","ColumnNameSchema","AesItemSchema","AesRecordSchema","categoricalAesMappingFromValueSchema","valueSchema","continuousAesMappingFromValueSchema","isCategoricalAes","item","isContinuousAes","AxisSettingsSchema"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"common.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/common.ts"],"sourcesContent":["import { z } from 'zod';\nimport type { LassoControlsState, Polygon } from '../scatterplot-umap/types';\nimport type { CategoricalAesFromColumn, ContinuousAesFromColumn } from './scatterplot';\n\nexport type DataValue = string | number | null;\nexport type Category = string;\nexport const DataValueSchema = z.union([z.string(), z.number(), z.null()]);\n\nexport type Row = Record<string, DataValue>\n\nexport type Color = string;\n\n// numbered according ggplot2 symbols, 19 (third size of black circle) is missed\nexport const POINT_SHAPE = [\n '0',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '20',\n '21',\n '22',\n '23',\n '24',\n '25',\n] as const;\nexport const PointShapeSchema = z.enum(POINT_SHAPE);\nexport type PointShape = z.infer<typeof PointShapeSchema>;\n\nconst LINE_SHAPE = ['solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash'] as const;\nexport const LineShapeSchema = z.enum(LINE_SHAPE);\nexport type LineShape = z.infer<typeof LineShapeSchema>;\n\nconst FRAME_TYPE = ['left', 'bottom', 'left-bottom', 'full', 'empty'] as const;\nexport const FrameTypeSchema = z.enum(FRAME_TYPE);\nexport type FrameType = z.infer<typeof FrameTypeSchema>;\n\nconst LEGEND_POSITION = ['inside', 'right', 'top', 'bottom'] as const;\nexport const LegendPositionSchema = z.enum(LEGEND_POSITION);\nexport type LegendPosition = z.infer<typeof LegendPositionSchema>;\n\nexport const TITLE_POSITION = ['left', 'center', 'right'] as const;\nexport const TitlePositionSchema = z.enum(TITLE_POSITION);\nexport type TitlePosition = z.infer<typeof TitlePositionSchema>;\n\nexport const ColumnNameSchema = z.object({\n type: z.literal('column'),\n value: z.string(),\n format: z.optional(z.string()), // d3 format\n label: z.optional(z.string()),\n valueLabels: z.optional(z.string())\n});\nexport type ColumnName = z.infer<typeof ColumnNameSchema>\n\nexport type AesItem = {\n fillColor?: Color;\n lineColor?: Color;\n lineWidth?: number;\n lineShape?: LineShape;\n dotShape?: PointShape;\n dotSize?: number;\n dotFill?: Color;\n};\nexport const AesItemSchema = z.object({\n fillColor: z.optional(z.string()),\n lineColor: z.optional(z.string()),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotShape: z.optional(PointShapeSchema),\n dotSize: z.optional(z.number()),\n dotFill: z.optional(z.string()),\n});\n\nexport const AesRecordSchema = z.record(AesItemSchema);\nexport type AesRecord = z.infer<typeof AesRecordSchema>;\n\nexport function categoricalAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n valuesMap: z.record(valueSchema),\n });\n}\nexport function continuousAesMappingFromValueSchema<ValueType extends z.ZodTypeAny>(\n valueSchema: ValueType,\n) {\n return z.object({\n columnName: ColumnNameSchema,\n domain: z.array(z.number()),\n range: z.array(valueSchema),\n type: z.optional(z.union([z.literal('linear'), z.literal('log')]))\n });\n}\n\nexport function isCategoricalAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is CategoricalAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'valuesMap' in item;\n}\n\nexport function isContinuousAes<InputType extends string | number | PointShape | LineShape>(\n item: InputType | CategoricalAesFromColumn<InputType> | ContinuousAesFromColumn<InputType> | unknown\n): item is ContinuousAesFromColumn<InputType> {\n if (typeof item !== 'object') {\n return false;\n }\n return item !== null && 'domain' in item && 'range' in item;\n}\n\nexport const DiscreteLabelsPositionSchema = z.union([z.literal('center'), z.literal('45deg'), z.literal('90deg')]);\n\nexport const AxisSettingsDiscreteSchema = z.object({\n title: z.optional(z.union([z.string(), ColumnNameSchema])),\n scale: z.optional(z.literal('discrete')),\n keys: z.optional(z.array(z.union([z.string(), z.number()]))),\n labels: z.optional(z.record(z.string())),\n showGrid: z.optional(z.boolean()),\n linesBetweenCategories: z.optional(z.boolean()),\n showTicks: z.optional(z.boolean()),\n labelsPosition: z.optional(DiscreteLabelsPositionSchema),\n hiddenLabels: z.optional(z.boolean())\n});\nexport const AxisSettingsContinuousSchema = z.object({\n title: z.optional(z.union([z.string(), ColumnNameSchema])),\n scale: z.optional(z.union([z.literal('linear'), z.literal('log')])),\n showGrid: z.optional(z.boolean()),\n showTicks: z.optional(z.boolean()),\n significantLines: z.optional(z.array(z.number())),\n significantLinesStyle: z.optional(LineShapeSchema),\n symmetricRange: z.optional(z.number()),\n upperValue: z.optional(z.number()),\n lowerValue: z.optional(z.number()),\n});\n\nexport const AxisSettingsSchema = z.union([AxisSettingsDiscreteSchema, AxisSettingsContinuousSchema]);\n\nexport type AxisSettings = z.infer<typeof AxisSettingsSchema>\nexport type AxisSettingsDiscrete = z.infer<typeof AxisSettingsDiscreteSchema>;\nexport type AxisSettingsContinuous = z.infer<typeof AxisSettingsContinuousSchema>;\n\nexport type DiscreteLabelsPosition = z.infer<typeof DiscreteLabelsPositionSchema>;\n\nexport interface SettingsInterface {\n type: string;\n}\n\nexport type ClickEventData = {\n x: number;\n y: number;\n info: unknown;\n}\n\nexport type PolygonData = [number, number][];\n\nexport type ChartEventHandlers<T> = T;\nexport type DendroEventHandlers = ChartEventHandlers<[(d:ClickEventData) => void]>\nexport type ScatterplotEventHandlers = ChartEventHandlers<{\n onPolygonUpdate: (d:number[], p: Polygon[]) => void;\n onTooltipHintSwitch: (d:boolean) => void;\n onLassoStateChange: () => void;\n onLassoControlsStateUpdate: (v:LassoControlsState) => void;\n}>\nexport type BubbleEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type DiscreteEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HeatmapEventHandlers = ChartEventHandlers<[(d:boolean) => void]>\nexport type HistogramEventHandlers = ChartEventHandlers<[(d:boolean) => void]>"],"names":["DataValueSchema","z","POINT_SHAPE","PointShapeSchema","LINE_SHAPE","LineShapeSchema","FRAME_TYPE","FrameTypeSchema","LEGEND_POSITION","LegendPositionSchema","TITLE_POSITION","TitlePositionSchema","ColumnNameSchema","AesItemSchema","AesRecordSchema","categoricalAesMappingFromValueSchema","valueSchema","continuousAesMappingFromValueSchema","isCategoricalAes","item","isContinuousAes","DiscreteLabelsPositionSchema","AxisSettingsDiscreteSchema","AxisSettingsContinuousSchema","AxisSettingsSchema"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  import o from "../node_modules/zod/lib/index.js";
2
- import { ColumnNameSchema as n, categoricalAesMappingFromValueSchema as e, continuousAesMappingFromValueSchema as a, LineShapeSchema as t, PointShapeSchema as i, LegendPositionSchema as l, TitlePositionSchema as p } from "./common.js";
2
+ import { ColumnNameSchema as n, categoricalAesMappingFromValueSchema as e, continuousAesMappingFromValueSchema as a, LineShapeSchema as i, PointShapeSchema as t, LegendPositionSchema as l, TitlePositionSchema as p } from "./common.js";
3
3
  const r = o.enum(["discrete", "continuous", "stringSource"]), c = o.object({
4
4
  type: o.literal("dendro"),
5
5
  title: o.object({
@@ -57,7 +57,7 @@ const r = o.enum(["discrete", "continuous", "stringSource"]), c = o.object({
57
57
  rootPosition: o.optional(o.union([o.literal("left"), o.literal("top")])),
58
58
  aes: o.optional(
59
59
  o.object({
60
- nodeShape: o.optional(o.union([i, e(i)])),
60
+ nodeShape: o.optional(o.union([t, e(t)])),
61
61
  nodeColor: o.optional(
62
62
  o.union([
63
63
  o.string(),
@@ -70,7 +70,7 @@ const r = o.enum(["discrete", "continuous", "stringSource"]), c = o.object({
70
70
  e(o.number()),
71
71
  a(o.number())
72
72
  ])),
73
- lineShape: o.optional(t),
73
+ lineShape: o.optional(i),
74
74
  lineColor: o.optional(o.union([
75
75
  o.string(),
76
76
  e(o.string()),
@@ -1,6 +1,6 @@
1
1
  import o from "../node_modules/zod/lib/index.js";
2
- import { LineShapeSchema as t, PointShapeSchema as e, ColumnNameSchema as i, DataValueSchema as a, AxisSettingsSchema as l, TitlePositionSchema as p, AesRecordSchema as r, FrameTypeSchema as m, LegendPositionSchema as s } from "./common.js";
3
- const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }), u = o.object({
2
+ import { LineShapeSchema as t, PointShapeSchema as e, ColumnNameSchema as i, DataValueSchema as a, AxisSettingsContinuousSchema as s, AxisSettingsDiscreteSchema as m, TitlePositionSchema as l, AesRecordSchema as p, FrameTypeSchema as b, LegendPositionSchema as u } from "./common.js";
3
+ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }), c = o.object({
4
4
  type: o.literal("box"),
5
5
  stat: o.optional(
6
6
  o.object({
@@ -24,7 +24,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
24
24
  opacity: o.optional(o.number().min(0).max(1))
25
25
  })
26
26
  )
27
- }), c = o.object({
27
+ }), h = o.object({
28
28
  type: o.literal("violin"),
29
29
  stat: o.optional(
30
30
  o.object({
@@ -45,7 +45,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
45
45
  quartilesLineStyle: o.optional(t)
46
46
  })
47
47
  )
48
- }), h = o.object({
48
+ }), d = o.object({
49
49
  type: o.literal("dot"),
50
50
  aes: o.optional(
51
51
  o.object({
@@ -58,9 +58,9 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
58
58
  opacity: o.optional(o.number().min(0).max(1))
59
59
  })
60
60
  )
61
- }), d = ["mean", "median"], j = ["sd", "se", "ci"], b = o.enum(d), y = o.enum(j), g = o.object({
61
+ }), j = ["mean", "median"], y = ["sd", "se", "ci"], r = o.enum(j), g = o.enum(y), S = o.object({
62
62
  type: o.literal("line"),
63
- pointsValues: b,
63
+ pointsValues: r,
64
64
  aes: o.optional(
65
65
  o.object({
66
66
  showOutliers: o.optional(o.boolean()),
@@ -75,8 +75,8 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
75
75
  )
76
76
  }), w = o.object({
77
77
  type: o.literal("errorbar"),
78
- pointsValues: b,
79
- interval: y,
78
+ pointsValues: r,
79
+ interval: g,
80
80
  aes: o.optional(
81
81
  o.object({
82
82
  showDots: o.optional(o.boolean()),
@@ -89,7 +89,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
89
89
  opacity: o.optional(o.number().min(0).max(1))
90
90
  })
91
91
  )
92
- }), S = o.object({
92
+ }), x = o.object({
93
93
  type: o.literal("bar"),
94
94
  height: o.optional(o.enum(["min", "max", "median", "mean"])),
95
95
  aes: o.optional(
@@ -101,7 +101,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
101
101
  opacity: o.optional(o.number().min(0).max(1))
102
102
  })
103
103
  )
104
- }), x = o.object({
104
+ }), C = o.object({
105
105
  type: o.literal("stackedBar"),
106
106
  normalize: o.optional(o.boolean()),
107
107
  aes: o.optional(
@@ -113,7 +113,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
113
113
  opacity: o.optional(o.number().min(0).max(1))
114
114
  })
115
115
  )
116
- }), C = o.object({
116
+ }), f = o.object({
117
117
  type: o.literal("binnedDots"),
118
118
  method: o.optional(o.enum(["dotdensity", "histodot"])),
119
119
  position: o.optional(o.enum(["stack", "jitter"])),
@@ -129,7 +129,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
129
129
  opacity: o.optional(o.number().min(0).max(1))
130
130
  })
131
131
  )
132
- }), f = o.object({
132
+ }), W = o.object({
133
133
  type: o.literal("pairedPoints"),
134
134
  linkColumn: i,
135
135
  aes: o.optional(
@@ -155,7 +155,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
155
155
  opacity: o.optional(o.number().min(0).max(1))
156
156
  })
157
157
  )
158
- }), W = o.object({
158
+ }), k = o.object({
159
159
  type: o.literal("logo"),
160
160
  normalize: o.optional(o.boolean()),
161
161
  aes: o.optional(
@@ -166,42 +166,57 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
166
166
  opacity: o.optional(o.number().min(0).max(1))
167
167
  })
168
168
  )
169
- }), k = ["ttest", "anova", "wilcoxon", "kruskalWallis"], O = [
169
+ }), O = o.object({
170
+ type: o.literal("stackedArea"),
171
+ normalize: o.optional(o.boolean()),
172
+ showBars: o.optional(o.boolean()),
173
+ aes: o.optional(
174
+ o.object({
175
+ barWidth: o.optional(o.number()),
176
+ lineColor: o.optional(o.union([n, o.string()])),
177
+ fillColor: o.optional(o.union([n, o.string()])),
178
+ lineWidth: o.optional(o.number()),
179
+ barsOpacity: o.optional(o.number().min(0).max(1)),
180
+ areaOpacity: o.optional(o.number().min(0).max(1))
181
+ })
182
+ )
183
+ }), A = ["ttest", "anova", "wilcoxon", "kruskalWallis"], B = [
170
184
  "BenjaminiHochberg",
171
185
  "BenjaminiYekutieli",
172
186
  "Bonferroni",
173
187
  "Hochberg",
174
188
  "Holm",
175
189
  "Hommel"
176
- ], B = o.enum(k), G = o.enum(O), P = o.object({ one: o.number(), two: o.number(), three: o.number() }), v = o.object({
190
+ ], G = o.enum(A), v = o.enum(B), D = o.object({ one: o.number(), two: o.number(), three: o.number() }), L = o.object({
177
191
  type: o.literal("stat"),
178
192
  statType: o.enum(["overall", "referenceGroup", "pairwise"]),
179
- testMethod: B,
193
+ testMethod: G,
180
194
  paired: o.optional(o.boolean()),
181
195
  ns: o.optional(o.boolean()),
182
196
  format: o.optional(o.enum(["significance", "pValue"])),
183
197
  referenceGroup: o.optional(a),
184
- correctionMethod: o.optional(G),
185
- significanceLevels: o.optional(P)
186
- }), A = o.union([
187
- u,
198
+ correctionMethod: o.optional(v),
199
+ significanceLevels: o.optional(D)
200
+ }), P = o.union([
188
201
  c,
189
202
  h,
190
- g,
191
- w,
203
+ d,
192
204
  S,
205
+ w,
193
206
  x,
194
207
  C,
195
208
  f,
196
- z,
197
209
  W,
198
- v
199
- ]), L = ["horizontal", "vertical"], $ = o.enum(L), H = o.object({
210
+ z,
211
+ k,
212
+ O,
213
+ L
214
+ ]), $ = ["horizontal", "vertical"], N = o.enum($), V = o.object({
200
215
  type: o.literal("discrete"),
201
216
  title: o.object({
202
217
  name: o.string(),
203
218
  show: o.optional(o.boolean()),
204
- position: o.optional(p)
219
+ position: o.optional(l)
205
220
  }),
206
221
  y: i,
207
222
  size: o.optional(
@@ -215,7 +230,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
215
230
  legend: o.optional(
216
231
  o.object({
217
232
  show: o.optional(o.boolean()),
218
- position: o.optional(s)
233
+ position: o.optional(u)
219
234
  })
220
235
  ),
221
236
  tooltips: o.optional(
@@ -232,14 +247,14 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
232
247
  logo: o.optional(o.object({ show: o.boolean() }))
233
248
  })
234
249
  ),
235
- frame: o.optional(o.object({ type: o.optional(m) })),
236
- orientation: o.optional($),
250
+ frame: o.optional(o.object({ type: o.optional(b) })),
251
+ orientation: o.optional(N),
237
252
  keyColumn: o.optional(i),
238
253
  primaryGrouping: o.optional(
239
254
  o.object({
240
255
  columnName: i,
241
256
  order: o.optional(o.array(a)),
242
- inheritedAes: o.optional(r),
257
+ inheritedAes: o.optional(p),
243
258
  allowNullGroup: o.optional(o.boolean())
244
259
  })
245
260
  ),
@@ -247,7 +262,7 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
247
262
  o.object({
248
263
  columnName: i,
249
264
  order: o.optional(o.array(a)),
250
- inheritedAes: o.optional(r),
265
+ inheritedAes: o.optional(p),
251
266
  allowNullGroup: o.optional(o.boolean())
252
267
  })
253
268
  ),
@@ -259,14 +274,14 @@ const n = o.object({ type: o.enum(["primaryGrouping", "secondaryGrouping"]) }),
259
274
  order: o.optional(o.record(o.array(a))),
260
275
  nRows: o.optional(o.number()),
261
276
  nCols: o.optional(o.number()),
262
- titlePosition: o.optional(p)
277
+ titlePosition: o.optional(l)
263
278
  })
264
279
  ),
265
- xAxis: o.optional(l),
266
- yAxis: o.optional(l),
267
- layers: o.array(A)
280
+ xAxis: o.optional(m),
281
+ yAxis: o.optional(s),
282
+ layers: o.array(P)
268
283
  });
269
284
  export {
270
- H as DiscreteSettingsSchema
285
+ V as DiscreteSettingsSchema
271
286
  };
272
287
  //# sourceMappingURL=discrete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discrete.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/discrete.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n AxisSettingsSchema,\n ColumnNameSchema,\n DataValueSchema,\n FrameTypeSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nexport type InheritAesDiscrete = {type: 'primaryGrouping' | 'secondaryGrouping'};\nconst InheritAesSchema = z.object({type: z.enum(['primaryGrouping', 'secondaryGrouping'])});\n\nconst BoxLayerSchema = z.object({\n type: z.literal('box'),\n stat: z.optional(\n z.object({\n upper: z.optional(z.number().min(0).max(1)),\n middle: z.optional(z.number().min(0).max(1)),\n lower: z.optional(z.number().min(0).max(1)),\n k: z.optional(z.number()),\n })\n ),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n outliersShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n outliersSize: z.optional(z.union([InheritAesSchema, z.number()])),\n outliersColor: z.optional(z.union([InheritAesSchema, z.string()])),\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BoxLayer = z.infer<typeof BoxLayerSchema>;\n\nconst ViolinLayerSchema = z.object({\n type: z.literal('violin'),\n stat: z.optional(\n z.object({\n bandwidth: z.optional(z.number()),\n trim: z.optional(z.boolean()),\n })\n ),\n aes: z.optional(\n z.object({\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n showQuartiles: z.optional(z.boolean()),\n medianLineStyle: z.optional(LineShapeSchema),\n quartilesLineStyle: z.optional(LineShapeSchema),\n })\n ),\n});\nexport type ViolinLayer = z.infer<typeof ViolinLayerSchema>;\n\nconst DotLayerSchema = z.object({\n type: z.literal('dot'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n jitter: z.optional(z.number().min(0).max(1)),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type DotLayer = z.infer<typeof DotLayerSchema>;\n\nconst SUMMARY_GROUP_VALUE = ['mean', 'median'] as const;\nconst SUMMARY_ERROR_VALUE = ['sd', 'se', 'ci'] as const;\n\nconst SummaryGroupSchema = z.enum(SUMMARY_GROUP_VALUE);\nconst SummaryErrorSchema = z.enum(SUMMARY_ERROR_VALUE);\n\nexport type SummaryGroupValue = z.infer<typeof SummaryGroupSchema>;\nexport type SummaryErrorValue = z.infer<typeof SummaryErrorSchema>;\n\nconst LineLayerSchema = z.object({\n type: z.literal('line'),\n pointsValues: SummaryGroupSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineShape: z.optional(z.union([InheritAesSchema, LineShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LineLayer = z.infer<typeof LineLayerSchema>;\n\nconst ErrorBarLayerSchema = z.object({\n type: z.literal('errorbar'),\n pointsValues: SummaryGroupSchema,\n interval: SummaryErrorSchema,\n aes: z.optional(\n z.object({\n showDots: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type ErrorBarLayer = z.infer<typeof ErrorBarLayerSchema>;\n\nconst BarLayerSchema = z.object({\n type: z.literal('bar'),\n height: z.optional(z.enum(['min', 'max', 'median', 'mean'])),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BarLayer = z.infer<typeof BarLayerSchema>;\n\nconst StackedBarLayerSchema = z.object({\n type: z.literal('stackedBar'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type StackedBarLayer = z.infer<typeof StackedBarLayerSchema>;\n\nconst BinnedDotsLayerSchema = z.object({\n type: z.literal('binnedDots'),\n method: z.optional(z.enum(['dotdensity', 'histodot'])),\n position: z.optional(z.enum(['stack', 'jitter'])),\n keyColumn: z.optional(ColumnNameSchema),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BinnedDotsLayer = z.infer<typeof BinnedDotsLayerSchema>;\n\nconst PairedPointsLayerSchema = z.object({\n type: z.literal('pairedPoints'),\n linkColumn: ColumnNameSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(PointShapeSchema),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type PairedPointsLayer = z.infer<typeof PairedPointsLayerSchema>;\n\n// geom_sina - jittered dots in violin shape\nconst SinaLayerSchema = z.object({\n type: z.literal('sina'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type SinaLayer = z.infer<typeof SinaLayerSchema>;\n\nconst LogoPlotLayerSchema = z.object({\n type: z.literal('logo'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.string()),\n fillColor: z.optional(z.union([z.record(z.string()), z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LogoPlotLayer = z.infer<typeof LogoPlotLayerSchema>;\n\nconst STAT_TEST_METHOD = ['ttest', 'anova', 'wilcoxon', 'kruskalWallis'] as const;\nconst P_VALUE_CORRECTION_METHOD = [\n 'BenjaminiHochberg',\n 'BenjaminiYekutieli',\n 'Bonferroni',\n 'Hochberg',\n 'Holm',\n 'Hommel',\n] as const;\n\nconst StatTestMethodSchema = z.enum(STAT_TEST_METHOD);\nconst PValueCorrectionMethodSchema = z.enum(P_VALUE_CORRECTION_METHOD);\nconst SignificanceLevelsSchema = z.object({one: z.number(), two: z.number(), three: z.number()});\n\nexport type StatTestMethod = z.infer<typeof StatTestMethodSchema>;\nexport type PValueCorrectionMethod = z.infer<typeof PValueCorrectionMethodSchema>;\nexport type SignificanceLevels = z.infer<typeof SignificanceLevelsSchema>;\n\nconst StatLayerSchema = z.object({\n type: z.literal('stat'),\n statType: z.enum(['overall', 'referenceGroup', 'pairwise']),\n testMethod: StatTestMethodSchema,\n paired: z.optional(z.boolean()),\n ns: z.optional(z.boolean()),\n format: z.optional(z.enum(['significance', 'pValue'])),\n referenceGroup: z.optional(DataValueSchema),\n correctionMethod: z.optional(PValueCorrectionMethodSchema),\n significanceLevels: z.optional(SignificanceLevelsSchema)\n});\nexport type StatLayer = z.infer<typeof StatLayerSchema>;\n\nconst DiscreteLayerSchema = z.union([\n BoxLayerSchema,\n ViolinLayerSchema,\n DotLayerSchema,\n LineLayerSchema,\n ErrorBarLayerSchema,\n BarLayerSchema,\n StackedBarLayerSchema,\n BinnedDotsLayerSchema,\n PairedPointsLayerSchema,\n SinaLayerSchema,\n LogoPlotLayerSchema,\n StatLayerSchema\n]);\nexport type DiscreteLayer = z.infer<typeof DiscreteLayerSchema>;\n\nconst ORIENTATION = ['horizontal', 'vertical'] as const;\nconst OrientationSchema = z.enum(ORIENTATION);\nexport type Orientation = z.infer<typeof OrientationSchema>;\n\nexport const DiscreteSettingsSchema = z.object({\n type: z.literal('discrete'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n y: ColumnNameSchema,\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n outerOffset: z.optional(z.number()),\n innerOffset: z.optional(z.number())\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n tooltips: z.optional(\n z.object({\n box: z.optional(z.object({show: z.boolean()})),\n violin: z.optional(z.object({show: z.boolean()})),\n boxOutliers: z.optional(z.object({show: z.boolean()})),\n line: z.optional(z.object({show: z.boolean()})),\n dot: z.optional(z.object({show: z.boolean()})),\n errorBar: z.optional(z.object({show: z.boolean()})),\n binnedDots: z.optional(z.object({show: z.boolean()})),\n pairedPoints: z.optional(z.object({show: z.boolean()})),\n stackedBar: z.optional(z.object({show: z.boolean()})),\n logo: z.optional(z.object({show: z.boolean()})),\n })\n ),\n frame: z.optional(z.object({type: z.optional(FrameTypeSchema)})),\n orientation: z.optional(OrientationSchema),\n keyColumn: z.optional(ColumnNameSchema),\n primaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n secondaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n facetSettings: z.optional(\n z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n order: z.optional(z.record(z.array(DataValueSchema))),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n titlePosition: z.optional(TitlePositionSchema),\n })\n ),\n xAxis: z.optional(AxisSettingsSchema),\n yAxis: z.optional(AxisSettingsSchema),\n layers: z.array(DiscreteLayerSchema),\n});\n\nexport type DiscreteSettings = z.infer<typeof DiscreteSettingsSchema>;\n\nexport type GroupingData = {\n value: string | null,\n keys: string[],\n label: string,\n valueLabels: Record<string, string>,\n inheritedAes: z.infer<typeof AesRecordSchema> | null\n}\n"],"names":["InheritAesSchema","z","BoxLayerSchema","PointShapeSchema","LineShapeSchema","ViolinLayerSchema","DotLayerSchema","SUMMARY_GROUP_VALUE","SUMMARY_ERROR_VALUE","SummaryGroupSchema","SummaryErrorSchema","LineLayerSchema","ErrorBarLayerSchema","BarLayerSchema","StackedBarLayerSchema","BinnedDotsLayerSchema","ColumnNameSchema","PairedPointsLayerSchema","SinaLayerSchema","LogoPlotLayerSchema","STAT_TEST_METHOD","P_VALUE_CORRECTION_METHOD","StatTestMethodSchema","PValueCorrectionMethodSchema","SignificanceLevelsSchema","StatLayerSchema","DataValueSchema","DiscreteLayerSchema","ORIENTATION","OrientationSchema","DiscreteSettingsSchema","TitlePositionSchema","LegendPositionSchema","FrameTypeSchema","AesRecordSchema","AxisSettingsSchema"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"discrete.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/types/discrete.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n AesRecordSchema,\n AxisSettingsContinuousSchema,\n AxisSettingsDiscreteSchema,\n ColumnNameSchema,\n DataValueSchema,\n FrameTypeSchema,\n LegendPositionSchema,\n LineShapeSchema,\n PointShapeSchema,\n TitlePositionSchema\n} from './common';\n\nexport type InheritAesDiscrete = {type: 'primaryGrouping' | 'secondaryGrouping'};\nconst InheritAesSchema = z.object({type: z.enum(['primaryGrouping', 'secondaryGrouping'])});\n\nconst BoxLayerSchema = z.object({\n type: z.literal('box'),\n stat: z.optional(\n z.object({\n upper: z.optional(z.number().min(0).max(1)),\n middle: z.optional(z.number().min(0).max(1)),\n lower: z.optional(z.number().min(0).max(1)),\n k: z.optional(z.number()),\n })\n ),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n outliersShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n outliersSize: z.optional(z.union([InheritAesSchema, z.number()])),\n outliersColor: z.optional(z.union([InheritAesSchema, z.string()])),\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BoxLayer = z.infer<typeof BoxLayerSchema>;\n\nconst ViolinLayerSchema = z.object({\n type: z.literal('violin'),\n stat: z.optional(\n z.object({\n bandwidth: z.optional(z.number()),\n trim: z.optional(z.boolean()),\n })\n ),\n aes: z.optional(\n z.object({\n boxWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n opacity: z.optional(z.number().min(0).max(1)),\n showQuartiles: z.optional(z.boolean()),\n medianLineStyle: z.optional(LineShapeSchema),\n quartilesLineStyle: z.optional(LineShapeSchema),\n })\n ),\n});\nexport type ViolinLayer = z.infer<typeof ViolinLayerSchema>;\n\nconst DotLayerSchema = z.object({\n type: z.literal('dot'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n jitter: z.optional(z.number().min(0).max(1)),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type DotLayer = z.infer<typeof DotLayerSchema>;\n\nconst SUMMARY_GROUP_VALUE = ['mean', 'median'] as const;\nconst SUMMARY_ERROR_VALUE = ['sd', 'se', 'ci'] as const;\n\nconst SummaryGroupSchema = z.enum(SUMMARY_GROUP_VALUE);\nconst SummaryErrorSchema = z.enum(SUMMARY_ERROR_VALUE);\n\nexport type SummaryGroupValue = z.infer<typeof SummaryGroupSchema>;\nexport type SummaryErrorValue = z.infer<typeof SummaryErrorSchema>;\n\nconst LineLayerSchema = z.object({\n type: z.literal('line'),\n pointsValues: SummaryGroupSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineShape: z.optional(z.union([InheritAesSchema, LineShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LineLayer = z.infer<typeof LineLayerSchema>;\n\nconst ErrorBarLayerSchema = z.object({\n type: z.literal('errorbar'),\n pointsValues: SummaryGroupSchema,\n interval: SummaryErrorSchema,\n aes: z.optional(\n z.object({\n showDots: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type ErrorBarLayer = z.infer<typeof ErrorBarLayerSchema>;\n\nconst BarLayerSchema = z.object({\n type: z.literal('bar'),\n height: z.optional(z.enum(['min', 'max', 'median', 'mean'])),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BarLayer = z.infer<typeof BarLayerSchema>;\n\nconst StackedBarLayerSchema = z.object({\n type: z.literal('stackedBar'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type StackedBarLayer = z.infer<typeof StackedBarLayerSchema>;\n\nconst BinnedDotsLayerSchema = z.object({\n type: z.literal('binnedDots'),\n method: z.optional(z.enum(['dotdensity', 'histodot'])),\n position: z.optional(z.enum(['stack', 'jitter'])),\n keyColumn: z.optional(ColumnNameSchema),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n width: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n lineWidth: z.optional(z.number()),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type BinnedDotsLayer = z.infer<typeof BinnedDotsLayerSchema>;\n\nconst PairedPointsLayerSchema = z.object({\n type: z.literal('pairedPoints'),\n linkColumn: ColumnNameSchema,\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n lineShape: z.optional(LineShapeSchema),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(PointShapeSchema),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type PairedPointsLayer = z.infer<typeof PairedPointsLayerSchema>;\n\n// geom_sina - jittered dots in violin shape\nconst SinaLayerSchema = z.object({\n type: z.literal('sina'),\n aes: z.optional(\n z.object({\n showOutliers: z.optional(z.boolean()),\n dotFill: z.optional(z.union([InheritAesSchema, z.string()])),\n dotSize: z.optional(z.number()),\n dotShape: z.optional(z.union([InheritAesSchema, PointShapeSchema])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type SinaLayer = z.infer<typeof SinaLayerSchema>;\n\nconst LogoPlotLayerSchema = z.object({\n type: z.literal('logo'),\n normalize: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n width: z.optional(z.number()),\n lineColor: z.optional(z.string()),\n fillColor: z.optional(z.union([z.record(z.string()), z.string()])),\n opacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type LogoPlotLayer = z.infer<typeof LogoPlotLayerSchema>;\n\nconst StackedAreaLayerSchema = z.object({\n type: z.literal('stackedArea'),\n normalize: z.optional(z.boolean()),\n showBars: z.optional(z.boolean()),\n aes: z.optional(\n z.object({\n barWidth: z.optional(z.number()),\n lineColor: z.optional(z.union([InheritAesSchema, z.string()])),\n fillColor: z.optional(z.union([InheritAesSchema, z.string()])),\n lineWidth: z.optional(z.number()),\n barsOpacity: z.optional(z.number().min(0).max(1)),\n areaOpacity: z.optional(z.number().min(0).max(1)),\n })\n ),\n});\nexport type StackedAreaLayer = z.infer<typeof StackedAreaLayerSchema>;\n\nconst STAT_TEST_METHOD = ['ttest', 'anova', 'wilcoxon', 'kruskalWallis'] as const;\nconst P_VALUE_CORRECTION_METHOD = [\n 'BenjaminiHochberg',\n 'BenjaminiYekutieli',\n 'Bonferroni',\n 'Hochberg',\n 'Holm',\n 'Hommel',\n] as const;\n\nconst StatTestMethodSchema = z.enum(STAT_TEST_METHOD);\nconst PValueCorrectionMethodSchema = z.enum(P_VALUE_CORRECTION_METHOD);\nconst SignificanceLevelsSchema = z.object({one: z.number(), two: z.number(), three: z.number()});\n\nexport type StatTestMethod = z.infer<typeof StatTestMethodSchema>;\nexport type PValueCorrectionMethod = z.infer<typeof PValueCorrectionMethodSchema>;\nexport type SignificanceLevels = z.infer<typeof SignificanceLevelsSchema>;\n\nconst StatLayerSchema = z.object({\n type: z.literal('stat'),\n statType: z.enum(['overall', 'referenceGroup', 'pairwise']),\n testMethod: StatTestMethodSchema,\n paired: z.optional(z.boolean()),\n ns: z.optional(z.boolean()),\n format: z.optional(z.enum(['significance', 'pValue'])),\n referenceGroup: z.optional(DataValueSchema),\n correctionMethod: z.optional(PValueCorrectionMethodSchema),\n significanceLevels: z.optional(SignificanceLevelsSchema)\n});\nexport type StatLayer = z.infer<typeof StatLayerSchema>;\n\nconst DiscreteLayerSchema = z.union([\n BoxLayerSchema,\n ViolinLayerSchema,\n DotLayerSchema,\n LineLayerSchema,\n ErrorBarLayerSchema,\n BarLayerSchema,\n StackedBarLayerSchema,\n BinnedDotsLayerSchema,\n PairedPointsLayerSchema,\n SinaLayerSchema,\n LogoPlotLayerSchema,\n StackedAreaLayerSchema,\n StatLayerSchema\n]);\nexport type DiscreteLayer = z.infer<typeof DiscreteLayerSchema>;\n\nconst ORIENTATION = ['horizontal', 'vertical'] as const;\nconst OrientationSchema = z.enum(ORIENTATION);\nexport type Orientation = z.infer<typeof OrientationSchema>;\n\nexport const DiscreteSettingsSchema = z.object({\n type: z.literal('discrete'),\n title: z.object({\n name: z.string(),\n show: z.optional(z.boolean()),\n position: z.optional(TitlePositionSchema),\n }),\n y: ColumnNameSchema,\n size: z.optional(\n z.object({\n width: z.optional(z.number()),\n height: z.optional(z.number()),\n outerOffset: z.optional(z.number()),\n innerOffset: z.optional(z.number())\n })\n ),\n legend: z.optional(\n z.object({\n show: z.optional(z.boolean()),\n position: z.optional(LegendPositionSchema),\n })\n ),\n tooltips: z.optional(\n z.object({\n box: z.optional(z.object({show: z.boolean()})),\n violin: z.optional(z.object({show: z.boolean()})),\n boxOutliers: z.optional(z.object({show: z.boolean()})),\n line: z.optional(z.object({show: z.boolean()})),\n dot: z.optional(z.object({show: z.boolean()})),\n errorBar: z.optional(z.object({show: z.boolean()})),\n binnedDots: z.optional(z.object({show: z.boolean()})),\n pairedPoints: z.optional(z.object({show: z.boolean()})),\n stackedBar: z.optional(z.object({show: z.boolean()})),\n logo: z.optional(z.object({show: z.boolean()})),\n })\n ),\n frame: z.optional(z.object({type: z.optional(FrameTypeSchema)})),\n orientation: z.optional(OrientationSchema),\n keyColumn: z.optional(ColumnNameSchema),\n primaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n secondaryGrouping: z.optional(\n z.object({\n columnName: ColumnNameSchema,\n order: z.optional(z.array(DataValueSchema)),\n inheritedAes: z.optional(AesRecordSchema),\n allowNullGroup: z.optional(z.boolean())\n })\n ),\n facetBy: z.optional(z.array(ColumnNameSchema)),\n facetSettings: z.optional(\n z.object({\n sharedX: z.optional(z.boolean()),\n sharedY: z.optional(z.boolean()),\n order: z.optional(z.record(z.array(DataValueSchema))),\n nRows: z.optional(z.number()),\n nCols: z.optional(z.number()),\n titlePosition: z.optional(TitlePositionSchema),\n })\n ),\n xAxis: z.optional(AxisSettingsDiscreteSchema),\n yAxis: z.optional(AxisSettingsContinuousSchema),\n layers: z.array(DiscreteLayerSchema),\n});\n\nexport type DiscreteSettings = z.infer<typeof DiscreteSettingsSchema>;\n\nexport type GroupingData = {\n value: string | null,\n keys: string[],\n label: string,\n valueLabels: Record<string, string>,\n inheritedAes: z.infer<typeof AesRecordSchema> | null\n}\n"],"names":["InheritAesSchema","z","BoxLayerSchema","PointShapeSchema","LineShapeSchema","ViolinLayerSchema","DotLayerSchema","SUMMARY_GROUP_VALUE","SUMMARY_ERROR_VALUE","SummaryGroupSchema","SummaryErrorSchema","LineLayerSchema","ErrorBarLayerSchema","BarLayerSchema","StackedBarLayerSchema","BinnedDotsLayerSchema","ColumnNameSchema","PairedPointsLayerSchema","SinaLayerSchema","LogoPlotLayerSchema","StackedAreaLayerSchema","STAT_TEST_METHOD","P_VALUE_CORRECTION_METHOD","StatTestMethodSchema","PValueCorrectionMethodSchema","SignificanceLevelsSchema","StatLayerSchema","DataValueSchema","DiscreteLayerSchema","ORIENTATION","OrientationSchema","DiscreteSettingsSchema","TitlePositionSchema","LegendPositionSchema","FrameTypeSchema","AesRecordSchema","AxisSettingsDiscreteSchema","AxisSettingsContinuousSchema"],"mappings":"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","x_google_ignoreList":[0]}