@genfeedai/types 0.1.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.
- package/dist/chunk-7NJUD2WZ.mjs +1 -0
- package/dist/chunk-KXAKQO3U.js +11 -0
- package/dist/chunk-OGJX4J7H.mjs +808 -0
- package/dist/chunk-P7K5LM6V.js +825 -0
- package/dist/chunk-RNGYPX4W.js +2 -0
- package/dist/chunk-WT2F5CAF.mjs +9 -0
- package/dist/comfyui.d.mts +91 -0
- package/dist/comfyui.d.ts +91 -0
- package/dist/comfyui.js +4 -0
- package/dist/comfyui.mjs +1 -0
- package/dist/index.d.mts +268 -0
- package/dist/index.d.ts +268 -0
- package/dist/index.js +185 -0
- package/dist/index.mjs +109 -0
- package/dist/nodes.d.mts +19 -0
- package/dist/nodes.d.ts +19 -0
- package/dist/nodes.js +54 -0
- package/dist/nodes.mjs +1 -0
- package/dist/replicate.d.mts +1092 -0
- package/dist/replicate.d.ts +1092 -0
- package/dist/replicate.js +2 -0
- package/dist/replicate.mjs +1 -0
- package/dist/union-CtYAY8Mv.d.mts +541 -0
- package/dist/union-CtYAY8Mv.d.ts +541 -0
- package/dist/workflow-CGpVuRPg.d.mts +99 -0
- package/dist/workflow-Di5vTrXa.d.ts +99 -0
- package/dist/workflow.d.mts +3 -0
- package/dist/workflow.d.ts +3 -0
- package/dist/workflow.js +10 -0
- package/dist/workflow.mjs +1 -0
- package/package.json +60 -0
- package/src/replicate/schemas.json +6636 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// src/workflow.ts
|
|
2
|
+
var EdgeStyleEnum = /* @__PURE__ */ ((EdgeStyleEnum2) => {
|
|
3
|
+
EdgeStyleEnum2["DEFAULT"] = "default";
|
|
4
|
+
EdgeStyleEnum2["SMOOTHSTEP"] = "smoothstep";
|
|
5
|
+
EdgeStyleEnum2["STRAIGHT"] = "straight";
|
|
6
|
+
return EdgeStyleEnum2;
|
|
7
|
+
})(EdgeStyleEnum || {});
|
|
8
|
+
|
|
9
|
+
export { EdgeStyleEnum };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A ComfyUI prompt is a graph of nodes, keyed by node ID.
|
|
3
|
+
* Each node has a class_type (e.g. "KSampler", "CLIPTextEncode") and inputs.
|
|
4
|
+
*/
|
|
5
|
+
interface ComfyUINode {
|
|
6
|
+
class_type: string;
|
|
7
|
+
inputs: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
interface ComfyUIPrompt {
|
|
10
|
+
[nodeId: string]: ComfyUINode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Describes a dynamic input that can be injected into a ComfyUI prompt template.
|
|
14
|
+
* Used to map user-facing workflow params to specific ComfyUI node fields.
|
|
15
|
+
*/
|
|
16
|
+
interface ComfyUITemplateInput {
|
|
17
|
+
/** Display name shown to the user (e.g. "Prompt", "Seed", "Face Photo") */
|
|
18
|
+
key: string;
|
|
19
|
+
/** Which ComfyUI node ID to inject the value into */
|
|
20
|
+
nodeId: string;
|
|
21
|
+
/** Which input field on the node */
|
|
22
|
+
field: string;
|
|
23
|
+
/** The type of the input */
|
|
24
|
+
type: 'string' | 'number' | 'image' | 'boolean' | 'select';
|
|
25
|
+
/** Default value if none provided */
|
|
26
|
+
default?: unknown;
|
|
27
|
+
/** Whether this input is required */
|
|
28
|
+
required?: boolean;
|
|
29
|
+
/** Description shown in the UI */
|
|
30
|
+
description?: string;
|
|
31
|
+
/** Options for select-type inputs */
|
|
32
|
+
options?: string[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A ComfyUI workflow template: a prompt with metadata about dynamic inputs.
|
|
36
|
+
* This is what gets stored on a workflow/listing for "run on your own ComfyUI" export.
|
|
37
|
+
*/
|
|
38
|
+
interface ComfyUIWorkflowTemplate {
|
|
39
|
+
/** The raw ComfyUI prompt JSON (node graph) */
|
|
40
|
+
prompt: ComfyUIPrompt;
|
|
41
|
+
/** Dynamic inputs that can be customized per execution */
|
|
42
|
+
inputs: ComfyUITemplateInput[];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* A single output image/file from a ComfyUI execution.
|
|
47
|
+
*/
|
|
48
|
+
interface ComfyUIOutputFile {
|
|
49
|
+
filename: string;
|
|
50
|
+
subfolder: string;
|
|
51
|
+
type: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Output from a single ComfyUI node in the history response.
|
|
55
|
+
*/
|
|
56
|
+
interface ComfyUINodeOutput {
|
|
57
|
+
images?: ComfyUIOutputFile[];
|
|
58
|
+
gifs?: ComfyUIOutputFile[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Status info for a completed ComfyUI prompt.
|
|
62
|
+
*/
|
|
63
|
+
interface ComfyUIPromptStatus {
|
|
64
|
+
status_str: string;
|
|
65
|
+
completed: boolean;
|
|
66
|
+
messages: Array<[string, Record<string, unknown>]>;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A single history entry from the ComfyUI /history endpoint.
|
|
70
|
+
*/
|
|
71
|
+
interface ComfyUIHistoryEntry {
|
|
72
|
+
prompt: [number, string, Record<string, unknown>, Record<string, unknown>];
|
|
73
|
+
outputs: Record<string, ComfyUINodeOutput>;
|
|
74
|
+
status: ComfyUIPromptStatus;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Full response from GET /history/{prompt_id}
|
|
78
|
+
*/
|
|
79
|
+
interface ComfyUIHistoryResponse {
|
|
80
|
+
[promptId: string]: ComfyUIHistoryEntry;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Response from POST /prompt (queue a new prompt)
|
|
84
|
+
*/
|
|
85
|
+
interface ComfyUIQueuePromptResponse {
|
|
86
|
+
prompt_id: string;
|
|
87
|
+
number: number;
|
|
88
|
+
node_errors: Record<string, unknown>;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export type { ComfyUIHistoryEntry, ComfyUIHistoryResponse, ComfyUINode, ComfyUINodeOutput, ComfyUIOutputFile, ComfyUIPrompt, ComfyUIPromptStatus, ComfyUIQueuePromptResponse, ComfyUITemplateInput, ComfyUIWorkflowTemplate };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A ComfyUI prompt is a graph of nodes, keyed by node ID.
|
|
3
|
+
* Each node has a class_type (e.g. "KSampler", "CLIPTextEncode") and inputs.
|
|
4
|
+
*/
|
|
5
|
+
interface ComfyUINode {
|
|
6
|
+
class_type: string;
|
|
7
|
+
inputs: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
interface ComfyUIPrompt {
|
|
10
|
+
[nodeId: string]: ComfyUINode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Describes a dynamic input that can be injected into a ComfyUI prompt template.
|
|
14
|
+
* Used to map user-facing workflow params to specific ComfyUI node fields.
|
|
15
|
+
*/
|
|
16
|
+
interface ComfyUITemplateInput {
|
|
17
|
+
/** Display name shown to the user (e.g. "Prompt", "Seed", "Face Photo") */
|
|
18
|
+
key: string;
|
|
19
|
+
/** Which ComfyUI node ID to inject the value into */
|
|
20
|
+
nodeId: string;
|
|
21
|
+
/** Which input field on the node */
|
|
22
|
+
field: string;
|
|
23
|
+
/** The type of the input */
|
|
24
|
+
type: 'string' | 'number' | 'image' | 'boolean' | 'select';
|
|
25
|
+
/** Default value if none provided */
|
|
26
|
+
default?: unknown;
|
|
27
|
+
/** Whether this input is required */
|
|
28
|
+
required?: boolean;
|
|
29
|
+
/** Description shown in the UI */
|
|
30
|
+
description?: string;
|
|
31
|
+
/** Options for select-type inputs */
|
|
32
|
+
options?: string[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A ComfyUI workflow template: a prompt with metadata about dynamic inputs.
|
|
36
|
+
* This is what gets stored on a workflow/listing for "run on your own ComfyUI" export.
|
|
37
|
+
*/
|
|
38
|
+
interface ComfyUIWorkflowTemplate {
|
|
39
|
+
/** The raw ComfyUI prompt JSON (node graph) */
|
|
40
|
+
prompt: ComfyUIPrompt;
|
|
41
|
+
/** Dynamic inputs that can be customized per execution */
|
|
42
|
+
inputs: ComfyUITemplateInput[];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* A single output image/file from a ComfyUI execution.
|
|
47
|
+
*/
|
|
48
|
+
interface ComfyUIOutputFile {
|
|
49
|
+
filename: string;
|
|
50
|
+
subfolder: string;
|
|
51
|
+
type: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Output from a single ComfyUI node in the history response.
|
|
55
|
+
*/
|
|
56
|
+
interface ComfyUINodeOutput {
|
|
57
|
+
images?: ComfyUIOutputFile[];
|
|
58
|
+
gifs?: ComfyUIOutputFile[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Status info for a completed ComfyUI prompt.
|
|
62
|
+
*/
|
|
63
|
+
interface ComfyUIPromptStatus {
|
|
64
|
+
status_str: string;
|
|
65
|
+
completed: boolean;
|
|
66
|
+
messages: Array<[string, Record<string, unknown>]>;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A single history entry from the ComfyUI /history endpoint.
|
|
70
|
+
*/
|
|
71
|
+
interface ComfyUIHistoryEntry {
|
|
72
|
+
prompt: [number, string, Record<string, unknown>, Record<string, unknown>];
|
|
73
|
+
outputs: Record<string, ComfyUINodeOutput>;
|
|
74
|
+
status: ComfyUIPromptStatus;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Full response from GET /history/{prompt_id}
|
|
78
|
+
*/
|
|
79
|
+
interface ComfyUIHistoryResponse {
|
|
80
|
+
[promptId: string]: ComfyUIHistoryEntry;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Response from POST /prompt (queue a new prompt)
|
|
84
|
+
*/
|
|
85
|
+
interface ComfyUIQueuePromptResponse {
|
|
86
|
+
prompt_id: string;
|
|
87
|
+
number: number;
|
|
88
|
+
node_errors: Record<string, unknown>;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export type { ComfyUIHistoryEntry, ComfyUIHistoryResponse, ComfyUINode, ComfyUINodeOutput, ComfyUIOutputFile, ComfyUIPrompt, ComfyUIPromptStatus, ComfyUIQueuePromptResponse, ComfyUITemplateInput, ComfyUIWorkflowTemplate };
|
package/dist/comfyui.js
ADDED
package/dist/comfyui.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './chunk-7NJUD2WZ.mjs';
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
export { ComfyUIHistoryEntry, ComfyUIHistoryResponse, ComfyUINode, ComfyUINodeOutput, ComfyUIOutputFile, ComfyUIPrompt, ComfyUIPromptStatus, ComfyUIQueuePromptResponse, ComfyUITemplateInput, ComfyUIWorkflowTemplate } from './comfyui.mjs';
|
|
2
|
+
export { ab as AnimationNodeData, as as AnnotationNodeData, ar as AnnotationShapeData, s as AspectRatio, ad as AudioCodec, A as AudioInputNodeData, o as AvailableVariable, B as BaseNodeData, C as CONNECTION_RULES, a4 as CameraMovement, a6 as CharacterOrientation, aa as CubicBezier, az as DownloadNodeData, a9 as EasingPreset, ai as FrameSelectionMode, ap as GridOutputFormat, G as GridPosition, b as HandleDefinition, a as HandleType, H as HandleTypeEnum, ax as ImageCompareNodeData, E as ImageGenNodeData, aq as ImageGridSplitNodeData, I as ImageInputNodeData, q as ImageModel, K as KlingQuality, a5 as KlingQualityMode, Q as LLMNodeData, X as LipSyncMode, W as LipSyncModel, Y as LipSyncNodeData, L as LumaAspectRatio, w as LumaReframeModel, e as ModelCapability, M as ModelCapabilityEnum, g as ModelUseCase, f as ModelUseCaseEnum, a3 as MotionControlMode, a8 as MotionControlNodeData, k as NodeCategory, j as NodeCategoryEnum, m as NodeStatus, l as NodeStatusEnum, i as NodeType, N as NodeTypeEnum, O as OutputFormat, aw as OutputGalleryNodeData, ay as OutputInputType, aA as OutputNodeData, ae as OutputQuality, P as ProcessingNodeType, p as PromptConstructorNodeData, n as PromptNodeData, h as ProviderModel, d as ProviderType, c as ProviderTypeEnum, ak as ReframeInputType, al as ReframeNodeData, R as ReframeNodeType, ag as ResizeNodeData, t as Resolution, S as SelectedModel, av as SubtitleNodeData, au as SubtitlePosition, at as SubtitleStyle, _ as TTSProvider, $ as TTSVoice, T as TemplateCategory, J as TextModel, a0 as TextToSpeechNodeData, x as TopazEnhanceModel, y as TopazUpscaleFactor, D as TopazVideoFPS, z as TopazVideoResolution, a7 as TrajectoryPoint, a1 as TranscribeLanguage, a2 as TranscribeNodeData, ac as TransitionType, am as UpscaleInputType, an as UpscaleModel, ao as UpscaleNodeData, U as UpscaleNodeType, v as VideoDuration, aj as VideoFrameExtractNodeData, F as VideoGenNodeData, V as VideoInputNodeData, r as VideoModel, u as VideoResolution, af as VideoStitchNodeData, ah as VideoTrimNodeData, Z as VoiceChangeNodeData, aK as WorkflowEdge, aJ as WorkflowEdgeData, aB as WorkflowInputNodeData, aF as WorkflowInterface, aD as WorkflowInterfaceInput, aE as WorkflowInterfaceOutput, aI as WorkflowNode, aH as WorkflowNodeData, aC as WorkflowOutputNodeData, aG as WorkflowRefNodeData } from './union-CtYAY8Mv.mjs';
|
|
3
|
+
export { C as CostEstimate, a as EdgeStyle, E as EdgeStyleEnum, e as ExecutionResult, G as GroupColor, N as NodeGroup, b as TemplateEdge, T as TemplateNode, V as ValidationError, d as ValidationResult, f as WorkflowCostEstimate, W as WorkflowFile, c as WorkflowTemplate } from './workflow-CGpVuRPg.mjs';
|
|
4
|
+
export { NODE_DEFINITIONS, NODE_ORDER, NodeDefinition, getNodesByCategory } from './nodes.mjs';
|
|
5
|
+
import '@xyflow/react';
|
|
6
|
+
|
|
7
|
+
type ActionCategory = 'crud' | 'ai' | 'data' | 'validation';
|
|
8
|
+
type CrudAction = 'add' | 'duplicate' | 'delete' | 'reorder';
|
|
9
|
+
type AIAction = 'enhance' | 'generate' | 'suggest';
|
|
10
|
+
type DataAction = 'copy' | 'paste' | 'import' | 'export';
|
|
11
|
+
type ValidationAction = 'validate' | 'autofill' | 'reset';
|
|
12
|
+
type InputGroupActionType = CrudAction | AIAction | DataAction | ValidationAction;
|
|
13
|
+
interface ActionConfig<TIcon = unknown> {
|
|
14
|
+
id: string;
|
|
15
|
+
type: InputGroupActionType;
|
|
16
|
+
category: ActionCategory;
|
|
17
|
+
label: string;
|
|
18
|
+
icon: TIcon;
|
|
19
|
+
shortcut?: string;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
hidden?: boolean;
|
|
22
|
+
danger?: boolean;
|
|
23
|
+
onClick: () => void;
|
|
24
|
+
}
|
|
25
|
+
type ActionUIPattern = 'hover-toolbar' | 'context-menu' | 'inline-buttons' | 'dropdown-menu';
|
|
26
|
+
type InputGroupVariant = 'section' | 'inline' | 'card' | 'minimal';
|
|
27
|
+
interface InputGroupProps<TChildren = unknown, TIcon = unknown> {
|
|
28
|
+
/** Unique identifier for the group */
|
|
29
|
+
id: string;
|
|
30
|
+
/** Group title displayed in header */
|
|
31
|
+
title?: string;
|
|
32
|
+
/** Optional description text */
|
|
33
|
+
description?: string;
|
|
34
|
+
/** Visual variant */
|
|
35
|
+
variant?: InputGroupVariant;
|
|
36
|
+
/** Whether the group is collapsible */
|
|
37
|
+
collapsible?: boolean;
|
|
38
|
+
/** Initial collapsed state */
|
|
39
|
+
defaultCollapsed?: boolean;
|
|
40
|
+
/** Whether the group is in edit mode (inline editing) */
|
|
41
|
+
isEditing?: boolean;
|
|
42
|
+
/** Actions available at the group level */
|
|
43
|
+
actions?: ActionConfig<TIcon>[];
|
|
44
|
+
/** How to display actions */
|
|
45
|
+
actionPattern?: ActionUIPattern;
|
|
46
|
+
/** Whether the entire group is disabled */
|
|
47
|
+
disabled?: boolean;
|
|
48
|
+
/** Whether the group is in loading state */
|
|
49
|
+
loading?: boolean;
|
|
50
|
+
/** Error message for the group */
|
|
51
|
+
error?: string;
|
|
52
|
+
/** Callback when edit mode changes */
|
|
53
|
+
onEditChange?: (isEditing: boolean) => void;
|
|
54
|
+
/** Callback when group is collapsed/expanded */
|
|
55
|
+
onCollapseChange?: (collapsed: boolean) => void;
|
|
56
|
+
/** Children - InputGroupField or InputGroupRow components */
|
|
57
|
+
children: TChildren;
|
|
58
|
+
/** Additional CSS classes */
|
|
59
|
+
className?: string;
|
|
60
|
+
}
|
|
61
|
+
interface InputGroupHeaderProps<TIcon = unknown> {
|
|
62
|
+
title: string;
|
|
63
|
+
description?: string;
|
|
64
|
+
collapsible?: boolean;
|
|
65
|
+
collapsed?: boolean;
|
|
66
|
+
onCollapseToggle?: () => void;
|
|
67
|
+
actions?: ActionConfig<TIcon>[];
|
|
68
|
+
actionPattern?: ActionUIPattern;
|
|
69
|
+
isEditing?: boolean;
|
|
70
|
+
onSave?: () => void;
|
|
71
|
+
onCancel?: () => void;
|
|
72
|
+
className?: string;
|
|
73
|
+
}
|
|
74
|
+
type FieldWidth = 'full' | 'half' | 'third' | 'quarter' | 'auto';
|
|
75
|
+
interface InputGroupFieldProps<TChildren = unknown, TIcon = unknown> {
|
|
76
|
+
/** Unique identifier */
|
|
77
|
+
id: string;
|
|
78
|
+
/** Field label */
|
|
79
|
+
label?: string;
|
|
80
|
+
/** Helper text below the field */
|
|
81
|
+
helperText?: string;
|
|
82
|
+
/** Whether field is required */
|
|
83
|
+
required?: boolean;
|
|
84
|
+
/** Validation error */
|
|
85
|
+
error?: string;
|
|
86
|
+
/** Actions for this specific field */
|
|
87
|
+
actions?: ActionConfig<TIcon>[];
|
|
88
|
+
/** How to display field-level actions */
|
|
89
|
+
actionPattern?: ActionUIPattern;
|
|
90
|
+
/** Whether field is disabled */
|
|
91
|
+
disabled?: boolean;
|
|
92
|
+
/** The actual input component */
|
|
93
|
+
children: TChildren;
|
|
94
|
+
/** Layout width */
|
|
95
|
+
width?: FieldWidth;
|
|
96
|
+
/** Additional CSS classes */
|
|
97
|
+
className?: string;
|
|
98
|
+
}
|
|
99
|
+
interface InputGroupRowProps<T = Record<string, unknown>, TChildren = unknown, TIcon = unknown> {
|
|
100
|
+
/** Row index in the list */
|
|
101
|
+
index: number;
|
|
102
|
+
/** Row data */
|
|
103
|
+
data: T;
|
|
104
|
+
/** Whether this row is being dragged */
|
|
105
|
+
isDragging?: boolean;
|
|
106
|
+
/** Whether rows can be reordered */
|
|
107
|
+
sortable?: boolean;
|
|
108
|
+
/** Actions available for this row */
|
|
109
|
+
actions?: ActionConfig<TIcon>[];
|
|
110
|
+
/** How to display row actions */
|
|
111
|
+
actionPattern?: ActionUIPattern;
|
|
112
|
+
/** Callback when data changes */
|
|
113
|
+
onChange: (data: T) => void;
|
|
114
|
+
/** Callback to delete this row */
|
|
115
|
+
onDelete?: () => void;
|
|
116
|
+
/** Callback to duplicate this row */
|
|
117
|
+
onDuplicate?: () => void;
|
|
118
|
+
/** The row content */
|
|
119
|
+
children: TChildren;
|
|
120
|
+
/** Additional CSS classes */
|
|
121
|
+
className?: string;
|
|
122
|
+
}
|
|
123
|
+
interface RowHelpers<T> {
|
|
124
|
+
update: (data: Partial<T>) => void;
|
|
125
|
+
remove: () => void;
|
|
126
|
+
duplicate: () => void;
|
|
127
|
+
moveUp: () => void;
|
|
128
|
+
moveDown: () => void;
|
|
129
|
+
}
|
|
130
|
+
interface DynamicListProps<T = Record<string, unknown>, TIcon = unknown> {
|
|
131
|
+
/** List of items */
|
|
132
|
+
items: T[];
|
|
133
|
+
/** Minimum number of items */
|
|
134
|
+
minItems?: number;
|
|
135
|
+
/** Maximum number of items */
|
|
136
|
+
maxItems?: number;
|
|
137
|
+
/** Whether items can be reordered */
|
|
138
|
+
sortable?: boolean;
|
|
139
|
+
/** Default value for new items */
|
|
140
|
+
defaultItem: T;
|
|
141
|
+
/** Callback when items change */
|
|
142
|
+
onChange: (items: T[]) => void;
|
|
143
|
+
/** Render function for each row */
|
|
144
|
+
renderRow: (item: T, index: number, helpers: RowHelpers<T>) => unknown;
|
|
145
|
+
/** Add button label */
|
|
146
|
+
addButtonLabel?: string;
|
|
147
|
+
/** Empty state message */
|
|
148
|
+
emptyMessage?: string;
|
|
149
|
+
/** Group-level actions */
|
|
150
|
+
actions?: ActionConfig<TIcon>[];
|
|
151
|
+
/** Additional CSS classes */
|
|
152
|
+
className?: string;
|
|
153
|
+
}
|
|
154
|
+
type ToolbarSize = 'sm' | 'md' | 'lg';
|
|
155
|
+
type ToolbarOrientation = 'horizontal' | 'vertical';
|
|
156
|
+
type ToolbarVisibility = boolean | 'hover';
|
|
157
|
+
interface ActionToolbarProps<TIcon = unknown> {
|
|
158
|
+
actions: ActionConfig<TIcon>[];
|
|
159
|
+
size?: ToolbarSize;
|
|
160
|
+
orientation?: ToolbarOrientation;
|
|
161
|
+
visible?: ToolbarVisibility;
|
|
162
|
+
className?: string;
|
|
163
|
+
}
|
|
164
|
+
type MenuAlign = 'start' | 'center' | 'end';
|
|
165
|
+
type MenuSide = 'top' | 'right' | 'bottom' | 'left';
|
|
166
|
+
interface ActionMenuProps<TIcon = unknown, TTriggerIcon = unknown> {
|
|
167
|
+
actions: ActionConfig<TIcon>[];
|
|
168
|
+
triggerIcon?: TTriggerIcon;
|
|
169
|
+
triggerLabel?: string;
|
|
170
|
+
align?: MenuAlign;
|
|
171
|
+
side?: MenuSide;
|
|
172
|
+
className?: string;
|
|
173
|
+
}
|
|
174
|
+
interface DimensionsValue {
|
|
175
|
+
width: number;
|
|
176
|
+
height: number;
|
|
177
|
+
unit?: 'px' | 'em' | 'rem' | '%' | 'vw' | 'vh';
|
|
178
|
+
}
|
|
179
|
+
interface KeyValuePair {
|
|
180
|
+
id: string;
|
|
181
|
+
key: string;
|
|
182
|
+
value: string;
|
|
183
|
+
}
|
|
184
|
+
interface DimensionsGroupProps {
|
|
185
|
+
value: DimensionsValue;
|
|
186
|
+
onChange: (value: DimensionsValue) => void;
|
|
187
|
+
disabled?: boolean;
|
|
188
|
+
error?: string;
|
|
189
|
+
showUnit?: boolean;
|
|
190
|
+
minWidth?: number;
|
|
191
|
+
maxWidth?: number;
|
|
192
|
+
minHeight?: number;
|
|
193
|
+
maxHeight?: number;
|
|
194
|
+
className?: string;
|
|
195
|
+
}
|
|
196
|
+
interface KeyValueListProps {
|
|
197
|
+
items: KeyValuePair[];
|
|
198
|
+
onChange: (items: KeyValuePair[]) => void;
|
|
199
|
+
disabled?: boolean;
|
|
200
|
+
keyPlaceholder?: string;
|
|
201
|
+
valuePlaceholder?: string;
|
|
202
|
+
addButtonLabel?: string;
|
|
203
|
+
minItems?: number;
|
|
204
|
+
maxItems?: number;
|
|
205
|
+
className?: string;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
interface IStyleSettings {
|
|
209
|
+
mood?: string;
|
|
210
|
+
style?: string;
|
|
211
|
+
camera?: string;
|
|
212
|
+
lighting?: string;
|
|
213
|
+
scene?: string;
|
|
214
|
+
}
|
|
215
|
+
declare const PROMPT_CATEGORIES: readonly ["ads", "anime", "product", "portrait", "landscape", "abstract", "fashion", "food", "architecture", "custom"];
|
|
216
|
+
type PromptCategory = (typeof PROMPT_CATEGORIES)[number];
|
|
217
|
+
interface IPrompt {
|
|
218
|
+
_id: string;
|
|
219
|
+
name: string;
|
|
220
|
+
description: string;
|
|
221
|
+
promptText: string;
|
|
222
|
+
styleSettings: IStyleSettings;
|
|
223
|
+
aspectRatio?: string;
|
|
224
|
+
preferredModel?: string;
|
|
225
|
+
category: PromptCategory;
|
|
226
|
+
tags: string[];
|
|
227
|
+
thumbnail?: string;
|
|
228
|
+
useCount: number;
|
|
229
|
+
isFeatured: boolean;
|
|
230
|
+
isSystem: boolean;
|
|
231
|
+
isDeleted: boolean;
|
|
232
|
+
createdAt: string;
|
|
233
|
+
updatedAt: string;
|
|
234
|
+
}
|
|
235
|
+
interface ICreatePrompt {
|
|
236
|
+
name: string;
|
|
237
|
+
description?: string;
|
|
238
|
+
promptText: string;
|
|
239
|
+
styleSettings?: IStyleSettings;
|
|
240
|
+
aspectRatio?: string;
|
|
241
|
+
preferredModel?: string;
|
|
242
|
+
category?: PromptCategory;
|
|
243
|
+
tags?: string[];
|
|
244
|
+
thumbnail?: string;
|
|
245
|
+
isFeatured?: boolean;
|
|
246
|
+
}
|
|
247
|
+
interface IQueryPrompts {
|
|
248
|
+
category?: PromptCategory;
|
|
249
|
+
search?: string;
|
|
250
|
+
tag?: string;
|
|
251
|
+
limit?: number;
|
|
252
|
+
offset?: number;
|
|
253
|
+
sortBy?: 'createdAt' | 'useCount' | 'name';
|
|
254
|
+
sortOrder?: 'asc' | 'desc';
|
|
255
|
+
}
|
|
256
|
+
declare const MOOD_PRESETS: readonly ["cinematic", "dreamy", "gritty", "ethereal", "nostalgic", "futuristic", "mysterious", "peaceful", "energetic", "moody", "dramatic", "whimsical"];
|
|
257
|
+
declare const STYLE_PRESETS: readonly ["photorealistic", "anime", "3d-render", "oil-painting", "watercolor", "digital-art", "comic-book", "sketch", "pixel-art", "minimalist", "cyberpunk", "fantasy", "retro", "vintage"];
|
|
258
|
+
declare const CAMERA_PRESETS: readonly ["wide-angle", "macro", "telephoto", "drone", "portrait", "fisheye", "tilt-shift", "gopro", "close-up", "establishing", "eye-level", "low-angle", "high-angle", "dutch-angle"];
|
|
259
|
+
declare const LIGHTING_PRESETS: readonly ["golden-hour", "studio", "neon", "natural", "dramatic", "soft", "backlit", "rim-light", "high-key", "low-key", "candlelight", "moonlight", "fluorescent", "cinematic"];
|
|
260
|
+
declare const SCENE_PRESETS: readonly ["indoor", "outdoor", "urban", "nature", "studio", "underwater", "space", "abstract", "industrial", "domestic", "beach", "forest", "city-skyline", "desert"];
|
|
261
|
+
type MoodPreset = (typeof MOOD_PRESETS)[number];
|
|
262
|
+
type StylePreset = (typeof STYLE_PRESETS)[number];
|
|
263
|
+
type CameraPreset = (typeof CAMERA_PRESETS)[number];
|
|
264
|
+
type LightingPreset = (typeof LIGHTING_PRESETS)[number];
|
|
265
|
+
type ScenePreset = (typeof SCENE_PRESETS)[number];
|
|
266
|
+
declare const CATEGORY_LABELS: Record<PromptCategory, string>;
|
|
267
|
+
|
|
268
|
+
export { type AIAction, type ActionCategory, type ActionConfig, type ActionMenuProps, type ActionToolbarProps, type ActionUIPattern, CAMERA_PRESETS, CATEGORY_LABELS, type CameraPreset, type CrudAction, type DataAction, type DimensionsGroupProps, type DimensionsValue, type DynamicListProps, type FieldWidth, type ICreatePrompt, type IPrompt, type IQueryPrompts, type IStyleSettings, type InputGroupActionType, type InputGroupFieldProps, type InputGroupHeaderProps, type InputGroupProps, type InputGroupRowProps, type InputGroupVariant, type KeyValueListProps, type KeyValuePair, LIGHTING_PRESETS, type LightingPreset, MOOD_PRESETS, type MenuAlign, type MenuSide, type MoodPreset, PROMPT_CATEGORIES, type PromptCategory, type RowHelpers, SCENE_PRESETS, STYLE_PRESETS, type ScenePreset, type StylePreset, type ToolbarOrientation, type ToolbarSize, type ToolbarVisibility, type ValidationAction };
|