@babylonjs/node-editor 5.13.2 → 5.14.1

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.
@@ -252,9 +252,11 @@ import * as React from "react";
252
252
  import { GlobalState } from "@babylonjs/node-editor/globalState";
253
253
  import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
254
254
  import "@babylonjs/node-editor/components/propertyTab/propertyTab.scss";
255
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
255
256
  interface IInputsPropertyTabComponentProps {
256
257
  globalState: GlobalState;
257
258
  inputs: InputBlock[];
259
+ lockObject: LockObject;
258
260
  }
259
261
  export class InputsPropertyTabComponent extends React.Component<IInputsPropertyTabComponentProps> {
260
262
  constructor(props: IInputsPropertyTabComponentProps);
@@ -269,9 +271,11 @@ declare module "@babylonjs/node-editor/components/propertyTab/properties/color3P
269
271
  import * as React from "react";
270
272
  import { GlobalState } from "@babylonjs/node-editor/globalState";
271
273
  import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
274
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
272
275
  interface IColor3PropertyTabComponentProps {
273
276
  globalState: GlobalState;
274
277
  inputBlock: InputBlock;
278
+ lockObject: LockObject;
275
279
  }
276
280
  export class Color3PropertyTabComponent extends React.Component<IColor3PropertyTabComponentProps> {
277
281
  render(): JSX.Element;
@@ -283,9 +287,11 @@ declare module "@babylonjs/node-editor/components/propertyTab/properties/color4P
283
287
  import * as React from "react";
284
288
  import { GlobalState } from "@babylonjs/node-editor/globalState";
285
289
  import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
290
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
286
291
  interface IColor4PropertyTabComponentProps {
287
292
  globalState: GlobalState;
288
293
  inputBlock: InputBlock;
294
+ lockObject: LockObject;
289
295
  }
290
296
  export class Color4PropertyTabComponent extends React.Component<IColor4PropertyTabComponentProps> {
291
297
  render(): JSX.Element;
@@ -311,9 +317,11 @@ declare module "@babylonjs/node-editor/components/propertyTab/properties/matrixP
311
317
  import * as React from "react";
312
318
  import { GlobalState } from "@babylonjs/node-editor/globalState";
313
319
  import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
320
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
314
321
  interface IMatrixPropertyTabComponentProps {
315
322
  globalState: GlobalState;
316
323
  inputBlock: InputBlock;
324
+ lockObject: LockObject;
317
325
  }
318
326
  export class MatrixPropertyTabComponent extends React.Component<IMatrixPropertyTabComponentProps> {
319
327
  render(): JSX.Element;
@@ -325,9 +333,11 @@ declare module "@babylonjs/node-editor/components/propertyTab/properties/vector2
325
333
  import * as React from "react";
326
334
  import { GlobalState } from "@babylonjs/node-editor/globalState";
327
335
  import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
336
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
328
337
  interface IVector2PropertyTabComponentProps {
329
338
  globalState: GlobalState;
330
339
  inputBlock: InputBlock;
340
+ lockObject: LockObject;
331
341
  }
332
342
  export class Vector2PropertyTabComponent extends React.Component<IVector2PropertyTabComponentProps> {
333
343
  render(): JSX.Element;
@@ -339,9 +349,11 @@ declare module "@babylonjs/node-editor/components/propertyTab/properties/vector3
339
349
  import * as React from "react";
340
350
  import { GlobalState } from "@babylonjs/node-editor/globalState";
341
351
  import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
352
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
342
353
  interface IVector3PropertyTabComponentProps {
343
354
  globalState: GlobalState;
344
355
  inputBlock: InputBlock;
356
+ lockObject: LockObject;
345
357
  }
346
358
  export class Vector3PropertyTabComponent extends React.Component<IVector3PropertyTabComponentProps> {
347
359
  render(): JSX.Element;
@@ -353,9 +365,11 @@ declare module "@babylonjs/node-editor/components/propertyTab/properties/vector4
353
365
  import * as React from "react";
354
366
  import { GlobalState } from "@babylonjs/node-editor/globalState";
355
367
  import { InputBlock } from "@babylonjs/core/Materials/Node/Blocks/Input/inputBlock";
368
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
356
369
  interface IVector4PropertyTabComponentProps {
357
370
  globalState: GlobalState;
358
371
  inputBlock: InputBlock;
372
+ lockObject: LockObject;
359
373
  }
360
374
  export class Vector4PropertyTabComponent extends React.Component<IVector4PropertyTabComponentProps> {
361
375
  render(): JSX.Element;
@@ -373,8 +387,10 @@ import { GraphNode } from "@babylonjs/node-editor/nodeGraphSystem/graphNode";
373
387
  import { GraphFrame } from "@babylonjs/node-editor/nodeGraphSystem/graphFrame";
374
388
  import { NodePort } from "@babylonjs/node-editor/nodeGraphSystem/nodePort";
375
389
  import { FrameNodePort } from "@babylonjs/node-editor/nodeGraphSystem/frameNodePort";
390
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
376
391
  interface IPropertyTabComponentProps {
377
392
  globalState: GlobalState;
393
+ lockObject: LockObject;
378
394
  }
379
395
  interface IPropertyTabComponentState {
380
396
  currentNode: Nullable<GraphNode>;
@@ -488,7 +504,6 @@ interface IInternalPreviewAreaOptions extends IInspectorOptions {
488
504
  embedHostWidth?: string;
489
505
  }
490
506
  export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditorState> {
491
- static readonly NodeWidth: number;
492
507
  private _graphCanvasRef;
493
508
  private _diagramContainerRef;
494
509
  private _graphCanvas;
@@ -498,8 +513,6 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
498
513
  private _leftWidth;
499
514
  private _rightWidth;
500
515
  private _previewManager;
501
- private _copiedNodes;
502
- private _copiedFrames;
503
516
  private _mouseLocationX;
504
517
  private _mouseLocationY;
505
518
  private _onWidgetKeyUpPointer;
@@ -510,8 +523,6 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
510
523
  componentDidMount(): void;
511
524
  componentWillUnmount(): void;
512
525
  constructor(props: IGraphEditorProps);
513
- reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
514
- pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, selectNew?: boolean): GraphNode[] | undefined;
515
526
  zoomToFit(): void;
516
527
  buildMaterial(autoConfigure?: boolean): void;
517
528
  build(ignoreEditorData?: boolean): void;
@@ -1109,7 +1120,7 @@ export class SerializationTools {
1109
1120
  declare module "@babylonjs/node-editor/sharedComponents/checkBoxLineComponent" {
1110
1121
  import * as React from "react";
1111
1122
  import { Observable } from "@babylonjs/core/Misc/observable";
1112
- import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
1123
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/propertyChangedEvent";
1113
1124
  export interface ICheckBoxLineComponentProps {
1114
1125
  label: string;
1115
1126
  target?: any;
@@ -1136,34 +1147,6 @@ export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponen
1136
1147
  render(): JSX.Element;
1137
1148
  }
1138
1149
 
1139
- }
1140
- declare module "@babylonjs/node-editor/sharedComponents/colorPickerComponent" {
1141
- import * as React from "react";
1142
- import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
1143
- import { GlobalState } from "@babylonjs/node-editor/globalState";
1144
- export interface IColorPickerComponentProps {
1145
- value: Color4 | Color3;
1146
- onColorChanged: (newOne: string) => void;
1147
- globalState: GlobalState;
1148
- }
1149
- interface IColorPickerComponentState {
1150
- pickerEnabled: boolean;
1151
- color: Color3 | Color4;
1152
- hex: string;
1153
- }
1154
- export class ColorPickerLineComponent extends React.Component<IColorPickerComponentProps, IColorPickerComponentState> {
1155
- private _floatRef;
1156
- private _floatHostRef;
1157
- constructor(props: IColorPickerComponentProps);
1158
- syncPositions(): void;
1159
- shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
1160
- componentDidUpdate(): void;
1161
- componentDidMount(): void;
1162
- setPickerState(enabled: boolean): void;
1163
- render(): JSX.Element;
1164
- }
1165
- export {};
1166
-
1167
1150
  }
1168
1151
  declare module "@babylonjs/node-editor/sharedComponents/draggableLineComponent" {
1169
1152
  import * as React from "react";
@@ -1209,46 +1192,6 @@ export class FileButtonLineComponent extends React.Component<IFileButtonLineComp
1209
1192
  }
1210
1193
  export {};
1211
1194
 
1212
- }
1213
- declare module "@babylonjs/node-editor/sharedComponents/floatLineComponent" {
1214
- import * as React from "react";
1215
- import { Observable } from "@babylonjs/core/Misc/observable";
1216
- import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
1217
- import { GlobalState } from "@babylonjs/node-editor/globalState";
1218
- interface IFloatLineComponentProps {
1219
- label: string;
1220
- target: any;
1221
- propertyName: string;
1222
- onChange?: (newValue: number) => void;
1223
- isInteger?: boolean;
1224
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1225
- additionalClass?: string;
1226
- step?: string;
1227
- digits?: number;
1228
- globalState: GlobalState;
1229
- min?: number;
1230
- max?: number;
1231
- smallUI?: boolean;
1232
- onEnter?: (newValue: number) => void;
1233
- }
1234
- export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
1235
- value: string;
1236
- }> {
1237
- private _localChange;
1238
- private _store;
1239
- private _regExp;
1240
- private _onFocus;
1241
- constructor(props: IFloatLineComponentProps);
1242
- shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
1243
- value: string;
1244
- }): boolean;
1245
- componentWillUnmount(): void;
1246
- raiseOnPropertyChanged(newValue: number, previousValue: number): void;
1247
- updateValue(valueString: string): void;
1248
- render(): JSX.Element;
1249
- }
1250
- export {};
1251
-
1252
1195
  }
1253
1196
  declare module "@babylonjs/node-editor/sharedComponents/lineContainerComponent" {
1254
1197
  import * as React from "react";
@@ -1306,33 +1249,6 @@ export class MessageDialogComponent extends React.Component<IMessageDialogCompon
1306
1249
  }
1307
1250
  export {};
1308
1251
 
1309
- }
1310
- declare module "@babylonjs/node-editor/sharedComponents/numericInputComponent" {
1311
- import * as React from "react";
1312
- import { GlobalState } from "@babylonjs/node-editor/globalState";
1313
- interface INumericInputComponentProps {
1314
- label: string;
1315
- value: number;
1316
- step?: number;
1317
- onChange: (value: number) => void;
1318
- globalState: GlobalState;
1319
- }
1320
- export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
1321
- value: string;
1322
- }> {
1323
- static defaultProps: {
1324
- step: number;
1325
- };
1326
- private _localChange;
1327
- constructor(props: INumericInputComponentProps);
1328
- shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
1329
- value: string;
1330
- }): boolean;
1331
- updateValue(evt: any): void;
1332
- render(): JSX.Element;
1333
- }
1334
- export {};
1335
-
1336
1252
  }
1337
1253
  declare module "@babylonjs/node-editor/sharedComponents/popup" {
1338
1254
  export class Popup {
@@ -1340,69 +1256,6 @@ export class Popup {
1340
1256
  static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
1341
1257
  }
1342
1258
 
1343
- }
1344
- declare module "@babylonjs/node-editor/sharedComponents/propertyChangedEvent" {
1345
- export class PropertyChangedEvent {
1346
- object: any;
1347
- property: string;
1348
- value: any;
1349
- initialValue: any;
1350
- }
1351
-
1352
- }
1353
- declare module "@babylonjs/node-editor/sharedComponents/sliderLineComponent" {
1354
- import * as React from "react";
1355
- import { Observable } from "@babylonjs/core/Misc/observable";
1356
- import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedComponents/propertyChangedEvent";
1357
- import { GlobalState } from "@babylonjs/node-editor/globalState";
1358
- interface ISliderLineComponentProps {
1359
- label: string;
1360
- target?: any;
1361
- propertyName?: string;
1362
- minimum: number;
1363
- maximum: number;
1364
- step: number;
1365
- directValue?: number;
1366
- useEuler?: boolean;
1367
- onChange?: (value: number) => void;
1368
- onInput?: (value: number) => void;
1369
- onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1370
- decimalCount?: number;
1371
- globalState: GlobalState;
1372
- }
1373
- export class SliderLineComponent extends React.Component<ISliderLineComponentProps, {
1374
- value: number;
1375
- }> {
1376
- private _localChange;
1377
- constructor(props: ISliderLineComponentProps);
1378
- shouldComponentUpdate(nextProps: ISliderLineComponentProps, nextState: {
1379
- value: number;
1380
- }): boolean;
1381
- onChange(newValueString: any): void;
1382
- onInput(newValueString: any): void;
1383
- prepareDataToRead(value: number): number;
1384
- render(): JSX.Element;
1385
- }
1386
- export {};
1387
-
1388
- }
1389
- declare module "@babylonjs/node-editor/sharedComponents/textLineComponent" {
1390
- import * as React from "react";
1391
- interface ITextLineComponentProps {
1392
- label: string;
1393
- value: string;
1394
- color?: string;
1395
- underline?: boolean;
1396
- onLink?: () => void;
1397
- }
1398
- export class TextLineComponent extends React.Component<ITextLineComponentProps> {
1399
- constructor(props: ITextLineComponentProps);
1400
- onLink(): void;
1401
- renderContent(): JSX.Element;
1402
- render(): JSX.Element;
1403
- }
1404
- export {};
1405
-
1406
1259
  }
1407
1260
  declare module "@babylonjs/node-editor/sharedComponents/textureLineComponent" {
1408
1261
  import * as React from "react";
@@ -1436,6 +1289,7 @@ export {};
1436
1289
  }
1437
1290
  declare module "@babylonjs/node-editor/colorPicker/colorComponentEntry" {
1438
1291
  import * as React from "react";
1292
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
1439
1293
  export interface IColorComponentEntryProps {
1440
1294
  value: number;
1441
1295
  label: string;
@@ -1443,10 +1297,13 @@ export interface IColorComponentEntryProps {
1443
1297
  min?: number;
1444
1298
  onChange: (value: number) => void;
1445
1299
  disabled?: boolean;
1300
+ lockObject: LockObject;
1446
1301
  }
1447
1302
  export class ColorComponentEntry extends React.Component<IColorComponentEntryProps> {
1448
1303
  constructor(props: IColorComponentEntryProps);
1449
1304
  updateValue(valueString: string): void;
1305
+ lock(): void;
1306
+ unlock(): void;
1450
1307
  render(): JSX.Element;
1451
1308
  }
1452
1309
 
@@ -1454,6 +1311,7 @@ export class ColorComponentEntry extends React.Component<IColorComponentEntryPro
1454
1311
  declare module "@babylonjs/node-editor/colorPicker/colorPicker" {
1455
1312
  import * as React from "react";
1456
1313
  import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
1314
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
1457
1315
  import "@babylonjs/node-editor/colorPicker/colorPicker.scss";
1458
1316
  /**
1459
1317
  * Interface used to specify creation options for color picker
@@ -1463,6 +1321,7 @@ export interface IColorPickerProps {
1463
1321
  linearhint?: boolean;
1464
1322
  debugMode?: boolean;
1465
1323
  onColorChanged?: (color: Color3 | Color4) => void;
1324
+ lockObject: LockObject;
1466
1325
  }
1467
1326
  /**
1468
1327
  * Interface used to specify creation options for color picker
@@ -1497,10 +1356,12 @@ export class ColorPicker extends React.Component<IColorPickerProps, IColorPicker
1497
1356
  }
1498
1357
  declare module "@babylonjs/node-editor/colorPicker/hexColor" {
1499
1358
  import * as React from "react";
1359
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
1500
1360
  export interface IHexColorProps {
1501
1361
  value: string;
1502
1362
  expectedLength: number;
1503
1363
  onChange: (value: string) => void;
1364
+ lockObject: LockObject;
1504
1365
  }
1505
1366
  export class HexColor extends React.Component<IHexColorProps, {
1506
1367
  hex: string;
@@ -1509,6 +1370,8 @@ export class HexColor extends React.Component<IHexColorProps, {
1509
1370
  shouldComponentUpdate(nextProps: IHexColorProps, nextState: {
1510
1371
  hex: string;
1511
1372
  }): boolean;
1373
+ lock(): void;
1374
+ unlock(): void;
1512
1375
  updateHexValue(valueString: string): void;
1513
1376
  render(): JSX.Element;
1514
1377
  }
@@ -1641,7 +1504,7 @@ export interface IColor3LineComponentProps {
1641
1504
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
1642
1505
  isLinear?: boolean;
1643
1506
  icon?: string;
1644
- lockObject?: LockObject;
1507
+ lockObject: LockObject;
1645
1508
  iconLabel?: string;
1646
1509
  onChange?: () => void;
1647
1510
  }
@@ -1664,7 +1527,7 @@ export interface IColor4LineComponentProps {
1664
1527
  isLinear?: boolean;
1665
1528
  icon?: string;
1666
1529
  iconLabel?: string;
1667
- lockObject?: LockObject;
1530
+ lockObject: LockObject;
1668
1531
  }
1669
1532
  export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
1670
1533
  render(): JSX.Element;
@@ -1686,8 +1549,8 @@ export interface IColorLineComponentProps {
1686
1549
  isLinear?: boolean;
1687
1550
  icon?: string;
1688
1551
  iconLabel?: string;
1689
- lockObject?: LockObject;
1690
1552
  disableAlpha?: boolean;
1553
+ lockObject: LockObject;
1691
1554
  }
1692
1555
  interface IColorLineComponentState {
1693
1556
  isExpanded: boolean;
@@ -1717,6 +1580,7 @@ export {};
1717
1580
  declare module "@babylonjs/node-editor/lines/colorPickerComponent" {
1718
1581
  import * as React from "react";
1719
1582
  import { Color4, Color3 } from "@babylonjs/core/Maths/math.color";
1583
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
1720
1584
  export interface IColorPickerComponentProps {
1721
1585
  value: Color4 | Color3;
1722
1586
  linearHint?: boolean;
@@ -1724,6 +1588,7 @@ export interface IColorPickerComponentProps {
1724
1588
  icon?: string;
1725
1589
  iconLabel?: string;
1726
1590
  shouldPopRight?: boolean;
1591
+ lockObject?: LockObject;
1727
1592
  }
1728
1593
  interface IColorPickerComponentState {
1729
1594
  pickerEnabled: boolean;
@@ -2009,6 +1874,7 @@ import { Vector3, Vector4 } from "@babylonjs/core/Maths/math.vector";
2009
1874
  import { Matrix } from "@babylonjs/core/Maths/math.vector";
2010
1875
  import { Observable } from "@babylonjs/core/Misc/observable";
2011
1876
  import { PropertyChangedEvent } from "@babylonjs/node-editor/propertyChangedEvent";
1877
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
2012
1878
  interface IMatrixLineComponentProps {
2013
1879
  label: string;
2014
1880
  target: any;
@@ -2018,6 +1884,7 @@ interface IMatrixLineComponentProps {
2018
1884
  onModeChange?: (mode: number) => void;
2019
1885
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2020
1886
  mode?: number;
1887
+ lockObject: LockObject;
2021
1888
  }
2022
1889
  export class MatrixLineComponent extends React.Component<IMatrixLineComponentProps, {
2023
1890
  value: Matrix;
@@ -2057,6 +1924,7 @@ export {};
2057
1924
  }
2058
1925
  declare module "@babylonjs/node-editor/lines/numericInputComponent" {
2059
1926
  import * as React from "react";
1927
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
2060
1928
  interface INumericInputComponentProps {
2061
1929
  label: string;
2062
1930
  value: number;
@@ -2065,6 +1933,7 @@ interface INumericInputComponentProps {
2065
1933
  precision?: number;
2066
1934
  icon?: string;
2067
1935
  iconLabel?: string;
1936
+ lockObject: LockObject;
2068
1937
  }
2069
1938
  export class NumericInputComponent extends React.Component<INumericInputComponentProps, {
2070
1939
  value: string;
@@ -2074,6 +1943,7 @@ export class NumericInputComponent extends React.Component<INumericInputComponen
2074
1943
  };
2075
1944
  private _localChange;
2076
1945
  constructor(props: INumericInputComponentProps);
1946
+ componentWillUnmount(): void;
2077
1947
  shouldComponentUpdate(nextProps: INumericInputComponentProps, nextState: {
2078
1948
  value: string;
2079
1949
  }): boolean;
@@ -2252,7 +2122,7 @@ export class TextInputLineComponent extends React.Component<ITextInputLineCompon
2252
2122
  }): boolean;
2253
2123
  raiseOnPropertyChanged(newValue: string, previousValue: string): void;
2254
2124
  getCurrentNumericValue(value: string): number;
2255
- updateValue(value: string): void;
2125
+ updateValue(value: string, valueToValidate?: string): void;
2256
2126
  incrementValue(amount: number): void;
2257
2127
  onKeyDown(event: React.KeyboardEvent): void;
2258
2128
  render(): JSX.Element;
@@ -2317,6 +2187,7 @@ import * as React from "react";
2317
2187
  import { Vector2 } from "@babylonjs/core/Maths/math.vector";
2318
2188
  import { Observable } from "@babylonjs/core/Misc/observable";
2319
2189
  import { PropertyChangedEvent } from "@babylonjs/node-editor/propertyChangedEvent";
2190
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
2320
2191
  interface IVector2LineComponentProps {
2321
2192
  label: string;
2322
2193
  target: any;
@@ -2326,6 +2197,7 @@ interface IVector2LineComponentProps {
2326
2197
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2327
2198
  icon?: string;
2328
2199
  iconLabel?: string;
2200
+ lockObject: LockObject;
2329
2201
  }
2330
2202
  export class Vector2LineComponent extends React.Component<IVector2LineComponentProps, {
2331
2203
  isExpanded: boolean;
@@ -2354,6 +2226,7 @@ import * as React from "react";
2354
2226
  import { Vector3 } from "@babylonjs/core/Maths/math.vector";
2355
2227
  import { Observable } from "@babylonjs/core/Misc/observable";
2356
2228
  import { PropertyChangedEvent } from "@babylonjs/node-editor/propertyChangedEvent";
2229
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
2357
2230
  interface IVector3LineComponentProps {
2358
2231
  label: string;
2359
2232
  target: any;
@@ -2365,6 +2238,7 @@ interface IVector3LineComponentProps {
2365
2238
  noSlider?: boolean;
2366
2239
  icon?: string;
2367
2240
  iconLabel?: string;
2241
+ lockObject: LockObject;
2368
2242
  }
2369
2243
  export class Vector3LineComponent extends React.Component<IVector3LineComponentProps, {
2370
2244
  isExpanded: boolean;
@@ -2396,6 +2270,7 @@ import * as React from "react";
2396
2270
  import { Vector4 } from "@babylonjs/core/Maths/math.vector";
2397
2271
  import { Observable } from "@babylonjs/core/Misc/observable";
2398
2272
  import { PropertyChangedEvent } from "@babylonjs/node-editor/propertyChangedEvent";
2273
+ import { LockObject } from "@babylonjs/node-editor/tabs/propertyGrids/lockObject";
2399
2274
  interface IVector4LineComponentProps {
2400
2275
  label: string;
2401
2276
  target?: any;
@@ -2407,6 +2282,7 @@ interface IVector4LineComponentProps {
2407
2282
  icon?: string;
2408
2283
  iconLabel?: string;
2409
2284
  value?: Vector4;
2285
+ lockObject: LockObject;
2410
2286
  }
2411
2287
  export class Vector4LineComponent extends React.Component<IVector4LineComponentProps, {
2412
2288
  isExpanded: boolean;
@@ -2488,6 +2364,7 @@ export interface IGraphCanvasComponentProps {
2488
2364
  onEmitNewNode: (nodeData: INodeData) => GraphNode;
2489
2365
  }
2490
2366
  export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentProps> implements INodeContainer {
2367
+ static readonly NodeWidth: number;
2491
2368
  private readonly _minZoom;
2492
2369
  private readonly _maxZoom;
2493
2370
  private _hostCanvas;
@@ -2524,6 +2401,8 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2524
2401
  private _oldY;
2525
2402
  _frameIsMoving: boolean;
2526
2403
  _isLoading: boolean;
2404
+ private _copiedNodes;
2405
+ private _copiedFrames;
2527
2406
  get gridSize(): number;
2528
2407
  set gridSize(value: number);
2529
2408
  get stateManager(): StateManager;
@@ -2547,6 +2426,9 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2547
2426
  get frameContainer(): HTMLDivElement;
2548
2427
  private _selectedFrameAndNodesConflict;
2549
2428
  constructor(props: IGraphCanvasComponentProps);
2429
+ handleKeyDown(evt: KeyboardEvent, onRemove: (nodeData: INodeData) => void, mouseLocationX: number, mouseLocationY: number, dataGenerator: (nodeData: INodeData) => any, rootElement: HTMLDivElement): void;
2430
+ pasteSelection(copiedNodes: GraphNode[], currentX: number, currentY: number, dataGenerator: (nodeData: INodeData) => any, selectNew?: boolean): GraphNode[];
2431
+ reconnectNewNodes(nodeIndex: number, newNodes: GraphNode[], sourceNodes: GraphNode[], done: boolean[]): void;
2550
2432
  getCachedData(): any[];
2551
2433
  removeDataFromCache(data: any): void;
2552
2434
  createNodeFromObject(nodeData: INodeData, onNodeCreated: (data: any) => void, recursion?: boolean): GraphNode;
@@ -2568,6 +2450,7 @@ export class GraphCanvasComponent extends React.Component<IGraphCanvasComponentP
2568
2450
  zoomToFit(): void;
2569
2451
  processCandidatePort(): void;
2570
2452
  connectNodes(nodeA: GraphNode, pointA: IPortData, nodeB: GraphNode, pointB: IPortData): void;
2453
+ drop(newNode: GraphNode, targetX: number, targetY: number, offsetX: number, offsetY: number): void;
2571
2454
  processEditorData(editorData: IEditorData): void;
2572
2455
  reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
2573
2456
  addFrame(frameData: IFrameData): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-editor",
3
- "version": "5.13.2",
3
+ "version": "5.14.1",
4
4
  "main": "dist/babylon.nodeEditor.max.js",
5
5
  "module": "dist/babylon.nodeEditor.max.js",
6
6
  "esnext": "dist/babylon.nodeEditor.max.js",
@@ -23,7 +23,7 @@
23
23
  "@types/react-dom": ">=16.0.9"
24
24
  },
25
25
  "devDependencies": {
26
- "@babylonjs/core": "^5.13.2",
26
+ "@babylonjs/core": "^5.14.1",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2",
29
29
  "rimraf": "^3.0.2",