@babylonjs/node-editor 5.0.0-alpha.8 → 5.0.0-beta.10

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,11 +77,20 @@ 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';
87
+ import { ElbowBlock } from '@babylonjs/core/Materials/Node/Blocks/elbowBlock';
88
+ import { ClipPlanesBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/clipPlanesBlock';
79
89
  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;
90
+ static GetBlockFromString(data: string, scene: Scene, nodeMaterial: NodeMaterial): ElbowBlock | 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 | ClipPlanesBlock | null;
81
91
  static GetColorFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): string;
82
92
  static GetConnectionNodeTypeFromString(type: string): NodeMaterialBlockConnectionPointTypes.Float | NodeMaterialBlockConnectionPointTypes.Vector2 | NodeMaterialBlockConnectionPointTypes.Vector3 | NodeMaterialBlockConnectionPointTypes.Vector4 | NodeMaterialBlockConnectionPointTypes.Color3 | NodeMaterialBlockConnectionPointTypes.Color4 | NodeMaterialBlockConnectionPointTypes.Matrix | NodeMaterialBlockConnectionPointTypes.AutoDetect;
83
- static GetStringFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): "Float" | "Vector2" | "Vector3" | "Vector4" | "Matrix" | "Color3" | "Color4" | "";
93
+ static GetStringFromConnectionNodeType(type: NodeMaterialBlockConnectionPointTypes): "" | "Float" | "Vector2" | "Vector3" | "Vector4" | "Matrix" | "Color3" | "Color4";
84
94
  }
85
95
  }
86
96
  declare module "@babylonjs/node-editor/components/log/logComponent" {
@@ -357,6 +367,7 @@ declare module "@babylonjs/node-editor/diagram/graphFrame" {
357
367
  private serializePortData;
358
368
  serialize(saveCollapsedState: boolean): IFrameData;
359
369
  export(): void;
370
+ adjustPorts(): void;
360
371
  static Parse(serializationData: IFrameData, canvas: GraphCanvasComponent, map?: {
361
372
  [key: number]: number;
362
373
  }): GraphFrame;
@@ -420,8 +431,8 @@ declare module "@babylonjs/node-editor/diagram/nodeLink" {
420
431
  onDisposedObservable: Observable<NodeLink>;
421
432
  get isVisible(): boolean;
422
433
  set isVisible(value: boolean);
423
- get portA(): FrameNodePort | NodePort;
424
- get portB(): FrameNodePort | NodePort | undefined;
434
+ get portA(): NodePort | FrameNodePort;
435
+ get portB(): NodePort | FrameNodePort | undefined;
425
436
  get nodeA(): GraphNode;
426
437
  get nodeB(): GraphNode | undefined;
427
438
  update(endX?: number, endY?: number, straight?: boolean): void;
@@ -433,12 +444,12 @@ declare module "@babylonjs/node-editor/diagram/nodeLink" {
433
444
  declare module "@babylonjs/node-editor/diagram/graphCanvas" {
434
445
  import * as React from "react";
435
446
  import { GlobalState } from "@babylonjs/node-editor/globalState";
436
- import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
447
+ import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
437
448
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
438
- import { Nullable } from '@babylonjs/core/types';
449
+ import { Nullable } from "@babylonjs/core/types";
439
450
  import { NodeLink } from "@babylonjs/node-editor/diagram/nodeLink";
440
451
  import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
441
- import { NodeMaterialConnectionPoint } from '@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint';
452
+ import { NodeMaterialConnectionPoint } from "@babylonjs/core/Materials/Node/nodeMaterialBlockConnectionPoint";
442
453
  import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
443
454
  import { IEditorData, IFrameData } from "@babylonjs/node-editor/nodeLocationInfo";
444
455
  import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
@@ -509,6 +520,7 @@ declare module "@babylonjs/node-editor/diagram/graphCanvas" {
509
520
  get selectionContainer(): HTMLDivElement;
510
521
  get frameContainer(): HTMLDivElement;
511
522
  constructor(props: IGraphCanvasComponentProps);
523
+ static _RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
512
524
  getGridPosition(position: number, useCeil?: boolean): number;
513
525
  getGridPositionCeil(position: number): number;
514
526
  updateTransform(): void;
@@ -566,10 +578,12 @@ declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
566
578
  private _localChange;
567
579
  private _store;
568
580
  private _regExp;
581
+ private _onFocus;
569
582
  constructor(props: IFloatLineComponentProps);
570
583
  shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
571
584
  value: string;
572
585
  }): boolean;
586
+ componentWillUnmount(): void;
573
587
  raiseOnPropertyChanged(newValue: number, previousValue: number): void;
574
588
  updateValue(valueString: string): void;
575
589
  render(): JSX.Element;
@@ -578,7 +592,7 @@ declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
578
592
  declare module "@babylonjs/node-editor/components/propertyTab/properties/floatPropertyTabComponent" {
579
593
  import * as React from "react";
580
594
  import { GlobalState } from "@babylonjs/node-editor/globalState";
581
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
595
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
582
596
  interface IFloatPropertyTabComponentProps {
583
597
  globalState: GlobalState;
584
598
  inputBlock: InputBlock;
@@ -684,7 +698,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector2LineComponent" {
684
698
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector2PropertyTabComponent" {
685
699
  import * as React from "react";
686
700
  import { GlobalState } from "@babylonjs/node-editor/globalState";
687
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
701
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
688
702
  interface IVector2PropertyTabComponentProps {
689
703
  globalState: GlobalState;
690
704
  inputBlock: InputBlock;
@@ -734,6 +748,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
734
748
  */
735
749
  export interface IColorPickerProps {
736
750
  color: Color3 | Color4;
751
+ linearhint?: boolean;
737
752
  debugMode?: boolean;
738
753
  onColorChanged?: (color: Color3 | Color4) => void;
739
754
  }
@@ -753,6 +768,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
753
768
  private _isSaturationPointerDown;
754
769
  private _isHuePointerDown;
755
770
  constructor(props: IColorPickerProps);
771
+ shouldComponentUpdate(nextProps: IColorPickerProps, nextState: IColorPickerState): boolean;
756
772
  onSaturationPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
757
773
  onSaturationPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
758
774
  onSaturationPointerMove(evt: React.PointerEvent<HTMLDivElement>): void;
@@ -768,7 +784,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/colorPicker/colorPicke
768
784
  }
769
785
  declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
770
786
  import * as React from "react";
771
- import { Color4, Color3 } from '@babylonjs/core/Maths/math.color';
787
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
772
788
  import { GlobalState } from "@babylonjs/node-editor/globalState";
773
789
  export interface IColorPickerComponentProps {
774
790
  value: Color4 | Color3;
@@ -795,7 +811,7 @@ declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
795
811
  declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
796
812
  import * as React from "react";
797
813
  import { Observable } from "@babylonjs/core/Misc/observable";
798
- import { Color3 } from "@babylonjs/core/Maths/math.color";
814
+ import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
799
815
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
800
816
  import { GlobalState } from "@babylonjs/node-editor/globalState";
801
817
  export interface IColor3LineComponentProps {
@@ -808,16 +824,16 @@ declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
808
824
  }
809
825
  export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
810
826
  isExpanded: boolean;
811
- color: Color3;
827
+ color: Color3 | Color4;
812
828
  }> {
813
829
  private _localChange;
814
830
  constructor(props: IColor3LineComponentProps);
815
831
  shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
816
- color: Color3;
832
+ color: Color3 | Color4;
817
833
  }): boolean;
818
834
  onChange(newValue: string): void;
819
835
  switchExpandState(): void;
820
- raiseOnPropertyChanged(previousValue: Color3): void;
836
+ raiseOnPropertyChanged(previousValue: Color3 | Color4): void;
821
837
  updateStateR(value: number): void;
822
838
  updateStateG(value: number): void;
823
839
  updateStateB(value: number): void;
@@ -828,7 +844,7 @@ declare module "@babylonjs/node-editor/sharedComponents/color3LineComponent" {
828
844
  declare module "@babylonjs/node-editor/components/propertyTab/properties/color3PropertyTabComponent" {
829
845
  import * as React from "react";
830
846
  import { GlobalState } from "@babylonjs/node-editor/globalState";
831
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
847
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
832
848
  interface IColor3PropertyTabComponentProps {
833
849
  globalState: GlobalState;
834
850
  inputBlock: InputBlock;
@@ -877,7 +893,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector3LineComponent" {
877
893
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector3PropertyTabComponent" {
878
894
  import * as React from "react";
879
895
  import { GlobalState } from "@babylonjs/node-editor/globalState";
880
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
896
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
881
897
  interface IVector3PropertyTabComponentProps {
882
898
  globalState: GlobalState;
883
899
  inputBlock: InputBlock;
@@ -928,7 +944,7 @@ declare module "@babylonjs/node-editor/sharedComponents/vector4LineComponent" {
928
944
  declare module "@babylonjs/node-editor/components/propertyTab/properties/vector4PropertyTabComponent" {
929
945
  import * as React from "react";
930
946
  import { GlobalState } from "@babylonjs/node-editor/globalState";
931
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
947
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
932
948
  interface IVector4PropertyTabComponentProps {
933
949
  globalState: GlobalState;
934
950
  inputBlock: InputBlock;
@@ -941,16 +957,13 @@ declare module "@babylonjs/node-editor/sharedComponents/optionsLineComponent" {
941
957
  import * as React from "react";
942
958
  import { Observable } from "@babylonjs/core/Misc/observable";
943
959
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
944
- class ListLineOption {
945
- label: string;
946
- value: number | string;
947
- }
960
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
948
961
  interface IOptionsLineComponentProps {
949
962
  label: string;
950
963
  target: any;
951
964
  className?: string;
952
965
  propertyName?: string;
953
- options: ListLineOption[];
966
+ options: IInspectableOptions[];
954
967
  noDirectUpdate?: boolean;
955
968
  onSelect?: (value: number | string) => void;
956
969
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
@@ -1012,7 +1025,7 @@ declare module "@babylonjs/node-editor/sharedComponents/matrixLineComponent" {
1012
1025
  declare module "@babylonjs/node-editor/components/propertyTab/properties/matrixPropertyTabComponent" {
1013
1026
  import * as React from "react";
1014
1027
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1015
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1028
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1016
1029
  interface IMatrixPropertyTabComponentProps {
1017
1030
  globalState: GlobalState;
1018
1031
  inputBlock: InputBlock;
@@ -1065,10 +1078,12 @@ declare module "@babylonjs/node-editor/sharedComponents/textInputLineComponent"
1065
1078
  value: string;
1066
1079
  }> {
1067
1080
  private _localChange;
1081
+ private _onFocus;
1068
1082
  constructor(props: ITextInputLineComponentProps);
1069
1083
  shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
1070
1084
  value: string;
1071
1085
  }): boolean;
1086
+ componentWillUnmount(): void;
1072
1087
  raiseOnPropertyChanged(newValue: string, previousValue: string): void;
1073
1088
  updateValue(value: string, raisePropertyChanged: boolean): void;
1074
1089
  render(): JSX.Element;
@@ -1123,6 +1138,7 @@ declare module "@babylonjs/node-editor/sharedComponents/checkBoxLineComponent" {
1123
1138
  declare module "@babylonjs/node-editor/diagram/properties/genericNodePropertyComponent" {
1124
1139
  import * as React from "react";
1125
1140
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1141
+ import { Scene } from "@babylonjs/core/scene";
1126
1142
  export class GenericPropertyComponent extends React.Component<IPropertyComponentProps> {
1127
1143
  constructor(props: IPropertyComponentProps);
1128
1144
  render(): JSX.Element;
@@ -1134,8 +1150,10 @@ declare module "@babylonjs/node-editor/diagram/properties/genericNodePropertyCom
1134
1150
  export class GenericPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1135
1151
  constructor(props: IPropertyComponentProps);
1136
1152
  forceRebuild(notifiers?: {
1137
- "rebuild"?: boolean;
1138
- "update"?: boolean;
1153
+ rebuild?: boolean;
1154
+ update?: boolean;
1155
+ activatePreviewCommand?: boolean;
1156
+ callback?: (scene: Scene) => void;
1139
1157
  }): void;
1140
1158
  render(): JSX.Element;
1141
1159
  }
@@ -1177,7 +1195,7 @@ declare module "@babylonjs/node-editor/sharedComponents/color4LineComponent" {
1177
1195
  declare module "@babylonjs/node-editor/components/propertyTab/properties/color4PropertyTabComponent" {
1178
1196
  import * as React from "react";
1179
1197
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1180
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1198
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1181
1199
  interface IColor4PropertyTabComponentProps {
1182
1200
  globalState: GlobalState;
1183
1201
  inputBlock: InputBlock;
@@ -1209,9 +1227,9 @@ declare module "@babylonjs/node-editor/diagram/properties/transformNodePropertyC
1209
1227
  }
1210
1228
  }
1211
1229
  declare module "@babylonjs/node-editor/diagram/properties/gradientStepComponent" {
1212
- import * as React from 'react';
1230
+ import * as React from "react";
1213
1231
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1214
- import { GradientBlockColorStep } from '@babylonjs/core/Materials/Node/Blocks/gradientBlock';
1232
+ import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
1215
1233
  interface IGradientStepComponentProps {
1216
1234
  globalState: GlobalState;
1217
1235
  step: GradientBlockColorStep;
@@ -1236,6 +1254,7 @@ declare module "@babylonjs/node-editor/sharedComponents/buttonLineComponent" {
1236
1254
  export interface IButtonLineComponentProps {
1237
1255
  label: string;
1238
1256
  onClick: () => void;
1257
+ isDisabled?: boolean;
1239
1258
  }
1240
1259
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
1241
1260
  constructor(props: IButtonLineComponentProps);
@@ -1244,7 +1263,7 @@ declare module "@babylonjs/node-editor/sharedComponents/buttonLineComponent" {
1244
1263
  }
1245
1264
  declare module "@babylonjs/node-editor/diagram/properties/gradientNodePropertyComponent" {
1246
1265
  import * as React from "react";
1247
- import { GradientBlockColorStep } from '@babylonjs/core/Materials/Node/Blocks/gradientBlock';
1266
+ import { GradientBlockColorStep } from "@babylonjs/core/Materials/Node/Blocks/gradientBlock";
1248
1267
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1249
1268
  export class GradientPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1250
1269
  private onValueChangedObserver;
@@ -1291,12 +1310,12 @@ declare module "@babylonjs/node-editor/sharedComponents/fileButtonLineComponent"
1291
1310
  declare module "@babylonjs/node-editor/diagram/properties/texturePropertyTabComponent" {
1292
1311
  import * as React from "react";
1293
1312
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1294
- import { ReflectionTextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock';
1295
- import { ReflectionBlock } from '@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock';
1296
- import { RefractionBlock } from '@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock';
1297
- import { TextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock';
1298
- import { CurrentScreenBlock } from '@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock';
1299
- import { ParticleTextureBlock } from '@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock';
1313
+ import { ReflectionTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/reflectionTextureBlock";
1314
+ import { ReflectionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/reflectionBlock";
1315
+ import { RefractionBlock } from "@babylonjs/core/Materials/Node/Blocks/PBR/refractionBlock";
1316
+ import { TextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/textureBlock";
1317
+ import { CurrentScreenBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/currentScreenBlock";
1318
+ import { ParticleTextureBlock } from "@babylonjs/core/Materials/Node/Blocks/Particle/particleTextureBlock";
1300
1319
  type ReflectionTexture = ReflectionTextureBlock | ReflectionBlock | RefractionBlock;
1301
1320
  type AnyTexture = TextureBlock | ReflectionTexture | CurrentScreenBlock | ParticleTextureBlock;
1302
1321
  export class TexturePropertyTabComponent extends React.Component<IPropertyComponentProps, {
@@ -1331,6 +1350,56 @@ declare module "@babylonjs/node-editor/diagram/properties/trigonometryNodeProper
1331
1350
  render(): JSX.Element;
1332
1351
  }
1333
1352
  }
1353
+ declare module "@babylonjs/node-editor/diagram/properties/conditionalNodePropertyComponent" {
1354
+ import * as React from "react";
1355
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1356
+ export class ConditionalPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1357
+ constructor(props: IPropertyComponentProps);
1358
+ render(): JSX.Element;
1359
+ }
1360
+ }
1361
+ declare module "@babylonjs/node-editor/diagram/properties/imageSourcePropertyTabComponent" {
1362
+ import * as React from "react";
1363
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1364
+ import { ImageSourceBlock } from "@babylonjs/core/Materials/Node/Blocks/Dual/imageSourceBlock";
1365
+ export class ImageSourcePropertyTabComponent extends React.Component<IPropertyComponentProps, {
1366
+ isEmbedded: boolean;
1367
+ }> {
1368
+ get imageSourceBlock(): ImageSourceBlock;
1369
+ constructor(props: IPropertyComponentProps);
1370
+ UNSAFE_componentWillUpdate(nextProps: IPropertyComponentProps, nextState: {
1371
+ isEmbedded: boolean;
1372
+ loadAsCubeTexture: boolean;
1373
+ }): void;
1374
+ private _generateRandomForCache;
1375
+ updateAfterTextureLoad(): void;
1376
+ removeTexture(): void;
1377
+ _prepareTexture(): void;
1378
+ /**
1379
+ * Replaces the texture of the node
1380
+ * @param file the file of the texture to use
1381
+ */
1382
+ replaceTexture(file: File): void;
1383
+ replaceTextureWithUrl(url: string): void;
1384
+ render(): JSX.Element;
1385
+ }
1386
+ }
1387
+ declare module "@babylonjs/node-editor/diagram/properties/vectorMergerPropertyComponent" {
1388
+ import * as React from "react";
1389
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1390
+ export class VectorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1391
+ constructor(props: IPropertyComponentProps);
1392
+ render(): JSX.Element;
1393
+ }
1394
+ }
1395
+ declare module "@babylonjs/node-editor/diagram/properties/colorMergerPropertyComponent" {
1396
+ import * as React from "react";
1397
+ import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
1398
+ export class ColorMergerPropertyTabComponent extends React.Component<IPropertyComponentProps> {
1399
+ constructor(props: IPropertyComponentProps);
1400
+ render(): JSX.Element;
1401
+ }
1402
+ }
1334
1403
  declare module "@babylonjs/node-editor/diagram/propertyLedger" {
1335
1404
  import { ComponentClass } from 'react';
1336
1405
  import { IPropertyComponentProps } from "@babylonjs/node-editor/diagram/properties/propertyComponentProps";
@@ -1478,6 +1547,41 @@ declare module "@babylonjs/node-editor/diagram/display/pbrDisplayManager" {
1478
1547
  updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1479
1548
  }
1480
1549
  }
1550
+ declare module "@babylonjs/node-editor/diagram/display/conditionalDisplayManager" {
1551
+ import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1552
+ import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1553
+ export class ConditionalDisplayManager implements IDisplayManager {
1554
+ getHeaderClass(block: NodeMaterialBlock): string;
1555
+ shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1556
+ getHeaderText(block: NodeMaterialBlock): string;
1557
+ getBackgroundColor(block: NodeMaterialBlock): string;
1558
+ updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1559
+ }
1560
+ }
1561
+ declare module "@babylonjs/node-editor/diagram/display/imageSourceDisplayManager" {
1562
+ import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1563
+ import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1564
+ export class imageSourceDisplayManager implements IDisplayManager {
1565
+ private _previewCanvas;
1566
+ private _previewImage;
1567
+ getHeaderClass(block: NodeMaterialBlock): string;
1568
+ shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1569
+ getHeaderText(block: NodeMaterialBlock): string;
1570
+ getBackgroundColor(block: NodeMaterialBlock): string;
1571
+ updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1572
+ }
1573
+ }
1574
+ declare module "@babylonjs/node-editor/diagram/display/elbowDisplayManager" {
1575
+ import { IDisplayManager } from "@babylonjs/node-editor/diagram/display/displayManager";
1576
+ import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1577
+ export class ElbowDisplayManager implements IDisplayManager {
1578
+ getHeaderClass(block: NodeMaterialBlock): string;
1579
+ shouldDisplayPortLabels(block: NodeMaterialBlock): boolean;
1580
+ getHeaderText(block: NodeMaterialBlock): string;
1581
+ getBackgroundColor(block: NodeMaterialBlock): string;
1582
+ updatePreviewContent(block: NodeMaterialBlock, contentArea: HTMLDivElement): void;
1583
+ }
1584
+ }
1481
1585
  declare module "@babylonjs/node-editor/diagram/displayLedger" {
1482
1586
  export class DisplayLedger {
1483
1587
  static RegisteredControls: {
@@ -1497,6 +1601,8 @@ declare module "@babylonjs/node-editor/diagram/graphNode" {
1497
1601
  export class GraphNode {
1498
1602
  block: NodeMaterialBlock;
1499
1603
  private _visual;
1604
+ private _headerContainer;
1605
+ private _promotionWarning;
1500
1606
  private _header;
1501
1607
  private _connections;
1502
1608
  private _inputsContainer;
@@ -1544,7 +1650,7 @@ declare module "@babylonjs/node-editor/diagram/graphNode" {
1544
1650
  set isSelected(value: boolean);
1545
1651
  constructor(block: NodeMaterialBlock, globalState: GlobalState);
1546
1652
  isOverlappingFrame(frame: GraphFrame): boolean;
1547
- getPortForConnectionPoint(point: NodeMaterialConnectionPoint): Nullable<NodePort>;
1653
+ getPortForConnectionPoint(point: NodeMaterialConnectionPoint): NodePort | null;
1548
1654
  getLinksForConnectionPoint(point: NodeMaterialConnectionPoint): NodeLink[];
1549
1655
  private _refreshFrames;
1550
1656
  _refreshLinks(): void;
@@ -1580,10 +1686,10 @@ declare module "@babylonjs/node-editor/globalState" {
1580
1686
  hostDocument: HTMLDocument;
1581
1687
  hostWindow: Window;
1582
1688
  onSelectionChangedObservable: Observable<Nullable<GraphFrame | GraphNode | NodePort | NodeLink | FramePortData>>;
1583
- onRebuildRequiredObservable: Observable<void>;
1689
+ onRebuildRequiredObservable: Observable<boolean>;
1584
1690
  onBuiltObservable: Observable<void>;
1585
1691
  onResetRequiredObservable: Observable<void>;
1586
- onUpdateRequiredObservable: Observable<void>;
1692
+ onUpdateRequiredObservable: Observable<Nullable<NodeMaterialBlock>>;
1587
1693
  onZoomToFitRequiredObservable: Observable<void>;
1588
1694
  onReOrganizedRequiredObservable: Observable<void>;
1589
1695
  onLogRequiredObservable: Observable<LogEntry>;
@@ -1596,9 +1702,9 @@ declare module "@babylonjs/node-editor/globalState" {
1596
1702
  onDepthPrePassChanged: Observable<void>;
1597
1703
  onAnimationCommandActivated: Observable<void>;
1598
1704
  onCandidateLinkMoved: Observable<Nullable<Vector2>>;
1599
- onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
1705
+ onSelectionBoxMoved: Observable<ClientRect | DOMRect>;
1600
1706
  onFrameCreatedObservable: Observable<GraphFrame>;
1601
- onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
1707
+ onCandidatePortSelectedObservable: Observable<Nullable<NodePort | FrameNodePort>>;
1602
1708
  onImportFrameObservable: Observable<any>;
1603
1709
  onGraphNodeRemovalObservable: Observable<GraphNode>;
1604
1710
  onPopupClosedObservable: Observable<void>;
@@ -1607,6 +1713,7 @@ declare module "@babylonjs/node-editor/globalState" {
1607
1713
  onExposePortOnFrameObservable: Observable<GraphNode>;
1608
1714
  previewType: PreviewType;
1609
1715
  previewFile: File;
1716
+ particleSystemBlendMode: number;
1610
1717
  listOfCustomPreviewFiles: File[];
1611
1718
  rotatePreview: boolean;
1612
1719
  backgroundColor: Color4;
@@ -1649,6 +1756,7 @@ declare module "@babylonjs/node-editor/sharedComponents/draggableLineWithButtonC
1649
1756
  iconImage: any;
1650
1757
  onIconClick: (value: string) => void;
1651
1758
  iconTitle: string;
1759
+ lenSuffixToRemove?: number;
1652
1760
  }
1653
1761
  export class DraggableLineWithButtonComponent extends React.Component<IDraggableLineWithButtonComponent> {
1654
1762
  constructor(props: IDraggableLineWithButtonComponent);
@@ -1688,18 +1796,21 @@ declare module "@babylonjs/node-editor/components/nodeList/nodeListComponent" {
1688
1796
  private _onResetRequiredObserver;
1689
1797
  private static _Tooltips;
1690
1798
  private _customFrameList;
1799
+ private _customBlockList;
1691
1800
  constructor(props: INodeListComponentProps);
1692
1801
  componentWillUnmount(): void;
1693
1802
  filterContent(filter: string): void;
1694
1803
  loadCustomFrame(file: File): void;
1695
1804
  removeItem(value: string): void;
1805
+ loadCustomBlock(file: File): void;
1806
+ removeCustomBlock(value: string): void;
1696
1807
  render(): JSX.Element;
1697
1808
  }
1698
1809
  }
1699
1810
  declare module "@babylonjs/node-editor/components/propertyTab/inputsPropertyTabComponent" {
1700
1811
  import * as React from "react";
1701
1812
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1702
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1813
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1703
1814
  interface IInputsPropertyTabComponentProps {
1704
1815
  globalState: GlobalState;
1705
1816
  inputs: InputBlock[];
@@ -1766,10 +1877,10 @@ declare module "@babylonjs/node-editor/diagram/properties/nodePortPropertyCompon
1766
1877
  declare module "@babylonjs/node-editor/components/propertyTab/propertyTabComponent" {
1767
1878
  import * as React from "react";
1768
1879
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1769
- import { Nullable } from '@babylonjs/core/types';
1880
+ import { Nullable } from "@babylonjs/core/types";
1770
1881
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1771
1882
  import { GraphFrame } from "@babylonjs/node-editor/diagram/graphFrame";
1772
- import { InputBlock } from '@babylonjs/core/Materials/Node/Blocks/Input/inputBlock';
1883
+ import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
1773
1884
  import { FrameNodePort } from "@babylonjs/node-editor/diagram/frameNodePort";
1774
1885
  import { NodePort } from "@babylonjs/node-editor/diagram/nodePort";
1775
1886
  interface IPropertyTabComponentProps {
@@ -1780,6 +1891,7 @@ declare module "@babylonjs/node-editor/components/propertyTab/propertyTabCompone
1780
1891
  currentFrame: Nullable<GraphFrame>;
1781
1892
  currentFrameNodePort: Nullable<FrameNodePort>;
1782
1893
  currentNodePort: Nullable<NodePort>;
1894
+ uploadInProgress: boolean;
1783
1895
  }
1784
1896
  export class PropertyTabComponent extends React.Component<IPropertyTabComponentProps, IPropertyTabComponentState> {
1785
1897
  private _onBuiltObserver;
@@ -1825,6 +1937,7 @@ declare module "@babylonjs/node-editor/sharedComponents/messageDialog" {
1825
1937
  }
1826
1938
  declare module "@babylonjs/node-editor/components/preview/previewManager" {
1827
1939
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1940
+ import "@babylonjs/core/Rendering/depthRendererSceneComponent";
1828
1941
  export class PreviewManager {
1829
1942
  private _nodeMaterial;
1830
1943
  private _onBuildObserver;
@@ -1897,6 +2010,7 @@ declare module "@babylonjs/node-editor/components/preview/previewAreaComponent"
1897
2010
  componentWillUnmount(): void;
1898
2011
  changeBackFaceCulling(value: boolean): void;
1899
2012
  changeDepthPrePass(value: boolean): void;
2013
+ changeParticleSystemBlendMode(newOne: number): void;
1900
2014
  render(): JSX.Element;
1901
2015
  }
1902
2016
  }
@@ -1909,8 +2023,8 @@ declare module "@babylonjs/node-editor/sharedComponents/popup" {
1909
2023
  declare module "@babylonjs/node-editor/graphEditor" {
1910
2024
  import * as React from "react";
1911
2025
  import { GlobalState } from "@babylonjs/node-editor/globalState";
1912
- import { NodeMaterialBlock } from '@babylonjs/core/Materials/Node/nodeMaterialBlock';
1913
- import { Nullable } from '@babylonjs/core/types';
2026
+ import { NodeMaterialBlock } from "@babylonjs/core/Materials/Node/nodeMaterialBlock";
2027
+ import { Nullable } from "@babylonjs/core/types";
1914
2028
  import { IEditorData } from "@babylonjs/node-editor/nodeLocationInfo";
1915
2029
  import { GraphNode } from "@babylonjs/node-editor/diagram/graphNode";
1916
2030
  import { IInspectorOptions } from "@babylonjs/core/Debug/debugLayer";
@@ -1955,7 +2069,7 @@ declare module "@babylonjs/node-editor/graphEditor" {
1955
2069
  reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
1956
2070
  pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, selectNew?: boolean): GraphNode[] | undefined;
1957
2071
  zoomToFit(): void;
1958
- buildMaterial(): void;
2072
+ buildMaterial(autoConfigure?: boolean): void;
1959
2073
  build(): void;
1960
2074
  loadGraph(): void;
1961
2075
  showWaitScreen(): void;
@@ -2024,6 +2138,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/booleanLineCompo
2024
2138
  export interface IBooleanLineComponentProps {
2025
2139
  label: string;
2026
2140
  value: boolean;
2141
+ icon?: string;
2142
+ iconLabel?: string;
2027
2143
  }
2028
2144
  export class BooleanLineComponent extends React.Component<IBooleanLineComponentProps> {
2029
2145
  constructor(props: IBooleanLineComponentProps);
@@ -2035,18 +2151,34 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/buttonLineCompon
2035
2151
  export interface IButtonLineComponentProps {
2036
2152
  label: string;
2037
2153
  onClick: () => void;
2154
+ icon?: string;
2155
+ iconLabel?: string;
2038
2156
  }
2039
2157
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
2040
2158
  constructor(props: IButtonLineComponentProps);
2041
2159
  render(): JSX.Element;
2042
2160
  }
2043
2161
  }
2162
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/targetsProxy" {
2163
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2164
+ import { Observable } from "@babylonjs/core/Misc/observable";
2165
+ export const conflictingValuesPlaceholder = "\u2014";
2166
+ /**
2167
+ *
2168
+ * @param propertyName the property that the input changes
2169
+ * @param targets a list of selected targets
2170
+ * @param defaultValue the value that should be returned when two targets have conflicting values
2171
+ * @param setter an optional setter function to override the default setter behavior
2172
+ * @returns a proxy object that can be passed as a target into the input
2173
+ */
2174
+ export function makeTargetsProxy<Type>(targets: Type[], onPropertyChangedObservable?: Observable<PropertyChangedEvent>, getProperty?: (target: Type, property: keyof Type) => any): any;
2175
+ }
2044
2176
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComponent" {
2045
2177
  import * as React from "react";
2046
2178
  import { Observable } from "@babylonjs/core/Misc/observable";
2047
2179
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2048
2180
  export interface ICheckBoxLineComponentProps {
2049
- label: string;
2181
+ label?: string;
2050
2182
  target?: any;
2051
2183
  propertyName?: string;
2052
2184
  isSelected?: () => boolean;
@@ -2054,10 +2186,15 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2054
2186
  onValueChanged?: () => void;
2055
2187
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2056
2188
  disabled?: boolean;
2189
+ icon?: string;
2190
+ iconLabel?: string;
2191
+ faIcons?: {
2192
+ };
2057
2193
  }
2058
2194
  export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
2059
2195
  isSelected: boolean;
2060
2196
  isDisabled?: boolean;
2197
+ isConflict: boolean;
2061
2198
  }> {
2062
2199
  private static _UniqueIdSeed;
2063
2200
  private _uniqueId;
@@ -2066,11 +2203,23 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2066
2203
  shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
2067
2204
  isSelected: boolean;
2068
2205
  isDisabled: boolean;
2206
+ isConflict: boolean;
2069
2207
  }): boolean;
2070
2208
  onChange(): void;
2071
2209
  render(): JSX.Element;
2072
2210
  }
2073
2211
  }
2212
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2213
+ /**
2214
+ * Class used to provide lock mechanism
2215
+ */
2216
+ export class LockObject {
2217
+ /**
2218
+ * Gets or set if the lock is engaged
2219
+ */
2220
+ lock: boolean;
2221
+ }
2222
+ }
2074
2223
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComponent" {
2075
2224
  import * as React from "react";
2076
2225
  interface INumericInputComponentProps {
@@ -2079,6 +2228,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2079
2228
  step?: number;
2080
2229
  onChange: (value: number) => void;
2081
2230
  precision?: number;
2231
+ icon?: string;
2232
+ iconLabel?: string;
2082
2233
  }
2083
2234
  export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
2084
2235
  value: string;
@@ -2098,10 +2249,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComp
2098
2249
  }
2099
2250
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerComponent" {
2100
2251
  import * as React from "react";
2101
- import { Color4, Color3 } from '@babylonjs/core/Maths/math.color';
2252
+ import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
2102
2253
  export interface IColorPickerComponentProps {
2103
2254
  value: Color4 | Color3;
2255
+ linearHint?: boolean;
2104
2256
  onColorChanged: (newOne: string) => void;
2257
+ icon?: string;
2258
+ iconLabel?: string;
2259
+ shouldPopRight?: boolean;
2105
2260
  }
2106
2261
  interface IColorPickerComponentState {
2107
2262
  pickerEnabled: boolean;
@@ -2114,74 +2269,135 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerCompo
2114
2269
  constructor(props: IColorPickerComponentProps);
2115
2270
  syncPositions(): void;
2116
2271
  shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
2272
+ getHexString(props?: Readonly<IColorPickerComponentProps> & Readonly<{
2273
+ children?: React.ReactNode;
2274
+ }>): string;
2117
2275
  componentDidUpdate(): void;
2118
2276
  componentDidMount(): void;
2119
2277
  render(): JSX.Element;
2120
2278
  }
2121
2279
  }
2122
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/color3LineComponent" {
2280
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineComponent" {
2123
2281
  import * as React from "react";
2124
2282
  import { Observable } from "@babylonjs/core/Misc/observable";
2125
2283
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2126
- import { Color3 } from '@babylonjs/core/Maths/math.color';
2127
- export interface IColor3LineComponentProps {
2284
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2285
+ interface ITextInputLineComponentProps {
2128
2286
  label: string;
2129
- target: any;
2130
- propertyName: string;
2287
+ lockObject: LockObject;
2288
+ target?: any;
2289
+ propertyName?: string;
2290
+ value?: string;
2291
+ onChange?: (value: string) => void;
2131
2292
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2132
- isLinear?: boolean;
2293
+ icon?: string;
2294
+ iconLabel?: string;
2295
+ noUnderline?: boolean;
2296
+ numbersOnly?: boolean;
2297
+ delayInput?: boolean;
2298
+ unit?: string;
2299
+ onUnitClicked?: (unit: string) => void;
2300
+ unitLocked?: boolean;
2133
2301
  }
2134
- export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
2135
- isExpanded: boolean;
2136
- color: Color3;
2302
+ export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2303
+ value: string;
2137
2304
  }> {
2138
2305
  private _localChange;
2139
- constructor(props: IColor3LineComponentProps);
2140
- shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
2141
- color: Color3;
2306
+ constructor(props: ITextInputLineComponentProps);
2307
+ componentWillUnmount(): void;
2308
+ shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
2309
+ value: string;
2142
2310
  }): boolean;
2143
- setPropertyValue(newColor: Color3): void;
2144
- onChange(newValue: string): void;
2145
- switchExpandState(): void;
2146
- raiseOnPropertyChanged(previousValue: Color3): void;
2147
- updateStateR(value: number): void;
2148
- updateStateG(value: number): void;
2149
- updateStateB(value: number): void;
2150
- copyToClipboard(): void;
2311
+ raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2312
+ updateValue(value: string): void;
2151
2313
  render(): JSX.Element;
2152
2314
  }
2153
2315
  }
2154
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/color4LineComponent" {
2316
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorLineComponent" {
2155
2317
  import * as React from "react";
2156
2318
  import { Observable } from "@babylonjs/core/Misc/observable";
2157
2319
  import { Color4 } from "@babylonjs/core/Maths/math.color";
2158
2320
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2159
- export interface IColor4LineComponentProps {
2321
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2322
+ export interface IColorLineComponentProps {
2160
2323
  label: string;
2161
- target: any;
2324
+ target?: any;
2162
2325
  propertyName: string;
2163
2326
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2164
2327
  onChange?: () => void;
2165
2328
  isLinear?: boolean;
2329
+ icon?: string;
2330
+ iconLabel?: string;
2331
+ lockObject?: LockObject;
2332
+ disableAlpha?: boolean;
2166
2333
  }
2167
- export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
2334
+ interface IColorLineComponentState {
2168
2335
  isExpanded: boolean;
2169
2336
  color: Color4;
2170
- }> {
2171
- private _localChange;
2172
- constructor(props: IColor4LineComponentProps);
2173
- shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
2174
- color: Color4;
2175
- }): boolean;
2176
- setPropertyValue(newColor: Color4): void;
2177
- onChange(newValue: string): void;
2337
+ colorString: string;
2338
+ }
2339
+ export class ColorLineComponent extends React.Component<IColorLineComponentProps, IColorLineComponentState> {
2340
+ constructor(props: IColorLineComponentProps);
2341
+ shouldComponentUpdate(nextProps: IColorLineComponentProps, nextState: IColorLineComponentState): boolean;
2342
+ getValue(props?: Readonly<IColorLineComponentProps> & Readonly<{
2343
+ children?: React.ReactNode;
2344
+ }>): Color4;
2345
+ getValueAsString(props?: Readonly<IColorLineComponentProps> & Readonly<{
2346
+ children?: React.ReactNode;
2347
+ }>): string;
2348
+ setColorFromString(colorString: string): void;
2349
+ setColor(color: Color4): void;
2350
+ updateColor(newColor: Color4): void;
2178
2351
  switchExpandState(): void;
2179
- raiseOnPropertyChanged(previousValue: Color4): void;
2180
2352
  updateStateR(value: number): void;
2181
2353
  updateStateG(value: number): void;
2182
2354
  updateStateB(value: number): void;
2183
2355
  updateStateA(value: number): void;
2184
2356
  copyToClipboard(): void;
2357
+ get colorString(): string;
2358
+ set colorString(_: string);
2359
+ private convertToColor;
2360
+ private toColor3;
2361
+ render(): JSX.Element;
2362
+ }
2363
+ }
2364
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/color3LineComponent" {
2365
+ import * as React from "react";
2366
+ import { Observable } from "@babylonjs/core/Misc/observable";
2367
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2368
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2369
+ export interface IColor3LineComponentProps {
2370
+ label: string;
2371
+ target: any;
2372
+ propertyName: string;
2373
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2374
+ isLinear?: boolean;
2375
+ icon?: string;
2376
+ lockObject?: LockObject;
2377
+ iconLabel?: string;
2378
+ onValueChange?: (value: string) => void;
2379
+ }
2380
+ export class Color3LineComponent extends React.Component<IColor3LineComponentProps> {
2381
+ render(): JSX.Element;
2382
+ }
2383
+ }
2384
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/color4LineComponent" {
2385
+ import * as React from "react";
2386
+ import { Observable } from "@babylonjs/core/Misc/observable";
2387
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2388
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2389
+ export interface IColor4LineComponentProps {
2390
+ label: string;
2391
+ target?: any;
2392
+ propertyName: string;
2393
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2394
+ onChange?: () => void;
2395
+ isLinear?: boolean;
2396
+ icon?: string;
2397
+ iconLabel?: string;
2398
+ lockObject?: LockObject;
2399
+ }
2400
+ export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
2185
2401
  render(): JSX.Element;
2186
2402
  }
2187
2403
  }
@@ -2202,6 +2418,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileButtonLineCo
2202
2418
  label: string;
2203
2419
  onClick: (file: File) => void;
2204
2420
  accept: string;
2421
+ icon?: string;
2422
+ iconLabel?: string;
2205
2423
  }
2206
2424
  export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
2207
2425
  private static _IDGenerator;
@@ -2218,6 +2436,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButt
2218
2436
  label: string;
2219
2437
  onClick: (event: any) => void;
2220
2438
  accept: string;
2439
+ icon?: string;
2440
+ iconLabel?: string;
2221
2441
  }
2222
2442
  export class FileMultipleButtonLineComponent extends React.Component<IFileMultipleButtonLineComponentProps> {
2223
2443
  private static _IDGenerator;
@@ -2228,21 +2448,11 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/fileMultipleButt
2228
2448
  render(): JSX.Element;
2229
2449
  }
2230
2450
  }
2231
- declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2232
- /**
2233
- * Class used to provide lock mechanism
2234
- */
2235
- export class LockObject {
2236
- /**
2237
- * Gets or set if the lock is engaged
2238
- */
2239
- lock: boolean;
2240
- }
2241
- }
2242
2451
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/sliderLineComponent" {
2243
2452
  import * as React from "react";
2244
2453
  import { Observable } from "@babylonjs/core/Misc/observable";
2245
2454
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2455
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2246
2456
  interface ISliderLineComponentProps {
2247
2457
  label: string;
2248
2458
  target?: any;
@@ -2257,6 +2467,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/sliderLineCompon
2257
2467
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2258
2468
  decimalCount?: number;
2259
2469
  margin?: boolean;
2470
+ icon?: string;
2471
+ iconLabel?: string;
2472
+ lockObject?: LockObject;
2260
2473
  }
2261
2474
  export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
2262
2475
  value: number;
@@ -2293,6 +2506,12 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/floatLineCompone
2293
2506
  max?: number;
2294
2507
  smallUI?: boolean;
2295
2508
  onEnter?: (newValue: number) => void;
2509
+ icon?: string;
2510
+ iconLabel?: string;
2511
+ defaultValue?: number;
2512
+ unit?: string;
2513
+ onUnitClicked?: () => void;
2514
+ unitLocked?: boolean;
2296
2515
  }
2297
2516
  export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
2298
2517
  value: string;
@@ -2301,6 +2520,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/floatLineCompone
2301
2520
  private _store;
2302
2521
  constructor(props: IFloatLineComponentProps);
2303
2522
  componentWillUnmount(): void;
2523
+ getValueString(value: any): string;
2304
2524
  shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
2305
2525
  value: string;
2306
2526
  }): boolean;
@@ -2330,6 +2550,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/hexLineComponent
2330
2550
  digits?: number;
2331
2551
  useEuler?: boolean;
2332
2552
  min?: number;
2553
+ icon?: string;
2554
+ iconLabel?: string;
2333
2555
  }
2334
2556
  export class HexLineComponent extends React.Component<IHexLineComponentProps, {
2335
2557
  value: string;
@@ -2350,8 +2572,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/hexLineComponent
2350
2572
  render(): JSX.Element;
2351
2573
  }
2352
2574
  }
2575
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer" {
2576
+ export interface ISelectedLineContainer {
2577
+ selectedLineContainerTitles: Array<string>;
2578
+ selectedLineContainerTitlesNoFocus: Array<string>;
2579
+ }
2580
+ }
2353
2581
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/iconButtonLineComponent" {
2354
- import * as React from 'react';
2582
+ import * as React from "react";
2355
2583
  export interface IIconButtonLineComponentProps {
2356
2584
  icon: string;
2357
2585
  onClick: () => void;
@@ -2382,17 +2610,21 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/indentedTextLine
2382
2610
  }
2383
2611
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/lineContainerComponent" {
2384
2612
  import * as React from "react";
2613
+ import { ISelectedLineContainer } from "@babylonjs/node-editor/sharedUiComponents/lines/iSelectedLineContainer";
2385
2614
  interface ILineContainerComponentProps {
2615
+ selection?: ISelectedLineContainer;
2386
2616
  title: string;
2387
2617
  children: any[] | any;
2388
2618
  closed?: boolean;
2389
2619
  }
2390
2620
  export class LineContainerComponent extends React.Component<ILineContainerComponentProps, {
2391
2621
  isExpanded: boolean;
2622
+ isHighlighted: boolean;
2392
2623
  }> {
2393
2624
  constructor(props: ILineContainerComponentProps);
2394
2625
  switchExpandedState(): void;
2395
2626
  renderHeader(): JSX.Element;
2627
+ componentDidMount(): void;
2396
2628
  render(): JSX.Element;
2397
2629
  }
2398
2630
  }
@@ -2426,22 +2658,20 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/optionsLineCompo
2426
2658
  import * as React from "react";
2427
2659
  import { Observable } from "@babylonjs/core/Misc/observable";
2428
2660
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2661
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
2429
2662
  export const Null_Value: number;
2430
- export class ListLineOption {
2431
- label: string;
2432
- value: number;
2433
- selected?: boolean;
2434
- }
2435
2663
  export interface IOptionsLineComponentProps {
2436
2664
  label: string;
2437
2665
  target: any;
2438
2666
  propertyName: string;
2439
- options: ListLineOption[];
2667
+ options: IInspectableOptions[];
2440
2668
  noDirectUpdate?: boolean;
2441
2669
  onSelect?: (value: number) => void;
2442
2670
  extractValue?: () => number;
2443
2671
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2444
2672
  allowNullValue?: boolean;
2673
+ icon?: string;
2674
+ iconLabel?: string;
2445
2675
  }
2446
2676
  export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
2447
2677
  value: number;
@@ -2472,6 +2702,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineCompone
2472
2702
  label: string;
2473
2703
  isSelected: () => boolean;
2474
2704
  onSelect: () => void;
2705
+ icon?: string;
2706
+ iconLabel?: string;
2475
2707
  }
2476
2708
  export class RadioButtonLineComponent extends React.Component<IRadioButtonLineComponentProps, {
2477
2709
  isSelected: boolean;
@@ -2484,34 +2716,6 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/radioLineCompone
2484
2716
  render(): JSX.Element;
2485
2717
  }
2486
2718
  }
2487
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineComponent" {
2488
- import * as React from "react";
2489
- import { Observable } from "@babylonjs/core/Misc/observable";
2490
- import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2491
- import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2492
- interface ITextInputLineComponentProps {
2493
- label: string;
2494
- lockObject: LockObject;
2495
- target?: any;
2496
- propertyName?: string;
2497
- value?: string;
2498
- onChange?: (value: string) => void;
2499
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2500
- }
2501
- export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2502
- value: string;
2503
- }> {
2504
- private _localChange;
2505
- constructor(props: ITextInputLineComponentProps);
2506
- componentWillUnmount(): void;
2507
- shouldComponentUpdate(nextProps: ITextInputLineComponentProps, nextState: {
2508
- value: string;
2509
- }): boolean;
2510
- raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2511
- updateValue(value: string): void;
2512
- render(): JSX.Element;
2513
- }
2514
- }
2515
2719
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponent" {
2516
2720
  import * as React from "react";
2517
2721
  interface ITextLineComponentProps {
@@ -2523,6 +2727,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textLineComponen
2523
2727
  url?: string;
2524
2728
  ignoreValue?: boolean;
2525
2729
  additionalClass?: string;
2730
+ icon?: string;
2731
+ iconLabel?: string;
2732
+ tooltip?: string;
2526
2733
  }
2527
2734
  export class TextLineComponent extends React.Component<ITextLineComponentProps> {
2528
2735
  constructor(props: ITextLineComponentProps);
@@ -2539,6 +2746,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/valueLineCompone
2539
2746
  color?: string;
2540
2747
  fractionDigits?: number;
2541
2748
  units?: string;
2749
+ icon?: string;
2750
+ iconLabel?: string;
2542
2751
  }
2543
2752
  export class ValueLineComponent extends React.Component<IValueLineComponentProps> {
2544
2753
  constructor(props: IValueLineComponentProps);
@@ -2557,6 +2766,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector2LineCompo
2557
2766
  step?: number;
2558
2767
  onChange?: (newvalue: Vector2) => void;
2559
2768
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2769
+ icon?: string;
2770
+ iconLabel?: string;
2560
2771
  }
2561
2772
  export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
2562
2773
  isExpanded: boolean;
@@ -2592,6 +2803,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector3LineCompo
2592
2803
  useEuler?: boolean;
2593
2804
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2594
2805
  noSlider?: boolean;
2806
+ icon?: string;
2807
+ iconLabel?: string;
2595
2808
  }
2596
2809
  export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
2597
2810
  isExpanded: boolean;
@@ -2629,6 +2842,8 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/vector4LineCompo
2629
2842
  onChange?: (newvalue: Vector4) => void;
2630
2843
  useEuler?: boolean;
2631
2844
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2845
+ icon?: string;
2846
+ iconLabel?: string;
2632
2847
  }
2633
2848
  export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
2634
2849
  isExpanded: boolean;
@@ -2661,14 +2876,15 @@ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui
2661
2876
  import { Control } from "@babylonjs/gui/2D/controls/control";
2662
2877
  import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2663
2878
  interface ICommonControlPropertyGridComponentProps {
2664
- control: Control;
2879
+ controls?: Control[];
2880
+ control?: Control;
2665
2881
  lockObject: LockObject;
2666
2882
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2667
2883
  }
2668
2884
  export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
2669
2885
  constructor(props: ICommonControlPropertyGridComponentProps);
2670
- renderGridInformation(): JSX.Element | null;
2671
- render(): JSX.Element;
2886
+ renderGridInformation(control: Control): JSX.Element | null;
2887
+ render(): JSX.Element | undefined;
2672
2888
  }
2673
2889
  }
2674
2890
  declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/checkboxPropertyGridComponent" {
@@ -2825,7 +3041,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui
2825
3041
  import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2826
3042
  import { RadioButton } from "@babylonjs/gui/2D/controls/radioButton";
2827
3043
  interface IRadioButtonPropertyGridComponentProps {
2828
- radioButton: RadioButton;
3044
+ radioButtons: RadioButton[];
2829
3045
  lockObject: LockObject;
2830
3046
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2831
3047
  }