import { ShadowlessElement, WithDisposable } from '@cbi-blocksuite/block-std'; import { FrameBlockModel } from '@cbi-blocksuite/blocks'; import { css, html } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { FastImage2ImageServiceKind, Image2ImageServiceKind, Image2TextServiceKind, Text2ImageServiceKind, } from '../copilot-service/service-base.js'; import type { AILogic } from '../logic.js'; import { getSurfaceElementFromEditor, stopPropagation, } from '../utils/selection-utils.js'; @customElement('copilot-edgeless-panel') export class CopilotEdgelessPanel extends WithDisposable(ShadowlessElement) { static override styles = css``; @property({ attribute: false }) logic!: AILogic; get host() { return this.logic.getHost(); } protected override render(): unknown { const frames = getSurfaceElementFromEditor(this.host).model.children.filter( v => v instanceof FrameBlockModel ) as FrameBlockModel[]; const changeFromFrame = (e: Event) => { this.logic.edgeless.fromFrame = (e.target as HTMLSelectElement).value; }; const toggleAutoGen = () => { this.logic.edgeless.toggleAutoGen(); this.requestUpdate(); }; return html`