chore: sync marketing pages, CMS extensions, tests and project docs
同步工作区剩余变更,主要包括: - 营销页面组件与布局持续优化(about/news/services/solutions/team 等) - 详情页四层叙事组件、布局组件、UI 组件调整 - CMS 数据模型、API 路由、权限、工作流、站内通知、媒体管理扩展 - 新增/补充单元测试与 E2E 测试(cms-workflow.spec.ts 等) - ESLint 9 迁移、jest/tsconfig 配置更新、依赖调整 - 新增 ADR、CMS 评估文档、Release Review / Acceptance 报告 - 移除水墨装饰组件与大体积未使用字体文件
This commit is contained in:
@@ -359,7 +359,7 @@
|
||||
let annotSvgEl = null;
|
||||
let annotPinsEl = null;
|
||||
let annotClearChipEl = null;
|
||||
let annotState = { comments: [], strokes: [] };
|
||||
const annotState = { comments: [], strokes: [] };
|
||||
let annotActive = false;
|
||||
// `annotPointer` is either:
|
||||
// { kind: 'new', x0, y0, moved, strokeEl, strokePoints } creating a stroke/pin
|
||||
@@ -902,13 +902,13 @@
|
||||
for (const sheet of document.styleSheets) {
|
||||
try {
|
||||
for (const rule of sheet.cssRules) {
|
||||
if (rule.style) for (let i = 0; i < rule.style.length; i++) {
|
||||
if (rule.style) {for (let i = 0; i < rule.style.length; i++) {
|
||||
const p = rule.style[i];
|
||||
if (p.startsWith('--') && !props[p]) {
|
||||
const v = cs.getPropertyValue(p).trim();
|
||||
if (v) props[p] = v;
|
||||
}
|
||||
}
|
||||
}}
|
||||
}
|
||||
} catch { /* cross-origin */ }
|
||||
}
|
||||
@@ -5637,7 +5637,7 @@
|
||||
}
|
||||
|
||||
function jsxStylePropToCss(prop) {
|
||||
let out = String(prop || '').trim().replace(/^["']|["']$/g, '');
|
||||
const out = String(prop || '').trim().replace(/^["']|["']$/g, '');
|
||||
if (!out) return '';
|
||||
if (out.startsWith('--')) return out;
|
||||
return out.replace(/[A-Z]/g, (ch) => '-' + ch.toLowerCase()).replace(/^-ms-/, '-ms-');
|
||||
@@ -6553,7 +6553,7 @@
|
||||
}
|
||||
|
||||
// Arrow/Enter nav works in PICKING (hover) and CONFIGURING (selected, input empty)
|
||||
var navEl = (state === 'PICKING') ? hoveredElement : (state === 'CONFIGURING') ? selectedElement : null;
|
||||
const navEl = (state === 'PICKING') ? hoveredElement : (state === 'CONFIGURING') ? selectedElement : null;
|
||||
if (navEl && (e.key === 'ArrowUp' || e.key === 'ArrowDown' || (e.key === 'Enter' && state === 'PICKING'))) {
|
||||
let next = null;
|
||||
if (e.key === 'ArrowDown' && !e.shiftKey) {
|
||||
@@ -10002,7 +10002,7 @@ void main() {
|
||||
|
||||
let designHost = null;
|
||||
let designShadow = null;
|
||||
let designState = {
|
||||
const designState = {
|
||||
open: false,
|
||||
tab: 'visual', // 'visual' | 'raw'
|
||||
parsed: null, // parseDesignMd output (frontmatter + body sections)
|
||||
|
||||
Reference in New Issue
Block a user