pub mod column_resize;
pub mod component;
pub mod component_styles;
pub mod context;
pub mod date;
pub mod dependency;
pub mod devtools;
pub mod diagnostic;
pub mod document;
pub mod document_view;
pub mod drag_drop;
pub mod draggable;
pub mod effect;
pub mod element_ref;
pub mod engine;
mod environment_dependency;
pub mod event;
pub mod font;
pub mod geometry;
pub mod host_slot;
pub mod inline_svg;
mod interaction;
mod invocation;
pub mod lifecycle;
pub mod locale;
pub mod native_collection;
pub mod native_handler;
pub mod node;
pub mod overlay;
mod overlay_element;
pub mod pan_zoom;
pub mod primitive;
pub mod range_input;
pub mod range_slider;
mod read_dependency;
pub mod reload;
pub mod renderer;
pub mod resizable;
pub mod responsive;
pub mod retained;
pub mod rotatable;
pub mod schema;
mod script_lint;
pub mod script_source;
pub mod scrollbar;
pub mod selection_area;
pub mod signal;
mod slot_runtime;
pub mod sortable;
pub mod source;
pub mod split_resize;
pub mod state;
pub mod store;
pub mod style;
mod table_layout;
pub mod text_area;
mod text_edit;
pub mod text_input;
pub mod theme;
pub mod timer;
pub mod value;
pub mod virtual_list;
mod virtual_list_element;
pub mod window;
#[cfg(feature = "charts")]
pub mod chart;
pub mod accessibility;
pub mod action;
pub mod app;
pub mod asset;
pub mod async_runtime;
pub mod automation;
mod backend;
pub mod budget;
pub mod canvas;
pub mod capability;
pub mod clock;
mod collection_projection;
pub mod motion;
pub use gpui;
pub use gpui_platform;
pub use accessibility::{
AccessibilityError, AccessibilityNode, AccessibilityTree, CommittedSemanticFrame,
};
pub use action::{
ActionError, ActionId, ActionInvocation, ActionRegistry, DispatchScriptAction, KeyBindingSpec,
};
pub use app::{
EmbeddedScriptView, FileScriptView, PreparedScriptView, ScriptApplication, ScriptViewConfig,
ScriptViewError, ScriptViewExtension, ScriptViewHandle, ScriptViewHost,
ScriptViewPerformanceSnapshot, ScriptViewState, ThemeHandle, install,
};
pub use asset::{
AssetData, AssetError, AssetId, AssetProvider, AssetRegistry, DirectoryAssetProvider,
ImageDecodeHandle, ImageHandle, InMemoryAssetProvider, SvgCacheStats,
};
pub use async_runtime::{
AsyncDelivery, AsyncRuntimeError, AsyncScope, SubscriptionCloseReason,
SubscriptionDeliveryPolicy, SubscriptionEmitter, SubscriptionHandle, SubscriptionOptions,
SubscriptionRegistration, SubscriptionRegistry, TaskCancellation, TaskHandle, TaskRegistry,
};
pub use automation::{
AutomationBounds, AutomationCommand, AutomationDispatchReport, AutomationError,
AutomationFailure, AutomationLocator, AutomationNode, AutomationRequest, AutomationResponse,
AutomationResult, AutomationSnapshot, handle_automation_json_line, run_automation_json_lines,
};
pub use budget::{RuntimeBudgetError, RuntimeBudgets};
pub use canvas::{
CanvasClipRect, CanvasCommand, CanvasError, CanvasFill, CanvasPathSample, CanvasPathSegment,
CanvasScene, CanvasTransform,
};
pub use capability::{
AppManifest, AsyncCapabilityHandler, CapabilityDescriptor, CapabilityError, CapabilityHandler,
CapabilityId, CapabilityMethod, CapabilityRegistry, SubscriptionCapabilityHandler,
SubscriptionWork, TaskWork,
};
#[cfg(feature = "charts")]
pub use chart::*;
pub use clock::{ManualRuntimeClock, RuntimeClock, RuntimeClockSource};
pub use column_resize::{ColumnResizePrimitiveHandler, column_resize_primitive_descriptor};
pub use component::{
ComponentDefinition, ComponentError, ComponentExportCollector, ComponentExportError,
ComponentHeaderError, ComponentInvocation, ComponentMetadata, ComponentPropConversionError,
ComponentPropValue, ComponentProps, ComponentRegistry, ComponentRegistryError, ComponentSchema,
EventSchema, RuntimeApiRange, SlotSchema, parse_component_header,
};
pub use component_styles::{ComponentStyleError, ComponentStyleSheet, load_component_styles};
pub use context::{
ComponentIncarnation, ExecutionPhase, PendingEvent, UiContext, UiContextError, UiMutationBatch,
UiRuntimeState, UiStateSnapshot, UiTransactionError,
};
pub use date::{CalendarClock, CalendarClockSource, DateError, GregorianDate, Weekday};
pub use dependency::{
DependencyError, ModuleCompileCache, ModuleDependencyGraph, ModuleRefreshReport,
extract_imports,
};
#[cfg(feature = "dev-reload")]
pub use dependency::{FileChangeBatch, FileWatcher, WatcherError};
pub use devtools::{
InspectorComponent, InspectorEffect, InspectorElementRef, InspectorMotion, InspectorNode,
InspectorSignal, InspectorSnapshot, InspectorTimeline, InspectorTimer, RuntimeTrace,
RuntimeTraceKind, TraceBuffer,
};
pub use diagnostic::{
Diagnostic, DiagnosticCode, DiagnosticContext, DiagnosticContextError, DiagnosticErrorKind,
DiagnosticExecutionTiming, DiagnosticFrame, DiagnosticOperationBudget, DiagnosticSeverity,
DiagnosticStateSnapshot,
};
pub use document::{
DiffAlignedRow, DiffDisplayRow, DiffRowKind, DiffViewMode, DiffWhitespace, DocumentDescriptor,
DocumentError, DocumentLimits, DocumentLine, DocumentRuntimeConfig, DocumentSource,
DocumentWrap, NativeTextDocument, NativeTextDocumentRegistry, PreparedDiff, PreparedDocument,
SyntaxRegistry, SyntaxSpan, SyntaxTokenKind, prepare_diff, prepare_diff_with_limits,
prepare_document, prepare_document_with_limits,
};
pub use document_view::{
CodeViewerPrimitiveHandler, DiffSide, DiffViewerPrimitiveHandler, RevealDocumentLine,
code_viewer_primitive_descriptor, diff_viewer_primitive_descriptor, init_document_view,
};
pub use drag_drop::{
DragSourcePrimitiveHandler, DropZonePrimitiveHandler, drag_source_primitive_descriptor,
drop_zone_primitive_descriptor,
};
pub use draggable::{DraggablePrimitiveHandler, draggable_primitive_descriptor};
pub use effect::{EffectDescriptor, EffectError, EffectId, EffectRegistry};
pub use element_ref::{ElementRef, ElementRefError, ElementRefId, ElementRefRegistry};
pub use engine::{
CompiledUi, ComponentInvocationRecipe, DEFAULT_SCRIPT_OPERATION_LIMIT, ExecutionOperation,
ExecutionTiming, OPERATION_SEMANTICS_VERSION, RuntimeEngine, RuntimeError, ScriptCallback,
ScriptCallbackDefinitionError, ScriptGeneration,
};
pub use event::{
EventDispatchReport, EventModifiers, EventPhase, EventPropagation, EventResponse, EventRouter,
HostCallback, LogicalPoint, PointerCaptureDirective, PointerCaptureRegistry, PointerEventData,
PropagationControl, UiEvent, UiEventBinding, UiEventHandler, WheelEventData,
};
pub use font::{FontError, FontSource, validate_font_sources};
pub use geometry::{
Affine2D, ElementGeometry, GeometryBounds, GeometryError, GeometryRegistry, PresentedGeometry,
};
pub use host_slot::{HostSlotError, HostSlotRegistry};
pub use inline_svg::{InlineSvg, InlineSvgError};
pub use lifecycle::{LifecycleError, LifecycleState, ScriptLifecycle};
pub use locale::{
CalendarMetadata, CalendarNames, DatePatterns, DateStyle, LocaleBundle, LocaleError,
LocaleManager, NumberFormatOptions, NumberMetadata, TextDirection, format_date_with_metadata,
format_integer_with_metadata, format_number_with_metadata, load_locale_source,
};
pub use motion::{
MotionEasing, MotionError, MotionFrame, MotionHandle, MotionInertia, MotionIntent, MotionKey,
MotionKeyframe, MotionKeyframes, MotionPlaybackState, MotionPreference, MotionProgressBinding,
MotionProgressDriver, MotionProperty, MotionQuality, MotionResourceUsage, MotionRuntime,
MotionSnapshot, MotionSource, MotionSpring, MotionTimeline, MotionTimelineEvent,
MotionTimelineEventKind, MotionTimelineSnapshot, MotionTimelineStep, MotionTrack,
MotionTransition,
};
pub use native_collection::{
NativeCollection, NativeCollectionError, NativeCollectionRegistry, VirtualCollectionData,
};
pub use native_handler::{
NativeEvent, NativeHandlerDescriptor, NativeHandlerError, NativeHandlerId, NativeHandlerRef,
NativeHandlerRegistry,
};
pub use node::{
ImageSourceSpec, LayerNodeSpec, LayerPlacement, NodeKey, OverlayDismissPolicy,
OverlayInitialFocus, OverlayNodeSpec, OverlayWidthPolicy, SourceLocation, Span, TooltipDelays,
UiNode, UiNodeKind, UiNodeKindTag,
};
pub use overlay::{
DismissReport, FocusToken, OverlayBounds, OverlayError, OverlayId, OverlayKind, OverlayManager,
OverlayPlacement, OverlaySpec, PlacementResult, TooltipScheduler, TooltipTransition,
};
pub use pan_zoom::{PanZoomPrimitiveHandler, pan_zoom_primitive_descriptor};
pub use primitive::{
EffectPrimitiveDescriptor, PrimitiveAccessibilityProjection, PrimitiveContext,
PrimitiveDescriptor, PrimitiveError, PrimitiveHandler, PrimitiveId, PrimitiveInstance,
PrimitiveInstanceId, PrimitiveNode, PrimitivePlatform, PrimitiveProps, PrimitiveRegistry,
PrimitiveResourceError, PrimitiveResourceHandle, PrimitiveResourceScope,
PrimitiveSemanticProposal, PrimitiveTheme, PrimitiveValue,
};
pub use range_input::{RangeInputPrimitiveHandler, range_input_primitive_descriptor};
pub use range_slider::{RangeSliderPrimitiveHandler, range_slider_primitive_descriptor};
pub use reload::{LiveScript, ReloadOutcome};
pub use renderer::{
ColorResolver, GpuiNodeRenderer, LiteralColorResolver, NodeEventDispatcher, StaticUiView,
StaticUiViewError,
};
pub use resizable::{ResizablePrimitiveHandler, resizable_primitive_descriptor};
pub use responsive::{ResponsiveError, ResponsiveRuntime, ViewportBreakpoints, ViewportClass};
pub use retained::{
NodeId, ReconcileError, ReconcileMetrics, ReconcileReport, RetainedChildLink, RetainedNode,
RetainedUiTree,
};
pub use rotatable::{RotatablePrimitiveHandler, rotatable_primitive_descriptor};
pub use schema::{
ObjectField, SchemaDefinitionError, SchemaIssue, SchemaValidationError, ValueSchema,
};
pub use script_lint::{KnownCallDiagnostic, KnownCallLintError};
pub use script_source::{
EmbeddedScriptSource, FileScriptSource, ScriptAsset, ScriptSource, ScriptSourceError,
};
pub use scrollbar::{ScrollbarSpec, ScrollbarVisibility};
pub use selection_area::{SelectionAreaPrimitiveHandler, selection_area_primitive_descriptor};
pub use signal::{
NativeSignal, SignalError, SignalId, SignalKind, SignalProperty, SignalRegistry,
SignalSnapshot, SignalValue, SignalWriter,
};
pub use sortable::{SortablePrimitiveHandler, sortable_primitive_descriptor};
pub use source::{ModuleId, ModuleIdError, RestrictedModuleResolver};
pub use split_resize::{SplitResizePrimitiveHandler, split_resize_primitive_descriptor};
pub use state::{
ComponentInstancePath, ComponentStateSchema, RenderStateTransaction, StateError, StateField,
StateInstanceSnapshot, StateReconcileReport, StateStore, StateValueSnapshot,
};
pub use store::{StoreError, StoreId, StoreReadSession, StoreRegistry, StoreScope, StoreSnapshot};
pub use style::{
Align, AutoLength, BorderLineStyle, ColorParseError, ColorValue, CornerLengths, CursorKind,
DisplayMode, EdgeLengths, FlexDirection, FlexWrapMode, FontSlant, HitTestBehavior,
InteractionState, Justify, LayoutEdgeLengths, LayoutLength, Length, LengthError,
LinearGradientSpec, OverflowMode, PositionMode, PseudoState, RadiusToken, Rgba8, ShadowSpec,
SignedLength, SpacingToken, Style, StyleProperties, StyleValueError, TextAlignMode,
WhiteSpaceMode,
};
pub use text_area::{TextAreaPrimitiveHandler, init_text_area, text_area_primitive_descriptor};
pub use text_input::{
TextBuffer, TextInputPrimitiveHandler, init_text_input, text_input_primitive_descriptor,
};
pub use theme::{
REQUIRED_TYPOGRAPHY, ResolvedTheme, ResolvedTypography, SystemAppearance, ThemeError,
ThemeFamily, ThemeManager, ThemeMode, ThemeMotion, ThemeMotionOverrides, ThemeMotionSpring,
ThemePreference, ThemeSelection, ThemeSnapshot, ThemeTokenOverrides, ThemeTokenValue,
ThemeTokens, ThemeTypography, ThemeTypographyOverrides, ThemeVariant, ThemeVariantInfo,
TypographyToken, load_theme_source,
};
pub use timer::{TimerDescriptor, TimerError, TimerId, TimerRegistry, TimerSnapshot};
pub use value::{
OpaqueHandle, UiValue, UiValueError, UiValuePath, UiValuePathError, UiValuePathSegment,
};
pub use virtual_list::{
VariableListSpec, VariableListState, VariableListWindow, VirtualCollectionId,
VirtualCollectionMetrics, VirtualCollectionNodeSpec, VirtualListError, VirtualRequestRegistry,
};
pub use window::{
QueuedWindowCommand, ScriptWindowSpec, WindowCommand, WindowCommandError, WindowCommandPolicy,
WindowCommandRegistry,
};
pub const RUNTIME_API_VERSION: u32 = 2;