babylonjs-node-render-graph-editor 8.12.1 → 8.13.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.
@@ -2447,7 +2447,9 @@ export class Vector3LineComponent extends React.Component<IVector3LineComponentP
2447
2447
  updateStateX(value: number): void;
2448
2448
  updateStateY(value: number): void;
2449
2449
  updateStateZ(value: number): void;
2450
- onCopyClick(): void;
2450
+ onCopyClick(): string;
2451
+
2452
+
2451
2453
 
2452
2454
  }
2453
2455
  export {};
@@ -2564,6 +2566,9 @@ interface ITextLineComponentProps {
2564
2566
  export class TextLineComponent extends React.Component<ITextLineComponentProps> {
2565
2567
  constructor(props: ITextLineComponentProps);
2566
2568
  onLink(): void;
2569
+ copyFn(): (() => string) | undefined;
2570
+
2571
+
2567
2572
 
2568
2573
 
2569
2574
  }
@@ -2571,7 +2576,8 @@ export {};
2571
2576
 
2572
2577
  }
2573
2578
  declare module "babylonjs-node-render-graph-editor/lines/textInputLineComponent" {
2574
- import * as React from "react";
2579
+ import { ReactNode, KeyboardEvent } from "react";
2580
+ import { Component } from "react";
2575
2581
  import { Observable } from "babylonjs/Misc/observable";
2576
2582
  import { PropertyChangedEvent } from "babylonjs-node-render-graph-editor/propertyChangedEvent";
2577
2583
  import { LockObject } from "babylonjs-node-render-graph-editor/tabs/propertyGrids/lockObject";
@@ -2596,14 +2602,14 @@ export interface ITextInputLineComponentProps {
2596
2602
  min?: number;
2597
2603
  max?: number;
2598
2604
  placeholder?: string;
2599
- unit?: React.ReactNode;
2605
+ unit?: ReactNode;
2600
2606
  validator?: (value: string) => boolean;
2601
2607
  multilines?: boolean;
2602
2608
  throttlePropertyChangedNotification?: boolean;
2603
2609
  throttlePropertyChangedNotificationDelay?: number;
2604
2610
  disabled?: boolean;
2605
2611
  }
2606
- export class TextInputLineComponent extends React.Component<ITextInputLineComponentProps, {
2612
+ export class TextInputLineComponent extends Component<ITextInputLineComponentProps, {
2607
2613
  value: string;
2608
2614
  dragging: boolean;
2609
2615
  }> {
@@ -2618,7 +2624,9 @@ export class TextInputLineComponent extends React.Component<ITextInputLineCompon
2618
2624
  getCurrentNumericValue(value: string): number;
2619
2625
  updateValue(value: string, valueToValidate?: string): void;
2620
2626
  incrementValue(amount: number): void;
2621
- onKeyDown(event: React.KeyboardEvent): void;
2627
+ onKeyDown(event: KeyboardEvent): void;
2628
+
2629
+
2622
2630
 
2623
2631
  }
2624
2632
 
@@ -2675,6 +2683,8 @@ export class SliderLineComponent extends React.Component<ISliderLineComponentPro
2675
2683
  prepareDataToRead(value: number): number;
2676
2684
  onCopyClick(): void;
2677
2685
 
2686
+
2687
+
2678
2688
  }
2679
2689
  export {};
2680
2690
 
@@ -2739,7 +2749,9 @@ export class OptionsLine extends React.Component<IOptionsLineProps, {
2739
2749
  raiseOnPropertyChanged(newValue: number, previousValue: number): void;
2740
2750
  setValue(value: string | number): void;
2741
2751
  updateValue(valueString: string): void;
2742
- onCopyClick(): void;
2752
+ onCopyClickStr(): string;
2753
+ private _renderFluent;
2754
+ private _renderOriginal;
2743
2755
 
2744
2756
  }
2745
2757
 
@@ -3100,6 +3112,8 @@ export class FileButtonLine extends React.Component<IFileButtonLineProps> {
3100
3112
  constructor(props: IFileButtonLineProps);
3101
3113
  onChange(evt: any): void;
3102
3114
 
3115
+
3116
+
3103
3117
  }
3104
3118
  export {};
3105
3119
 
@@ -3203,6 +3217,8 @@ export class ColorLine extends React.Component<IColorLineProps, IColorLineCompon
3203
3217
  private _toColor3;
3204
3218
  onCopyClick(): void;
3205
3219
 
3220
+
3221
+
3206
3222
  }
3207
3223
  export {};
3208
3224
 
@@ -3286,6 +3302,8 @@ export class CheckBoxLineComponent extends React.Component<ICheckBoxLineComponen
3286
3302
  onChange(): void;
3287
3303
  onCopyClick(): void;
3288
3304
 
3305
+
3306
+
3289
3307
  }
3290
3308
 
3291
3309
  }
@@ -3301,6 +3319,8 @@ export interface IButtonLineComponentProps {
3301
3319
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
3302
3320
  constructor(props: IButtonLineComponentProps);
3303
3321
 
3322
+
3323
+
3304
3324
  }
3305
3325
 
3306
3326
  }
@@ -3317,6 +3337,432 @@ export class BooleanLineComponent extends React.Component<IBooleanLineComponentP
3317
3337
 
3318
3338
  }
3319
3339
 
3340
+ }
3341
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/textarea" {
3342
+
3343
+ import { FunctionComponent } from "react";
3344
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3345
+ export type TextareaProps = BaseComponentProps<string> & {
3346
+ placeholder?: string;
3347
+ };
3348
+ /**
3349
+ * This is a texarea box that stops propagation of change/keydown events
3350
+ * @param props
3351
+ * @returns
3352
+ */
3353
+ export const Textarea: FunctionComponent<any>;
3354
+
3355
+ }
3356
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/syncedSlider" {
3357
+ import { FunctionComponent } from "react";
3358
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3359
+ export type SyncedSliderProps = BaseComponentProps<number> & {
3360
+ min?: number;
3361
+ max?: number;
3362
+ step?: number;
3363
+ };
3364
+ /**
3365
+ * Component which synchronizes a slider and an input field, allowing the user to change a value using either control
3366
+ * @param props
3367
+ * @returns SyncedSlider component
3368
+ */
3369
+ export const SyncedSliderInput: FunctionComponent<SyncedSliderProps>;
3370
+
3371
+ }
3372
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/switch" {
3373
+ import { FunctionComponent } from "react";
3374
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3375
+ export type SwitchProps = BaseComponentProps<boolean>;
3376
+ /**
3377
+ * This is a primitive fluent boolean switch component whose only knowledge is the shared styling across all tools
3378
+ * @param props
3379
+ * @returns Switch component
3380
+ */
3381
+ export const Switch: FunctionComponent<SwitchProps>;
3382
+
3383
+ }
3384
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/spinButton" {
3385
+ import { FunctionComponent } from "react";
3386
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3387
+ export type SpinButtonProps = BaseComponentProps<number>;
3388
+ export const SpinButton: FunctionComponent<SpinButtonProps>;
3389
+
3390
+ }
3391
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/link" {
3392
+
3393
+
3394
+ }
3395
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/input" {
3396
+ import { FunctionComponent } from "react";
3397
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3398
+ export type InputProps<T extends string | number> = BaseComponentProps<T> & {
3399
+ step?: number;
3400
+ placeholder?: string;
3401
+ min?: number;
3402
+ max?: number;
3403
+ };
3404
+ /**
3405
+ * This is an input text box that stops propagation of change events and sets its width based on the type of input (text or number)
3406
+ * @param props
3407
+ * @returns
3408
+ */
3409
+ export const Input: FunctionComponent<InputProps<string | number>>;
3410
+
3411
+ }
3412
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/dropdown" {
3413
+ import { FunctionComponent } from "react";
3414
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3415
+ export type AcceptedDropdownValue = string | number;
3416
+ export type DropdownOption = {
3417
+ /**
3418
+ * Defines the visible part of the option
3419
+ */
3420
+ label: string;
3421
+ /**
3422
+ * Defines the value part of the option
3423
+ */
3424
+ value: AcceptedDropdownValue;
3425
+ };
3426
+ export type DropdownProps = BaseComponentProps<AcceptedDropdownValue | undefined> & {
3427
+ options: DropdownOption[];
3428
+ includeUndefined?: boolean;
3429
+ };
3430
+ /**
3431
+ * Renders a fluent UI dropdown component for the options passed in, and an additional 'Not Defined' option if includeUndefined is set to true
3432
+ * @param props
3433
+ * @returns dropdown component
3434
+ */
3435
+ export const Dropdown: FunctionComponent<DropdownProps>;
3436
+
3437
+ }
3438
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/colorPicker" {
3439
+ import { FunctionComponent } from "react";
3440
+ import { Color3, Color4 } from "babylonjs/Maths/math.color";
3441
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3442
+ export type ColorPickerProps<C extends Color3 | Color4> = {
3443
+ isLinearMode?: boolean;
3444
+ } & BaseComponentProps<C>;
3445
+ export const ColorPickerPopup: FunctionComponent<ColorPickerProps<Color3 | Color4>>;
3446
+ type HsvKey = "h" | "s" | "v";
3447
+ export type InputHexProps = BaseComponentProps<Color3 | Color4> & {
3448
+ label?: string;
3449
+ linearHex?: boolean;
3450
+ isLinearMode?: boolean;
3451
+ };
3452
+ /**
3453
+ * Component which displays the passed in color's HEX value, either in linearSpace (if linearHex is true) or in gamma space
3454
+ * When the hex color is changed by user, component calculates the new Color3/4 value and calls onChange
3455
+ *
3456
+ * Component uses the isLinearMode boolean to display an informative label regarding linear / gamma space
3457
+ * @param props - The properties for the InputHexField component.
3458
+ * @returns
3459
+ */
3460
+ export const InputHexField: FunctionComponent<InputHexProps>;
3461
+ type InputHsvFieldProps = {
3462
+ color: Color3 | Color4;
3463
+ label: string;
3464
+ hsvKey: HsvKey;
3465
+ onChange: (color: Color3 | Color4) => void;
3466
+ max: number;
3467
+ scale?: number;
3468
+ };
3469
+ /**
3470
+ * In the HSV (Hue, Saturation, Value) color model, Hue (H) ranges from 0 to 360 degrees, representing the color's position on the color wheel.
3471
+ * Saturation (S) ranges from 0 to 100%, indicating the intensity or purity of the color, with 0 being shades of gray and 100 being a fully saturated color.
3472
+ * Value (V) ranges from 0 to 100%, representing the brightness of the color, with 0 being black and 100 being the brightest.
3473
+ * @param props - The properties for the InputHsvField component.
3474
+ */
3475
+ export const InputHsvField: FunctionComponent<InputHsvFieldProps>;
3476
+ export {};
3477
+
3478
+ }
3479
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/checkbox" {
3480
+ import { FunctionComponent } from "react";
3481
+ import { BaseComponentProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3482
+ export type CheckboxProps = BaseComponentProps<boolean>;
3483
+ /**
3484
+ * This is a primitive fluent checkbox that can both read and write checked state
3485
+ * @param props
3486
+ * @returns Checkbox component
3487
+ */
3488
+ export const Checkbox: FunctionComponent<CheckboxProps>;
3489
+
3490
+ }
3491
+ declare module "babylonjs-node-render-graph-editor/fluent/primitives/accordion" {
3492
+ import { FunctionComponent, PropsWithChildren } from "react";
3493
+ export type AccordionSectionProps = {
3494
+ title: string;
3495
+ };
3496
+ export const AccordionSection: FunctionComponent<PropsWithChildren<AccordionSectionProps>>;
3497
+ export const Accordion: FunctionComponent<PropsWithChildren>;
3498
+
3499
+ }
3500
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/vectorPropertyLine" {
3501
+ import { FunctionComponent } from "react";
3502
+ import { BaseComponentProps, PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3503
+ import { Vector4 } from "babylonjs/Maths/math.vector";
3504
+ import { Vector3 } from "babylonjs/Maths/math.vector";
3505
+ export type VectorPropertyLineProps<V extends Vector3 | Vector4> = BaseComponentProps<V> & PropertyLineProps & {
3506
+ /**
3507
+ * If passed, all sliders will use this for the min value
3508
+ */
3509
+ min?: number;
3510
+ /**
3511
+ * If passed, all sliders will use this for the max value
3512
+ */
3513
+ max?: number;
3514
+ /**
3515
+ * If passed, the UX will use the conversion functions to display/update values
3516
+ */
3517
+ valueConverter?: {
3518
+ /**
3519
+ * Will call from(val) before displaying in the UX
3520
+ */
3521
+ from: (val: number) => number;
3522
+ /**
3523
+ * Will call to(val) before calling onChange
3524
+ */
3525
+ to: (val: number) => number;
3526
+ };
3527
+ };
3528
+ type RotationVectorPropertyLineProps = VectorPropertyLineProps<Vector3> & {
3529
+ /**
3530
+ * Display angles as degrees instead of radians
3531
+ */
3532
+ useDegrees?: boolean;
3533
+ };
3534
+ export const RotationVectorPropertyLine: FunctionComponent<RotationVectorPropertyLineProps>;
3535
+ export const Vector3PropertyLine: FunctionComponent<VectorPropertyLineProps<Vector3>>;
3536
+ export const Vector4PropertyLine: FunctionComponent<VectorPropertyLineProps<Vector4>>;
3537
+ export {};
3538
+
3539
+ }
3540
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/textPropertyLine" {
3541
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3542
+ import { FunctionComponent } from "react";
3543
+ type TextProps = {
3544
+ value: string;
3545
+ tooltip?: string;
3546
+ };
3547
+ /**
3548
+ * Wraps text in a property line
3549
+ * @param props - PropertyLineProps and TextProps
3550
+ * @returns property-line wrapped text
3551
+ */
3552
+ export const TextPropertyLine: FunctionComponent<PropertyLineProps & TextProps>;
3553
+ export {};
3554
+
3555
+ }
3556
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/syncedSliderLine" {
3557
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3558
+ import { SyncedSliderProps } from "babylonjs-node-render-graph-editor/fluent/primitives/syncedSlider";
3559
+ import { FunctionComponent } from "react";
3560
+ type SyncedSliderLineProps = SyncedSliderProps & PropertyLineProps;
3561
+ /**
3562
+ * Renders a simple wrapper around the SyncedSliderInput
3563
+ * @param props
3564
+ * @returns
3565
+ */
3566
+ export const SyncedSliderLine: FunctionComponent<SyncedSliderLineProps>;
3567
+ export {};
3568
+
3569
+ }
3570
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/switchPropertyLine" {
3571
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3572
+ import { FunctionComponent } from "react";
3573
+ import { SwitchProps } from "babylonjs-node-render-graph-editor/fluent/primitives/switch";
3574
+ /**
3575
+ * Wraps a switch in a property line
3576
+ * @param props - The properties for the switch and property line
3577
+ * @returns A React element representing the property line with a switch
3578
+ */
3579
+ export const SwitchPropertyLine: FunctionComponent<PropertyLineProps & SwitchProps>;
3580
+
3581
+ }
3582
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine" {
3583
+ import { FunctionComponent } from "react";
3584
+ export type PropertyLineProps = {
3585
+ /**
3586
+ * The name of the property to display in the property line.
3587
+ */
3588
+ label: string;
3589
+ /**
3590
+ * Optional description for the property, shown on hover of the info icon
3591
+ */
3592
+ description?: string;
3593
+ /**
3594
+ * Optional function returning a string to copy to clipboard.
3595
+ */
3596
+ onCopy?: () => string;
3597
+ /**
3598
+ * If supplied, an 'expand' icon will be shown which, when clicked, renders this component within the property line.
3599
+ */
3600
+ expandedContent?: JSX.Element;
3601
+ /**
3602
+ * Link to the documentation for this property, available from the info icon either linked from the description (if provided) or defalt 'docs' text
3603
+ */
3604
+ docLink?: string;
3605
+ };
3606
+ export const LineContainer: import("react").ForwardRefExoticComponent<{
3607
+ children?: import("react").ReactNode | undefined;
3608
+ } & import("react").RefAttributes<HTMLDivElement>>;
3609
+ export type BaseComponentProps<T> = {
3610
+ /**
3611
+ * The value of the property to be displayed and modified.
3612
+ */
3613
+ value: T;
3614
+ /**
3615
+ * Callback function to handle changes to the value
3616
+ */
3617
+ onChange: (value: T) => void;
3618
+ /**
3619
+ * Optional flag to disable the component, preventing any interaction.
3620
+ */
3621
+ disabled?: boolean;
3622
+ /**
3623
+ * Optional class name to apply custom styles to the component.
3624
+ */
3625
+ className?: string;
3626
+ };
3627
+ /**
3628
+ * A reusable component that renders a property line with a label and child content, and an optional description, copy button, and expandable section.
3629
+ *
3630
+ * @param props - The properties for the PropertyLine component.
3631
+ * @returns A React element representing the property line.
3632
+ *
3633
+ */
3634
+ export const PropertyLine: import("react").ForwardRefExoticComponent<PropertyLineProps & {
3635
+ children?: import("react").ReactNode | undefined;
3636
+ } & import("react").RefAttributes<HTMLDivElement>>;
3637
+ export const PlaceholderPropertyLine: FunctionComponent<BaseComponentProps<any> & PropertyLineProps>;
3638
+
3639
+ }
3640
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/linkPropertyLine" {
3641
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3642
+ import { FunctionComponent } from "react";
3643
+ type LinkProps = {
3644
+ value: string;
3645
+ tooltip?: string;
3646
+ onLink?: () => void;
3647
+ url?: string;
3648
+ };
3649
+ /**
3650
+ * Wraps a link in a property line
3651
+ * @param props - PropertyLineProps and LinkProps
3652
+ * @returns property-line wrapped link
3653
+ */
3654
+ export const LinkPropertyLine: FunctionComponent<PropertyLineProps & LinkProps>;
3655
+ export {};
3656
+
3657
+ }
3658
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/inputPropertyLine" {
3659
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3660
+ import { FunctionComponent } from "react";
3661
+ import { InputProps } from "babylonjs-node-render-graph-editor/fluent/primitives/input";
3662
+ export const TextInputPropertyLine: FunctionComponent<InputProps<string> & PropertyLineProps>;
3663
+ export const FloatInputPropertyLine: FunctionComponent<InputProps<number> & PropertyLineProps>;
3664
+
3665
+ }
3666
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/hexLineComponent" {
3667
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3668
+ import { FunctionComponent } from "react";
3669
+ import { InputHexProps } from "babylonjs-node-render-graph-editor/fluent/primitives/colorPicker";
3670
+ /**
3671
+ * Wraps a hex input in a property line
3672
+ * @param props - PropertyLineProps and InputHexProps
3673
+ * @returns property-line wrapped input hex component
3674
+ */
3675
+ export const HexPropertyLine: FunctionComponent<InputHexProps & PropertyLineProps>;
3676
+
3677
+ }
3678
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/fluentToolWrapper" {
3679
+ import { PropsWithChildren, FunctionComponent } from "react";
3680
+
3681
+ export type ToolHostProps = {
3682
+ /**
3683
+ * Allows host to pass in a theme
3684
+ */
3685
+ customTheme?: any;
3686
+ /**
3687
+ * Can be set to true to disable the copy button in the tool's property lines. Default is false (copy enabled)
3688
+ */
3689
+ disableCopy?: boolean;
3690
+ };
3691
+ export const ToolContext: import("react").Context<{
3692
+ readonly useFluent: boolean;
3693
+ readonly disableCopy: boolean;
3694
+ }>;
3695
+ /**
3696
+ * For tools which are ready to move over the fluent, wrap the root of the tool (or the panel which you want fluentized) with this component
3697
+ * Today we will only enable fluent if the URL has the `newUX` query parameter is truthy
3698
+ * @param props
3699
+ * @returns
3700
+ */
3701
+ export const FluentToolWrapper: FunctionComponent<PropsWithChildren<ToolHostProps>>;
3702
+
3703
+ }
3704
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/fileUploadLine" {
3705
+ import { FunctionComponent } from "react";
3706
+ import { ButtonLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/buttonLine";
3707
+ type FileUploadLineProps = Omit<ButtonLineProps, "onClick"> & {
3708
+ onClick: (file: File) => void;
3709
+ accept: string;
3710
+ };
3711
+ export const FileUploadLine: FunctionComponent<FileUploadLineProps>;
3712
+ export {};
3713
+
3714
+ }
3715
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/dropdownPropertyLine" {
3716
+ import { DropdownProps } from "babylonjs-node-render-graph-editor/fluent/primitives/dropdown";
3717
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3718
+ import { FunctionComponent } from "react";
3719
+ /**
3720
+ * Wraps a dropdown in a property line
3721
+ * @param props - PropertyLineProps and DropdownProps
3722
+ * @returns property-line wrapped dropdown
3723
+ */
3724
+ export const DropdownPropertyLine: FunctionComponent<PropertyLineProps & DropdownProps>;
3725
+
3726
+ }
3727
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/colorPropertyLine" {
3728
+ import { FunctionComponent } from "react";
3729
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3730
+ import { Color3 } from "babylonjs/Maths/math.color";
3731
+ import { Color4 } from "babylonjs/Maths/math.color";
3732
+ import { ColorPickerProps } from "babylonjs-node-render-graph-editor/fluent/primitives/colorPicker";
3733
+ export type ColorPropertyLineProps = ColorPickerProps<Color3 | Color4> & PropertyLineProps;
3734
+ export const Color3PropertyLine: FunctionComponent<ColorPickerProps<Color3> & PropertyLineProps>;
3735
+ export const Color4PropertyLine: FunctionComponent<ColorPickerProps<Color4> & PropertyLineProps>;
3736
+
3737
+ }
3738
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/checkboxPropertyLine" {
3739
+ import { PropertyLineProps } from "babylonjs-node-render-graph-editor/fluent/hoc/propertyLine";
3740
+ import { FunctionComponent } from "react";
3741
+ import { CheckboxProps } from "babylonjs-node-render-graph-editor/fluent/primitives/checkbox";
3742
+ /**
3743
+ * Wraps a checkbox in a property line
3744
+ * @param props - PropertyLineProps and CheckboxProps
3745
+ * @returns property-line wrapped checkbox
3746
+ */
3747
+ export const CheckboxPropertyLine: FunctionComponent<PropertyLineProps & CheckboxProps>;
3748
+
3749
+ }
3750
+ declare module "babylonjs-node-render-graph-editor/fluent/hoc/buttonLine" {
3751
+ import { FunctionComponent } from "react";
3752
+ export type ButtonLineProps = {
3753
+ label: string;
3754
+ onClick: () => void;
3755
+ disabled?: boolean;
3756
+ icon?: string;
3757
+ title?: string;
3758
+ };
3759
+ /**
3760
+ * Wraps a button with a label in a line container
3761
+ * @param props Button props plus a label
3762
+ * @returns A button inside a line
3763
+ */
3764
+ export const ButtonLine: FunctionComponent<ButtonLineProps>;
3765
+
3320
3766
  }
3321
3767
  declare module "babylonjs-node-render-graph-editor/components/classNames" {
3322
3768
  export function ClassNames(names: any, styleObject: any): string;
@@ -6737,7 +7183,9 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6737
7183
  updateStateX(value: number): void;
6738
7184
  updateStateY(value: number): void;
6739
7185
  updateStateZ(value: number): void;
6740
- onCopyClick(): void;
7186
+ onCopyClick(): string;
7187
+ renderFluent(): import("react/jsx-runtime").JSX.Element;
7188
+ renderOriginal(): import("react/jsx-runtime").JSX.Element;
6741
7189
  render(): import("react/jsx-runtime").JSX.Element;
6742
7190
  }
6743
7191
 
@@ -6869,7 +7317,10 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6869
7317
  export class TextLineComponent extends React.Component<ITextLineComponentProps> {
6870
7318
  constructor(props: ITextLineComponentProps);
6871
7319
  onLink(): void;
6872
- renderContent(): import("react/jsx-runtime").JSX.Element | null;
7320
+ copyFn(): (() => string) | undefined;
7321
+ renderContent(isLink: boolean, tooltip: string): import("react/jsx-runtime").JSX.Element | null;
7322
+ renderOriginal(isLink: boolean, tooltip: string): import("react/jsx-runtime").JSX.Element;
7323
+ renderFluent(isLink: boolean, tooltip: string): import("react/jsx-runtime").JSX.Element;
6873
7324
  render(): import("react/jsx-runtime").JSX.Element;
6874
7325
  }
6875
7326
 
@@ -6925,6 +7376,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6925
7376
  updateValue(value: string, valueToValidate?: string): void;
6926
7377
  incrementValue(amount: number): void;
6927
7378
  onKeyDown(event: React.KeyboardEvent): void;
7379
+ renderFluent(value: string, placeholder: string, step: number): import("react/jsx-runtime").JSX.Element;
7380
+ renderOriginal(value: string, placeholder: string, step: number): import("react/jsx-runtime").JSX.Element;
6928
7381
  render(): import("react/jsx-runtime").JSX.Element;
6929
7382
  }
6930
7383
 
@@ -6986,6 +7439,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
6986
7439
  onInput(newValueString: any): void;
6987
7440
  prepareDataToRead(value: number): number;
6988
7441
  onCopyClick(): void;
7442
+ renderFluent(): import("react/jsx-runtime").JSX.Element;
7443
+ renderOriginal(): import("react/jsx-runtime").JSX.Element;
6989
7444
  render(): import("react/jsx-runtime").JSX.Element;
6990
7445
  }
6991
7446
 
@@ -7055,7 +7510,9 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
7055
7510
  raiseOnPropertyChanged(newValue: number, previousValue: number): void;
7056
7511
  setValue(value: string | number): void;
7057
7512
  updateValue(valueString: string): void;
7058
- onCopyClick(): void;
7513
+ onCopyClickStr(): string;
7514
+ private _renderFluent;
7515
+ private _renderOriginal;
7059
7516
  render(): import("react/jsx-runtime").JSX.Element;
7060
7517
  }
7061
7518
 
@@ -7464,6 +7921,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
7464
7921
  private _uploadInputRef;
7465
7922
  constructor(props: IFileButtonLineProps);
7466
7923
  onChange(evt: any): void;
7924
+ renderFluent(): import("react/jsx-runtime").JSX.Element;
7925
+ renderOriginal(): import("react/jsx-runtime").JSX.Element;
7467
7926
  render(): import("react/jsx-runtime").JSX.Element;
7468
7927
  }
7469
7928
 
@@ -7579,6 +8038,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
7579
8038
  private _convertToColor;
7580
8039
  private _toColor3;
7581
8040
  onCopyClick(): void;
8041
+ renderFluent(): import("react/jsx-runtime").JSX.Element;
8042
+ renderOriginal(): import("react/jsx-runtime").JSX.Element;
7582
8043
  render(): import("react/jsx-runtime").JSX.Element;
7583
8044
  }
7584
8045
 
@@ -7667,6 +8128,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
7667
8128
  }): boolean;
7668
8129
  onChange(): void;
7669
8130
  onCopyClick(): void;
8131
+ renderOriginal(): import("react/jsx-runtime").JSX.Element;
8132
+ renderFluent(): import("react/jsx-runtime").JSX.Element;
7670
8133
  render(): import("react/jsx-runtime").JSX.Element;
7671
8134
  }
7672
8135
 
@@ -7687,6 +8150,8 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
7687
8150
  }
7688
8151
  export class ButtonLineComponent extends React.Component<IButtonLineComponentProps> {
7689
8152
  constructor(props: IButtonLineComponentProps);
8153
+ renderFluent(): import("react/jsx-runtime").JSX.Element;
8154
+ renderOriginal(): import("react/jsx-runtime").JSX.Element;
7690
8155
  render(): import("react/jsx-runtime").JSX.Element;
7691
8156
  }
7692
8157
 
@@ -7711,6 +8176,513 @@ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
7711
8176
 
7712
8177
 
7713
8178
 
8179
+ }
8180
+ declare module BABYLON.NodeRenderGraphEditor {
8181
+
8182
+
8183
+ }
8184
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8185
+ export type TextareaProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<string> & {
8186
+ placeholder?: string;
8187
+ };
8188
+ /**
8189
+ * This is a texarea box that stops propagation of change/keydown events
8190
+ * @param props
8191
+ * @returns
8192
+ */
8193
+ export var Textarea: React.FunctionComponent<any>;
8194
+
8195
+
8196
+
8197
+ }
8198
+ declare module BABYLON.NodeRenderGraphEditor {
8199
+
8200
+
8201
+ }
8202
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8203
+ export type SyncedSliderProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<number> & {
8204
+ min?: number;
8205
+ max?: number;
8206
+ step?: number;
8207
+ };
8208
+ /**
8209
+ * Component which synchronizes a slider and an input field, allowing the user to change a value using either control
8210
+ * @param props
8211
+ * @returns SyncedSlider component
8212
+ */
8213
+ export var SyncedSliderInput: React.FunctionComponent<SyncedSliderProps>;
8214
+
8215
+
8216
+
8217
+ }
8218
+ declare module BABYLON.NodeRenderGraphEditor {
8219
+
8220
+
8221
+ }
8222
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8223
+ export type SwitchProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<boolean>;
8224
+ /**
8225
+ * This is a primitive fluent boolean switch component whose only knowledge is the shared styling across all tools
8226
+ * @param props
8227
+ * @returns Switch component
8228
+ */
8229
+ export var Switch: React.FunctionComponent<SwitchProps>;
8230
+
8231
+
8232
+
8233
+ }
8234
+ declare module BABYLON.NodeRenderGraphEditor {
8235
+
8236
+
8237
+ }
8238
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8239
+ export type SpinButtonProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<number>;
8240
+ export var SpinButton: React.FunctionComponent<SpinButtonProps>;
8241
+
8242
+
8243
+
8244
+ }
8245
+ declare module BABYLON.NodeRenderGraphEditor {
8246
+
8247
+
8248
+ }
8249
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8250
+
8251
+
8252
+
8253
+ }
8254
+ declare module BABYLON.NodeRenderGraphEditor {
8255
+
8256
+
8257
+ }
8258
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8259
+ export type InputProps<T extends string | number> = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<T> & {
8260
+ step?: number;
8261
+ placeholder?: string;
8262
+ min?: number;
8263
+ max?: number;
8264
+ };
8265
+ /**
8266
+ * This is an input text box that stops propagation of change events and sets its width based on the type of input (text or number)
8267
+ * @param props
8268
+ * @returns
8269
+ */
8270
+ export var Input: React.FunctionComponent<InputProps<string | number>>;
8271
+
8272
+
8273
+
8274
+ }
8275
+ declare module BABYLON.NodeRenderGraphEditor {
8276
+
8277
+
8278
+ }
8279
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8280
+ export type AcceptedDropdownValue = string | number;
8281
+ export type DropdownOption = {
8282
+ /**
8283
+ * Defines the visible part of the option
8284
+ */
8285
+ label: string;
8286
+ /**
8287
+ * Defines the value part of the option
8288
+ */
8289
+ value: AcceptedDropdownValue;
8290
+ };
8291
+ export type DropdownProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<AcceptedDropdownValue | undefined> & {
8292
+ options: DropdownOption[];
8293
+ includeUndefined?: boolean;
8294
+ };
8295
+ /**
8296
+ * Renders a fluent UI dropdown component for the options passed in, and an additional 'Not Defined' option if includeUndefined is set to true
8297
+ * @param props
8298
+ * @returns dropdown component
8299
+ */
8300
+ export var Dropdown: React.FunctionComponent<DropdownProps>;
8301
+
8302
+
8303
+
8304
+ }
8305
+ declare module BABYLON.NodeRenderGraphEditor {
8306
+
8307
+
8308
+ }
8309
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8310
+ export type ColorPickerProps<C extends BABYLON.Color3 | BABYLON.Color4> = {
8311
+ isLinearMode?: boolean;
8312
+ } & BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<C>;
8313
+ export var ColorPickerPopup: React.FunctionComponent<ColorPickerProps<BABYLON.Color3 | BABYLON.Color4>>;
8314
+ type HsvKey = "h" | "s" | "v";
8315
+ export type InputHexProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<BABYLON.Color3 | BABYLON.Color4> & {
8316
+ label?: string;
8317
+ linearHex?: boolean;
8318
+ isLinearMode?: boolean;
8319
+ };
8320
+ /**
8321
+ * Component which displays the passed in color's HEX value, either in linearSpace (if linearHex is true) or in gamma space
8322
+ * When the hex color is changed by user, component calculates the new BABYLON.Color3/4 value and calls onChange
8323
+ *
8324
+ * Component uses the isLinearMode boolean to display an informative label regarding linear / gamma space
8325
+ * @param props - The properties for the InputHexField component.
8326
+ * @returns
8327
+ */
8328
+ export var InputHexField: React.FunctionComponent<InputHexProps>;
8329
+ type InputHsvFieldProps = {
8330
+ color: BABYLON.Color3 | BABYLON.Color4;
8331
+ label: string;
8332
+ hsvKey: HsvKey;
8333
+ onChange: (color: BABYLON.Color3 | BABYLON.Color4) => void;
8334
+ max: number;
8335
+ scale?: number;
8336
+ };
8337
+ /**
8338
+ * In the HSV (Hue, Saturation, Value) color model, Hue (H) ranges from 0 to 360 degrees, representing the color's position on the color wheel.
8339
+ * Saturation (S) ranges from 0 to 100%, indicating the intensity or purity of the color, with 0 being shades of gray and 100 being a fully saturated color.
8340
+ * Value (V) ranges from 0 to 100%, representing the brightness of the color, with 0 being black and 100 being the brightest.
8341
+ * @param props - The properties for the InputHsvField component.
8342
+ */
8343
+ export var InputHsvField: React.FunctionComponent<InputHsvFieldProps>;
8344
+
8345
+
8346
+
8347
+ }
8348
+ declare module BABYLON.NodeRenderGraphEditor {
8349
+
8350
+
8351
+ }
8352
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8353
+ export type CheckboxProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<boolean>;
8354
+ /**
8355
+ * This is a primitive fluent checkbox that can both read and write checked state
8356
+ * @param props
8357
+ * @returns Checkbox component
8358
+ */
8359
+ export var Checkbox: React.FunctionComponent<CheckboxProps>;
8360
+
8361
+
8362
+
8363
+ }
8364
+ declare module BABYLON.NodeRenderGraphEditor {
8365
+
8366
+
8367
+ }
8368
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8369
+ export type AccordionSectionProps = {
8370
+ title: string;
8371
+ };
8372
+ export var AccordionSection: React.FunctionComponent<React.PropsWithChildren<AccordionSectionProps>>;
8373
+ export var Accordion: React.FunctionComponent<React.PropsWithChildren>;
8374
+
8375
+
8376
+
8377
+ }
8378
+ declare module BABYLON.NodeRenderGraphEditor {
8379
+
8380
+
8381
+ }
8382
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8383
+ export type VectorPropertyLineProps<V extends BABYLON.Vector3 | BABYLON.Vector4> = BABYLON.NodeRenderGraphEditor.SharedUIComponents.BaseComponentProps<V> & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps & {
8384
+ /**
8385
+ * If passed, all sliders will use this for the min value
8386
+ */
8387
+ min?: number;
8388
+ /**
8389
+ * If passed, all sliders will use this for the max value
8390
+ */
8391
+ max?: number;
8392
+ /**
8393
+ * If passed, the UX will use the conversion functions to display/update values
8394
+ */
8395
+ valueConverter?: {
8396
+ /**
8397
+ * Will call from(val) before displaying in the UX
8398
+ */
8399
+ from: (val: number) => number;
8400
+ /**
8401
+ * Will call to(val) before calling onChange
8402
+ */
8403
+ to: (val: number) => number;
8404
+ };
8405
+ };
8406
+ type RotationVectorPropertyLineProps = VectorPropertyLineProps<BABYLON.Vector3> & {
8407
+ /**
8408
+ * Display angles as degrees instead of radians
8409
+ */
8410
+ useDegrees?: boolean;
8411
+ };
8412
+ export var RotationVectorPropertyLine: React.FunctionComponent<RotationVectorPropertyLineProps>;
8413
+ export var Vector3PropertyLine: React.FunctionComponent<VectorPropertyLineProps<BABYLON.Vector3>>;
8414
+ export var Vector4PropertyLine: React.FunctionComponent<VectorPropertyLineProps<BABYLON.Vector4>>;
8415
+
8416
+
8417
+
8418
+ }
8419
+ declare module BABYLON.NodeRenderGraphEditor {
8420
+
8421
+
8422
+ }
8423
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8424
+ type TextProps = {
8425
+ value: string;
8426
+ tooltip?: string;
8427
+ };
8428
+ /**
8429
+ * Wraps text in a property line
8430
+ * @param props - BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps and TextProps
8431
+ * @returns property-line wrapped text
8432
+ */
8433
+ export var TextPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps & TextProps>;
8434
+
8435
+
8436
+
8437
+ }
8438
+ declare module BABYLON.NodeRenderGraphEditor {
8439
+
8440
+
8441
+ }
8442
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8443
+ type SyncedSliderLineProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.SyncedSliderProps & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps;
8444
+ /**
8445
+ * Renders a simple wrapper around the SyncedSliderInput
8446
+ * @param props
8447
+ * @returns
8448
+ */
8449
+ export var SyncedSliderLine: React.FunctionComponent<SyncedSliderLineProps>;
8450
+
8451
+
8452
+
8453
+ }
8454
+ declare module BABYLON.NodeRenderGraphEditor {
8455
+
8456
+
8457
+ }
8458
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8459
+ /**
8460
+ * Wraps a switch in a property line
8461
+ * @param props - The properties for the switch and property line
8462
+ * @returns A React element representing the property line with a switch
8463
+ */
8464
+ export var SwitchPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps & BABYLON.NodeRenderGraphEditor.SharedUIComponents.SwitchProps>;
8465
+
8466
+
8467
+
8468
+ }
8469
+ declare module BABYLON.NodeRenderGraphEditor {
8470
+
8471
+
8472
+ }
8473
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8474
+ export type PropertyLineProps = {
8475
+ /**
8476
+ * The name of the property to display in the property line.
8477
+ */
8478
+ label: string;
8479
+ /**
8480
+ * Optional description for the property, shown on hover of the info icon
8481
+ */
8482
+ description?: string;
8483
+ /**
8484
+ * Optional function returning a string to copy to clipboard.
8485
+ */
8486
+ onCopy?: () => string;
8487
+ /**
8488
+ * If supplied, an 'expand' icon will be shown which, when clicked, renders this component within the property line.
8489
+ */
8490
+ expandedContent?: JSX.Element;
8491
+ /**
8492
+ * Link to the documentation for this property, available from the info icon either linked from the description (if provided) or defalt 'docs' text
8493
+ */
8494
+ docLink?: string;
8495
+ };
8496
+ export var LineContainer: import("react").ForwardRefExoticComponent<{
8497
+ children?: import("react").ReactNode | undefined;
8498
+ } & import("react").RefAttributes<HTMLDivElement>>;
8499
+ export type BaseComponentProps<T> = {
8500
+ /**
8501
+ * The value of the property to be displayed and modified.
8502
+ */
8503
+ value: T;
8504
+ /**
8505
+ * Callback function to handle changes to the value
8506
+ */
8507
+ onChange: (value: T) => void;
8508
+ /**
8509
+ * Optional flag to disable the component, preventing any interaction.
8510
+ */
8511
+ disabled?: boolean;
8512
+ /**
8513
+ * Optional class name to apply custom styles to the component.
8514
+ */
8515
+ className?: string;
8516
+ };
8517
+ /**
8518
+ * A reusable component that renders a property line with a label and child content, and an optional description, copy button, and expandable section.
8519
+ *
8520
+ * @param props - The properties for the PropertyLine component.
8521
+ * @returns A React element representing the property line.
8522
+ *
8523
+ */
8524
+ export var PropertyLine: import("react").ForwardRefExoticComponent<PropertyLineProps & {
8525
+ children?: import("react").ReactNode | undefined;
8526
+ } & import("react").RefAttributes<HTMLDivElement>>;
8527
+ export var PlaceholderPropertyLine: React.FunctionComponent<BaseComponentProps<any> & PropertyLineProps>;
8528
+
8529
+
8530
+
8531
+ }
8532
+ declare module BABYLON.NodeRenderGraphEditor {
8533
+
8534
+
8535
+ }
8536
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8537
+ type LinkProps = {
8538
+ value: string;
8539
+ tooltip?: string;
8540
+ onLink?: () => void;
8541
+ url?: string;
8542
+ };
8543
+ /**
8544
+ * Wraps a link in a property line
8545
+ * @param props - BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps and LinkProps
8546
+ * @returns property-line wrapped link
8547
+ */
8548
+ export var LinkPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps & LinkProps>;
8549
+
8550
+
8551
+
8552
+ }
8553
+ declare module BABYLON.NodeRenderGraphEditor {
8554
+
8555
+
8556
+ }
8557
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8558
+ export var TextInputPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.InputProps<string> & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps>;
8559
+ export var FloatInputPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.InputProps<number> & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps>;
8560
+
8561
+
8562
+
8563
+ }
8564
+ declare module BABYLON.NodeRenderGraphEditor {
8565
+
8566
+
8567
+ }
8568
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8569
+ /**
8570
+ * Wraps a hex input in a property line
8571
+ * @param props - BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps and BABYLON.NodeRenderGraphEditor.SharedUIComponents.InputHexProps
8572
+ * @returns property-line wrapped input hex component
8573
+ */
8574
+ export var HexPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.InputHexProps & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps>;
8575
+
8576
+
8577
+
8578
+ }
8579
+ declare module BABYLON.NodeRenderGraphEditor {
8580
+
8581
+
8582
+ }
8583
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8584
+ export type ToolHostProps = {
8585
+ /**
8586
+ * Allows host to pass in a theme
8587
+ */
8588
+ customTheme?: any;
8589
+ /**
8590
+ * Can be set to true to disable the copy button in the tool's property lines. Default is false (copy enabled)
8591
+ */
8592
+ disableCopy?: boolean;
8593
+ };
8594
+ export var ToolContext: import("react").Context<{
8595
+ readonly useFluent: boolean;
8596
+ readonly disableCopy: boolean;
8597
+ }>;
8598
+ /**
8599
+ * For tools which are ready to move over the fluent, wrap the root of the tool (or the panel which you want fluentized) with this component
8600
+ * Today we will only enable fluent if the URL has the `newUX` query parameter is truthy
8601
+ * @param props
8602
+ * @returns
8603
+ */
8604
+ export var FluentToolWrapper: React.FunctionComponent<React.PropsWithChildren<ToolHostProps>>;
8605
+
8606
+
8607
+
8608
+ }
8609
+ declare module BABYLON.NodeRenderGraphEditor {
8610
+
8611
+
8612
+ }
8613
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8614
+ type FileUploadLineProps = Omit<BABYLON.NodeRenderGraphEditor.SharedUIComponents.ButtonLineProps, "onClick"> & {
8615
+ onClick: (file: File) => void;
8616
+ accept: string;
8617
+ };
8618
+ export var FileUploadLine: React.FunctionComponent<FileUploadLineProps>;
8619
+
8620
+
8621
+
8622
+ }
8623
+ declare module BABYLON.NodeRenderGraphEditor {
8624
+
8625
+
8626
+ }
8627
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8628
+ /**
8629
+ * Wraps a dropdown in a property line
8630
+ * @param props - BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps and BABYLON.NodeRenderGraphEditor.SharedUIComponents.DropdownProps
8631
+ * @returns property-line wrapped dropdown
8632
+ */
8633
+ export var DropdownPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps & BABYLON.NodeRenderGraphEditor.SharedUIComponents.DropdownProps>;
8634
+
8635
+
8636
+
8637
+ }
8638
+ declare module BABYLON.NodeRenderGraphEditor {
8639
+
8640
+
8641
+ }
8642
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8643
+ export type ColorPropertyLineProps = BABYLON.NodeRenderGraphEditor.SharedUIComponents.ColorPickerProps<BABYLON.Color3 | BABYLON.Color4> & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps;
8644
+ export var Color3PropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.ColorPickerProps<BABYLON.Color3> & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps>;
8645
+ export var Color4PropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.ColorPickerProps<BABYLON.Color4> & BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps>;
8646
+
8647
+
8648
+
8649
+ }
8650
+ declare module BABYLON.NodeRenderGraphEditor {
8651
+
8652
+
8653
+ }
8654
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8655
+ /**
8656
+ * Wraps a checkbox in a property line
8657
+ * @param props - BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps and BABYLON.NodeRenderGraphEditor.SharedUIComponents.CheckboxProps
8658
+ * @returns property-line wrapped checkbox
8659
+ */
8660
+ export var CheckboxPropertyLine: React.FunctionComponent<BABYLON.NodeRenderGraphEditor.SharedUIComponents.PropertyLineProps & BABYLON.NodeRenderGraphEditor.SharedUIComponents.CheckboxProps>;
8661
+
8662
+
8663
+
8664
+ }
8665
+ declare module BABYLON.NodeRenderGraphEditor {
8666
+
8667
+
8668
+ }
8669
+ declare module BABYLON.NodeRenderGraphEditor.SharedUIComponents {
8670
+ export type ButtonLineProps = {
8671
+ label: string;
8672
+ onClick: () => void;
8673
+ disabled?: boolean;
8674
+ icon?: string;
8675
+ title?: string;
8676
+ };
8677
+ /**
8678
+ * Wraps a button with a label in a line container
8679
+ * @param props Button props plus a label
8680
+ * @returns A button inside a line
8681
+ */
8682
+ export var ButtonLine: React.FunctionComponent<ButtonLineProps>;
8683
+
8684
+
8685
+
7714
8686
  }
7715
8687
  declare module BABYLON.NodeRenderGraphEditor {
7716
8688