diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index e450b957b..23c5a9b2c 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,6 +1,7 @@ { "packages": [ "packages/dockview-core", + "packages/dockview-vue", "packages/dockview" ], "sandboxes": [ @@ -41,4 +42,4 @@ "/packages/docs/sandboxes/javascript/vanilla-dockview" ], "node": "18" -} \ No newline at end of file +} diff --git a/packages/dockview-core/src/dockview/dockviewPanel.ts b/packages/dockview-core/src/dockview/dockviewPanel.ts index fdc3656e7..2bcb32afc 100644 --- a/packages/dockview-core/src/dockview/dockviewPanel.ts +++ b/packages/dockview-core/src/dockview/dockviewPanel.ts @@ -137,13 +137,6 @@ export class DockviewPanel if (didTitleChange) { this._title = title; - - this.view.update({ - params: { - params: this._params, - title: this.title, - }, - }); this.api._onDidTitleChange.fire({ title }); } } @@ -178,10 +171,7 @@ export class DockviewPanel // update the view with the updated props this.view.update({ - params: { - params: this._params, - title: this.title, - }, + params: this._params, }); } diff --git a/packages/dockview-vue/jest.config.ts b/packages/dockview-vue/jest.config.ts index 2452cd216..93f45f1e3 100644 --- a/packages/dockview-vue/jest.config.ts +++ b/packages/dockview-vue/jest.config.ts @@ -4,7 +4,7 @@ const config: JestConfigWithTsJest = { preset: 'ts-jest', roots: ['/packages/dockview-vue'], modulePaths: ['/packages/dockview-vue/src'], - displayName: { name: 'dockview', color: 'blue' }, + displayName: { name: 'dockview-vue', color: 'blue' }, rootDir: '../../', collectCoverageFrom: [ '/packages/dockview-vue/src/**/*.{js,jsx,ts,tsx}', diff --git a/packages/dockview-vue/src/dockview/dockview.vue b/packages/dockview-vue/src/dockview/dockview.vue index d934e4a46..0b9fa0243 100644 --- a/packages/dockview-vue/src/dockview/dockview.vue +++ b/packages/dockview-vue/src/dockview/dockview.vue @@ -18,9 +18,8 @@ import { getCurrentInstance, } from 'vue'; import { - VueContentRenderer, VueHeaderActionsRenderer, - VueTabRenderer, + VueRenderer, VueWatermarkRenderer, findComponent, } from '../utils'; @@ -81,7 +80,7 @@ onMounted(() => { getCurrentInstance()!, options.name ); - return new VueContentRenderer(component!, getCurrentInstance()!); + return new VueRenderer(component!, getCurrentInstance()!); }, createTabComponent(options) { let component = findComponent(getCurrentInstance()!, options.name); @@ -94,7 +93,7 @@ onMounted(() => { } if (component) { - return new VueTabRenderer(component, getCurrentInstance()!); + return new VueRenderer(component, getCurrentInstance()!); } return undefined; }, @@ -175,8 +174,6 @@ onMounted(() => { */ instance.value = markRaw(dockview); - console.log(getCurrentInstance()); - emit('ready', { api: new DockviewApi(dockview) }); }); diff --git a/packages/dockview-vue/src/utils.ts b/packages/dockview-vue/src/utils.ts index 3125cf892..2b2bb06cf 100644 --- a/packages/dockview-vue/src/utils.ts +++ b/packages/dockview-vue/src/utils.ts @@ -1,5 +1,7 @@ import type { + DockviewApi, DockviewGroupPanel, + DockviewPanelApi, GroupPanelPartInitParameters, IContentRenderer, IDockviewPanelHeaderProps, @@ -84,8 +86,8 @@ export function mountVueComponent>( return { update: (newProps: any) => { - runningProps = { ...props, newProps }; - vNode = cloneVNode(vNode, Object.freeze(runningProps)); + runningProps = { ...props, ...newProps }; + vNode = cloneVNode(vNode, runningProps); render(vNode, element); }, dispose: () => { @@ -94,11 +96,13 @@ export function mountVueComponent>( }; } -export class VueContentRenderer implements IContentRenderer { +export class VueRenderer implements ITabRenderer, IContentRenderer { private _element: HTMLElement; private _renderDisposable: | { update: (props: any) => void; dispose: () => void } | undefined; + private _api: DockviewPanelApi | undefined; + private _containerApi: DockviewApi | undefined; get element(): HTMLElement { return this._element; @@ -115,57 +119,9 @@ export class VueContentRenderer implements IContentRenderer { } init(parameters: GroupPanelPartInitParameters): void { - const props: IDockviewPanelProps = { - params: parameters.params, - api: parameters.api, - containerApi: parameters.containerApi, - }; + this._api = parameters.api; + this._containerApi = parameters.containerApi; - this._renderDisposable?.dispose(); - this._renderDisposable = mountVueComponent( - this.component, - this.parent, - { params: props }, - this.element - ); - } - - update(event: PanelUpdateEvent): void { - const params = event.params; - // TODO: handle prop updates somehow? - this._renderDisposable?.update(params); - } - - focus(): void { - // TODO: make optional on interface - } - - dispose(): void { - this._renderDisposable?.dispose(); - } -} - -export class VueTabRenderer implements ITabRenderer { - private _element: HTMLElement; - private _renderDisposable: - | { update: (props: any) => void; dispose: () => void } - | undefined; - - get element(): HTMLElement { - return this._element; - } - - constructor( - private readonly component: VueComponent, - private readonly parent: ComponentInternalInstance - ) { - this._element = document.createElement('div'); - this.element.className = 'dv-vue-part'; - this.element.style.height = '100%'; - this.element.style.width = '100%'; - } - - init(parameters: GroupPanelPartInitParameters): void { const props: IDockviewPanelHeaderProps = { params: parameters.params, api: parameters.api, @@ -182,9 +138,19 @@ export class VueTabRenderer implements ITabRenderer { } update(event: PanelUpdateEvent): void { + if (!this._api || !this._containerApi) { + return; + } + const params = event.params; // TODO: handle prop updates somehow? - this._renderDisposable?.update(params); + this._renderDisposable?.update({ + params: { + params: params, + api: this._api, + containerApi: this._containerApi, + }, + }); } dispose(): void { @@ -232,9 +198,7 @@ export class VueWatermarkRenderer implements IWatermarkRenderer { } update(event: PanelUpdateEvent): void { - const params = event.params; - // TODO: handle prop updates somehow? - this._renderDisposable?.update(params); + // noop } dispose(): void { diff --git a/packages/dockview/src/dockview/dockview.tsx b/packages/dockview/src/dockview/dockview.tsx index 3f4102ce5..746fa8aa1 100644 --- a/packages/dockview/src/dockview/dockview.tsx +++ b/packages/dockview/src/dockview/dockview.tsx @@ -3,8 +3,6 @@ import { DockviewComponent, DockviewWillDropEvent, DockviewApi, - IContentRenderer, - ITabRenderer, DockviewGroupPanel, IHeaderActionsRenderer, DockviewDidDropEvent, @@ -16,7 +14,6 @@ import { PROPERTY_KEYS, DockviewComponentOptions, DockviewFrameworkOptions, - IDockviewDisposable, DockviewDndOverlayEvent, DockviewReadyEvent, } from 'dockview-core'; diff --git a/packages/dockview/src/dockview/reactContentPart.ts b/packages/dockview/src/dockview/reactContentPart.ts index 9623578ae..84991d844 100644 --- a/packages/dockview/src/dockview/reactContentPart.ts +++ b/packages/dockview/src/dockview/reactContentPart.ts @@ -52,7 +52,7 @@ export class ReactPanelContentPart implements IContentRenderer { } public update(event: PanelUpdateEvent) { - this.part?.update(event.params); + this.part?.update({ params: event.params }); } public layout(_width: number, _height: number): void { diff --git a/packages/dockview/src/dockview/reactHeaderPart.ts b/packages/dockview/src/dockview/reactHeaderPart.ts index 58959e0ef..f4a3e078f 100644 --- a/packages/dockview/src/dockview/reactHeaderPart.ts +++ b/packages/dockview/src/dockview/reactHeaderPart.ts @@ -44,7 +44,7 @@ export class ReactPanelHeaderPart implements ITabRenderer { } public update(event: PanelUpdateEvent): void { - this.part?.update(event.params); + this.part?.update({ params: event.params }); } public layout(_width: number, _height: number): void { diff --git a/packages/docs/docs/core/overview.mdx b/packages/docs/docs/core/overview.mdx index c0f2e0dfa..abedc5738 100644 --- a/packages/docs/docs/core/overview.mdx +++ b/packages/docs/docs/core/overview.mdx @@ -22,12 +22,21 @@ function onReady(event: DockviewReadyEvent) { ``` - - + ```tsx -const component = new DockviewComponent({ - /** options */ -}); +const App = { + name: 'App', + methods: { + onReady(event: DockviewReadyEvent) { + const api: DockviewApi = event.api; + }, + }, + template: ` + + `, +}; ``` diff --git a/packages/docs/docs/core/panels/register.mdx b/packages/docs/docs/core/panels/register.mdx index 8bd7cde96..81d16d702 100644 --- a/packages/docs/docs/core/panels/register.mdx +++ b/packages/docs/docs/core/panels/register.mdx @@ -39,6 +39,37 @@ return + +```tsx +const App = { + name: 'App', + components: { + 'component_1': VueComponent1, + 'component_2': VueComponent2, + }, + methods: { + onReady(event: DockviewReadyEvent) { + event.api.addPanel({ + id: 'panel_1', + component: 'component_1' + }); + + event.api.addPanel({ + id: 'panel_2', + component: 'component_2' + }); + }, + }, + template: ` + + `, +}; +``` + + + Each panel has an [api](/docs/api/dockview/panelApi) which is used to control specific features on that individual panel. The panel also has access the [group api](/docs/api/dockview/groupApi) and the container diff --git a/packages/docs/docs/core/panels/tabs.mdx b/packages/docs/docs/core/panels/tabs.mdx index 224052fc7..880bd86c2 100644 --- a/packages/docs/docs/core/panels/tabs.mdx +++ b/packages/docs/docs/core/panels/tabs.mdx @@ -31,6 +31,32 @@ return ``` + +```tsx +const App = { + name: 'App', + components: { + 'component_1': VueComponent1, + 'tab_1': VueComponent2, + }, + methods: { + onReady(event: DockviewReadyEvent) { + event.api.addPanel({ + id: 'panel_1', + component: 'component_1', + tabComponent: 'tab_1' + }); + }, + }, + template: ` + + `, +}; +``` + + not implemented @@ -51,6 +77,32 @@ return ``` + +```tsx +const App = { + name: 'App', + components: { + 'component_1': VueComponent1, + 'tab_1': VueComponent2, + }, + methods: { + onReady(event: DockviewReadyEvent) { + event.api.addPanel({ + id: 'panel_1', + component: 'component_1', + }); + }, + }, + template: ` + + `, +}; +``` + + not implemented diff --git a/packages/docs/src/generated/api.output.json b/packages/docs/src/generated/api.output.json index 40bb4e160..33cb17484 100644 --- a/packages/docs/src/generated/api.output.json +++ b/packages/docs/src/generated/api.output.json @@ -127,11 +127,11 @@ }, { "name": "_bufferOnDidLayoutChange", - "code": "TickDelayedEvent", + "code": "AsapEvent", "kind": "property", "type": { "type": "reference", - "value": "TickDelayedEvent", + "value": "AsapEvent", "source": "dockview-core" }, "flags": { @@ -2457,6 +2457,28 @@ ] } }, + { + "name": "onUnhandledDragOverEvent", + "code": "Event", + "kind": "accessor", + "value": { + "name": "onUnhandledDragOverEvent", + "code": "Event", + "kind": "getSignature", + "returnType": { + "type": "reference", + "value": "Event", + "source": "dockview-core", + "typeArguments": [ + { + "type": "reference", + "value": "DockviewDndOverlayEvent", + "source": "dockview-core" + } + ] + } + } + }, { "name": "onWillDragGroup", "code": "Event", @@ -3955,11 +3977,11 @@ }, { "name": "_bufferOnDidLayoutChange", - "code": "TickDelayedEvent", + "code": "AsapEvent", "kind": "property", "type": { "type": "reference", - "value": "TickDelayedEvent", + "value": "AsapEvent", "source": "dockview-core" }, "flags": { @@ -4299,6 +4321,26 @@ "isReadonly": true } }, + { + "name": "onUnhandledDragOverEvent", + "code": "Event", + "kind": "property", + "type": { + "type": "reference", + "value": "Event", + "source": "dockview-core", + "typeArguments": [ + { + "type": "reference", + "value": "DockviewDndOverlayEvent", + "source": "dockview-core" + } + ] + }, + "flags": { + "isReadonly": true + } + }, { "name": "onWillDragGroup", "code": "Event", @@ -6367,7 +6409,7 @@ }, { "name": "updateOptions", - "code": "(options: DockviewComponentUpdateOptions): void", + "code": "(options: Partial): void", "kind": "method", "signature": [ { @@ -6376,11 +6418,18 @@ "parameters": [ { "name": "options", - "code": "options: DockviewComponentUpdateOptions", + "code": "options: Partial", "type": { "type": "reference", - "value": "DockviewComponentUpdateOptions", - "source": "dockview-core" + "value": "Partial", + "source": "typescript", + "typeArguments": [ + { + "type": "reference", + "value": "DockviewComponentOptions", + "source": "dockview-core" + } + ] }, "kind": "parameter" } @@ -6389,7 +6438,7 @@ "type": "intrinsic", "value": "void" }, - "code": "(options: DockviewComponentUpdateOptions): void", + "code": "(options: Partial): void", "kind": "callSignature" } ] @@ -7715,6 +7764,26 @@ "isReadonly": true } }, + { + "name": "onUnhandledDragOverEvent", + "code": "Event", + "kind": "property", + "type": { + "type": "reference", + "value": "Event", + "source": "dockview-core", + "typeArguments": [ + { + "type": "reference", + "value": "DockviewDndOverlayEvent", + "source": "dockview-core" + } + ] + }, + "flags": { + "isReadonly": true + } + }, { "name": "onWillDrop", "code": "Event", @@ -9236,6 +9305,141 @@ } ] }, + "DockviewUnhandledDragOverEvent": { + "kind": "class", + "name": "DockviewUnhandledDragOverEvent", + "children": [ + { + "name": "constructor", + "kind": "constructor", + "code": "" + }, + { + "name": "getData", + "code": "(): PanelTransfer | undefined", + "kind": "property", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "(): PanelTransfer | undefined", + "kind": "typeLiteral", + "signatures": [ + { + "name": "__type", + "typeParameters": [], + "parameters": [], + "returnType": { + "type": "or", + "values": [ + { + "type": "reference", + "value": "PanelTransfer", + "source": "dockview-core" + }, + { + "type": "intrinsic", + "value": "undefined" + } + ] + }, + "code": "(): PanelTransfer | undefined", + "kind": "callSignature" + } + ] + } + }, + "flags": { + "isReadonly": true + } + }, + { + "name": "group", + "code": "DockviewGroupPanel", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewGroupPanel", + "source": "dockview-core" + }, + "flags": { + "isOptional": true, + "isReadonly": true + } + }, + { + "name": "nativeEvent", + "code": "DragEvent", + "kind": "property", + "type": { + "type": "reference", + "value": "DragEvent", + "source": "typescript" + }, + "flags": { + "isReadonly": true + } + }, + { + "name": "position", + "code": "Position", + "kind": "property", + "type": { + "type": "reference", + "value": "Position", + "source": "dockview-core" + }, + "flags": { + "isReadonly": true + } + }, + { + "name": "target", + "code": "DockviewGroupDropLocation", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewGroupDropLocation", + "source": "dockview-core" + }, + "flags": { + "isReadonly": true + } + }, + { + "name": "isAccepted", + "code": "boolean", + "kind": "accessor", + "value": { + "name": "isAccepted", + "code": "boolean", + "kind": "getSignature", + "returnType": { + "type": "intrinsic", + "value": "boolean" + } + } + }, + { + "name": "accept", + "code": "(): void", + "kind": "method", + "signature": [ + { + "name": "accept", + "typeParameters": [], + "parameters": [], + "returnType": { + "type": "intrinsic", + "value": "void" + }, + "code": "(): void", + "kind": "callSignature" + } + ] + } + ] + }, "DockviewWillDropEvent": { "kind": "class", "name": "DockviewWillDropEvent", @@ -12190,11 +12394,11 @@ }, { "name": "_bufferOnDidLayoutChange", - "code": "TickDelayedEvent", + "code": "AsapEvent", "kind": "property", "type": { "type": "reference", - "value": "TickDelayedEvent", + "value": "AsapEvent", "source": "dockview-core" }, "flags": { @@ -22353,514 +22557,6 @@ } ] }, - "DockviewComponentOptions": { - "kind": "interface", - "name": "DockviewComponentOptions", - "children": [ - { - "name": "components", - "code": "", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "createLeftHeaderActionsElement", - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "typeLiteral", - "signatures": [ - { - "name": "__type", - "typeParameters": [], - "parameters": [ - { - "name": "group", - "code": "group: DockviewGroupPanel", - "type": { - "type": "reference", - "value": "DockviewGroupPanel", - "source": "dockview-core" - }, - "kind": "parameter" - } - ], - "returnType": { - "type": "reference", - "value": "IHeaderActionsRenderer", - "source": "dockview-core" - }, - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "callSignature" - } - ] - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "createPrefixHeaderActionsElement", - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "typeLiteral", - "signatures": [ - { - "name": "__type", - "typeParameters": [], - "parameters": [ - { - "name": "group", - "code": "group: DockviewGroupPanel", - "type": { - "type": "reference", - "value": "DockviewGroupPanel", - "source": "dockview-core" - }, - "kind": "parameter" - } - ], - "returnType": { - "type": "reference", - "value": "IHeaderActionsRenderer", - "source": "dockview-core" - }, - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "callSignature" - } - ] - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "createRightHeaderActionsElement", - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "typeLiteral", - "signatures": [ - { - "name": "__type", - "typeParameters": [], - "parameters": [ - { - "name": "group", - "code": "group: DockviewGroupPanel", - "type": { - "type": "reference", - "value": "DockviewGroupPanel", - "source": "dockview-core" - }, - "kind": "parameter" - } - ], - "returnType": { - "type": "reference", - "value": "IHeaderActionsRenderer", - "source": "dockview-core" - }, - "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", - "kind": "callSignature" - } - ] - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "debug", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "defaultRenderer", - "code": "'always' | 'onlyWhenVisible'", - "kind": "property", - "type": { - "type": "or", - "values": [ - { - "type": "literal", - "value": "always" - }, - { - "type": "literal", - "value": "onlyWhenVisible" - } - ] - }, - "flags": { - "isOptional": true - } - }, - { - "name": "defaultTabComponent", - "code": "string", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "string" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "disableAutoResizing", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "disableDnd", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "disableFloatingGroups", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "floatingGroupBounds", - "code": "'boundedWithinViewport' | { minimumHeightWithinViewport?: number, minimumWidthWithinViewport?: number }", - "kind": "property", - "type": { - "type": "or", - "values": [ - { - "type": "literal", - "value": "boundedWithinViewport" - }, - { - "type": "reflection", - "value": { - "name": "__type", - "code": "{ minimumHeightWithinViewport?: number, minimumWidthWithinViewport?: number }", - "kind": "typeLiteral", - "properties": [ - { - "name": "minimumHeightWithinViewport", - "code": "number", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "number" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "minimumWidthWithinViewport", - "code": "number", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "number" - }, - "flags": { - "isOptional": true - } - } - ] - } - } - ] - }, - "flags": { - "isOptional": true - } - }, - { - "name": "frameworkComponentFactory", - "code": "GroupPanelFrameworkComponentFactory", - "kind": "property", - "type": { - "type": "reference", - "value": "GroupPanelFrameworkComponentFactory", - "source": "dockview-core" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "frameworkComponents", - "code": "", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "frameworkTabComponents", - "code": "", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "locked", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "orientation", - "code": "Orientation.VERTICAL | Orientation.HORIZONTAL", - "kind": "property", - "type": { - "type": "or", - "values": [ - { - "type": "reference", - "value": "Orientation.VERTICAL", - "source": "dockview-core" - }, - { - "type": "reference", - "value": "Orientation.HORIZONTAL", - "source": "dockview-core" - } - ] - }, - "flags": { - "isOptional": true - } - }, - { - "name": "parentElement", - "code": "HTMLElement", - "kind": "property", - "type": { - "type": "reference", - "value": "HTMLElement", - "source": "typescript" - }, - "flags": {} - }, - { - "name": "popoutUrl", - "code": "string", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "string" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "rootOverlayModel", - "code": "DroptargetOverlayModel", - "kind": "property", - "type": { - "type": "reference", - "value": "DroptargetOverlayModel", - "source": "dockview-core" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "showDndOverlay", - "code": "(event: DockviewDndOverlayEvent): boolean", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "(event: DockviewDndOverlayEvent): boolean", - "kind": "typeLiteral", - "signatures": [ - { - "name": "__type", - "typeParameters": [], - "parameters": [ - { - "name": "event", - "code": "event: DockviewDndOverlayEvent", - "type": { - "type": "reference", - "value": "DockviewDndOverlayEvent", - "source": "dockview-core" - }, - "kind": "parameter" - } - ], - "returnType": { - "type": "intrinsic", - "value": "boolean" - }, - "code": "(event: DockviewDndOverlayEvent): boolean", - "kind": "callSignature" - } - ] - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "singleTabMode", - "code": "'default' | 'fullwidth'", - "kind": "property", - "type": { - "type": "or", - "values": [ - { - "type": "literal", - "value": "default" - }, - { - "type": "literal", - "value": "fullwidth" - } - ] - }, - "flags": { - "isOptional": true - } - }, - { - "name": "styles", - "code": "ISplitviewStyles", - "kind": "property", - "type": { - "type": "reference", - "value": "ISplitviewStyles", - "source": "dockview-core" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "tabComponents", - "code": "", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "watermarkComponent", - "code": "WatermarkConstructor", - "kind": "property", - "type": { - "type": "reference", - "value": "WatermarkConstructor", - "source": "dockview-core" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "watermarkFrameworkComponent", - "code": "any", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "any" - }, - "flags": { - "isOptional": true - } - } - ] - }, "DockviewDndOverlayEvent": { "kind": "interface", "name": "DockviewDndOverlayEvent", @@ -22915,6 +22611,16 @@ "isOptional": true } }, + { + "name": "isAccepted", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": {} + }, { "name": "nativeEvent", "code": "DragEvent", @@ -22947,6 +22653,345 @@ "source": "dockview-core" }, "flags": {} + }, + { + "name": "accept", + "code": "(): void", + "kind": "method", + "signature": [ + { + "name": "accept", + "typeParameters": [], + "parameters": [], + "returnType": { + "type": "intrinsic", + "value": "void" + }, + "code": "(): void", + "kind": "callSignature" + } + ] + } + ] + }, + "DockviewFrameworkOptions": { + "kind": "interface", + "name": "DockviewFrameworkOptions", + "children": [ + { + "name": "createComponent", + "code": "(options: { id: string, name: string }): IContentRenderer", + "kind": "property", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "(options: { id: string, name: string }): IContentRenderer", + "kind": "typeLiteral", + "signatures": [ + { + "name": "__type", + "typeParameters": [], + "parameters": [ + { + "name": "options", + "code": "options: { id: string, name: string }", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "{ id: string, name: string }", + "kind": "typeLiteral", + "properties": [ + { + "name": "id", + "code": "string", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "string" + }, + "flags": {} + }, + { + "name": "name", + "code": "string", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "string" + }, + "flags": {} + } + ] + } + }, + "kind": "parameter" + } + ], + "returnType": { + "type": "reference", + "value": "IContentRenderer", + "source": "dockview-core" + }, + "code": "(options: { id: string, name: string }): IContentRenderer", + "kind": "callSignature" + } + ] + } + }, + "flags": {} + }, + { + "name": "createLeftHeaderActionComponent", + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "property", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "typeLiteral", + "signatures": [ + { + "name": "__type", + "typeParameters": [], + "parameters": [ + { + "name": "group", + "code": "group: DockviewGroupPanel", + "type": { + "type": "reference", + "value": "DockviewGroupPanel", + "source": "dockview-core" + }, + "kind": "parameter" + } + ], + "returnType": { + "type": "reference", + "value": "IHeaderActionsRenderer", + "source": "dockview-core" + }, + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "callSignature" + } + ] + } + }, + "flags": { + "isOptional": true + } + }, + { + "name": "createPrefixHeaderActionComponent", + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "property", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "typeLiteral", + "signatures": [ + { + "name": "__type", + "typeParameters": [], + "parameters": [ + { + "name": "group", + "code": "group: DockviewGroupPanel", + "type": { + "type": "reference", + "value": "DockviewGroupPanel", + "source": "dockview-core" + }, + "kind": "parameter" + } + ], + "returnType": { + "type": "reference", + "value": "IHeaderActionsRenderer", + "source": "dockview-core" + }, + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "callSignature" + } + ] + } + }, + "flags": { + "isOptional": true + } + }, + { + "name": "createRightHeaderActionComponent", + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "property", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "typeLiteral", + "signatures": [ + { + "name": "__type", + "typeParameters": [], + "parameters": [ + { + "name": "group", + "code": "group: DockviewGroupPanel", + "type": { + "type": "reference", + "value": "DockviewGroupPanel", + "source": "dockview-core" + }, + "kind": "parameter" + } + ], + "returnType": { + "type": "reference", + "value": "IHeaderActionsRenderer", + "source": "dockview-core" + }, + "code": "(group: DockviewGroupPanel): IHeaderActionsRenderer", + "kind": "callSignature" + } + ] + } + }, + "flags": { + "isOptional": true + } + }, + { + "name": "createTabComponent", + "code": "(options: { id: string, name: string }): ITabRenderer | undefined", + "kind": "property", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "(options: { id: string, name: string }): ITabRenderer | undefined", + "kind": "typeLiteral", + "signatures": [ + { + "name": "__type", + "typeParameters": [], + "parameters": [ + { + "name": "options", + "code": "options: { id: string, name: string }", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "{ id: string, name: string }", + "kind": "typeLiteral", + "properties": [ + { + "name": "id", + "code": "string", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "string" + }, + "flags": {} + }, + { + "name": "name", + "code": "string", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "string" + }, + "flags": {} + } + ] + } + }, + "kind": "parameter" + } + ], + "returnType": { + "type": "or", + "values": [ + { + "type": "reference", + "value": "ITabRenderer", + "source": "dockview-core" + }, + { + "type": "intrinsic", + "value": "undefined" + } + ] + }, + "code": "(options: { id: string, name: string }): ITabRenderer | undefined", + "kind": "callSignature" + } + ] + } + }, + "flags": { + "isOptional": true + } + }, + { + "name": "createWatermarkComponent", + "code": "(): IWatermarkRenderer", + "kind": "property", + "type": { + "type": "reflection", + "value": { + "name": "__type", + "code": "(): IWatermarkRenderer", + "kind": "typeLiteral", + "signatures": [ + { + "name": "__type", + "typeParameters": [], + "parameters": [], + "returnType": { + "type": "reference", + "value": "IWatermarkRenderer", + "source": "dockview-core" + }, + "code": "(): IWatermarkRenderer", + "kind": "callSignature" + } + ] + } + }, + "flags": { + "isOptional": true + } + }, + { + "name": "defaultTabComponent", + "code": "string", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "string" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "parentElement", + "code": "HTMLElement", + "kind": "property", + "type": { + "type": "reference", + "value": "HTMLElement", + "source": "typescript" + }, + "flags": {} } ] }, @@ -23126,6 +23171,26 @@ "isReadonly": true } }, + { + "name": "onDidActivePanelChange", + "code": "Event", + "kind": "property", + "type": { + "type": "reference", + "value": "Event", + "source": "dockview-core", + "typeArguments": [ + { + "type": "reference", + "value": "DockviewGroupChangeEvent", + "source": "dockview-core" + } + ] + }, + "flags": { + "isReadonly": true + } + }, { "name": "onDidConstraintsChange", "code": "Event", @@ -23657,6 +23722,202 @@ } ] }, + "DockviewOptions": { + "kind": "interface", + "name": "DockviewOptions", + "children": [ + { + "name": "debug", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "defaultRenderer", + "code": "'always' | 'onlyWhenVisible'", + "kind": "property", + "type": { + "type": "or", + "values": [ + { + "type": "literal", + "value": "always" + }, + { + "type": "literal", + "value": "onlyWhenVisible" + } + ] + }, + "flags": { + "isOptional": true + } + }, + { + "name": "disableAutoResizing", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "disableDnd", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "disableFloatingGroups", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "floatingGroupBounds", + "code": "{ minimumHeightWithinViewport?: number, minimumWidthWithinViewport?: number } | 'boundedWithinViewport'", + "kind": "property", + "type": { + "type": "or", + "values": [ + { + "type": "reflection", + "value": { + "name": "__type", + "code": "{ minimumHeightWithinViewport?: number, minimumWidthWithinViewport?: number }", + "kind": "typeLiteral", + "properties": [ + { + "name": "minimumHeightWithinViewport", + "code": "number", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "number" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "minimumWidthWithinViewport", + "code": "number", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "number" + }, + "flags": { + "isOptional": true + } + } + ] + } + }, + { + "type": "literal", + "value": "boundedWithinViewport" + } + ] + }, + "flags": { + "isOptional": true + } + }, + { + "name": "hideBorders", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "locked", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "popoutUrl", + "code": "string", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "string" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "rootOverlayModel", + "code": "DroptargetOverlayModel", + "kind": "property", + "type": { + "type": "reference", + "value": "DroptargetOverlayModel", + "source": "dockview-core" + }, + "flags": { + "isOptional": true + } + }, + { + "name": "singleTabMode", + "code": "'default' | 'fullwidth'", + "kind": "property", + "type": { + "type": "or", + "values": [ + { + "type": "literal", + "value": "default" + }, + { + "type": "literal", + "value": "fullwidth" + } + ] + }, + "flags": { + "isOptional": true + } + } + ] + }, "DockviewPanelApi": { "kind": "interface", "name": "DockviewPanelApi", @@ -24484,73 +24745,20 @@ } ] }, - "DockviewRenderFunctions": { + "DockviewReadyEvent": { "kind": "interface", - "name": "DockviewRenderFunctions", + "name": "DockviewReadyEvent", "children": [ { - "name": "components", - "code": "", + "name": "api", + "code": "DockviewApi", "kind": "property", "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } + "type": "reference", + "value": "DockviewApi", + "source": "dockview-core" }, - "flags": { - "isOptional": true - } - }, - { - "name": "frameworkComponents", - "code": "", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "frameworkTabComponents", - "code": "", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } - }, - "flags": { - "isOptional": true - } - }, - { - "name": "tabComponents", - "code": "", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "", - "kind": "typeLiteral" - } - }, - "flags": { - "isOptional": true - } + "flags": {} } ] }, @@ -25823,126 +26031,6 @@ } ] }, - "GroupPanelContentPartInitParameters": { - "kind": "interface", - "name": "GroupPanelContentPartInitParameters", - "children": [ - { - "name": "api", - "code": "DockviewPanelApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewPanelApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "containerApi", - "code": "DockviewApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "params", - "code": "Parameters", - "kind": "property", - "type": { - "type": "reference", - "value": "Parameters", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "tab", - "code": "ITabRenderer", - "kind": "property", - "type": { - "type": "reference", - "value": "ITabRenderer", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "title", - "code": "string", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "string" - }, - "flags": {} - } - ] - }, - "GroupPanelFrameworkComponentFactory": { - "kind": "interface", - "name": "GroupPanelFrameworkComponentFactory", - "children": [ - { - "name": "content", - "code": "FrameworkFactory", - "kind": "property", - "type": { - "type": "reference", - "value": "FrameworkFactory", - "source": "dockview-core", - "typeArguments": [ - { - "type": "reference", - "value": "IContentRenderer", - "source": "dockview-core" - } - ] - }, - "flags": {} - }, - { - "name": "tab", - "code": "FrameworkFactory", - "kind": "property", - "type": { - "type": "reference", - "value": "FrameworkFactory", - "source": "dockview-core", - "typeArguments": [ - { - "type": "reference", - "value": "ITabRenderer", - "source": "dockview-core" - } - ] - }, - "flags": {} - }, - { - "name": "watermark", - "code": "FrameworkFactory", - "kind": "property", - "type": { - "type": "reference", - "value": "FrameworkFactory", - "source": "dockview-core", - "typeArguments": [ - { - "type": "reference", - "value": "IWatermarkRenderer", - "source": "dockview-core" - } - ] - }, - "flags": {} - } - ] - }, "GroupPanelPartInitParameters": { "kind": "interface", "name": "GroupPanelPartInitParameters", @@ -27065,46 +27153,6 @@ "isReadonly": true } }, - { - "name": "onDidBlur", - "code": "Event", - "kind": "property", - "type": { - "type": "reference", - "value": "Event", - "source": "dockview-core", - "typeArguments": [ - { - "type": "intrinsic", - "value": "void" - } - ] - }, - "flags": { - "isOptional": true, - "isReadonly": true - } - }, - { - "name": "onDidFocus", - "code": "Event", - "kind": "property", - "type": { - "type": "reference", - "value": "Event", - "source": "dockview-core", - "typeArguments": [ - { - "type": "intrinsic", - "value": "void" - } - ] - }, - "flags": { - "isOptional": true, - "isReadonly": true - } - }, { "name": "dispose", "code": "(): void", @@ -27143,7 +27191,7 @@ }, { "name": "init", - "code": "(parameters: GroupPanelContentPartInitParameters): void", + "code": "(parameters: GroupPanelPartInitParameters): void", "kind": "method", "signature": [ { @@ -27152,10 +27200,10 @@ "parameters": [ { "name": "parameters", - "code": "parameters: GroupPanelContentPartInitParameters", + "code": "parameters: GroupPanelPartInitParameters", "type": { "type": "reference", - "value": "GroupPanelContentPartInitParameters", + "value": "GroupPanelPartInitParameters", "source": "dockview-core" }, "kind": "parameter" @@ -27165,7 +27213,7 @@ "type": "intrinsic", "value": "void" }, - "code": "(parameters: GroupPanelContentPartInitParameters): void", + "code": "(parameters: GroupPanelPartInitParameters): void", "kind": "callSignature" } ] @@ -27721,6 +27769,26 @@ "isReadonly": true } }, + { + "name": "onUnhandledDragOverEvent", + "code": "Event", + "kind": "property", + "type": { + "type": "reference", + "value": "Event", + "source": "dockview-core", + "typeArguments": [ + { + "type": "reference", + "value": "DockviewDndOverlayEvent", + "source": "dockview-core" + } + ] + }, + "flags": { + "isReadonly": true + } + }, { "name": "onWillDragGroup", "code": "Event", @@ -28873,7 +28941,7 @@ }, { "name": "updateOptions", - "code": "(options: DockviewComponentUpdateOptions): void", + "code": "(options: DockviewOptions): void", "kind": "method", "signature": [ { @@ -28882,10 +28950,10 @@ "parameters": [ { "name": "options", - "code": "options: DockviewComponentUpdateOptions", + "code": "options: DockviewOptions", "type": { "type": "reference", - "value": "DockviewComponentUpdateOptions", + "value": "DockviewOptions", "source": "dockview-core" }, "kind": "parameter" @@ -28895,7 +28963,7 @@ "type": "intrinsic", "value": "void" }, - "code": "(options: DockviewComponentUpdateOptions): void", + "code": "(options: DockviewOptions): void", "kind": "callSignature" } ] @@ -30127,6 +30195,89 @@ } ] }, + "IDockviewHeaderActionsProps": { + "kind": "interface", + "name": "IDockviewHeaderActionsProps", + "children": [ + { + "name": "activePanel", + "code": "IDockviewPanel | undefined", + "kind": "property", + "type": { + "type": "or", + "values": [ + { + "type": "reference", + "value": "IDockviewPanel", + "source": "dockview-core" + }, + { + "type": "intrinsic", + "value": "undefined" + } + ] + }, + "flags": {} + }, + { + "name": "api", + "code": "DockviewGroupPanelApi", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewGroupPanelApi", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "containerApi", + "code": "DockviewApi", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewApi", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "group", + "code": "DockviewGroupPanel", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewGroupPanel", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "isGroupActive", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": {} + }, + { + "name": "panels", + "code": "IDockviewPanel[]", + "kind": "property", + "type": { + "type": "array", + "value": { + "type": "reference", + "value": "IDockviewPanel", + "source": "dockview-core" + } + }, + "flags": {} + } + ] + }, "IDockviewPanel": { "kind": "interface", "name": "IDockviewPanel", @@ -32799,6 +32950,85 @@ } ] }, + "IGroupHeaderProps": { + "kind": "interface", + "name": "IGroupHeaderProps", + "children": [ + { + "name": "api", + "code": "DockviewGroupPanelApi", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewGroupPanelApi", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "containerApi", + "code": "DockviewApi", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewApi", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "group", + "code": "IDockviewGroupPanel", + "kind": "property", + "type": { + "type": "reference", + "value": "IDockviewGroupPanel", + "source": "dockview-core" + }, + "flags": {} + } + ] + }, + "IGroupPanelBaseProps": { + "kind": "interface", + "name": "IGroupPanelBaseProps", + "children": [ + { + "name": "api", + "code": "DockviewPanelApi", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewPanelApi", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "containerApi", + "code": "DockviewApi", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewApi", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "params", + "code": "IGroupPanelBaseProps.T", + "kind": "property", + "type": { + "type": "reference", + "value": "T", + "source": "dockview-core", + "refersToTypeParameter": true + }, + "flags": {} + } + ] + }, "IGroupPanelInitParameters": { "kind": "interface", "name": "IGroupPanelInitParameters", @@ -32879,7 +33109,7 @@ }, { "name": "init", - "code": "(params: { api: DockviewGroupPanelApi, containerApi: DockviewApi }): void", + "code": "(params: IGroupHeaderProps): void", "kind": "method", "signature": [ { @@ -32888,38 +33118,11 @@ "parameters": [ { "name": "params", - "code": "params: { api: DockviewGroupPanelApi, containerApi: DockviewApi }", + "code": "params: IGroupHeaderProps", "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "{ api: DockviewGroupPanelApi, containerApi: DockviewApi }", - "kind": "typeLiteral", - "properties": [ - { - "name": "api", - "code": "DockviewGroupPanelApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewGroupPanelApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "containerApi", - "code": "DockviewApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewApi", - "source": "dockview-core" - }, - "flags": {} - } - ] - } + "type": "reference", + "value": "IGroupHeaderProps", + "source": "dockview-core" }, "kind": "parameter" } @@ -32928,7 +33131,7 @@ "type": "intrinsic", "value": "void" }, - "code": "(params: { api: DockviewGroupPanelApi, containerApi: DockviewApi }): void", + "code": "(params: IGroupHeaderProps): void", "kind": "callSignature" } ] @@ -35877,6 +36080,36 @@ } ] }, + "IWatermarkPanelProps": { + "kind": "interface", + "name": "IWatermarkPanelProps", + "children": [ + { + "name": "containerApi", + "code": "DockviewApi", + "kind": "property", + "type": { + "type": "reference", + "value": "DockviewApi", + "source": "dockview-core" + }, + "flags": {} + }, + { + "name": "group", + "code": "IDockviewGroupPanel", + "kind": "property", + "type": { + "type": "reference", + "value": "IDockviewGroupPanel", + "source": "dockview-core" + }, + "flags": { + "isOptional": true + } + } + ] + }, "IWatermarkRenderer": { "kind": "interface", "name": "IWatermarkRenderer", @@ -39748,7 +39981,7 @@ }, "AddPanelOptions": { "name": "AddPanelOptions", - "code": "Partial & { component: string, id: string, params?: P, renderer?: DockviewPanelRenderer, tabComponent?: string, title?: string }", + "code": "Partial & { component: string, id: string, inactive?: boolean, params?: P, renderer?: DockviewPanelRenderer, tabComponent?: string, title?: string }", "typeParameters": [], "type": { "type": "intersection", @@ -39769,7 +40002,7 @@ "type": "reflection", "value": { "name": "__type", - "code": "{ component: string, id: string, params?: P, renderer?: DockviewPanelRenderer, tabComponent?: string, title?: string }", + "code": "{ component: string, id: string, inactive?: boolean, params?: P, renderer?: DockviewPanelRenderer, tabComponent?: string, title?: string }", "kind": "typeLiteral", "properties": [ { @@ -39780,7 +40013,15 @@ "type": "intrinsic", "value": "string" }, - "flags": {} + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The id of the component renderer" + } + ] + } }, { "name": "id", @@ -39790,7 +40031,43 @@ "type": "intrinsic", "value": "string" }, - "flags": {} + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The unique id for the panel" + } + ] + } + }, + { + "name": "inactive", + "code": "boolean", + "kind": "property", + "type": { + "type": "intrinsic", + "value": "boolean" + }, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If true then add the panel without setting it as the active panel.\r\n\r\nDefaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " which forces newly added panels to become active." + } + ] + } }, { "name": "params", @@ -39817,6 +40094,14 @@ }, "flags": { "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The rendering mode of the panel.\r\n\r\nThis dictates what happens to the HTML of the panel when it is hidden." + } + ] } }, { @@ -39829,6 +40114,14 @@ }, "flags": { "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The id of the tab componnet renderer" + } + ] } }, { @@ -39841,6 +40134,14 @@ }, "flags": { "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The title for the panel which can be accessed within both the tab and component.\r\n\r\nIf using the default tab renderer this title will be displayed in the tab." + } + ] } } ] @@ -39954,84 +40255,22 @@ }, "kind": "typeAlias" }, - "DockviewComponentUpdateOptions": { - "name": "DockviewComponentUpdateOptions", - "code": "Pick", + "DockviewComponentOptions": { + "name": "DockviewComponentOptions", + "code": "DockviewFrameworkOptions & DockviewOptions", "typeParameters": [], "type": { - "type": "reference", - "value": "Pick", - "source": "typescript", - "typeArguments": [ + "type": "intersection", + "values": [ { "type": "reference", - "value": "DockviewComponentOptions", + "value": "DockviewFrameworkOptions", "source": "dockview-core" }, { - "type": "or", - "values": [ - { - "type": "literal", - "value": "disableDnd" - }, - { - "type": "literal", - "value": "rootOverlayModel" - }, - { - "type": "literal", - "value": "floatingGroupBounds" - }, - { - "type": "literal", - "value": "disableFloatingGroups" - }, - { - "type": "literal", - "value": "createPrefixHeaderActionsElement" - }, - { - "type": "literal", - "value": "createRightHeaderActionsElement" - }, - { - "type": "literal", - "value": "createLeftHeaderActionsElement" - }, - { - "type": "literal", - "value": "defaultTabComponent" - }, - { - "type": "literal", - "value": "watermarkFrameworkComponent" - }, - { - "type": "literal", - "value": "showDndOverlay" - }, - { - "type": "literal", - "value": "frameworkTabComponents" - }, - { - "type": "literal", - "value": "tabComponents" - }, - { - "type": "literal", - "value": "frameworkComponents" - }, - { - "type": "literal", - "value": "components" - }, - { - "type": "literal", - "value": "orientation" - } - ] + "type": "reference", + "value": "DockviewOptions", + "source": "dockview-core" } ] }, @@ -40326,6 +40565,44 @@ }, "kind": "typeAlias" }, + "IDockviewPanelHeaderProps": { + "name": "IDockviewPanelHeaderProps", + "code": "IGroupPanelBaseProps", + "typeParameters": [], + "type": { + "type": "reference", + "value": "IGroupPanelBaseProps", + "source": "dockview-core", + "typeArguments": [ + { + "type": "reference", + "value": "T", + "source": "dockview-core", + "refersToTypeParameter": true + } + ] + }, + "kind": "typeAlias" + }, + "IDockviewPanelProps": { + "name": "IDockviewPanelProps", + "code": "IGroupPanelBaseProps", + "typeParameters": [], + "type": { + "type": "reference", + "value": "IGroupPanelBaseProps", + "source": "dockview-core", + "typeArguments": [ + { + "type": "reference", + "value": "T", + "source": "dockview-core", + "refersToTypeParameter": true + } + ] + }, + "kind": "typeAlias" + }, "ISerializedNode": { "name": "ISerializedNode", "code": "ISerializedBranchNode | ISerializedLeafNode", @@ -40530,6 +40807,11 @@ }, "kind": "typeAlias" }, + "PROPERTY_KEYS": { + "name": "PROPERTY_KEYS", + "code": "", + "kind": "variable" + }, "createComponent": { "name": "createComponent", "code": "(id: string, componentName?: string, components: , frameworkComponents: , createFrameworkComponent?: FrameworkFactory, fallback?: (): T): T", @@ -41238,23 +41520,6 @@ } ] }, - "DockviewReadyEvent": { - "kind": "interface", - "name": "DockviewReadyEvent", - "children": [ - { - "name": "api", - "code": "DockviewApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewApi", - "source": "dockview-core" - }, - "flags": {} - } - ] - }, "GridviewReadyEvent": { "kind": "interface", "name": "GridviewReadyEvent", @@ -41272,89 +41537,6 @@ } ] }, - "IDockviewHeaderActionsProps": { - "kind": "interface", - "name": "IDockviewHeaderActionsProps", - "children": [ - { - "name": "activePanel", - "code": "IDockviewPanel | undefined", - "kind": "property", - "type": { - "type": "or", - "values": [ - { - "type": "reference", - "value": "IDockviewPanel", - "source": "dockview-core" - }, - { - "type": "intrinsic", - "value": "undefined" - } - ] - }, - "flags": {} - }, - { - "name": "api", - "code": "DockviewGroupPanelApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewGroupPanelApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "containerApi", - "code": "DockviewApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "group", - "code": "DockviewGroupPanel", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewGroupPanel", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "isGroupActive", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": {} - }, - { - "name": "panels", - "code": "IDockviewPanel[]", - "kind": "property", - "type": { - "type": "array", - "value": { - "type": "reference", - "value": "IDockviewPanel", - "source": "dockview-core" - } - }, - "flags": {} - } - ] - }, "IDockviewReactProps": { "kind": "interface", "name": "IDockviewReactProps", @@ -41373,21 +41555,26 @@ }, { "name": "components", - "code": "PanelCollection>", + "code": "Record>", "kind": "property", "type": { "type": "reference", - "value": "PanelCollection", - "source": "dockview", + "value": "Record", + "source": "typescript", "typeArguments": [ + { + "type": "intrinsic", + "value": "string" + }, { "type": "reference", - "value": "IDockviewPanelProps", - "source": "dockview", + "value": "React.FunctionComponent", + "source": "@types/react", "typeArguments": [ { - "type": "intrinsic", - "value": "any" + "type": "reference", + "value": "IDockviewPanelProps", + "source": "dockview-core" } ] } @@ -41395,42 +41582,9 @@ }, "flags": {} }, - { - "name": "debug", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "defaultRenderer", - "code": "'always' | 'onlyWhenVisible'", - "kind": "property", - "type": { - "type": "or", - "values": [ - { - "type": "literal", - "value": "always" - }, - { - "type": "literal", - "value": "onlyWhenVisible" - } - ] - }, - "flags": { - "isOptional": true - } - }, { "name": "defaultTabComponent", - "code": "React.FunctionComponent>", + "code": "React.FunctionComponent", "kind": "property", "type": { "type": "reference", @@ -41440,13 +41594,7 @@ { "type": "reference", "value": "IDockviewPanelHeaderProps", - "source": "dockview", - "typeArguments": [ - { - "type": "intrinsic", - "value": "any" - } - ] + "source": "dockview-core" } ] }, @@ -41454,105 +41602,6 @@ "isOptional": true } }, - { - "name": "disableAutoResizing", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "disableDnd", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "disableFloatingGroups", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "floatingGroupBounds", - "code": "'boundedWithinViewport' | { minimumHeightWithinViewport?: number, minimumWidthWithinViewport?: number }", - "kind": "property", - "type": { - "type": "or", - "values": [ - { - "type": "literal", - "value": "boundedWithinViewport" - }, - { - "type": "reflection", - "value": { - "name": "__type", - "code": "{ minimumHeightWithinViewport?: number, minimumWidthWithinViewport?: number }", - "kind": "typeLiteral", - "properties": [ - { - "name": "minimumHeightWithinViewport", - "code": "number", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "number" - }, - "flags": { - "isOptional": true - } - }, - { - "name": "minimumWidthWithinViewport", - "code": "number", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "number" - }, - "flags": { - "isOptional": true - } - } - ] - } - } - ] - }, - "flags": { - "isOptional": true - } - }, - { - "name": "hideBorders", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, { "name": "leftHeaderActionsComponent", "code": "React.FunctionComponent", @@ -41565,7 +41614,7 @@ { "type": "reference", "value": "IDockviewHeaderActionsProps", - "source": "dockview" + "source": "dockview-core" } ] }, @@ -41573,18 +41622,6 @@ "isOptional": true } }, - { - "name": "locked", - "code": "boolean", - "kind": "property", - "type": { - "type": "intrinsic", - "value": "boolean" - }, - "flags": { - "isOptional": true - } - }, { "name": "onDidDrop", "code": "(event: DockviewDidDropEvent): void", @@ -41646,7 +41683,7 @@ "type": { "type": "reference", "value": "DockviewReadyEvent", - "source": "dockview" + "source": "dockview-core" }, "kind": "parameter" } @@ -41715,7 +41752,7 @@ { "type": "reference", "value": "IDockviewHeaderActionsProps", - "source": "dockview" + "source": "dockview-core" } ] }, @@ -41735,7 +41772,7 @@ { "type": "reference", "value": "IDockviewHeaderActionsProps", - "source": "dockview" + "source": "dockview-core" } ] }, @@ -41743,19 +41780,6 @@ "isOptional": true } }, - { - "name": "rootOverlayModel", - "code": "DroptargetOverlayModel", - "kind": "property", - "type": { - "type": "reference", - "value": "DroptargetOverlayModel", - "source": "dockview-core" - }, - "flags": { - "isOptional": true - } - }, { "name": "showDndOverlay", "code": "(event: DockviewDndOverlayEvent): boolean", @@ -41769,6 +41793,28 @@ "signatures": [ { "name": "__type", + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "use " + }, + { + "kind": "code", + "text": "`api.onUnhandledDragOverEvent`" + }, + { + "kind": "text", + "text": " instead. This will be removed in the next release." + } + ] + } + ] + }, "typeParameters": [], "parameters": [ { @@ -41794,46 +41840,52 @@ }, "flags": { "isOptional": true - } - }, - { - "name": "singleTabMode", - "code": "'default' | 'fullwidth'", - "kind": "property", - "type": { - "type": "or", - "values": [ + }, + "comment": { + "summary": [], + "blockTags": [ { - "type": "literal", - "value": "default" - }, - { - "type": "literal", - "value": "fullwidth" + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "use " + }, + { + "kind": "code", + "text": "`api.onUnhandledDragOverEvent`" + }, + { + "kind": "text", + "text": " instead. This will be removed in the next release." + } + ] } ] - }, - "flags": { - "isOptional": true } }, { "name": "tabComponents", - "code": "PanelCollection>", + "code": "Record>", "kind": "property", "type": { "type": "reference", - "value": "PanelCollection", - "source": "dockview", + "value": "Record", + "source": "typescript", "typeArguments": [ + { + "type": "intrinsic", + "value": "string" + }, { "type": "reference", - "value": "IDockviewPanelHeaderProps", - "source": "dockview", + "value": "React.FunctionComponent", + "source": "@types/react", "typeArguments": [ { - "type": "intrinsic", - "value": "any" + "type": "reference", + "value": "IDockviewPanelHeaderProps", + "source": "dockview-core" } ] } @@ -41855,7 +41907,7 @@ { "type": "reference", "value": "IWatermarkPanelProps", - "source": "dockview" + "source": "dockview-core" } ] }, @@ -41923,21 +41975,32 @@ }, { "name": "components", - "code": "PanelCollection>", + "code": "Record>>", "kind": "property", "type": { "type": "reference", - "value": "PanelCollection", - "source": "dockview", + "value": "Record", + "source": "typescript", "typeArguments": [ + { + "type": "intrinsic", + "value": "string" + }, { "type": "reference", - "value": "IGridviewPanelProps", - "source": "dockview", + "value": "React.FunctionComponent", + "source": "@types/react", "typeArguments": [ { - "type": "intrinsic", - "value": "any" + "type": "reference", + "value": "IGridviewPanelProps", + "source": "dockview", + "typeArguments": [ + { + "type": "intrinsic", + "value": "any" + } + ] } ] } @@ -42044,46 +42107,6 @@ } ] }, - "IGroupPanelBaseProps": { - "kind": "interface", - "name": "IGroupPanelBaseProps", - "children": [ - { - "name": "api", - "code": "DockviewPanelApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewPanelApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "containerApi", - "code": "DockviewApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "params", - "code": "IGroupPanelBaseProps.T", - "kind": "property", - "type": { - "type": "reference", - "value": "T", - "source": "dockview", - "refersToTypeParameter": true - }, - "flags": {} - } - ] - }, "IPaneviewPanelProps": { "kind": "interface", "name": "IPaneviewPanelProps", @@ -42152,21 +42175,32 @@ }, { "name": "components", - "code": "PanelCollection>", + "code": "Record>>", "kind": "property", "type": { "type": "reference", - "value": "PanelCollection", - "source": "dockview", + "value": "Record", + "source": "typescript", "typeArguments": [ + { + "type": "intrinsic", + "value": "string" + }, { "type": "reference", - "value": "IPaneviewPanelProps", - "source": "dockview", + "value": "React.FunctionComponent", + "source": "@types/react", "typeArguments": [ { - "type": "intrinsic", - "value": "any" + "type": "reference", + "value": "IPaneviewPanelProps", + "source": "dockview", + "typeArguments": [ + { + "type": "intrinsic", + "value": "any" + } + ] } ] } @@ -42200,21 +42234,32 @@ }, { "name": "headerComponents", - "code": "PanelCollection>", + "code": "Record>>", "kind": "property", "type": { "type": "reference", - "value": "PanelCollection", - "source": "dockview", + "value": "Record", + "source": "typescript", "typeArguments": [ + { + "type": "intrinsic", + "value": "string" + }, { "type": "reference", - "value": "IPaneviewPanelProps", - "source": "dockview", + "value": "React.FunctionComponent", + "source": "@types/react", "typeArguments": [ { - "type": "intrinsic", - "value": "any" + "type": "reference", + "value": "IPaneviewPanelProps", + "source": "dockview", + "typeArguments": [ + { + "type": "intrinsic", + "value": "any" + } + ] } ] } @@ -42391,21 +42436,32 @@ }, { "name": "components", - "code": "PanelCollection>", + "code": "Record>>", "kind": "property", "type": { "type": "reference", - "value": "PanelCollection", - "source": "dockview", + "value": "Record", + "source": "typescript", "typeArguments": [ + { + "type": "intrinsic", + "value": "string" + }, { "type": "reference", - "value": "ISplitviewPanelProps", - "source": "dockview", + "value": "React.FunctionComponent", + "source": "@types/react", "typeArguments": [ { - "type": "intrinsic", - "value": "any" + "type": "reference", + "value": "ISplitviewPanelProps", + "source": "dockview", + "typeArguments": [ + { + "type": "intrinsic", + "value": "any" + } + ] } ] } @@ -42512,68 +42568,6 @@ } ] }, - "IWatermarkPanelProps": { - "kind": "interface", - "name": "IWatermarkPanelProps", - "children": [ - { - "name": "close", - "code": "(): void", - "kind": "property", - "type": { - "type": "reflection", - "value": { - "name": "__type", - "code": "(): void", - "kind": "typeLiteral", - "signatures": [ - { - "name": "__type", - "typeParameters": [], - "parameters": [], - "returnType": { - "type": "intrinsic", - "value": "void" - }, - "code": "(): void", - "kind": "callSignature" - } - ] - } - }, - "flags": {} - }, - { - "name": "containerApi", - "code": "DockviewApi", - "kind": "property", - "type": { - "type": "reference", - "value": "DockviewApi", - "source": "dockview-core" - }, - "flags": {} - }, - { - "name": "group", - "code": "IDockviewGroupPanel", - "kind": "property", - "type": { - "type": "reference", - "value": "IDockviewGroupPanel", - "source": "dockview-core" - }, - "flags": { - "isOptional": true - } - } - ] - }, - "PanelCollection": { - "name": "PanelCollection", - "code": "", - "kind": "interface" - }, "PanelParameters": { "kind": "interface", "name": "PanelParameters", @@ -42744,45 +42738,7 @@ { "type": "reference", "value": "IDockviewPanelHeaderProps", - "source": "dockview" - } - ] - }, - "kind": "typeAlias" - }, - "IDockviewPanelHeaderProps": { - "name": "IDockviewPanelHeaderProps", - "code": "IGroupPanelBaseProps", - "typeParameters": [], - "type": { - "type": "reference", - "value": "IGroupPanelBaseProps", - "source": "dockview", - "typeArguments": [ - { - "type": "reference", - "value": "T", - "source": "dockview", - "refersToTypeParameter": true - } - ] - }, - "kind": "typeAlias" - }, - "IDockviewPanelProps": { - "name": "IDockviewPanelProps", - "code": "IGroupPanelBaseProps", - "typeParameters": [], - "type": { - "type": "reference", - "value": "IGroupPanelBaseProps", - "source": "dockview", - "typeArguments": [ - { - "type": "reference", - "value": "T", - "source": "dockview", - "refersToTypeParameter": true + "source": "dockview-core" } ] }, diff --git a/packages/docs/templates/dockview/update-parameters/vue/src/index.ts b/packages/docs/templates/dockview/update-parameters/vue/src/index.ts index df0d139cd..ba18612c1 100644 --- a/packages/docs/templates/dockview/update-parameters/vue/src/index.ts +++ b/packages/docs/templates/dockview/update-parameters/vue/src/index.ts @@ -27,7 +27,7 @@ const Panel = defineComponent({ }, }, mounted() { - const disposable = this.api.onDidTitleChange(() => { + const disposable = this.params.api.onDidTitleChange(() => { this.title = this.api.title; }); this.title = this.api.title; @@ -64,14 +64,16 @@ const Tab = defineComponent({ name: 'Tab', props: { params: { - type: Object as PropType, + type: Object as PropType< + IDockviewPanelHeaderProps<{ myValue: number }> + >, required: true, }, }, data() { return { title: '', - value: null, + value: this.params.params.myValue, }; }, mounted() { @@ -80,11 +82,12 @@ const Tab = defineComponent({ }); const disposable2 = this.params.api.onDidParametersChange(() => { - this.value = this.params.myValue; + console.log(this.params); + this.value = this.params.params.myValue; }); this.title = this.api.title; - this.value = this.params.myValue; + this.value = this.params.params.myValue; return () => { disposable.dispose(); diff --git a/scripts/set-experimental-versions.js b/scripts/set-experimental-versions.js index 537812f5f..1c14cb38d 100644 --- a/scripts/set-experimental-versions.js +++ b/scripts/set-experimental-versions.js @@ -50,22 +50,35 @@ fs.writeFileSync( // dockview -const dockviewPath = path.join(rootDir, 'packages', 'dockview', 'package.json'); -const dockviewPackageJson = JSON.parse( - fs.readFileSync(dockviewPath).toString() -); +const depPackages = ['dockview', 'dockview-vue']; -dockviewPackageJson.version = version; -dockviewPackageJson.dependencies['dockview-core'] = dockviewPackageJson.version; +for (const depPackage of depPackages) { + const dockviewPath = path.join( + rootDir, + 'packages', + depPackage, + 'package.json' + ); + const dockviewPackageJson = JSON.parse( + fs.readFileSync(dockviewPath).toString() + ); -fs.writeFileSync(dockviewPath, JSON.stringify(dockviewPackageJson, null, 4)); + dockviewPackageJson.version = version; + dockviewPackageJson.dependencies['dockview-core'] = + dockviewPackageJson.version; -// sanity check + fs.writeFileSync( + dockviewPath, + JSON.stringify(dockviewPackageJson, null, 4) + ); -const dvCore = JSON.parse(fs.readFileSync(dockviewCorePath).toString()); -const dv = JSON.parse(fs.readFileSync(dockviewPath).toString()); + // sanity check -console.log(`dockview-core version: ${dvCore.version}`); -console.log( - `dockview version: ${dv.version} dockview-core dependency version: ${dv.dependencies['dockview-core']}` -); + const dvCore = JSON.parse(fs.readFileSync(dockviewCorePath).toString()); + const dv = JSON.parse(fs.readFileSync(dockviewPath).toString()); + + console.log(`dockview-core version: ${dvCore.version}`); + console.log( + `${depPackage} version: ${dv.version} dockview-core dependency version: ${dv.dependencies['dockview-core']}` + ); +} diff --git a/tsconfig.json b/tsconfig.json index a9ac894b9..d22e10685 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,9 @@ }, { "path": "./packages/dockview-core" + }, + { + "path": "./packages/dockview-vue" } ] }