dockview-angular 5.2.0 → 6.0.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.
Files changed (59) hide show
  1. package/README.md +3 -1
  2. package/dist/README.md +3 -1
  3. package/dist/dockview.css +1945 -196
  4. package/dist/fesm2022/dockview-angular.mjs +163 -45
  5. package/dist/fesm2022/dockview-angular.mjs.map +1 -1
  6. package/dist/types/dockview-angular.d.ts +264 -0
  7. package/dist/types/dockview-angular.d.ts.map +1 -0
  8. package/package.json +12 -4
  9. package/dist/dockview-angular.d.ts.map +0 -1
  10. package/dist/esm2022/dockview-angular.mjs +0 -5
  11. package/dist/esm2022/lib/dockview/dockview-angular.component.mjs +0 -187
  12. package/dist/esm2022/lib/dockview/types.mjs +0 -3
  13. package/dist/esm2022/lib/dockview-angular.module.mjs +0 -38
  14. package/dist/esm2022/lib/gridview/angular-gridview-panel.mjs +0 -24
  15. package/dist/esm2022/lib/gridview/gridview-angular.component.mjs +0 -98
  16. package/dist/esm2022/lib/gridview/types.mjs +0 -3
  17. package/dist/esm2022/lib/paneview/angular-pane-part.mjs +0 -26
  18. package/dist/esm2022/lib/paneview/paneview-angular.component.mjs +0 -122
  19. package/dist/esm2022/lib/paneview/types.mjs +0 -3
  20. package/dist/esm2022/lib/splitview/angular-splitview-panel.mjs +0 -24
  21. package/dist/esm2022/lib/splitview/splitview-angular.component.mjs +0 -98
  22. package/dist/esm2022/lib/splitview/types.mjs +0 -3
  23. package/dist/esm2022/lib/utils/angular-renderer.mjs +0 -83
  24. package/dist/esm2022/lib/utils/component-factory.mjs +0 -100
  25. package/dist/esm2022/lib/utils/lifecycle-utils.mjs +0 -69
  26. package/dist/esm2022/public-api.mjs +0 -17
  27. package/dist/index.d.ts +0 -6
  28. package/dist/lib/dockview/dockview-angular.component.d.ts +0 -54
  29. package/dist/lib/dockview/dockview-angular.component.d.ts.map +0 -1
  30. package/dist/lib/dockview/types.d.ts +0 -28
  31. package/dist/lib/dockview/types.d.ts.map +0 -1
  32. package/dist/lib/dockview-angular.module.d.ts +0 -12
  33. package/dist/lib/dockview-angular.module.d.ts.map +0 -1
  34. package/dist/lib/gridview/angular-gridview-panel.d.ts +0 -10
  35. package/dist/lib/gridview/angular-gridview-panel.d.ts.map +0 -1
  36. package/dist/lib/gridview/gridview-angular.component.d.ts +0 -32
  37. package/dist/lib/gridview/gridview-angular.component.d.ts.map +0 -1
  38. package/dist/lib/gridview/types.d.ts +0 -13
  39. package/dist/lib/gridview/types.d.ts.map +0 -1
  40. package/dist/lib/paneview/angular-pane-part.d.ts +0 -14
  41. package/dist/lib/paneview/angular-pane-part.d.ts.map +0 -1
  42. package/dist/lib/paneview/paneview-angular.component.d.ts +0 -35
  43. package/dist/lib/paneview/paneview-angular.component.d.ts.map +0 -1
  44. package/dist/lib/paneview/types.d.ts +0 -15
  45. package/dist/lib/paneview/types.d.ts.map +0 -1
  46. package/dist/lib/splitview/angular-splitview-panel.d.ts +0 -10
  47. package/dist/lib/splitview/angular-splitview-panel.d.ts.map +0 -1
  48. package/dist/lib/splitview/splitview-angular.component.d.ts +0 -32
  49. package/dist/lib/splitview/splitview-angular.component.d.ts.map +0 -1
  50. package/dist/lib/splitview/types.d.ts +0 -13
  51. package/dist/lib/splitview/types.d.ts.map +0 -1
  52. package/dist/lib/utils/angular-renderer.d.ts +0 -21
  53. package/dist/lib/utils/angular-renderer.d.ts.map +0 -1
  54. package/dist/lib/utils/component-factory.d.ts +0 -21
  55. package/dist/lib/utils/component-factory.d.ts.map +0 -1
  56. package/dist/lib/utils/lifecycle-utils.d.ts +0 -19
  57. package/dist/lib/utils/lifecycle-utils.d.ts.map +0 -1
  58. package/dist/public-api.d.ts +0 -14
  59. package/dist/public-api.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dockview-angular.mjs","sources":["../../src/lib/utils/angular-renderer.ts","../../src/lib/gridview/angular-gridview-panel.ts","../../src/lib/splitview/angular-splitview-panel.ts","../../src/lib/paneview/angular-pane-part.ts","../../src/lib/utils/component-factory.ts","../../src/lib/utils/lifecycle-utils.ts","../../src/lib/dockview/dockview-angular.component.ts","../../src/lib/gridview/gridview-angular.component.ts","../../src/lib/paneview/paneview-angular.component.ts","../../src/lib/splitview/splitview-angular.component.ts","../../src/lib/dockview-angular.module.ts","../../src/public-api.ts","../../src/dockview-angular.ts"],"sourcesContent":["import {\n ComponentRef,\n Injector,\n Type,\n EmbeddedViewRef,\n createComponent,\n EnvironmentInjector,\n ApplicationRef,\n} from '@angular/core';\nimport { IContentRenderer, IFrameworkPart, Parameters } from 'dockview-core';\n\nexport interface AngularRendererOptions<T = any> {\n component: Type<T>;\n injector: Injector;\n environmentInjector?: EnvironmentInjector;\n}\n\nexport class AngularRenderer<T = any>\n implements IContentRenderer, IFrameworkPart\n{\n private componentRef: ComponentRef<T> | null = null;\n private _element: HTMLElement | null = null;\n private appRef: ApplicationRef;\n\n constructor(private options: AngularRendererOptions<T>) {\n this.appRef = options.injector.get(ApplicationRef);\n }\n\n get element(): HTMLElement {\n if (!this._element) {\n throw new Error('Angular renderer not initialized');\n }\n return this._element;\n }\n\n get component(): ComponentRef<T> | null {\n return this.componentRef;\n }\n\n init(parameters: Parameters): void {\n // Only forward params, api, and containerApi to the component\n // (matching the React renderer). Other init parameters like\n // 'title' are internal to the framework.\n const filtered: Record<string, unknown> = {};\n if ('params' in parameters) {\n filtered['params'] = parameters['params'];\n }\n if ('api' in parameters) {\n filtered['api'] = parameters['api'];\n }\n if ('containerApi' in parameters) {\n filtered['containerApi'] = parameters['containerApi'];\n }\n\n if (this.componentRef) {\n this.update(filtered);\n } else {\n this.render(filtered);\n }\n }\n\n update(params: Parameters): void {\n if (!this.componentRef) {\n return;\n }\n\n const instance = this.componentRef.instance as Record<string, unknown>;\n\n for (const key of Object.keys(params)) {\n if (key in instance) {\n instance[key] = params[key];\n }\n }\n\n // trigger change detection\n this.componentRef.changeDetectorRef.markForCheck();\n }\n\n private render(parameters: Parameters): void {\n try {\n // Create the component using modern Angular API\n this.componentRef = createComponent(this.options.component, {\n environmentInjector:\n this.options.environmentInjector ||\n (this.options.injector as EnvironmentInjector),\n elementInjector: this.options.injector,\n });\n\n // Set initial parameters\n this.update(parameters);\n\n // Get the DOM element\n const hostView = this.componentRef.hostView as EmbeddedViewRef<any>;\n this._element = hostView.rootNodes[0] as HTMLElement;\n\n // attach to change detection\n this.appRef.attachView(hostView);\n\n // trigger change detection\n this.componentRef.changeDetectorRef.markForCheck();\n } catch (error) {\n console.error('Error creating Angular component:', error);\n throw error;\n }\n }\n\n dispose(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n this._element = null;\n }\n}\n","import { Type, Injector, EnvironmentInjector } from '@angular/core';\nimport { GridviewPanel, IFrameworkPart } from 'dockview-core';\nimport { AngularRenderer } from '../utils/angular-renderer';\n\nexport class AngularGridviewPanel extends GridviewPanel {\n constructor(\n id: string,\n component: string,\n private readonly angularComponent: Type<any>,\n private readonly injector: Injector,\n private readonly environmentInjector?: EnvironmentInjector\n ) {\n super(id, component);\n }\n\n getComponent(): IFrameworkPart {\n const renderer = new AngularRenderer({\n component: this.angularComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n renderer.init({\n params: this._params?.params ?? {},\n api: this.api,\n });\n this.element.appendChild(renderer.element);\n return renderer;\n }\n}\n","import { Type, Injector, EnvironmentInjector } from '@angular/core';\nimport { SplitviewPanel, IFrameworkPart } from 'dockview-core';\nimport { AngularRenderer } from '../utils/angular-renderer';\n\nexport class AngularSplitviewPanel extends SplitviewPanel {\n constructor(\n id: string,\n component: string,\n private readonly angularComponent: Type<any>,\n private readonly injector: Injector,\n private readonly environmentInjector?: EnvironmentInjector\n ) {\n super(id, component);\n }\n\n getComponent(): IFrameworkPart {\n const renderer = new AngularRenderer({\n component: this.angularComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n renderer.init({\n params: this._params?.params ?? {},\n api: this.api,\n });\n this.element.appendChild(renderer.element);\n return renderer;\n }\n}\n","import { Type, Injector, EnvironmentInjector } from '@angular/core';\nimport {\n IPanePart,\n PanelUpdateEvent,\n PanePanelComponentInitParameter,\n} from 'dockview-core';\nimport { AngularRenderer } from '../utils/angular-renderer';\n\nexport class AngularPanePart implements IPanePart {\n private renderer: AngularRenderer;\n\n constructor(\n private readonly angularComponent: Type<any>,\n private readonly injector: Injector,\n private readonly environmentInjector?: EnvironmentInjector\n ) {\n this.renderer = new AngularRenderer({\n component: this.angularComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n }\n\n get element(): HTMLElement {\n return this.renderer.element;\n }\n\n init(parameters: PanePanelComponentInitParameter): void {\n this.renderer.init(parameters);\n }\n\n update(params: PanelUpdateEvent): void {\n this.renderer.update(params);\n }\n\n dispose(): void {\n this.renderer.dispose();\n }\n}\n","import { Type, Injector, EnvironmentInjector } from '@angular/core';\nimport {\n IContentRenderer,\n ITabRenderer,\n IWatermarkRenderer,\n IHeaderActionsRenderer,\n CreateComponentOptions,\n GridviewPanel,\n SplitviewPanel,\n IPanePart,\n} from 'dockview-core';\nimport { AngularRenderer } from './angular-renderer';\nimport { AngularGridviewPanel } from '../gridview/angular-gridview-panel';\nimport { AngularSplitviewPanel } from '../splitview/angular-splitview-panel';\nimport { AngularPanePart } from '../paneview/angular-pane-part';\n\nexport class AngularFrameworkComponentFactory {\n constructor(\n private components: Record<string, Type<any>>,\n private injector: Injector,\n private environmentInjector?: EnvironmentInjector,\n private tabComponents?: Record<string, Type<any>>,\n private watermarkComponent?: Type<any>,\n private headerActionsComponents?: Record<string, Type<any>>,\n private defaultTabComponent?: Type<any>\n ) {}\n\n // For DockviewComponent\n createDockviewComponent(options: CreateComponentOptions): IContentRenderer {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n const renderer = new AngularRenderer({\n component,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n renderer.init(options);\n return renderer;\n }\n\n // For GridviewComponent\n createGridviewComponent(options: CreateComponentOptions): GridviewPanel {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n return new AngularGridviewPanel(\n options.id,\n options.name,\n component,\n this.injector,\n this.environmentInjector\n );\n }\n\n // For SplitviewComponent\n createSplitviewComponent(options: CreateComponentOptions): SplitviewPanel {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n return new AngularSplitviewPanel(\n options.id,\n options.name,\n component,\n this.injector,\n this.environmentInjector\n );\n }\n\n // For PaneviewComponent\n createPaneviewComponent(options: CreateComponentOptions): IPanePart {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n return new AngularPanePart(\n component,\n this.injector,\n this.environmentInjector\n );\n }\n\n // Legacy method for backward compatibility\n createComponent(options: CreateComponentOptions): IContentRenderer {\n return this.createDockviewComponent(options);\n }\n\n createTabComponent(\n options: CreateComponentOptions\n ): ITabRenderer | undefined {\n let component = this.tabComponents?.[options.name];\n\n if (!component && this.defaultTabComponent) {\n component = this.defaultTabComponent;\n }\n\n if (!component) {\n return undefined;\n }\n\n const renderer = new AngularRenderer({\n component,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n renderer.init(options);\n return renderer;\n }\n\n createWatermarkComponent(): IWatermarkRenderer {\n if (!this.watermarkComponent) {\n throw new Error('Watermark component not provided');\n }\n\n const renderer = new AngularRenderer({\n component: this.watermarkComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n renderer.init({});\n return renderer;\n }\n\n createHeaderActionsComponent(\n name: string\n ): IHeaderActionsRenderer | undefined {\n const component = this.headerActionsComponents?.[name];\n if (!component) {\n return undefined;\n }\n\n const renderer = new AngularRenderer({\n component,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n // Initialize with empty props - dockview-core will call init() again with actual IGroupHeaderProps\n renderer.init({});\n return renderer;\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DockviewIDisposable } from 'dockview-core';\n\nexport class AngularDisposable implements DockviewIDisposable {\n private _isDisposed = false;\n private disposeCallbacks: (() => void)[] = [];\n\n get isDisposed(): boolean {\n return this._isDisposed;\n }\n\n addDisposeCallback(callback: () => void): void {\n if (this._isDisposed) {\n callback();\n return;\n }\n this.disposeCallbacks.push(callback);\n }\n\n dispose(): void {\n if (this._isDisposed) {\n return;\n }\n\n this._isDisposed = true;\n this.disposeCallbacks.forEach((callback) => {\n try {\n callback();\n } catch (error) {\n console.error('Error in dispose callback:', error);\n }\n });\n this.disposeCallbacks = [];\n }\n}\n\nexport class AngularLifecycleManager {\n private destroySubject = new Subject<void>();\n private disposables: DockviewIDisposable[] = [];\n\n get destroy$(): Observable<void> {\n return this.destroySubject.asObservable();\n }\n\n addDisposable(disposable: DockviewIDisposable): void {\n this.disposables.push(disposable);\n }\n\n takeUntilDestroy<T>(): (source: Observable<T>) => Observable<T> {\n return takeUntil(this.destroySubject);\n }\n\n destroy(): void {\n this.destroySubject.next();\n this.destroySubject.complete();\n\n this.disposables.forEach((disposable) => {\n try {\n disposable.dispose();\n } catch (error) {\n console.error('Error disposing resource:', error);\n }\n });\n this.disposables = [];\n }\n}\n\nexport function createAngularDisposable(\n disposeCallback?: () => void\n): AngularDisposable {\n const disposable = new AngularDisposable();\n if (disposeCallback) {\n disposable.addDisposeCallback(disposeCallback);\n }\n return disposable;\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n} from '@angular/core';\nimport {\n DockviewApi,\n DockviewOptions,\n DockviewReadyEvent,\n DockviewDidDropEvent,\n DockviewWillDropEvent,\n createDockview,\n PROPERTY_KEYS_DOCKVIEW,\n DockviewFrameworkOptions,\n DockviewComponentOptions,\n TabAnimation,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\n\nexport interface DockviewAngularOptions extends DockviewOptions {\n components: Record<string, Type<any>>;\n tabComponents?: Record<string, Type<any>>;\n watermarkComponent?: Type<any>;\n defaultTabComponent?: Type<any>;\n leftHeaderActionsComponent?: Type<any>;\n rightHeaderActionsComponent?: Type<any>;\n prefixHeaderActionsComponent?: Type<any>;\n}\n\n@Component({\n selector: 'dv-dockview',\n standalone: true,\n template: '<div #dockviewContainer class=\"dockview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .dockview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DockviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('dockviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any>>;\n @Input() tabComponents?: Record<string, Type<any>>;\n @Input() watermarkComponent?: Type<any>;\n @Input() defaultTabComponent?: Type<any>;\n @Input() leftHeaderActionsComponent?: Type<any>;\n @Input() rightHeaderActionsComponent?: Type<any>;\n @Input() prefixHeaderActionsComponent?: Type<any>;\n\n // Core dockview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() hideBorders?: boolean;\n @Input() rootOverlayModel?: 'always' | 'never';\n @Input() defaultTabComponent_?: string;\n @Input() tabHeight?: number;\n @Input() disableFloatingGroups?: boolean;\n @Input() floatingGroupBounds?: 'boundedWithinViewport';\n @Input() popoutUrl?: string;\n @Input() debug?: boolean;\n @Input() locked?: boolean;\n @Input() disableAutoResizing?: boolean;\n @Input() singleTabMode?: 'fullwidth' | 'default';\n @Input() tabAnimation?: TabAnimation;\n\n @Output() ready = new EventEmitter<DockviewReadyEvent>();\n @Output() didDrop = new EventEmitter<DockviewDidDropEvent>();\n @Output() willDrop = new EventEmitter<DockviewWillDropEvent>();\n\n private dockviewApi?: DockviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializeDockview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.dockviewApi) {\n this.dockviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.dockviewApi) {\n const coreChanges: Partial<DockviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core dockview properties\n PROPERTY_KEYS_DOCKVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n if (hasChanges) {\n this.dockviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getDockviewApi(): DockviewApi | undefined {\n return this.dockviewApi;\n }\n\n private initializeDockview(): void {\n if (!this.components) {\n throw new Error(\n 'DockviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.dockviewApi = createDockview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Set up event listeners\n this.setupEventListeners();\n\n // Emit ready event\n this.ready.emit({ api: this.dockviewApi });\n }\n\n private extractCoreOptions(): DockviewOptions {\n const coreOptions: Partial<DockviewComponentOptions> = {};\n\n PROPERTY_KEYS_DOCKVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n return coreOptions as DockviewOptions;\n }\n\n private createFrameworkOptions(): DockviewFrameworkOptions {\n const headerActionsComponents: Record<string, Type<any>> = {};\n if (this.leftHeaderActionsComponent) {\n headerActionsComponents['left'] = this.leftHeaderActionsComponent;\n }\n if (this.rightHeaderActionsComponent) {\n headerActionsComponents['right'] = this.rightHeaderActionsComponent;\n }\n if (this.prefixHeaderActionsComponent) {\n headerActionsComponents['prefix'] =\n this.prefixHeaderActionsComponent;\n }\n\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector,\n this.tabComponents,\n this.watermarkComponent,\n headerActionsComponents,\n this.defaultTabComponent\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createDockviewComponent(options);\n },\n createTabComponent: (options) => {\n return componentFactory.createTabComponent(options);\n },\n createWatermarkComponent: this.watermarkComponent\n ? () => {\n return componentFactory.createWatermarkComponent();\n }\n : undefined,\n createLeftHeaderActionComponent: this.leftHeaderActionsComponent\n ? (group) => {\n return componentFactory.createHeaderActionsComponent(\n 'left'\n )!;\n }\n : undefined,\n createRightHeaderActionComponent: this.rightHeaderActionsComponent\n ? (group) => {\n return componentFactory.createHeaderActionsComponent(\n 'right'\n )!;\n }\n : undefined,\n createPrefixHeaderActionComponent: this.prefixHeaderActionsComponent\n ? (group) => {\n return componentFactory.createHeaderActionsComponent(\n 'prefix'\n )!;\n }\n : undefined,\n };\n }\n\n private setupEventListeners(): void {\n if (!this.dockviewApi) {\n return;\n }\n\n // Set up event subscriptions using lifecycle manager\n const api = this.dockviewApi;\n\n if (this.didDrop.observers.length > 0) {\n const disposable = api.onDidDrop((event) => {\n this.didDrop.emit(event);\n });\n this.lifecycleManager.addDisposable(disposable);\n }\n\n if (this.willDrop.observers.length > 0) {\n const disposable = api.onWillDrop((event) => {\n this.willDrop.emit(event);\n });\n this.lifecycleManager.addDisposable(disposable);\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n} from '@angular/core';\nimport {\n GridviewApi,\n GridviewOptions,\n createGridview,\n PROPERTY_KEYS_GRIDVIEW,\n GridviewFrameworkOptions,\n GridviewComponentOptions,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\nimport { GridviewAngularReadyEvent } from './types';\n\nexport interface GridviewAngularOptions extends GridviewOptions {\n components: Record<string, Type<any>>;\n}\n\n@Component({\n selector: 'dv-gridview',\n standalone: true,\n template: '<div #gridviewContainer class=\"gridview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .gridview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GridviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('gridviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any>>;\n\n // Core gridview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() proportionalLayout?: boolean;\n @Input() hideBorders?: boolean;\n @Input() debug?: boolean;\n @Input() disableAutoResizing?: boolean;\n\n @Output() ready = new EventEmitter<GridviewAngularReadyEvent>();\n\n private gridviewApi?: GridviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializeGridview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.gridviewApi) {\n this.gridviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.gridviewApi) {\n const coreChanges: Partial<GridviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core gridview properties\n PROPERTY_KEYS_GRIDVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n if (hasChanges) {\n this.gridviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getGridviewApi(): GridviewApi | undefined {\n return this.gridviewApi;\n }\n\n private initializeGridview(): void {\n if (!this.components) {\n throw new Error(\n 'GridviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.gridviewApi = createGridview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Emit ready event\n this.ready.emit({ api: this.gridviewApi });\n }\n\n private extractCoreOptions(): GridviewOptions {\n const coreOptions: Partial<GridviewComponentOptions> = {};\n\n PROPERTY_KEYS_GRIDVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n return coreOptions as GridviewOptions;\n }\n\n private createFrameworkOptions(): GridviewFrameworkOptions {\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createGridviewComponent(options);\n },\n };\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n} from '@angular/core';\nimport {\n PaneviewApi,\n PaneviewOptions,\n PaneviewDropEvent,\n createPaneview,\n PROPERTY_KEYS_PANEVIEW,\n PaneviewFrameworkOptions,\n PaneviewComponentOptions,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\nimport { PaneviewAngularReadyEvent } from './types';\nimport { AngularPanePart } from './angular-pane-part';\n\nexport interface PaneviewAngularOptions extends PaneviewOptions {\n components: Record<string, Type<any>>;\n headerComponents?: Record<string, Type<any>>;\n}\n\n@Component({\n selector: 'dv-paneview',\n standalone: true,\n template: '<div #paneviewContainer class=\"paneview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .paneview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PaneviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('paneviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any>>;\n @Input() headerComponents?: Record<string, Type<any>>;\n\n // Core paneview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() hideBorders?: boolean;\n @Input() debug?: boolean;\n @Input() disableAutoResizing?: boolean;\n\n @Output() ready = new EventEmitter<PaneviewAngularReadyEvent>();\n @Output() drop = new EventEmitter<PaneviewDropEvent>();\n\n private paneviewApi?: PaneviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializePaneview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.paneviewApi) {\n this.paneviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.paneviewApi) {\n const coreChanges: Partial<PaneviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core paneview properties\n PROPERTY_KEYS_PANEVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n if (hasChanges) {\n this.paneviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getPaneviewApi(): PaneviewApi | undefined {\n return this.paneviewApi;\n }\n\n private initializePaneview(): void {\n if (!this.components) {\n throw new Error(\n 'PaneviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.paneviewApi = createPaneview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Set up event listeners\n this.setupEventListeners();\n\n // Emit ready event\n this.ready.emit({ api: this.paneviewApi });\n }\n\n private extractCoreOptions(): PaneviewOptions {\n const coreOptions: Partial<PaneviewComponentOptions> = {};\n\n PROPERTY_KEYS_PANEVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n return coreOptions as PaneviewOptions;\n }\n\n private createFrameworkOptions(): PaneviewFrameworkOptions {\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector,\n this.headerComponents\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createPaneviewComponent(options);\n },\n createHeaderComponent: this.headerComponents\n ? (options) => {\n return new AngularPanePart(\n this.headerComponents![options.name],\n this.injector,\n this.environmentInjector\n );\n }\n : undefined,\n };\n }\n\n private setupEventListeners(): void {\n if (!this.paneviewApi) {\n return;\n }\n\n // Set up event subscriptions using lifecycle manager\n const api = this.paneviewApi;\n\n if (this.drop.observers.length > 0) {\n const disposable = api.onDidDrop((event) => {\n this.drop.emit(event);\n });\n this.lifecycleManager.addDisposable(disposable);\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n} from '@angular/core';\nimport {\n SplitviewApi,\n SplitviewOptions,\n createSplitview,\n PROPERTY_KEYS_SPLITVIEW,\n SplitviewFrameworkOptions,\n SplitviewComponentOptions,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\nimport { SplitviewAngularReadyEvent } from './types';\n\nexport interface SplitviewAngularOptions extends SplitviewOptions {\n components: Record<string, Type<any>>;\n}\n\n@Component({\n selector: 'dv-splitview',\n standalone: true,\n template: '<div #splitviewContainer class=\"splitview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .splitview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SplitviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('splitviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any>>;\n\n // Core splitview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() proportionalLayout?: boolean;\n @Input() hideBorders?: boolean;\n @Input() debug?: boolean;\n @Input() disableAutoResizing?: boolean;\n\n @Output() ready = new EventEmitter<SplitviewAngularReadyEvent>();\n\n private splitviewApi?: SplitviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializeSplitview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.splitviewApi) {\n this.splitviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.splitviewApi) {\n const coreChanges: Partial<SplitviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core splitview properties\n PROPERTY_KEYS_SPLITVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n if (hasChanges) {\n this.splitviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getSplitviewApi(): SplitviewApi | undefined {\n return this.splitviewApi;\n }\n\n private initializeSplitview(): void {\n if (!this.components) {\n throw new Error(\n 'SplitviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.splitviewApi = createSplitview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Emit ready event\n this.ready.emit({ api: this.splitviewApi });\n }\n\n private extractCoreOptions(): SplitviewOptions {\n const coreOptions: Partial<SplitviewComponentOptions> = {};\n\n PROPERTY_KEYS_SPLITVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n return coreOptions as SplitviewOptions;\n }\n\n private createFrameworkOptions(): SplitviewFrameworkOptions {\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createSplitviewComponent(options);\n },\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DockviewAngularComponent } from './dockview/dockview-angular.component';\nimport { GridviewAngularComponent } from './gridview/gridview-angular.component';\nimport { PaneviewAngularComponent } from './paneview/paneview-angular.component';\nimport { SplitviewAngularComponent } from './splitview/splitview-angular.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DockviewAngularComponent,\n GridviewAngularComponent,\n PaneviewAngularComponent,\n SplitviewAngularComponent,\n ],\n exports: [\n DockviewAngularComponent,\n GridviewAngularComponent,\n PaneviewAngularComponent,\n SplitviewAngularComponent,\n ],\n})\nexport class DockviewAngularModule {}\n","/*\n * Public API Surface of dockview-angular\n */\n\n// Re-export everything from dockview-core\nexport * from 'dockview-core';\n\n// Angular module\nexport * from './lib/dockview-angular.module';\n\n// Components\nexport * from './lib/dockview/dockview-angular.component';\nexport * from './lib/gridview/gridview-angular.component';\nexport * from './lib/paneview/paneview-angular.component';\nexport * from './lib/splitview/splitview-angular.component';\n\n// Types\nexport {\n DockviewAngularOptions,\n DockviewAngularEvents,\n IDockviewAngularPanelProps,\n IDockviewAngularPanelHeaderProps,\n IDockviewAngularWatermarkProps,\n IDockviewAngularHeaderActionsProps,\n DockviewAngularComponentOptions,\n} from './lib/dockview/types';\nexport {\n GridviewAngularOptions,\n GridviewAngularEvents,\n GridviewAngularReadyEvent,\n} from './lib/gridview/types';\nexport {\n PaneviewAngularOptions,\n PaneviewAngularEvents,\n PaneviewAngularReadyEvent,\n} from './lib/paneview/types';\nexport {\n SplitviewAngularOptions,\n SplitviewAngularEvents,\n SplitviewAngularReadyEvent,\n} from './lib/splitview/types';\n\n// Utilities\nexport * from './lib/utils/angular-renderer';\nexport * from './lib/utils/component-factory';\nexport * from './lib/utils/lifecycle-utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAiBa,eAAe,CAAA;AAOxB,IAAA,WAAA,CAAoB,OAAkC,EAAA;QAAlC,IAAA,CAAA,OAAO,GAAP,OAAO;QAJnB,IAAA,CAAA,YAAY,GAA2B,IAAI;QAC3C,IAAA,CAAA,QAAQ,GAAuB,IAAI;QAIvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;IACtD;AAEA,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC;QACvD;QACA,OAAO,IAAI,CAAC,QAAQ;IACxB;AAEA,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,YAAY;IAC5B;AAEA,IAAA,IAAI,CAAC,UAAsB,EAAA;;;;QAIvB,MAAM,QAAQ,GAA4B,EAAE;AAC5C,QAAA,IAAI,QAAQ,IAAI,UAAU,EAAE;YACxB,QAAQ,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC7C;AACA,QAAA,IAAI,KAAK,IAAI,UAAU,EAAE;YACrB,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;QACvC;AACA,QAAA,IAAI,cAAc,IAAI,UAAU,EAAE;YAC9B,QAAQ,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC;QACzD;AAEA,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzB;aAAO;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzB;IACJ;AAEA,IAAA,MAAM,CAAC,MAAkB,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB;QACJ;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAmC;QAEtE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACnC,YAAA,IAAI,GAAG,IAAI,QAAQ,EAAE;gBACjB,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;YAC/B;QACJ;;AAGA,QAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE;IACtD;AAEQ,IAAA,MAAM,CAAC,UAAsB,EAAA;AACjC,QAAA,IAAI;;YAEA,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AACxD,gBAAA,mBAAmB,EACf,IAAI,CAAC,OAAO,CAAC,mBAAmB;oBAC/B,IAAI,CAAC,OAAO,CAAC,QAAgC;AAClD,gBAAA,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AACzC,aAAA,CAAC;;AAGF,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;;AAGvB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAgC;YACnE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAgB;;AAGpD,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;;AAGhC,YAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACtD;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC;AACzD,YAAA,MAAM,KAAK;QACf;IACJ;IAEA,OAAO,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC5B;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACxB;AACH;;AC7GK,MAAO,oBAAqB,SAAQ,aAAa,CAAA;IACnD,WAAA,CACI,EAAU,EACV,SAAiB,EACA,gBAA2B,EAC3B,QAAkB,EAClB,mBAAyC,EAAA;AAE1D,QAAA,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;QAJH,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;IAGxC;IAEA,YAAY,GAAA;AACR,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,SAAA,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC;AACV,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;YAClC,GAAG,EAAE,IAAI,CAAC,GAAG;AAChB,SAAA,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC1C,QAAA,OAAO,QAAQ;IACnB;AACH;;ACxBK,MAAO,qBAAsB,SAAQ,cAAc,CAAA;IACrD,WAAA,CACI,EAAU,EACV,SAAiB,EACA,gBAA2B,EAC3B,QAAkB,EAClB,mBAAyC,EAAA;AAE1D,QAAA,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;QAJH,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;IAGxC;IAEA,YAAY,GAAA;AACR,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,SAAA,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC;AACV,YAAA,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;YAClC,GAAG,EAAE,IAAI,CAAC,GAAG;AAChB,SAAA,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC1C,QAAA,OAAO,QAAQ;IACnB;AACH;;MCpBY,eAAe,CAAA;AAGxB,IAAA,WAAA,CACqB,gBAA2B,EAC3B,QAAkB,EAClB,mBAAyC,EAAA;QAFzC,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;AAEpC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,SAAA,CAAC;IACN;AAEA,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO;IAChC;AAEA,IAAA,IAAI,CAAC,UAA2C,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;IAClC;AAEA,IAAA,MAAM,CAAC,MAAwB,EAAA;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAChC;IAEA,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;IAC3B;AACH;;MCtBY,gCAAgC,CAAA;AACzC,IAAA,WAAA,CACY,UAAqC,EACrC,QAAkB,EAClB,mBAAyC,EACzC,aAAyC,EACzC,kBAA8B,EAC9B,uBAAmD,EACnD,mBAA+B,EAAA;QAN/B,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;QACnB,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAClB,IAAA,CAAA,uBAAuB,GAAvB,uBAAuB;QACvB,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;IAC5B;;AAGH,IAAA,uBAAuB,CAAC,OAA+B,EAAA;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CACX,CAAA,WAAA,EAAc,OAAO,CAAC,IAAI,CAAA,iCAAA,CAAmC,CAChE;QACL;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACjC,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,SAAA,CAAC;AAEF,QAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,QAAQ;IACnB;;AAGA,IAAA,uBAAuB,CAAC,OAA+B,EAAA;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CACX,CAAA,WAAA,EAAc,OAAO,CAAC,IAAI,CAAA,iCAAA,CAAmC,CAChE;QACL;QAEA,OAAO,IAAI,oBAAoB,CAC3B,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,IAAI,EACZ,SAAS,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,CAC3B;IACL;;AAGA,IAAA,wBAAwB,CAAC,OAA+B,EAAA;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CACX,CAAA,WAAA,EAAc,OAAO,CAAC,IAAI,CAAA,iCAAA,CAAmC,CAChE;QACL;QAEA,OAAO,IAAI,qBAAqB,CAC5B,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,IAAI,EACZ,SAAS,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,CAC3B;IACL;;AAGA,IAAA,uBAAuB,CAAC,OAA+B,EAAA;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CACX,CAAA,WAAA,EAAc,OAAO,CAAC,IAAI,CAAA,iCAAA,CAAmC,CAChE;QACL;AAEA,QAAA,OAAO,IAAI,eAAe,CACtB,SAAS,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,CAC3B;IACL;;AAGA,IAAA,eAAe,CAAC,OAA+B,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;IAChD;AAEA,IAAA,kBAAkB,CACd,OAA+B,EAAA;QAE/B,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;AAElD,QAAA,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE;AACxC,YAAA,SAAS,GAAG,IAAI,CAAC,mBAAmB;QACxC;QAEA,IAAI,CAAC,SAAS,EAAE;AACZ,YAAA,OAAO,SAAS;QACpB;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACjC,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,SAAA,CAAC;AAEF,QAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,QAAQ;IACnB;IAEA,wBAAwB,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC;QACvD;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,kBAAkB;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,SAAA,CAAC;AAEF,QAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACjB,QAAA,OAAO,QAAQ;IACnB;AAEA,IAAA,4BAA4B,CACxB,IAAY,EAAA;QAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE;AACZ,YAAA,OAAO,SAAS;QACpB;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;YACjC,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAChD,SAAA,CAAC;;AAGF,QAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACjB,QAAA,OAAO,QAAQ;IACnB;AACH;;MC3JY,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;QACY,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,gBAAgB,GAAmB,EAAE;IA6BjD;AA3BI,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;IAC3B;AAEA,IAAA,kBAAkB,CAAC,QAAoB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,QAAQ,EAAE;YACV;QACJ;AACA,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC;IAEA,OAAO,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB;QACJ;AAEA,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AACvC,YAAA,IAAI;AACA,gBAAA,QAAQ,EAAE;YACd;YAAE,OAAO,KAAK,EAAE;AACZ,gBAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC;YACtD;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC9B;AACH;MAEY,uBAAuB,CAAA;AAApC,IAAA,WAAA,GAAA;AACY,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;QACpC,IAAA,CAAA,WAAW,GAA0B,EAAE;IA2BnD;AAzBI,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;IAC7C;AAEA,IAAA,aAAa,CAAC,UAA+B,EAAA;AACzC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;IACrC;IAEA,gBAAgB,GAAA;AACZ,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;IACzC;IAEA,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAE9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;AACpC,YAAA,IAAI;gBACA,UAAU,CAAC,OAAO,EAAE;YACxB;YAAE,OAAO,KAAK,EAAE;AACZ,gBAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC;YACrD;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;IACzB;AACH;AAEK,SAAU,uBAAuB,CACnC,eAA4B,EAAA;AAE5B,IAAA,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE;IAC1C,IAAI,eAAe,EAAE;AACjB,QAAA,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAAC;IAClD;AACA,IAAA,OAAO,UAAU;AACrB;;MCda,wBAAwB,CAAA;AApBrC,IAAA,WAAA,GAAA;AAgDc,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAsB;AAC9C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAwB;AAClD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAyB;AAGtD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,uBAAuB,EAAE;AAChD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAwJ5D,IAAA;IAtJG,QAAQ,GAAA;QACJ,IAAI,CAAC,kBAAkB,EAAE;IAC7B;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;AAC/B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QAC9B;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,WAAW,GAA6B,EAAE;YAChD,IAAI,UAAU,GAAG,KAAK;;AAGtB,YAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnC,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;oBAC9C,WAAmB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY;oBACrD,UAAU,GAAG,IAAI;gBACrB;AACJ,YAAA,CAAC,CAAC;YAEF,IAAI,UAAU,EAAE;AACZ,gBAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;YAC/C;QACJ;IACJ;IAEA,cAAc,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;IAC3B;IAEQ,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CACX,wDAAwD,CAC3D;QACL;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC7C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAEtD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AAC/D,YAAA,GAAG,WAAW;AACd,YAAA,GAAG,gBAAgB;AACtB,SAAA,CAAC;;QAGF,IAAI,CAAC,mBAAmB,EAAE;;AAG1B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C;IAEQ,kBAAkB,GAAA;QACtB,MAAM,WAAW,GAAsC,EAAE;AAEzD,QAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnC,YAAA,MAAM,KAAK,GAAI,IAAY,CAAC,GAAG,CAAC;AAChC,YAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACpB,gBAAA,WAAmB,CAAC,GAAG,CAAC,GAAG,KAAK;YACrC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,WAA8B;IACzC;IAEQ,sBAAsB,GAAA;QAC1B,MAAM,uBAAuB,GAA8B,EAAE;AAC7D,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACjC,YAAA,uBAAuB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,0BAA0B;QACrE;AACA,QAAA,IAAI,IAAI,CAAC,2BAA2B,EAAE;AAClC,YAAA,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,2BAA2B;QACvE;AACA,QAAA,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACnC,uBAAuB,CAAC,QAAQ,CAAC;gBAC7B,IAAI,CAAC,4BAA4B;QACzC;AAEA,QAAA,MAAM,gBAAgB,GAAG,IAAI,gCAAgC,CACzD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,uBAAuB,EACvB,IAAI,CAAC,mBAAmB,CAC3B;QAED,OAAO;AACH,YAAA,eAAe,EAAE,CAAC,OAAO,KAAI;AACzB,gBAAA,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,OAAO,CAAC;YAC5D,CAAC;AACD,YAAA,kBAAkB,EAAE,CAAC,OAAO,KAAI;AAC5B,gBAAA,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACvD,CAAC;YACD,wBAAwB,EAAE,IAAI,CAAC;kBACzB,MAAK;AACD,oBAAA,OAAO,gBAAgB,CAAC,wBAAwB,EAAE;gBACtD;AACF,kBAAE,SAAS;YACf,+BAA+B,EAAE,IAAI,CAAC;AAClC,kBAAE,CAAC,KAAK,KAAI;AACN,oBAAA,OAAO,gBAAgB,CAAC,4BAA4B,CAChD,MAAM,CACR;gBACN;AACF,kBAAE,SAAS;YACf,gCAAgC,EAAE,IAAI,CAAC;AACnC,kBAAE,CAAC,KAAK,KAAI;AACN,oBAAA,OAAO,gBAAgB,CAAC,4BAA4B,CAChD,OAAO,CACT;gBACN;AACF,kBAAE,SAAS;YACf,iCAAiC,EAAE,IAAI,CAAC;AACpC,kBAAE,CAAC,KAAK,KAAI;AACN,oBAAA,OAAO,gBAAgB,CAAC,4BAA4B,CAChD,QAAQ,CACV;gBACN;AACF,kBAAE,SAAS;SAClB;IACL;IAEQ,mBAAmB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB;QACJ;;AAGA,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW;QAE5B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACvC,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;QACnD;QAEA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,KAAI;AACxC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;QACnD;IACJ;+GA1LS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,gjCAjBvB,2DAA2D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAiB5D,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBApBpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cACX,IAAI,EAAA,QAAA,EACN,2DAA2D,EAAA,eAAA,EAepD,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA;8BAIvC,YAAY,EAAA,CAAA;sBADnB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAGvC,UAAU,EAAA,CAAA;sBAAlB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,0BAA0B,EAAA,CAAA;sBAAlC;gBACQ,2BAA2B,EAAA,CAAA;sBAAnC;gBACQ,4BAA4B,EAAA,CAAA;sBAApC;gBAGQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,oBAAoB,EAAA,CAAA;sBAA5B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAES,KAAK,EAAA,CAAA;sBAAd;gBACS,OAAO,EAAA,CAAA;sBAAhB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;;;MCvCQ,wBAAwB,CAAA;AApBrC,IAAA,WAAA,GAAA;AAkCc,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAA6B;AAGvD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,uBAAuB,EAAE;AAChD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAiF5D,IAAA;IA/EG,QAAQ,GAAA;QACJ,IAAI,CAAC,kBAAkB,EAAE;IAC7B;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;AAC/B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QAC9B;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,WAAW,GAA6B,EAAE;YAChD,IAAI,UAAU,GAAG,KAAK;;AAGtB,YAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnC,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;oBAC9C,WAAmB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY;oBACrD,UAAU,GAAG,IAAI;gBACrB;AACJ,YAAA,CAAC,CAAC;YAEF,IAAI,UAAU,EAAE;AACZ,gBAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;YAC/C;QACJ;IACJ;IAEA,cAAc,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;IAC3B;IAEQ,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CACX,wDAAwD,CAC3D;QACL;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC7C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAEtD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AAC/D,YAAA,GAAG,WAAW;AACd,YAAA,GAAG,gBAAgB;AACtB,SAAA,CAAC;;AAGF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C;IAEQ,kBAAkB,GAAA;QACtB,MAAM,WAAW,GAAsC,EAAE;AAEzD,QAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnC,YAAA,MAAM,KAAK,GAAI,IAAY,CAAC,GAAG,CAAC;AAChC,YAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACpB,gBAAA,WAAmB,CAAC,GAAG,CAAC,GAAG,KAAK;YACrC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,WAA8B;IACzC;IAEQ,sBAAsB,GAAA;AAC1B,QAAA,MAAM,gBAAgB,GAAG,IAAI,gCAAgC,CACzD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,CAC3B;QAED,OAAO;AACH,YAAA,eAAe,EAAE,CAAC,OAAO,KAAI;AACzB,gBAAA,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,OAAO,CAAC;YAC5D,CAAC;SACJ;IACL;+GAnGS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,sdAjBvB,2DAA2D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAiB5D,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBApBpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cACX,IAAI,EAAA,QAAA,EACN,2DAA2D,EAAA,eAAA,EAepD,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA;8BAIvC,YAAY,EAAA,CAAA;sBADnB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAGvC,UAAU,EAAA,CAAA;sBAAlB;gBAGQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBAES,KAAK,EAAA,CAAA;sBAAd;;;MCXQ,wBAAwB,CAAA;AApBrC,IAAA,WAAA,GAAA;AAkCc,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAA6B;AACrD,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAqB;AAG9C,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,uBAAuB,EAAE;AAChD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AA8G5D,IAAA;IA5GG,QAAQ,GAAA;QACJ,IAAI,CAAC,kBAAkB,EAAE;IAC7B;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;AAC/B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QAC9B;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,WAAW,GAA6B,EAAE;YAChD,IAAI,UAAU,GAAG,KAAK;;AAGtB,YAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnC,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;oBAC9C,WAAmB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY;oBACrD,UAAU,GAAG,IAAI;gBACrB;AACJ,YAAA,CAAC,CAAC;YAEF,IAAI,UAAU,EAAE;AACZ,gBAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;YAC/C;QACJ;IACJ;IAEA,cAAc,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;IAC3B;IAEQ,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CACX,wDAAwD,CAC3D;QACL;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC7C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAEtD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AAC/D,YAAA,GAAG,WAAW;AACd,YAAA,GAAG,gBAAgB;AACtB,SAAA,CAAC;;QAGF,IAAI,CAAC,mBAAmB,EAAE;;AAG1B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C;IAEQ,kBAAkB,GAAA;QACtB,MAAM,WAAW,GAAsC,EAAE;AAEzD,QAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnC,YAAA,MAAM,KAAK,GAAI,IAAY,CAAC,GAAG,CAAC;AAChC,YAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACpB,gBAAA,WAAmB,CAAC,GAAG,CAAC,GAAG,KAAK;YACrC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,WAA8B;IACzC;IAEQ,sBAAsB,GAAA;QAC1B,MAAM,gBAAgB,GAAG,IAAI,gCAAgC,CACzD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,gBAAgB,CACxB;QAED,OAAO;AACH,YAAA,eAAe,EAAE,CAAC,OAAO,KAAI;AACzB,gBAAA,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,OAAO,CAAC;YAC5D,CAAC;YACD,qBAAqB,EAAE,IAAI,CAAC;AACxB,kBAAE,CAAC,OAAO,KAAI;oBACR,OAAO,IAAI,eAAe,CACtB,IAAI,CAAC,gBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,EACpC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,CAC3B;gBACL;AACF,kBAAE,SAAS;SAClB;IACL;IAEQ,mBAAmB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB;QACJ;;AAGA,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW;QAE5B,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACvC,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;QACnD;IACJ;+GAjIS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,geAjBvB,2DAA2D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAiB5D,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBApBpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cACX,IAAI,EAAA,QAAA,EACN,2DAA2D,EAAA,eAAA,EAepD,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,0FAAA,CAAA,EAAA;8BAIvC,YAAY,EAAA,CAAA;sBADnB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAGvC,UAAU,EAAA,CAAA;sBAAlB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAGQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBAES,KAAK,EAAA,CAAA;sBAAd;gBACS,IAAI,EAAA,CAAA;sBAAb;;;MClBQ,yBAAyB,CAAA;AApBtC,IAAA,WAAA,GAAA;AAkCc,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAA8B;AAGxD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,uBAAuB,EAAE;AAChD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAiF5D,IAAA;IA/EG,QAAQ,GAAA;QACJ,IAAI,CAAC,mBAAmB,EAAE;IAC9B;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;AAC/B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC/B;IACJ;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,WAAW,GAA8B,EAAE;YACjD,IAAI,UAAU,GAAG,KAAK;;AAGtB,YAAA,uBAAuB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACpC,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;oBAC9C,WAAmB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY;oBACrD,UAAU,GAAG,IAAI;gBACrB;AACJ,YAAA,CAAC,CAAC;YAEF,IAAI,UAAU,EAAE;AACZ,gBAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC;YAChD;QACJ;IACJ;IAEA,eAAe,GAAA;QACX,OAAO,IAAI,CAAC,YAAY;IAC5B;IAEQ,mBAAmB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D;QACL;AAEA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC7C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAEtD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AACjE,YAAA,GAAG,WAAW;AACd,YAAA,GAAG,gBAAgB;AACtB,SAAA,CAAC;;AAGF,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC/C;IAEQ,kBAAkB,GAAA;QACtB,MAAM,WAAW,GAAuC,EAAE;AAE1D,QAAA,uBAAuB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACpC,YAAA,MAAM,KAAK,GAAI,IAAY,CAAC,GAAG,CAAC;AAChC,YAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACpB,gBAAA,WAAmB,CAAC,GAAG,CAAC,GAAG,KAAK;YACrC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,WAA+B;IAC1C;IAEQ,sBAAsB,GAAA;AAC1B,QAAA,MAAM,gBAAgB,GAAG,IAAI,gCAAgC,CACzD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,mBAAmB,CAC3B;QAED,OAAO;AACH,YAAA,eAAe,EAAE,CAAC,OAAO,KAAI;AACzB,gBAAA,OAAO,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC;YAC7D,CAAC;SACJ;IACL;+GAnGS,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,wdAjBxB,6DAA6D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2FAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAiB9D,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBApBrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,cACZ,IAAI,EAAA,QAAA,EACN,6DAA6D,EAAA,eAAA,EAetD,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,2FAAA,CAAA,EAAA;8BAIvC,YAAY,EAAA,CAAA;sBADnB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAGxC,UAAU,EAAA,CAAA;sBAAlB;gBAGQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBAES,KAAK,EAAA,CAAA;sBAAd;;;MC5CQ,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAb1B,YAAY;YACZ,wBAAwB;YACxB,wBAAwB;YACxB,wBAAwB;AACxB,YAAA,yBAAyB,aAGzB,wBAAwB;YACxB,wBAAwB;YACxB,wBAAwB;YACxB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAb1B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAaP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,wBAAwB;wBACxB,wBAAwB;wBACxB,wBAAwB;wBACxB,yBAAyB;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,wBAAwB;wBACxB,wBAAwB;wBACxB,wBAAwB;wBACxB,yBAAyB;AAC5B,qBAAA;AACJ,iBAAA;;;ACtBD;;AAEG;AAEH;;ACJA;;AAEG;;;;"}
1
+ {"version":3,"file":"dockview-angular.mjs","sources":["../../src/lib/utils/angular-renderer.ts","../../src/lib/gridview/angular-gridview-panel.ts","../../src/lib/splitview/angular-splitview-panel.ts","../../src/lib/paneview/angular-pane-part.ts","../../src/lib/utils/component-factory.ts","../../src/lib/utils/lifecycle-utils.ts","../../src/lib/dockview/angular-tab-group-chip-renderer.ts","../../src/lib/dockview/dockview-angular.component.ts","../../src/lib/gridview/gridview-angular.component.ts","../../src/lib/paneview/paneview-angular.component.ts","../../src/lib/splitview/splitview-angular.component.ts","../../src/lib/dockview-angular.module.ts","../../src/public-api.ts","../../src/dockview-angular.ts"],"sourcesContent":["import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EmbeddedViewRef,\n EnvironmentInjector,\n Injector,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport { IContentRenderer, IFrameworkPart, Parameters } from 'dockview-core';\n\nexport interface AngularRendererOptions<T = unknown> {\n component: Type<T> | TemplateRef<T>;\n injector: Injector;\n environmentInjector?: EnvironmentInjector;\n}\n\nexport class AngularRenderer<T = unknown>\n implements IContentRenderer, IFrameworkPart\n{\n private componentRef: ComponentRef<T> | null = null;\n private viewRef: EmbeddedViewRef<T> | null = null;\n private _element: HTMLElement | null = null;\n private appRef: ApplicationRef;\n\n constructor(private options: AngularRendererOptions<T>) {\n this.appRef = options.injector.get(ApplicationRef);\n }\n\n get element(): HTMLElement {\n if (!this._element) {\n throw new Error('Angular renderer not initialized');\n }\n return this._element;\n }\n\n get component(): ComponentRef<T> | null {\n return this.componentRef;\n }\n get view(): EmbeddedViewRef<T> | null {\n return this.viewRef;\n }\n\n init(parameters: Parameters): void {\n // Forward the known user-facing fields from panel/tab renderers\n // and context menu item renderers. Other internal fields (e.g. 'title')\n // are excluded here; update() further guards with `key in instance`.\n const filtered: Record<string, unknown> = {};\n // Panel / tab renderer fields\n if ('params' in parameters) {\n filtered['params'] = parameters['params'];\n }\n if ('api' in parameters) {\n filtered['api'] = parameters['api'];\n }\n if ('containerApi' in parameters) {\n filtered['containerApi'] = parameters['containerApi'];\n }\n // Context menu item renderer fields (IContextMenuItemComponentProps)\n if ('panel' in parameters) {\n filtered['panel'] = parameters['panel'];\n }\n if ('group' in parameters) {\n filtered['group'] = parameters['group'];\n }\n if ('close' in parameters) {\n filtered['close'] = parameters['close'];\n }\n if ('componentProps' in parameters) {\n filtered['componentProps'] = parameters['componentProps'];\n }\n\n if (this._element) {\n this.update(filtered);\n } else {\n this.render(filtered);\n }\n }\n\n update(params: Parameters): void {\n // Only component can have parameters\n if (!this.componentRef) {\n return;\n }\n\n const instance = this.componentRef.instance as Record<string, unknown>;\n\n for (const key of Object.keys(params)) {\n instance[key] = params[key];\n }\n\n // Trigger change detection\n if (this.viewRef) {\n this.viewRef.markForCheck();\n }\n }\n\n private render(parameters: Parameters): void {\n try {\n if (this.options.component instanceof TemplateRef) {\n this.setupView(this.options.component);\n } else {\n this.setupComponent(this.options.component, parameters);\n }\n } catch (error) {\n console.error('dockview: error creating Angular component', error);\n throw error;\n }\n }\n\n private setupComponent(component: Type<T>, parameters: Parameters): void {\n // Create the component using modern Angular API\n this.componentRef = createComponent(component, {\n environmentInjector:\n this.options.environmentInjector ||\n (this.options.injector as EnvironmentInjector),\n elementInjector: this.options.injector,\n });\n\n // Set initial parameters\n this.update(parameters);\n\n // Get the DOM element\n this.viewRef = this.componentRef.hostView as EmbeddedViewRef<T>;\n this._element = this.viewRef.rootNodes[0] as HTMLElement;\n\n // always attach for now\n this.appRef.attachView(this.viewRef);\n this.viewRef.markForCheck();\n }\n\n private setupView(template: TemplateRef<T>): void {\n // Create embedded view from template\n this.viewRef = template.createEmbeddedView(\n <never>{},\n this.options.injector\n );\n this._element = this.viewRef.rootNodes[0] as HTMLElement;\n\n // always attach for now\n this.appRef.attachView(this.viewRef);\n this.viewRef.markForCheck();\n }\n\n dispose(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n if (this.viewRef) {\n this.viewRef.destroy();\n this.viewRef = null;\n }\n this._element = null;\n }\n}\n","import {\n Type,\n Injector,\n EnvironmentInjector,\n TemplateRef,\n} from '@angular/core';\nimport { GridviewPanel, IFrameworkPart } from 'dockview-core';\nimport { AngularRenderer } from '../utils/angular-renderer';\n\nexport class AngularGridviewPanel extends GridviewPanel {\n constructor(\n id: string,\n component: string,\n private readonly angularComponent: Type<any> | TemplateRef<any>,\n private readonly injector: Injector,\n private readonly environmentInjector?: EnvironmentInjector\n ) {\n super(id, component);\n }\n\n getComponent(): IFrameworkPart {\n const renderer = new AngularRenderer({\n component: this.angularComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n renderer.init({\n params: this._params?.params ?? {},\n api: this.api,\n });\n this.element.appendChild(renderer.element);\n return renderer;\n }\n}\n","import {\n Type,\n Injector,\n EnvironmentInjector,\n TemplateRef,\n} from '@angular/core';\nimport { SplitviewPanel, IFrameworkPart } from 'dockview-core';\nimport { AngularRenderer } from '../utils/angular-renderer';\n\nexport class AngularSplitviewPanel extends SplitviewPanel {\n constructor(\n id: string,\n component: string,\n private readonly angularComponent: Type<any> | TemplateRef<any>,\n private readonly injector: Injector,\n private readonly environmentInjector?: EnvironmentInjector\n ) {\n super(id, component);\n }\n\n getComponent(): IFrameworkPart {\n const renderer = new AngularRenderer({\n component: this.angularComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n renderer.init({\n params: this._params?.params ?? {},\n api: this.api,\n });\n this.element.appendChild(renderer.element);\n return renderer;\n }\n}\n","import {\n Type,\n Injector,\n EnvironmentInjector,\n TemplateRef,\n} from '@angular/core';\nimport {\n IPanePart,\n PanelUpdateEvent,\n PanePanelComponentInitParameter,\n} from 'dockview-core';\nimport { AngularRenderer } from '../utils/angular-renderer';\n\nexport class AngularPanePart implements IPanePart {\n private renderer: AngularRenderer;\n\n constructor(\n private readonly angularComponent: Type<any> | TemplateRef<any>,\n private readonly injector: Injector,\n private readonly environmentInjector?: EnvironmentInjector\n ) {\n this.renderer = new AngularRenderer({\n component: this.angularComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n }\n\n get element(): HTMLElement {\n return this.renderer.element;\n }\n\n init(parameters: PanePanelComponentInitParameter): void {\n this.renderer.init(parameters);\n }\n\n update(params: PanelUpdateEvent): void {\n this.renderer.update(params);\n }\n\n dispose(): void {\n this.renderer.dispose();\n }\n}\n","import {\n Type,\n Injector,\n EnvironmentInjector,\n TemplateRef,\n} from '@angular/core';\nimport {\n IContentRenderer,\n ITabRenderer,\n IWatermarkRenderer,\n IHeaderActionsRenderer,\n CreateComponentOptions,\n GridviewPanel,\n SplitviewPanel,\n IPanePart,\n} from 'dockview-core';\nimport { AngularRenderer } from './angular-renderer';\nimport { AngularGridviewPanel } from '../gridview/angular-gridview-panel';\nimport { AngularSplitviewPanel } from '../splitview/angular-splitview-panel';\nimport { AngularPanePart } from '../paneview/angular-pane-part';\n\nexport class AngularFrameworkComponentFactory {\n constructor(\n private components: Record<string, Type<any> | TemplateRef<any>>,\n private injector: Injector,\n private environmentInjector?: EnvironmentInjector,\n private tabComponents?: Record<string, Type<any> | TemplateRef<any>>,\n private watermarkComponent?: Type<any> | TemplateRef<any>,\n private headerActionsComponents?: Record<\n string,\n Type<any> | TemplateRef<any>\n >,\n private defaultTabComponent?: Type<any> | TemplateRef<any>\n ) {}\n\n // For DockviewComponent\n createDockviewComponent(options: CreateComponentOptions): IContentRenderer {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n const renderer = new AngularRenderer({\n component,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n renderer.init(options);\n return renderer;\n }\n\n // For GridviewComponent\n createGridviewComponent(options: CreateComponentOptions): GridviewPanel {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n return new AngularGridviewPanel(\n options.id,\n options.name,\n component,\n this.injector,\n this.environmentInjector\n );\n }\n\n // For SplitviewComponent\n createSplitviewComponent(options: CreateComponentOptions): SplitviewPanel {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n return new AngularSplitviewPanel(\n options.id,\n options.name,\n component,\n this.injector,\n this.environmentInjector\n );\n }\n\n // For PaneviewComponent\n createPaneviewComponent(options: CreateComponentOptions): IPanePart {\n const component = this.components[options.name];\n if (!component) {\n throw new Error(\n `Component '${options.name}' not found in component registry`\n );\n }\n\n return new AngularPanePart(\n component,\n this.injector,\n this.environmentInjector\n );\n }\n\n // Legacy method for backward compatibility\n createComponent(options: CreateComponentOptions): IContentRenderer {\n return this.createDockviewComponent(options);\n }\n\n createTabComponent(\n options: CreateComponentOptions\n ): ITabRenderer | undefined {\n let component = this.tabComponents?.[options.name];\n\n if (!component && this.defaultTabComponent) {\n component = this.defaultTabComponent;\n }\n\n if (!component) {\n return undefined;\n }\n\n const renderer = new AngularRenderer({\n component,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n renderer.init(options);\n return renderer;\n }\n\n createWatermarkComponent(): IWatermarkRenderer {\n if (!this.watermarkComponent) {\n throw new Error('Watermark component not provided');\n }\n\n const renderer = new AngularRenderer({\n component: this.watermarkComponent,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n renderer.init({});\n return renderer;\n }\n\n createHeaderActionsComponent(\n name: string\n ): IHeaderActionsRenderer | undefined {\n const component = this.headerActionsComponents?.[name];\n if (!component) {\n return undefined;\n }\n\n const renderer = new AngularRenderer({\n component,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n\n // Initialize with empty props - dockview-core will call init() again with actual IGroupHeaderProps\n renderer.init({});\n return renderer;\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DockviewIDisposable } from 'dockview-core';\n\nexport class AngularDisposable implements DockviewIDisposable {\n private _isDisposed = false;\n private disposeCallbacks: (() => void)[] = [];\n\n get isDisposed(): boolean {\n return this._isDisposed;\n }\n\n addDisposeCallback(callback: () => void): void {\n if (this._isDisposed) {\n callback();\n return;\n }\n this.disposeCallbacks.push(callback);\n }\n\n dispose(): void {\n if (this._isDisposed) {\n return;\n }\n\n this._isDisposed = true;\n this.disposeCallbacks.forEach((callback) => {\n try {\n callback();\n } catch (error) {\n console.error('dockview: error in dispose callback', error);\n }\n });\n this.disposeCallbacks = [];\n }\n}\n\nexport class AngularLifecycleManager {\n private destroySubject = new Subject<void>();\n private disposables: DockviewIDisposable[] = [];\n\n get destroy$(): Observable<void> {\n return this.destroySubject.asObservable();\n }\n\n addDisposable(disposable: DockviewIDisposable): void {\n this.disposables.push(disposable);\n }\n\n takeUntilDestroy<T>(): (source: Observable<T>) => Observable<T> {\n return takeUntil(this.destroySubject);\n }\n\n destroy(): void {\n this.destroySubject.next();\n this.destroySubject.complete();\n\n this.disposables.forEach((disposable) => {\n try {\n disposable.dispose();\n } catch (error) {\n console.error('dockview: error disposing resource', error);\n }\n });\n this.disposables = [];\n }\n}\n\nexport function createAngularDisposable(\n disposeCallback?: () => void\n): AngularDisposable {\n const disposable = new AngularDisposable();\n if (disposeCallback) {\n disposable.addDisposeCallback(disposeCallback);\n }\n return disposable;\n}\n","import {\n Type,\n Injector,\n EnvironmentInjector,\n ApplicationRef,\n ComponentRef,\n EmbeddedViewRef,\n createComponent,\n} from '@angular/core';\nimport { ITabGroupChipRenderer, ITabGroup, DockviewApi } from 'dockview-core';\n\nexport interface IDockviewAngularTabGroupChipProps {\n tabGroup: ITabGroup;\n api: DockviewApi;\n}\n\nexport class AngularTabGroupChipRenderer implements ITabGroupChipRenderer {\n private readonly _element: HTMLElement;\n private componentRef: ComponentRef<any> | null = null;\n private readonly appRef: ApplicationRef;\n\n get element(): HTMLElement {\n return this._element;\n }\n\n constructor(\n private readonly component: Type<any>,\n private readonly injector: Injector,\n private readonly environmentInjector?: EnvironmentInjector\n ) {\n this._element = document.createElement('div');\n this._element.className = 'dv-angular-part';\n this._element.style.display = 'inline-flex';\n this.appRef = injector.get(ApplicationRef);\n }\n\n init(params: { tabGroup: ITabGroup; api: DockviewApi }): void {\n this.componentRef = createComponent(this.component, {\n environmentInjector:\n this.environmentInjector ||\n (this.injector as EnvironmentInjector),\n elementInjector: this.injector,\n });\n\n const instance = this.componentRef.instance as Record<string, unknown>;\n instance['tabGroup'] = params.tabGroup;\n instance['api'] = params.api;\n\n const hostView = this.componentRef.hostView as EmbeddedViewRef<any>;\n const rootNode = hostView.rootNodes[0] as HTMLElement;\n this._element.appendChild(rootNode);\n\n this.appRef.attachView(hostView);\n this.componentRef.changeDetectorRef.markForCheck();\n }\n\n update(params: { tabGroup: ITabGroup }): void {\n if (!this.componentRef) {\n return;\n }\n\n const instance = this.componentRef.instance as Record<string, unknown>;\n instance['tabGroup'] = params.tabGroup;\n this.componentRef.changeDetectorRef.markForCheck();\n }\n\n dispose(): void {\n if (this.componentRef) {\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n TemplateRef,\n} from '@angular/core';\nimport {\n DockviewApi,\n DockviewOptions,\n DockviewReadyEvent,\n DockviewDidDropEvent,\n DockviewWillDropEvent,\n createDockview,\n PROPERTY_KEYS_DOCKVIEW,\n DockviewFrameworkOptions,\n DockviewComponentOptions,\n GetTabContextMenuItemsParams,\n GetTabGroupChipContextMenuItemsParams,\n BuiltInChipContextMenuItem,\n ContextMenuItemConfig,\n ContextMenuItem,\n DockviewTabGroupColorEntry,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularRenderer } from '../utils/angular-renderer';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\nimport { AngularTabGroupChipRenderer } from './angular-tab-group-chip-renderer';\n\nexport interface DockviewAngularOptions extends DockviewOptions {\n components: Record<string, Type<any>>;\n tabComponents?: Record<string, Type<any>>;\n watermarkComponent?: Type<any>;\n defaultTabComponent?: Type<any>;\n leftHeaderActionsComponent?: Type<any>;\n rightHeaderActionsComponent?: Type<any>;\n prefixHeaderActionsComponent?: Type<any>;\n getTabContextMenuItems?: (\n params: GetTabContextMenuItemsParams\n ) => (ContextMenuItem | { component: Type<any> })[];\n}\n\n@Component({\n selector: 'dv-dockview',\n standalone: true,\n template: '<div #dockviewContainer class=\"dockview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .dockview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DockviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('dockviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any> | TemplateRef<any>>;\n @Input() tabComponents?: Record<string, Type<any> | TemplateRef<any>>;\n @Input() watermarkComponent?: Type<any> | TemplateRef<any>;\n @Input() defaultTabComponent?: Type<any> | TemplateRef<any>;\n @Input() leftHeaderActionsComponent?: Type<any> | TemplateRef<any>;\n @Input() rightHeaderActionsComponent?: Type<any> | TemplateRef<any>;\n @Input() prefixHeaderActionsComponent?: Type<any> | TemplateRef<any>;\n @Input() tabGroupChipComponent?: Type<any>;\n\n // Core dockview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() hideBorders?: boolean;\n @Input() rootOverlayModel?: 'always' | 'never';\n @Input() defaultTabComponent_?: string;\n @Input() tabHeight?: number;\n @Input() disableFloatingGroups?: boolean;\n @Input() floatingGroupBounds?: 'boundedWithinViewport';\n @Input() popoutUrl?: string;\n @Input() debug?: boolean;\n @Input() locked?: boolean;\n @Input() disableAutoResizing?: boolean;\n @Input() singleTabMode?: 'fullwidth' | 'default';\n @Input() getTabContextMenuItems?: (\n params: GetTabContextMenuItemsParams\n ) => (ContextMenuItem | { component: Type<any> | TemplateRef<any> })[];\n @Input() getTabGroupChipContextMenuItems?: (\n params: GetTabGroupChipContextMenuItemsParams\n ) => (\n | BuiltInChipContextMenuItem\n | ContextMenuItemConfig\n | { component: Type<any> | TemplateRef<any> }\n )[];\n @Input() tabGroupColors?: DockviewTabGroupColorEntry[];\n @Input() tabGroupAccent?: 'palette' | 'off';\n\n @Output() ready = new EventEmitter<DockviewReadyEvent>();\n @Output() didDrop = new EventEmitter<DockviewDidDropEvent>();\n @Output() willDrop = new EventEmitter<DockviewWillDropEvent>();\n\n private dockviewApi?: DockviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializeDockview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.dockviewApi) {\n this.dockviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.dockviewApi) {\n const coreChanges: Partial<DockviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core dockview properties\n PROPERTY_KEYS_DOCKVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n // Handle tabGroupChipComponent → createTabGroupChipComponent mapping\n if (\n changes['tabGroupChipComponent'] &&\n !changes['tabGroupChipComponent'].isFirstChange()\n ) {\n const chipComponent =\n changes['tabGroupChipComponent'].currentValue;\n coreChanges.createTabGroupChipComponent = chipComponent\n ? () =>\n new AngularTabGroupChipRenderer(\n chipComponent,\n this.injector,\n this.environmentInjector\n )\n : undefined;\n hasChanges = true;\n }\n\n if (hasChanges) {\n this.dockviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getDockviewApi(): DockviewApi | undefined {\n return this.dockviewApi;\n }\n\n private initializeDockview(): void {\n if (!this.components) {\n throw new Error(\n 'DockviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.dockviewApi = createDockview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Set up event listeners\n this.setupEventListeners();\n\n // Emit ready event\n this.ready.emit({ api: this.dockviewApi });\n }\n\n private extractCoreOptions(): DockviewOptions {\n const coreOptions: Partial<DockviewComponentOptions> = {};\n\n PROPERTY_KEYS_DOCKVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n if (this.tabGroupChipComponent) {\n const chipComponent = this.tabGroupChipComponent;\n coreOptions.createTabGroupChipComponent = () => {\n return new AngularTabGroupChipRenderer(\n chipComponent,\n this.injector,\n this.environmentInjector\n );\n };\n }\n\n return coreOptions as DockviewOptions;\n }\n\n private createFrameworkOptions(): DockviewFrameworkOptions {\n const headerActionsComponents: Record<\n string,\n Type<any> | TemplateRef<any>\n > = {};\n if (this.leftHeaderActionsComponent) {\n headerActionsComponents['left'] = this.leftHeaderActionsComponent;\n }\n if (this.rightHeaderActionsComponent) {\n headerActionsComponents['right'] = this.rightHeaderActionsComponent;\n }\n if (this.prefixHeaderActionsComponent) {\n headerActionsComponents['prefix'] =\n this.prefixHeaderActionsComponent;\n }\n\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector,\n this.tabComponents,\n this.watermarkComponent,\n headerActionsComponents,\n this.defaultTabComponent\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createDockviewComponent(options);\n },\n createTabComponent: (options) => {\n return componentFactory.createTabComponent(options);\n },\n createWatermarkComponent: this.watermarkComponent\n ? () => {\n return componentFactory.createWatermarkComponent();\n }\n : undefined,\n createLeftHeaderActionComponent: this.leftHeaderActionsComponent\n ? (group) => {\n return componentFactory.createHeaderActionsComponent(\n 'left'\n )!;\n }\n : undefined,\n createRightHeaderActionComponent: this.rightHeaderActionsComponent\n ? (group) => {\n return componentFactory.createHeaderActionsComponent(\n 'right'\n )!;\n }\n : undefined,\n createPrefixHeaderActionComponent: this.prefixHeaderActionsComponent\n ? (group) => {\n return componentFactory.createHeaderActionsComponent(\n 'prefix'\n )!;\n }\n : undefined,\n createContextMenuItemComponent: (options) => {\n if (!options.component) {\n return undefined;\n }\n const renderer = new AngularRenderer({\n component: options.component as\n | Type<any>\n | TemplateRef<any>,\n injector: this.injector,\n environmentInjector: this.environmentInjector,\n });\n return renderer;\n },\n };\n }\n\n private setupEventListeners(): void {\n if (!this.dockviewApi) {\n return;\n }\n\n // Set up event subscriptions using lifecycle manager\n const api = this.dockviewApi;\n\n if (this.didDrop.observers.length > 0) {\n const disposable = api.onDidDrop((event) => {\n this.didDrop.emit(event);\n });\n this.lifecycleManager.addDisposable(disposable);\n }\n\n if (this.willDrop.observers.length > 0) {\n const disposable = api.onWillDrop((event) => {\n this.willDrop.emit(event);\n });\n this.lifecycleManager.addDisposable(disposable);\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n TemplateRef,\n} from '@angular/core';\nimport {\n GridviewApi,\n GridviewOptions,\n createGridview,\n PROPERTY_KEYS_GRIDVIEW,\n GridviewFrameworkOptions,\n GridviewComponentOptions,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\nimport { GridviewAngularReadyEvent } from './types';\n\nexport interface GridviewAngularOptions extends GridviewOptions {\n components: Record<string, Type<any> | TemplateRef<any>>;\n}\n\n@Component({\n selector: 'dv-gridview',\n standalone: true,\n template: '<div #gridviewContainer class=\"gridview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .gridview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GridviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('gridviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any> | TemplateRef<any>>;\n\n // Core gridview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() proportionalLayout?: boolean;\n @Input() hideBorders?: boolean;\n @Input() debug?: boolean;\n @Input() disableAutoResizing?: boolean;\n\n @Output() ready = new EventEmitter<GridviewAngularReadyEvent>();\n\n private gridviewApi?: GridviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializeGridview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.gridviewApi) {\n this.gridviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.gridviewApi) {\n const coreChanges: Partial<GridviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core gridview properties\n PROPERTY_KEYS_GRIDVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n if (hasChanges) {\n this.gridviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getGridviewApi(): GridviewApi | undefined {\n return this.gridviewApi;\n }\n\n private initializeGridview(): void {\n if (!this.components) {\n throw new Error(\n 'GridviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.gridviewApi = createGridview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Emit ready event\n this.ready.emit({ api: this.gridviewApi });\n }\n\n private extractCoreOptions(): GridviewOptions {\n const coreOptions: Partial<GridviewComponentOptions> = {};\n\n PROPERTY_KEYS_GRIDVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n return coreOptions as GridviewOptions;\n }\n\n private createFrameworkOptions(): GridviewFrameworkOptions {\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createGridviewComponent(options);\n },\n };\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n TemplateRef,\n} from '@angular/core';\nimport {\n PaneviewApi,\n PaneviewOptions,\n PaneviewDropEvent,\n createPaneview,\n PROPERTY_KEYS_PANEVIEW,\n PaneviewFrameworkOptions,\n PaneviewComponentOptions,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\nimport { PaneviewAngularReadyEvent } from './types';\nimport { AngularPanePart } from './angular-pane-part';\n\nexport interface PaneviewAngularOptions extends PaneviewOptions {\n components: Record<string, Type<any> | TemplateRef<any>>;\n headerComponents?: Record<string, Type<any> | TemplateRef<any>>;\n}\n\n@Component({\n selector: 'dv-paneview',\n standalone: true,\n template: '<div #paneviewContainer class=\"paneview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .paneview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PaneviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('paneviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any> | TemplateRef<any>>;\n @Input() headerComponents?: Record<string, Type<any> | TemplateRef<any>>;\n\n // Core paneview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() hideBorders?: boolean;\n @Input() debug?: boolean;\n @Input() disableAutoResizing?: boolean;\n\n @Output() ready = new EventEmitter<PaneviewAngularReadyEvent>();\n @Output() drop = new EventEmitter<PaneviewDropEvent>();\n\n private paneviewApi?: PaneviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializePaneview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.paneviewApi) {\n this.paneviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.paneviewApi) {\n const coreChanges: Partial<PaneviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core paneview properties\n PROPERTY_KEYS_PANEVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n if (hasChanges) {\n this.paneviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getPaneviewApi(): PaneviewApi | undefined {\n return this.paneviewApi;\n }\n\n private initializePaneview(): void {\n if (!this.components) {\n throw new Error(\n 'PaneviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.paneviewApi = createPaneview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Set up event listeners\n this.setupEventListeners();\n\n // Emit ready event\n this.ready.emit({ api: this.paneviewApi });\n }\n\n private extractCoreOptions(): PaneviewOptions {\n const coreOptions: Partial<PaneviewComponentOptions> = {};\n\n PROPERTY_KEYS_PANEVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n return coreOptions as PaneviewOptions;\n }\n\n private createFrameworkOptions(): PaneviewFrameworkOptions {\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector,\n this.headerComponents\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createPaneviewComponent(options);\n },\n createHeaderComponent: this.headerComponents\n ? (options) => {\n return new AngularPanePart(\n this.headerComponents![options.name],\n this.injector,\n this.environmentInjector\n );\n }\n : undefined,\n };\n }\n\n private setupEventListeners(): void {\n if (!this.paneviewApi) {\n return;\n }\n\n // Set up event subscriptions using lifecycle manager\n const api = this.paneviewApi;\n\n if (this.drop.observers.length > 0) {\n const disposable = api.onDidDrop((event) => {\n this.drop.emit(event);\n });\n this.lifecycleManager.addDisposable(disposable);\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Type,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n EnvironmentInjector,\n inject,\n TemplateRef,\n} from '@angular/core';\nimport {\n SplitviewApi,\n SplitviewOptions,\n createSplitview,\n PROPERTY_KEYS_SPLITVIEW,\n SplitviewFrameworkOptions,\n SplitviewComponentOptions,\n} from 'dockview-core';\nimport { AngularFrameworkComponentFactory } from '../utils/component-factory';\nimport { AngularLifecycleManager } from '../utils/lifecycle-utils';\nimport { SplitviewAngularReadyEvent } from './types';\n\nexport interface SplitviewAngularOptions extends SplitviewOptions {\n components: Record<string, Type<any> | TemplateRef<any>>;\n}\n\n@Component({\n selector: 'dv-splitview',\n standalone: true,\n template: '<div #splitviewContainer class=\"splitview-container\"></div>',\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n\n .splitview-container {\n width: 100%;\n height: 100%;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SplitviewAngularComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('splitviewContainer', { static: true })\n private containerRef!: ElementRef<HTMLDivElement>;\n\n @Input() components!: Record<string, Type<any> | TemplateRef<any>>;\n\n // Core splitview options as inputs\n @Input() className?: string;\n @Input() orientation?: 'horizontal' | 'vertical';\n @Input() proportionalLayout?: boolean;\n @Input() hideBorders?: boolean;\n @Input() debug?: boolean;\n @Input() disableAutoResizing?: boolean;\n\n @Output() ready = new EventEmitter<SplitviewAngularReadyEvent>();\n\n private splitviewApi?: SplitviewApi;\n private lifecycleManager = new AngularLifecycleManager();\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n ngOnInit(): void {\n this.initializeSplitview();\n }\n\n ngOnDestroy(): void {\n this.lifecycleManager.destroy();\n if (this.splitviewApi) {\n this.splitviewApi.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.splitviewApi) {\n const coreChanges: Partial<SplitviewOptions> = {};\n let hasChanges = false;\n\n // Check for changes in core splitview properties\n PROPERTY_KEYS_SPLITVIEW.forEach((key) => {\n if (changes[key] && !changes[key].isFirstChange()) {\n (coreChanges as any)[key] = changes[key].currentValue;\n hasChanges = true;\n }\n });\n\n if (hasChanges) {\n this.splitviewApi.updateOptions(coreChanges);\n }\n }\n }\n\n getSplitviewApi(): SplitviewApi | undefined {\n return this.splitviewApi;\n }\n\n private initializeSplitview(): void {\n if (!this.components) {\n throw new Error(\n 'SplitviewAngularComponent: components input is required'\n );\n }\n\n const coreOptions = this.extractCoreOptions();\n const frameworkOptions = this.createFrameworkOptions();\n\n this.splitviewApi = createSplitview(this.containerRef.nativeElement, {\n ...coreOptions,\n ...frameworkOptions,\n });\n\n // Emit ready event\n this.ready.emit({ api: this.splitviewApi });\n }\n\n private extractCoreOptions(): SplitviewOptions {\n const coreOptions: Partial<SplitviewComponentOptions> = {};\n\n PROPERTY_KEYS_SPLITVIEW.forEach((key) => {\n const value = (this as any)[key];\n if (value !== undefined) {\n (coreOptions as any)[key] = value;\n }\n });\n\n return coreOptions as SplitviewOptions;\n }\n\n private createFrameworkOptions(): SplitviewFrameworkOptions {\n const componentFactory = new AngularFrameworkComponentFactory(\n this.components,\n this.injector,\n this.environmentInjector\n );\n\n return {\n createComponent: (options) => {\n return componentFactory.createSplitviewComponent(options);\n },\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DockviewAngularComponent } from './dockview/dockview-angular.component';\nimport { GridviewAngularComponent } from './gridview/gridview-angular.component';\nimport { PaneviewAngularComponent } from './paneview/paneview-angular.component';\nimport { SplitviewAngularComponent } from './splitview/splitview-angular.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DockviewAngularComponent,\n GridviewAngularComponent,\n PaneviewAngularComponent,\n SplitviewAngularComponent,\n ],\n exports: [\n DockviewAngularComponent,\n GridviewAngularComponent,\n PaneviewAngularComponent,\n SplitviewAngularComponent,\n ],\n})\nexport class DockviewAngularModule {}\n","/*\n * Public API Surface of dockview-angular\n */\n\n// Re-export everything from dockview-core\nexport * from 'dockview-core';\n\n// Angular module\nexport * from './lib/dockview-angular.module';\n\n// Components\nexport * from './lib/dockview/dockview-angular.component';\nexport * from './lib/gridview/gridview-angular.component';\nexport * from './lib/paneview/paneview-angular.component';\nexport * from './lib/splitview/splitview-angular.component';\n\n// Types\nexport {\n DockviewAngularOptions,\n DockviewAngularEvents,\n IDockviewAngularPanelProps,\n IDockviewAngularPanelHeaderProps,\n IDockviewAngularWatermarkProps,\n IDockviewAngularHeaderActionsProps,\n DockviewAngularComponentOptions,\n} from './lib/dockview/types';\nexport { IDockviewAngularTabGroupChipProps } from './lib/dockview/angular-tab-group-chip-renderer';\nexport {\n GridviewAngularOptions,\n GridviewAngularEvents,\n GridviewAngularReadyEvent,\n} from './lib/gridview/types';\nexport {\n PaneviewAngularOptions,\n PaneviewAngularEvents,\n PaneviewAngularReadyEvent,\n} from './lib/paneview/types';\nexport {\n SplitviewAngularOptions,\n SplitviewAngularEvents,\n SplitviewAngularReadyEvent,\n} from './lib/splitview/types';\n\n// Utilities\nexport * from './lib/utils/angular-renderer';\nexport * from './lib/utils/component-factory';\nexport * from './lib/utils/lifecycle-utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,264 @@
1
+ import { GetTabContextMenuItemsParams, ContextMenuItem, GetTabGroupChipContextMenuItemsParams, BuiltInChipContextMenuItem, ContextMenuItemConfig, DockviewTabGroupColorEntry, DockviewReadyEvent, DockviewDidDropEvent, DockviewWillDropEvent, DockviewApi, GridviewApi, GridviewOptions, PaneviewApi, PaneviewDropEvent, PaneviewOptions, SplitviewApi, SplitviewOptions, DockviewOptions, IDockviewHeaderActionsProps, IDockviewPanelHeaderProps, IDockviewPanelProps, IWatermarkPanelProps, ITabGroup, IContentRenderer, IFrameworkPart, Parameters, CreateComponentOptions, GridviewPanel, SplitviewPanel, IPanePart, ITabRenderer, IWatermarkRenderer, IHeaderActionsRenderer, DockviewIDisposable } from 'dockview-core';
2
+ export * from 'dockview-core';
3
+ import * as i0 from '@angular/core';
4
+ import { OnInit, OnDestroy, OnChanges, Type, TemplateRef, EventEmitter, SimpleChanges, Injector, EnvironmentInjector, ComponentRef, EmbeddedViewRef } from '@angular/core';
5
+ import * as i1 from '@angular/common';
6
+ import { Observable } from 'rxjs';
7
+
8
+ declare class DockviewAngularComponent implements OnInit, OnDestroy, OnChanges {
9
+ private containerRef;
10
+ components: Record<string, Type<any> | TemplateRef<any>>;
11
+ tabComponents?: Record<string, Type<any> | TemplateRef<any>>;
12
+ watermarkComponent?: Type<any> | TemplateRef<any>;
13
+ defaultTabComponent?: Type<any> | TemplateRef<any>;
14
+ leftHeaderActionsComponent?: Type<any> | TemplateRef<any>;
15
+ rightHeaderActionsComponent?: Type<any> | TemplateRef<any>;
16
+ prefixHeaderActionsComponent?: Type<any> | TemplateRef<any>;
17
+ tabGroupChipComponent?: Type<any>;
18
+ className?: string;
19
+ orientation?: 'horizontal' | 'vertical';
20
+ hideBorders?: boolean;
21
+ rootOverlayModel?: 'always' | 'never';
22
+ defaultTabComponent_?: string;
23
+ tabHeight?: number;
24
+ disableFloatingGroups?: boolean;
25
+ floatingGroupBounds?: 'boundedWithinViewport';
26
+ popoutUrl?: string;
27
+ debug?: boolean;
28
+ locked?: boolean;
29
+ disableAutoResizing?: boolean;
30
+ singleTabMode?: 'fullwidth' | 'default';
31
+ getTabContextMenuItems?: (params: GetTabContextMenuItemsParams) => (ContextMenuItem | {
32
+ component: Type<any> | TemplateRef<any>;
33
+ })[];
34
+ getTabGroupChipContextMenuItems?: (params: GetTabGroupChipContextMenuItemsParams) => (BuiltInChipContextMenuItem | ContextMenuItemConfig | {
35
+ component: Type<any> | TemplateRef<any>;
36
+ })[];
37
+ tabGroupColors?: DockviewTabGroupColorEntry[];
38
+ tabGroupAccent?: 'palette' | 'off';
39
+ ready: EventEmitter<DockviewReadyEvent>;
40
+ didDrop: EventEmitter<DockviewDidDropEvent>;
41
+ willDrop: EventEmitter<DockviewWillDropEvent>;
42
+ private dockviewApi?;
43
+ private lifecycleManager;
44
+ private injector;
45
+ private environmentInjector;
46
+ ngOnInit(): void;
47
+ ngOnDestroy(): void;
48
+ ngOnChanges(changes: SimpleChanges): void;
49
+ getDockviewApi(): DockviewApi | undefined;
50
+ private initializeDockview;
51
+ private extractCoreOptions;
52
+ private createFrameworkOptions;
53
+ private setupEventListeners;
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<DockviewAngularComponent, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<DockviewAngularComponent, "dv-dockview", never, { "components": { "alias": "components"; "required": false; }; "tabComponents": { "alias": "tabComponents"; "required": false; }; "watermarkComponent": { "alias": "watermarkComponent"; "required": false; }; "defaultTabComponent": { "alias": "defaultTabComponent"; "required": false; }; "leftHeaderActionsComponent": { "alias": "leftHeaderActionsComponent"; "required": false; }; "rightHeaderActionsComponent": { "alias": "rightHeaderActionsComponent"; "required": false; }; "prefixHeaderActionsComponent": { "alias": "prefixHeaderActionsComponent"; "required": false; }; "tabGroupChipComponent": { "alias": "tabGroupChipComponent"; "required": false; }; "className": { "alias": "className"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "hideBorders": { "alias": "hideBorders"; "required": false; }; "rootOverlayModel": { "alias": "rootOverlayModel"; "required": false; }; "defaultTabComponent_": { "alias": "defaultTabComponent_"; "required": false; }; "tabHeight": { "alias": "tabHeight"; "required": false; }; "disableFloatingGroups": { "alias": "disableFloatingGroups"; "required": false; }; "floatingGroupBounds": { "alias": "floatingGroupBounds"; "required": false; }; "popoutUrl": { "alias": "popoutUrl"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "disableAutoResizing": { "alias": "disableAutoResizing"; "required": false; }; "singleTabMode": { "alias": "singleTabMode"; "required": false; }; "getTabContextMenuItems": { "alias": "getTabContextMenuItems"; "required": false; }; "getTabGroupChipContextMenuItems": { "alias": "getTabGroupChipContextMenuItems"; "required": false; }; "tabGroupColors": { "alias": "tabGroupColors"; "required": false; }; "tabGroupAccent": { "alias": "tabGroupAccent"; "required": false; }; }, { "ready": "ready"; "didDrop": "didDrop"; "willDrop": "willDrop"; }, never, never, true, never>;
56
+ }
57
+
58
+ interface GridviewAngularReadyEvent {
59
+ api: GridviewApi;
60
+ }
61
+ interface GridviewAngularOptions extends GridviewOptions {
62
+ components: Record<string, Type<any> | TemplateRef<any>>;
63
+ }
64
+ interface GridviewAngularEvents {
65
+ ready: GridviewAngularReadyEvent;
66
+ }
67
+
68
+ declare class GridviewAngularComponent implements OnInit, OnDestroy, OnChanges {
69
+ private containerRef;
70
+ components: Record<string, Type<any> | TemplateRef<any>>;
71
+ className?: string;
72
+ orientation?: 'horizontal' | 'vertical';
73
+ proportionalLayout?: boolean;
74
+ hideBorders?: boolean;
75
+ debug?: boolean;
76
+ disableAutoResizing?: boolean;
77
+ ready: EventEmitter<GridviewAngularReadyEvent>;
78
+ private gridviewApi?;
79
+ private lifecycleManager;
80
+ private injector;
81
+ private environmentInjector;
82
+ ngOnInit(): void;
83
+ ngOnDestroy(): void;
84
+ ngOnChanges(changes: SimpleChanges): void;
85
+ getGridviewApi(): GridviewApi | undefined;
86
+ private initializeGridview;
87
+ private extractCoreOptions;
88
+ private createFrameworkOptions;
89
+ static ɵfac: i0.ɵɵFactoryDeclaration<GridviewAngularComponent, never>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<GridviewAngularComponent, "dv-gridview", never, { "components": { "alias": "components"; "required": false; }; "className": { "alias": "className"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "proportionalLayout": { "alias": "proportionalLayout"; "required": false; }; "hideBorders": { "alias": "hideBorders"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "disableAutoResizing": { "alias": "disableAutoResizing"; "required": false; }; }, { "ready": "ready"; }, never, never, true, never>;
91
+ }
92
+
93
+ interface PaneviewAngularReadyEvent {
94
+ api: PaneviewApi;
95
+ }
96
+ interface PaneviewAngularOptions extends PaneviewOptions {
97
+ components: Record<string, Type<any> | TemplateRef<any>>;
98
+ headerComponents?: Record<string, Type<any> | TemplateRef<any>>;
99
+ }
100
+ interface PaneviewAngularEvents {
101
+ ready: PaneviewAngularReadyEvent;
102
+ drop: PaneviewDropEvent;
103
+ }
104
+
105
+ declare class PaneviewAngularComponent implements OnInit, OnDestroy, OnChanges {
106
+ private containerRef;
107
+ components: Record<string, Type<any> | TemplateRef<any>>;
108
+ headerComponents?: Record<string, Type<any> | TemplateRef<any>>;
109
+ className?: string;
110
+ orientation?: 'horizontal' | 'vertical';
111
+ hideBorders?: boolean;
112
+ debug?: boolean;
113
+ disableAutoResizing?: boolean;
114
+ ready: EventEmitter<PaneviewAngularReadyEvent>;
115
+ drop: EventEmitter<PaneviewDropEvent>;
116
+ private paneviewApi?;
117
+ private lifecycleManager;
118
+ private injector;
119
+ private environmentInjector;
120
+ ngOnInit(): void;
121
+ ngOnDestroy(): void;
122
+ ngOnChanges(changes: SimpleChanges): void;
123
+ getPaneviewApi(): PaneviewApi | undefined;
124
+ private initializePaneview;
125
+ private extractCoreOptions;
126
+ private createFrameworkOptions;
127
+ private setupEventListeners;
128
+ static ɵfac: i0.ɵɵFactoryDeclaration<PaneviewAngularComponent, never>;
129
+ static ɵcmp: i0.ɵɵComponentDeclaration<PaneviewAngularComponent, "dv-paneview", never, { "components": { "alias": "components"; "required": false; }; "headerComponents": { "alias": "headerComponents"; "required": false; }; "className": { "alias": "className"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "hideBorders": { "alias": "hideBorders"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "disableAutoResizing": { "alias": "disableAutoResizing"; "required": false; }; }, { "ready": "ready"; "drop": "drop"; }, never, never, true, never>;
130
+ }
131
+
132
+ interface SplitviewAngularReadyEvent {
133
+ api: SplitviewApi;
134
+ }
135
+ interface SplitviewAngularOptions extends SplitviewOptions {
136
+ components: Record<string, Type<any> | TemplateRef<any>>;
137
+ }
138
+ interface SplitviewAngularEvents {
139
+ ready: SplitviewAngularReadyEvent;
140
+ }
141
+
142
+ declare class SplitviewAngularComponent implements OnInit, OnDestroy, OnChanges {
143
+ private containerRef;
144
+ components: Record<string, Type<any> | TemplateRef<any>>;
145
+ className?: string;
146
+ orientation?: 'horizontal' | 'vertical';
147
+ proportionalLayout?: boolean;
148
+ hideBorders?: boolean;
149
+ debug?: boolean;
150
+ disableAutoResizing?: boolean;
151
+ ready: EventEmitter<SplitviewAngularReadyEvent>;
152
+ private splitviewApi?;
153
+ private lifecycleManager;
154
+ private injector;
155
+ private environmentInjector;
156
+ ngOnInit(): void;
157
+ ngOnDestroy(): void;
158
+ ngOnChanges(changes: SimpleChanges): void;
159
+ getSplitviewApi(): SplitviewApi | undefined;
160
+ private initializeSplitview;
161
+ private extractCoreOptions;
162
+ private createFrameworkOptions;
163
+ static ɵfac: i0.ɵɵFactoryDeclaration<SplitviewAngularComponent, never>;
164
+ static ɵcmp: i0.ɵɵComponentDeclaration<SplitviewAngularComponent, "dv-splitview", never, { "components": { "alias": "components"; "required": false; }; "className": { "alias": "className"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "proportionalLayout": { "alias": "proportionalLayout"; "required": false; }; "hideBorders": { "alias": "hideBorders"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "disableAutoResizing": { "alias": "disableAutoResizing"; "required": false; }; }, { "ready": "ready"; }, never, never, true, never>;
165
+ }
166
+
167
+ declare class DockviewAngularModule {
168
+ static ɵfac: i0.ɵɵFactoryDeclaration<DockviewAngularModule, never>;
169
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DockviewAngularModule, never, [typeof i1.CommonModule, typeof DockviewAngularComponent, typeof GridviewAngularComponent, typeof PaneviewAngularComponent, typeof SplitviewAngularComponent], [typeof DockviewAngularComponent, typeof GridviewAngularComponent, typeof PaneviewAngularComponent, typeof SplitviewAngularComponent]>;
170
+ static ɵinj: i0.ɵɵInjectorDeclaration<DockviewAngularModule>;
171
+ }
172
+
173
+ interface IDockviewAngularPanelProps extends IDockviewPanelProps {
174
+ }
175
+ interface IDockviewAngularPanelHeaderProps extends IDockviewPanelHeaderProps {
176
+ }
177
+ interface IDockviewAngularWatermarkProps extends IWatermarkPanelProps {
178
+ }
179
+ interface IDockviewAngularHeaderActionsProps extends IDockviewHeaderActionsProps {
180
+ }
181
+ interface DockviewAngularOptions extends DockviewOptions {
182
+ components: Record<string, Type<any> | TemplateRef<any>>;
183
+ tabComponents?: Record<string, Type<any> | TemplateRef<any>>;
184
+ watermarkComponent?: Type<any> | TemplateRef<any>;
185
+ defaultTabComponent?: Type<any> | TemplateRef<any>;
186
+ leftHeaderActionsComponent?: Type<any> | TemplateRef<any>;
187
+ rightHeaderActionsComponent?: Type<any> | TemplateRef<any>;
188
+ prefixHeaderActionsComponent?: Type<any> | TemplateRef<any>;
189
+ }
190
+ interface DockviewAngularComponentOptions extends DockviewAngularOptions {
191
+ }
192
+ interface DockviewAngularEvents {
193
+ ready: DockviewReadyEvent;
194
+ didDrop: DockviewDidDropEvent;
195
+ willDrop: DockviewWillDropEvent;
196
+ }
197
+
198
+ interface IDockviewAngularTabGroupChipProps {
199
+ tabGroup: ITabGroup;
200
+ api: DockviewApi;
201
+ }
202
+
203
+ interface AngularRendererOptions<T = unknown> {
204
+ component: Type<T> | TemplateRef<T>;
205
+ injector: Injector;
206
+ environmentInjector?: EnvironmentInjector;
207
+ }
208
+ declare class AngularRenderer<T = unknown> implements IContentRenderer, IFrameworkPart {
209
+ private options;
210
+ private componentRef;
211
+ private viewRef;
212
+ private _element;
213
+ private appRef;
214
+ constructor(options: AngularRendererOptions<T>);
215
+ get element(): HTMLElement;
216
+ get component(): ComponentRef<T> | null;
217
+ get view(): EmbeddedViewRef<T> | null;
218
+ init(parameters: Parameters): void;
219
+ update(params: Parameters): void;
220
+ private render;
221
+ private setupComponent;
222
+ private setupView;
223
+ dispose(): void;
224
+ }
225
+
226
+ declare class AngularFrameworkComponentFactory {
227
+ private components;
228
+ private injector;
229
+ private environmentInjector?;
230
+ private tabComponents?;
231
+ private watermarkComponent?;
232
+ private headerActionsComponents?;
233
+ private defaultTabComponent?;
234
+ constructor(components: Record<string, Type<any> | TemplateRef<any>>, injector: Injector, environmentInjector?: EnvironmentInjector | undefined, tabComponents?: Record<string, Type<any> | TemplateRef<any>> | undefined, watermarkComponent?: (Type<any> | TemplateRef<any>) | undefined, headerActionsComponents?: Record<string, Type<any> | TemplateRef<any>> | undefined, defaultTabComponent?: (Type<any> | TemplateRef<any>) | undefined);
235
+ createDockviewComponent(options: CreateComponentOptions): IContentRenderer;
236
+ createGridviewComponent(options: CreateComponentOptions): GridviewPanel;
237
+ createSplitviewComponent(options: CreateComponentOptions): SplitviewPanel;
238
+ createPaneviewComponent(options: CreateComponentOptions): IPanePart;
239
+ createComponent(options: CreateComponentOptions): IContentRenderer;
240
+ createTabComponent(options: CreateComponentOptions): ITabRenderer | undefined;
241
+ createWatermarkComponent(): IWatermarkRenderer;
242
+ createHeaderActionsComponent(name: string): IHeaderActionsRenderer | undefined;
243
+ }
244
+
245
+ declare class AngularDisposable implements DockviewIDisposable {
246
+ private _isDisposed;
247
+ private disposeCallbacks;
248
+ get isDisposed(): boolean;
249
+ addDisposeCallback(callback: () => void): void;
250
+ dispose(): void;
251
+ }
252
+ declare class AngularLifecycleManager {
253
+ private destroySubject;
254
+ private disposables;
255
+ get destroy$(): Observable<void>;
256
+ addDisposable(disposable: DockviewIDisposable): void;
257
+ takeUntilDestroy<T>(): (source: Observable<T>) => Observable<T>;
258
+ destroy(): void;
259
+ }
260
+ declare function createAngularDisposable(disposeCallback?: () => void): AngularDisposable;
261
+
262
+ export { AngularDisposable, AngularFrameworkComponentFactory, AngularLifecycleManager, AngularRenderer, DockviewAngularComponent, DockviewAngularModule, GridviewAngularComponent, PaneviewAngularComponent, SplitviewAngularComponent, createAngularDisposable };
263
+ export type { AngularRendererOptions, DockviewAngularComponentOptions, DockviewAngularEvents, DockviewAngularOptions, GridviewAngularEvents, GridviewAngularOptions, GridviewAngularReadyEvent, IDockviewAngularHeaderActionsProps, IDockviewAngularPanelHeaderProps, IDockviewAngularPanelProps, IDockviewAngularTabGroupChipProps, IDockviewAngularWatermarkProps, PaneviewAngularEvents, PaneviewAngularOptions, PaneviewAngularReadyEvent, SplitviewAngularEvents, SplitviewAngularOptions, SplitviewAngularReadyEvent };
264
+ //# sourceMappingURL=dockview-angular.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockview-angular.d.ts","sources":["../../src/lib/dockview/dockview-angular.component.ts","../../src/lib/gridview/types.ts","../../src/lib/gridview/gridview-angular.component.ts","../../src/lib/paneview/types.ts","../../src/lib/paneview/paneview-angular.component.ts","../../src/lib/splitview/types.ts","../../src/lib/splitview/splitview-angular.component.ts","../../src/lib/dockview-angular.module.ts","../../src/lib/dockview/types.ts","../../src/lib/dockview/angular-tab-group-chip-renderer.ts","../../src/lib/utils/angular-renderer.ts","../../src/lib/utils/component-factory.ts","../../src/lib/utils/lifecycle-utils.ts"],"mappings":"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","names":["i2.DockviewAngularComponent","i3.GridviewAngularComponent","i4.PaneviewAngularComponent","i5.SplitviewAngularComponent"]}