@babylonjs/gui-editor 7.35.2 → 7.37.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2085,6 +2085,7 @@ import { NodeLink } from "@babylonjs/gui-editor/nodeGraphSystem/nodeLink";
2085
2085
  import { FramePortData } from "@babylonjs/gui-editor/nodeGraphSystem/types/framePortData";
2086
2086
  export const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
2087
2087
  export const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode>, visitedLinks?: Set<NodeLink>, canvas?: GraphCanvasComponent) => void;
2088
+ export const BuildFloatUI: (container: HTMLDivElement, document: Document, displayName: string, isInteger: boolean, source: any, propertyName: string, onChange: () => void, min?: number, max?: number, visualPropertiesRefresh?: Array<() => void>) => void;
2088
2089
 
2089
2090
  }
2090
2091
  declare module "@babylonjs/gui-editor/nodeGraphSystem/stateManager" {
@@ -2200,7 +2201,7 @@ import { StateManager } from "@babylonjs/gui-editor/nodeGraphSystem/stateManager
2200
2201
  import { ISelectionChangedOptions } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/selectionChangedOptions";
2201
2202
  import { FrameNodePort } from "@babylonjs/gui-editor/nodeGraphSystem/frameNodePort";
2202
2203
  import { IDisplayManager } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/displayManager";
2203
- import { IPortData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/portData";
2204
+ import { type IPortData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/portData";
2204
2205
  export class NodePort {
2205
2206
  portData: IPortData;
2206
2207
  node: GraphNode;
@@ -2213,6 +2214,7 @@ export class NodePort {
2213
2214
  protected _onCandidateLinkMovedObserver: Nullable<Observer<Nullable<Vector2>>>;
2214
2215
  protected _onSelectionChangedObserver: Nullable<Observer<Nullable<ISelectionChangedOptions>>>;
2215
2216
  protected _exposedOnFrame: boolean;
2217
+ protected _portUIcontainer?: HTMLDivElement;
2216
2218
  delegatedPort: Nullable<FrameNodePort>;
2217
2219
  get element(): HTMLDivElement;
2218
2220
  get container(): HTMLElement;
@@ -2226,7 +2228,7 @@ export class NodePort {
2226
2228
  set exposedPortPosition(value: number);
2227
2229
  private _isConnectedToNodeOutsideOfFrame;
2228
2230
  refresh(): void;
2229
- constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager);
2231
+ constructor(portContainer: HTMLElement, portData: IPortData, node: GraphNode, stateManager: StateManager, portUIcontainer?: HTMLDivElement);
2230
2232
  dispose(): void;
2231
2233
  static CreatePortElement(portData: IPortData, node: GraphNode, root: HTMLElement, displayManager: Nullable<IDisplayManager>, stateManager: StateManager): NodePort;
2232
2234
  }
@@ -2285,6 +2287,7 @@ import { NodeLink } from "@babylonjs/gui-editor/nodeGraphSystem/nodeLink";
2285
2287
  import { StateManager } from "@babylonjs/gui-editor/nodeGraphSystem/stateManager";
2286
2288
  import { INodeData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/nodeData";
2287
2289
  import { IPortData } from "@babylonjs/gui-editor/nodeGraphSystem/interfaces/portData";
2290
+ import { IEditablePropertyOption } from "@babylonjs/core/Decorators/nodeDecorator";
2288
2291
  export class GraphNode {
2289
2292
  content: INodeData;
2290
2293
  private _visual;
@@ -2362,7 +2365,7 @@ export class GraphNode {
2362
2365
  private _onUp;
2363
2366
  private _onMove;
2364
2367
  renderProperties(): Nullable<JSX.Element>;
2365
- private _forceRebuild;
2368
+ _forceRebuild(source: any, propertyName: string, notifiers?: IEditablePropertyOption["notifiers"]): void;
2366
2369
  private _isCollapsed;
2367
2370
  /**
2368
2371
  * Collapse the node
@@ -2753,6 +2756,32 @@ export enum PortDataDirection {
2753
2756
  /** Output */
2754
2757
  Output = 1
2755
2758
  }
2759
+ export enum PortDirectValueTypes {
2760
+ Float = 0,
2761
+ Int = 1
2762
+ }
2763
+ export interface IPortDirectValueDefinition {
2764
+ /**
2765
+ * Gets the source object
2766
+ */
2767
+ source: any;
2768
+ /**
2769
+ * Gets the property name used to store the value
2770
+ */
2771
+ propertyName: string;
2772
+ /**
2773
+ * Gets or sets the min value accepted for this point if nothing is connected
2774
+ */
2775
+ valueMin: Nullable<any>;
2776
+ /**
2777
+ * Gets or sets the max value accepted for this point if nothing is connected
2778
+ */
2779
+ valueMax: Nullable<any>;
2780
+ /**
2781
+ * Gets or sets the type of the value
2782
+ */
2783
+ valueType: PortDirectValueTypes;
2784
+ }
2756
2785
  export interface IPortData {
2757
2786
  data: any;
2758
2787
  name: string;
@@ -2766,6 +2795,7 @@ export interface IPortData {
2766
2795
  needDualDirectionValidation: boolean;
2767
2796
  hasEndpoints: boolean;
2768
2797
  endpoints: Nullable<IPortData[]>;
2798
+ directValueDefinition?: IPortDirectValueDefinition;
2769
2799
  updateDisplayName: (newName: string) => void;
2770
2800
  canConnectTo: (port: IPortData) => boolean;
2771
2801
  connectTo: (port: IPortData) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/gui-editor",
3
- "version": "7.35.2",
3
+ "version": "7.37.0",
4
4
  "main": "dist/babylon.guiEditor.max.js",
5
5
  "module": "dist/babylon.guiEditor.max.js",
6
6
  "esnext": "dist/babylon.guiEditor.max.js",
@@ -24,8 +24,8 @@
24
24
  "@types/react-dom": ">=16.0.9"
25
25
  },
26
26
  "devDependencies": {
27
- "@babylonjs/core": "^7.35.2",
28
- "@babylonjs/gui": "^7.35.2",
27
+ "@babylonjs/core": "^7.37.0",
28
+ "@babylonjs/gui": "^7.37.0",
29
29
  "react": "^17.0.2",
30
30
  "react-dom": "^17.0.2"
31
31
  },