@babylonjs/node-editor 5.0.0-beta.5 → 5.0.0-beta.9

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.
@@ -2158,6 +2158,20 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/buttonLineCompon
2158
2158
  render(): JSX.Element;
2159
2159
  }
2160
2160
  }
2161
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/targetsProxy" {
2162
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2163
+ import { Observable } from "@babylonjs/core/Misc/observable";
2164
+ export const conflictingValuesPlaceholder = "\u2014";
2165
+ /**
2166
+ *
2167
+ * @param propertyName the property that the input changes
2168
+ * @param targets a list of selected targets
2169
+ * @param defaultValue the value that should be returned when two targets have conflicting values
2170
+ * @param setter an optional setter function to override the default setter behavior
2171
+ * @returns a proxy object that can be passed as a target into the input
2172
+ */
2173
+ export function makeTargetsProxy<Type>(targets: Type[], onPropertyChangedObservable?: Observable<PropertyChangedEvent>, getProperty?: (target: Type, property: keyof Type) => any): any;
2174
+ }
2161
2175
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComponent" {
2162
2176
  import * as React from "react";
2163
2177
  import { Observable } from "@babylonjs/core/Misc/observable";
@@ -2179,6 +2193,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2179
2193
  export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponentProps, {
2180
2194
  isSelected: boolean;
2181
2195
  isDisabled?: boolean;
2196
+ isConflict: boolean;
2182
2197
  }> {
2183
2198
  private static _UniqueIdSeed;
2184
2199
  private _uniqueId;
@@ -2187,11 +2202,23 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/checkBoxLineComp
2187
2202
  shouldComponentUpdate(nextProps: ICheckBoxLineComponentProps, nextState: {
2188
2203
  isSelected: boolean;
2189
2204
  isDisabled: boolean;
2205
+ isConflict: boolean;
2190
2206
  }): boolean;
2191
2207
  onChange(): void;
2192
2208
  render(): JSX.Element;
2193
2209
  }
2194
2210
  }
2211
+ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2212
+ /**
2213
+ * Class used to provide lock mechanism
2214
+ */
2215
+ export class LockObject {
2216
+ /**
2217
+ * Gets or set if the lock is engaged
2218
+ */
2219
+ lock: boolean;
2220
+ }
2221
+ }
2195
2222
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/numericInputComponent" {
2196
2223
  import * as React from "react";
2197
2224
  interface INumericInputComponentProps {
@@ -2241,22 +2268,14 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorPickerCompo
2241
2268
  constructor(props: IColorPickerComponentProps);
2242
2269
  syncPositions(): void;
2243
2270
  shouldComponentUpdate(nextProps: IColorPickerComponentProps, nextState: IColorPickerComponentState): boolean;
2271
+ getHexString(props?: Readonly<IColorPickerComponentProps> & Readonly<{
2272
+ children?: React.ReactNode;
2273
+ }>): string;
2244
2274
  componentDidUpdate(): void;
2245
2275
  componentDidMount(): void;
2246
2276
  render(): JSX.Element;
2247
2277
  }
2248
2278
  }
2249
- declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject" {
2250
- /**
2251
- * Class used to provide lock mechanism
2252
- */
2253
- export class LockObject {
2254
- /**
2255
- * Gets or set if the lock is engaged
2256
- */
2257
- lock: boolean;
2258
- }
2259
- }
2260
2279
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineComponent" {
2261
2280
  import * as React from "react";
2262
2281
  import { Observable } from "@babylonjs/core/Misc/observable";
@@ -2275,6 +2294,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineCom
2275
2294
  noUnderline?: boolean;
2276
2295
  numbersOnly?: boolean;
2277
2296
  delayInput?: boolean;
2297
+ unit?: string;
2298
+ onUnitClicked?: (unit: string) => void;
2299
+ unitLocked?: boolean;
2278
2300
  }
2279
2301
  export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2280
2302
  value: string;
@@ -2290,83 +2312,91 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/textInputLineCom
2290
2312
  render(): JSX.Element;
2291
2313
  }
2292
2314
  }
2293
- declare module "@babylonjs/node-editor/sharedUiComponents/lines/color3LineComponent" {
2315
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/colorLineComponent" {
2294
2316
  import * as React from "react";
2295
2317
  import { Observable } from "@babylonjs/core/Misc/observable";
2318
+ import { Color4 } from "@babylonjs/core/Maths/math.color";
2296
2319
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2297
- import { Color3, Color4 } from "@babylonjs/core/Maths/math.color";
2298
2320
  import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2299
- export interface IColor3LineComponentProps {
2321
+ export interface IColorLineComponentProps {
2300
2322
  label: string;
2301
- target: any;
2323
+ target?: any;
2302
2324
  propertyName: string;
2303
2325
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2326
+ onChange?: () => void;
2304
2327
  isLinear?: boolean;
2305
2328
  icon?: string;
2306
- lockObject?: LockObject;
2307
2329
  iconLabel?: string;
2308
- onValueChange?: (value: string) => void;
2330
+ lockObject?: LockObject;
2331
+ disableAlpha?: boolean;
2309
2332
  }
2310
- export class Color3LineComponent extends React.Component<IColor3LineComponentProps, {
2333
+ interface IColorLineComponentState {
2311
2334
  isExpanded: boolean;
2312
- color: Color3 | Color4;
2313
- colorText: string;
2314
- }> {
2315
- private _localChange;
2316
- constructor(props: IColor3LineComponentProps);
2317
- private convertToColor3;
2318
- shouldComponentUpdate(nextProps: IColor3LineComponentProps, nextState: {
2319
- color: Color3 | Color4;
2320
- colorText: string;
2321
- }): boolean;
2322
- setPropertyValue(newColor: Color3 | Color4, newColorText: string): void;
2323
- onChange(newValue: string): void;
2335
+ color: Color4;
2336
+ colorString: string;
2337
+ }
2338
+ export class ColorLineComponent extends React.Component<IColorLineComponentProps, IColorLineComponentState> {
2339
+ constructor(props: IColorLineComponentProps);
2340
+ shouldComponentUpdate(nextProps: IColorLineComponentProps, nextState: IColorLineComponentState): boolean;
2341
+ getValue(props?: Readonly<IColorLineComponentProps> & Readonly<{
2342
+ children?: React.ReactNode;
2343
+ }>): Color4;
2344
+ getValueAsString(props?: Readonly<IColorLineComponentProps> & Readonly<{
2345
+ children?: React.ReactNode;
2346
+ }>): string;
2347
+ setColorFromString(colorString: string): void;
2348
+ setColor(color: Color4): void;
2349
+ updateColor(newColor: Color4): void;
2324
2350
  switchExpandState(): void;
2325
- raiseOnPropertyChanged(previousValue: Color3 | Color4): void;
2326
2351
  updateStateR(value: number): void;
2327
2352
  updateStateG(value: number): void;
2328
2353
  updateStateB(value: number): void;
2354
+ updateStateA(value: number): void;
2329
2355
  copyToClipboard(): void;
2330
- convert(colorString: string): void;
2331
- private _colorStringSaved;
2332
- private _colorPickerOpen;
2333
- private _colorString;
2356
+ get colorString(): string;
2357
+ set colorString(_: string);
2358
+ private convertToColor;
2359
+ private toColor3;
2360
+ render(): JSX.Element;
2361
+ }
2362
+ }
2363
+ declare module "@babylonjs/node-editor/sharedUiComponents/lines/color3LineComponent" {
2364
+ import * as React from "react";
2365
+ import { Observable } from "@babylonjs/core/Misc/observable";
2366
+ import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2367
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2368
+ export interface IColor3LineComponentProps {
2369
+ label: string;
2370
+ target: any;
2371
+ propertyName: string;
2372
+ onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2373
+ isLinear?: boolean;
2374
+ icon?: string;
2375
+ lockObject?: LockObject;
2376
+ iconLabel?: string;
2377
+ onValueChange?: (value: string) => void;
2378
+ }
2379
+ export class Color3LineComponent extends React.Component<IColor3LineComponentProps> {
2334
2380
  render(): JSX.Element;
2335
2381
  }
2336
2382
  }
2337
2383
  declare module "@babylonjs/node-editor/sharedUiComponents/lines/color4LineComponent" {
2338
2384
  import * as React from "react";
2339
2385
  import { Observable } from "@babylonjs/core/Misc/observable";
2340
- import { Color4 } from "@babylonjs/core/Maths/math.color";
2341
2386
  import { PropertyChangedEvent } from "@babylonjs/node-editor/sharedUiComponents/propertyChangedEvent";
2387
+ import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2342
2388
  export interface IColor4LineComponentProps {
2343
2389
  label: string;
2344
- target: any;
2390
+ target?: any;
2345
2391
  propertyName: string;
2346
2392
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2347
2393
  onChange?: () => void;
2348
2394
  isLinear?: boolean;
2349
2395
  icon?: string;
2350
2396
  iconLabel?: string;
2397
+ lockObject?: LockObject;
2351
2398
  }
2352
- export class Color4LineComponent extends React.Component<IColor4LineComponentProps, {
2353
- isExpanded: boolean;
2354
- color: Color4;
2355
- }> {
2356
- private _localChange;
2357
- constructor(props: IColor4LineComponentProps);
2358
- shouldComponentUpdate(nextProps: IColor4LineComponentProps, nextState: {
2359
- color: Color4;
2360
- }): boolean;
2361
- setPropertyValue(newColor: Color4): void;
2362
- onChange(newValue: string): void;
2363
- switchExpandState(): void;
2364
- raiseOnPropertyChanged(previousValue: Color4): void;
2365
- updateStateR(value: number): void;
2366
- updateStateG(value: number): void;
2367
- updateStateB(value: number): void;
2368
- updateStateA(value: number): void;
2369
- copyToClipboard(): void;
2399
+ export class Color4LineComponent extends React.Component<IColor4LineComponentProps> {
2370
2400
  render(): JSX.Element;
2371
2401
  }
2372
2402
  }
@@ -2478,6 +2508,9 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/floatLineCompone
2478
2508
  icon?: string;
2479
2509
  iconLabel?: string;
2480
2510
  defaultValue?: number;
2511
+ unit?: string;
2512
+ onUnitClicked?: () => void;
2513
+ unitLocked?: boolean;
2481
2514
  }
2482
2515
  export class FloatLineComponent extends React.Component<IFloatLineComponentProps, {
2483
2516
  value: string;
@@ -2486,6 +2519,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/lines/floatLineCompone
2486
2519
  private _store;
2487
2520
  constructor(props: IFloatLineComponentProps);
2488
2521
  componentWillUnmount(): void;
2522
+ getValueString(value: any): string;
2489
2523
  shouldComponentUpdate(nextProps: IFloatLineComponentProps, nextState: {
2490
2524
  value: string;
2491
2525
  }): boolean;
@@ -2841,14 +2875,15 @@ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui
2841
2875
  import { Control } from "@babylonjs/gui/2D/controls/control";
2842
2876
  import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
2843
2877
  interface ICommonControlPropertyGridComponentProps {
2844
- control: Control;
2878
+ controls?: Control[];
2879
+ control?: Control;
2845
2880
  lockObject: LockObject;
2846
2881
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2847
2882
  }
2848
2883
  export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
2849
2884
  constructor(props: ICommonControlPropertyGridComponentProps);
2850
- renderGridInformation(): JSX.Element | null;
2851
- render(): JSX.Element;
2885
+ renderGridInformation(control: Control): JSX.Element | null;
2886
+ render(): JSX.Element | undefined;
2852
2887
  }
2853
2888
  }
2854
2889
  declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui/checkboxPropertyGridComponent" {
@@ -3005,7 +3040,7 @@ declare module "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/gui
3005
3040
  import { LockObject } from "@babylonjs/node-editor/sharedUiComponents/tabs/propertyGrids/lockObject";
3006
3041
  import { RadioButton } from "@babylonjs/gui/2D/controls/radioButton";
3007
3042
  interface IRadioButtonPropertyGridComponentProps {
3008
- radioButton: RadioButton;
3043
+ radioButtons: RadioButton[];
3009
3044
  lockObject: LockObject;
3010
3045
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
3011
3046
  }
package/package.json CHANGED
@@ -4,14 +4,14 @@
4
4
  },
5
5
  "name": "@babylonjs/node-editor",
6
6
  "description": "The Babylon.js node material editor.",
7
- "version": "5.0.0-beta.5",
7
+ "version": "5.0.0-beta.9",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/BabylonJS/Babylon.js.git"
11
11
  },
12
12
  "license": "Apache-2.0",
13
13
  "dependencies": {
14
- "@babylonjs/core": "5.0.0-beta.5",
14
+ "@babylonjs/core": "5.0.0-beta.9",
15
15
  "tslib": "^2.3.1"
16
16
  },
17
17
  "files": [