feat: integrate latest HMDesign design system updates
This commit is contained in:
1 parent
99faec189e
commit
1c4e0bb9a1
209 files changed
+8845
-552
No files matched your search
@@ -0,0 +1,24 @@
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
const root = path.resolve('examples/ai-quality');
|
||||
const cases = [
|
||||
['01', '사용자 목록', 'Easy', 'GNB_ONLY', 'SearchList', '<SearchList title="사용자 목록"/>', ['조회', '초기화'], ['FilterBar', 'DataTable']],
|
||||
['02', '현장 업무', 'Medium', 'GNB_ONLY', 'SearchList', '<SearchList title="현장 업무" cards/>', ['조회', '초기화'], ['FilterBar']],
|
||||
['03', '승인 결재', 'Hard', 'GNB_ONLY', 'SearchList', '<SearchList title="승인 결재" detail="dialog"/>', ['조회', '초기화', '결재 확인', '취소', '승인'], ['FilterBar', 'DataTable']],
|
||||
['04', '채용 관리', 'Hard', 'GNB_ONLY', 'SearchList', '<SearchList title="채용 관리" detail="sheet"/>', ['조회', '초기화', '채용 상세', '확인'], ['FilterBar', 'DataTable']],
|
||||
['05', '업무 요청', 'Medium', 'GNB_ONLY', 'RequestForm', '<RequestForm/>', ['제출'], []],
|
||||
['06', '권한 설정', 'Medium', 'LNB_ONLY', 'Permissions', '<Permissions/>', ['저장'], []],
|
||||
['07', '업무 Dashboard', 'Medium', 'DASHBOARD_ONLY', 'Dashboard', '<Dashboard/>', [], ['DashboardLayout']],
|
||||
['08', '통계 Dashboard', 'Medium', 'DASHBOARD_ONLY', 'Dashboard', '<Dashboard statistics/>', [], ['DashboardLayout', 'DataTable']],
|
||||
['09', '작업 변경', 'Hard', 'GNB_ONLY', 'OverlayWorkflow', '<OverlayWorkflow/>', ['작업 변경 열기', '취소', '적용'], []],
|
||||
['10', '처리 상태', 'Easy', 'LNB_ONLY', 'StateWorkflow', '<StateWorkflow/>', ['로딩', '오류', '빈 결과', '다시 시도'], []],
|
||||
];
|
||||
for (const [id, title, difficulty, mode, component, jsx, actions, patterns] of cases) {
|
||||
const folder = path.join(root, id);
|
||||
fs.mkdirSync(folder, { recursive: true });
|
||||
const frame = mode === 'GNB_ONLY' ? 'GNBFrame' : mode === 'LNB_ONLY' ? 'LNBFrame' : null;
|
||||
fs.writeFileSync(path.join(folder, 'main.tsx'), `import { createRoot } from "react-dom/client"\nimport { ${component} } from "../shared/${component}"${frame ? '\nimport { ' + frame + ' } from "../shared/' + frame + '"' : ''}\nimport "../shared/index.css"\nimport "../shared/hm-theme.css"\ncreateRoot(document.getElementById("root")!).render(${frame ? `<${frame} title="${title}">${jsx}</${frame}>` : jsx})\n`);
|
||||
fs.writeFileSync(path.join(folder, 'index.html'), `<!doctype html><html lang="ko"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="icon" href="data:,"/><title>${title}</title></head><body><div id="root"></div><script type="module" src="./main.tsx"></script></body></html>\n`);
|
||||
fs.writeFileSync(path.join(folder, 'requirements.json'), JSON.stringify({ id, title, difficulty, mode, actions, patterns, generation: { model: 'GPT-6 (session identity)', reasoningLevel: 'UNAVAILABLE', randomSeed: null, seedReason: 'Session sampling seed unavailable', condition: 'Generated in current Codex session, shared compositions, no previous experiment solution source supplied', comparability: 'NON-COMPARABLE' } }, null, 2) + '\n');
|
||||
}
|
||||
console.log('Prepared 10 independent React bootstraps; shared composition source is explicit.');
|
||||
Reference in new issue
Block a user