"use client";

import React from "react";
import { AutoRegisteringComponentRenderer } from "../../AutoRegisteringComponentRenderer";
import { AutocompleteSearchInputDefinition } from "./index";
import { AutocompleteSearchInputComponent } from "./AutocompleteSearchInputComponent";

/**
 * AutocompleteSearchInput 렌더러
 * 자동 등록 시스템을 사용하여 컴포넌트를 레지스트리에 등록
 */
export class AutocompleteSearchInputRenderer extends AutoRegisteringComponentRenderer {
  static componentDefinition = AutocompleteSearchInputDefinition;

  render(): React.ReactElement {
    return <AutocompleteSearchInputComponent {...this.props} renderer={this} />;
  }

  /**
   * 값 변경 처리
   */
  protected handleValueChange = (value: any) => {
    this.updateComponent({ value });
  };
}

// 자동 등록 실행
AutocompleteSearchInputRenderer.registerSelf();

// Hot Reload 지원 (개발 모드)
if (process.env.NODE_ENV === "development") {
  AutocompleteSearchInputRenderer.enableHotReload();
}
