From 2b64f41b39bd455dc3ea803fd7b1a3ac24c35846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sun, 8 Mar 2026 10:27:06 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[rd]=20=EB=94=94=EC=9E=90=EC=9D=B8=20?= =?UTF-8?q?=EC=9D=B8=EC=82=AC=EC=9D=B4=ED=8A=B8=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EB=AF=B8=EB=A6=AC=EB=B3=B4=EA=B8=B0=20=EB=AA=A8=EB=8B=AC=20+?= =?UTF-8?q?=20=EC=99=80=EC=9D=B4=EC=96=B4=ED=94=84=EB=A0=88=EC=9E=84=2020?= =?UTF-8?q?=EC=A2=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 카드 클릭 시 미리보기 모달 (좌: 와이어프레임, 우: 정보 패널) - 패턴 카드 20종 CSS 와이어프레임 자동 생성 - KPI 대시보드, 데이터 테이블, 칸반, Command Palette, 사이드바, 모달 폼, 설정, 타임라인, 트리 분할뷰, 온보딩 스테퍼, 토스트, Empty State, 검색 자동완성, 탭 레이아웃, 카드 그리드, 가격표, 캘린더, 채팅, 파일 업로드, 브레드크럼 - 미리보기에서 편집 모달로 전환 가능 --- .../views/rd/design-insight/index.blade.php | 728 +++++++++++++++++- 1 file changed, 725 insertions(+), 3 deletions(-) diff --git a/resources/views/rd/design-insight/index.blade.php b/resources/views/rd/design-insight/index.blade.php index c0e393fe..a97870af 100644 --- a/resources/views/rd/design-insight/index.blade.php +++ b/resources/views/rd/design-insight/index.blade.php @@ -648,6 +648,77 @@ .di-help-step .step-title { font-size: 13.5px; font-weight: 600; color: var(--di-text); margin-bottom: 2px; } .di-help-step .step-desc { font-size: 12.5px; color: var(--di-text-secondary); line-height: 1.6; } +/* Preview Modal */ +.di-preview { width: 820px; max-width: 95vw; } +.di-preview .di-modal-body { padding: 0; } +.di-preview-layout { display: flex; gap: 0; } +.di-preview-left { flex: 1; min-width: 0; border-right: 1px solid var(--di-border); } +.di-preview-right { width: 280px; flex-shrink: 0; padding: 20px; overflow-y: auto; max-height: 70vh; } +.di-preview-wireframe { + background: #f8fafc; + min-height: 320px; + display: flex; + align-items: center; + justify-content: center; + padding: 24px; + overflow: hidden; +} +.di-preview-wireframe img { + max-width: 100%; + max-height: 400px; + object-fit: contain; + border-radius: 6px; +} +.di-preview-info-item { margin-bottom: 16px; } +.di-preview-info-item label { + font-size: 10.5px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: .5px; + color: var(--di-text-secondary); + margin-bottom: 4px; + display: block; +} +.di-preview-info-item .val { font-size: 13px; color: var(--di-text); line-height: 1.6; } +.di-preview-comp { + display: flex; + align-items: flex-start; + gap: 6px; + padding: 5px 0; + font-size: 12.5px; + color: var(--di-text); + border-bottom: 1px solid #f1f5f9; +} +.di-preview-comp:last-child { border-bottom: none; } +.di-preview-comp .chk { color: #10b981; font-size: 13px; flex-shrink: 0; margin-top: 1px; } +.di-preview-comp .opt { color: #94a3b8; font-size: 13px; flex-shrink: 0; margin-top: 1px; } + +/* Wireframe Styles */ +.wf-wrap { + width: 100%; + max-width: 480px; + border-radius: 8px; + overflow: hidden; + border: 1px solid #e2e8f0; + background: #fff; + font-family: 'Pretendard', sans-serif; + box-shadow: 0 2px 8px rgba(0,0,0,.06); +} +.wf-bar { height: 10px; border-radius: 3px; background: #e2e8f0; } +.wf-bar.sm { width: 40px; } +.wf-bar.md { width: 80px; } +.wf-bar.lg { width: 120px; } +.wf-bar.xl { width: 180px; } +.wf-bar.blue { background: #bfdbfe; } +.wf-bar.green { background: #bbf7d0; } +.wf-bar.amber { background: #fde68a; } +.wf-bar.red { background: #fecaca; } +.wf-bar.purple { background: #ddd6fe; } +.wf-bar.dark { background: #cbd5e1; } +.wf-circle { border-radius: 50%; background: #e2e8f0; flex-shrink: 0; } +.wf-box { border-radius: 6px; background: #f1f5f9; border: 1px solid #e2e8f0; } +.wf-text { font-size: 8px; color: #94a3b8; font-weight: 600; letter-spacing: .3px; white-space: nowrap; } + /* Status Bar */ .di-statusbar { display: flex; @@ -892,7 +963,7 @@