Skip to content

Commit

Permalink
fix(quadrant): make quadrant options optional
Browse files Browse the repository at this point in the history
Make the types of the options in QuadrantChartConfig in the
MermaidConfig optional. All of these (except for the values in
`BaseDiagramConfig`) will be automatically set to their
default values, so they're optional from a user perspective.
  • Loading branch information
aloisklink committed Jul 6, 2023
1 parent c742ac7 commit 38013de
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 20 deletions.
36 changes: 18 additions & 18 deletions packages/mermaid/src/config.type.ts
Expand Up @@ -229,24 +229,24 @@ export interface PieDiagramConfig extends BaseDiagramConfig {
}

export interface QuadrantChartConfig extends BaseDiagramConfig {
chartWidth: number;
chartHeight: number;
titleFontSize: number;
titlePadding: number;
quadrantPadding: number;
xAxisLabelPadding: number;
yAxisLabelPadding: number;
xAxisLabelFontSize: number;
yAxisLabelFontSize: number;
quadrantLabelFontSize: number;
quadrantTextTopPadding: number;
pointTextPadding: number;
pointLabelFontSize: number;
pointRadius: number;
xAxisPosition: 'top' | 'bottom';
yAxisPosition: 'left' | 'right';
quadrantInternalBorderStrokeWidth: number;
quadrantExternalBorderStrokeWidth: number;
chartWidth?: number;
chartHeight?: number;
titleFontSize?: number;
titlePadding?: number;
quadrantPadding?: number;
xAxisLabelPadding?: number;
yAxisLabelPadding?: number;
xAxisLabelFontSize?: number;
yAxisLabelFontSize?: number;
quadrantLabelFontSize?: number;
quadrantTextTopPadding?: number;
pointTextPadding?: number;
pointLabelFontSize?: number;
pointRadius?: number;
xAxisPosition?: 'top' | 'bottom';
yAxisPosition?: 'left' | 'right';
quadrantInternalBorderStrokeWidth?: number;
quadrantExternalBorderStrokeWidth?: number;
}

export interface ErDiagramConfig extends BaseDiagramConfig {
Expand Down
@@ -1,7 +1,7 @@
// @ts-ignore: TODO Fix ts errors
import { scaleLinear } from 'd3';
import { log } from '../../logger.js';
import { QuadrantChartConfig } from '../../config.type.js';
import type { BaseDiagramConfig, QuadrantChartConfig } from '../../config.type.js';
import defaultConfig from '../../defaultConfig.js';
import { getThemeVariables } from '../../themes/theme-default.js';

Expand Down Expand Up @@ -71,7 +71,8 @@ export interface quadrantBuilderData {
points: QuadrantPointInputType[];
}

export interface QuadrantBuilderConfig extends QuadrantChartConfig {
export interface QuadrantBuilderConfig
extends Required<Omit<QuadrantChartConfig, keyof BaseDiagramConfig>> {
showXAxis: boolean;
showYAxis: boolean;
showTitle: boolean;
Expand Down

0 comments on commit 38013de

Please sign in to comment.