import DockView from "./DockView.svelte"; import PaneView from "./PaneView.svelte"; import SplitView from "./SplitView.svelte"; import GridView from "./GridView.svelte"; import DefaultDockTab, { type Props as DefaultDockTabProps } from "./dock/DefaultDockTab.svelte"; import type { IDockviewHeaderActionsProps, IDockviewPanelHeaderProps, IDockviewPanelProps, IWatermarkPanelProps } from "dockview-core"; import type { IPaneviewPanelProps, ISplitviewPanelProps, IGridviewPanelProps } from "dockview"; import type { ViewKey, ComponentsConstraint, SnippetsConstraint, ModifiedProps, AdditionalAddPanelOptions, PanePanelHeaderConstraint, ExtractComponentsFromRenderables, ExtractSnippetsFromRenderables, AddedPanelByView, Theme, Renderables } from "./utils/index.js"; import { signal, themes } from "./utils/index.js"; import { Orientation } from "dockview-core"; export { DockView, PaneView, SplitView, GridView, Orientation, signal, themes, DefaultDockTab }; export type { AddedPanelByView, ViewKey, Theme, DefaultDockTabProps, Renderables }; export type PanelProps> = { grid: IGridviewPanelProps; dock: IDockviewPanelProps; pane: IPaneviewPanelProps; split: ISplitviewPanelProps; }[T]; export type AuxiliaryDockPanelProps = { watermark: IWatermarkPanelProps; tab: IDockviewPanelHeaderProps; headerAction: IDockviewHeaderActionsProps; }; export type ViewProps[string] | SnippetsConstraint[string]>, Additional extends AdditionalAddPanelOptions = never> = ModifiedProps extends never ? ComponentsConstraint & Record : ExtractComponentsFromRenderables, keyof ExtractSnippetsFromRenderables extends never ? SnippetsConstraint & Record : ExtractSnippetsFromRenderables, Additional>; export type WithViewOnReady[string] | SnippetsConstraint[string]>, Additional extends AdditionalAddPanelOptions = ViewType extends "pane" ? { headers: PanePanelHeaderConstraint; } : never> = Pick, "onReady">; export type ViewAPI[string] | SnippetsConstraint[string]>, Additional extends AdditionalAddPanelOptions = ViewType extends "pane" ? { headers: PanePanelHeaderConstraint; } : never> = "api" extends keyof Parameters>["onReady"]>[0] ? Parameters>["onReady"]>[0]["api"] : never;