@babylonjs/node-editor 5.0.0-alpha.6 → 5.0.0-alpha.63

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.
@@ -21,6 +21,7 @@ declare module "@babylonjs/node-editor/blockTools" {
21
21
  import { ModBlock } from '@babylonjs/core/Materials/Node/Blocks/modBlock';
22
22
  import { ScaleBlock } from '@babylonjs/core/Materials/Node/Blocks/scaleBlock';
23
23
  import { TrigonometryBlock } from '@babylonjs/core/Materials/Node/Blocks/trigonometryBlock';
24
+ import { ConditionalBlock } from '@babylonjs/core/Materials/Node/Blocks/conditionalBlock';
24
25
  import { ClampBlock } from '@babylonjs/core/Materials/Node/Blocks/clampBlock';
25
26
  import { CrossBlock } from '@babylonjs/core/Materials/Node/Blocks/crossBlock';
26
27
  import { DotBlock } from '@babylonjs/core/Materials/Node/Blocks/dotBlock';
@@ -76,8 +77,15 @@ declare module "@babylonjs/node-editor/blockTools" {
76
77
  import { ParticleBlendMultiplyBlock } from '@babylonjs/core/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock';
77
78
  import { FragCoordBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/fragCoordBlock';
78
79
  import { ScreenSizeBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/screenSizeBlock';
80
+ import { MatrixBuilderBlock } from '@babylonjs/core/Materials/Node/Blocks/matrixBuilderBlock';
81
+ import { SceneDepthBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/sceneDepthBlock';
82
+ import { ImageSourceBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/imageSourceBlock';
83
+ import { CloudBlock } from '@babylonjs/core/Materials/Node/Blocks/cloudBlock';
84
+ import { VoronoiNoiseBlock } from '@babylonjs/core/Materials/Node/Blocks/voronoiNoiseBlock';
85
+ import { ScreenSpaceBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/screenSpaceBlock';
86
+ import { TwirlBlock } from '@babylonjs/core/Materials/Node/Blocks/Fragment/twirlBlock';
79
87
  export class BlockTools {
80
- static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): DesaturateBlock | RefractBlock | ReflectBlock | DerivativeBlock | Rotate2dBlock | NormalBlendBlock | WorleyNoise3DBlock | SimplexPerlin3DBlock | BonesBlock | InstancesBlock | MorphTargetsBlock | DiscardBlock | ImageProcessingBlock | ColorMergerBlock | VectorMergerBlock | ColorSplitterBlock | VectorSplitterBlock | TextureBlock | ReflectionTextureBlock | LightBlock | FogBlock | VertexOutputBlock | FragmentOutputBlock | AddBlock | ClampBlock | ScaleBlock | CrossBlock | DotBlock | PowBlock | MultiplyBlock | TransformBlock | TrigonometryBlock | RemapBlock | NormalizeBlock | FresnelBlock | LerpBlock | NLerpBlock | DivideBlock | SubtractBlock | ModBlock | StepBlock | SmoothStepBlock | OneMinusBlock | ReciprocalBlock | ViewDirectionBlock | LightInformationBlock | MaxBlock | MinBlock | LengthBlock | DistanceBlock | NegateBlock | PerturbNormalBlock | RandomNumberBlock | ReplaceColorBlock | PosterizeBlock | ArcTan2Block | GradientBlock | FrontFacingBlock | WaveBlock | InputBlock | PBRMetallicRoughnessBlock | SheenBlock | AnisotropyBlock | ReflectionBlock | ClearCoatBlock | RefractionBlock | SubSurfaceBlock | CurrentScreenBlock | ParticleTextureBlock | ParticleRampGradientBlock | ParticleBlendMultiplyBlock | FragCoordBlock | ScreenSizeBlock | null;
88
+ static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): TwirlBlock | VoronoiNoiseBlock | ScreenSpaceBlock | CloudBlock | MatrixBuilderBlock | DesaturateBlock | RefractBlock | ReflectBlock | DerivativeBlock | Rotate2dBlock | NormalBlendBlock | WorleyNoise3DBlock | SimplexPerlin3DBlock | BonesBlock | InstancesBlock | MorphTargetsBlock | DiscardBlock | ImageProcessingBlock | ColorMergerBlock | VectorMergerBlock | ColorSplitterBlock | VectorSplitterBlock | TextureBlock | ReflectionTextureBlock | LightBlock | FogBlock | VertexOutputBlock | FragmentOutputBlock | AddBlock | ClampBlock | ScaleBlock | CrossBlock | DotBlock | PowBlock | MultiplyBlock | TransformBlock | TrigonometryBlock | RemapBlock | NormalizeBlock | FresnelBlock | LerpBlock | NLerpBlock | DivideBlock | SubtractBlock | ModBlock | StepBlock | SmoothStepBlock | OneMinusBlock | ReciprocalBlock | ViewDirectionBlock | LightInformationBlock | MaxBlock | MinBlock | LengthBlock | DistanceBlock | NegateBlock | PerturbNormalBlock | RandomNumberBlock | ReplaceColorBlock | PosterizeBlock | ArcTan2Block | GradientBlock | FrontFacingBlock | WaveBlock | InputBlock | PBRMetallicRoughnessBlock | SheenBlock | AnisotropyBlock | ReflectionBlock | ClearCoatBlock | RefractionBlock | SubSurfaceBlock | CurrentScreenBlock | ParticleTextureBlock | ParticleRampGradientBlock | ParticleBlendMultiplyBlock | FragCoordBlock | ScreenSizeBlock | SceneDepthBlock | ConditionalBlock | ImageSourceBlock | null;
81
89
  static GetColorFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): string;
82
90
  static GetConnectionNodeTypeFromString(type: string): NodeMaterialBlockConnectionPointTypes.Float | NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4 | NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4 | NodeMaterialBlockConnectionPointTypes.Matrix | NodeMaterialBlockConnectionPointTypes.AutoDetect;
83
91
  static GetStringFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): "Float" | "Vector2" | "Vector3" | "Vector4" | "Matrix" | "Color3" | "Color4" | "";
@@ -170,16 +178,10 @@ declare module "@babylonjs/node-editor/serializationTools" {
170
178
  static AddFrameToMaterial(serializationObject: any, globalState: GlobalState, currentMaterial: NodeMaterial): void;
171
179
  }
172
180
  }
173
- declare module "@babylonjs/node-editor/stringTools" {
174
- import { NodeMaterialBlockConnectionPointTypes } from '@babylonjs/core/Materials/Node/Enums/nodeMaterialBlockConnectionPointTypes';
181
+ declare module "@babylonjs/node-editor/sharedUiComponents/stringTools" {
175
182
  export class StringTools {
176
183
  private static _SaveAs;
177
184
  private static _Click;
178
- /**
179
- * Gets the base math type of node material block connection point.
180
- * @param type Type to parse.
181
- */
182
- static GetBaseType(type: NodeMaterialBlockConnectionPointTypes): string;
183
185
  /**
184
186
  * Download a string into a file that will be saved locally by the browser
185
187
  * @param content defines the string to download locally as a file
@@ -363,6 +365,7 @@ declare module "@babylonjs/node-editor/diagram/graphFrame" {
363
365
  private serializePortData;
364
366
  serialize(saveCollapsedState: boolean): IFrameData;
365
367
  export(): void;
368
+ adjustPorts(): void;
366
369
  static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
367
370
  [key: number]: number;
368
371
  }): GraphFrame;
@@ -426,8 +429,8 @@ declare module "@babylonjs/node-editor/diagram/nodeLink" {
426
429
  onDisposedObservable: Observable<NodeLink>;
427
430
  get isVisible(): boolean;
428
431
  set isVisible(value: boolean);
429
- get portA(): FrameNodePort | NodePort;
430
- get portB(): FrameNodePort | NodePort | undefined;
432
+ get portA(): NodePort | FrameNodePort;
433
+ get portB(): NodePort | FrameNodePort | undefined;
431
434
  get nodeA(): GraphNode;
432
435
  get nodeB(): GraphNode | undefined;
433
436
  update(endX?: number, endY?: number, straight?: boolean): void;
@@ -439,12 +442,12 @@ declare module "@babylonjs/node-editor/diagram/nodeLink" {
439
442
  declare module "@babylonjs/node-editor/diagram/graphCanvas" {
440
443
  import * as React from "react";
441
444
  import { GlobalState } from "@babylonjs/node-editor/globalState";
442
- import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
445
+ import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
443
446
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
444
- import { Nullable } from '@babylonjs/core/types';
447
+ import { Nullable } from "@babylonjs/core/types";
445
448
  import { NodeLink } from "@babylonjs/node-editor/diagram/nodeLink";
446
449
  import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
447
- import { NodeMaterialConnectionPoint } from '@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint';
450
+ import { NodeMaterialConnectionPoint } from "@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint";
448
451
  import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
449
452
  import { IEditorData, IFrameData } from "@babylonjs/node-editor/nodeLocationInfo";
450
453
  import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
@@ -515,6 +518,7 @@ declare module "@babylonjs/node-editor/diagram/graphCanvas" {
515
518
  get selectionContainer(): HTMLDivElement;
516
519
  get frameContainer(): HTMLDivElement;
517
520
  constructor(props: IGraphCanvasComponentProps);
521
+ static _RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
518
522
  getGridPosition(position: number, useCeil?: boolean): number;
519
523
  getGridPositionCeil(position: number): number;
520
524
  updateTransform(): void;
@@ -572,10 +576,12 @@ declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
572
576
  private _localChange;
573
577
  private _store;
574
578
  private _regExp;
579
+ private _onFocus;
575
580
  constructor(props: IFloatLineComponentProps);
576
581
  shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
577
582
  value: string;
578
583
  }): boolean;
584
+ componentWillUnmount(): void;
579
585
  raiseOnPropertyChanged(newValue: number, previousValue: number): void;
580
586
  updateValue(valueString: string): void;
581
587
  render(): JSX.Element;
@@ -584,7 +590,7 @@ declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
584
590
  declare module "@babylonjs/node-editor/components/propertyTab/properties/floatPropertyTabComponent" {
585
591
  import * as React from "react";
586
592
  import { GlobalState } from "@babylonjs/node-editor/globalState";
587
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
593
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
588
594
  interface IFloatPropertyTabComponentProps {
589
595
  globalState: GlobalState;
590
596
  inputBlock: InputBlock;
@@ -690,7 +696,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector2LineComponent" {
690
696
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector2PropertyTabComponent" {
691
697
  import * as React from "react";
692
698
  import { GlobalState } from "@babylonjs/node-editor/globalState";
693
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
699
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
694
700
  interface IVector2PropertyTabComponentProps {
695
701
  globalState: GlobalState;
696
702
  inputBlock: InputBlock;
@@ -740,6 +746,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
740
746
  */
741
747
  export interface IColorPickerProps {
742
748
  color: Color3 | Color4;
749
+ linearhint?: boolean;
743
750
  debugMode?: boolean;
744
751
  onColorChanged?: (color: Color3 | Color4) => void;
745
752
  }
@@ -759,6 +766,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
759
766
  private _isSaturationPointerDown;
760
767
  private _isHuePointerDown;
761
768
  constructor(props: IColorPickerProps);
769
+ shouldComponentUpdate(nextProps: IColorPickerProps, nextState: IColorPickerState): boolean;
762
770
  onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
763
771
  onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
764
772
  onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
@@ -774,7 +782,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
774
782
  }
775
783
  declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
776
784
  import * as React from "react";
777
- import { Color4, Color3 } from '@babylonjs/core/Maths/math.color';
785
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
778
786
  import { GlobalState } from "@babylonjs/node-editor/globalState";
779
787
  export interface IColorPickerComponentProps {
780
788
  value: Color4 | Color3;
@@ -801,7 +809,7 @@ declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
801
809
  declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
802
810
  import * as React from "react";
803
811
  import { Observable } from "@babylonjs/core/Misc/observable";
804
- import { Color3 } from "@babylonjs/core/Maths/math.color";
812
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
805
813
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
806
814
  import { GlobalState } from "@babylonjs/node-editor/globalState";
807
815
  export interface IColor3LineComponentProps {
@@ -814,16 +822,16 @@ declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
814
822
  }
815
823
  export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
816
824
  isExpanded: boolean;
817
- color: Color3;
825
+ color: Color3 | Color4;
818
826
  }> {
819
827
  private _localChange;
820
828
  constructor(props: IColor3LineComponentProps);
821
829
  shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
822
- color: Color3;
830
+ color: Color3 | Color4;
823
831
  }): boolean;
824
832
  onChange(newValue: string): void;
825
833
  switchExpandState(): void;
826
- raiseOnPropertyChanged(previousValue: Color3): void;
834
+ raiseOnPropertyChanged(previousValue: Color3 | Color4): void;
827
835
  updateStateR(value: number): void;
828
836
  updateStateG(value: number): void;
829
837
  updateStateB(value: number): void;
@@ -834,7 +842,7 @@ declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
834
842
  declare module "@babylonjs/node-editor/components/propertyTab/properties/color3PropertyTabComponent" {
835
843
  import * as React from "react";
836
844
  import { GlobalState } from "@babylonjs/node-editor/globalState";
837
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
845
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
838
846
  interface IColor3PropertyTabComponentProps {
839
847
  globalState: GlobalState;
840
848
  inputBlock: InputBlock;
@@ -883,7 +891,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector3LineComponent" {
883
891
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector3PropertyTabComponent" {
884
892
  import * as React from "react";
885
893
  import { GlobalState } from "@babylonjs/node-editor/globalState";
886
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
894
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
887
895
  interface IVector3PropertyTabComponentProps {
888
896
  globalState: GlobalState;
889
897
  inputBlock: InputBlock;
@@ -934,7 +942,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector4LineComponent" {
934
942
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector4PropertyTabComponent" {
935
943
  import * as React from "react";
936
944
  import { GlobalState } from "@babylonjs/node-editor/globalState";
937
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
945
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
938
946
  interface IVector4PropertyTabComponentProps {
939
947
  globalState: GlobalState;
940
948
  inputBlock: InputBlock;
@@ -947,16 +955,13 @@ declare module "@babylonjs/node-editor/sharedComponents/optionsLineComponent" {
947
955
  import * as React from "react";
948
956
  import { Observable } from "@babylonjs/core/Misc/observable";
949
957
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
950
- class ListLineOption {
951
- label: string;
952
- value: number | string;
953
- }
958
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
954
959
  interface IOptionsLineComponentProps {
955
960
  label: string;
956
961
  target: any;
957
962
  className?: string;
958
963
  propertyName?: string;
959
- options: ListLineOption[];
964
+ options: IInspectableOptions[];
960
965
  noDirectUpdate?: boolean;
961
966
  onSelect?: (value: number | string) => void;
962
967
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
@@ -1018,7 +1023,7 @@ declare module "@babylonjs/node-editor/sharedComponents/matrixLineComponent" {
1018
1023
  declare module "@babylonjs/node-editor/components/propertyTab/properties/matrixPropertyTabComponent" {
1019
1024
  import * as React from "react";
1020
1025
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1021
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1026
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1022
1027
  interface IMatrixPropertyTabComponentProps {
1023
1028
  globalState: GlobalState;
1024
1029
  inputBlock: InputBlock;
@@ -1071,10 +1076,12 @@ declare module "@babylonjs/node-editor/sharedComponents/textInputLineComponent"
1071
1076
  value: string;
1072
1077
  }> {
1073
1078
  private _localChange;
1079
+ private _onFocus;
1074
1080
  constructor(props: ITextInputLineComponentProps);
1075
1081
  shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
1076
1082
  value: string;
1077
1083
  }): boolean;
1084
+ componentWillUnmount(): void;
1078
1085
  raiseOnPropertyChanged(newValue: string, previousValue: string): void;
1079
1086
  updateValue(value: string, raisePropertyChanged: boolean): void;
1080
1087
  render(): JSX.Element;
@@ -1129,6 +1136,7 @@ declare module "@babylonjs/node-editor/sharedComponents/checkBoxLineComponent" {
1129
1136
  declare module "@babylonjs/node-editor/diagram/properties/genericNodePropertyComponent" {
1130
1137
  import * as React from "react";
1131
1138
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1139
+ import { Scene } from "@babylonjs/core/scene";
1132
1140
  export class GenericPropertyComponent extends React.Component<IPropertyComponentProps> {
1133
1141
  constructor(props: IPropertyComponentProps);
1134
1142
  render(): JSX.Element;
@@ -1140,8 +1148,10 @@ declare module "@babylonjs/node-editor/diagram/properties/genericNodePropertyCom
1140
1148
  export class GenericPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1141
1149
  constructor(props: IPropertyComponentProps);
1142
1150
  forceRebuild(notifiers?: {
1143
- "rebuild"?: boolean;
1144
- "update"?: boolean;
1151
+ rebuild?: boolean;
1152
+ update?: boolean;
1153
+ activatePreviewCommand?: boolean;
1154
+ callback?: (scene: Scene) => void;
1145
1155
  }): void;
1146
1156
  render(): JSX.Element;
1147
1157
  }
@@ -1183,7 +1193,7 @@ declare module "@babylonjs/node-editor/sharedComponents/color4LineComponent" {
1183
1193
  declare module "@babylonjs/node-editor/components/propertyTab/properties/color4PropertyTabComponent" {
1184
1194
  import * as React from "react";
1185
1195
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1186
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1196
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1187
1197
  interface IColor4PropertyTabComponentProps {
1188
1198
  globalState: GlobalState;
1189
1199
  inputBlock: InputBlock;
@@ -1215,9 +1225,9 @@ declare module "@babylonjs/node-editor/diagram/properties/transformNodePropertyC
1215
1225
  }
1216
1226
  }
1217
1227
  declare module "@babylonjs/node-editor/diagram/properties/gradientStepComponent" {
1218
- import * as React from 'react';
1228
+ import * as React from "react";
1219
1229
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1220
- import { GradientBlockColorStep } from '@babylonjs/core/Materials/Node/Blocks/gradientBlock';
1230
+ import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
1221
1231
  interface IGradientStepComponentProps {
1222
1232
  globalState: GlobalState;
1223
1233
  step: GradientBlockColorStep;
@@ -1242,6 +1252,7 @@ declare module "@babylonjs/node-editor/sharedComponents/buttonLineComponent" {
1242
1252
  export interface IButtonLineComponentProps {
1243
1253
  label: string;
1244
1254
  onClick: () => void;
1255
+ isDisabled?: boolean;
1245
1256
  }
1246
1257
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
1247
1258
  constructor(props: IButtonLineComponentProps);
@@ -1250,7 +1261,7 @@ declare module "@babylonjs/node-editor/sharedComponents/buttonLineComponent" {
1250
1261
  }
1251
1262
  declare module "@babylonjs/node-editor/diagram/properties/gradientNodePropertyComponent" {
1252
1263
  import * as React from "react";
1253
- import { GradientBlockColorStep } from '@babylonjs/core/Materials/Node/Blocks/gradientBlock';
1264
+ import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
1254
1265
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1255
1266
  export class GradientPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1256
1267
  private onValueChangedObserver;
@@ -1297,12 +1308,12 @@ declare module "@babylonjs/node-editor/sharedComponents/fileButtonLineComponent"
1297
1308
  declare module "@babylonjs/node-editor/diagram/properties/texturePropertyTabComponent" {
1298
1309
  import * as React from "react";
1299
1310
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1300
- import { ReflectionTextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock';
1301
- import { ReflectionBlock } from '@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock';
1302
- import { RefractionBlock } from '@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock';
1303
- import { TextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock';
1304
- import { CurrentScreenBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock';
1305
- import { ParticleTextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock';
1311
+ import { ReflectionTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock";
1312
+ import { ReflectionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock";
1313
+ import { RefractionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock";
1314
+ import { TextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock";
1315
+ import { CurrentScreenBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock";
1316
+ import { ParticleTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock";
1306
1317
  type ReflectionTexture = ReflectionTextureBlock | ReflectionBlock | RefractionBlock;
1307
1318
  type AnyTexture = TextureBlock | ReflectionTexture | CurrentScreenBlock | ParticleTextureBlock;
1308
1319
  export class TexturePropertyTabComponent extends React.Component<IPropertyComponentProps, {
@@ -1337,6 +1348,56 @@ declare module "@babylonjs/node-editor/diagram/properties/trigonometryNodeProper
1337
1348
  render(): JSX.Element;
1338
1349
  }
1339
1350
  }
1351
+ declare module "@babylonjs/node-editor/diagram/properties/conditionalNodePropertyComponent" {
1352
+ import * as React from "react";
1353
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1354
+ export class ConditionalPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1355
+ constructor(props: IPropertyComponentProps);
1356
+ render(): JSX.Element;
1357
+ }
1358
+ }
1359
+ declare module "@babylonjs/node-editor/diagram/properties/imageSourcePropertyTabComponent" {
1360
+ import * as React from "react";
1361
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1362
+ import { ImageSourceBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/imageSourceBlock";
1363
+ export class ImageSourcePropertyTabComponent extends React.Component<IPropertyComponentProps, {
1364
+ isEmbedded: boolean;
1365
+ }> {
1366
+ get imageSourceBlock(): ImageSourceBlock;
1367
+ constructor(props: IPropertyComponentProps);
1368
+ UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
1369
+ isEmbedded: boolean;
1370
+ loadAsCubeTexture: boolean;
1371
+ }): void;
1372
+ private _generateRandomForCache;
1373
+ updateAfterTextureLoad(): void;
1374
+ removeTexture(): void;
1375
+ _prepareTexture(): void;
1376
+ /**
1377
+ * Replaces the texture of the node
1378
+ * @param file the file of the texture to use
1379
+ */
1380
+ replaceTexture(file: File): void;
1381
+ replaceTextureWithUrl(url: string): void;
1382
+ render(): JSX.Element;
1383
+ }
1384
+ }
1385
+ declare module "@babylonjs/node-editor/diagram/properties/vectorMergerPropertyComponent" {
1386
+ import * as React from "react";
1387
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1388
+ export class VectorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1389
+ constructor(props: IPropertyComponentProps);
1390
+ render(): JSX.Element;
1391
+ }
1392
+ }
1393
+ declare module "@babylonjs/node-editor/diagram/properties/colorMergerPropertyComponent" {
1394
+ import * as React from "react";
1395
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1396
+ export class ColorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1397
+ constructor(props: IPropertyComponentProps);
1398
+ render(): JSX.Element;
1399
+ }
1400
+ }
1340
1401
  declare module "@babylonjs/node-editor/diagram/propertyLedger" {
1341
1402
  import { ComponentClass } from 'react';
1342
1403
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
@@ -1349,10 +1410,12 @@ declare module "@babylonjs/node-editor/diagram/propertyLedger" {
1349
1410
  declare module "@babylonjs/node-editor/diagram/display/inputDisplayManager" {
1350
1411
  import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1351
1412
  import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1413
+ import { NodeMaterialBlockConnectionPointTypes } from '@babylonjs/core/Materials/Node/Enums/nodeMaterialBlockConnectionPointTypes';
1352
1414
  export class InputDisplayManager implements IDisplayManager {
1353
1415
  getHeaderClass(block: NodeMaterialBlock): "" | "constant" | "inspector";
1354
1416
  shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1355
1417
  getHeaderText(block: NodeMaterialBlock): string;
1418
+ static GetBaseType(type: NodeMaterialBlockConnectionPointTypes): string;
1356
1419
  getBackgroundColor(block: NodeMaterialBlock): string;
1357
1420
  updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1358
1421
  }
@@ -1482,6 +1545,30 @@ declare module "@babylonjs/node-editor/diagram/display/pbrDisplayManager" {
1482
1545
  updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1483
1546
  }
1484
1547
  }
1548
+ declare module "@babylonjs/node-editor/diagram/display/conditionalDisplayManager" {
1549
+ import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1550
+ import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1551
+ export class ConditionalDisplayManager implements IDisplayManager {
1552
+ getHeaderClass(block: NodeMaterialBlock): string;
1553
+ shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1554
+ getHeaderText(block: NodeMaterialBlock): string;
1555
+ getBackgroundColor(block: NodeMaterialBlock): string;
1556
+ updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1557
+ }
1558
+ }
1559
+ declare module "@babylonjs/node-editor/diagram/display/imageSourceDisplayManager" {
1560
+ import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1561
+ import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1562
+ export class imageSourceDisplayManager implements IDisplayManager {
1563
+ private _previewCanvas;
1564
+ private _previewImage;
1565
+ getHeaderClass(block: NodeMaterialBlock): string;
1566
+ shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1567
+ getHeaderText(block: NodeMaterialBlock): string;
1568
+ getBackgroundColor(block: NodeMaterialBlock): string;
1569
+ updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1570
+ }
1571
+ }
1485
1572
  declare module "@babylonjs/node-editor/diagram/displayLedger" {
1486
1573
  export class DisplayLedger {
1487
1574
  static RegisteredControls: {
@@ -1501,6 +1588,8 @@ declare module "@babylonjs/node-editor/diagram/graphNode" {
1501
1588
  export class GraphNode {
1502
1589
  block: NodeMaterialBlock;
1503
1590
  private _visual;
1591
+ private _headerContainer;
1592
+ private _promotionWarning;
1504
1593
  private _header;
1505
1594
  private _connections;
1506
1595
  private _inputsContainer;
@@ -1548,7 +1637,7 @@ declare module "@babylonjs/node-editor/diagram/graphNode" {
1548
1637
  set isSelected(value: boolean);
1549
1638
  constructor(block: NodeMaterialBlock, globalState: GlobalState);
1550
1639
  isOverlappingFrame(frame: GraphFrame): boolean;
1551
- getPortForConnectionPoint(point: NodeMaterialConnectionPoint): Nullable<NodePort>;
1640
+ getPortForConnectionPoint(point: NodeMaterialConnectionPoint): NodePort | null;
1552
1641
  getLinksForConnectionPoint(point: NodeMaterialConnectionPoint): NodeLink[];
1553
1642
  private _refreshFrames;
1554
1643
  _refreshLinks(): void;
@@ -1584,10 +1673,10 @@ declare module "@babylonjs/node-editor/globalState" {
1584
1673
  hostDocument: HTMLDocument;
1585
1674
  hostWindow: Window;
1586
1675
  onSelectionChangedObservable: Observable<Nullable<GraphFrame | GraphNode | NodePort | NodeLink | FramePortData>>;
1587
- onRebuildRequiredObservable: Observable<void>;
1676
+ onRebuildRequiredObservable: Observable<boolean>;
1588
1677
  onBuiltObservable: Observable<void>;
1589
1678
  onResetRequiredObservable: Observable<void>;
1590
- onUpdateRequiredObservable: Observable<void>;
1679
+ onUpdateRequiredObservable: Observable<Nullable<NodeMaterialBlock>>;
1591
1680
  onZoomToFitRequiredObservable: Observable<void>;
1592
1681
  onReOrganizedRequiredObservable: Observable<void>;
1593
1682
  onLogRequiredObservable: Observable<LogEntry>;
@@ -1600,16 +1689,18 @@ declare module "@babylonjs/node-editor/globalState" {
1600
1689
  onDepthPrePassChanged: Observable<void>;
1601
1690
  onAnimationCommandActivated: Observable<void>;
1602
1691
  onCandidateLinkMoved: Observable<Nullable<Vector2>>;
1603
- onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
1692
+ onSelectionBoxMoved: Observable<ClientRect | DOMRect>;
1604
1693
  onFrameCreatedObservable: Observable<GraphFrame>;
1605
- onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
1694
+ onCandidatePortSelectedObservable: Observable<Nullable<NodePort | FrameNodePort>>;
1606
1695
  onImportFrameObservable: Observable<any>;
1607
1696
  onGraphNodeRemovalObservable: Observable<GraphNode>;
1697
+ onPopupClosedObservable: Observable<void>;
1608
1698
  onGetNodeFromBlock: (block: NodeMaterialBlock) => GraphNode;
1609
1699
  onGridSizeChanged: Observable<void>;
1610
1700
  onExposePortOnFrameObservable: Observable<GraphNode>;
1611
1701
  previewType: PreviewType;
1612
1702
  previewFile: File;
1703
+ particleSystemBlendMode: number;
1613
1704
  listOfCustomPreviewFiles: File[];
1614
1705
  rotatePreview: boolean;
1615
1706
  backgroundColor: Color4;
@@ -1652,6 +1743,7 @@ declare module "@babylonjs/node-editor/sharedComponents/draggableLineWithButtonC
1652
1743
  iconImage: any;
1653
1744
  onIconClick: (value: string) => void;
1654
1745
  iconTitle: string;
1746
+ lenSuffixToRemove?: number;
1655
1747
  }
1656
1748
  export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
1657
1749
  constructor(props: IDraggableLineWithButtonComponent);
@@ -1691,18 +1783,21 @@ declare module "@babylonjs/node-editor/components/nodeList/nodeListComponent" {
1691
1783
  private _onResetRequiredObserver;
1692
1784
  private static _Tooltips;
1693
1785
  private _customFrameList;
1786
+ private _customBlockList;
1694
1787
  constructor(props: INodeListComponentProps);
1695
1788
  componentWillUnmount(): void;
1696
1789
  filterContent(filter: string): void;
1697
1790
  loadCustomFrame(file: File): void;
1698
1791
  removeItem(value: string): void;
1792
+ loadCustomBlock(file: File): void;
1793
+ removeCustomBlock(value: string): void;
1699
1794
  render(): JSX.Element;
1700
1795
  }
1701
1796
  }
1702
1797
  declare module "@babylonjs/node-editor/components/propertyTab/inputsPropertyTabComponent" {
1703
1798
  import * as React from "react";
1704
1799
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1705
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1800
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1706
1801
  interface IInputsPropertyTabComponentProps {
1707
1802
  globalState: GlobalState;
1708
1803
  inputs: InputBlock[];
@@ -1769,10 +1864,10 @@ declare module "@babylonjs/node-editor/diagram/properties/nodePortPropertyCompon
1769
1864
  declare module "@babylonjs/node-editor/components/propertyTab/propertyTabComponent" {
1770
1865
  import * as React from "react";
1771
1866
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1772
- import { Nullable } from '@babylonjs/core/types';
1867
+ import { Nullable } from "@babylonjs/core/types";
1773
1868
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1774
1869
  import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
1775
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1870
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1776
1871
  import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
1777
1872
  import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
1778
1873
  interface IPropertyTabComponentProps {
@@ -1783,6 +1878,7 @@ declare module "@babylonjs/node-editor/components/propertyTab/propertyTabCompone
1783
1878
  currentFrame: Nullable<GraphFrame>;
1784
1879
  currentFrameNodePort: Nullable<FrameNodePort>;
1785
1880
  currentNodePort: Nullable<NodePort>;
1881
+ uploadInProgress: boolean;
1786
1882
  }
1787
1883
  export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
1788
1884
  private _onBuiltObserver;
@@ -1900,6 +1996,7 @@ declare module "@babylonjs/node-editor/components/preview/previewAreaComponent"
1900
1996
  componentWillUnmount(): void;
1901
1997
  changeBackFaceCulling(value: boolean): void;
1902
1998
  changeDepthPrePass(value: boolean): void;
1999
+ changeParticleSystemBlendMode(newOne: number): void;
1903
2000
  render(): JSX.Element;
1904
2001
  }
1905
2002
  }
@@ -1912,8 +2009,8 @@ declare module "@babylonjs/node-editor/sharedComponents/popup" {
1912
2009
  declare module "@babylonjs/node-editor/graphEditor" {
1913
2010
  import * as React from "react";
1914
2011
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1915
- import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1916
- import { Nullable } from '@babylonjs/core/types';
2012
+ import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
2013
+ import { Nullable } from "@babylonjs/core/types";
1917
2014
  import { IEditorData } from "@babylonjs/node-editor/nodeLocationInfo";
1918
2015
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1919
2016
  import { IInspectorOptions } from "@babylonjs/core/Debug/debugLayer";
@@ -1958,7 +2055,7 @@ declare module "@babylonjs/node-editor/graphEditor" {
1958
2055
  reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
1959
2056
  pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, selectNew?: boolean): GraphNode[] | undefined;
1960
2057
  zoomToFit(): void;
1961
- buildMaterial(): void;
2058
+ buildMaterial(autoConfigure?: boolean): void;
1962
2059
  build(): void;
1963
2060
  loadGraph(): void;
1964
2061
  showWaitScreen(): void;
@@ -2013,11 +2110,22 @@ declare module "@babylonjs/node-editor/index" {
2013
2110
  declare module "@babylonjs/node-editor/legacy/legacy" {
2014
2111
  export * from "@babylonjs/node-editor/index";
2015
2112
  }
2113
+ declare module "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent" {
2114
+ export class PropertyChangedEvent {
2115
+ object: any;
2116
+ property: string;
2117
+ value: any;
2118
+ initialValue: any;
2119
+ allowNullValue?: boolean;
2120
+ }
2121
+ }
2016
2122
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/booleanLineComponent" {
2017
2123
  import * as React from "react";
2018
2124
  export interface IBooleanLineComponentProps {
2019
2125
  label: string;
2020
2126
  value: boolean;
2127
+ icon?: string;
2128
+ iconLabel?: string;
2021
2129
  }
2022
2130
  export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
2023
2131
  constructor(props: IBooleanLineComponentProps);
@@ -2029,97 +2137,43 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/buttonLineCompon
2029
2137
  export interface IButtonLineComponentProps {
2030
2138
  label: string;
2031
2139
  onClick: () => void;
2140
+ icon?: string;
2141
+ iconLabel?: string;
2032
2142
  }
2033
2143
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
2034
2144
  constructor(props: IButtonLineComponentProps);
2035
2145
  render(): JSX.Element;
2036
2146
  }
2037
2147
  }
2038
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileButtonLineComponent" {
2039
- import * as React from "react";
2040
- interface IFileButtonLineComponentProps {
2041
- label: string;
2042
- onClick: (file: File) => void;
2043
- accept: string;
2044
- }
2045
- export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
2046
- private static _IDGenerator;
2047
- private _id;
2048
- private uploadInputRef;
2049
- constructor(props: IFileButtonLineComponentProps);
2050
- onChange(evt: any): void;
2051
- render(): JSX.Element;
2052
- }
2053
- }
2054
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButtonLineComponent" {
2055
- import * as React from "react";
2056
- interface IFileMultipleButtonLineComponentProps {
2057
- label: string;
2058
- onClick: (event: any) => void;
2059
- accept: string;
2060
- }
2061
- export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
2062
- private static _IDGenerator;
2063
- private _id;
2064
- private uploadInputRef;
2065
- constructor(props: IFileMultipleButtonLineComponentProps);
2066
- onChange(evt: any): void;
2067
- render(): JSX.Element;
2068
- }
2069
- }
2070
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/iconButtonLineComponent" {
2071
- import * as React from 'react';
2072
- export interface IIconButtonLineComponentProps {
2073
- icon: string;
2074
- onClick: () => void;
2075
- tooltip: string;
2076
- active?: boolean;
2077
- }
2078
- export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
2079
- constructor(props: IIconButtonLineComponentProps);
2080
- render(): JSX.Element;
2081
- }
2082
- }
2083
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/indentedTextLineComponent" {
2084
- import * as React from "react";
2085
- interface IIndentedTextLineComponentProps {
2086
- value?: string;
2087
- color?: string;
2088
- underline?: boolean;
2089
- onLink?: () => void;
2090
- url?: string;
2091
- additionalClass?: string;
2092
- }
2093
- export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
2094
- constructor(props: IIndentedTextLineComponentProps);
2095
- onLink(): void;
2096
- renderContent(): JSX.Element;
2097
- render(): JSX.Element;
2098
- }
2099
- }
2100
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/linkButtonComponent" {
2148
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComponent" {
2101
2149
  import * as React from "react";
2102
- interface ILinkButtonComponentProps {
2150
+ import { Observable } from "@babylonjs/core/Misc/observable";
2151
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2152
+ export interface ICheckBoxLineComponentProps {
2103
2153
  label: string;
2104
- buttonLabel: string;
2105
- url?: string;
2106
- onClick: () => void;
2107
- onIconClick?: () => void;
2108
- }
2109
- export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
2110
- constructor(props: ILinkButtonComponentProps);
2111
- onLink(): void;
2112
- render(): JSX.Element;
2113
- }
2114
- }
2115
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/messageLineComponent" {
2116
- import * as React from "react";
2117
- interface IMessageLineComponentProps {
2118
- text: string;
2119
- color?: string;
2154
+ target?: any;
2155
+ propertyName?: string;
2156
+ isSelected?: () => boolean;
2157
+ onSelect?: (value: boolean) => void;
2158
+ onValueChanged?: () => void;
2159
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2160
+ disabled?: boolean;
2161
+ icon?: string;
2162
+ iconLabel?: string;
2120
2163
  }
2121
- export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
2122
- constructor(props: IMessageLineComponentProps);
2164
+ export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
2165
+ isSelected: boolean;
2166
+ isDisabled?: boolean;
2167
+ }> {
2168
+ private static _UniqueIdSeed;
2169
+ private _uniqueId;
2170
+ private _localChange;
2171
+ constructor(props: ICheckBoxLineComponentProps);
2172
+ shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
2173
+ isSelected: boolean;
2174
+ isDisabled: boolean;
2175
+ }): boolean;
2176
+ onChange(): void;
2123
2177
  render(): JSX.Element;
2124
2178
  }
2125
2179
  }
@@ -2131,6 +2185,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2131
2185
  step?: number;
2132
2186
  onChange: (value: number) => void;
2133
2187
  precision?: number;
2188
+ icon?: string;
2189
+ iconLabel?: string;
2134
2190
  }
2135
2191
  export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
2136
2192
  value: string;
@@ -2148,37 +2204,480 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2148
2204
  render(): JSX.Element;
2149
2205
  }
2150
2206
  }
2151
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineComponent" {
2207
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerComponent" {
2152
2208
  import * as React from "react";
2153
- import { Observable } from "@babylonjs/core/Misc/observable";
2154
- interface IRadioButtonLineComponentProps {
2155
- onSelectionChangedObservable: Observable<RadioButtonLineComponent>;
2156
- label: string;
2157
- isSelected: () => boolean;
2158
- onSelect: () => void;
2209
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
2210
+ export interface IColorPickerComponentProps {
2211
+ value: Color4 | Color3;
2212
+ linearHint?: boolean;
2213
+ onColorChanged: (newOne: string) => void;
2214
+ icon?: string;
2215
+ iconLabel?: string;
2216
+ shouldPopRight?: boolean;
2159
2217
  }
2160
- export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
2161
- isSelected: boolean;
2162
- }> {
2163
- private _onSelectionChangedObserver;
2164
- constructor(props: IRadioButtonLineComponentProps);
2218
+ interface IColorPickerComponentState {
2219
+ pickerEnabled: boolean;
2220
+ color: Color3 | Color4;
2221
+ hex: string;
2222
+ }
2223
+ export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
2224
+ private _floatRef;
2225
+ private _floatHostRef;
2226
+ constructor(props: IColorPickerComponentProps);
2227
+ syncPositions(): void;
2228
+ shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
2229
+ componentDidUpdate(): void;
2165
2230
  componentDidMount(): void;
2166
- componentWillUnmount(): void;
2167
- onChange(): void;
2168
2231
  render(): JSX.Element;
2169
2232
  }
2170
2233
  }
2171
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponent" {
2234
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2235
+ /**
2236
+ * Class used to provide lock mechanism
2237
+ */
2238
+ export class LockObject {
2239
+ /**
2240
+ * Gets or set if the lock is engaged
2241
+ */
2242
+ lock: boolean;
2243
+ }
2244
+ }
2245
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineComponent" {
2172
2246
  import * as React from "react";
2173
- interface ITextLineComponentProps {
2174
- label?: string;
2247
+ import { Observable } from "@babylonjs/core/Misc/observable";
2248
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2249
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2250
+ interface ITextInputLineComponentProps {
2251
+ label: string;
2252
+ lockObject: LockObject;
2253
+ target?: any;
2254
+ propertyName?: string;
2175
2255
  value?: string;
2176
- color?: string;
2177
- underline?: boolean;
2178
- onLink?: () => void;
2256
+ onChange?: (value: string) => void;
2257
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2258
+ icon?: string;
2259
+ iconLabel?: string;
2260
+ noUnderline?: boolean;
2261
+ numbersOnly?: boolean;
2262
+ }
2263
+ export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2264
+ value: string;
2265
+ }> {
2266
+ private _localChange;
2267
+ constructor(props: ITextInputLineComponentProps);
2268
+ componentWillUnmount(): void;
2269
+ shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
2270
+ value: string;
2271
+ }): boolean;
2272
+ raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2273
+ updateValue(value: string): void;
2274
+ render(): JSX.Element;
2275
+ }
2276
+ }
2277
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/color3LineComponent" {
2278
+ import * as React from "react";
2279
+ import { Observable } from "@babylonjs/core/Misc/observable";
2280
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2281
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
2282
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2283
+ export interface IColor3LineComponentProps {
2284
+ label: string;
2285
+ target: any;
2286
+ propertyName: string;
2287
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2288
+ isLinear?: boolean;
2289
+ icon?: string;
2290
+ lockObject?: LockObject;
2291
+ iconLabel?: string;
2292
+ onValueChange?: (value: string) => void;
2293
+ }
2294
+ export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
2295
+ isExpanded: boolean;
2296
+ color: Color3 | Color4;
2297
+ colorText: string;
2298
+ }> {
2299
+ private _localChange;
2300
+ constructor(props: IColor3LineComponentProps);
2301
+ private convertToColor3;
2302
+ shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
2303
+ color: Color3 | Color4;
2304
+ colorText: string;
2305
+ }): boolean;
2306
+ setPropertyValue(newColor: Color3 | Color4, newColorText: string): void;
2307
+ onChange(newValue: string): void;
2308
+ switchExpandState(): void;
2309
+ raiseOnPropertyChanged(previousValue: Color3 | Color4): void;
2310
+ updateStateR(value: number): void;
2311
+ updateStateG(value: number): void;
2312
+ updateStateB(value: number): void;
2313
+ copyToClipboard(): void;
2314
+ convert(colorString: string): void;
2315
+ private _colorStringSaved;
2316
+ private _colorPickerOpen;
2317
+ private _colorString;
2318
+ render(): JSX.Element;
2319
+ }
2320
+ }
2321
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/color4LineComponent" {
2322
+ import * as React from "react";
2323
+ import { Observable } from "@babylonjs/core/Misc/observable";
2324
+ import { Color4 } from "@babylonjs/core/Maths/math.color";
2325
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2326
+ export interface IColor4LineComponentProps {
2327
+ label: string;
2328
+ target: any;
2329
+ propertyName: string;
2330
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2331
+ onChange?: () => void;
2332
+ isLinear?: boolean;
2333
+ icon?: string;
2334
+ iconLabel?: string;
2335
+ }
2336
+ export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
2337
+ isExpanded: boolean;
2338
+ color: Color4;
2339
+ }> {
2340
+ private _localChange;
2341
+ constructor(props: IColor4LineComponentProps);
2342
+ shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
2343
+ color: Color4;
2344
+ }): boolean;
2345
+ setPropertyValue(newColor: Color4): void;
2346
+ onChange(newValue: string): void;
2347
+ switchExpandState(): void;
2348
+ raiseOnPropertyChanged(previousValue: Color4): void;
2349
+ updateStateR(value: number): void;
2350
+ updateStateG(value: number): void;
2351
+ updateStateB(value: number): void;
2352
+ updateStateA(value: number): void;
2353
+ copyToClipboard(): void;
2354
+ render(): JSX.Element;
2355
+ }
2356
+ }
2357
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/draggableLineComponent" {
2358
+ import * as React from "react";
2359
+ export interface IButtonLineComponentProps {
2360
+ data: string;
2361
+ tooltip: string;
2362
+ }
2363
+ export class DraggableLineComponent extends React.Component<IButtonLineComponentProps> {
2364
+ constructor(props: IButtonLineComponentProps);
2365
+ render(): JSX.Element;
2366
+ }
2367
+ }
2368
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileButtonLineComponent" {
2369
+ import * as React from "react";
2370
+ interface IFileButtonLineComponentProps {
2371
+ label: string;
2372
+ onClick: (file: File) => void;
2373
+ accept: string;
2374
+ icon?: string;
2375
+ iconLabel?: string;
2376
+ }
2377
+ export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
2378
+ private static _IDGenerator;
2379
+ private _id;
2380
+ private uploadInputRef;
2381
+ constructor(props: IFileButtonLineComponentProps);
2382
+ onChange(evt: any): void;
2383
+ render(): JSX.Element;
2384
+ }
2385
+ }
2386
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButtonLineComponent" {
2387
+ import * as React from "react";
2388
+ interface IFileMultipleButtonLineComponentProps {
2389
+ label: string;
2390
+ onClick: (event: any) => void;
2391
+ accept: string;
2392
+ icon?: string;
2393
+ iconLabel?: string;
2394
+ }
2395
+ export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
2396
+ private static _IDGenerator;
2397
+ private _id;
2398
+ private uploadInputRef;
2399
+ constructor(props: IFileMultipleButtonLineComponentProps);
2400
+ onChange(evt: any): void;
2401
+ render(): JSX.Element;
2402
+ }
2403
+ }
2404
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/sliderLineComponent" {
2405
+ import * as React from "react";
2406
+ import { Observable } from "@babylonjs/core/Misc/observable";
2407
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2408
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2409
+ interface ISliderLineComponentProps {
2410
+ label: string;
2411
+ target?: any;
2412
+ propertyName?: string;
2413
+ minimum: number;
2414
+ maximum: number;
2415
+ step: number;
2416
+ directValue?: number;
2417
+ useEuler?: boolean;
2418
+ onChange?: (value: number) => void;
2419
+ onInput?: (value: number) => void;
2420
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2421
+ decimalCount?: number;
2422
+ margin?: boolean;
2423
+ icon?: string;
2424
+ iconLabel?: string;
2425
+ lockObject?: LockObject;
2426
+ }
2427
+ export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
2428
+ value: number;
2429
+ }> {
2430
+ private _localChange;
2431
+ constructor(props: ISliderLineComponentProps);
2432
+ shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
2433
+ value: number;
2434
+ }): boolean;
2435
+ onChange(newValueString: any): void;
2436
+ onInput(newValueString: any): void;
2437
+ prepareDataToRead(value: number): number;
2438
+ render(): JSX.Element;
2439
+ }
2440
+ }
2441
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/floatLineComponent" {
2442
+ import * as React from "react";
2443
+ import { Observable } from "@babylonjs/core/Misc/observable";
2444
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2445
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2446
+ interface IFloatLineComponentProps {
2447
+ label: string;
2448
+ target: any;
2449
+ propertyName: string;
2450
+ lockObject?: LockObject;
2451
+ onChange?: (newValue: number) => void;
2452
+ isInteger?: boolean;
2453
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2454
+ additionalClass?: string;
2455
+ step?: string;
2456
+ digits?: number;
2457
+ useEuler?: boolean;
2458
+ min?: number;
2459
+ max?: number;
2460
+ smallUI?: boolean;
2461
+ onEnter?: (newValue: number) => void;
2462
+ icon?: string;
2463
+ iconLabel?: string;
2464
+ }
2465
+ export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
2466
+ value: string;
2467
+ }> {
2468
+ private _localChange;
2469
+ private _store;
2470
+ constructor(props: IFloatLineComponentProps);
2471
+ componentWillUnmount(): void;
2472
+ shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
2473
+ value: string;
2474
+ }): boolean;
2475
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2476
+ updateValue(valueString: string): void;
2477
+ lock(): void;
2478
+ unlock(): void;
2479
+ render(): JSX.Element;
2480
+ }
2481
+ }
2482
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/hexLineComponent" {
2483
+ import * as React from "react";
2484
+ import { Observable } from "@babylonjs/core/Misc/observable";
2485
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2486
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2487
+ interface IHexLineComponentProps {
2488
+ label: string;
2489
+ target: any;
2490
+ propertyName: string;
2491
+ lockObject?: LockObject;
2492
+ onChange?: (newValue: number) => void;
2493
+ isInteger?: boolean;
2494
+ replaySourceReplacement?: string;
2495
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2496
+ additionalClass?: string;
2497
+ step?: string;
2498
+ digits?: number;
2499
+ useEuler?: boolean;
2500
+ min?: number;
2501
+ icon?: string;
2502
+ iconLabel?: string;
2503
+ }
2504
+ export class HexLineComponent extends React.Component<IHexLineComponentProps, {
2505
+ value: string;
2506
+ }> {
2507
+ private _localChange;
2508
+ private _store;
2509
+ private _propertyChange;
2510
+ constructor(props: IHexLineComponentProps);
2511
+ componentWillUnmount(): void;
2512
+ shouldComponentUpdate(nextProps: IHexLineComponentProps, nextState: {
2513
+ value: string;
2514
+ }): boolean;
2515
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2516
+ convertToHexString(valueString: string): string;
2517
+ updateValue(valueString: string, raisePropertyChanged: boolean): void;
2518
+ lock(): void;
2519
+ unlock(): void;
2520
+ render(): JSX.Element;
2521
+ }
2522
+ }
2523
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer" {
2524
+ export interface ISelectedLineContainer {
2525
+ selectedLineContainerTitles: Array<string>;
2526
+ selectedLineContainerTitlesNoFocus: Array<string>;
2527
+ }
2528
+ }
2529
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/iconButtonLineComponent" {
2530
+ import * as React from "react";
2531
+ export interface IIconButtonLineComponentProps {
2532
+ icon: string;
2533
+ onClick: () => void;
2534
+ tooltip: string;
2535
+ active?: boolean;
2536
+ }
2537
+ export class IconButtonLineComponent extends React.Component<IIconButtonLineComponentProps> {
2538
+ constructor(props: IIconButtonLineComponentProps);
2539
+ render(): JSX.Element;
2540
+ }
2541
+ }
2542
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/indentedTextLineComponent" {
2543
+ import * as React from "react";
2544
+ interface IIndentedTextLineComponentProps {
2545
+ value?: string;
2546
+ color?: string;
2547
+ underline?: boolean;
2548
+ onLink?: () => void;
2549
+ url?: string;
2550
+ additionalClass?: string;
2551
+ }
2552
+ export class IndentedTextLineComponent extends React.Component<IIndentedTextLineComponentProps> {
2553
+ constructor(props: IIndentedTextLineComponentProps);
2554
+ onLink(): void;
2555
+ renderContent(): JSX.Element;
2556
+ render(): JSX.Element;
2557
+ }
2558
+ }
2559
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/lineContainerComponent" {
2560
+ import * as React from "react";
2561
+ import { ISelectedLineContainer } from "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer";
2562
+ interface ILineContainerComponentProps {
2563
+ selection?: ISelectedLineContainer;
2564
+ title: string;
2565
+ children: any[] | any;
2566
+ closed?: boolean;
2567
+ }
2568
+ export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
2569
+ isExpanded: boolean;
2570
+ isHighlighted: boolean;
2571
+ }> {
2572
+ constructor(props: ILineContainerComponentProps);
2573
+ switchExpandedState(): void;
2574
+ renderHeader(): JSX.Element;
2575
+ componentDidMount(): void;
2576
+ render(): JSX.Element;
2577
+ }
2578
+ }
2579
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/linkButtonComponent" {
2580
+ import * as React from "react";
2581
+ interface ILinkButtonComponentProps {
2582
+ label: string;
2583
+ buttonLabel: string;
2584
+ url?: string;
2585
+ onClick: () => void;
2586
+ onIconClick?: () => void;
2587
+ }
2588
+ export class LinkButtonComponent extends React.Component<ILinkButtonComponentProps> {
2589
+ constructor(props: ILinkButtonComponentProps);
2590
+ onLink(): void;
2591
+ render(): JSX.Element;
2592
+ }
2593
+ }
2594
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/messageLineComponent" {
2595
+ import * as React from "react";
2596
+ interface IMessageLineComponentProps {
2597
+ text: string;
2598
+ color?: string;
2599
+ }
2600
+ export class MessageLineComponent extends React.Component<IMessageLineComponentProps> {
2601
+ constructor(props: IMessageLineComponentProps);
2602
+ render(): JSX.Element;
2603
+ }
2604
+ }
2605
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/optionsLineComponent" {
2606
+ import * as React from "react";
2607
+ import { Observable } from "@babylonjs/core/Misc/observable";
2608
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2609
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
2610
+ export const Null_Value: number;
2611
+ export interface IOptionsLineComponentProps {
2612
+ label: string;
2613
+ target: any;
2614
+ propertyName: string;
2615
+ options: IInspectableOptions[];
2616
+ noDirectUpdate?: boolean;
2617
+ onSelect?: (value: number) => void;
2618
+ extractValue?: () => number;
2619
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2620
+ allowNullValue?: boolean;
2621
+ icon?: string;
2622
+ iconLabel?: string;
2623
+ }
2624
+ export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
2625
+ value: number;
2626
+ }> {
2627
+ private _localChange;
2628
+ private remapValueIn;
2629
+ private remapValueOut;
2630
+ constructor(props: IOptionsLineComponentProps);
2631
+ shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
2632
+ value: number;
2633
+ }): boolean;
2634
+ raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2635
+ updateValue(valueString: string): void;
2636
+ render(): JSX.Element;
2637
+ }
2638
+ }
2639
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/popup" {
2640
+ export class Popup {
2641
+ static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
2642
+ private static _CopyStyles;
2643
+ }
2644
+ }
2645
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineComponent" {
2646
+ import * as React from "react";
2647
+ import { Observable } from "@babylonjs/core/Misc/observable";
2648
+ interface IRadioButtonLineComponentProps {
2649
+ onSelectionChangedObservable: Observable<RadioButtonLineComponent>;
2650
+ label: string;
2651
+ isSelected: () => boolean;
2652
+ onSelect: () => void;
2653
+ icon?: string;
2654
+ iconLabel?: string;
2655
+ }
2656
+ export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
2657
+ isSelected: boolean;
2658
+ }> {
2659
+ private _onSelectionChangedObserver;
2660
+ constructor(props: IRadioButtonLineComponentProps);
2661
+ componentDidMount(): void;
2662
+ componentWillUnmount(): void;
2663
+ onChange(): void;
2664
+ render(): JSX.Element;
2665
+ }
2666
+ }
2667
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponent" {
2668
+ import * as React from "react";
2669
+ interface ITextLineComponentProps {
2670
+ label?: string;
2671
+ value?: string;
2672
+ color?: string;
2673
+ underline?: boolean;
2674
+ onLink?: () => void;
2179
2675
  url?: string;
2180
2676
  ignoreValue?: boolean;
2181
2677
  additionalClass?: string;
2678
+ icon?: string;
2679
+ iconLabel?: string;
2680
+ tooltip?: string;
2182
2681
  }
2183
2682
  export class TextLineComponent extends React.Component<ITextLineComponentProps> {
2184
2683
  constructor(props: ITextLineComponentProps);
@@ -2195,12 +2694,389 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/valueLineCompone
2195
2694
  color?: string;
2196
2695
  fractionDigits?: number;
2197
2696
  units?: string;
2697
+ icon?: string;
2698
+ iconLabel?: string;
2198
2699
  }
2199
2700
  export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
2200
2701
  constructor(props: IValueLineComponentProps);
2201
2702
  render(): JSX.Element;
2202
2703
  }
2203
2704
  }
2705
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector2LineComponent" {
2706
+ import * as React from "react";
2707
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector";
2708
+ import { Observable } from "@babylonjs/core/Misc/observable";
2709
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2710
+ interface IVector2LineComponentProps {
2711
+ label: string;
2712
+ target: any;
2713
+ propertyName: string;
2714
+ step?: number;
2715
+ onChange?: (newvalue: Vector2) => void;
2716
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2717
+ icon?: string;
2718
+ iconLabel?: string;
2719
+ }
2720
+ export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
2721
+ isExpanded: boolean;
2722
+ value: Vector2;
2723
+ }> {
2724
+ static defaultProps: {
2725
+ step: number;
2726
+ };
2727
+ private _localChange;
2728
+ constructor(props: IVector2LineComponentProps);
2729
+ shouldComponentUpdate(nextProps: IVector2LineComponentProps, nextState: {
2730
+ isExpanded: boolean;
2731
+ value: Vector2;
2732
+ }): boolean;
2733
+ switchExpandState(): void;
2734
+ raiseOnPropertyChanged(previousValue: Vector2): void;
2735
+ updateStateX(value: number): void;
2736
+ updateStateY(value: number): void;
2737
+ render(): JSX.Element;
2738
+ }
2739
+ }
2740
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector3LineComponent" {
2741
+ import * as React from "react";
2742
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector";
2743
+ import { Observable } from "@babylonjs/core/Misc/observable";
2744
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2745
+ interface IVector3LineComponentProps {
2746
+ label: string;
2747
+ target: any;
2748
+ propertyName: string;
2749
+ step?: number;
2750
+ onChange?: (newvalue: Vector3) => void;
2751
+ useEuler?: boolean;
2752
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2753
+ noSlider?: boolean;
2754
+ icon?: string;
2755
+ iconLabel?: string;
2756
+ }
2757
+ export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
2758
+ isExpanded: boolean;
2759
+ value: Vector3;
2760
+ }> {
2761
+ static defaultProps: {
2762
+ step: number;
2763
+ };
2764
+ private _localChange;
2765
+ constructor(props: IVector3LineComponentProps);
2766
+ getCurrentValue(): any;
2767
+ shouldComponentUpdate(nextProps: IVector3LineComponentProps, nextState: {
2768
+ isExpanded: boolean;
2769
+ value: Vector3;
2770
+ }): boolean;
2771
+ switchExpandState(): void;
2772
+ raiseOnPropertyChanged(previousValue: Vector3): void;
2773
+ updateVector3(): void;
2774
+ updateStateX(value: number): void;
2775
+ updateStateY(value: number): void;
2776
+ updateStateZ(value: number): void;
2777
+ render(): JSX.Element;
2778
+ }
2779
+ }
2780
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector4LineComponent" {
2781
+ import * as React from "react";
2782
+ import { Vector4 } from "@babylonjs/core/Maths/math.vector";
2783
+ import { Observable } from "@babylonjs/core/Misc/observable";
2784
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2785
+ interface IVector4LineComponentProps {
2786
+ label: string;
2787
+ target: any;
2788
+ propertyName: string;
2789
+ step?: number;
2790
+ onChange?: (newvalue: Vector4) => void;
2791
+ useEuler?: boolean;
2792
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2793
+ icon?: string;
2794
+ iconLabel?: string;
2795
+ }
2796
+ export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
2797
+ isExpanded: boolean;
2798
+ value: Vector4;
2799
+ }> {
2800
+ static defaultProps: {
2801
+ step: number;
2802
+ };
2803
+ private _localChange;
2804
+ constructor(props: IVector4LineComponentProps);
2805
+ getCurrentValue(): any;
2806
+ shouldComponentUpdate(nextProps: IVector4LineComponentProps, nextState: {
2807
+ isExpanded: boolean;
2808
+ value: Vector4;
2809
+ }): boolean;
2810
+ switchExpandState(): void;
2811
+ raiseOnPropertyChanged(previousValue: Vector4): void;
2812
+ updateVector4(): void;
2813
+ updateStateX(value: number): void;
2814
+ updateStateY(value: number): void;
2815
+ updateStateZ(value: number): void;
2816
+ updateStateW(value: number): void;
2817
+ render(): JSX.Element;
2818
+ }
2819
+ }
2820
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/commonControlPropertyGridComponent" {
2821
+ import * as React from "react";
2822
+ import { Observable } from "@babylonjs/core/Misc/observable";
2823
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2824
+ import { Control } from "@babylonjs/gui/2D/controls/control";
2825
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2826
+ interface ICommonControlPropertyGridComponentProps {
2827
+ control: Control;
2828
+ lockObject: LockObject;
2829
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2830
+ }
2831
+ export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
2832
+ constructor(props: ICommonControlPropertyGridComponentProps);
2833
+ renderGridInformation(): JSX.Element | null;
2834
+ render(): JSX.Element;
2835
+ }
2836
+ }
2837
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/checkboxPropertyGridComponent" {
2838
+ import * as React from "react";
2839
+ import { Observable } from "@babylonjs/core/Misc/observable";
2840
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2841
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2842
+ import { Checkbox } from "@babylonjs/gui/2D/controls/checkbox";
2843
+ interface ICheckboxPropertyGridComponentProps {
2844
+ checkbox: Checkbox;
2845
+ lockObject: LockObject;
2846
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2847
+ }
2848
+ export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
2849
+ constructor(props: ICheckboxPropertyGridComponentProps);
2850
+ render(): JSX.Element;
2851
+ }
2852
+ }
2853
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/colorPickerPropertyGridComponent" {
2854
+ import * as React from "react";
2855
+ import { Observable } from "@babylonjs/core/Misc/observable";
2856
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2857
+ import { ColorPicker } from "@babylonjs/gui/2D/controls/colorpicker";
2858
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2859
+ interface IColorPickerPropertyGridComponentProps {
2860
+ colorPicker: ColorPicker;
2861
+ lockObject: LockObject;
2862
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2863
+ }
2864
+ export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
2865
+ constructor(props: IColorPickerPropertyGridComponentProps);
2866
+ render(): JSX.Element;
2867
+ }
2868
+ }
2869
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/controlPropertyGridComponent" {
2870
+ import * as React from "react";
2871
+ import { Observable } from "@babylonjs/core/Misc/observable";
2872
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2873
+ import { Control } from "@babylonjs/gui/2D/controls/control";
2874
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2875
+ interface IControlPropertyGridComponentProps {
2876
+ control: Control;
2877
+ lockObject: LockObject;
2878
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2879
+ }
2880
+ export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
2881
+ constructor(props: IControlPropertyGridComponentProps);
2882
+ render(): JSX.Element;
2883
+ }
2884
+ }
2885
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/ellipsePropertyGridComponent" {
2886
+ import * as React from "react";
2887
+ import { Observable } from "@babylonjs/core/Misc/observable";
2888
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2889
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2890
+ import { Ellipse } from "@babylonjs/gui/2D/controls/ellipse";
2891
+ interface IEllipsePropertyGridComponentProps {
2892
+ ellipse: Ellipse;
2893
+ lockObject: LockObject;
2894
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2895
+ }
2896
+ export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
2897
+ constructor(props: IEllipsePropertyGridComponentProps);
2898
+ render(): JSX.Element;
2899
+ }
2900
+ }
2901
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/gridPropertyGridComponent" {
2902
+ import * as React from "react";
2903
+ import { Observable } from "@babylonjs/core/Misc/observable";
2904
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2905
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2906
+ import { Grid } from "@babylonjs/gui/2D/controls/grid";
2907
+ interface IGridPropertyGridComponentProps {
2908
+ grid: Grid;
2909
+ lockObject: LockObject;
2910
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2911
+ }
2912
+ export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
2913
+ constructor(props: IGridPropertyGridComponentProps);
2914
+ renderRows(): JSX.Element[];
2915
+ renderColumns(): JSX.Element[];
2916
+ render(): JSX.Element;
2917
+ }
2918
+ }
2919
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent" {
2920
+ import * as React from "react";
2921
+ import { Observable } from "@babylonjs/core/Misc/observable";
2922
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2923
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2924
+ import { ImageBasedSlider } from "@babylonjs/gui/2D/controls/sliders/imageBasedSlider";
2925
+ interface IImageBasedSliderPropertyGridComponentProps {
2926
+ imageBasedSlider: ImageBasedSlider;
2927
+ lockObject: LockObject;
2928
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2929
+ }
2930
+ export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
2931
+ constructor(props: IImageBasedSliderPropertyGridComponentProps);
2932
+ render(): JSX.Element;
2933
+ }
2934
+ }
2935
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/imagePropertyGridComponent" {
2936
+ import * as React from "react";
2937
+ import { Observable } from "@babylonjs/core/Misc/observable";
2938
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2939
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2940
+ import { Image } from "@babylonjs/gui/2D/controls/image";
2941
+ interface IImagePropertyGridComponentProps {
2942
+ image: Image;
2943
+ lockObject: LockObject;
2944
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2945
+ }
2946
+ export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
2947
+ constructor(props: IImagePropertyGridComponentProps);
2948
+ render(): JSX.Element;
2949
+ }
2950
+ }
2951
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/inputTextPropertyGridComponent" {
2952
+ import * as React from "react";
2953
+ import { Observable } from "@babylonjs/core/Misc/observable";
2954
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2955
+ import { InputText } from "@babylonjs/gui/2D/controls/inputText";
2956
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2957
+ interface IInputTextPropertyGridComponentProps {
2958
+ inputText: InputText;
2959
+ lockObject: LockObject;
2960
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2961
+ }
2962
+ export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
2963
+ constructor(props: IInputTextPropertyGridComponentProps);
2964
+ render(): JSX.Element;
2965
+ }
2966
+ }
2967
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/linePropertyGridComponent" {
2968
+ import * as React from "react";
2969
+ import { Observable } from "@babylonjs/core/Misc/observable";
2970
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2971
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2972
+ import { Line } from "@babylonjs/gui/2D/controls/line";
2973
+ interface ILinePropertyGridComponentProps {
2974
+ line: Line;
2975
+ lockObject: LockObject;
2976
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2977
+ }
2978
+ export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
2979
+ constructor(props: ILinePropertyGridComponentProps);
2980
+ onDashChange(value: string): void;
2981
+ render(): JSX.Element;
2982
+ }
2983
+ }
2984
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/radioButtonPropertyGridComponent" {
2985
+ import * as React from "react";
2986
+ import { Observable } from "@babylonjs/core/Misc/observable";
2987
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2988
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2989
+ import { RadioButton } from "@babylonjs/gui/2D/controls/radioButton";
2990
+ interface IRadioButtonPropertyGridComponentProps {
2991
+ radioButton: RadioButton;
2992
+ lockObject: LockObject;
2993
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2994
+ }
2995
+ export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
2996
+ constructor(props: IRadioButtonPropertyGridComponentProps);
2997
+ render(): JSX.Element;
2998
+ }
2999
+ }
3000
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/rectanglePropertyGridComponent" {
3001
+ import * as React from "react";
3002
+ import { Observable } from "@babylonjs/core/Misc/observable";
3003
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
3004
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
3005
+ import { Rectangle } from "@babylonjs/gui/2D/controls/rectangle";
3006
+ interface IRectanglePropertyGridComponentProps {
3007
+ rectangle: Rectangle;
3008
+ lockObject: LockObject;
3009
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
3010
+ }
3011
+ export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
3012
+ constructor(props: IRectanglePropertyGridComponentProps);
3013
+ render(): JSX.Element;
3014
+ }
3015
+ }
3016
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent" {
3017
+ import * as React from "react";
3018
+ import { Observable } from "@babylonjs/core/Misc/observable";
3019
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
3020
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
3021
+ import { ScrollViewer } from "@babylonjs/gui/2D/controls/scrollViewers/scrollViewer";
3022
+ interface IScrollViewerPropertyGridComponentProps {
3023
+ scrollViewer: ScrollViewer;
3024
+ lockObject: LockObject;
3025
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
3026
+ }
3027
+ export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
3028
+ constructor(props: IScrollViewerPropertyGridComponentProps);
3029
+ render(): JSX.Element;
3030
+ }
3031
+ }
3032
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/sliderPropertyGridComponent" {
3033
+ import * as React from "react";
3034
+ import { Observable } from "@babylonjs/core/Misc/observable";
3035
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
3036
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
3037
+ import { Slider } from "@babylonjs/gui/2D/controls/sliders/slider";
3038
+ interface ISliderPropertyGridComponentProps {
3039
+ slider: Slider;
3040
+ lockObject: LockObject;
3041
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
3042
+ }
3043
+ export class SliderPropertyGridComponent extends React.Component<ISliderPropertyGridComponentProps> {
3044
+ constructor(props: ISliderPropertyGridComponentProps);
3045
+ render(): JSX.Element;
3046
+ }
3047
+ }
3048
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/stackPanelPropertyGridComponent" {
3049
+ import * as React from "react";
3050
+ import { Observable } from "@babylonjs/core/Misc/observable";
3051
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
3052
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
3053
+ import { StackPanel } from "@babylonjs/gui/2D/controls/stackPanel";
3054
+ interface IStackPanelPropertyGridComponentProps {
3055
+ stackPanel: StackPanel;
3056
+ lockObject: LockObject;
3057
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
3058
+ }
3059
+ export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
3060
+ constructor(props: IStackPanelPropertyGridComponentProps);
3061
+ render(): JSX.Element;
3062
+ }
3063
+ }
3064
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/textBlockPropertyGridComponent" {
3065
+ import * as React from "react";
3066
+ import { Observable } from "@babylonjs/core/Misc/observable";
3067
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
3068
+ import { TextBlock } from "@babylonjs/gui/2D/controls/textBlock";
3069
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
3070
+ interface ITextBlockPropertyGridComponentProps {
3071
+ textBlock: TextBlock;
3072
+ lockObject: LockObject;
3073
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
3074
+ }
3075
+ export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
3076
+ constructor(props: ITextBlockPropertyGridComponentProps);
3077
+ render(): JSX.Element;
3078
+ }
3079
+ }
2204
3080
  declare module "@babylonjs/node-editor" {
2205
3081
  export * from "@babylonjs/node-editor/legacy/legacy";
2206
3082
  }