@mdwrk/extension-theme-studio 1.1.6 → 1.2.2

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.
Files changed (38) hide show
  1. package/README.md +24 -47
  2. package/dist/components/ThemeStudioSettingsPanel.d.ts.map +1 -1
  3. package/dist/components/ThemeStudioSettingsPanel.js +2 -1
  4. package/dist/components/ThemeStudioSettingsPanel.js.map +1 -1
  5. package/dist/components/ThemeStudioView.d.ts.map +1 -1
  6. package/dist/components/ThemeStudioView.js +108 -17
  7. package/dist/components/ThemeStudioView.js.map +1 -1
  8. package/dist/constants.d.ts +2 -0
  9. package/dist/constants.d.ts.map +1 -1
  10. package/dist/constants.js +2 -0
  11. package/dist/constants.js.map +1 -1
  12. package/dist/createThemeStudioBundledEntry.d.ts.map +1 -1
  13. package/dist/createThemeStudioBundledEntry.js +3 -9
  14. package/dist/createThemeStudioBundledEntry.js.map +1 -1
  15. package/dist/i18n.d.ts +51 -0
  16. package/dist/i18n.d.ts.map +1 -1
  17. package/dist/i18n.js +57 -6
  18. package/dist/i18n.js.map +1 -1
  19. package/dist/locales/en.d.ts +1 -1
  20. package/dist/locales/en.d.ts.map +1 -1
  21. package/dist/locales/en.js +14 -1
  22. package/dist/locales/en.js.map +1 -1
  23. package/dist/locales/es.d.ts +1 -1
  24. package/dist/locales/es.d.ts.map +1 -1
  25. package/dist/locales/es.js +42 -1
  26. package/dist/locales/es.js.map +1 -1
  27. package/dist/manifest.d.ts +1 -1
  28. package/dist/manifest.d.ts.map +1 -1
  29. package/dist/manifest.js +30 -2
  30. package/dist/manifest.js.map +1 -1
  31. package/dist/service.d.ts.map +1 -1
  32. package/dist/service.js +12 -0
  33. package/dist/service.js.map +1 -1
  34. package/dist/types.d.ts +1 -0
  35. package/dist/types.d.ts.map +1 -1
  36. package/dist/version.d.ts +1 -1
  37. package/dist/version.js +1 -1
  38. package/package.json +19 -10
package/README.md CHANGED
@@ -1,57 +1,34 @@
1
1
  # @mdwrk/extension-theme-studio
2
2
 
3
- First-party Theme Studio extension package for Markdown Workspace.
3
+ **Theme authoring extension**
4
4
 
5
- ## Manifest and compatibility
5
+ <p align="center">
6
+ <a href="https://github.com/groupsum/markdown_workspace/blob/master/packages/extensions/extension-theme-studio/README.md"><img alt="Hits" src="https://visitor-badge.laobi.icu/badge?page_id=groupsum.markdown_workspace.packages_extensions_extension_theme_studio_README&amp;left_text=hits" /></a>
7
+ <a href="https://www.npmjs.com/package/@mdwrk/extension-theme-studio"><img alt="Downloads" src="https://img.shields.io/npm/dm/%40mdwrk%2Fextension-theme-studio?label=downloads" /></a>
8
+ <a href="../../../package.json"><img alt="Node" src="https://img.shields.io/badge/node-20.x%20%7C%2021.x%20%7C%2022.x-339933?logo=node.js&amp;logoColor=white" /></a>
9
+ <a href="../../../LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" /></a>
10
+ </p>
6
11
 
7
- - manifest export: `./manifest`
8
- - bundled entry export: `./bundled`
9
- - compatibility declarations: host API, runtime, app, and theme contract ranges are declared in `src/manifest.ts`
10
- - lifecycle model: bundled first-party extension activated through `@mdwrk/extension-runtime`
12
+ This package provides the first-party theme authoring extension for token inspection, preview, apply/revert flow, and export helpers.
11
13
 
12
- ## Capabilities
14
+ ## Why
15
+ Use it when you want theme editing to live inside the extension system and remain aligned to the shared token contract.
13
16
 
14
- - inspect formal theme tokens and stable class contracts
15
- - edit token drafts without importing client internals
16
- - preview renderer/editor bridge behavior against shared package contracts
17
- - apply or revert theme drafts through host theme APIs
18
- - export theme presets as JSON, CSS, and theme-package scaffold artifacts
19
- - register commands, a pane-first workspace view, an action-rail item, and settings-menu content
17
+ ## What
18
+ - Theme drafting and export helpers.
19
+ - Bundled views, services, and settings for theme authoring.
20
+ - A concrete consumer of the theme contract and shared token packages.
20
21
 
21
- ## Settings schema
22
+ ## Installation
23
+ Node.js 20.x through 22.x, matching the workspace engine contract in the root package manifest.
22
24
 
23
- The package ships a settings schema covering:
25
+ ```bash
26
+ npm install @mdwrk/extension-theme-studio @mdwrk/theme-contract
27
+ ```
24
28
 
25
- - preview behavior
26
- - export defaults
27
- - package scaffold metadata
29
+ ## Usage
30
+ Load it into a host that implements the MdWrk theme APIs and wants a first-party authoring panel.
28
31
 
29
- Source anchors:
30
-
31
- - `src/settings.ts`
32
- - `src/manifest.ts`
33
-
34
- ## i18n readiness
35
-
36
- The package ships package-local locale catalogs and loader definitions:
37
-
38
- - `src/i18n.ts`
39
- - `src/locales/en.ts`
40
- - `src/locales/es.ts`
41
-
42
- All user-facing manifest/view/settings labels are `I18nLabel` descriptors.
43
-
44
- ## Lifecycle and host/runtime integration tests
45
-
46
- - `tests/run-smoke.mjs` exercises manifest structure, settings resolution, class relationships, export generation, theme bridge previews, and service behavior against a mocked host/runtime context
47
-
48
- ## Install / configuration guidance
49
-
50
- This package is intended for first-party bundling into `apps/client`.
51
- Use it when validating the portable theme/token contract, editor/renderer bridge behavior, and generated theme export artifacts.
52
-
53
- ## API/reference docs
54
-
55
- See the generated reference page at:
56
-
57
- - `docs/reference/packages/mdwrk-extension-theme-studio.md`
32
+ ## Related
33
+ - [Packages index](../../README.md) - family and package navigation
34
+ - [Root README](../../../README.md) - repo overview
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeStudioSettingsPanel.d.ts","sourceRoot":"","sources":["../../src/components/ThemeStudioSettingsPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;CAC7D;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAkC5E,CAAC"}
1
+ {"version":3,"file":"ThemeStudioSettingsPanel.d.ts","sourceRoot":"","sources":["../../src/components/ThemeStudioSettingsPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;CAC7D;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAkC5E,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useSyncExternalStore } from "react";
3
+ import { themeStudioLabels } from "../i18n.js";
3
4
  export const ThemeStudioSettingsPanel = ({ service, open, formatLabel, }) => {
4
5
  const snapshot = useSyncExternalStore(service.subscribe, service.getSnapshot, service.getSnapshot);
5
- return (_jsx("div", { className: "settings-pane", children: _jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "grid", gap: 6 }, children: [_jsx("span", { className: "settings-session-label", children: formatLabel("THEME_STUDIO") }), _jsx("strong", { style: { fontSize: 13 }, children: formatLabel("Theme Studio") }), _jsx("p", { style: { margin: 0, fontSize: 11, color: "var(--fg-muted)", lineHeight: 1.4 }, children: formatLabel("Open the pane workspace to inspect token bridges, preview renderer/editor output, and export portable theme artifacts.") })] }), _jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "THEME_ID" }), _jsx("span", { className: "settings-session-value", children: snapshot.metadata.themeId })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "TOKENS" }), _jsx("span", { className: "settings-session-value", children: snapshot.tokenDefinitions.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "RELATIONSHIPS" }), _jsx("span", { className: "settings-session-value", children: snapshot.relationships.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "STATUS" }), _jsx("span", { className: "settings-session-value", children: snapshot.busy ? "BUSY" : "READY" })] })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: "PANE_ONLY" }), _jsx("span", { className: "settings-chip", children: "SPLIT + SINGLE" }), _jsx("span", { className: "settings-chip", children: "EN_FALLBACK" })] }), _jsx("div", { className: "settings-action-row", style: { padding: 6 }, children: _jsx("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void open(), children: "OPEN_STUDIO" }) })] }) }));
6
+ return (_jsx("div", { className: "settings-pane", children: _jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "grid", gap: 6 }, children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsShortcutKicker) }), _jsx("strong", { style: { fontSize: 13 }, children: formatLabel(themeStudioLabels.settingsShortcutTitle) }), _jsx("p", { style: { margin: 0, fontSize: 11, color: "var(--fg-muted)", lineHeight: 1.4 }, children: formatLabel(themeStudioLabels.settingsShortcutDescription) })] }), _jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsThemeId) }), _jsx("span", { className: "settings-session-value", children: snapshot.metadata.themeId })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsTokens) }), _jsx("span", { className: "settings-session-value", children: snapshot.tokenDefinitions.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsRelationships) }), _jsx("span", { className: "settings-session-value", children: snapshot.relationships.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsStatus) }), _jsx("span", { className: "settings-session-value", children: snapshot.busy ? formatLabel(themeStudioLabels.statusBusy) : formatLabel(themeStudioLabels.statusReady) })] })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: formatLabel(themeStudioLabels.settingsChipPaneOnly) }), _jsx("span", { className: "settings-chip", children: formatLabel(themeStudioLabels.settingsChipSplitSingle) }), _jsx("span", { className: "settings-chip", children: formatLabel(themeStudioLabels.settingsChipEnglishFallback) })] }), _jsx("div", { className: "settings-action-row", style: { padding: 6 }, children: _jsx("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void open(), children: formatLabel(themeStudioLabels.settingsOpenStudio) }) })] }) }));
6
7
  };
7
8
  //# sourceMappingURL=ThemeStudioSettingsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeStudioSettingsPanel.js","sourceRoot":"","sources":["../../src/components/ThemeStudioSettingsPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAU7C,MAAM,CAAC,MAAM,wBAAwB,GAA4C,CAAC,EAChF,OAAO,EACP,IAAI,EACJ,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnG,OAAO,CACL,cAAK,SAAS,EAAC,eAAe,YAC5B,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACrC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,cAAc,CAAC,GAAQ,EAC7E,iBAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAG,WAAW,CAAC,cAAc,CAAC,GAAU,EACvE,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE,YAC7E,WAAW,CAAC,wHAAwH,CAAC,GACpI,IACA,EACN,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,yBAAgB,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,GAAQ,IAAM,EAChL,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,uBAAc,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAQ,IAAM,EACrL,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,8BAAqB,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAQ,IAAM,EACzL,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,uBAAc,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAQ,IAAM,IACjL,EACN,eAAK,SAAS,EAAC,mBAAmB,aAChC,eAAM,SAAS,EAAC,eAAe,0BAAiB,EAChD,eAAM,SAAS,EAAC,eAAe,+BAAsB,EACrD,eAAM,SAAS,EAAC,eAAe,4BAAmB,IAC9C,EACN,cAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YACxD,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,4BAAsB,GAC1G,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ThemeStudioSettingsPanel.js","sourceRoot":"","sources":["../../src/components/ThemeStudioSettingsPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAQ/C,MAAM,CAAC,MAAM,wBAAwB,GAA4C,CAAC,EAChF,OAAO,EACP,IAAI,EACJ,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnG,OAAO,CACL,cAAK,SAAS,EAAC,eAAe,YAC5B,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACrC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,GAAQ,EACvG,iBAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAG,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,GAAU,EAChG,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE,YAC7E,WAAW,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,GACzD,IACA,EACN,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,GAAQ,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,GAAQ,IAAM,EAC7N,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAQ,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAQ,IAAM,EACnO,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,GAAQ,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,GAAQ,IAAM,EACvO,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAQ,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAQ,IAAM,IACrS,EACN,eAAK,SAAS,EAAC,mBAAmB,aAChC,eAAM,SAAS,EAAC,eAAe,YAAE,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,GAAQ,EAC5F,eAAM,SAAS,EAAC,eAAe,YAAE,WAAW,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,GAAQ,EAC/F,eAAM,SAAS,EAAC,eAAe,YAAE,WAAW,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,GAAQ,IAC/F,EACN,cAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YACxD,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,YAAG,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAU,GAClJ,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeStudioView.d.ts","sourceRoot":"","sources":["../../src/components/ThemeStudioView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,EAAE,EAAsD,MAAM,OAAO,CAAC;AAGxG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAa3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AAgGD,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,aAAa,CAAC,CAkGxF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAuSpD,CAAC"}
1
+ {"version":3,"file":"ThemeStudioView.d.ts","sourceRoot":"","sources":["../../src/components/ThemeStudioView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,EAAE,EAAsD,MAAM,OAAO,CAAC;AAGxG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAmB3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AA+JD,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,aAAa,CAAC,CA2HxF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA4YpD,CAAC"}
@@ -1,8 +1,8 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useState, useSyncExternalStore } from "react";
3
3
  import { MarkdownSourceEditor, createMarkdownEditorThemeStyleFromThemeTokens } from "@mdwrk/markdown-editor-react";
4
4
  import { MarkdownRenderer, createMarkdownRendererThemeStyleFromThemeTokens } from "@mdwrk/markdown-renderer-react";
5
- import { Download, Eye, Package, RefreshCw, RotateCcw, Save, X, } from "lucide-react";
5
+ import { Download, Eye, Package, Brush, RefreshCw, RotateCcw, Save, Sidebar, SidebarOpen, SplitSquareHorizontal, Square, SwatchBook, X, } from "lucide-react";
6
6
  import { THEME_STUDIO_SAMPLE_MARKDOWN } from "../constants.js";
7
7
  import { themeStudioLabels } from "../i18n.js";
8
8
  import { sanitizePackageName, sanitizeThemeIdentifier } from "../export.js";
@@ -35,10 +35,67 @@ const codeBlockStyle = {
35
35
  resize: "vertical",
36
36
  };
37
37
  const mergeTokens = (current, draft) => ({ ...(current ?? {}), ...draft });
38
+ const CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
39
+ const CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|oklch|oklab|lab|lch|color)\(/i;
40
+ function isColorToken(definition, value) {
41
+ const haystack = `${definition.category ?? ""} ${definition.name} ${definition.description ?? ""}`.toLowerCase();
42
+ return haystack.includes("color") || CSS_HEX_COLOR_PATTERN.test(value.trim()) || CSS_COLOR_FUNCTION_PATTERN.test(value.trim());
43
+ }
44
+ function toColorInputValue(value) {
45
+ const trimmed = value.trim();
46
+ if (/^#[0-9a-f]{6}$/i.test(trimmed))
47
+ return trimmed;
48
+ if (/^#[0-9a-f]{3}$/i.test(trimmed)) {
49
+ return `#${trimmed.slice(1).split("").map((part) => `${part}${part}`).join("")}`;
50
+ }
51
+ if (/^#[0-9a-f]{8}$/i.test(trimmed))
52
+ return trimmed.slice(0, 7);
53
+ return "#000000";
54
+ }
55
+ const getSplitBand = (value) => {
56
+ const clamped = Math.min(80, Math.max(20, value));
57
+ return Math.round(clamped / 5) * 5;
58
+ };
59
+ function useWorkspaceModuleSplit(defaultPosition = 55) {
60
+ const [splitPos, setSplitPos] = useState(defaultPosition);
61
+ const [isDragging, setIsDragging] = useState(false);
62
+ const [splitContainer, setSplitContainer] = useState(null);
63
+ useEffect(() => {
64
+ const handleMouseMove = (event) => {
65
+ if (!isDragging || !splitContainer)
66
+ return;
67
+ const rect = splitContainer.getBoundingClientRect();
68
+ if (rect.width <= 0)
69
+ return;
70
+ const x = event.clientX - rect.left;
71
+ setSplitPos(getSplitBand((x / rect.width) * 100));
72
+ };
73
+ const handleMouseUp = () => setIsDragging(false);
74
+ if (isDragging) {
75
+ window.addEventListener("mousemove", handleMouseMove);
76
+ window.addEventListener("mouseup", handleMouseUp);
77
+ document.body.classList.add("is-resizing-pane");
78
+ }
79
+ else {
80
+ document.body.classList.remove("is-resizing-pane");
81
+ }
82
+ return () => {
83
+ window.removeEventListener("mousemove", handleMouseMove);
84
+ window.removeEventListener("mouseup", handleMouseUp);
85
+ document.body.classList.remove("is-resizing-pane");
86
+ };
87
+ }, [isDragging, splitContainer]);
88
+ return {
89
+ splitBand: getSplitBand(splitPos),
90
+ isDragging,
91
+ splitContainerRef: setSplitContainer,
92
+ startSplitDrag: () => setIsDragging(true),
93
+ };
94
+ }
38
95
  const createThemeBrowserStore = () => {
39
96
  let state = {
40
97
  browserQuery: "",
41
- sidebarSection: "metadata",
98
+ sidebarSection: "tokens",
42
99
  selectedTokenName: null,
43
100
  selectedRelationshipClass: null,
44
101
  };
@@ -69,6 +126,7 @@ function useThemeBrowserState(service) {
69
126
  const state = useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
70
127
  return { state, setState: store.setState };
71
128
  }
129
+ const isTypographyToken = (definition) => definition.category === "typography";
72
130
  function downloadTextFile(filename, content, mimeType = "text/plain;charset=utf-8") {
73
131
  if (typeof window === "undefined")
74
132
  return;
@@ -80,7 +138,7 @@ function downloadTextFile(filename, content, mimeType = "text/plain;charset=utf-
80
138
  anchor.click();
81
139
  URL.revokeObjectURL(url);
82
140
  }
83
- export const ThemeStudioSidebar = ({ service }) => {
141
+ export const ThemeStudioSidebar = ({ service, formatLabel }) => {
84
142
  const snapshot = useSyncExternalStore(service.subscribe, service.getSnapshot, service.getSnapshot);
85
143
  const { state: browserState, setState: setBrowserState } = useThemeBrowserState(service);
86
144
  const deferredBrowserQuery = browserState.browserQuery.trim().toLowerCase();
@@ -90,22 +148,25 @@ export const ThemeStudioSidebar = ({ service }) => {
90
148
  const haystack = `${definition.name} ${definition.category} ${definition.description}`.toLowerCase();
91
149
  return haystack.includes(deferredBrowserQuery);
92
150
  }), [deferredBrowserQuery, snapshot.tokenDefinitions]);
151
+ const browserTypographyTokens = useMemo(() => browserTokens.filter((definition) => isTypographyToken(definition)), [browserTokens]);
152
+ const browserNonTypographyTokens = useMemo(() => browserTokens.filter((definition) => !isTypographyToken(definition)), [browserTokens]);
93
153
  const browserRelationships = useMemo(() => snapshot.relationships.filter((relationship) => {
94
154
  if (!deferredBrowserQuery)
95
155
  return true;
96
156
  const haystack = `${relationship.className} ${relationship.selector} ${relationship.scope} ${relationship.bridgeTarget}`.toLowerCase();
97
157
  return haystack.includes(deferredBrowserQuery);
98
158
  }), [deferredBrowserQuery, snapshot.relationships]);
99
- return (_jsxs("div", { className: "workspace-panel-content", style: { display: "grid", gap: 12, padding: 12 }, children: [_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "THEME_ID" }), _jsx("span", { className: "settings-session-value", children: snapshot.metadata.themeId })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "TOKENS" }), _jsx("span", { className: "settings-session-value", children: snapshot.tokenDefinitions.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "RELATIONSHIPS" }), _jsx("span", { className: "settings-session-value", children: snapshot.relationships.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "STATUS" }), _jsx("span", { className: "settings-session-value", children: snapshot.busy ? "BUSY" : "READY" })] })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: "THEME_BROWSER" }), _jsxs("span", { className: "settings-chip", children: [snapshot.tokenDefinitions.length, " TOKENS"] }), _jsxs("span", { className: "settings-chip", children: [snapshot.relationships.length, " RELATIONSHIPS"] })] })] }), _jsxs("div", { className: "settings-card settings-card-stack", style: { gap: 8 }, children: [_jsx("input", { style: fieldStyle, value: browserState.browserQuery, onChange: (event) => setBrowserState({ browserQuery: event.currentTarget.value }), placeholder: "Filter tokens, selectors, exports", "aria-label": "Filter theme browser" }), [
100
- ["metadata", "Metadata"],
101
- ["tokens", `Tokens (${browserTokens.length})`],
102
- ["relationships", `Relationships (${browserRelationships.length})`],
103
- ["exports", "Exports"],
159
+ return (_jsxs("div", { className: "workspace-panel-content", style: { display: "grid", gap: 12, padding: 12 }, children: [_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsThemeId) }), _jsx("span", { className: "settings-session-value", children: snapshot.metadata.themeId })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsTokens) }), _jsx("span", { className: "settings-session-value", children: snapshot.tokenDefinitions.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsRelationships) }), _jsx("span", { className: "settings-session-value", children: snapshot.relationships.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.settingsStatsStatus) }), _jsx("span", { className: "settings-session-value", children: snapshot.busy ? formatLabel(themeStudioLabels.statusBusy) : formatLabel(themeStudioLabels.statusReady) })] })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: formatLabel(themeStudioLabels.browserChip) }), _jsxs("span", { className: "settings-chip", children: [snapshot.tokenDefinitions.length, " ", formatLabel(themeStudioLabels.settingsStatsTokens)] }), _jsxs("span", { className: "settings-chip", children: [snapshot.relationships.length, " ", formatLabel(themeStudioLabels.settingsStatsRelationships)] })] })] }), _jsxs("div", { className: "settings-card settings-card-stack", style: { gap: 8 }, children: [_jsx("input", { style: fieldStyle, value: browserState.browserQuery, onChange: (event) => setBrowserState({ browserQuery: event.currentTarget.value }), placeholder: formatLabel(themeStudioLabels.browserFilterPlaceholder), "aria-label": formatLabel(themeStudioLabels.browserFilterAria) }), [
160
+ ["metadata", formatLabel(themeStudioLabels.browserSectionMetadata)],
161
+ ["tokens", `${formatLabel(themeStudioLabels.browserSectionTokens)} (${browserNonTypographyTokens.length})`],
162
+ ["typography", `${formatLabel(themeStudioLabels.browserSectionTypography)} (${browserTypographyTokens.length})`],
163
+ ["relationships", `${formatLabel(themeStudioLabels.browserSectionRelationships)} (${browserRelationships.length})`],
164
+ ["exports", formatLabel(themeStudioLabels.browserSectionExports)],
104
165
  ].map(([value, label]) => (_jsx("button", { type: "button", className: `settings-sidebar-btn ${browserState.sidebarSection === value ? "active" : ""}`, onClick: () => setBrowserState({
105
166
  sidebarSection: value,
106
167
  selectedTokenName: value === "tokens" ? browserState.selectedTokenName : null,
107
168
  selectedRelationshipClass: value === "relationships" ? browserState.selectedRelationshipClass : null,
108
- }), children: label }, value))), _jsxs("div", { style: { display: "grid", gap: 6, marginTop: 4 }, children: [_jsx("span", { className: "settings-session-label", children: "TOKEN_BROWSER" }), browserTokens.slice(0, 12).map((definition) => (_jsxs("button", { type: "button", className: `settings-sidebar-btn ${browserState.selectedTokenName === definition.name ? "active" : ""}`, onClick: () => setBrowserState({ sidebarSection: "tokens", selectedTokenName: definition.name, selectedRelationshipClass: null }), style: { justifyContent: "space-between", gap: 10 }, children: [_jsx("span", { style: { textAlign: "left" }, children: definition.name }), _jsx("span", { className: "settings-session-label", children: definition.category })] }, definition.name))), browserTokens.length === 0 && _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: "No tokens match." })] }), _jsxs("div", { style: { display: "grid", gap: 6, marginTop: 4 }, children: [_jsx("span", { className: "settings-session-label", children: "RELATIONSHIP_BROWSER" }), browserRelationships.slice(0, 12).map((relationship) => (_jsxs("button", { type: "button", className: `settings-sidebar-btn ${browserState.selectedRelationshipClass === relationship.className ? "active" : ""}`, onClick: () => setBrowserState({ sidebarSection: "relationships", selectedRelationshipClass: relationship.className, selectedTokenName: null }), style: { justifyContent: "space-between", gap: 10 }, children: [_jsx("span", { style: { textAlign: "left" }, children: relationship.className }), _jsx("span", { className: "settings-session-label", children: relationship.bridgeTarget })] }, relationship.className))), browserRelationships.length === 0 && _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: "No relationships match." })] })] })] }));
169
+ }), children: label }, value))), _jsxs("div", { style: { display: "grid", gap: 6, marginTop: 4 }, children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.browserTokenTitle) }), browserNonTypographyTokens.slice(0, 12).map((definition) => (_jsxs("button", { type: "button", className: `settings-sidebar-btn ${browserState.selectedTokenName === definition.name ? "active" : ""}`, onClick: () => setBrowserState({ sidebarSection: "tokens", selectedTokenName: definition.name, selectedRelationshipClass: null }), style: { justifyContent: "space-between", gap: 10 }, children: [_jsx("span", { style: { textAlign: "left" }, children: definition.name }), _jsx("span", { className: "settings-session-label", children: definition.category })] }, definition.name))), browserNonTypographyTokens.length === 0 && _jsx("span", { className: "settings-muted-caption", children: formatLabel(themeStudioLabels.browserEmptyTokens) })] }), _jsxs("div", { style: { display: "grid", gap: 6, marginTop: 4 }, children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.browserSectionTypography) }), browserTypographyTokens.slice(0, 12).map((definition) => (_jsxs("button", { type: "button", className: `settings-sidebar-btn ${browserState.selectedTokenName === definition.name ? "active" : ""}`, onClick: () => setBrowserState({ sidebarSection: "typography", selectedTokenName: definition.name, selectedRelationshipClass: null }), style: { justifyContent: "space-between", gap: 10 }, children: [_jsx("span", { style: { textAlign: "left" }, children: definition.name }), _jsx("span", { className: "settings-session-label", children: definition.category })] }, definition.name))), browserTypographyTokens.length === 0 && _jsx("span", { className: "settings-muted-caption", children: formatLabel(themeStudioLabels.browserEmptyTokens) })] }), _jsxs("div", { style: { display: "grid", gap: 6, marginTop: 4 }, children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.browserRelationshipTitle) }), browserRelationships.slice(0, 12).map((relationship) => (_jsxs("button", { type: "button", className: `settings-sidebar-btn ${browserState.selectedRelationshipClass === relationship.className ? "active" : ""}`, onClick: () => setBrowserState({ sidebarSection: "relationships", selectedRelationshipClass: relationship.className, selectedTokenName: null }), style: { justifyContent: "space-between", gap: 10 }, children: [_jsx("span", { style: { textAlign: "left" }, children: relationship.className }), _jsx("span", { className: "settings-session-label", children: relationship.bridgeTarget })] }, relationship.className))), browserRelationships.length === 0 && _jsx("span", { className: "settings-muted-caption", children: formatLabel(themeStudioLabels.browserEmptyRelationships) })] })] })] }));
109
170
  };
110
171
  export const ThemeStudioView = ({ service, close, formatLabel, shellSidebarOpen, onShellSidebarToggle, embedBrowserInShellSidebar = false, }) => {
111
172
  const snapshot = useSyncExternalStore(service.subscribe, service.getSnapshot, service.getSnapshot);
@@ -113,6 +174,7 @@ export const ThemeStudioView = ({ service, close, formatLabel, shellSidebarOpen,
113
174
  const [sidebarOpen, setSidebarOpen] = useState(true);
114
175
  const [layoutMode, setLayoutMode] = useState("split");
115
176
  const [importInput, setImportInput] = useState(null);
177
+ const { splitBand, isDragging, splitContainerRef, startSplitDrag } = useWorkspaceModuleSplit();
116
178
  const { state: browserState, setState: setBrowserState } = useThemeBrowserState(service);
117
179
  const effectiveSidebarOpen = embedBrowserInShellSidebar ? (shellSidebarOpen ?? true) : sidebarOpen;
118
180
  const deferredBrowserQuery = browserState.browserQuery.trim().toLowerCase();
@@ -125,6 +187,8 @@ export const ThemeStudioView = ({ service, close, formatLabel, shellSidebarOpen,
125
187
  const haystack = `${definition.name} ${definition.category} ${definition.description}`.toLowerCase();
126
188
  return haystack.includes(deferredBrowserQuery);
127
189
  }), [deferredBrowserQuery, snapshot.tokenDefinitions]);
190
+ const browserTypographyTokens = useMemo(() => browserTokens.filter((definition) => isTypographyToken(definition)), [browserTokens]);
191
+ const browserNonTypographyTokens = useMemo(() => browserTokens.filter((definition) => !isTypographyToken(definition)), [browserTokens]);
128
192
  const browserRelationships = useMemo(() => snapshot.relationships.filter((relationship) => {
129
193
  if (!deferredBrowserQuery)
130
194
  return true;
@@ -132,11 +196,14 @@ export const ThemeStudioView = ({ service, close, formatLabel, shellSidebarOpen,
132
196
  return haystack.includes(deferredBrowserQuery);
133
197
  }), [deferredBrowserQuery, snapshot.relationships]);
134
198
  const visibleTokenDefinitions = useMemo(() => {
199
+ const sourceTokens = browserState.sidebarSection === "typography"
200
+ ? browserTypographyTokens
201
+ : browserNonTypographyTokens;
135
202
  if (browserState.selectedTokenName) {
136
- return browserTokens.filter((definition) => definition.name === browserState.selectedTokenName);
203
+ return sourceTokens.filter((definition) => definition.name === browserState.selectedTokenName);
137
204
  }
138
- return browserTokens;
139
- }, [browserState.selectedTokenName, browserTokens]);
205
+ return sourceTokens;
206
+ }, [browserState.selectedTokenName, browserState.sidebarSection, browserNonTypographyTokens, browserTypographyTokens]);
140
207
  const visibleRelationships = useMemo(() => {
141
208
  if (browserState.selectedRelationshipClass) {
142
209
  return browserRelationships.filter((relationship) => relationship.className === browserState.selectedRelationshipClass);
@@ -170,9 +237,33 @@ export const ThemeStudioView = ({ service, close, formatLabel, shellSidebarOpen,
170
237
  void service.updateMetadata({ [key]: normalizedValue });
171
238
  };
172
239
  const exports = snapshot.lastExports;
173
- const inspectorPane = (_jsxs("div", { style: { display: "grid", gap: 16 }, children: [(browserState.sidebarSection === "metadata" || layoutMode === "split") && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 8 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, flexWrap: "wrap" }, children: [_jsx("span", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.metadataTitle) }), _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: snapshot.busy ? formatLabel(themeStudioLabels.statusBusy) : snapshot.infoMessage ?? formatLabel(themeStudioLabels.statusReady) })] }), snapshot.lastError && _jsx("p", { style: { margin: 0, color: "var(--accent-red, #ef4444)", fontSize: 12 }, children: snapshot.lastError }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: formatLabel(themeStudioLabels.metadataThemeName) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.themeName, onChange: (event) => handleMetadataChange("themeName", event.currentTarget.value) })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: formatLabel(themeStudioLabels.metadataThemeId) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.themeId, onChange: (event) => handleMetadataChange("themeId", event.currentTarget.value) })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: formatLabel(themeStudioLabels.metadataPackageName) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.packageName, onChange: (event) => handleMetadataChange("packageName", event.currentTarget.value) })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: formatLabel(themeStudioLabels.metadataAuthor) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.author, onChange: (event) => handleMetadataChange("author", event.currentTarget.value) })] })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: formatLabel(themeStudioLabels.metadataDescription) }), _jsx("textarea", { style: { ...fieldStyle, minHeight: 72, resize: "vertical" }, value: snapshot.metadata.description, onChange: (event) => handleMetadataChange("description", event.currentTarget.value) })] })] })), (browserState.sidebarSection === "tokens" || layoutMode === "split") && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 12 }, children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.tokenInspectorTitle) }), _jsx("p", { style: { margin: "6px 0 0", fontSize: 12, color: "var(--fg-secondary)", lineHeight: 1.5 }, children: formatLabel(themeStudioLabels.tokenInspectorDescription) })] }), _jsx("div", { style: { display: "grid", gap: 10, maxHeight: 420, overflow: "auto", paddingRight: 6 }, children: visibleTokenDefinitions.map((definition) => (_jsxs("div", { className: "settings-session-item", style: { display: "grid", gap: 8 }, children: [_jsxs("div", { style: { display: "grid", gridTemplateColumns: "1fr auto", gap: 8, alignItems: "baseline" }, children: [_jsx("strong", { style: { fontSize: 12 }, children: definition.name }), _jsx("span", { className: "settings-session-label", children: definition.category })] }), _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: definition.description }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.labelDefault) }), _jsx("span", { className: "settings-session-value", children: definition.defaultValue })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.labelCurrent) }), _jsx("span", { className: "settings-session-value", children: snapshot.currentTokens?.[definition.name] ?? definition.defaultValue })] })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: formatLabel(themeStudioLabels.labelDraft) }), _jsx("input", { style: fieldStyle, value: snapshot.draftTokens[definition.name] ?? snapshot.currentTokens?.[definition.name] ?? definition.defaultValue, onChange: (event) => {
174
- void service.setDraftToken(definition.name, event.currentTarget.value);
175
- } })] })] }, definition.name))) })] })), (browserState.sidebarSection === "relationships" || layoutMode === "split") && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 12 }, children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.classInspectorTitle) }), _jsx("p", { style: { margin: "6px 0 0", fontSize: 12, color: "var(--fg-secondary)", lineHeight: 1.5 }, children: formatLabel(themeStudioLabels.classInspectorDescription) })] }), _jsxs("div", { style: { display: "grid", gap: 10, maxHeight: 320, overflow: "auto", paddingRight: 6 }, children: [visibleRelationships.length === 0 && _jsx("span", { className: "text-[12px] text-[var(--fg-muted)]", children: formatLabel(themeStudioLabels.labelNoRelationships) }), visibleRelationships.map((relationship) => (_jsxs("div", { className: "settings-session-item", style: { display: "grid", gap: 6 }, children: [_jsxs("div", { style: { display: "grid", gridTemplateColumns: "1fr auto", gap: 8, alignItems: "baseline" }, children: [_jsx("strong", { style: { fontSize: 12 }, children: relationship.className }), _jsx("span", { className: "settings-session-label", children: relationship.bridgeTarget })] }), _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: relationship.selector }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.labelScope) }), _jsx("span", { className: "settings-session-value", children: relationship.scope })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.labelBridgeTarget) }), _jsx("span", { className: "settings-session-value", children: relationship.bridgeTarget })] })] })] }, relationship.className)))] })] })), (browserState.sidebarSection === "exports" || layoutMode === "split") && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 12 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, alignItems: "center", flexWrap: "wrap" }, children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.exportTitle) }), _jsx("p", { style: { margin: "6px 0 0", fontSize: 12, color: "var(--fg-secondary)", lineHeight: 1.5 }, children: formatLabel(themeStudioLabels.exportDescription) })] }), _jsxs("div", { style: { display: "flex", gap: 8, alignItems: "center", flexWrap: "wrap" }, children: [_jsxs("select", { style: fieldStyle, value: exportTarget, onChange: (event) => setExportTarget(event.currentTarget.value), children: [_jsx("option", { value: "host", children: "Host CSS" }), _jsx("option", { value: "renderer", children: "Renderer CSS" }), _jsx("option", { value: "editor", children: "Editor CSS" })] }), _jsxs("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void runExport(), disabled: snapshot.busy, children: [_jsx(Package, { size: 14 }), " ", formatLabel(themeStudioLabels.actionExport)] })] })] }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("div", { style: { display: "grid", gap: 8 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsx("span", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.labelJsonExport) }), exports && _jsxs("button", { type: "button", className: "modal-btn", onClick: () => downloadTextFile(`${snapshot.metadata.themeId}.json`, exports.json, "application/json"), children: [_jsx(Download, { size: 14 }), " ", formatLabel(themeStudioLabels.actionDownloadJson)] })] }), _jsx("textarea", { readOnly: true, style: codeBlockStyle, value: exports?.json ?? "" })] }), _jsxs("div", { style: { display: "grid", gap: 8 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsx("span", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.labelCssExport) }), exports && _jsxs("button", { type: "button", className: "modal-btn", onClick: () => downloadTextFile(`${snapshot.metadata.themeId}.css`, exportTarget === "host" ? exports.hostCss : exportTarget === "renderer" ? exports.rendererCss : exports.editorCss, "text/css"), children: [_jsx(Download, { size: 14 }), " ", formatLabel(themeStudioLabels.actionDownloadCss)] })] }), _jsx("textarea", { readOnly: true, style: codeBlockStyle, value: exports ? (exportTarget === "host" ? exports.hostCss : exportTarget === "renderer" ? exports.rendererCss : exports.editorCss) : "" })] })] })] }))] }));
176
- return (_jsxs("div", { className: "theme-studio-pane editor-pane-container", "data-testid": "theme-studio-pane", role: "region", "aria-label": formatLabel(themeStudioLabels.viewTitle), children: [_jsxs("div", { className: "view-toolbar", "aria-label": "Theme Studio toolbar", children: [_jsxs("div", { className: "view-toolbar-group", children: [_jsx("button", { type: "button", className: `view-toolbar-btn ${effectiveSidebarOpen ? "active" : ""}`, title: "Toggle sidebar", onClick: () => embedBrowserInShellSidebar ? onShellSidebarToggle?.(!effectiveSidebarOpen) : setSidebarOpen((current) => !current), children: "SB" }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "single" ? "active" : ""}`, title: "Single pane", onClick: () => setLayoutMode("single"), children: "1P" }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "split" ? "active" : ""}`, title: "Split screen", onClick: () => setLayoutMode("split"), children: "2P" })] }), _jsxs("div", { className: "view-toolbar-group", children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Refresh theme data", onClick: () => void service.refresh(), disabled: snapshot.busy, children: _jsx(RefreshCw, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Import theme package", onClick: () => importInput?.click(), disabled: snapshot.busy, children: _jsx(Package, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Preview draft theme", onClick: () => void service.preview(), disabled: snapshot.busy, children: _jsx(Eye, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Apply draft theme", onClick: () => void service.apply(), disabled: snapshot.busy, children: _jsx(Save, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Revert draft theme", onClick: () => void service.revert(), disabled: snapshot.busy, children: _jsx(RotateCcw, { size: 14 }) })] }), _jsxs("div", { className: "view-toolbar-group", style: { justifyContent: "flex-end" }, children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Close studio", onClick: () => void close(), children: _jsx(X, { size: 14 }) })] })] }), _jsxs("div", { className: "editor-pane-shell", children: [_jsx("input", { ref: setImportInput, type: "file", accept: "application/json,.json", hidden: true, onChange: (event) => { void importPackage(event); } }), _jsxs("div", { className: "editor-pane-body is-split", children: [!embedBrowserInShellSidebar && sidebarOpen && (_jsx("aside", { className: `workspace-sidebar editor-pane-column ${sidebarOpen ? "" : "is-collapsed"}`, style: { width: "min(300px, 26vw)", padding: 12, gap: 12 }, children: _jsx(ThemeStudioSidebar, { service: service, formatLabel: formatLabel }) })), _jsxs("div", { className: "editor-pane-column", style: { flex: 1, padding: 16, gap: 16 }, children: [_jsx("div", { className: "settings-card settings-card-stack", style: { gap: 10 }, children: _jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, alignItems: "center", flexWrap: "wrap" }, children: [_jsxs("div", { style: { display: "grid", gap: 4 }, children: [_jsx("span", { className: "settings-session-label", children: "THEME_STUDIO" }), _jsx("strong", { style: { fontSize: 14 }, children: formatLabel(themeStudioLabels.headerTitle) }), _jsx("span", { style: { fontSize: 11, color: "var(--fg-muted)" }, children: formatLabel(themeStudioLabels.headerSubtitle) })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: "SPLIT + SINGLE" }), _jsx("span", { className: "settings-chip", children: "SETTINGS_CONTENT" }), _jsx("span", { className: "settings-chip", children: "EN_FALLBACK" })] })] }) }), _jsxs("div", { style: { display: "grid", gap: 16, gridTemplateColumns: layoutMode === "split" ? "minmax(420px, 1.05fr) minmax(360px, 0.95fr)" : "minmax(0, 1fr)" }, children: [_jsx("div", { style: { display: "grid", gap: 16 }, children: inspectorPane }), layoutMode === "split" && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 12 }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx("span", { className: "settings-session-label", children: "PREVIEW" }), _jsx("strong", { style: { fontSize: 12, textTransform: "uppercase", letterSpacing: "0.08em" }, children: formatLabel(themeStudioLabels.previewTitle) })] }), _jsxs("div", { style: { display: "grid", gap: 12 }, children: [_jsx("div", { style: { border: "1px solid var(--border-primary)", borderRadius: 8, padding: 12 }, children: _jsx(MarkdownRenderer, { markdown: THEME_STUDIO_SAMPLE_MARKDOWN, themeStyle: rendererThemeStyle }) }), _jsx("div", { style: { border: "1px solid var(--border-primary)", borderRadius: 8, overflow: "hidden" }, children: _jsx(MarkdownSourceEditor, { value: THEME_STUDIO_SAMPLE_MARKDOWN, disabled: true, showLineNumbers: true, themeStyle: editorThemeStyle }) })] })] }))] }), layoutMode === "single" && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 12 }, children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.previewTitle) }), _jsx("p", { style: { margin: "6px 0 0", fontSize: 12, color: "var(--fg-secondary)", lineHeight: 1.5 }, children: formatLabel(themeStudioLabels.previewDescription) })] }), _jsxs("div", { style: { display: "grid", gap: 12 }, children: [_jsx("div", { style: { border: "1px solid var(--border-primary)", borderRadius: 8, padding: 12 }, children: _jsx(MarkdownRenderer, { markdown: THEME_STUDIO_SAMPLE_MARKDOWN, themeStyle: rendererThemeStyle }) }), _jsx("div", { style: { border: "1px solid var(--border-primary)", borderRadius: 8, overflow: "hidden" }, children: _jsx(MarkdownSourceEditor, { value: THEME_STUDIO_SAMPLE_MARKDOWN, disabled: true, showLineNumbers: true, themeStyle: editorThemeStyle }) })] })] }))] })] })] })] }));
240
+ const inspectorPane = (_jsxs("div", { style: { display: "grid", gap: 16 }, children: [browserState.sidebarSection === "metadata" && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 8 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, flexWrap: "wrap" }, children: [_jsx("span", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.metadataTitle) }), _jsx("span", { className: "settings-muted-caption", children: snapshot.busy ? formatLabel(themeStudioLabels.statusBusy) : snapshot.infoMessage ?? formatLabel(themeStudioLabels.statusReady) })] }), snapshot.lastError && _jsx("p", { style: { margin: 0, color: "var(--accent-red, #ef4444)", fontSize: 12 }, children: snapshot.lastError }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(themeStudioLabels.metadataThemeName) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.themeName, onChange: (event) => handleMetadataChange("themeName", event.currentTarget.value) })] }), _jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(themeStudioLabels.metadataThemeId) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.themeId, onChange: (event) => handleMetadataChange("themeId", event.currentTarget.value) })] }), _jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(themeStudioLabels.metadataPackageName) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.packageName, onChange: (event) => handleMetadataChange("packageName", event.currentTarget.value) })] }), _jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(themeStudioLabels.metadataAuthor) }), _jsx("input", { style: fieldStyle, value: snapshot.metadata.author, onChange: (event) => handleMetadataChange("author", event.currentTarget.value) })] })] }), _jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(themeStudioLabels.metadataDescription) }), _jsx("textarea", { style: { ...fieldStyle, minHeight: 72, resize: "vertical" }, value: snapshot.metadata.description, onChange: (event) => handleMetadataChange("description", event.currentTarget.value) })] })] })), (browserState.sidebarSection === "tokens" || browserState.sidebarSection === "typography") && (_jsxs("div", { className: "theme-token-editor", children: [_jsxs("div", { className: "theme-token-editor__header", children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: browserState.sidebarSection === "typography"
241
+ ? formatLabel(themeStudioLabels.browserSectionTypography)
242
+ : formatLabel(themeStudioLabels.tokenInspectorTitle) }), _jsx("p", { className: "theme-token-editor__hint", children: formatLabel(themeStudioLabels.tokenCompactHint) })] }), _jsxs("span", { className: "settings-chip", children: [visibleTokenDefinitions.length, " ", formatLabel(themeStudioLabels.settingsStatsTokens)] })] }), _jsxs("div", { className: "theme-token-editor__list", children: [visibleTokenDefinitions.map((definition) => {
243
+ const currentValue = snapshot.currentTokens?.[definition.name] ?? definition.defaultValue;
244
+ const draftValue = snapshot.draftTokens[definition.name];
245
+ const effectiveValue = draftValue ?? currentValue;
246
+ const colorToken = isColorToken(definition, effectiveValue);
247
+ const swatchBackground = colorToken ? effectiveValue : "linear-gradient(135deg, var(--bg-muted), var(--border-primary))";
248
+ return (_jsxs("div", { className: `theme-token-row ${draftValue === undefined ? "" : "is-dirty"}`, children: [_jsxs("button", { type: "button", className: "theme-token-row__swatch", style: { background: swatchBackground }, title: `${formatLabel(themeStudioLabels.labelColorPicker)} ${definition.name}`, disabled: !colorToken, onClick: (event) => {
249
+ event.currentTarget.querySelector("input")?.click();
250
+ }, children: [_jsx(Brush, { size: 12 }), _jsx("input", { type: "color", value: toColorInputValue(effectiveValue), disabled: !colorToken, tabIndex: -1, "aria-label": `${formatLabel(themeStudioLabels.labelColorPicker)} ${definition.name}`, onChange: (event) => {
251
+ void service.setDraftToken(definition.name, event.currentTarget.value);
252
+ } })] }), _jsxs("div", { className: "theme-token-row__main", children: [_jsxs("div", { className: "theme-token-row__title", children: [_jsx("strong", { children: definition.name }), _jsx("span", { className: "settings-chip", children: definition.category })] }), _jsx("span", { className: "theme-token-row__description", children: definition.description }), _jsx("input", { className: "theme-token-row__input", value: effectiveValue, "aria-label": `${formatLabel(themeStudioLabels.labelTokenValue)} ${definition.name}`, title: `${formatLabel(themeStudioLabels.labelCurrent)}: ${currentValue}`, onChange: (event) => {
253
+ void service.setDraftToken(definition.name, event.currentTarget.value);
254
+ } })] }), _jsxs("div", { className: "theme-token-row__actions", children: [_jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.actionUseDefault), onClick: () => { void service.setDraftToken(definition.name, definition.defaultValue); }, children: _jsx(SwatchBook, { size: 13 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.actionCopyCurrent), onClick: () => { void service.setDraftToken(definition.name, currentValue); }, children: _jsx(RefreshCw, { size: 13 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.actionClearDraft), onClick: () => { void service.clearDraftToken(definition.name); }, disabled: draftValue === undefined, children: _jsx(X, { size: 13 }) })] })] }, definition.name));
255
+ }), visibleTokenDefinitions.length === 0 && _jsx("span", { className: "settings-muted-copy", children: formatLabel(themeStudioLabels.browserEmptyTokens) })] })] })), browserState.sidebarSection === "relationships" && (_jsxs("div", { className: "theme-class-editor", children: [_jsxs("div", { className: "theme-token-editor__header", children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.classInspectorTitle) }), _jsx("p", { className: "theme-token-editor__hint", children: formatLabel(themeStudioLabels.classStyleEditorDescription) })] }), _jsx("span", { className: "settings-chip", children: visibleRelationships.length })] }), _jsxs("div", { className: "theme-class-editor__list", children: [visibleRelationships.length === 0 && _jsx("span", { className: "settings-muted-copy", children: formatLabel(themeStudioLabels.labelNoRelationships) }), visibleRelationships.map((relationship) => {
256
+ const sourceTokens = relationship.sourceTokens ?? [];
257
+ return (_jsxs("div", { className: "theme-class-card", children: [_jsxs("div", { className: "theme-class-card__header", children: [_jsxs("div", { children: [_jsx("strong", { children: relationship.className }), _jsx("span", { children: relationship.selector })] }), _jsx("span", { className: "settings-chip", children: relationship.bridgeTarget })] }), _jsxs("div", { className: "theme-class-card__meta", children: [_jsxs("span", { children: [formatLabel(themeStudioLabels.labelScope), ": ", relationship.scope] }), _jsxs("span", { children: [formatLabel(themeStudioLabels.labelBridgeTarget), ": ", relationship.bridgeTarget] })] }), _jsxs("div", { className: "theme-class-card__tokens", "aria-label": `${formatLabel(themeStudioLabels.classStyleEditorTitle)} ${relationship.className}`, children: [sourceTokens.length === 0 && _jsx("span", { className: "settings-muted-caption", children: formatLabel(themeStudioLabels.classStyleNoTokens) }), sourceTokens.slice(0, 10).map((tokenName) => {
258
+ const definition = snapshot.tokenDefinitions.find((token) => token.name === tokenName);
259
+ const currentValue = snapshot.currentTokens?.[tokenName] ?? definition?.defaultValue ?? "";
260
+ const draftValue = snapshot.draftTokens[tokenName];
261
+ const effectiveValue = draftValue ?? currentValue;
262
+ const colorToken = isColorToken({ name: tokenName, category: definition?.category, description: definition?.description }, effectiveValue);
263
+ return (_jsxs("div", { className: "theme-class-token-control", children: [_jsxs("button", { type: "button", className: "theme-class-token-control__swatch", style: { background: colorToken ? effectiveValue : "var(--bg-muted)" }, disabled: !colorToken, title: `${formatLabel(themeStudioLabels.labelColorPicker)} ${relationship.className} ${tokenName}`, onClick: (event) => event.currentTarget.querySelector("input")?.click(), children: [_jsx(Brush, { size: 11 }), _jsx("input", { type: "color", value: toColorInputValue(effectiveValue), disabled: !colorToken, tabIndex: -1, "aria-label": `${formatLabel(themeStudioLabels.labelColorPicker)} ${relationship.className} ${tokenName}`, onChange: (event) => { void service.setDraftToken(tokenName, event.currentTarget.value); } })] }), _jsxs("label", { children: [_jsx("span", { children: tokenName }), _jsx("input", { value: effectiveValue, "aria-label": `${formatLabel(themeStudioLabels.actionEditClassToken)} ${relationship.className} ${tokenName}`, onChange: (event) => { void service.setDraftToken(tokenName, event.currentTarget.value); } })] })] }, tokenName));
264
+ })] })] }, relationship.className));
265
+ })] })] })), browserState.sidebarSection === "exports" && (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 12 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, alignItems: "center", flexWrap: "wrap" }, children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.exportTitle) }), _jsx("p", { style: { margin: "6px 0 0", fontSize: 12, color: "var(--fg-secondary)", lineHeight: 1.5 }, children: formatLabel(themeStudioLabels.exportDescription) })] }), _jsxs("div", { style: { display: "flex", gap: 8, alignItems: "center", flexWrap: "wrap" }, children: [_jsxs("select", { style: fieldStyle, value: exportTarget, onChange: (event) => setExportTarget(event.currentTarget.value), children: [_jsx("option", { value: "host", children: formatLabel(themeStudioLabels.exportTargetHostCss) }), _jsx("option", { value: "renderer", children: formatLabel(themeStudioLabels.exportTargetRendererCss) }), _jsx("option", { value: "editor", children: formatLabel(themeStudioLabels.exportTargetEditorCss) })] }), _jsxs("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void runExport(), disabled: snapshot.busy, children: [_jsx(Package, { size: 14 }), " ", formatLabel(themeStudioLabels.actionExport)] })] })] }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("div", { style: { display: "grid", gap: 8 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsx("span", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.labelJsonExport) }), exports && _jsxs("button", { type: "button", className: "modal-btn", onClick: () => downloadTextFile(`${snapshot.metadata.themeId}.json`, exports.json, "application/json"), children: [_jsx(Download, { size: 14 }), " ", formatLabel(themeStudioLabels.actionDownloadJson)] })] }), _jsx("textarea", { readOnly: true, style: codeBlockStyle, value: exports?.json ?? "" })] }), _jsxs("div", { style: { display: "grid", gap: 8 }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [_jsx("span", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.labelCssExport) }), exports && _jsxs("button", { type: "button", className: "modal-btn", onClick: () => downloadTextFile(`${snapshot.metadata.themeId}.css`, exportTarget === "host" ? exports.hostCss : exportTarget === "renderer" ? exports.rendererCss : exports.editorCss, "text/css"), children: [_jsx(Download, { size: 14 }), " ", formatLabel(themeStudioLabels.actionDownloadCss)] })] }), _jsx("textarea", { readOnly: true, style: codeBlockStyle, value: exports ? (exportTarget === "host" ? exports.hostCss : exportTarget === "renderer" ? exports.rendererCss : exports.editorCss) : "" })] })] })] }))] }));
266
+ const previewPane = (_jsxs("div", { className: "settings-card settings-card-stack", style: { display: "grid", gap: 12 }, children: [_jsxs("div", { children: [_jsx("div", { style: sectionTitleStyle, children: formatLabel(themeStudioLabels.previewTitle) }), _jsx("p", { style: { margin: "6px 0 0", fontSize: 12, color: "var(--fg-secondary)", lineHeight: 1.5 }, children: formatLabel(themeStudioLabels.previewDescription) })] }), _jsxs("div", { style: { display: "grid", gap: 12 }, children: [_jsx("div", { style: { border: "1px solid var(--border-primary)", borderRadius: 8, padding: 12 }, children: _jsx(MarkdownRenderer, { markdown: THEME_STUDIO_SAMPLE_MARKDOWN, themeStyle: rendererThemeStyle }) }), _jsx("div", { style: { border: "1px solid var(--border-primary)", borderRadius: 8, overflow: "hidden" }, children: _jsx(MarkdownSourceEditor, { value: THEME_STUDIO_SAMPLE_MARKDOWN, disabled: true, showLineNumbers: true, themeStyle: editorThemeStyle }) })] })] }));
267
+ return (_jsxs("div", { className: "theme-studio-pane editor-pane-container", "data-testid": "theme-studio-pane", role: "region", "aria-label": formatLabel(themeStudioLabels.viewTitle), children: [isDragging && _jsx("div", { className: "editor-splitter-drag-shield" }), _jsxs("div", { className: "view-toolbar", "aria-label": formatLabel(themeStudioLabels.toolbarLabel), children: [_jsxs("div", { className: "view-toolbar-group", children: [_jsx("button", { type: "button", className: `view-toolbar-btn ${effectiveSidebarOpen ? "active" : ""}`, title: formatLabel(themeStudioLabels.toolbarToggleSidebar), onClick: () => embedBrowserInShellSidebar ? onShellSidebarToggle?.(!effectiveSidebarOpen) : setSidebarOpen((current) => !current), children: effectiveSidebarOpen ? _jsx(SidebarOpen, { size: 14 }) : _jsx(Sidebar, { size: 14 }) }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "single" ? "active" : ""}`, title: formatLabel(themeStudioLabels.toolbarSinglePane), onClick: () => setLayoutMode("single"), children: _jsx(Square, { size: 14 }) }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "split" ? "active" : ""}`, title: formatLabel(themeStudioLabels.toolbarSplitScreen), onClick: () => setLayoutMode("split"), children: _jsx(SplitSquareHorizontal, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.toolbarPreview), onClick: () => void service.preview(), disabled: snapshot.busy, children: _jsx(Eye, { size: 14 }) })] }), _jsxs("div", { className: "view-toolbar-group", children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.toolbarRefresh), onClick: () => void service.refresh(), disabled: snapshot.busy, children: _jsx(RefreshCw, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.toolbarImport), onClick: () => importInput?.click(), disabled: snapshot.busy, children: _jsx(Package, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.toolbarApply), onClick: () => void service.apply(), disabled: snapshot.busy, children: _jsx(Save, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.toolbarRevert), onClick: () => void service.revert(), disabled: snapshot.busy, children: _jsx(RotateCcw, { size: 14 }) })] }), _jsxs("div", { className: "view-toolbar-group", style: { justifyContent: "flex-end" }, children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(themeStudioLabels.toolbarClose), onClick: () => void close(), children: _jsx(X, { size: 14 }) })] })] }), _jsxs("div", { className: "editor-pane-shell", children: [_jsx("input", { ref: setImportInput, type: "file", accept: "application/json,.json", hidden: true, onChange: (event) => { void importPackage(event); } }), _jsxs("div", { className: "editor-pane-body is-split", children: [!embedBrowserInShellSidebar && sidebarOpen && (_jsx("aside", { className: `pane-sidebar editor-pane-column ${sidebarOpen ? "" : "is-collapsed"}`, style: { width: "min(300px, 26vw)", padding: 12, gap: 12 }, children: _jsx(ThemeStudioSidebar, { service: service, formatLabel: formatLabel }) })), _jsxs("div", { className: "editor-pane-column", style: { flex: 1, padding: 16, gap: 16 }, children: [_jsx("div", { className: "theme-studio-header", children: _jsxs("div", { className: "theme-studio-header-main", children: [_jsxs("div", { className: "theme-studio-header-copy", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(themeStudioLabels.panelKicker) }), _jsx("strong", { className: "theme-studio-header-title", children: formatLabel(themeStudioLabels.headerTitle) }), _jsx("span", { className: "settings-muted-caption", children: formatLabel(themeStudioLabels.headerSubtitle) })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: formatLabel(themeStudioLabels.settingsChipSplitSingle) }), _jsx("span", { className: "settings-chip", children: formatLabel(themeStudioLabels.settingsChipSettingsContent) }), _jsx("span", { className: "settings-chip", children: formatLabel(themeStudioLabels.settingsChipEnglishFallback) })] })] }) }), layoutMode === "split" ? (_jsxs("div", { ref: splitContainerRef, className: "editor-pane-body is-split", style: { background: "transparent" }, children: [_jsx("div", { className: `editor-pane-column editor-pane-column--split-left-${splitBand}`, style: { display: "grid", gap: 16, paddingRight: 12 }, children: inspectorPane }), _jsx("div", { onMouseDown: startSplitDrag, className: `editor-splitter ${isDragging ? "dragging" : ""}`, role: "separator", "aria-orientation": "vertical", "aria-label": formatLabel(themeStudioLabels.toolbarResizePanes), children: _jsx("div", { className: "editor-splitter-handle" }) }), _jsx("div", { className: `editor-pane-column editor-pane-column--split-right-${100 - splitBand}`, style: { display: "grid", gap: 16, paddingLeft: 12 }, children: previewPane })] })) : (_jsxs(_Fragment, { children: [_jsx("div", { style: { display: "grid", gap: 16 }, children: inspectorPane }), previewPane] }))] })] })] })] }));
177
268
  };
178
269
  //# sourceMappingURL=ThemeStudioView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeStudioView.js","sourceRoot":"","sources":["../../src/components/ThemeStudioView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThemeStudioView.js","sourceRoot":"","sources":["../../src/components/ThemeStudioView.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { ThemeStudioResolvedSettings } from "./types.js";
2
2
  export declare const THEME_STUDIO_EXTENSION_ID: "core.theme-studio";
3
3
  export declare const THEME_STUDIO_VIEW_ID: "core.theme-studio.view";
4
+ export declare const THEME_STUDIO_EXPLORER_VIEW_ID: "core.theme-studio.explorer";
5
+ export declare const THEME_STUDIO_MODULE_ID: "core.theme-studio.module";
4
6
  export declare const THEME_STUDIO_RAIL_ID: "core.theme-studio.rail";
5
7
  export declare const THEME_STUDIO_COMMAND_OPEN_ID: "core.theme-studio.open";
6
8
  export declare const THEME_STUDIO_SERVICE_TOKEN: "core.theme-studio.service";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,eAAO,MAAM,yBAAyB,EAAG,mBAA4B,CAAC;AACtE,eAAO,MAAM,oBAAoB,0BAA+C,CAAC;AACjF,eAAO,MAAM,oBAAoB,0BAA+C,CAAC;AACjF,eAAO,MAAM,4BAA4B,0BAA+C,CAAC;AACzF,eAAO,MAAM,0BAA0B,6BAAkD,CAAC;AAE1F,eAAO,MAAM,qCAAqC,sCAA2D,CAAC;AAC9G,eAAO,MAAM,oCAAoC,qCAA0D,CAAC;AAE5G,eAAO,MAAM,iCAAiC,EAAG,mBAA4B,CAAC;AAC9E,eAAO,MAAM,0CAA0C,EAAG,qBAA8B,CAAC;AACzF,eAAO,MAAM,gCAAgC,EAAG,YAAqB,CAAC;AACtE,eAAO,MAAM,wCAAwC,EAAG,mBAA4B,CAAC;AACrF,eAAO,MAAM,mCAAmC,EAAG,eAAwB,CAAC;AAE5E,eAAO,MAAM,6BAA6B,EAAE,2BAM3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,yOAQgB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,eAAO,MAAM,yBAAyB,EAAG,mBAA4B,CAAC;AACtE,eAAO,MAAM,oBAAoB,0BAA+C,CAAC;AACjF,eAAO,MAAM,6BAA6B,8BAAmD,CAAC;AAC9F,eAAO,MAAM,sBAAsB,4BAAiD,CAAC;AACrF,eAAO,MAAM,oBAAoB,0BAA+C,CAAC;AACjF,eAAO,MAAM,4BAA4B,0BAA+C,CAAC;AACzF,eAAO,MAAM,0BAA0B,6BAAkD,CAAC;AAE1F,eAAO,MAAM,qCAAqC,sCAA2D,CAAC;AAC9G,eAAO,MAAM,oCAAoC,qCAA0D,CAAC;AAE5G,eAAO,MAAM,iCAAiC,EAAG,mBAA4B,CAAC;AAC9E,eAAO,MAAM,0CAA0C,EAAG,qBAA8B,CAAC;AACzF,eAAO,MAAM,gCAAgC,EAAG,YAAqB,CAAC;AACtE,eAAO,MAAM,wCAAwC,EAAG,mBAA4B,CAAC;AACrF,eAAO,MAAM,mCAAmC,EAAG,eAAwB,CAAC;AAE5E,eAAO,MAAM,6BAA6B,EAAE,2BAM3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,yOAQgB,CAAC"}