@comfyorg/comfyui-frontend-types 1.26.11 → 1.27.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.
Files changed (2) hide show
  1. package/index.d.ts +328 -20
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -599,6 +599,16 @@ declare class ChangeTracker {
599
599
  private static graphDiff;
600
600
  }
601
601
 
602
+ /**
603
+ * Widget for displaying charts and data visualizations
604
+ * This is a widget that only has a Vue widgets implementation
605
+ */
606
+ declare class ChartWidget extends BaseWidget<IChartWidget> implements IChartWidget {
607
+ type: "chart";
608
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
609
+ onClick(_options: WidgetEventOptions): void;
610
+ }
611
+
602
612
  declare type ClassList = string | string[] | Record<string, boolean>;
603
613
 
604
614
  /**
@@ -639,6 +649,16 @@ declare interface ColorOption {
639
649
  groupcolor: string;
640
650
  }
641
651
 
652
+ /**
653
+ * Widget for displaying a color picker
654
+ * This is a widget that only has a Vue widgets implementation
655
+ */
656
+ declare class ColorWidget extends BaseWidget<IColorWidget> implements IColorWidget {
657
+ type: "color";
658
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
659
+ onClick(_options: WidgetEventOptions): void;
660
+ }
661
+
642
662
  declare class ComboWidget extends BaseSteppedWidget<IStringComboWidget | IComboWidget> implements IComboWidget {
643
663
  #private;
644
664
  type: "combo";
@@ -998,9 +1018,9 @@ export declare class ComfyApp {
998
1018
  * @deprecated Use useExecutionStore().executingNodeProgress instead
999
1019
  */
1000
1020
  get progress(): {
1001
- max: number;
1002
- value: number;
1003
1021
  node: string | number;
1022
+ value: number;
1023
+ max: number;
1004
1024
  prompt_id: string;
1005
1025
  } | null;
1006
1026
  /**
@@ -1820,9 +1840,6 @@ export declare class ComfyApp {
1820
1840
  }
1821
1841
 
1822
1842
  declare enum EaseFunction {
1823
- LINEAR = "linear",
1824
- EASE_IN_QUAD = "easeInQuad",
1825
- EASE_OUT_QUAD = "easeOutQuad",
1826
1843
  EASE_IN_OUT_QUAD = "easeInOutQuad"
1827
1844
  }
1828
1845
 
@@ -1983,6 +2000,16 @@ export declare class ComfyApp {
1983
2000
 
1984
2001
  export { ExtensionsResponse }
1985
2002
 
2003
+ /**
2004
+ * Widget for handling file uploads
2005
+ * This is a widget that only has a Vue widgets implementation
2006
+ */
2007
+ declare class FileUploadWidget extends BaseWidget<IFileUploadWidget> implements IFileUploadWidget {
2008
+ type: "fileupload";
2009
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
2010
+ onClick(_options: WidgetEventOptions): void;
2011
+ }
2012
+
1986
2013
  declare interface FindFreeSlotOptions {
1987
2014
  /** Slots matching these types will be ignored. Default: [] */
1988
2015
  typesNotAccepted?: ISlotType[];
@@ -2066,6 +2093,16 @@ export declare class ComfyApp {
2066
2093
  reconnected: never;
2067
2094
  }
2068
2095
 
2096
+ /**
2097
+ * Widget for displaying image galleries
2098
+ * This is a widget that only has a Vue widgets implementation
2099
+ */
2100
+ declare class GalleriaWidget extends BaseWidget<IGalleriaWidget> implements IGalleriaWidget {
2101
+ type: "galleria";
2102
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
2103
+ onClick(_options: WidgetEventOptions): void;
2104
+ }
2105
+
2069
2106
  /** Internal; simplifies type definitions. */
2070
2107
  declare type GraphOrSubgraph = LGraph | Subgraph;
2071
2108
 
@@ -2229,6 +2266,12 @@ export declare class ComfyApp {
2229
2266
  canvasY: number;
2230
2267
  }
2231
2268
 
2269
+ /** Chart widget for displaying data visualizations */
2270
+ declare interface IChartWidget extends IBaseWidget<object, 'chart'> {
2271
+ type: 'chart';
2272
+ value: object;
2273
+ }
2274
+
2232
2275
  declare interface ICloseable {
2233
2276
  close(): void;
2234
2277
  }
@@ -2241,6 +2284,12 @@ export declare class ComfyApp {
2241
2284
  getColorOption(): ColorOption | null;
2242
2285
  }
2243
2286
 
2287
+ /** Color picker widget for selecting colors */
2288
+ declare interface IColorWidget extends IBaseWidget<string, 'color'> {
2289
+ type: 'color';
2290
+ value: string;
2291
+ }
2292
+
2244
2293
  /** A combo-box widget (dropdown, select, etc) */
2245
2294
  declare interface IComboWidget extends IBaseWidget<string | number, 'combo', RequiredProps<IWidgetOptions<ComboWidgetValues>, 'values'>> {
2246
2295
  type: 'combo';
@@ -2378,15 +2427,40 @@ export declare class ComfyApp {
2378
2427
  lineWidth?: number;
2379
2428
  }
2380
2429
 
2430
+ /** File upload widget for selecting and uploading files */
2431
+ declare interface IFileUploadWidget extends IBaseWidget<string, 'fileupload'> {
2432
+ type: 'fileupload';
2433
+ value: string;
2434
+ label?: string;
2435
+ }
2436
+
2381
2437
  declare interface IFoundSlot extends IInputOrOutput {
2382
2438
  slot: number;
2383
2439
  link_pos: Point;
2384
2440
  }
2385
2441
 
2442
+ /** Gallery widget for displaying multiple images */
2443
+ declare interface IGalleriaWidget extends IBaseWidget<string[], 'galleria'> {
2444
+ type: 'galleria';
2445
+ value: string[];
2446
+ }
2447
+
2386
2448
  declare interface IGraphGroupFlags extends Record<string, unknown> {
2387
2449
  pinned?: true;
2388
2450
  }
2389
2451
 
2452
+ /** Image comparison widget for comparing two images side by side */
2453
+ declare interface IImageCompareWidget extends IBaseWidget<string[], 'imagecompare'> {
2454
+ type: 'imagecompare';
2455
+ value: string[];
2456
+ }
2457
+
2458
+ /** Image display widget */
2459
+ declare interface IImageWidget extends IBaseWidget<string, 'image'> {
2460
+ type: 'image';
2461
+ value: string;
2462
+ }
2463
+
2390
2464
  declare interface IInputOrOutput {
2391
2465
  input?: INodeInputSlot | null;
2392
2466
  output?: INodeOutputSlot | null;
@@ -2398,12 +2472,34 @@ export declare class ComfyApp {
2398
2472
  options: IWidgetKnobOptions;
2399
2473
  }
2400
2474
 
2475
+ /**
2476
+ * Widget for comparing two images side by side
2477
+ * This is a widget that only has a Vue widgets implementation
2478
+ */
2479
+ declare class ImageCompareWidget extends BaseWidget<IImageCompareWidget> implements IImageCompareWidget {
2480
+ type: "imagecompare";
2481
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
2482
+ onClick(_options: WidgetEventOptions): void;
2483
+ }
2484
+
2485
+ /** Markdown widget for displaying formatted text */
2486
+ declare interface IMarkdownWidget extends IBaseWidget<string, 'markdown'> {
2487
+ type: 'markdown';
2488
+ value: string;
2489
+ }
2490
+
2401
2491
  declare interface IMouseOverData {
2402
2492
  inputId?: number;
2403
2493
  outputId?: number;
2404
2494
  overWidget?: IBaseWidget;
2405
2495
  }
2406
2496
 
2497
+ /** Multi-select widget for selecting multiple options */
2498
+ declare interface IMultiSelectWidget extends IBaseWidget<string[], 'multiselect'> {
2499
+ type: 'multiselect';
2500
+ value: string[];
2501
+ }
2502
+
2407
2503
  declare interface INodeFlags {
2408
2504
  skip_repeated_outputs?: boolean;
2409
2505
  allow_interaction?: boolean;
@@ -2563,6 +2659,12 @@ export declare class ComfyApp {
2563
2659
  unpin(): void;
2564
2660
  }
2565
2661
 
2662
+ /** Select button widget for selecting from a group of buttons */
2663
+ declare interface ISelectButtonWidget extends IBaseWidget<string, 'selectbutton', RequiredProps<IWidgetOptions<string[]>, 'values'>> {
2664
+ type: 'selectbutton';
2665
+ value: string;
2666
+ }
2667
+
2566
2668
  declare type ISerialisableNodeInput = Omit<INodeInputSlot, 'boundingRect' | 'widget'> & {
2567
2669
  widget?: {
2568
2670
  name: string;
@@ -2695,6 +2797,7 @@ export declare class ComfyApp {
2695
2797
 
2696
2798
  declare interface ISubgraphInput extends INodeInputSlot {
2697
2799
  _listenerController?: AbortController;
2800
+ _subgraphSlot: SubgraphInput;
2698
2801
  }
2699
2802
 
2700
2803
  /**
@@ -2706,6 +2809,18 @@ export declare class ComfyApp {
2706
2809
  getIoNodeOnPos?(x: number, y: number): SubgraphInputNode | SubgraphOutputNode | undefined;
2707
2810
  }
2708
2811
 
2812
+ /** Textarea widget for multi-line text input */
2813
+ declare interface ITextareaWidget extends IBaseWidget<string, 'textarea'> {
2814
+ type: 'textarea';
2815
+ value: string;
2816
+ }
2817
+
2818
+ /** Tree select widget for hierarchical selection */
2819
+ declare interface ITreeSelectWidget extends IBaseWidget<string | string[], 'treeselect'> {
2820
+ type: 'treeselect';
2821
+ value: string | string[];
2822
+ }
2823
+
2709
2824
  /**
2710
2825
  * A widget for a node.
2711
2826
  * All types are based on IBaseWidget - additions can be made there or directly on individual types.
@@ -2714,7 +2829,7 @@ export declare class ComfyApp {
2714
2829
  * Recommend declaration merging any properties that use IWidget (e.g. {@link LGraphNode.widgets}) with a new type alias.
2715
2830
  * @see ICustomWidget
2716
2831
  */
2717
- declare type IWidget = IBooleanWidget | INumericWidget | IStringWidget | IComboWidget | IStringComboWidget | ICustomWidget | ISliderWidget | IButtonWidget | IKnobWidget;
2832
+ declare type IWidget = IBooleanWidget | INumericWidget | IStringWidget | IComboWidget | IStringComboWidget | ICustomWidget | ISliderWidget | IButtonWidget | IKnobWidget | IFileUploadWidget | IColorWidget | IMarkdownWidget | IImageWidget | ITreeSelectWidget | IMultiSelectWidget | IChartWidget | IGalleriaWidget | IImageCompareWidget | ISelectButtonWidget | ITextareaWidget;
2718
2833
 
2719
2834
  declare interface IWidgetKnobOptions extends IWidgetOptions<number[]> {
2720
2835
  min: number;
@@ -3465,6 +3580,8 @@ export declare class ComfyApp {
3465
3580
  SELECTED_NODE?: LGraphNode;
3466
3581
  /** @deprecated Panels */
3467
3582
  NODEPANEL_IS_OPEN?: boolean;
3583
+ /** Link rendering adapter for litegraph-to-canvas integration */
3584
+ linkRenderer: LitegraphLinkAdapter | null;
3468
3585
  /** If true, enable drag zoom. Ctrl+Shift+Drag Up/Down: zoom canvas. */
3469
3586
  dragZoomEnabled: boolean;
3470
3587
  getMenuOptions?(): IContextMenuValue<string>[];
@@ -3804,6 +3921,11 @@ export declare class ComfyApp {
3804
3921
  */
3805
3922
  drawSnapGuide(ctx: CanvasRenderingContext2D, item: Positionable, shape?: RenderShape): void;
3806
3923
  drawConnections(ctx: CanvasRenderingContext2D): void;
3924
+ /**
3925
+ * Build LinkRenderContext from canvas properties
3926
+ * Helper method for using LitegraphLinkAdapter
3927
+ */
3928
+ private buildLinkRenderContext;
3807
3929
  /**
3808
3930
  * draws a link between two points
3809
3931
  * @param ctx Canvas 2D rendering context
@@ -3828,16 +3950,6 @@ export declare class ComfyApp {
3828
3950
  /** Whether this is a floating link segment */
3829
3951
  disabled?: boolean;
3830
3952
  }): void;
3831
- /**
3832
- * Finds a point along a spline represented by a to b, with spline endpoint directions dictacted by start_dir and end_dir.
3833
- * @param a Start point
3834
- * @param b End point
3835
- * @param t Time: distance between points (e.g 0.25 is 25% along the line)
3836
- * @param start_dir Spline start direction
3837
- * @param end_dir Spline end direction
3838
- * @returns The point at {@link t} distance along the spline a-b.
3839
- */
3840
- computeConnectionPoint(a: ReadOnlyPoint, b: ReadOnlyPoint, t: number, start_dir: LinkDirection, end_dir: LinkDirection): Point;
3841
3953
  drawExecutionOrder(ctx: CanvasRenderingContext2D): void;
3842
3954
  /**
3843
3955
  * draws the widgets stored inside a node
@@ -4143,6 +4255,8 @@ export declare class ComfyApp {
4143
4255
  properties_info: INodePropertyInfo[];
4144
4256
  flags: INodeFlags;
4145
4257
  widgets?: IBaseWidget[];
4258
+ /** Property manager for this node */
4259
+ changeTracker: LGraphNodeProperties;
4146
4260
  /**
4147
4261
  * The amount of space available for widgets to grow into.
4148
4262
  * @see {@link layoutWidgets}
@@ -4929,6 +5043,29 @@ export declare class ComfyApp {
4929
5043
  resizeEdgeSize?: number;
4930
5044
  }
4931
5045
 
5046
+ /**
5047
+ * Manages node properties with optional change tracking and instrumentation.
5048
+ */
5049
+ declare class LGraphNodeProperties {
5050
+ #private;
5051
+ /** The node this property manager belongs to */
5052
+ node: LGraphNode;
5053
+ constructor(node: LGraphNode);
5054
+ /**
5055
+ * Checks if a property is being tracked
5056
+ */
5057
+ isTracked(path: string): boolean;
5058
+ /**
5059
+ * Gets the list of tracked properties
5060
+ */
5061
+ getTrackedProperties(): string[];
5062
+ /**
5063
+ * Custom toJSON method for JSON.stringify
5064
+ * Returns undefined to exclude from serialization since we only use defaults
5065
+ */
5066
+ toJSON(): any;
5067
+ }
5068
+
4932
5069
  declare interface LGraphState {
4933
5070
  lastGroupId: number;
4934
5071
  lastNodeId: number;
@@ -5149,6 +5286,28 @@ export declare class ComfyApp {
5149
5286
  removeFloatingLink(link: LLink): void;
5150
5287
  }
5151
5288
 
5289
+ declare interface LinkRenderContext {
5290
+ renderMode: LinkRenderType;
5291
+ connectionWidth: number;
5292
+ renderBorder: boolean;
5293
+ lowQuality: boolean;
5294
+ highQualityRender: boolean;
5295
+ scale: number;
5296
+ linkMarkerShape: LinkMarkerShape;
5297
+ renderConnectionArrows: boolean;
5298
+ highlightedLinks: Set<string | number>;
5299
+ defaultLinkColor: CanvasColour;
5300
+ linkTypeColors: Record<string, CanvasColour>;
5301
+ disabledPattern?: CanvasPattern | null;
5302
+ }
5303
+
5304
+ declare interface LinkRenderOptions {
5305
+ color?: CanvasColour;
5306
+ flow?: boolean;
5307
+ skipBorder?: boolean;
5308
+ disabled?: boolean;
5309
+ }
5310
+
5152
5311
  /** The path calculation that links follow */
5153
5312
  declare enum LinkRenderType {
5154
5313
  HIDDEN_LINK = -1,
@@ -5228,6 +5387,22 @@ export declare class ComfyApp {
5228
5387
  WIDGET_TEXT_COLOR: string;
5229
5388
  WIDGET_SECONDARY_TEXT_COLOR: string;
5230
5389
  WIDGET_DISABLED_TEXT_COLOR: string;
5390
+ /**
5391
+ * Vue node dimensions configuration for the contract between LiteGraph and Vue components.
5392
+ * These values ensure both systems can independently calculate node, slot, and widget positions
5393
+ * to place them in identical locations.
5394
+ */
5395
+ COMFY_VUE_NODE_DIMENSIONS: {
5396
+ readonly spacing: {
5397
+ readonly BETWEEN_SLOTS_AND_BODY: 8;
5398
+ readonly BETWEEN_WIDGETS: 8;
5399
+ };
5400
+ readonly components: {
5401
+ readonly HEADER_HEIGHT: 34;
5402
+ readonly SLOT_HEIGHT: 24;
5403
+ readonly STANDARD_WIDGET_HEIGHT: 30;
5404
+ };
5405
+ };
5231
5406
  LINK_COLOR: string;
5232
5407
  EVENT_LINK_COLOR: string;
5233
5408
  CONNECTING_LINK_COLOR: string;
@@ -5438,6 +5613,17 @@ export declare class ComfyApp {
5438
5613
  * @default true
5439
5614
  */
5440
5615
  saveViewportWithGraph: boolean;
5616
+ /**
5617
+ * Enable Vue nodes mode for rendering and positioning.
5618
+ * When true:
5619
+ * - Nodes will calculate slot positions using Vue component dimensions
5620
+ * - LiteGraph will skip rendering node bodies entirely
5621
+ * - Vue components will handle all node rendering
5622
+ * - LiteGraph continues to render connections, links, and graph background
5623
+ * This should be set by the frontend when the Vue nodes feature is enabled.
5624
+ * @default false
5625
+ */
5626
+ vueNodesMode: boolean;
5441
5627
  LGraph: typeof LGraph;
5442
5628
  LLink: typeof LLink;
5443
5629
  LGraphNode: typeof LGraphNode;
@@ -5530,6 +5716,72 @@ export declare class ComfyApp {
5530
5716
  extendClass(target: any, origin: any): void;
5531
5717
  }
5532
5718
 
5719
+ declare class LitegraphLinkAdapter {
5720
+ private graph;
5721
+ private pathRenderer;
5722
+ enableLayoutStoreWrites: boolean;
5723
+ constructor(graph: LGraph);
5724
+ /**
5725
+ * Render a single link with all necessary data properly fetched
5726
+ * Populates link.path for hit detection
5727
+ */
5728
+ renderLink(ctx: CanvasRenderingContext2D, link: LLink, context: LinkRenderContext, options?: LinkRenderOptions): void;
5729
+ /**
5730
+ * Convert litegraph link data to pure render format
5731
+ */
5732
+ private convertToLinkRenderData;
5733
+ /**
5734
+ * Convert LinkDirection enum to Direction string
5735
+ */
5736
+ private convertDirection;
5737
+ /**
5738
+ * Convert LinkRenderContext to PathRenderContext
5739
+ */
5740
+ private convertToPathRenderContext;
5741
+ /**
5742
+ * Convert LinkRenderType to RenderMode
5743
+ */
5744
+ private convertRenderMode;
5745
+ /**
5746
+ * Convert LinkMarkerShape to ArrowShape
5747
+ */
5748
+ private convertArrowShape;
5749
+ /**
5750
+ * Convert color map to ensure all values are strings
5751
+ */
5752
+ private convertColorMap;
5753
+ /**
5754
+ * Apply spline offset to a point, mimicking original #addSplineOffset behavior
5755
+ * Critically: does nothing for CENTER/NONE directions (no case for them)
5756
+ */
5757
+ private applySplineOffset;
5758
+ /**
5759
+ * Direct rendering method compatible with LGraphCanvas
5760
+ * Converts data and delegates to pure renderer
5761
+ */
5762
+ renderLinkDirect(ctx: CanvasRenderingContext2D, a: ReadOnlyPoint, b: ReadOnlyPoint, link: LLink | null, skip_border: boolean, flow: number | boolean | null, color: CanvasColour | null, start_dir: LinkDirection, end_dir: LinkDirection, context: LinkRenderContext, extras?: {
5763
+ reroute?: Reroute;
5764
+ startControl?: ReadOnlyPoint;
5765
+ endControl?: ReadOnlyPoint;
5766
+ num_sublines?: number;
5767
+ disabled?: boolean;
5768
+ }): void;
5769
+ /**
5770
+ * Render a link being dragged from a slot to mouse position
5771
+ * Used during link creation/reconnection
5772
+ */
5773
+ renderDraggingLink(ctx: CanvasRenderingContext2D, fromNode: LGraphNode | null, fromSlot: INodeOutputSlot | INodeInputSlot, fromSlotIndex: number, toPosition: ReadOnlyPoint, context: LinkRenderContext, options?: {
5774
+ fromInput?: boolean;
5775
+ color?: CanvasColour;
5776
+ disabled?: boolean;
5777
+ }): void;
5778
+ /**
5779
+ * Calculate bounding box for a link
5780
+ * Includes padding for line width and control points
5781
+ */
5782
+ private calculateLinkBounds;
5783
+ }
5784
+
5533
5785
  declare class LLink implements LinkSegment, Serialisable<SerialisableLLink> {
5534
5786
  #private;
5535
5787
  static _drawDebug: boolean;
@@ -5692,6 +5944,16 @@ export declare class ComfyApp {
5692
5944
 
5693
5945
  export { LogsRawResponse }
5694
5946
 
5947
+ /**
5948
+ * Widget for displaying markdown formatted text
5949
+ * This is a widget that only has a Vue widgets implementation
5950
+ */
5951
+ declare class MarkdownWidget extends BaseWidget<IMarkdownWidget> implements IMarkdownWidget {
5952
+ type: "markdown";
5953
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
5954
+ onClick(_options: WidgetEventOptions): void;
5955
+ }
5956
+
5695
5957
  declare type MenuCommandGroup = {
5696
5958
  /**
5697
5959
  * The path to the menu group.
@@ -5807,6 +6069,16 @@ export declare class ComfyApp {
5807
6069
  disconnect(): boolean;
5808
6070
  }
5809
6071
 
6072
+ /**
6073
+ * Widget for selecting multiple options
6074
+ * This is a widget that only has a Vue widgets implementation
6075
+ */
6076
+ declare class MultiSelectWidget extends BaseWidget<IMultiSelectWidget> implements IMultiSelectWidget {
6077
+ type: "multiselect";
6078
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
6079
+ onClick(_options: WidgetEventOptions): void;
6080
+ }
6081
+
5810
6082
  /** {@link Omit} all properties that evaluate to `never`. */
5811
6083
  declare type NeverNever<T> = {
5812
6084
  [K in keyof T as T[K] extends never ? never : K]: T[K];
@@ -6463,6 +6735,16 @@ export declare class ComfyApp {
6463
6735
  subgraphInput: SubgraphIO;
6464
6736
  }
6465
6737
 
6738
+ /**
6739
+ * Widget for selecting from a group of buttons
6740
+ * This is a widget that only has a Vue widgets implementation
6741
+ */
6742
+ declare class SelectButtonWidget extends BaseWidget<ISelectButtonWidget> implements ISelectButtonWidget {
6743
+ type: "selectbutton";
6744
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
6745
+ onClick(_options: WidgetEventOptions): void;
6746
+ }
6747
+
6466
6748
  /**
6467
6749
  * An object that implements custom pre-serialization logic via {@link Serialisable.asSerialisable}.
6468
6750
  */
@@ -6598,10 +6880,6 @@ export declare class ComfyApp {
6598
6880
 
6599
6881
  /** @see LinkDirection */
6600
6882
  declare enum SlotDirection {
6601
- Up = 1,
6602
- Right = 4,
6603
- Down = 2,
6604
- Left = 3
6605
6883
  }
6606
6884
 
6607
6885
  /** @see RenderShape */
@@ -7044,6 +7322,16 @@ export declare class ComfyApp {
7044
7322
 
7045
7323
  export { TerminalSize }
7046
7324
 
7325
+ /**
7326
+ * Widget for multi-line text input
7327
+ * This is a widget that only has a Vue widgets implementation
7328
+ */
7329
+ declare class TextareaWidget extends BaseWidget<ITextareaWidget> implements ITextareaWidget {
7330
+ type: "textarea";
7331
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
7332
+ onClick(_options: WidgetEventOptions): void;
7333
+ }
7334
+
7047
7335
  declare class TextWidget extends BaseWidget<IStringWidget> implements IStringWidget {
7048
7336
  constructor(widget: IStringWidget, node: LGraphNode);
7049
7337
  /**
@@ -7209,6 +7497,16 @@ export declare class ComfyApp {
7209
7497
  connectToRerouteInput(): void;
7210
7498
  }
7211
7499
 
7500
+ /**
7501
+ * Widget for hierarchical tree selection
7502
+ * This is a widget that only has a Vue widgets implementation
7503
+ */
7504
+ declare class TreeSelectWidget extends BaseWidget<ITreeSelectWidget> implements ITreeSelectWidget {
7505
+ type: "treeselect";
7506
+ drawWidget(ctx: CanvasRenderingContext2D, options: DrawWidgetOptions): void;
7507
+ onClick(_options: WidgetEventOptions): void;
7508
+ }
7509
+
7212
7510
  /**
7213
7511
  * Valid widget types. TS cannot provide easily extensible type safety for this at present.
7214
7512
  * Override linkedWidgets[]
@@ -7341,6 +7639,16 @@ export declare class ComfyApp {
7341
7639
  string: TextWidget;
7342
7640
  text: TextWidget;
7343
7641
  custom: LegacyWidget;
7642
+ fileupload: FileUploadWidget;
7643
+ color: ColorWidget;
7644
+ markdown: MarkdownWidget;
7645
+ treeselect: TreeSelectWidget;
7646
+ multiselect: MultiSelectWidget;
7647
+ chart: ChartWidget;
7648
+ galleria: GalleriaWidget;
7649
+ imagecompare: ImageCompareWidget;
7650
+ selectbutton: SelectButtonWidget;
7651
+ textarea: TextareaWidget;
7344
7652
  [key: string]: BaseWidget;
7345
7653
  };
7346
7654
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comfyorg/comfyui-frontend-types",
3
- "version": "1.26.11",
3
+ "version": "1.27.1",
4
4
  "types": "./index.d.ts",
5
5
  "files": [
6
6
  "index.d.ts"