babylonjs-gui-editor 7.25.2 → 7.26.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.
@@ -1530,8 +1530,9 @@ import { IDisposable } from "babylonjs/scene";
1530
1530
  * Class handling undo / redo operations
1531
1531
  */
1532
1532
  export class HistoryStack implements IDisposable {
1533
- private _history;
1533
+ private _historyStack;
1534
1534
  private _redoStack;
1535
+ private _activeData;
1535
1536
  private readonly _maxHistoryLength;
1536
1537
  private _locked;
1537
1538
  private _dataProvider;
@@ -1542,13 +1543,19 @@ export class HistoryStack implements IDisposable {
1542
1543
  * @param applyUpdate defines the code to execute when undo/redo operation is required
1543
1544
  */
1544
1545
  constructor(dataProvider: () => any, applyUpdate: (data: any) => void);
1546
+ /**
1547
+ * Process key event to handle undo / redo
1548
+ * @param evt defines the keyboard event to process
1549
+ * @returns true if the event was processed
1550
+ */
1551
+ processKeyEvent(evt: KeyboardEvent): boolean;
1545
1552
  /**
1546
1553
  * Resets the stack
1547
1554
  */
1548
1555
  reset(): void;
1549
1556
  private _generateJSONDiff;
1550
1557
  private _applyJSONDiff;
1551
- private _rebuildState;
1558
+ private _copy;
1552
1559
  /**
1553
1560
  * Stores the current state
1554
1561
  */
@@ -2067,6 +2074,8 @@ export class NodeLink {
2067
2074
  get nodeB(): GraphNode | undefined;
2068
2075
  intersectsWith(rect: DOMRect): boolean;
2069
2076
  update(endX?: number, endY?: number, straight?: boolean): void;
2077
+ get path(): SVGPathElement;
2078
+ get selectionPath(): SVGPathElement;
2070
2079
  constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
2071
2080
  onClick(evt: MouseEvent): void;
2072
2081
  dispose(notify?: boolean): void;
@@ -2147,6 +2156,7 @@ export class GraphNode {
2147
2156
  set enclosingFrameId(value: number);
2148
2157
  set isSelected(value: boolean);
2149
2158
  setIsSelected(value: boolean, marqueeSelection: boolean): void;
2159
+ get rootElement(): HTMLDivElement;
2150
2160
  constructor(content: INodeData, stateManager: StateManager);
2151
2161
  isOverlappingFrame(frame: GraphFrame): boolean;
2152
2162
  getPortForPortData(portData: IPortData): NodePort | null;
@@ -2197,6 +2207,7 @@ export class GraphFrame {
2197
2207
  private _headerTextElement;
2198
2208
  private _headerCollapseElement;
2199
2209
  private _headerCloseElement;
2210
+ private _headerFocusElement;
2200
2211
  private _commentsElement;
2201
2212
  private _portContainer;
2202
2213
  private _outputPortContainer;
@@ -2226,6 +2237,7 @@ export class GraphFrame {
2226
2237
  private readonly _closeSVG;
2227
2238
  private readonly _expandSVG;
2228
2239
  private readonly _collapseSVG;
2240
+ private readonly _focusSVG;
2229
2241
  get id(): number;
2230
2242
  get isCollapsed(): boolean;
2231
2243
  private _createInputPort;
@@ -2254,6 +2266,11 @@ export class GraphFrame {
2254
2266
  get comments(): string;
2255
2267
  set comments(comments: string);
2256
2268
  constructor(candidate: Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
2269
+ private _isFocused;
2270
+ /**
2271
+ * Enter/leave focus mode
2272
+ */
2273
+ switchFocusMode(): void;
2257
2274
  refresh(): void;
2258
2275
  addNode(node: GraphNode): void;
2259
2276
  removeNode(node: GraphNode): void;
@@ -5843,8 +5860,9 @@ declare module BABYLON.GuiEditor.SharedUIComponents {
5843
5860
  * Class handling undo / redo operations
5844
5861
  */
5845
5862
  export class HistoryStack implements IDisposable {
5846
- private _history;
5863
+ private _historyStack;
5847
5864
  private _redoStack;
5865
+ private _activeData;
5848
5866
  private readonly _maxHistoryLength;
5849
5867
  private _locked;
5850
5868
  private _dataProvider;
@@ -5855,13 +5873,19 @@ declare module BABYLON.GuiEditor.SharedUIComponents {
5855
5873
  * @param applyUpdate defines the code to execute when undo/redo operation is required
5856
5874
  */
5857
5875
  constructor(dataProvider: () => any, applyUpdate: (data: any) => void);
5876
+ /**
5877
+ * Process key event to handle undo / redo
5878
+ * @param evt defines the keyboard event to process
5879
+ * @returns true if the event was processed
5880
+ */
5881
+ processKeyEvent(evt: KeyboardEvent): boolean;
5858
5882
  /**
5859
5883
  * Resets the stack
5860
5884
  */
5861
5885
  reset(): void;
5862
5886
  private _generateJSONDiff;
5863
5887
  private _applyJSONDiff;
5864
- private _rebuildState;
5888
+ private _copy;
5865
5889
  /**
5866
5890
  * Stores the current state
5867
5891
  */
@@ -6396,6 +6420,8 @@ declare module BABYLON.GuiEditor.SharedUIComponents {
6396
6420
  get nodeB(): BABYLON.GuiEditor.SharedUIComponents.GraphNode | undefined;
6397
6421
  intersectsWith(rect: DOMRect): boolean;
6398
6422
  update(endX?: number, endY?: number, straight?: boolean): void;
6423
+ get path(): SVGPathElement;
6424
+ get selectionPath(): SVGPathElement;
6399
6425
  constructor(graphCanvas: BABYLON.GuiEditor.SharedUIComponents.GraphCanvasComponent, portA: BABYLON.GuiEditor.SharedUIComponents.NodePort, nodeA: BABYLON.GuiEditor.SharedUIComponents.GraphNode, portB?: BABYLON.GuiEditor.SharedUIComponents.NodePort, nodeB?: BABYLON.GuiEditor.SharedUIComponents.GraphNode);
6400
6426
  onClick(evt: MouseEvent): void;
6401
6427
  dispose(notify?: boolean): void;
@@ -6480,6 +6506,7 @@ declare module BABYLON.GuiEditor.SharedUIComponents {
6480
6506
  set enclosingFrameId(value: number);
6481
6507
  set isSelected(value: boolean);
6482
6508
  setIsSelected(value: boolean, marqueeSelection: boolean): void;
6509
+ get rootElement(): HTMLDivElement;
6483
6510
  constructor(content: BABYLON.GuiEditor.SharedUIComponents.INodeData, stateManager: BABYLON.GuiEditor.SharedUIComponents.StateManager);
6484
6511
  isOverlappingFrame(frame: BABYLON.GuiEditor.SharedUIComponents.GraphFrame): boolean;
6485
6512
  getPortForPortData(portData: BABYLON.GuiEditor.SharedUIComponents.IPortData): BABYLON.GuiEditor.SharedUIComponents.NodePort | null;
@@ -6529,6 +6556,7 @@ declare module BABYLON.GuiEditor.SharedUIComponents {
6529
6556
  private _headerTextElement;
6530
6557
  private _headerCollapseElement;
6531
6558
  private _headerCloseElement;
6559
+ private _headerFocusElement;
6532
6560
  private _commentsElement;
6533
6561
  private _portContainer;
6534
6562
  private _outputPortContainer;
@@ -6558,6 +6586,7 @@ declare module BABYLON.GuiEditor.SharedUIComponents {
6558
6586
  private readonly _closeSVG;
6559
6587
  private readonly _expandSVG;
6560
6588
  private readonly _collapseSVG;
6589
+ private readonly _focusSVG;
6561
6590
  get id(): number;
6562
6591
  get isCollapsed(): boolean;
6563
6592
  private _createInputPort;
@@ -6586,6 +6615,11 @@ declare module BABYLON.GuiEditor.SharedUIComponents {
6586
6615
  get comments(): string;
6587
6616
  set comments(comments: string);
6588
6617
  constructor(candidate: Nullable<HTMLDivElement>, canvas: BABYLON.GuiEditor.SharedUIComponents.GraphCanvasComponent, doNotCaptureNodes?: boolean);
6618
+ private _isFocused;
6619
+ /**
6620
+ * Enter/leave focus mode
6621
+ */
6622
+ switchFocusMode(): void;
6589
6623
  refresh(): void;
6590
6624
  addNode(node: BABYLON.GuiEditor.SharedUIComponents.GraphNode): void;
6591
6625
  removeNode(node: BABYLON.GuiEditor.SharedUIComponents.GraphNode): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-gui-editor",
3
- "version": "7.25.2",
3
+ "version": "7.26.1",
4
4
  "main": "babylon.guiEditor.max.js",
5
5
  "types": "babylon.guiEditor.module.d.ts",
6
6
  "files": [
@@ -14,8 +14,8 @@
14
14
  "clean": "rimraf dist && rimraf babylon*.* -g"
15
15
  },
16
16
  "dependencies": {
17
- "babylonjs": "^7.25.2",
18
- "babylonjs-gui": "^7.25.2"
17
+ "babylonjs": "^7.26.1",
18
+ "babylonjs-gui": "^7.26.1"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@dev/build-tools": "1.0.0",
@@ -27,7 +27,7 @@
27
27
  "react": "^17.0.2",
28
28
  "react-contextmenu": "RaananW/react-contextmenu",
29
29
  "react-dom": "^17.0.2",
30
- "sass-loader": "^13.0.0",
30
+ "sass-loader": "^16.0.0",
31
31
  "source-map-loader": "^4.0.0",
32
32
  "ts-loader": "^9.2.6",
33
33
  "webpack": "^5.73.0",