babylonjs-node-geometry-editor 7.34.2 → 7.34.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.
@@ -50,6 +50,7 @@ export interface INodeEditorOptions {
50
50
  */
51
51
  export class NodeGeometryEditor {
52
52
  private static _CurrentState;
53
+ private static _PopupWindow;
53
54
  /**
54
55
  * Show the node editor
55
56
  * @param options defines the options to use to configure the node editor
@@ -91,12 +92,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
91
92
  private _graphCanvasRef;
92
93
  private _diagramContainerRef;
93
94
  private _graphCanvas;
94
- private _diagramContainer;
95
95
  private _historyStack;
96
- private _startX;
97
- private _moveInProgress;
98
- private _leftWidth;
99
- private _rightWidth;
100
96
  private _previewManager;
101
97
  private _mouseLocationX;
102
98
  private _mouseLocationY;
@@ -116,18 +112,13 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
116
112
  showWaitScreen(): void;
117
113
  hideWaitScreen(): void;
118
114
  reOrganize(editorData?: Nullable<IEditorData>, isImportingAFrame?: boolean): void;
119
- onPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
120
- onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
121
115
  onWheel: (evt: WheelEvent) => void;
122
- resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
123
- buildColumnLayout(): string;
124
116
  emitNewBlock(blockType: string, targetX: number, targetY: number): GraphNode | undefined;
125
117
  dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
126
118
  handlePopUp: () => void;
127
119
  handleClosingPopUp: () => void;
128
120
  initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
129
121
  createPopUp: () => void;
130
- createPopupWindow: (title: string, windowVariableName: string, width?: number, height?: number) => Window | null;
131
122
  createPreviewMeshControlHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
132
123
  createPreviewHost: (options: IInternalPreviewAreaOptions, parentControl: Nullable<HTMLElement>) => void;
133
124
  fixPopUpStyles: (document: Document) => void;
@@ -307,13 +298,6 @@ export class TextureLineComponent extends React.Component<ITextureLineComponentP
307
298
  }
308
299
  export {};
309
300
 
310
- }
311
- declare module "babylonjs-node-geometry-editor/sharedComponents/popup" {
312
- export class Popup {
313
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
314
- static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
315
- }
316
-
317
301
  }
318
302
  declare module "babylonjs-node-geometry-editor/sharedComponents/checkBoxLineComponent" {
319
303
  import * as React from "react";
@@ -922,7 +906,6 @@ import * as React from "react";
922
906
  import { GlobalState } from "babylonjs-node-geometry-editor/globalState";
923
907
  interface IPreviewAreaComponentProps {
924
908
  globalState: GlobalState;
925
- width: number;
926
909
  }
927
910
  export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentProps, {
928
911
  isLoading: boolean;
@@ -990,6 +973,15 @@ export class LogComponent extends React.Component<ILogComponentProps, {
990
973
  }
991
974
  export {};
992
975
 
976
+ }
977
+ declare module "babylonjs-node-geometry-editor/styleHelper" {
978
+ /**
979
+ * Copy all styles from a document to another document or shadow root
980
+ * @param source document to copy styles from
981
+ * @param target document or shadow root to copy styles to
982
+ */
983
+ export function CopyStyles(source: Document, target: Document): void;
984
+
993
985
  }
994
986
  declare module "babylonjs-node-geometry-editor/stringTools" {
995
987
  export class StringTools {
@@ -1014,6 +1006,21 @@ export class PropertyChangedEvent {
1014
1006
  allowNullValue?: boolean;
1015
1007
  }
1016
1008
 
1009
+ }
1010
+ declare module "babylonjs-node-geometry-editor/popupHelper" {
1011
+ /**
1012
+ * Create a popup window
1013
+ * @param title default title for the popup
1014
+ * @param options options for the popup
1015
+ * @returns the parent control of the popup
1016
+ */
1017
+ export function CreatePopup(title: string, options: Partial<{
1018
+ onParentControlCreateCallback?: (parentControl: HTMLDivElement) => void;
1019
+ onWindowCreateCallback?: (newWindow: Window) => void;
1020
+ width?: number;
1021
+ height?: number;
1022
+ }>): HTMLDivElement | null;
1023
+
1017
1024
  }
1018
1025
  declare module "babylonjs-node-geometry-editor/historyStack" {
1019
1026
  import { IDisposable } from "babylonjs/scene";
@@ -1386,6 +1393,157 @@ export class CheckboxPropertyGridComponent extends React.Component<ICheckboxProp
1386
1393
  }
1387
1394
  export {};
1388
1395
 
1396
+ }
1397
+ declare module "babylonjs-node-geometry-editor/split/splitter" {
1398
+ /// <reference types="react" />
1399
+ import { ControlledSize } from "babylonjs-node-geometry-editor/split/splitContext";
1400
+ /**
1401
+ * Splitter component properties
1402
+ */
1403
+ export interface ISplitterProps {
1404
+ /**
1405
+ * Unique identifier
1406
+ */
1407
+ id?: string;
1408
+ /**
1409
+ * Splitter size
1410
+ */
1411
+ size: number;
1412
+ /**
1413
+ * Minimum size for the controlled element
1414
+ */
1415
+ minSize?: number;
1416
+ /**
1417
+ * Maximum size for the controlled element
1418
+ */
1419
+ maxSize?: number;
1420
+ /**
1421
+ * Initial size for the controlled element
1422
+ */
1423
+ initialSize?: number;
1424
+ /**
1425
+ * Defines the controlled side
1426
+ */
1427
+ controlledSide: ControlledSize;
1428
+ /**
1429
+ * refObject to the splitter element
1430
+ */
1431
+ refObject?: React.RefObject<HTMLDivElement>;
1432
+ }
1433
+ /**
1434
+ * Creates a splitter component
1435
+ * @param props defines the splitter properties
1436
+ * @returns the splitter component
1437
+ */
1438
+ export const Splitter: React.FC<ISplitterProps>;
1439
+
1440
+ }
1441
+ declare module "babylonjs-node-geometry-editor/split/splitContext" {
1442
+ /// <reference types="react" />
1443
+ export enum ControlledSize {
1444
+ First = 0,
1445
+ Second = 1
1446
+ }
1447
+ export enum SplitDirection {
1448
+ Horizontal = 0,
1449
+ Vertical = 1
1450
+ }
1451
+ /**
1452
+ * Context used to share data with splitters
1453
+ */
1454
+ export interface ISplitContext {
1455
+ /**
1456
+ * Split direction
1457
+ */
1458
+ direction: SplitDirection;
1459
+ /**
1460
+ * Function called by splitters to update the offset
1461
+ * @param offset new offet
1462
+ * @param source source element
1463
+ * @param controlledSide defined controlled element
1464
+ */
1465
+ drag: (offset: number, source: HTMLElement, controlledSide: ControlledSize) => void;
1466
+ /**
1467
+ * Function called by splitters to begin dragging
1468
+ */
1469
+ beginDrag: () => void;
1470
+ /**
1471
+ * Function called by splitters to end dragging
1472
+ */
1473
+ endDrag: () => void;
1474
+ /**
1475
+ * Sync sizes for the elements
1476
+ * @param source source element
1477
+ * @param controlledSide defined controlled element
1478
+ * @param size size of the controlled element
1479
+ * @param minSize minimum size for the controlled element
1480
+ * @param maxSize maximum size for the controlled element
1481
+ */
1482
+ sync: (source: HTMLElement, controlledSide: ControlledSize, size?: number, minSize?: number, maxSize?: number) => void;
1483
+ }
1484
+ export const SplitContext: import("react").Context<ISplitContext>;
1485
+
1486
+ }
1487
+ declare module "babylonjs-node-geometry-editor/split/splitContainer" {
1488
+ /// <reference types="react" />
1489
+ import { SplitDirection } from "babylonjs-node-geometry-editor/split/splitContext";
1490
+ /**
1491
+ * Split container properties
1492
+ */
1493
+ export interface ISplitContainerProps {
1494
+ /**
1495
+ * Unique identifier
1496
+ */
1497
+ id?: string;
1498
+ /**
1499
+ * Split direction
1500
+ */
1501
+ direction: SplitDirection;
1502
+ /**
1503
+ * Minimum size for the floating elements
1504
+ */
1505
+ floatingMinSize?: number;
1506
+ /**
1507
+ * RefObject to the root div element
1508
+ */
1509
+ containerRef?: React.RefObject<HTMLDivElement>;
1510
+ /**
1511
+ * Optional class name
1512
+ */
1513
+ className?: string;
1514
+ /**
1515
+ * Pointer down
1516
+ * @param event pointer events
1517
+ */
1518
+ onPointerDown?: (event: React.PointerEvent) => void;
1519
+ /**
1520
+ * Pointer move
1521
+ * @param event pointer events
1522
+ */
1523
+ onPointerMove?: (event: React.PointerEvent) => void;
1524
+ /**
1525
+ * Pointer up
1526
+ * @param event pointer events
1527
+ */
1528
+ onPointerUp?: (event: React.PointerEvent) => void;
1529
+ /**
1530
+ * Drop
1531
+ * @param event drag events
1532
+ */
1533
+ onDrop?: (event: React.DragEvent<HTMLDivElement>) => void;
1534
+ /**
1535
+ * Drag over
1536
+ * @param event drag events
1537
+ */
1538
+ onDragOver?: (event: React.DragEvent<HTMLDivElement>) => void;
1539
+ }
1540
+ /**
1541
+ * Creates a split container component
1542
+ * @param props defines the split container properties
1543
+ * @returns the split container component
1544
+ */
1545
+ export const SplitContainer: React.FC<ISplitContainerProps>;
1546
+
1389
1547
  }
1390
1548
  declare module "babylonjs-node-geometry-editor/nodeGraphSystem/typeLedger" {
1391
1549
  import { INodeContainer } from "babylonjs-node-geometry-editor/nodeGraphSystem/interfaces/nodeContainer";
@@ -2489,13 +2647,6 @@ export class RadioButtonLineComponent extends React.Component<IRadioButtonLineCo
2489
2647
  }
2490
2648
  export {};
2491
2649
 
2492
- }
2493
- declare module "babylonjs-node-geometry-editor/lines/popup" {
2494
- export class Popup {
2495
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
2496
- private static _CopyStyles;
2497
- }
2498
-
2499
2650
  }
2500
2651
  declare module "babylonjs-node-geometry-editor/lines/optionsLineComponent" {
2501
2652
  import * as React from "react";
@@ -4257,6 +4408,7 @@ declare module BABYLON.NodeGeometryEditor {
4257
4408
  */
4258
4409
  export class NodeGeometryEditor {
4259
4410
  private static _CurrentState;
4411
+ private static _PopupWindow;
4260
4412
  /**
4261
4413
  * Show the node editor
4262
4414
  * @param options defines the options to use to configure the node editor
@@ -4286,12 +4438,7 @@ declare module BABYLON.NodeGeometryEditor {
4286
4438
  private _graphCanvasRef;
4287
4439
  private _diagramContainerRef;
4288
4440
  private _graphCanvas;
4289
- private _diagramContainer;
4290
4441
  private _historyStack;
4291
- private _startX;
4292
- private _moveInProgress;
4293
- private _leftWidth;
4294
- private _rightWidth;
4295
4442
  private _previewManager;
4296
4443
  private _mouseLocationX;
4297
4444
  private _mouseLocationY;
@@ -4311,18 +4458,13 @@ declare module BABYLON.NodeGeometryEditor {
4311
4458
  showWaitScreen(): void;
4312
4459
  hideWaitScreen(): void;
4313
4460
  reOrganize(editorData?: BABYLON.Nullable<BABYLON.NodeGeometryEditor.SharedUIComponents.IEditorData>, isImportingAFrame?: boolean): void;
4314
- onPointerDown(evt: React.PointerEvent<HTMLDivElement>): void;
4315
- onPointerUp(evt: React.PointerEvent<HTMLDivElement>): void;
4316
4461
  onWheel: (evt: WheelEvent) => void;
4317
- resizeColumns(evt: React.PointerEvent<HTMLDivElement>, forLeft?: boolean): void;
4318
- buildColumnLayout(): string;
4319
4462
  emitNewBlock(blockType: string, targetX: number, targetY: number): BABYLON.NodeGeometryEditor.SharedUIComponents.GraphNode | undefined;
4320
4463
  dropNewBlock(event: React.DragEvent<HTMLDivElement>): void;
4321
4464
  handlePopUp: () => void;
4322
4465
  handleClosingPopUp: () => void;
4323
4466
  initiatePreviewArea: (canvas?: HTMLCanvasElement) => void;
4324
4467
  createPopUp: () => void;
4325
- createPopupWindow: (title: string, windowVariableName: string, width?: number, height?: number) => Window | null;
4326
4468
  createPreviewMeshControlHost: (options: IInternalPreviewAreaOptions, parentControl: BABYLON.Nullable<HTMLElement>) => void;
4327
4469
  createPreviewHost: (options: IInternalPreviewAreaOptions, parentControl: BABYLON.Nullable<HTMLElement>) => void;
4328
4470
  fixPopUpStyles: (document: Document) => void;
@@ -4407,12 +4549,6 @@ declare module BABYLON.NodeGeometryEditor {
4407
4549
  }
4408
4550
 
4409
4551
 
4410
- export class Popup {
4411
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
4412
- static _CopyStyles(sourceDoc: HTMLDocument, targetDoc: HTMLDocument): void;
4413
- }
4414
-
4415
-
4416
4552
  export interface ICheckBoxLineComponentProps {
4417
4553
  label: string;
4418
4554
  target?: any;
@@ -4864,7 +5000,6 @@ declare module BABYLON.NodeGeometryEditor {
4864
5000
 
4865
5001
  interface IPreviewAreaComponentProps {
4866
5002
  globalState: GlobalState;
4867
- width: number;
4868
5003
  }
4869
5004
  export class PreviewAreaComponent extends React.Component<IPreviewAreaComponentProps, {
4870
5005
  isLoading: boolean;
@@ -4923,6 +5058,21 @@ declare module BABYLON.NodeGeometryEditor {
4923
5058
 
4924
5059
 
4925
5060
 
5061
+ }
5062
+ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5063
+ /**
5064
+ * Copy all styles from a document to another document or shadow root
5065
+ * @param source document to copy styles from
5066
+ * @param target document or shadow root to copy styles to
5067
+ */
5068
+ export function CopyStyles(source: Document, target: Document): void;
5069
+
5070
+
5071
+
5072
+ }
5073
+ declare module BABYLON.NodeGeometryEditor {
5074
+
5075
+
4926
5076
  }
4927
5077
  declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
4928
5078
  export class StringTools {
@@ -4955,6 +5105,27 @@ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
4955
5105
 
4956
5106
 
4957
5107
 
5108
+ }
5109
+ declare module BABYLON.NodeGeometryEditor {
5110
+
5111
+
5112
+ }
5113
+ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5114
+ /**
5115
+ * Create a popup window
5116
+ * @param title default title for the popup
5117
+ * @param options options for the popup
5118
+ * @returns the parent control of the popup
5119
+ */
5120
+ export function CreatePopup(title: string, options: Partial<{
5121
+ onParentControlCreateCallback?: (parentControl: HTMLDivElement) => void;
5122
+ onWindowCreateCallback?: (newWindow: Window) => void;
5123
+ width?: number;
5124
+ height?: number;
5125
+ }>): HTMLDivElement | null;
5126
+
5127
+
5128
+
4958
5129
  }
4959
5130
  declare module BABYLON.NodeGeometryEditor {
4960
5131
 
@@ -5344,6 +5515,173 @@ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5344
5515
 
5345
5516
 
5346
5517
 
5518
+ }
5519
+ declare module BABYLON.NodeGeometryEditor {
5520
+
5521
+
5522
+ }
5523
+ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5524
+ /// <reference types="react" />
5525
+ /**
5526
+ * Splitter component properties
5527
+ */
5528
+ export interface ISplitterProps {
5529
+ /**
5530
+ * Unique identifier
5531
+ */
5532
+ id?: string;
5533
+ /**
5534
+ * Splitter size
5535
+ */
5536
+ size: number;
5537
+ /**
5538
+ * Minimum size for the controlled element
5539
+ */
5540
+ minSize?: number;
5541
+ /**
5542
+ * Maximum size for the controlled element
5543
+ */
5544
+ maxSize?: number;
5545
+ /**
5546
+ * Initial size for the controlled element
5547
+ */
5548
+ initialSize?: number;
5549
+ /**
5550
+ * Defines the controlled side
5551
+ */
5552
+ controlledSide: BABYLON.NodeGeometryEditor.SharedUIComponents.ControlledSize;
5553
+ /**
5554
+ * refObject to the splitter element
5555
+ */
5556
+ refObject?: React.RefObject<HTMLDivElement>;
5557
+ }
5558
+ /**
5559
+ * Creates a splitter component
5560
+ * @param props defines the splitter properties
5561
+ * @returns the splitter component
5562
+ */
5563
+ export var Splitter: React.FC<ISplitterProps>;
5564
+
5565
+
5566
+
5567
+ }
5568
+ declare module BABYLON.NodeGeometryEditor {
5569
+
5570
+
5571
+ }
5572
+ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5573
+ /// <reference types="react" />
5574
+ export enum ControlledSize {
5575
+ First = 0,
5576
+ Second = 1
5577
+ }
5578
+ export enum SplitDirection {
5579
+ Horizontal = 0,
5580
+ Vertical = 1
5581
+ }
5582
+ /**
5583
+ * Context used to share data with splitters
5584
+ */
5585
+ export interface ISplitContext {
5586
+ /**
5587
+ * Split direction
5588
+ */
5589
+ direction: SplitDirection;
5590
+ /**
5591
+ * Function called by splitters to update the offset
5592
+ * @param offset new offet
5593
+ * @param source source element
5594
+ * @param controlledSide defined controlled element
5595
+ */
5596
+ drag: (offset: number, source: HTMLElement, controlledSide: ControlledSize) => void;
5597
+ /**
5598
+ * Function called by splitters to begin dragging
5599
+ */
5600
+ beginDrag: () => void;
5601
+ /**
5602
+ * Function called by splitters to end dragging
5603
+ */
5604
+ endDrag: () => void;
5605
+ /**
5606
+ * Sync sizes for the elements
5607
+ * @param source source element
5608
+ * @param controlledSide defined controlled element
5609
+ * @param size size of the controlled element
5610
+ * @param minSize minimum size for the controlled element
5611
+ * @param maxSize maximum size for the controlled element
5612
+ */
5613
+ sync: (source: HTMLElement, controlledSide: ControlledSize, size?: number, minSize?: number, maxSize?: number) => void;
5614
+ }
5615
+ export var SplitContext: import("react").Context<ISplitContext>;
5616
+
5617
+
5618
+
5619
+ }
5620
+ declare module BABYLON.NodeGeometryEditor {
5621
+
5622
+
5623
+ }
5624
+ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5625
+ /// <reference types="react" />
5626
+ /**
5627
+ * Split container properties
5628
+ */
5629
+ export interface ISplitContainerProps {
5630
+ /**
5631
+ * Unique identifier
5632
+ */
5633
+ id?: string;
5634
+ /**
5635
+ * Split direction
5636
+ */
5637
+ direction: BABYLON.NodeGeometryEditor.SharedUIComponents.SplitDirection;
5638
+ /**
5639
+ * Minimum size for the floating elements
5640
+ */
5641
+ floatingMinSize?: number;
5642
+ /**
5643
+ * RefObject to the root div element
5644
+ */
5645
+ containerRef?: React.RefObject<HTMLDivElement>;
5646
+ /**
5647
+ * Optional class name
5648
+ */
5649
+ className?: string;
5650
+ /**
5651
+ * Pointer down
5652
+ * @param event pointer events
5653
+ */
5654
+ onPointerDown?: (event: React.PointerEvent) => void;
5655
+ /**
5656
+ * Pointer move
5657
+ * @param event pointer events
5658
+ */
5659
+ onPointerMove?: (event: React.PointerEvent) => void;
5660
+ /**
5661
+ * Pointer up
5662
+ * @param event pointer events
5663
+ */
5664
+ onPointerUp?: (event: React.PointerEvent) => void;
5665
+ /**
5666
+ * Drop
5667
+ * @param event drag events
5668
+ */
5669
+ onDrop?: (event: React.DragEvent<HTMLDivElement>) => void;
5670
+ /**
5671
+ * Drag over
5672
+ * @param event drag events
5673
+ */
5674
+ onDragOver?: (event: React.DragEvent<HTMLDivElement>) => void;
5675
+ }
5676
+ /**
5677
+ * Creates a split container component
5678
+ * @param props defines the split container properties
5679
+ * @returns the split container component
5680
+ */
5681
+ export var SplitContainer: React.FC<ISplitContainerProps>;
5682
+
5683
+
5684
+
5347
5685
  }
5348
5686
  declare module BABYLON.NodeGeometryEditor {
5349
5687
 
@@ -6506,19 +6844,6 @@ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
6506
6844
 
6507
6845
 
6508
6846
 
6509
- }
6510
- declare module BABYLON.NodeGeometryEditor {
6511
-
6512
-
6513
- }
6514
- declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
6515
- export class Popup {
6516
- static CreatePopup(title: string, windowVariableName: string, width?: number, height?: number): HTMLDivElement | null;
6517
- private static _CopyStyles;
6518
- }
6519
-
6520
-
6521
-
6522
6847
  }
6523
6848
  declare module BABYLON.NodeGeometryEditor {
6524
6849
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-node-geometry-editor",
3
- "version": "7.34.2",
3
+ "version": "7.34.3",
4
4
  "main": "babylon.nodeGeometryEditor.js",
5
5
  "types": "babylon.nodeGeometryEditor.module.d.ts",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "clean": "rimraf dist && rimraf babylon*.* -g"
15
15
  },
16
16
  "dependencies": {
17
- "babylonjs": "^7.34.2"
17
+ "babylonjs": "^7.34.3"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@dev/build-tools": "1.0.0",