import { Component, ChangeDetectionStrategy, forwardRef } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RelationsCanvasSAComponent, RelationsNodeRendererSADirective } from '@anglr/dynamic/relations-editor';
import { select } from 'd3';
import { NodeRelationPathDebug } from '../../misc/nodeRelationPathDebug';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
/**
 * Component used as designer component wrapper for relations component in debugging
 */
export class RelationsCanvasDebugSAComponent extends RelationsCanvasSAComponent {
    //######################### public methods - overrides #########################
    /**
     * Creates node relation path
     */
    createRelation() {
        return new NodeRelationPathDebug(select(this.relationsGroup?.nativeElement), this.relationManager, this.history, null, null);
    }
}
RelationsCanvasDebugSAComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RelationsCanvasDebugSAComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
RelationsCanvasDebugSAComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: RelationsCanvasDebugSAComponent, isStandalone: true, selector: "relations-canvas-debug", providers: [
        {
            provide: RelationsCanvasSAComponent,
            useExisting: forwardRef(() => RelationsCanvasDebugSAComponent),
        }
    ], usesInheritance: true, ngImport: i0, template: "<div class=\"flow-area\" [style.transform]=\"'translate(' + canvasPosition.x + 'px, ' + canvasPosition.y + 'px) scale(' + zoomLevel + ')'\">\n    <svg class=\"relations-wrapper\">\n        <g #relationsGroup></g>\n    </svg>\n\n    <ng-container *ngFor=\"let nodeDefinition of nodeDefinitions\">\n        <ng-container [relationsNodeRenderer]=\"nodeDefinition\" [zoomLevel]=\"zoomLevel\" (destroy)=\"destroyNode($event)\"></ng-container>\n    </ng-container>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: RelationsNodeRendererSADirective, selector: "[relationsNodeRenderer]", inputs: ["relationsNodeRenderer", "zoomLevel"], outputs: ["create", "destroy"], exportAs: ["relationsNodeRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RelationsCanvasDebugSAComponent, decorators: [{
            type: Component,
            args: [{ selector: 'relations-canvas-debug', standalone: true, imports: [
                        CommonModule,
                        RelationsNodeRendererSADirective,
                    ], providers: [
                        {
                            provide: RelationsCanvasSAComponent,
                            useExisting: forwardRef(() => RelationsCanvasDebugSAComponent),
                        }
                    ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flow-area\" [style.transform]=\"'translate(' + canvasPosition.x + 'px, ' + canvasPosition.y + 'px) scale(' + zoomLevel + ')'\">\n    <svg class=\"relations-wrapper\">\n        <g #relationsGroup></g>\n    </svg>\n\n    <ng-container *ngFor=\"let nodeDefinition of nodeDefinitions\">\n        <ng-container [relationsNodeRenderer]=\"nodeDefinition\" [zoomLevel]=\"zoomLevel\" (destroy)=\"destroyNode($event)\"></ng-container>\n    </ng-container>\n</div>" }]
        }] });
//# sourceMappingURL=relationsCanvasDebug.component.js.map