@babylonjs/gui-editor 5.24.0 → 5.26.0

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.
@@ -140,11 +140,14 @@ import { Observable } from "@babylonjs/core/Misc/observable";
140
140
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
141
141
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
142
142
  import { Rectangle } from "@babylonjs/gui/2D/controls/rectangle";
143
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
143
144
  interface IButtonPropertyGridComponentProps {
144
145
  rectangles: Rectangle[];
145
146
  lockObject: LockObject;
146
147
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
147
148
  onAddComponent: (newComponent: string) => void;
149
+ onFontsParsedObservable?: Observable<void>;
150
+ globalState?: GlobalState;
148
151
  }
149
152
  export class ButtonPropertyGridComponent extends React.Component<IButtonPropertyGridComponentProps> {
150
153
  constructor(props: IButtonPropertyGridComponentProps);
@@ -159,10 +162,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
159
162
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
160
163
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
161
164
  import { Checkbox } from "@babylonjs/gui/2D/controls/checkbox";
165
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
162
166
  interface ICheckboxPropertyGridComponentProps {
163
167
  checkboxes: Checkbox[];
164
168
  lockObject: LockObject;
165
169
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
170
+ onFontsParsedObservable?: Observable<void>;
171
+ globalState?: GlobalState;
166
172
  }
167
173
  export class CheckboxPropertyGridComponent extends React.Component<ICheckboxPropertyGridComponentProps> {
168
174
  constructor(props: ICheckboxPropertyGridComponentProps);
@@ -177,10 +183,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
177
183
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
178
184
  import { ColorPicker } from "@babylonjs/gui/2D/controls/colorpicker";
179
185
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
186
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
180
187
  interface IColorPickerPropertyGridComponentProps {
181
188
  colorPickers: ColorPicker[];
182
189
  lockObject: LockObject;
183
190
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
191
+ onFontsParsedObservable?: Observable<void>;
192
+ globalState?: GlobalState;
184
193
  }
185
194
  export class ColorPickerPropertyGridComponent extends React.Component<IColorPickerPropertyGridComponentProps> {
186
195
  constructor(props: IColorPickerPropertyGridComponentProps);
@@ -195,19 +204,36 @@ import { Observable } from "@babylonjs/core/Misc/observable";
195
204
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
196
205
  import { Control } from "@babylonjs/gui/2D/controls/control";
197
206
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
207
+ import { IInspectableOptions } from "@babylonjs/core/Misc/iInspectable";
208
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
198
209
  interface ICommonControlPropertyGridComponentProps {
199
210
  controls: Control[];
200
211
  lockObject: LockObject;
201
212
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
202
213
  hideDimensions?: boolean;
214
+ onFontsParsedObservable?: Observable<void>;
215
+ globalState?: GlobalState;
203
216
  }
204
- export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps> {
217
+ interface ICommonControlPropertyGridComponentState {
218
+ fontFamilyOptions: IInspectableOptions[];
219
+ value: number;
220
+ }
221
+ export class CommonControlPropertyGridComponent extends React.Component<ICommonControlPropertyGridComponentProps, ICommonControlPropertyGridComponentState> {
205
222
  private _onPropertyChangedObserver;
223
+ private _onFontsParsedObserver;
206
224
  constructor(props: ICommonControlPropertyGridComponentProps);
225
+ componentWillMount(): void;
226
+ private _checkFontsInLayout;
207
227
  private _getTransformedReferenceCoordinate;
208
228
  private _updateAlignment;
209
229
  private _checkAndUpdateValues;
210
230
  private _markChildrenAsDirty;
231
+ addVal: (newVal: {
232
+ label: string;
233
+ value: number;
234
+ }, prevVal: number) => void;
235
+ selectCustomVal(): void;
236
+ keepPrevVal(prevVal: number): void;
211
237
  componentWillUnmount(): void;
212
238
  render(): JSX.Element;
213
239
  }
@@ -235,10 +261,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
235
261
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
236
262
  import { Control } from "@babylonjs/gui/2D/controls/control";
237
263
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
264
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
238
265
  interface IControlPropertyGridComponentProps {
239
266
  controls: Control[];
240
267
  lockObject: LockObject;
241
268
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
269
+ onFontsParsedObservable?: Observable<void>;
270
+ globalState?: GlobalState;
242
271
  }
243
272
  export class ControlPropertyGridComponent extends React.Component<IControlPropertyGridComponentProps> {
244
273
  constructor(props: IControlPropertyGridComponentProps);
@@ -253,10 +282,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
253
282
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
254
283
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
255
284
  import { DisplayGrid } from "@babylonjs/gui/2D/controls/displayGrid";
285
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
256
286
  interface IDisplayGridPropertyGridComponentProps {
257
287
  displayGrids: DisplayGrid[];
258
288
  lockObject: LockObject;
259
289
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
290
+ onFontsParsedObservable?: Observable<void>;
291
+ globalState?: GlobalState;
260
292
  }
261
293
  export class DisplayGridPropertyGridComponent extends React.Component<IDisplayGridPropertyGridComponentProps> {
262
294
  constructor(props: IDisplayGridPropertyGridComponentProps);
@@ -271,10 +303,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
271
303
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
272
304
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
273
305
  import { Ellipse } from "@babylonjs/gui/2D/controls/ellipse";
306
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
274
307
  interface IEllipsePropertyGridComponentProps {
275
308
  ellipses: Ellipse[];
276
309
  lockObject: LockObject;
277
310
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
311
+ onFontsParsedObservable?: Observable<void>;
312
+ globalState?: GlobalState;
278
313
  }
279
314
  export class EllipsePropertyGridComponent extends React.Component<IEllipsePropertyGridComponentProps> {
280
315
  constructor(props: IEllipsePropertyGridComponentProps);
@@ -289,10 +324,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
289
324
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
290
325
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
291
326
  import { Grid } from "@babylonjs/gui/2D/controls/grid";
327
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
292
328
  interface IGridPropertyGridComponentProps {
293
329
  grids: Grid[];
294
330
  lockObject: LockObject;
295
331
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
332
+ onFontsParsedObservable?: Observable<void>;
333
+ globalState?: GlobalState;
296
334
  onUpdateRequiredObservable?: Observable<void>;
297
335
  }
298
336
  export class GridPropertyGridComponent extends React.Component<IGridPropertyGridComponentProps> {
@@ -328,10 +366,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
328
366
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
329
367
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
330
368
  import { ImageBasedSlider } from "@babylonjs/gui/2D/controls/sliders/imageBasedSlider";
369
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
331
370
  interface IImageBasedSliderPropertyGridComponentProps {
332
371
  imageBasedSliders: ImageBasedSlider[];
333
372
  lockObject: LockObject;
334
373
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
374
+ onFontsParsedObservable?: Observable<void>;
375
+ globalState?: GlobalState;
335
376
  }
336
377
  export class ImageBasedSliderPropertyGridComponent extends React.Component<IImageBasedSliderPropertyGridComponentProps> {
337
378
  constructor(props: IImageBasedSliderPropertyGridComponentProps);
@@ -346,10 +387,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
346
387
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
347
388
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
348
389
  import { Image } from "@babylonjs/gui/2D/controls/image";
390
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
349
391
  interface IImagePropertyGridComponentProps {
350
392
  images: Image[];
351
393
  lockObject: LockObject;
352
394
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
395
+ onFontsParsedObservable?: Observable<void>;
396
+ globalState?: GlobalState;
353
397
  }
354
398
  export class ImagePropertyGridComponent extends React.Component<IImagePropertyGridComponentProps> {
355
399
  private _observers;
@@ -371,10 +415,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
371
415
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
372
416
  import { InputText } from "@babylonjs/gui/2D/controls/inputText";
373
417
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
418
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
374
419
  interface IInputTextPropertyGridComponentProps {
375
420
  inputTexts: InputText[];
376
421
  lockObject: LockObject;
377
422
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
423
+ onFontsParsedObservable?: Observable<void>;
424
+ globalState?: GlobalState;
378
425
  }
379
426
  export class InputTextPropertyGridComponent extends React.Component<IInputTextPropertyGridComponentProps> {
380
427
  constructor(props: IInputTextPropertyGridComponentProps);
@@ -389,10 +436,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
389
436
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
390
437
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
391
438
  import { Line } from "@babylonjs/gui/2D/controls/line";
439
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
392
440
  interface ILinePropertyGridComponentProps {
393
441
  lines: Line[];
394
442
  lockObject: LockObject;
395
443
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
444
+ onFontsParsedObservable?: Observable<void>;
445
+ globalState?: GlobalState;
396
446
  }
397
447
  export class LinePropertyGridComponent extends React.Component<ILinePropertyGridComponentProps> {
398
448
  constructor(props: ILinePropertyGridComponentProps);
@@ -408,10 +458,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
408
458
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
409
459
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
410
460
  import { RadioButton } from "@babylonjs/gui/2D/controls/radioButton";
461
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
411
462
  interface IRadioButtonPropertyGridComponentProps {
412
463
  radioButtons: RadioButton[];
413
464
  lockObject: LockObject;
414
465
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
466
+ onFontsParsedObservable?: Observable<void>;
467
+ globalState?: GlobalState;
415
468
  }
416
469
  export class RadioButtonPropertyGridComponent extends React.Component<IRadioButtonPropertyGridComponentProps> {
417
470
  constructor(props: IRadioButtonPropertyGridComponentProps);
@@ -426,10 +479,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
426
479
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
427
480
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
428
481
  import { Rectangle } from "@babylonjs/gui/2D/controls/rectangle";
482
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
429
483
  interface IRectanglePropertyGridComponentProps {
430
484
  rectangles: Rectangle[];
431
485
  lockObject: LockObject;
432
486
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
487
+ onFontsParsedObservable?: Observable<void>;
488
+ globalState?: GlobalState;
433
489
  }
434
490
  export class RectanglePropertyGridComponent extends React.Component<IRectanglePropertyGridComponentProps> {
435
491
  constructor(props: IRectanglePropertyGridComponentProps);
@@ -444,10 +500,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
444
500
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
445
501
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
446
502
  import { ScrollViewer } from "@babylonjs/gui/2D/controls/scrollViewers/scrollViewer";
503
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
447
504
  interface IScrollViewerPropertyGridComponentProps {
448
505
  scrollViewers: ScrollViewer[];
449
506
  lockObject: LockObject;
450
507
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
508
+ onFontsParsedObservable?: Observable<void>;
509
+ globalState?: GlobalState;
451
510
  }
452
511
  export class ScrollViewerPropertyGridComponent extends React.Component<IScrollViewerPropertyGridComponentProps> {
453
512
  constructor(props: IScrollViewerPropertyGridComponentProps);
@@ -462,10 +521,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
462
521
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
463
522
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
464
523
  import { Slider } from "@babylonjs/gui/2D/controls/sliders/slider";
524
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
465
525
  interface ISliderGenericPropertyGridComponentProps {
466
526
  sliders: Slider[];
467
527
  lockObject: LockObject;
468
528
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
529
+ onFontsParsedObservable?: Observable<void>;
530
+ globalState?: GlobalState;
469
531
  }
470
532
  export class SliderGenericPropertyGridComponent extends React.Component<ISliderGenericPropertyGridComponentProps> {
471
533
  constructor(props: ISliderGenericPropertyGridComponentProps);
@@ -499,10 +561,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
499
561
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
500
562
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
501
563
  import { StackPanel } from "@babylonjs/gui/2D/controls/stackPanel";
564
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
502
565
  interface IStackPanelPropertyGridComponentProps {
503
566
  stackPanels: StackPanel[];
504
567
  lockObject: LockObject;
505
568
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
569
+ onFontsParsedObservable?: Observable<void>;
570
+ globalState?: GlobalState;
506
571
  }
507
572
  export class StackPanelPropertyGridComponent extends React.Component<IStackPanelPropertyGridComponentProps> {
508
573
  constructor(props: IStackPanelPropertyGridComponentProps);
@@ -517,10 +582,13 @@ import { Observable } from "@babylonjs/core/Misc/observable";
517
582
  import { PropertyChangedEvent } from "@babylonjs/gui-editor/propertyChangedEvent";
518
583
  import { TextBlock } from "@babylonjs/gui/2D/controls/textBlock";
519
584
  import { LockObject } from "@babylonjs/gui-editor/tabs/propertyGrids/lockObject";
585
+ import { GlobalState } from "@babylonjs/gui-editor/globalState";
520
586
  interface ITextBlockPropertyGridComponentProps {
521
587
  textBlocks: TextBlock[];
522
588
  lockObject: LockObject;
523
589
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
590
+ onFontsParsedObservable?: Observable<void>;
591
+ globalState?: GlobalState;
524
592
  }
525
593
  export class TextBlockPropertyGridComponent extends React.Component<ITextBlockPropertyGridComponentProps> {
526
594
  constructor(props: ITextBlockPropertyGridComponentProps);
@@ -847,7 +915,7 @@ export class CoordinateHelper {
847
915
  static NodeToRTTSpace(node: Control, x: number, y: number, reference?: Vector2, storedValues?: Rect, stopAt?: Control): Vector2;
848
916
  static RttToLocalNodeSpace(node: Control, x: number, y: number, reference?: Vector2, storedValues?: Rect): Vector2;
849
917
  static RttToCanvasSpace(x: number, y: number): Vector2;
850
- static MousePointerToRTTSpace(node: Control, x?: number, y?: number): Vector2;
918
+ static MousePointerToRTTSpace(_node?: Control, x?: number, y?: number): Vector2;
851
919
  private static _ResetMatrixArray;
852
920
  static ComputeLocalBounds(node: Control): Rect;
853
921
  /**
@@ -982,6 +1050,7 @@ export enum ConstraintDirection {
982
1050
  Y = 3
983
1051
  }
984
1052
  export class WorkbenchComponent extends React.Component<IWorkbenchComponentProps> {
1053
+ private _mouseDown;
985
1054
  private _rootContainer;
986
1055
  private _setConstraintDirection;
987
1056
  private _mouseStartPoint;
@@ -994,12 +1063,14 @@ export class WorkbenchComponent extends React.Component<IWorkbenchComponentProps
994
1063
  private _guiRenderObserver;
995
1064
  private _doubleClick;
996
1065
  _liveGuiTextureRerender: boolean;
1066
+ private _currLeft;
1067
+ private _currTop;
997
1068
  private _controlsHit;
998
1069
  private _pointerTravelDistance;
999
1070
  private _processSelectionOnUp;
1000
1071
  private _visibleRegionContainer;
1001
- private _currLeft;
1002
- private _currTop;
1072
+ private static _addedFonts;
1073
+ static get addedFonts(): string[];
1003
1074
  get visibleRegionContainer(): Container;
1004
1075
  private _panAndZoomContainer;
1005
1076
  get panAndZoomContainer(): Container;
@@ -1065,6 +1136,7 @@ export class WorkbenchComponent extends React.Component<IWorkbenchComponentProps
1065
1136
  panning(): void;
1066
1137
  moveControls(moveHorizontal: boolean, amount: number): void;
1067
1138
  zoomWheel(event: React.WheelEvent): void;
1139
+ zoomDrag(event: React.MouseEvent): void;
1068
1140
  zooming(delta: number): void;
1069
1141
  zeroIfClose(vec: Vector3): void;
1070
1142
  render(): JSX.Element;
@@ -1127,10 +1199,13 @@ export class GlobalState {
1127
1199
  workbench: WorkbenchComponent;
1128
1200
  onPropertyChangedObservable: Observable<PropertyChangedEvent>;
1129
1201
  private _tool;
1202
+ private _usePrevSelected;
1130
1203
  private _prevTool;
1131
1204
  onToolChangeObservable: Observable<void>;
1132
1205
  get tool(): GUIEditorTool;
1133
1206
  set tool(newTool: GUIEditorTool);
1207
+ get usePrevSelected(): boolean;
1208
+ set usePrevSelected(val: boolean);
1134
1209
  restorePreviousTool(): void;
1135
1210
  onFitControlsToWindowObservable: Observable<void>;
1136
1211
  onReframeWindowObservable: Observable<void>;
@@ -1148,6 +1223,7 @@ export class GlobalState {
1148
1223
  onGizmoUpdateRequireObservable: Observable<void>;
1149
1224
  onArtBoardUpdateRequiredObservable: Observable<void>;
1150
1225
  onBackgroundColorChangeObservable: Observable<void>;
1226
+ onFontsParsedObservable: Observable<void>;
1151
1227
  onPointerMoveObservable: Observable<import("react").PointerEvent<HTMLCanvasElement>>;
1152
1228
  onPointerUpObservable: Observable<Nullable<PointerEvent | import("react").PointerEvent<HTMLCanvasElement>>>;
1153
1229
  draggedControl: Nullable<Control>;
@@ -1462,6 +1538,65 @@ export class HexColor extends React.Component<IHexColorProps, {
1462
1538
  render(): JSX.Element;
1463
1539
  }
1464
1540
 
1541
+ }
1542
+ declare module "@babylonjs/gui-editor/components/bars/CommandBarComponent" {
1543
+ import * as React from "react";
1544
+ export interface ICommandBarComponentProps {
1545
+ onSaveButtonClicked?: () => void;
1546
+ onSaveToSnippetButtonClicked?: () => void;
1547
+ onLoadFromSnippetButtonClicked?: () => void;
1548
+ onHelpButtonClicked?: () => void;
1549
+ onGiveFeedbackButtonClicked?: () => void;
1550
+ onSelectButtonClicked?: () => void;
1551
+ onPanButtonClicked?: () => void;
1552
+ onZoomButtonClicked?: () => void;
1553
+ onFitButtonClicked?: () => void;
1554
+ }
1555
+ export const CommandBarComponent: React.FC<ICommandBarComponentProps>;
1556
+
1557
+ }
1558
+ declare module "@babylonjs/gui-editor/components/bars/CommandButtonComponent" {
1559
+ import * as React from "react";
1560
+ export interface ICommandButtonComponentProps {
1561
+ tooltip: string;
1562
+ shortcut?: string;
1563
+ icon: string;
1564
+ iconLabel?: string;
1565
+ isActive: boolean;
1566
+ onClick: () => void;
1567
+ disabled?: boolean;
1568
+ }
1569
+ export const CommandButtonComponent: React.FC<ICommandButtonComponentProps>;
1570
+
1571
+ }
1572
+ declare module "@babylonjs/gui-editor/components/bars/CommandDropdownComponent" {
1573
+ import * as React from "react";
1574
+ interface ICommandDropdownComponentProps {
1575
+ icon?: string;
1576
+ tooltip: string;
1577
+ defaultValue?: string;
1578
+ items: {
1579
+ label: string;
1580
+ icon?: string;
1581
+ fileButton?: boolean;
1582
+ onClick?: () => void;
1583
+ onCheck?: (value: boolean) => void;
1584
+ storeKey?: string;
1585
+ isActive?: boolean;
1586
+ defaultValue?: boolean | string;
1587
+ subItems?: string[];
1588
+ }[];
1589
+ toRight?: boolean;
1590
+ }
1591
+ export class CommandDropdownComponent extends React.Component<ICommandDropdownComponentProps, {
1592
+ isExpanded: boolean;
1593
+ activeState: string;
1594
+ }> {
1595
+ constructor(props: ICommandDropdownComponentProps);
1596
+ render(): JSX.Element;
1597
+ }
1598
+ export {};
1599
+
1465
1600
  }
1466
1601
  declare module "@babylonjs/gui-editor/components/Button" {
1467
1602
  /// <reference types="react" />
@@ -1478,6 +1613,7 @@ export const Button: React.FC<ButtonProps>;
1478
1613
  }
1479
1614
  declare module "@babylonjs/gui-editor/components/classNames" {
1480
1615
  export function ClassNames(names: any, styleObject: any): string;
1616
+ export function JoinClassNames(styleObject: any, ...names: string[]): string;
1481
1617
 
1482
1618
  }
1483
1619
  declare module "@babylonjs/gui-editor/components/Icon" {
@@ -1498,6 +1634,25 @@ export type LabelProps = {
1498
1634
  };
1499
1635
  export const Label: React.FC<LabelProps>;
1500
1636
 
1637
+ }
1638
+ declare module "@babylonjs/gui-editor/components/lines/FileButtonLineComponent" {
1639
+ import * as React from "react";
1640
+ export interface IFileButtonLineComponentProps {
1641
+ label: string;
1642
+ onClick: (file: File) => void;
1643
+ accept: string;
1644
+ icon?: string;
1645
+ iconLabel?: string;
1646
+ }
1647
+ export class FileButtonLineComponent extends React.Component<IFileButtonLineComponentProps> {
1648
+ private static _IDGenerator;
1649
+ private _id;
1650
+ private _uploadInputRef;
1651
+ constructor(props: IFileButtonLineComponentProps);
1652
+ onChange(evt: any): void;
1653
+ render(): JSX.Element;
1654
+ }
1655
+
1501
1656
  }
1502
1657
  declare module "@babylonjs/gui-editor/components/MessageDialog" {
1503
1658
  import * as React from "react";
@@ -2063,9 +2218,14 @@ export interface IOptionsLineComponentProps {
2063
2218
  target: any;
2064
2219
  propertyName: string;
2065
2220
  options: IInspectableOptions[];
2221
+ addInput?: boolean;
2066
2222
  noDirectUpdate?: boolean;
2067
2223
  onSelect?: (value: number | string) => void;
2068
2224
  extractValue?: (target: any) => number | string;
2225
+ addVal?: (newVal: {
2226
+ label: string;
2227
+ value: number;
2228
+ }, prevVal: number) => void;
2069
2229
  onPropertyChangedObservable?: Observable<PropertyChangedEvent>;
2070
2230
  allowNullValue?: boolean;
2071
2231
  icon?: string;
@@ -2073,9 +2233,13 @@ export interface IOptionsLineComponentProps {
2073
2233
  className?: string;
2074
2234
  valuesAreStrings?: boolean;
2075
2235
  defaultIfNull?: number;
2236
+ fromFontDropdown?: boolean;
2237
+ valueProp?: number;
2238
+ fallbackValue?: number;
2076
2239
  }
2077
2240
  export class OptionsLineComponent extends React.Component<IOptionsLineComponentProps, {
2078
2241
  value: number | string;
2242
+ addCustom: boolean;
2079
2243
  }> {
2080
2244
  private _localChange;
2081
2245
  private _remapValueIn;
@@ -2084,10 +2248,12 @@ export class OptionsLineComponent extends React.Component<IOptionsLineComponentP
2084
2248
  constructor(props: IOptionsLineComponentProps);
2085
2249
  shouldComponentUpdate(nextProps: IOptionsLineComponentProps, nextState: {
2086
2250
  value: number;
2251
+ addCustom: boolean;
2087
2252
  }): boolean;
2088
2253
  raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2089
2254
  setValue(value: string | number): void;
2090
2255
  updateValue(valueString: string): void;
2256
+ updateCustomValue(): void;
2091
2257
  render(): JSX.Element;
2092
2258
  }
2093
2259
 
@@ -3091,6 +3257,24 @@ export class PropertyChangedEvent {
3091
3257
  allowNullValue?: boolean;
3092
3258
  }
3093
3259
 
3260
+ }
3261
+ declare module "@babylonjs/gui-editor/stories/bars/CommandBarComponent.stories" {
3262
+ /// <reference types="react" />
3263
+ const _default: {
3264
+
3265
+ };
3266
+ export default _default;
3267
+ export const Default: {};
3268
+
3269
+ }
3270
+ declare module "@babylonjs/gui-editor/stories/bars/CommandButtonComponent.stories" {
3271
+ /// <reference types="react" />
3272
+ const _default: {
3273
+
3274
+ };
3275
+ export default _default;
3276
+ export const Default: {};
3277
+
3094
3278
  }
3095
3279
  declare module "@babylonjs/gui-editor/stories/Button.stories" {
3096
3280
  /// <reference types="react" />
@@ -3127,6 +3311,15 @@ const _default: {
3127
3311
  export default _default;
3128
3312
  export const Default: any;
3129
3313
 
3314
+ }
3315
+ declare module "@babylonjs/gui-editor/stories/lines/FileButtonLineComponent.stories" {
3316
+ import { FileButtonLineComponent } from "@babylonjs/gui-editor/components/lines/FileButtonLineComponent";
3317
+ const _default: {
3318
+ component: typeof FileButtonLineComponent;
3319
+ };
3320
+ export default _default;
3321
+ export const Default: {};
3322
+
3130
3323
  }
3131
3324
  declare module "@babylonjs/gui-editor/stories/MessageDialog.stories" {
3132
3325
  /// <reference types="react" />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/gui-editor",
3
- "version": "5.24.0",
3
+ "version": "5.26.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": "^5.24.0",
28
- "@babylonjs/gui": "^5.24.0",
27
+ "@babylonjs/core": "^5.26.0",
28
+ "@babylonjs/gui": "^5.26.0",
29
29
  "react": "^17.0.2",
30
30
  "react-dom": "^17.0.2",
31
31
  "rimraf": "^3.0.2",