/** * @license Copyright © HatioLab Inc. All rights reserved. */ import '@material/web/icon/icon.js'; import { LitElement, PropertyValues } from 'lit'; import { Component, Model, Scene } from '@hatiolab/things-scene'; import { PropertyDataBinding } from './property-panel/data-binding/data-binding.js'; import { PropertyEffects } from './property-panel/effects/effects.js'; import { SceneInspector } from './property-panel/inspector/inspector.js'; import { PropertyShapes } from './property-panel/shapes/shapes.js'; import { PropertySpecific } from './property-panel/specifics/specifics.js'; import { PropertyStyles } from './property-panel/styles/styles.js'; import { Property3D } from './property-panel/threed/threed.js'; import { PropertyScene3D } from './property-panel/threed/property-scene3d.js'; declare const OxPropertyPanel_base: typeof LitElement & import("@open-wc/dedupe-mixin").Constructor; export declare class OxPropertyPanel extends OxPropertyPanel_base { static styles: import("lit").CSSResult[]; scene: Scene | null; bounds: any; model: Model | null; selected: Component[]; specificProps: any; tabName: string | null; heading: string; collapsed: boolean; fonts: any[]; propertyEditor: any[]; propertyTarget: Component | null; /** 렌더에 실제 반영되는(디바운스된) 선택 — 마퀴 드래그 중 번뜩임 방지용. */ private _settledSelected; private _selectionDebounceTimer?; firstUpdated(): void; updated(change: PropertyValues): void; /** * 선택 변경을 트레일링 디바운스해, 속성창(shape/3d 등)이 마퀴 드래그 중 매 mousemove 마다 * 재빌드되어 번뜩이는 것을 막는다. 드래그가 멈춘 뒤 최종 선택으로 한 번만 갱신한다. * (드래그 중 render 는 재실행되나 _settledSelected 가 고정이라 동일 출력 → Lit no-op.) */ private _scheduleSelectedUpdate; disconnectedCallback(): void; static get scopedElements(): { 'property-shape': typeof PropertyShapes; 'property-style': typeof PropertyStyles; 'property-effect': typeof PropertyEffects; 'property-specific': typeof PropertySpecific; 'property-3d': typeof Property3D; 'property-scene3d': typeof PropertyScene3D; 'property-data-binding': typeof PropertyDataBinding; 'scene-inspector': typeof SceneInspector; }; private hasGroup; render(): import("lit-html").TemplateResult<1>; private onPropertyChanged; /** * 새 properties 배열이 현재 specificProps 와 *구조상* 다른지 빠르게 검사. * 단순히 length + 각 항목의 name 만 비교 — value 변경은 model 측에서 처리되므로 * specificProps 의 reference 를 바꿀 필요가 없다. */ private specificPropsChanged; private onBoundsChanged; private onChangedByScene; private setPropertyTargetAsDefault; private onCollapsed; private onSceneChanged; private onSelectedChanged; private setPropertyTarget; private setBounds; private is3dish; private isRootModel; private isLine; } export {};