babylonjs-node-render-graph-editor 7.23.1 → 7.23.3

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.
@@ -46,6 +46,7 @@ export interface INodeEditorOptions {
46
46
  */
47
47
  export class NodeRenderGraphEditor {
48
48
  private static _CurrentState;
49
+ private static _PopupWindow;
49
50
  /**
50
51
  * Show the node editor
51
52
  * @param options defines the options to use to configure the node editor
@@ -87,11 +88,6 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
87
88
  private _graphCanvasRef;
88
89
  private _diagramContainerRef;
89
90
  private _graphCanvas;
90
- private _diagramContainer;
91
- private _startX;
92
- private _moveInProgress;
93
- private _leftWidth;
94
- private _rightWidth;
95
91
  private _previewManager;
96
92
  private _mouseLocationX;
97
93
  private _mouseLocationY;
@@ -112,18 +108,13 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
112
108
  showWaitScreen(): void;
113
109
  hideWaitScreen(): void;
114
110
  reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
115
- onPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
116
- onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
117
111
  onWheel: (evt: WheelEvent) => void;
118
- resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
119
- buildColumnLayout(): string;
120
112
  emitNewBlock(blockType: string, targetX: number, targetY: number): GraphNode | undefined;
121
113
  dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
122
114
  handlePopUp: () => void;
123
115
  handleClosingPopUp: () => void;
124
116
  initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
125
117
  createPopUp: () => void;
126
- createPopupWindow: (title: string, windowVariableName: string, width?: number, height?: number) => Window | null;
127
118
  createPreviewMeshControlHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
128
119
  createPreviewHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
129
120
  fixPopUpStyles: (document: Document) => void;
@@ -259,13 +250,6 @@ export class TextureLineComponent extends React.Component<ITextureLineComponentP
259
250
  }
260
251
  export {};
261
252
 
262
- }
263
- declare module "babylonjs-node-render-graph-editor/sharedComponents/popup" {
264
- export class Popup {
265
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
266
- static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
267
- }
268
-
269
253
  }
270
254
  declare module "babylonjs-node-render-graph-editor/sharedComponents/lineWithFileButtonComponent" {
271
255
  import * as React from "react";
@@ -842,7 +826,6 @@ import * as React from "react";
842
826
  import { GlobalState } from "babylonjs-node-render-graph-editor/globalState";
843
827
  interface IPreviewAreaComponentProps {
844
828
  globalState: GlobalState;
845
- width: number;
846
829
  }
847
830
  export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentProps, {
848
831
  isLoading: boolean;
@@ -905,6 +888,15 @@ export class LogComponent extends React.Component<ILogComponentProps, {
905
888
  }
906
889
  export {};
907
890
 
891
+ }
892
+ declare module "babylonjs-node-render-graph-editor/styleHelper" {
893
+ /**
894
+ * Copy all styles from a document to another document or shadow root
895
+ * @param source document to copy styles from
896
+ * @param target document or shadow root to copy styles to
897
+ */
898
+ export function CopyStyles(source: Document, target: Document): void;
899
+
908
900
  }
909
901
  declare module "babylonjs-node-render-graph-editor/stringTools" {
910
902
  export class StringTools {
@@ -929,6 +921,21 @@ export class PropertyChangedEvent {
929
921
  allowNullValue?: boolean;
930
922
  }
931
923
 
924
+ }
925
+ declare module "babylonjs-node-render-graph-editor/popupHelper" {
926
+ /**
927
+ * Create a popup window
928
+ * @param title default title for the popup
929
+ * @param options options for the popup
930
+ * @returns the parent control of the popup
931
+ */
932
+ export function CreatePopup(title: string, options: Partial<{
933
+ onParentControlCreateCallback?: (parentControl: HTMLDivElement) => void;
934
+ onWindowCreateCallback?: (newWindow: Window) => void;
935
+ width?: number;
936
+ height?: number;
937
+ }>): HTMLDivElement | null;
938
+
932
939
  }
933
940
  declare module "babylonjs-node-render-graph-editor/historyStack" {
934
941
  import { IDisposable } from "babylonjs/scene";
@@ -1301,6 +1308,157 @@ export class CheckboxPropertyGridComponent extends React.Component<ICheckboxProp
1301
1308
  }
1302
1309
  export {};
1303
1310
 
1311
+ }
1312
+ declare module "babylonjs-node-render-graph-editor/split/splitter" {
1313
+ /// <reference types="react" />
1314
+ import { ControlledSize } from "babylonjs-node-render-graph-editor/split/splitContext";
1315
+ /**
1316
+ * Splitter component properties
1317
+ */
1318
+ export interface ISplitterProps {
1319
+ /**
1320
+ * Unique identifier
1321
+ */
1322
+ id?: string;
1323
+ /**
1324
+ * Splitter size
1325
+ */
1326
+ size: number;
1327
+ /**
1328
+ * Minimum size for the controlled element
1329
+ */
1330
+ minSize?: number;
1331
+ /**
1332
+ * Maximum size for the controlled element
1333
+ */
1334
+ maxSize?: number;
1335
+ /**
1336
+ * Initial size for the controlled element
1337
+ */
1338
+ initialSize?: number;
1339
+ /**
1340
+ * Defines the controlled side
1341
+ */
1342
+ controlledSide: ControlledSize;
1343
+ /**
1344
+ * refObject to the splitter element
1345
+ */
1346
+ refObject?: React.RefObject<HTMLDivElement>;
1347
+ }
1348
+ /**
1349
+ * Creates a splitter component
1350
+ * @param props defines the splitter properties
1351
+ * @returns the splitter component
1352
+ */
1353
+ export const Splitter: React.FC<ISplitterProps>;
1354
+
1355
+ }
1356
+ declare module "babylonjs-node-render-graph-editor/split/splitContext" {
1357
+ /// <reference types="react" />
1358
+ export enum ControlledSize {
1359
+ First = 0,
1360
+ Second = 1
1361
+ }
1362
+ export enum SplitDirection {
1363
+ Horizontal = 0,
1364
+ Vertical = 1
1365
+ }
1366
+ /**
1367
+ * Context used to share data with splitters
1368
+ */
1369
+ export interface ISplitContext {
1370
+ /**
1371
+ * Split direction
1372
+ */
1373
+ direction: SplitDirection;
1374
+ /**
1375
+ * Function called by splitters to update the offset
1376
+ * @param offset new offet
1377
+ * @param source source element
1378
+ * @param controlledSide defined controlled element
1379
+ */
1380
+ drag: (offset: number, source: HTMLElement, controlledSide: ControlledSize) => void;
1381
+ /**
1382
+ * Function called by splitters to begin dragging
1383
+ */
1384
+ beginDrag: () => void;
1385
+ /**
1386
+ * Function called by splitters to end dragging
1387
+ */
1388
+ endDrag: () => void;
1389
+ /**
1390
+ * Sync sizes for the elements
1391
+ * @param source source element
1392
+ * @param controlledSide defined controlled element
1393
+ * @param size size of the controlled element
1394
+ * @param minSize minimum size for the controlled element
1395
+ * @param maxSize maximum size for the controlled element
1396
+ */
1397
+ sync: (source: HTMLElement, controlledSide: ControlledSize, size?: number, minSize?: number, maxSize?: number) => void;
1398
+ }
1399
+ export const SplitContext: import("react").Context<ISplitContext>;
1400
+
1401
+ }
1402
+ declare module "babylonjs-node-render-graph-editor/split/splitContainer" {
1403
+ /// <reference types="react" />
1404
+ import { SplitDirection } from "babylonjs-node-render-graph-editor/split/splitContext";
1405
+ /**
1406
+ * Split container properties
1407
+ */
1408
+ export interface ISplitContainerProps {
1409
+ /**
1410
+ * Unique identifier
1411
+ */
1412
+ id?: string;
1413
+ /**
1414
+ * Split direction
1415
+ */
1416
+ direction: SplitDirection;
1417
+ /**
1418
+ * Minimum size for the floating elements
1419
+ */
1420
+ floatingMinSize?: number;
1421
+ /**
1422
+ * RefObject to the root div element
1423
+ */
1424
+ containerRef?: React.RefObject<HTMLDivElement>;
1425
+ /**
1426
+ * Optional class name
1427
+ */
1428
+ className?: string;
1429
+ /**
1430
+ * Pointer down
1431
+ * @param event pointer events
1432
+ */
1433
+ onPointerDown?: (event: React.PointerEvent) => void;
1434
+ /**
1435
+ * Pointer move
1436
+ * @param event pointer events
1437
+ */
1438
+ onPointerMove?: (event: React.PointerEvent) => void;
1439
+ /**
1440
+ * Pointer up
1441
+ * @param event pointer events
1442
+ */
1443
+ onPointerUp?: (event: React.PointerEvent) => void;
1444
+ /**
1445
+ * Drop
1446
+ * @param event drag events
1447
+ */
1448
+ onDrop?: (event: React.DragEvent<HTMLDivElement>) => void;
1449
+ /**
1450
+ * Drag over
1451
+ * @param event drag events
1452
+ */
1453
+ onDragOver?: (event: React.DragEvent<HTMLDivElement>) => void;
1454
+ }
1455
+ /**
1456
+ * Creates a split container component
1457
+ * @param props defines the split container properties
1458
+ * @returns the split container component
1459
+ */
1460
+ export const SplitContainer: React.FC<ISplitContainerProps>;
1461
+
1304
1462
  }
1305
1463
  declare module "babylonjs-node-render-graph-editor/nodeGraphSystem/typeLedger" {
1306
1464
  import { INodeContainer } from "babylonjs-node-render-graph-editor/nodeGraphSystem/interfaces/nodeContainer";
@@ -2404,13 +2562,6 @@ export class RadioButtonLineComponent extends React.Component<IRadioButtonLineCo
2404
2562
  }
2405
2563
  export {};
2406
2564
 
2407
- }
2408
- declare module "babylonjs-node-render-graph-editor/lines/popup" {
2409
- export class Popup {
2410
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
2411
- private static _CopyStyles;
2412
- }
2413
-
2414
2565
  }
2415
2566
  declare module "babylonjs-node-render-graph-editor/lines/optionsLineComponent" {
2416
2567
  import * as React from "react";
@@ -4170,6 +4321,7 @@ declare module BABYLON.NodeRenderGraphEditor {
4170
4321
  */
4171
4322
  export class NodeRenderGraphEditor {
4172
4323
  private static _CurrentState;
4324
+ private static _PopupWindow;
4173
4325
  /**
4174
4326
  * Show the node editor
4175
4327
  * @param options defines the options to use to configure the node editor
@@ -4199,11 +4351,6 @@ declare module BABYLON.NodeRenderGraphEditor {
4199
4351
  private _graphCanvasRef;
4200
4352
  private _diagramContainerRef;
4201
4353
  private _graphCanvas;
4202
- private _diagramContainer;
4203
- private _startX;
4204
- private _moveInProgress;
4205
- private _leftWidth;
4206
- private _rightWidth;
4207
4354
  private _previewManager;
4208
4355
  private _mouseLocationX;
4209
4356
  private _mouseLocationY;
@@ -4224,18 +4371,13 @@ declare module BABYLON.NodeRenderGraphEditor {
4224
4371
  showWaitScreen(): void;
4225
4372
  hideWaitScreen(): void;
4226
4373
  reOrganize(editorData?: BABYLON.Nullable<BABYLON.NodeRenderGraphEditor.SharedUIComponents.IEditorData>, isImportingAFrame?: boolean): void;
4227
- onPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
4228
- onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
4229
4374
  onWheel: (evt: WheelEvent) => void;
4230
- resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
4231
- buildColumnLayout(): string;
4232
4375
  emitNewBlock(blockType: string, targetX: number, targetY: number): BABYLON.NodeRenderGraphEditor.SharedUIComponents.GraphNode | undefined;
4233
4376
  dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
4234
4377
  handlePopUp: () => void;
4235
4378
  handleClosingPopUp: () => void;
4236
4379
  initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
4237
4380
  createPopUp: () => void;
4238
- createPopupWindow: (title: string, windowVariableName: string, width?: number, height?: number) => Window | null;
4239
4381
  createPreviewMeshControlHost: (options: IInternalPreviewAreaOptions, parentControl: BABYLON.Nullable<HTMLElement>) => void;
4240
4382
  createPreviewHost: (options: IInternalPreviewAreaOptions, parentControl: BABYLON.Nullable<HTMLElement>) => void;
4241
4383
  fixPopUpStyles: (document: Document) => void;
@@ -4331,12 +4473,6 @@ declare module BABYLON.NodeRenderGraphEditor {
4331
4473
  }
4332
4474
 
4333
4475
 
4334
- export class Popup {
4335
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
4336
- static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
4337
- }
4338
-
4339
-
4340
4476
  interface ILineWithFileButtonComponentProps {
4341
4477
  title: string;
4342
4478
  closed?: boolean;
@@ -4783,7 +4919,6 @@ declare module BABYLON.NodeRenderGraphEditor {
4783
4919
 
4784
4920
  interface IPreviewAreaComponentProps {
4785
4921
  globalState: GlobalState;
4786
- width: number;
4787
4922
  }
4788
4923
  export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentProps, {
4789
4924
  isLoading: boolean;
@@ -4837,6 +4972,21 @@ declare module BABYLON.NodeRenderGraphEditor {
4837
4972
 
4838
4973
 
4839
4974
 
4975
+ }
4976
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
4977
+ /**
4978
+ * Copy all styles from a document to another document or shadow root
4979
+ * @param source document to copy styles from
4980
+ * @param target document or shadow root to copy styles to
4981
+ */
4982
+ export function CopyStyles(source: Document, target: Document): void;
4983
+
4984
+
4985
+
4986
+ }
4987
+ declare module BABYLON.NodeRenderGraphEditor {
4988
+
4989
+
4840
4990
  }
4841
4991
  declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
4842
4992
  export class StringTools {
@@ -4869,6 +5019,27 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
4869
5019
 
4870
5020
 
4871
5021
 
5022
+ }
5023
+ declare module BABYLON.NodeRenderGraphEditor {
5024
+
5025
+
5026
+ }
5027
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5028
+ /**
5029
+ * Create a popup window
5030
+ * @param title default title for the popup
5031
+ * @param options options for the popup
5032
+ * @returns the parent control of the popup
5033
+ */
5034
+ export function CreatePopup(title: string, options: Partial<{
5035
+ onParentControlCreateCallback?: (parentControl: HTMLDivElement) => void;
5036
+ onWindowCreateCallback?: (newWindow: Window) => void;
5037
+ width?: number;
5038
+ height?: number;
5039
+ }>): HTMLDivElement | null;
5040
+
5041
+
5042
+
4872
5043
  }
4873
5044
  declare module BABYLON.NodeRenderGraphEditor {
4874
5045
 
@@ -5258,6 +5429,173 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5258
5429
 
5259
5430
 
5260
5431
 
5432
+ }
5433
+ declare module BABYLON.NodeRenderGraphEditor {
5434
+
5435
+
5436
+ }
5437
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5438
+ /// <reference types="react" />
5439
+ /**
5440
+ * Splitter component properties
5441
+ */
5442
+ export interface ISplitterProps {
5443
+ /**
5444
+ * Unique identifier
5445
+ */
5446
+ id?: string;
5447
+ /**
5448
+ * Splitter size
5449
+ */
5450
+ size: number;
5451
+ /**
5452
+ * Minimum size for the controlled element
5453
+ */
5454
+ minSize?: number;
5455
+ /**
5456
+ * Maximum size for the controlled element
5457
+ */
5458
+ maxSize?: number;
5459
+ /**
5460
+ * Initial size for the controlled element
5461
+ */
5462
+ initialSize?: number;
5463
+ /**
5464
+ * Defines the controlled side
5465
+ */
5466
+ controlledSide: BABYLON.NodeRenderGraphEditor.SharedUIComponents.ControlledSize;
5467
+ /**
5468
+ * refObject to the splitter element
5469
+ */
5470
+ refObject?: React.RefObject<HTMLDivElement>;
5471
+ }
5472
+ /**
5473
+ * Creates a splitter component
5474
+ * @param props defines the splitter properties
5475
+ * @returns the splitter component
5476
+ */
5477
+ export var Splitter: React.FC<ISplitterProps>;
5478
+
5479
+
5480
+
5481
+ }
5482
+ declare module BABYLON.NodeRenderGraphEditor {
5483
+
5484
+
5485
+ }
5486
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5487
+ /// <reference types="react" />
5488
+ export enum ControlledSize {
5489
+ First = 0,
5490
+ Second = 1
5491
+ }
5492
+ export enum SplitDirection {
5493
+ Horizontal = 0,
5494
+ Vertical = 1
5495
+ }
5496
+ /**
5497
+ * Context used to share data with splitters
5498
+ */
5499
+ export interface ISplitContext {
5500
+ /**
5501
+ * Split direction
5502
+ */
5503
+ direction: SplitDirection;
5504
+ /**
5505
+ * Function called by splitters to update the offset
5506
+ * @param offset new offet
5507
+ * @param source source element
5508
+ * @param controlledSide defined controlled element
5509
+ */
5510
+ drag: (offset: number, source: HTMLElement, controlledSide: ControlledSize) => void;
5511
+ /**
5512
+ * Function called by splitters to begin dragging
5513
+ */
5514
+ beginDrag: () => void;
5515
+ /**
5516
+ * Function called by splitters to end dragging
5517
+ */
5518
+ endDrag: () => void;
5519
+ /**
5520
+ * Sync sizes for the elements
5521
+ * @param source source element
5522
+ * @param controlledSide defined controlled element
5523
+ * @param size size of the controlled element
5524
+ * @param minSize minimum size for the controlled element
5525
+ * @param maxSize maximum size for the controlled element
5526
+ */
5527
+ sync: (source: HTMLElement, controlledSide: ControlledSize, size?: number, minSize?: number, maxSize?: number) => void;
5528
+ }
5529
+ export var SplitContext: import("react").Context<ISplitContext>;
5530
+
5531
+
5532
+
5533
+ }
5534
+ declare module BABYLON.NodeRenderGraphEditor {
5535
+
5536
+
5537
+ }
5538
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
5539
+ /// <reference types="react" />
5540
+ /**
5541
+ * Split container properties
5542
+ */
5543
+ export interface ISplitContainerProps {
5544
+ /**
5545
+ * Unique identifier
5546
+ */
5547
+ id?: string;
5548
+ /**
5549
+ * Split direction
5550
+ */
5551
+ direction: BABYLON.NodeRenderGraphEditor.SharedUIComponents.SplitDirection;
5552
+ /**
5553
+ * Minimum size for the floating elements
5554
+ */
5555
+ floatingMinSize?: number;
5556
+ /**
5557
+ * RefObject to the root div element
5558
+ */
5559
+ containerRef?: React.RefObject<HTMLDivElement>;
5560
+ /**
5561
+ * Optional class name
5562
+ */
5563
+ className?: string;
5564
+ /**
5565
+ * Pointer down
5566
+ * @param event pointer events
5567
+ */
5568
+ onPointerDown?: (event: React.PointerEvent) => void;
5569
+ /**
5570
+ * Pointer move
5571
+ * @param event pointer events
5572
+ */
5573
+ onPointerMove?: (event: React.PointerEvent) => void;
5574
+ /**
5575
+ * Pointer up
5576
+ * @param event pointer events
5577
+ */
5578
+ onPointerUp?: (event: React.PointerEvent) => void;
5579
+ /**
5580
+ * Drop
5581
+ * @param event drag events
5582
+ */
5583
+ onDrop?: (event: React.DragEvent<HTMLDivElement>) => void;
5584
+ /**
5585
+ * Drag over
5586
+ * @param event drag events
5587
+ */
5588
+ onDragOver?: (event: React.DragEvent<HTMLDivElement>) => void;
5589
+ }
5590
+ /**
5591
+ * Creates a split container component
5592
+ * @param props defines the split container properties
5593
+ * @returns the split container component
5594
+ */
5595
+ export var SplitContainer: React.FC<ISplitContainerProps>;
5596
+
5597
+
5598
+
5261
5599
  }
5262
5600
  declare module BABYLON.NodeRenderGraphEditor {
5263
5601
 
@@ -6420,19 +6758,6 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6420
6758
 
6421
6759
 
6422
6760
 
6423
- }
6424
- declare module BABYLON.NodeRenderGraphEditor {
6425
-
6426
-
6427
- }
6428
- declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6429
- export class Popup {
6430
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
6431
- private static _CopyStyles;
6432
- }
6433
-
6434
-
6435
-
6436
6761
  }
6437
6762
  declare module BABYLON.NodeRenderGraphEditor {
6438
6763
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-node-render-graph-editor",
3
- "version": "7.23.1",
3
+ "version": "7.23.3",
4
4
  "main": "babylon.nodeRenderGraphEditor.js",
5
5
  "types": "babylon.nodeRenderGraphEditor.module.d.ts",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "clean": "rimraf dist && rimraf babylon*.*"
15
15
  },
16
16
  "dependencies": {
17
- "babylonjs": "^7.34.1"
17
+ "babylonjs": "^7.34.3"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@dev/build-tools": "1.0.0",