Skip to content

Commit 3335828

Browse files
committed
Add type# property key patterns, add additional properties to FullLayout
1 parent ed5b958 commit 3335828

1 file changed

Lines changed: 121 additions & 38 deletions

File tree

src/types/core/layout.d.ts

Lines changed: 121 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -815,23 +815,9 @@ export interface Layout {
815815
separators: string;
816816
hidesources: boolean;
817817
xaxis: Partial<LayoutAxis>;
818-
xaxis2: Partial<LayoutAxis>;
819-
xaxis3: Partial<LayoutAxis>;
820-
xaxis4: Partial<LayoutAxis>;
821-
xaxis5: Partial<LayoutAxis>;
822-
xaxis6: Partial<LayoutAxis>;
823-
xaxis7: Partial<LayoutAxis>;
824-
xaxis8: Partial<LayoutAxis>;
825-
xaxis9: Partial<LayoutAxis>;
818+
[key: `xaxis${number}`]: Partial<LayoutAxis>;
826819
yaxis: Partial<LayoutAxis>;
827-
yaxis2: Partial<LayoutAxis>;
828-
yaxis3: Partial<LayoutAxis>;
829-
yaxis4: Partial<LayoutAxis>;
830-
yaxis5: Partial<LayoutAxis>;
831-
yaxis6: Partial<LayoutAxis>;
832-
yaxis7: Partial<LayoutAxis>;
833-
yaxis8: Partial<LayoutAxis>;
834-
yaxis9: Partial<LayoutAxis>;
820+
[key: `yaxis${number}`]: Partial<LayoutAxis>;
835821
margin: Partial<Margin>;
836822
height: number;
837823
width: number;
@@ -888,14 +874,7 @@ export interface Layout {
888874
legend: Partial<Legend>;
889875
font: Partial<Font>;
890876
scene: Partial<Scene>;
891-
scene2: Partial<Scene>;
892-
scene3: Partial<Scene>;
893-
scene4: Partial<Scene>;
894-
scene5: Partial<Scene>;
895-
scene6: Partial<Scene>;
896-
scene7: Partial<Scene>;
897-
scene8: Partial<Scene>;
898-
scene9: Partial<Scene>;
877+
[key: `scene${number}`]: Partial<Scene>;
899878
barmode: 'stack' | 'group' | 'overlay' | 'relative';
900879
barnorm: '' | 'fraction' | 'percent';
901880
bargap: number;
@@ -921,14 +900,7 @@ export interface Layout {
921900
yside: 'left' | 'left plot' | 'right plot' | 'right';
922901
}>;
923902
polar: Partial<PolarLayout>;
924-
polar2: Partial<PolarLayout>;
925-
polar3: Partial<PolarLayout>;
926-
polar4: Partial<PolarLayout>;
927-
polar5: Partial<PolarLayout>;
928-
polar6: Partial<PolarLayout>;
929-
polar7: Partial<PolarLayout>;
930-
polar8: Partial<PolarLayout>;
931-
polar9: Partial<PolarLayout>;
903+
[key: `polar${number}`]: Partial<PolarLayout>;
932904
transition: Transition;
933905
template: Template;
934906
clickmode: 'event' | 'select' | 'event+select' | 'none';
@@ -948,25 +920,136 @@ export interface Layout {
948920
* Fully processed layout with all defaults applied (internal use)
949921
*/
950922
export interface FullLayout extends Layout {
923+
// Core internal state
951924
_modules?: any[];
952925
_basePlotModules?: any[];
926+
_meta?: { meta?: any; layout?: { meta?: any } };
953927
_plots?: { [key: string]: any };
954928
_subplot?: any[];
955929
_subplots?: SubplotInfo;
956930
_size?: LayoutSize;
957931
_legends?: string[];
932+
_template?: any;
933+
_uid?: string;
934+
_initialAutoSizeIsDone?: boolean;
935+
_calcInverseTransform?: (gd: any) => void;
936+
_invTransform?: any;
937+
_pushmargin?: { [key: string]: any };
938+
939+
// SVG layers
940+
paper?: Selection;
941+
toppaper?: Selection;
942+
container?: Selection;
943+
cartesianlayer?: Selection;
944+
polarlayer?: Selection;
945+
ternarylayer?: Selection;
946+
geolayer?: Selection;
947+
smithlayer?: Selection;
948+
pielayer?: Selection;
949+
iciclelayer?: Selection;
950+
sunburstlayer?: Selection;
951+
treemaplayer?: Selection;
952+
funnelarealayer?: Selection;
953+
indicatorlayer?: Selection;
954+
menulayer?: Selection;
955+
selectionLayer?: Selection;
956+
shapeLowerLayer?: Selection;
957+
shapeUpperLayer?: Selection;
958+
imageLowerLayer?: Selection;
959+
imageUpperLayer?: Selection;
960+
bgLayer?: Selection;
961+
draggers?: Selection;
962+
defs?: Selection;
963+
topdefs?: Selection;
964+
clips?: Selection;
965+
topclips?: Selection;
966+
glcanvas?: Selection;
967+
glimages?: Selection;
968+
modebardiv?: Selection;
969+
dragCover?: Selection;
958970
_infolayer?: Selection;
959971
_zoomlayer?: Selection;
960972
_paperdiv?: Selection;
961973
_glcontainer?: Selection;
962-
_calcInverseTransform?: (gd: any) => void;
963-
_invTransform?: any;
964-
_uid?: string;
965-
_initialAutoSizeIsDone?: boolean;
966-
_hoverlayer?: any;
974+
_hoverlayer?: Selection;
975+
976+
// Hover state
967977
_hoverdata?: any[];
978+
lasthover?: Selection | null;
979+
rehover?: (() => void) | null;
980+
981+
// Modebar
968982
_modeBar?: any;
969-
_pushmargin?: { [key: string]: any };
983+
modeBar?: any;
984+
985+
// Cross-trace computation state
986+
alignmentOpts?: Record<string, any>;
987+
axisConstraintGroups?: any[];
988+
axisMatchGroups?: any[];
989+
colorAxes?: Record<string, any>;
990+
dataTemplate?: Record<string, any>;
991+
extraFormat?: Record<string, any>;
992+
firstScatter?: Record<string, any>;
993+
funnelareacolormap?: Record<string, Color>;
994+
histogramBinOpts?: Record<string, any>;
995+
iciclecolormap?: Record<string, Color>;
996+
numBoxes?: number;
997+
numViolins?: number;
998+
piecolormap?: Record<string, Color>;
999+
rangeSliderData?: any[];
1000+
requestRangeslider?: Record<string, boolean>;
1001+
roundFnOpts?: Record<string, any>;
1002+
scatterStackOpts?: Record<string, any>;
1003+
splomAxes?: { x: Record<string, any>; y: Record<string, any> };
1004+
splomGrid?: any;
1005+
splomGridDflt?: Record<string, any>;
1006+
splomScenes?: Record<string, any>;
1007+
splomSubplots?: Record<string, any>;
1008+
sunburstcolormap?: Record<string, Color>;
1009+
transformModules?: any[];
1010+
treemapcolormap?: Record<string, Color>;
1011+
violinScaleGroupStats?: Record<string, any>;
1012+
visibleModules?: any[];
1013+
1014+
// Scalar flags and values
1015+
currentFrame?: string;
1016+
dataLength?: number;
1017+
dfltTitle?: Record<string, string>;
1018+
guiEditing?: boolean;
1019+
has?: (category: string) => boolean;
1020+
hasOnlyLargeSploms?: boolean;
1021+
insideTickLabelsUpdaterange?: Record<string, any>;
1022+
invScaleX?: number;
1023+
invScaleY?: number;
1024+
lastBBox?: DOMRect;
1025+
mapboxAccessToken?: string;
1026+
pushmarginIds?: Record<string, number>;
1027+
redrawFromAutoMarginCount?: number;
1028+
replotting?: boolean;
1029+
reservedMargin?: Record<string, number>;
1030+
shouldCreateBgLayer?: boolean;
1031+
skipDefaults?: boolean;
1032+
traceUids?: string[];
1033+
traceWord?: string;
1034+
uid?: string;
1035+
zindices?: number[];
1036+
1037+
// Interaction state
1038+
activeSelectionIndex?: number;
1039+
activeShapeIndex?: number;
1040+
deactivateSelection?: (gd: any) => void;
1041+
deactivateShape?: (gd: any) => void;
1042+
deselect?: (() => void) | null;
1043+
hColorbarMoveCBTitle?: number;
1044+
hColorbarMoveTitle?: number;
1045+
lastSelectedSubplot?: string;
1046+
noEmitSelectedAtStart?: boolean;
1047+
outlining?: boolean;
1048+
preGUI?: Record<string, any>;
1049+
previousSelections?: any[];
1050+
redrag?: (() => void) | null;
1051+
reselect?: (() => void) | null;
1052+
tracePreGUI?: Record<string, Record<string, any>>;
9701053

9711054
[key: string]: any;
9721055
}

0 commit comments

Comments
 (0)