2c0a97f2ba
- components/builder/* 폐기 (12-grid 미완성 빌더 14개 파일)
- components/template-builder/TemplateBuilder.tsx 신규
(자유배치 + 3뷰 + Zustand 스토어 + 드래그/리사이즈/히스토리/격자)
- admin/builder/page.tsx 진입점 전환 (BuilderLayout → TemplateBuilder)
- 타입 정리: FreePosition / TemplateComponent / ViewConfig / Card /
Dashboard / CardConnection 추가, 레거시(GridPosition/TemplateKind/
DEFAULT_COMPONENT_LAYOUTS/CANVAS_KEYWORDS) @deprecated 표기
- v2-* 마이그레이션 1차:
· 완전: v2-table-list (ResizeObserver), v2-table-search-widget (@container)
· 경량: button/input/select/date/text-display/card-display/aggregation-widget
(withContainerQuery HOC)
- 다크 모드 대응: Tailwind dark: variant 21패턴 71곳 치환
- /test-card-responsive PoC 검증 페이지
세션 후반 버그 픽스 (phase1-log §7):
- test-card-responsive (main) 그룹 밖 이동 (AppLayout 탭 시스템 회피)
- useRegistryPalette default_size {width,height}/{w,h} 포맷 정규화
- dark: variant 중복 체인 정리
검증: (A) 반응형 메커니즘, (B) TemplateBuilder UI 통과
(C) 기존 VEX 화면은 마이그레이션 미완 상태라 Phase 2 이후 개별 진행
스펙: notes/gbpark/2026-04-10-card-engine-final-spec.md
로그: notes/gbpark/2026-04-10-card-engine-phase1-log.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
23 lines
784 B
TypeScript
23 lines
784 B
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { TableSearchWidget } from "./TableSearchWidget";
|
|
import "./table-search-widget-responsive.css";
|
|
|
|
/**
|
|
* v2-table-search-widget 반응형 래퍼 (2026-04-10, Phase 1 Step 6)
|
|
*
|
|
* 내부 TableSearchWidget 은 일절 수정하지 않는다. 래퍼 div 에 container-query
|
|
* CSS 클래스만 부여하고, table-search-widget-responsive.css 의 @container 쿼리가
|
|
* 카드 컨테이너 너비에 따라 내부 레이아웃(flex-row ↔ flex-col)을 자동 전환한다.
|
|
*/
|
|
export const TableSearchContainerWrapper: React.FC<any> = (props) => {
|
|
return (
|
|
<div className="v2-tsw-responsive-root">
|
|
<TableSearchWidget {...props} />
|
|
</div>
|
|
);
|
|
};
|
|
|
|
TableSearchContainerWrapper.displayName = "TableSearchContainerWrapper";
|