// components/workflow/swimlane-label.component.ts
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LabelEditorComponent } from './label-editor.component';
import * as i0 from "@angular/core";
export class SwimlaneLabelComponent {
    label = '';
    count = 0;
    addClick = new EventEmitter();
    labelChange = new EventEmitter();
    onAddClick(event) {
        event.stopPropagation();
        this.addClick.emit(event);
    }
    onLabelChange(newLabel) {
        this.labelChange.emit(newLabel);
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwimlaneLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SwimlaneLabelComponent, isStandalone: true, selector: "[wf-swimlane-label]", inputs: { label: "label", count: "count" }, outputs: { addClick: "addClick", labelChange: "labelChange" }, ngImport: i0, template: `
    <svg:g>
      <!-- Plus icon at top -->
      <svg:g
        transform="translate(0, 20)"
        class="cursor-pointer"
        (click)="onAddClick($event)"
      >
        <svg:circle r="10" fill="white" stroke="#D8B4FE" stroke-width="1" />
        <svg:path
          d="M-6 0h12 M0 -6v12"
          stroke="#9333EA"
          stroke-width="2"
          stroke-linecap="round"
        />
      </svg:g>

      <!-- Label in middle with edit support -->
      <svg:g transform="translate(0, 120)">
        <svg:foreignObject
          x="-60"
          y="-12"
          width="180"
          height="24"
          transform="rotate(-90)"
        >
          <xhtml:div
            xmlns="http://www.w3.org/1999/xhtml"
            style="width: 100%; height: 100%;"
          >
            <wf-label-editor
              [label]="label"
              [x]="0"
              [y]="0"
              (labelChange)="onLabelChange($event)"
            />
          </xhtml:div>
        </svg:foreignObject>
      </svg:g>

      <!-- Count badge at bottom -->
      <svg:g transform="translate(0, 200)">
        <svg:rect
          x="-15"
          y="-10"
          width="20"
          height="20"
          rx="20"
          fill="#F3E8FF"
          stroke="#D8B4FE"
        />
        <svg:text
          x="0"
          y="4"
          text-anchor="middle"
          font-size="12"
          fill="#7E22CE"
          font-weight="500"
          transform="rotate(-90)"
        >
          {{ count }}
        </svg:text>
      </svg:g>
    </svg:g>
  `, isInline: true, styles: [":host{display:block}circle:hover{fill:#f3e8ff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: LabelEditorComponent, selector: "wf-label-editor", inputs: ["label", "x", "y", "isConnection", "isSwimlane"], outputs: ["labelChange"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwimlaneLabelComponent, decorators: [{
            type: Component,
            args: [{ selector: '[wf-swimlane-label]', standalone: true, imports: [CommonModule, LabelEditorComponent], template: `
    <svg:g>
      <!-- Plus icon at top -->
      <svg:g
        transform="translate(0, 20)"
        class="cursor-pointer"
        (click)="onAddClick($event)"
      >
        <svg:circle r="10" fill="white" stroke="#D8B4FE" stroke-width="1" />
        <svg:path
          d="M-6 0h12 M0 -6v12"
          stroke="#9333EA"
          stroke-width="2"
          stroke-linecap="round"
        />
      </svg:g>

      <!-- Label in middle with edit support -->
      <svg:g transform="translate(0, 120)">
        <svg:foreignObject
          x="-60"
          y="-12"
          width="180"
          height="24"
          transform="rotate(-90)"
        >
          <xhtml:div
            xmlns="http://www.w3.org/1999/xhtml"
            style="width: 100%; height: 100%;"
          >
            <wf-label-editor
              [label]="label"
              [x]="0"
              [y]="0"
              (labelChange)="onLabelChange($event)"
            />
          </xhtml:div>
        </svg:foreignObject>
      </svg:g>

      <!-- Count badge at bottom -->
      <svg:g transform="translate(0, 200)">
        <svg:rect
          x="-15"
          y="-10"
          width="20"
          height="20"
          rx="20"
          fill="#F3E8FF"
          stroke="#D8B4FE"
        />
        <svg:text
          x="0"
          y="4"
          text-anchor="middle"
          font-size="12"
          fill="#7E22CE"
          font-weight="500"
          transform="rotate(-90)"
        >
          {{ count }}
        </svg:text>
      </svg:g>
    </svg:g>
  `, styles: [":host{display:block}circle:hover{fill:#f3e8ff}\n"] }]
        }], propDecorators: { label: [{
                type: Input
            }], count: [{
                type: Input
            }], addClick: [{
                type: Output
            }], labelChange: [{
                type: Output
            }] } });
//# sourceMappingURL=data:application/json;base64, 