gazetta 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin-dist/assets/index-Bh_y1d_l.css +1 -0
- package/admin-dist/assets/index-DjGNi6yy.js +608 -0
- package/admin-dist/assets/rolldown-runtime-COnpUsM8.js +1 -0
- package/admin-dist/assets/vendor-primevue-BnR1c_bQ.js +2097 -0
- package/admin-dist/assets/vendor-react-BipDVGow.js +9 -0
- package/admin-dist/assets/vendor-rjsf-HKBAjOmQ.js +32 -0
- package/admin-dist/assets/vendor-tiptap-IyO99U4R.js +142 -0
- package/admin-dist/assets/vendor-vue-DSjyxCX6.js +1 -0
- package/admin-dist/index.html +8 -7
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +2 -0
- package/dist/admin-api/index.js.map +1 -1
- package/dist/admin-api/routes/compare.d.ts +4 -0
- package/dist/admin-api/routes/compare.d.ts.map +1 -0
- package/dist/admin-api/routes/compare.js +55 -0
- package/dist/admin-api/routes/compare.js.map +1 -0
- package/dist/admin-api/routes/publish.d.ts +34 -0
- package/dist/admin-api/routes/publish.d.ts.map +1 -1
- package/dist/admin-api/routes/publish.js +117 -29
- package/dist/admin-api/routes/publish.js.map +1 -1
- package/dist/cli/index.js +219 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/compare.d.ts +44 -0
- package/dist/compare.d.ts.map +1 -0
- package/dist/compare.js +93 -0
- package/dist/compare.js.map +1 -0
- package/dist/editor/mount.js +71 -71
- package/dist/editor/mount.js.map +1 -1
- package/dist/hash.d.ts +16 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +57 -0
- package/dist/hash.js.map +1 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/publish-rendered.d.ts +3 -5
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +37 -5
- package/dist/publish-rendered.js.map +1 -1
- package/dist/scope.d.ts +0 -4
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +0 -5
- package/dist/scope.js.map +1 -1
- package/dist/targets.d.ts +0 -2
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +21 -10
- package/dist/targets.js.map +1 -1
- package/dist/template-loader.d.ts.map +1 -1
- package/dist/template-loader.js +10 -13
- package/dist/template-loader.js.map +1 -1
- package/dist/templates-scan-worker.d.ts +2 -0
- package/dist/templates-scan-worker.d.ts.map +1 -0
- package/dist/templates-scan-worker.js +42 -0
- package/dist/templates-scan-worker.js.map +1 -0
- package/dist/templates-scan.d.ts +35 -0
- package/dist/templates-scan.d.ts.map +1 -0
- package/dist/templates-scan.js +146 -0
- package/dist/templates-scan.js.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/package.json +8 -8
- package/admin-dist/assets/index-BSOUexkw.css +0 -1
- package/admin-dist/assets/index-KgruFGS7.js +0 -617
- package/admin-dist/assets/vendor-primevue-zs1PFA6i.js +0 -1597
- package/admin-dist/assets/vendor-react-CqfEBl6C.js +0 -49
- package/admin-dist/assets/vendor-rjsf-Ci-RPpeZ.js +0 -40
- package/admin-dist/assets/vendor-tiptap-yFEgrmP-.js +0 -158
- package/admin-dist/assets/vendor-vue-CeoltKL-.js +0 -29
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface TemplateInfo {
|
|
2
|
+
/** Template name, e.g. "hero" or "buttons/primary" */
|
|
3
|
+
name: string;
|
|
4
|
+
/** 8-char MD5 of all source files contributing to this template; '' if invalid */
|
|
5
|
+
hash: string;
|
|
6
|
+
valid: boolean;
|
|
7
|
+
errors: string[];
|
|
8
|
+
/** Files (relative to projectRoot) that contributed to the hash */
|
|
9
|
+
files: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Validate and hash every template under `templatesDir`. Each template runs in
|
|
13
|
+
* its own worker thread for cache isolation.
|
|
14
|
+
*
|
|
15
|
+
* Templates are validated by importing them via jiti and checking for a default
|
|
16
|
+
* export (render function) and a `schema` export. Hashing covers the full
|
|
17
|
+
* relative-import graph (including `_shared/` imports), excluding `node_modules`.
|
|
18
|
+
*
|
|
19
|
+
* `projectRoot` makes hashes stable across machines (paths are relative to it).
|
|
20
|
+
*/
|
|
21
|
+
export declare function scanTemplates(templatesDir: string, projectRoot: string): Promise<TemplateInfo[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Re-scan a single template by name. Useful for the file watcher.
|
|
24
|
+
*/
|
|
25
|
+
export declare function scanTemplate(templatesDir: string, projectRoot: string, name: string): Promise<TemplateInfo>;
|
|
26
|
+
/**
|
|
27
|
+
* Build a `Map<templateName, hash>` from scan results, excluding invalid templates
|
|
28
|
+
* (which have hash = ''). Used by `hashManifest` and consumers.
|
|
29
|
+
*/
|
|
30
|
+
export declare function templateHashesFrom(infos: TemplateInfo[]): Map<string, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Format scan errors for CLI output. Returns the number of invalid templates.
|
|
33
|
+
*/
|
|
34
|
+
export declare function reportTemplateErrors(infos: TemplateInfo[]): number;
|
|
35
|
+
//# sourceMappingURL=templates-scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-scan.d.ts","sourceRoot":"","sources":["../src/templates-scan.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,mEAAmE;IACnE,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAmFD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,EAAE,CAAC,CAUzB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CASlE"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Worker } from 'node:worker_threads';
|
|
2
|
+
import { readdir } from 'node:fs/promises';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import { join, dirname, resolve } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
const TEMPLATE_FILES = ['index.tsx', 'index.ts', 'index.jsx', 'index.js'];
|
|
7
|
+
async function findEntry(dir) {
|
|
8
|
+
for (const f of TEMPLATE_FILES) {
|
|
9
|
+
const p = join(dir, f);
|
|
10
|
+
if (existsSync(p))
|
|
11
|
+
return p;
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Discover all template names in a directory. Templates are subdirectories
|
|
17
|
+
* with an index.{ts,tsx,jsx,js} entry. Subdirectories starting with "_" are excluded
|
|
18
|
+
* (convention for shared code, see operations.md).
|
|
19
|
+
*
|
|
20
|
+
* Recursively descends into directories without an entry to find nested templates
|
|
21
|
+
* like `buttons/primary`.
|
|
22
|
+
*/
|
|
23
|
+
async function discoverTemplates(templatesDir, prefix = '') {
|
|
24
|
+
const out = [];
|
|
25
|
+
let entries;
|
|
26
|
+
try {
|
|
27
|
+
entries = await readdir(templatesDir, { withFileTypes: true });
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return out;
|
|
31
|
+
}
|
|
32
|
+
for (const e of entries) {
|
|
33
|
+
if (!e.isDirectory() || e.name.startsWith('_'))
|
|
34
|
+
continue;
|
|
35
|
+
const dir = join(templatesDir, e.name);
|
|
36
|
+
const name = prefix ? `${prefix}/${e.name}` : e.name;
|
|
37
|
+
const entry = await findEntry(dir);
|
|
38
|
+
if (entry) {
|
|
39
|
+
out.push({ name, entry });
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// No entry — recurse to find nested templates (e.g. buttons/primary)
|
|
43
|
+
const nested = await discoverTemplates(dir, name);
|
|
44
|
+
out.push(...nested);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return out;
|
|
48
|
+
}
|
|
49
|
+
let cachedWorkerPath = null;
|
|
50
|
+
function workerPath() {
|
|
51
|
+
if (cachedWorkerPath)
|
|
52
|
+
return cachedWorkerPath;
|
|
53
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
54
|
+
// When loaded from dist/ at runtime, the worker is dist/templates-scan-worker.js.
|
|
55
|
+
// When loaded from src/ via vitest/tsx, the .js sibling won't exist — fall back
|
|
56
|
+
// to dist/, which is where it'll be after a build.
|
|
57
|
+
const sibling = resolve(here, './templates-scan-worker.js');
|
|
58
|
+
if (existsSync(sibling)) {
|
|
59
|
+
cachedWorkerPath = sibling;
|
|
60
|
+
return cachedWorkerPath;
|
|
61
|
+
}
|
|
62
|
+
// Source context (tests, dev): walk up to packages/gazetta and use dist/
|
|
63
|
+
const distFallback = resolve(here, '../dist/templates-scan-worker.js');
|
|
64
|
+
cachedWorkerPath = distFallback;
|
|
65
|
+
return cachedWorkerPath;
|
|
66
|
+
}
|
|
67
|
+
function scanOne(entry, projectRoot) {
|
|
68
|
+
return new Promise((resolveP, rejectP) => {
|
|
69
|
+
const w = new Worker(workerPath(), { workerData: { entry, projectRoot } });
|
|
70
|
+
w.once('message', (msg) => {
|
|
71
|
+
w.terminate();
|
|
72
|
+
resolveP(msg);
|
|
73
|
+
});
|
|
74
|
+
w.once('error', (err) => {
|
|
75
|
+
w.terminate();
|
|
76
|
+
rejectP(err);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Validate and hash every template under `templatesDir`. Each template runs in
|
|
82
|
+
* its own worker thread for cache isolation.
|
|
83
|
+
*
|
|
84
|
+
* Templates are validated by importing them via jiti and checking for a default
|
|
85
|
+
* export (render function) and a `schema` export. Hashing covers the full
|
|
86
|
+
* relative-import graph (including `_shared/` imports), excluding `node_modules`.
|
|
87
|
+
*
|
|
88
|
+
* `projectRoot` makes hashes stable across machines (paths are relative to it).
|
|
89
|
+
*/
|
|
90
|
+
export async function scanTemplates(templatesDir, projectRoot) {
|
|
91
|
+
const templates = await discoverTemplates(templatesDir);
|
|
92
|
+
return Promise.all(templates.map(async (t) => {
|
|
93
|
+
try {
|
|
94
|
+
const out = await scanOne(t.entry, projectRoot);
|
|
95
|
+
return { name: t.name, ...out };
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
return { name: t.name, hash: '', valid: false, errors: [`worker error: ${err.message}`], files: [] };
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Re-scan a single template by name. Useful for the file watcher.
|
|
104
|
+
*/
|
|
105
|
+
export async function scanTemplate(templatesDir, projectRoot, name) {
|
|
106
|
+
const dir = join(templatesDir, name);
|
|
107
|
+
const entry = await findEntry(dir);
|
|
108
|
+
if (!entry) {
|
|
109
|
+
return { name, hash: '', valid: false, errors: ['no index.{ts,tsx,jsx,js} found'], files: [] };
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
const out = await scanOne(entry, projectRoot);
|
|
113
|
+
return { name, ...out };
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
return { name, hash: '', valid: false, errors: [`worker error: ${err.message}`], files: [] };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Build a `Map<templateName, hash>` from scan results, excluding invalid templates
|
|
121
|
+
* (which have hash = ''). Used by `hashManifest` and consumers.
|
|
122
|
+
*/
|
|
123
|
+
export function templateHashesFrom(infos) {
|
|
124
|
+
const m = new Map();
|
|
125
|
+
for (const t of infos) {
|
|
126
|
+
if (t.valid)
|
|
127
|
+
m.set(t.name, t.hash);
|
|
128
|
+
}
|
|
129
|
+
return m;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Format scan errors for CLI output. Returns the number of invalid templates.
|
|
133
|
+
*/
|
|
134
|
+
export function reportTemplateErrors(infos) {
|
|
135
|
+
const invalid = infos.filter(t => !t.valid);
|
|
136
|
+
if (!invalid.length)
|
|
137
|
+
return 0;
|
|
138
|
+
for (const t of invalid) {
|
|
139
|
+
console.error(`✗ Template "${t.name}" has errors:`);
|
|
140
|
+
for (const e of t.errors)
|
|
141
|
+
console.error(` · ${e}`);
|
|
142
|
+
}
|
|
143
|
+
console.error(`\n${invalid.length} of ${infos.length} templates have errors.`);
|
|
144
|
+
return invalid.length;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=templates-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates-scan.js","sourceRoot":"","sources":["../src/templates-scan.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -96,18 +96,28 @@ export interface WorkerConfig {
|
|
|
96
96
|
type: 'cloudflare';
|
|
97
97
|
name?: string;
|
|
98
98
|
}
|
|
99
|
+
export type TargetEnvironment = 'local' | 'staging' | 'production';
|
|
99
100
|
/** Target configuration in site.yaml */
|
|
100
101
|
export interface TargetConfig {
|
|
101
102
|
storage: StorageConfig;
|
|
102
103
|
worker?: WorkerConfig;
|
|
103
104
|
/** Publish mode — 'esi' for Workers/gazetta serve, 'static' for static hosting. Default: esi if worker configured, static otherwise. */
|
|
104
105
|
publishMode?: 'esi' | 'static';
|
|
106
|
+
/**
|
|
107
|
+
* Semantic intent of this target — drives UI treatment (confirmation
|
|
108
|
+
* prompts, badges) and ops decisions. Default: 'local' for filesystem,
|
|
109
|
+
* 'production' otherwise. Override in site.yaml for shared filesystem
|
|
110
|
+
* mounts used as production, or for cloud targets used for staging.
|
|
111
|
+
*/
|
|
112
|
+
environment?: TargetEnvironment;
|
|
105
113
|
/** Base URL of the site (e.g. https://gazetta.studio) */
|
|
106
114
|
siteUrl?: string;
|
|
107
115
|
cache?: CacheConfig;
|
|
108
116
|
}
|
|
109
117
|
/** Determine publish mode for a target — centralised logic used by CLI and admin API */
|
|
110
118
|
export declare function getPublishMode(target: TargetConfig): 'esi' | 'static';
|
|
119
|
+
/** Resolve a target's environment, applying the storage-type default */
|
|
120
|
+
export declare function getEnvironment(target: TargetConfig): TargetEnvironment;
|
|
111
121
|
/** Site manifest (site.yaml) */
|
|
112
122
|
export interface SiteManifest {
|
|
113
123
|
name: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -2,4 +2,8 @@
|
|
|
2
2
|
export function getPublishMode(target) {
|
|
3
3
|
return target.publishMode ?? (target.worker ? 'esi' : 'static');
|
|
4
4
|
}
|
|
5
|
+
/** Resolve a target's environment, applying the storage-type default */
|
|
6
|
+
export function getEnvironment(target) {
|
|
7
|
+
return target.environment ?? (target.storage.type === 'filesystem' ? 'local' : 'production');
|
|
8
|
+
}
|
|
5
9
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmIA,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,OAAO,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;AACjE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,OAAO,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;AAC9F,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gazetta",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Stateless CMS for composable websites",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cms",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@clack/prompts": "^1.2.0",
|
|
62
62
|
"@floating-ui/dom": "^1.7.6",
|
|
63
63
|
"@hello-pangea/dnd": "^18.0.1",
|
|
64
|
-
"@hono/node-server": "^1.19.
|
|
64
|
+
"@hono/node-server": "^1.19.14",
|
|
65
65
|
"@rjsf/core": "^6.4.0",
|
|
66
66
|
"@rjsf/utils": "^6.4.0",
|
|
67
67
|
"@rjsf/validator-ajv8": "^6.4.0",
|
|
@@ -93,17 +93,17 @@
|
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"devDependencies": {
|
|
96
|
-
"@aws-sdk/client-s3": "^3.
|
|
96
|
+
"@aws-sdk/client-s3": "^3.1030.0",
|
|
97
97
|
"@azure/storage-blob": "^12.31.0",
|
|
98
|
-
"@cloudflare/workers-types": "^4.
|
|
98
|
+
"@cloudflare/workers-types": "^4.20260413.1",
|
|
99
99
|
"@types/js-yaml": "^4.0.0",
|
|
100
|
-
"@types/node": "^
|
|
100
|
+
"@types/node": "^25.6.0",
|
|
101
101
|
"@types/react": "^19.2.0",
|
|
102
102
|
"@types/react-dom": "^19.2.0",
|
|
103
|
-
"@vitejs/plugin-vue": "^
|
|
103
|
+
"@vitejs/plugin-vue": "^6.0.6",
|
|
104
104
|
"tsx": "^4.21.0",
|
|
105
|
-
"typescript": "^
|
|
106
|
-
"vite": "^
|
|
105
|
+
"typescript": "^6.0.2",
|
|
106
|
+
"vite": "^8.0.8",
|
|
107
107
|
"vitest": "^4.1.0"
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.publish-content[data-v-878d0536]{display:flex;flex-direction:column;gap:1rem}.publish-item[data-v-878d0536]{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem}.publish-empty[data-v-878d0536]{color:#888;font-size:.875rem}.publish-label[data-v-878d0536]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.publish-targets[data-v-878d0536]{display:flex;flex-direction:column;gap:.5rem}.publish-target[data-v-878d0536]{display:flex;align-items:center;gap:.5rem}.publish-target label[data-v-878d0536]{cursor:pointer}.publish-results[data-v-878d0536]{display:flex;flex-direction:column;gap:.5rem}.publish-result[data-v-878d0536]{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px}.publish-result.success[data-v-878d0536]{background:#052e16;color:#4ade80}.publish-result.error[data-v-878d0536]{background:#450a0a;color:#f87171}.result-target[data-v-878d0536]{font-weight:600}.result-detail[data-v-878d0536]{margin-left:auto;font-size:.875rem;opacity:.8}.fetch-content[data-v-359a5f85]{display:flex;flex-direction:column;gap:1rem}.fetch-empty[data-v-359a5f85]{color:#888;font-size:.875rem}.fetch-label[data-v-359a5f85]{font-size:.875rem;color:#aaa;margin-bottom:.5rem}.fetch-list[data-v-359a5f85]{width:100%}.fetch-result[data-v-359a5f85]{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px}.fetch-result.success[data-v-359a5f85]{background:#052e16;color:#4ade80}.fetch-result.error[data-v-359a5f85]{background:#450a0a;color:#f87171}.fetch-items[data-v-359a5f85]{font-size:.75rem;opacity:.7;margin-top:.25rem}.cms-toolbar[data-v-19233328]{border-radius:0;border-left:0;border-right:0;border-top:0}.cms-logo[data-v-19233328]{font-weight:700;font-size:1.125rem;display:flex;align-items:center;gap:.5rem}.cms-site-name[data-v-19233328]{margin-left:1rem;color:#888;font-size:.875rem}.cms-btn[data-v-19233328]{margin-left:.5rem}.cms-toast[data-v-19233328]{font-size:.8125rem;display:flex;align-items:center;gap:.375rem}.cms-toast-error[data-v-19233328]{color:#dc2626}.fade-enter-active[data-v-19233328],.fade-leave-active[data-v-19233328]{transition:opacity .2s}.fade-enter-from[data-v-19233328],.fade-leave-to[data-v-19233328]{opacity:0}.unsaved-message[data-v-b86db2f5]{font-size:.875rem;color:#374151;line-height:1.5;margin:0}.unsaved-actions[data-v-b86db2f5]{display:flex;gap:.5rem;justify-content:flex-end;width:100%}*{box-sizing:border-box;margin:0;padding:0}html,body,#app,.cms-app{height:100%}body{font-family:system-ui,-apple-system,sans-serif;color:#1a1a1a;background:#fff}.dark body{color:#e4e4e7;background:#09090b}.cms-error{padding:2rem;color:#c00}.cms-loading{padding:2rem;color:#666}.global-toast{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:1001;background:#fff;color:#1a1a1a;border:1px solid #e4e4e7;border-top:none;border-radius:0 0 8px 8px;padding:8px 20px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #00000014;max-width:400px}.dark .global-toast{background:#1a1a1e;color:#e8e8e8;border-color:#ffffff14;box-shadow:0 4px 12px #00000040}.toast-success{color:#16a34a}.dark .toast-success{color:#59f3a6}.toast-error{color:#dc2626}.dark .toast-error{color:#ff9ea1}.toast-link{color:inherit;text-decoration:underline}.toast-enter-active{transition:transform .2s ease-out,opacity .2s ease-out}.toast-leave-active{transition:transform .15s ease-in,opacity .15s ease-in}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(-100%)}.create-content[data-v-b4d1c25e]{display:flex;flex-direction:column;gap:1rem}.create-field[data-v-b4d1c25e]{display:flex;flex-direction:column;gap:.375rem}.create-field label[data-v-b4d1c25e]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.create-input[data-v-b4d1c25e],.create-list[data-v-b4d1c25e]{width:100%}.create-hint[data-v-b4d1c25e]{font-size:.75rem;color:#666}.create-error[data-v-b4d1c25e]{color:#f87171;font-size:.875rem}.create-content[data-v-0b98775c]{display:flex;flex-direction:column;gap:1rem}.create-field[data-v-0b98775c]{display:flex;flex-direction:column;gap:.375rem}.create-field label[data-v-0b98775c]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.create-input[data-v-0b98775c],.create-list[data-v-0b98775c]{width:100%}.create-error[data-v-0b98775c]{color:#f87171;font-size:.875rem}.site-tree[data-v-37e45114]{font-size:13px;line-height:22px}.section-label[data-v-37e45114]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:4px 8px;font-weight:600}.section-divider[data-v-37e45114]{border-top:1px solid rgba(128,128,128,.15);margin:4px 8px}.node-item[data-v-37e45114]{display:flex;align-items:center;gap:4px;height:22px;padding:0 6px;margin:0 2px;cursor:pointer;border-radius:3px}.node-item[data-v-37e45114]:hover{background:#80808014}.node-item.selected[data-v-37e45114]{background:#a78bfa26;box-shadow:inset 2px 0 #a78bfa}.node-icon[data-v-37e45114]{width:16px;text-align:center;font-size:10px;color:#999;flex-shrink:0}.node-label[data-v-37e45114]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7280}.node-item.selected .node-label[data-v-37e45114],.node-item:hover .node-label[data-v-37e45114]{color:#374151}.dark{border-top-color:#27272a}.dark{background:#ffffff0d}.dark{color:#666}.dark{color:#bbb}.dark{color:#e4e4e7}.node-delete[data-v-37e45114]{opacity:0;transition:opacity .1s;flex-shrink:0}.node-item:hover .node-delete[data-v-37e45114]{opacity:1}.new-btns[data-v-37e45114]{display:flex;gap:.5rem;margin-top:8px;padding:0 6px}.add-content[data-v-f4b0672a]{display:flex;flex-direction:column;gap:1rem}.add-field[data-v-f4b0672a]{display:flex;flex-direction:column;gap:.375rem}.add-field label[data-v-f4b0672a]{font-size:.75rem;text-transform:uppercase;color:#888;letter-spacing:.03em}.add-input[data-v-f4b0672a],.add-list[data-v-f4b0672a]{width:100%}.add-error[data-v-f4b0672a]{color:#f87171;font-size:.875rem}.component-tree[data-v-6e06b8a9]{font-size:13px;line-height:22px}.empty[data-v-6e06b8a9]{color:#aaa}.node-item[data-v-6e06b8a9]{display:flex;align-items:center;gap:4px;height:22px;padding:0 6px;margin:0 2px;cursor:pointer;border-radius:3px}.node-item[data-v-6e06b8a9]:hover,.node-item.hovered[data-v-6e06b8a9]{background:#80808014}.node-item.selected[data-v-6e06b8a9]{background:#a78bfa26;box-shadow:inset 2px 0 #a78bfa}.node-root[data-v-6e06b8a9]{font-weight:600;padding:0 6px;height:26px;line-height:26px;border-radius:0;margin:0 0 2px;border-bottom:1px solid rgba(128,128,128,.15)}.node-root.selected[data-v-6e06b8a9]{background:#a78bfa1a;box-shadow:none;border-bottom-color:#a78bfa}.node-icon[data-v-6e06b8a9]{width:16px;text-align:center;font-size:10px;color:#999;flex-shrink:0}.node-label[data-v-6e06b8a9]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7280}.node-item.selected .node-label[data-v-6e06b8a9],.node-item:hover .node-label[data-v-6e06b8a9],.node-item.hovered .node-label[data-v-6e06b8a9]{color:#374151}.node-root .node-label[data-v-6e06b8a9]{color:#1f2937}.node-error-icon[data-v-6e06b8a9]{color:#dc2626}.node-dirty-dot[data-v-6e06b8a9]{width:6px;height:6px;border-radius:50%;background:#d97706;flex-shrink:0}.node-revert[data-v-6e06b8a9]{opacity:0;transition:opacity .1s;width:18px;height:18px;flex-shrink:0}.node-item:hover .node-revert[data-v-6e06b8a9]{opacity:1}.node-actions[data-v-6e06b8a9]{display:flex;gap:0;opacity:0;transition:opacity .1s;flex-shrink:0}.node-item:hover .node-actions[data-v-6e06b8a9]{opacity:1}.add-btn[data-v-6e06b8a9]{margin-top:6px}.dark .component-tree .node-item:hover,.dark .component-tree .node-item.hovered{background:#ffffff0d}.dark .component-tree .node-root{border-bottom-color:#27272a}.dark .component-tree .node-icon{color:#666}.dark .component-tree .node-label{color:#bbb}.dark .component-tree .node-item.selected .node-label,.dark .component-tree .node-item:hover .node-label,.dark .component-tree .node-item.hovered .node-label,.dark .component-tree .node-root .node-label{color:#e4e4e7}.dark .component-tree .node-error-icon{color:#f87171}.dark .component-tree .node-dirty-dot{background:#f59e0b}.editor-panel h3[data-v-568555bd]{font-size:.75rem;text-transform:uppercase;color:var(--gz-text-label);margin-bottom:1rem;letter-spacing:.05em}.editor-error[data-v-568555bd]{color:var(--gz-error);font-size:.875rem;display:flex;flex-direction:column;align-items:center;padding-top:3rem;gap:.5rem;text-align:center}.editor-error .pi[data-v-568555bd]{font-size:2rem}.editor-error p[data-v-568555bd]{max-width:300px;line-height:1.5}.editor-empty[data-v-568555bd]{color:var(--gz-text-hint);font-size:.875rem;display:flex;flex-direction:column;align-items:center;padding-top:3rem}.editor-container[data-v-568555bd]{font-size:.875rem}.editor-no-schema[data-v-568555bd]{color:var(--gz-text-hint);font-size:.875rem}.preview-panel[data-v-4aacb015]{height:100%;display:flex;flex-direction:column}.preview-panel.fullscreen[data-v-4aacb015]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#f8f8fa}.preview-empty[data-v-4aacb015]{padding:3rem 1rem 1rem;color:#aaa;font-size:.875rem;display:flex;flex-direction:column;align-items:center}.preview-toolbar[data-v-4aacb015]{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;border-bottom:1px solid #e5e7eb}.preview-devices[data-v-4aacb015],.preview-actions[data-v-4aacb015]{display:flex;gap:.25rem;align-items:center}.device-btn[data-v-4aacb015]{background:none;border:1px solid transparent;border-radius:4px;padding:.25rem .5rem;color:#9ca3af;cursor:pointer;font-size:.875rem}.device-btn[data-v-4aacb015]:hover{color:#374151;border-color:#d1d5db}.device-btn.active[data-v-4aacb015]{color:#a78bfa;border-color:#a78bfa}.host-page-select[data-v-4aacb015]{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:4px;padding:.2rem .4rem;font-size:.75rem;cursor:pointer}.preview-separator[data-v-4aacb015]{width:1px;height:14px;background:#d1d5db;margin-left:8px;margin-right:8px}.preview-route[data-v-4aacb015]{display:inline-flex;align-items:center;gap:6px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;padding:2px 10px;height:24px;font-size:12px;color:#6b7280;font-family:ui-monospace,monospace}.preview-route .pi[data-v-4aacb015]{font-size:10px;color:#9ca3af}.preview-frame-wrapper[data-v-4aacb015]{flex:1;display:flex;justify-content:center;overflow:auto;background:#e5e7eb}.preview-iframe[data-v-4aacb015]{flex:none;height:100%;border:0;background:#fff;transition:width .2s}.dark .preview-panel.fullscreen{background:#09090b}.dark .preview-toolbar{border-bottom-color:#27272a}.dark .device-btn{color:#71717a}.dark .device-btn:hover{color:#e4e4e7;border-color:#3f3f46}.dark .host-page-select{background:#1e1e2e;color:#e0e0e0;border-color:#3f3f46}.dark .preview-separator{background:#3f3f46}.dark .preview-route{background:#18181b;border-color:#27272a;color:#a1a1aa}.dark .preview-route .pi{color:#52525b}.dark .preview-frame-wrapper{background:#1a1a2e}.cms-editor[data-v-f9c0172b]{display:flex;height:calc(100% - 60px)}.cms-left[data-v-f9c0172b]{width:250px;flex-shrink:0;overflow:auto;border-right:1px solid #27272a}.cms-left-wide[data-v-f9c0172b]{width:55%;max-width:900px;overflow:hidden}.cms-splitter[data-v-f9c0172b]{height:100%;border:0;border-radius:0}.cms-preview[data-v-f9c0172b]{flex:1;min-width:0;overflow:hidden}.cms-panel[data-v-f9c0172b]{overflow:auto}.cms-panel-content[data-v-f9c0172b]{padding:1rem}.playground[data-v-9ffc60ee]{display:flex;height:calc(100% - 60px)}.playground-sidebar[data-v-9ffc60ee]{width:220px;flex-shrink:0;overflow-y:auto;border-right:1px solid #e5e7eb;padding:.75rem 0}.sidebar-header[data-v-9ffc60ee]{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:0 1rem;margin-bottom:.75rem;color:#6b7280}.sidebar-loading[data-v-9ffc60ee]{padding:1rem;color:#9ca3af;font-size:.8125rem}.sidebar-section[data-v-9ffc60ee]{margin-bottom:.5rem}.section-label[data-v-9ffc60ee]{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:.375rem 1rem;font-weight:600}.section-label-toggle[data-v-9ffc60ee]{cursor:pointer;display:flex;align-items:center;gap:.375rem;-webkit-user-select:none;user-select:none}.section-label-toggle[data-v-9ffc60ee]:hover{color:#6b7280}.toggle-icon[data-v-9ffc60ee]{font-size:.5rem}.sidebar-item[data-v-9ffc60ee]{display:flex;align-items:center;gap:.5rem;padding:.3125rem 1rem;cursor:pointer;font-size:.8125rem;color:#6b7280}.sidebar-item[data-v-9ffc60ee]:hover{background:#80808014;color:#374151}.sidebar-item.active[data-v-9ffc60ee]{background:#667eea1a;color:#667eea}.item-icon[data-v-9ffc60ee]{font-size:.6875rem;width:14px;text-align:center;flex-shrink:0}.item-name[data-v-9ffc60ee]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-empty[data-v-9ffc60ee]{padding:1.5rem 1rem;color:#9ca3af;font-size:.8125rem;line-height:1.6}.sidebar-empty .hint[data-v-9ffc60ee]{margin-top:.75rem}.sidebar-empty code[data-v-9ffc60ee]{font-family:monospace;font-size:.75rem;background:#8080801a;padding:1px 4px;border-radius:3px}.playground-main[data-v-9ffc60ee]{flex:1;display:flex;flex-direction:column;overflow:hidden}.main-empty[data-v-9ffc60ee]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:.875rem}.main-toolbar[data-v-9ffc60ee]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid #e5e7eb;font-size:.8125rem;flex-shrink:0}.toolbar-label[data-v-9ffc60ee]{flex:1;display:flex;align-items:baseline;gap:.5rem;color:#6b7280}.toolbar-type[data-v-9ffc60ee]{font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em}.toolbar-label strong[data-v-9ffc60ee]{color:#374151;font-size:.875rem}.toolbar-hint[data-v-9ffc60ee]{font-size:.6875rem;color:#9ca3af;font-style:italic}.toolbar-btn[data-v-9ffc60ee]{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border:1px solid #e5e7eb;border-radius:6px;background:transparent;color:#6b7280;font-size:.75rem;cursor:pointer;white-space:nowrap}.toolbar-btn[data-v-9ffc60ee]:hover{background:#80808014;color:#374151}.main-body[data-v-9ffc60ee]{flex:1;display:flex;overflow:hidden}.main-content[data-v-9ffc60ee]{flex:1;overflow-y:auto;padding:1.5rem;min-width:0}.mount-container[data-v-9ffc60ee]{max-width:600px}.mount-error[data-v-9ffc60ee]{color:#dc2626;font-size:.8125rem;margin-bottom:1rem;padding:.75rem;background:#dc262614;border-radius:6px}.value-inspector[data-v-9ffc60ee]{flex:1;min-width:0;border-left:1px solid #e5e7eb;overflow-y:auto;display:flex;flex-direction:column}.inspector-header[data-v-9ffc60ee]{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:.5rem .75rem;font-weight:600;border-bottom:1px solid #e5e7eb;flex-shrink:0}.inspector-value[data-v-9ffc60ee]{font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;line-height:1.7;padding:.75rem;color:#374151;margin:0;white-space:pre-wrap;word-break:break-word;flex:1}.inspector-value .jv-key[data-v-9ffc60ee]{color:#6b7280}.inspector-value .jv-str[data-v-9ffc60ee]{color:#16a34a}.inspector-value .jv-num[data-v-9ffc60ee]{color:#d97706}.inspector-value .jv-bool[data-v-9ffc60ee]{color:#7c3aed}.inspector-value .jv-null[data-v-9ffc60ee]{color:#9ca3af}.dark .playground-sidebar{border-right-color:#27272a}.dark .sidebar-header{color:#666}.dark .section-label{color:#555}.dark .section-label-toggle:hover{color:#999}.dark .sidebar-item{color:#bbb}.dark .sidebar-item:hover{background:#ffffff0d;color:#e4e4e7}.dark .sidebar-item.active{background:#667eea26;color:#667eea}.dark .main-toolbar{border-bottom-color:#27272a}.dark .toolbar-label{color:#999}.dark .toolbar-label strong{color:#e4e4e7}.dark .toolbar-hint{color:#555}.dark .toolbar-btn{border-color:#333;color:#999}.dark .toolbar-btn:hover{background:#ffffff0d;color:#e4e4e7}.dark .mount-error{color:#f87171;background:#f8717114}.dark .value-inspector{border-left-color:#27272a;background:#0c0c14}.dark .inspector-header{color:#666;border-bottom-color:#27272a}.dark .inspector-value{color:#e4e4e7}.dark .inspector-value .jv-key{color:#8888a0}.dark .inspector-value .jv-str{color:#4ade80}.dark .inspector-value .jv-num{color:#fbbf24}.dark .inspector-value .jv-bool{color:#a78bfa}.dark .inspector-value .jv-null{color:#52525b}
|