@mdwrk/theme-contract 1.0.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/README.md ADDED
@@ -0,0 +1,60 @@
1
+ # mdwrk/theme-contract
2
+
3
+ Portable token, class-name, and bridge-variable contract for Markdown Workspace themes, renderers, editors, and extensions.
4
+
5
+ ## Package purpose
6
+
7
+ This package defines the shared styling surface that reusable packages and extensions must target.
8
+
9
+ ## What it exports
10
+
11
+ - theme contract version
12
+ - canonical token names and definitions
13
+ - canonical class names and definitions
14
+ - canonical renderer/editor bridge-variable definitions
15
+ - compatibility metadata
16
+ - theme preset and draft shapes
17
+
18
+ ## Derivation source
19
+
20
+ The initial contract is derived from:
21
+ - `apps/client/styles/base/root.css`
22
+ - `apps/client/styles/base/markdown.css`
23
+ - the extracted editor package surface
24
+
25
+ ## Key contract surfaces
26
+
27
+ ### Tokens
28
+ Examples:
29
+ - `bg-panel`
30
+ - `fg-primary`
31
+ - `accent`
32
+ - `font-mono`
33
+ - `editor-padding`
34
+
35
+ ### Stable renderer classes
36
+ Examples:
37
+ - `markdown-body`
38
+ - `md-table`
39
+ - `md-code-block`
40
+
41
+ ### Stable editor classes
42
+ Examples:
43
+ - `mw-editor`
44
+ - `mw-editor-gutter`
45
+ - `mw-editor-textarea`
46
+
47
+ ### Bridge variables
48
+ Examples:
49
+ - renderer: `--mw-bg-surface`, `--mw-fg-primary`, `--mw-code-bg`
50
+ - editor: `--mwe-bg-surface`, `--mwe-fg-primary`, `--mwe-editor-padding`
51
+
52
+ ## Build
53
+
54
+ ```bash
55
+ npm run build -w @mdwrk/theme-contract
56
+ ```
57
+
58
+ ## Publishability
59
+
60
+ This package is structured as a standalone publishable npm package with typed exports and generated build output under `dist/`.
@@ -0,0 +1,122 @@
1
+ import type { MarkdownWorkspaceThemeTokenName } from "./tokens.js";
2
+ export type ThemeBridgeTarget = "renderer" | "editor";
3
+ export interface ThemeBridgeVariableDefinition {
4
+ readonly target: ThemeBridgeTarget;
5
+ readonly cssCustomProperty: `--${string}`;
6
+ readonly sourceToken: MarkdownWorkspaceThemeTokenName;
7
+ readonly description: string;
8
+ readonly stability: "stable" | "provisional";
9
+ }
10
+ export declare const MARKDOWN_WORKSPACE_THEME_BRIDGES: readonly [{
11
+ readonly target: "renderer";
12
+ readonly cssCustomProperty: "--mw-fg-primary";
13
+ readonly sourceToken: "fg-primary";
14
+ readonly description: "Renderer primary foreground bridge.";
15
+ readonly stability: "stable";
16
+ }, {
17
+ readonly target: "renderer";
18
+ readonly cssCustomProperty: "--mw-fg-secondary";
19
+ readonly sourceToken: "fg-secondary";
20
+ readonly description: "Renderer secondary foreground bridge.";
21
+ readonly stability: "stable";
22
+ }, {
23
+ readonly target: "renderer";
24
+ readonly cssCustomProperty: "--mw-bg-surface";
25
+ readonly sourceToken: "bg-panel";
26
+ readonly description: "Renderer surface background bridge.";
27
+ readonly stability: "stable";
28
+ }, {
29
+ readonly target: "renderer";
30
+ readonly cssCustomProperty: "--mw-border-color";
31
+ readonly sourceToken: "border-color";
32
+ readonly description: "Renderer border bridge.";
33
+ readonly stability: "stable";
34
+ }, {
35
+ readonly target: "renderer";
36
+ readonly cssCustomProperty: "--mw-accent";
37
+ readonly sourceToken: "accent";
38
+ readonly description: "Renderer accent bridge.";
39
+ readonly stability: "stable";
40
+ }, {
41
+ readonly target: "renderer";
42
+ readonly cssCustomProperty: "--mw-code-bg";
43
+ readonly sourceToken: "bg-inset";
44
+ readonly description: "Renderer code background bridge.";
45
+ readonly stability: "stable";
46
+ }, {
47
+ readonly target: "renderer";
48
+ readonly cssCustomProperty: "--mw-code-fg";
49
+ readonly sourceToken: "fg-primary";
50
+ readonly description: "Renderer code foreground bridge.";
51
+ readonly stability: "stable";
52
+ }, {
53
+ readonly target: "renderer";
54
+ readonly cssCustomProperty: "--mw-code-border";
55
+ readonly sourceToken: "border-color";
56
+ readonly description: "Renderer code border bridge.";
57
+ readonly stability: "stable";
58
+ }, {
59
+ readonly target: "renderer";
60
+ readonly cssCustomProperty: "--mw-font-ui";
61
+ readonly sourceToken: "font-ui";
62
+ readonly description: "Renderer UI font bridge.";
63
+ readonly stability: "stable";
64
+ }, {
65
+ readonly target: "renderer";
66
+ readonly cssCustomProperty: "--mw-font-mono";
67
+ readonly sourceToken: "font-mono";
68
+ readonly description: "Renderer monospace font bridge.";
69
+ readonly stability: "stable";
70
+ }, {
71
+ readonly target: "editor";
72
+ readonly cssCustomProperty: "--mwe-bg-surface";
73
+ readonly sourceToken: "bg-panel";
74
+ readonly description: "Editor surface background bridge.";
75
+ readonly stability: "stable";
76
+ }, {
77
+ readonly target: "editor";
78
+ readonly cssCustomProperty: "--mwe-bg-gutter";
79
+ readonly sourceToken: "bg-inset";
80
+ readonly description: "Editor gutter background bridge.";
81
+ readonly stability: "stable";
82
+ }, {
83
+ readonly target: "editor";
84
+ readonly cssCustomProperty: "--mwe-border-color";
85
+ readonly sourceToken: "border-color";
86
+ readonly description: "Editor border bridge.";
87
+ readonly stability: "stable";
88
+ }, {
89
+ readonly target: "editor";
90
+ readonly cssCustomProperty: "--mwe-fg-primary";
91
+ readonly sourceToken: "fg-primary";
92
+ readonly description: "Editor primary foreground bridge.";
93
+ readonly stability: "stable";
94
+ }, {
95
+ readonly target: "editor";
96
+ readonly cssCustomProperty: "--mwe-fg-muted";
97
+ readonly sourceToken: "fg-muted";
98
+ readonly description: "Editor muted foreground bridge.";
99
+ readonly stability: "stable";
100
+ }, {
101
+ readonly target: "editor";
102
+ readonly cssCustomProperty: "--mwe-accent";
103
+ readonly sourceToken: "accent";
104
+ readonly description: "Editor accent bridge.";
105
+ readonly stability: "stable";
106
+ }, {
107
+ readonly target: "editor";
108
+ readonly cssCustomProperty: "--mwe-font-mono";
109
+ readonly sourceToken: "font-mono";
110
+ readonly description: "Editor monospace font bridge.";
111
+ readonly stability: "stable";
112
+ }, {
113
+ readonly target: "editor";
114
+ readonly cssCustomProperty: "--mwe-editor-padding";
115
+ readonly sourceToken: "editor-padding";
116
+ readonly description: "Editor padding bridge.";
117
+ readonly stability: "stable";
118
+ }];
119
+ export declare const MARKDOWN_WORKSPACE_RENDERER_THEME_BRIDGES: readonly ThemeBridgeVariableDefinition[];
120
+ export declare const MARKDOWN_WORKSPACE_EDITOR_THEME_BRIDGES: readonly ThemeBridgeVariableDefinition[];
121
+ export declare function getThemeBridgeDefinitions(target: ThemeBridgeTarget): readonly ThemeBridgeVariableDefinition[];
122
+ //# sourceMappingURL=bridges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../src/bridges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,CAAC;CAC9C;AAED,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBgB,CAAC;AAE9D,eAAO,MAAM,yCAAyC,EAEjD,SAAS,6BAA6B,EAAE,CAAC;AAE9C,eAAO,MAAM,uCAAuC,EAE/C,SAAS,6BAA6B,EAAE,CAAC;AAE9C,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,6BAA6B,EAAE,CAI7G"}
@@ -0,0 +1,28 @@
1
+ export const MARKDOWN_WORKSPACE_THEME_BRIDGES = [
2
+ { target: "renderer", cssCustomProperty: "--mw-fg-primary", sourceToken: "fg-primary", description: "Renderer primary foreground bridge.", stability: "stable" },
3
+ { target: "renderer", cssCustomProperty: "--mw-fg-secondary", sourceToken: "fg-secondary", description: "Renderer secondary foreground bridge.", stability: "stable" },
4
+ { target: "renderer", cssCustomProperty: "--mw-bg-surface", sourceToken: "bg-panel", description: "Renderer surface background bridge.", stability: "stable" },
5
+ { target: "renderer", cssCustomProperty: "--mw-border-color", sourceToken: "border-color", description: "Renderer border bridge.", stability: "stable" },
6
+ { target: "renderer", cssCustomProperty: "--mw-accent", sourceToken: "accent", description: "Renderer accent bridge.", stability: "stable" },
7
+ { target: "renderer", cssCustomProperty: "--mw-code-bg", sourceToken: "bg-inset", description: "Renderer code background bridge.", stability: "stable" },
8
+ { target: "renderer", cssCustomProperty: "--mw-code-fg", sourceToken: "fg-primary", description: "Renderer code foreground bridge.", stability: "stable" },
9
+ { target: "renderer", cssCustomProperty: "--mw-code-border", sourceToken: "border-color", description: "Renderer code border bridge.", stability: "stable" },
10
+ { target: "renderer", cssCustomProperty: "--mw-font-ui", sourceToken: "font-ui", description: "Renderer UI font bridge.", stability: "stable" },
11
+ { target: "renderer", cssCustomProperty: "--mw-font-mono", sourceToken: "font-mono", description: "Renderer monospace font bridge.", stability: "stable" },
12
+ { target: "editor", cssCustomProperty: "--mwe-bg-surface", sourceToken: "bg-panel", description: "Editor surface background bridge.", stability: "stable" },
13
+ { target: "editor", cssCustomProperty: "--mwe-bg-gutter", sourceToken: "bg-inset", description: "Editor gutter background bridge.", stability: "stable" },
14
+ { target: "editor", cssCustomProperty: "--mwe-border-color", sourceToken: "border-color", description: "Editor border bridge.", stability: "stable" },
15
+ { target: "editor", cssCustomProperty: "--mwe-fg-primary", sourceToken: "fg-primary", description: "Editor primary foreground bridge.", stability: "stable" },
16
+ { target: "editor", cssCustomProperty: "--mwe-fg-muted", sourceToken: "fg-muted", description: "Editor muted foreground bridge.", stability: "stable" },
17
+ { target: "editor", cssCustomProperty: "--mwe-accent", sourceToken: "accent", description: "Editor accent bridge.", stability: "stable" },
18
+ { target: "editor", cssCustomProperty: "--mwe-font-mono", sourceToken: "font-mono", description: "Editor monospace font bridge.", stability: "stable" },
19
+ { target: "editor", cssCustomProperty: "--mwe-editor-padding", sourceToken: "editor-padding", description: "Editor padding bridge.", stability: "stable" },
20
+ ];
21
+ export const MARKDOWN_WORKSPACE_RENDERER_THEME_BRIDGES = MARKDOWN_WORKSPACE_THEME_BRIDGES.filter((definition) => definition.target === "renderer");
22
+ export const MARKDOWN_WORKSPACE_EDITOR_THEME_BRIDGES = MARKDOWN_WORKSPACE_THEME_BRIDGES.filter((definition) => definition.target === "editor");
23
+ export function getThemeBridgeDefinitions(target) {
24
+ return target === "renderer"
25
+ ? MARKDOWN_WORKSPACE_RENDERER_THEME_BRIDGES
26
+ : MARKDOWN_WORKSPACE_EDITOR_THEME_BRIDGES;
27
+ }
28
+ //# sourceMappingURL=bridges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridges.js","sourceRoot":"","sources":["../src/bridges.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ export declare const MARKDOWN_WORKSPACE_THEME_CLASS_NAMES: readonly ["markdown-body", "md-h1", "md-h2", "md-h3", "md-h4", "md-h5", "md-h6", "md-p", "md-strong", "md-em", "md-hr", "md-blockquote", "md-ul", "md-ol", "md-li", "md-task-list-item", "md-checkbox", "md-link", "md-inline-code", "md-table", "md-table-head", "md-table-body", "md-table-row", "md-table-header", "md-table-cell", "md-table-caption", "md-table-columns", "md-table-column", "md-code-block", "md-code-header", "md-code-surface", "mw-editor", "mw-editor-layout", "mw-editor-gutter", "mw-editor-line-number", "mw-editor-textarea"];
2
+ export type MarkdownWorkspaceThemeClassName = typeof MARKDOWN_WORKSPACE_THEME_CLASS_NAMES[number];
3
+ export type ThemeClassScope = "renderer" | "editor" | "app";
4
+ export interface ThemeClassDefinition {
5
+ readonly name: MarkdownWorkspaceThemeClassName;
6
+ readonly selector: `.${string}`;
7
+ readonly scope: ThemeClassScope;
8
+ readonly description: string;
9
+ readonly stability: "stable" | "provisional" | "experimental";
10
+ }
11
+ export declare const MARKDOWN_WORKSPACE_THEME_CLASSES: readonly [{
12
+ readonly name: "markdown-body";
13
+ readonly selector: ".markdown-body";
14
+ readonly scope: "renderer";
15
+ readonly description: "Root scope class for rendered markdown content.";
16
+ readonly stability: "stable";
17
+ }, {
18
+ readonly name: "md-h1";
19
+ readonly selector: ".md-h1";
20
+ readonly scope: "renderer";
21
+ readonly description: "Level-1 heading helper class.";
22
+ readonly stability: "provisional";
23
+ }, {
24
+ readonly name: "md-h2";
25
+ readonly selector: ".md-h2";
26
+ readonly scope: "renderer";
27
+ readonly description: "Level-2 heading helper class.";
28
+ readonly stability: "provisional";
29
+ }, {
30
+ readonly name: "md-h3";
31
+ readonly selector: ".md-h3";
32
+ readonly scope: "renderer";
33
+ readonly description: "Level-3 heading helper class.";
34
+ readonly stability: "provisional";
35
+ }, {
36
+ readonly name: "md-h4";
37
+ readonly selector: ".md-h4";
38
+ readonly scope: "renderer";
39
+ readonly description: "Level-4 heading helper class.";
40
+ readonly stability: "provisional";
41
+ }, {
42
+ readonly name: "md-h5";
43
+ readonly selector: ".md-h5";
44
+ readonly scope: "renderer";
45
+ readonly description: "Level-5 heading helper class.";
46
+ readonly stability: "provisional";
47
+ }, {
48
+ readonly name: "md-h6";
49
+ readonly selector: ".md-h6";
50
+ readonly scope: "renderer";
51
+ readonly description: "Level-6 heading helper class.";
52
+ readonly stability: "provisional";
53
+ }, {
54
+ readonly name: "md-p";
55
+ readonly selector: ".md-p";
56
+ readonly scope: "renderer";
57
+ readonly description: "Paragraph helper class.";
58
+ readonly stability: "provisional";
59
+ }, {
60
+ readonly name: "md-strong";
61
+ readonly selector: ".md-strong";
62
+ readonly scope: "renderer";
63
+ readonly description: "Strong emphasis helper class.";
64
+ readonly stability: "provisional";
65
+ }, {
66
+ readonly name: "md-em";
67
+ readonly selector: ".md-em";
68
+ readonly scope: "renderer";
69
+ readonly description: "Emphasis helper class.";
70
+ readonly stability: "provisional";
71
+ }, {
72
+ readonly name: "md-hr";
73
+ readonly selector: ".md-hr";
74
+ readonly scope: "renderer";
75
+ readonly description: "Horizontal rule helper class.";
76
+ readonly stability: "provisional";
77
+ }, {
78
+ readonly name: "md-blockquote";
79
+ readonly selector: ".md-blockquote";
80
+ readonly scope: "renderer";
81
+ readonly description: "Blockquote helper class.";
82
+ readonly stability: "provisional";
83
+ }, {
84
+ readonly name: "md-ul";
85
+ readonly selector: ".md-ul";
86
+ readonly scope: "renderer";
87
+ readonly description: "Unordered-list helper class.";
88
+ readonly stability: "provisional";
89
+ }, {
90
+ readonly name: "md-ol";
91
+ readonly selector: ".md-ol";
92
+ readonly scope: "renderer";
93
+ readonly description: "Ordered-list helper class.";
94
+ readonly stability: "provisional";
95
+ }, {
96
+ readonly name: "md-li";
97
+ readonly selector: ".md-li";
98
+ readonly scope: "renderer";
99
+ readonly description: "List-item helper class.";
100
+ readonly stability: "provisional";
101
+ }, {
102
+ readonly name: "md-task-list-item";
103
+ readonly selector: ".md-task-list-item";
104
+ readonly scope: "renderer";
105
+ readonly description: "Task-list list-item helper class.";
106
+ readonly stability: "stable";
107
+ }, {
108
+ readonly name: "md-checkbox";
109
+ readonly selector: ".md-checkbox";
110
+ readonly scope: "renderer";
111
+ readonly description: "Task-list checkbox helper class.";
112
+ readonly stability: "stable";
113
+ }, {
114
+ readonly name: "md-link";
115
+ readonly selector: ".md-link";
116
+ readonly scope: "renderer";
117
+ readonly description: "Anchor helper class.";
118
+ readonly stability: "provisional";
119
+ }, {
120
+ readonly name: "md-inline-code";
121
+ readonly selector: ".md-inline-code";
122
+ readonly scope: "renderer";
123
+ readonly description: "Inline-code helper class.";
124
+ readonly stability: "provisional";
125
+ }, {
126
+ readonly name: "md-table";
127
+ readonly selector: ".md-table";
128
+ readonly scope: "renderer";
129
+ readonly description: "Portable markdown table root class.";
130
+ readonly stability: "stable";
131
+ }, {
132
+ readonly name: "md-table-head";
133
+ readonly selector: ".md-table-head";
134
+ readonly scope: "renderer";
135
+ readonly description: "Portable markdown table head section class.";
136
+ readonly stability: "stable";
137
+ }, {
138
+ readonly name: "md-table-body";
139
+ readonly selector: ".md-table-body";
140
+ readonly scope: "renderer";
141
+ readonly description: "Portable markdown table body section class.";
142
+ readonly stability: "stable";
143
+ }, {
144
+ readonly name: "md-table-row";
145
+ readonly selector: ".md-table-row";
146
+ readonly scope: "renderer";
147
+ readonly description: "Portable markdown table row class.";
148
+ readonly stability: "stable";
149
+ }, {
150
+ readonly name: "md-table-header";
151
+ readonly selector: ".md-table-header";
152
+ readonly scope: "renderer";
153
+ readonly description: "Portable markdown table header class.";
154
+ readonly stability: "stable";
155
+ }, {
156
+ readonly name: "md-table-cell";
157
+ readonly selector: ".md-table-cell";
158
+ readonly scope: "renderer";
159
+ readonly description: "Portable markdown table cell class.";
160
+ readonly stability: "stable";
161
+ }, {
162
+ readonly name: "md-table-caption";
163
+ readonly selector: ".md-table-caption";
164
+ readonly scope: "renderer";
165
+ readonly description: "Portable markdown table caption class.";
166
+ readonly stability: "stable";
167
+ }, {
168
+ readonly name: "md-table-columns";
169
+ readonly selector: ".md-table-columns";
170
+ readonly scope: "renderer";
171
+ readonly description: "Portable markdown table colgroup class.";
172
+ readonly stability: "provisional";
173
+ }, {
174
+ readonly name: "md-table-column";
175
+ readonly selector: ".md-table-column";
176
+ readonly scope: "renderer";
177
+ readonly description: "Portable markdown table column class.";
178
+ readonly stability: "provisional";
179
+ }, {
180
+ readonly name: "md-code-block";
181
+ readonly selector: ".md-code-block";
182
+ readonly scope: "renderer";
183
+ readonly description: "Portable fenced code block root class.";
184
+ readonly stability: "stable";
185
+ }, {
186
+ readonly name: "md-code-header";
187
+ readonly selector: ".md-code-header";
188
+ readonly scope: "renderer";
189
+ readonly description: "Portable fenced code header class.";
190
+ readonly stability: "stable";
191
+ }, {
192
+ readonly name: "md-code-surface";
193
+ readonly selector: ".md-code-surface";
194
+ readonly scope: "renderer";
195
+ readonly description: "Portable fenced code surface class.";
196
+ readonly stability: "stable";
197
+ }, {
198
+ readonly name: "mw-editor";
199
+ readonly selector: ".mw-editor";
200
+ readonly scope: "editor";
201
+ readonly description: "Portable markdown source editor root class.";
202
+ readonly stability: "stable";
203
+ }, {
204
+ readonly name: "mw-editor-layout";
205
+ readonly selector: ".mw-editor-layout";
206
+ readonly scope: "editor";
207
+ readonly description: "Portable markdown source editor layout class.";
208
+ readonly stability: "stable";
209
+ }, {
210
+ readonly name: "mw-editor-gutter";
211
+ readonly selector: ".mw-editor-gutter";
212
+ readonly scope: "editor";
213
+ readonly description: "Portable markdown source editor gutter class.";
214
+ readonly stability: "stable";
215
+ }, {
216
+ readonly name: "mw-editor-line-number";
217
+ readonly selector: ".mw-editor-line-number";
218
+ readonly scope: "editor";
219
+ readonly description: "Portable markdown source editor line-number class.";
220
+ readonly stability: "stable";
221
+ }, {
222
+ readonly name: "mw-editor-textarea";
223
+ readonly selector: ".mw-editor-textarea";
224
+ readonly scope: "editor";
225
+ readonly description: "Portable markdown source editor textarea class.";
226
+ readonly stability: "stable";
227
+ }];
228
+ //# sourceMappingURL=classes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../src/classes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,6hBAqCvC,CAAC;AAEX,MAAM,MAAM,+BAA+B,GAAG,OAAO,oCAAoC,CAAC,MAAM,CAAC,CAAC;AAElG,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;CAC/D;AAED,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCO,CAAC"}
@@ -0,0 +1,77 @@
1
+ export const MARKDOWN_WORKSPACE_THEME_CLASS_NAMES = [
2
+ "markdown-body",
3
+ "md-h1",
4
+ "md-h2",
5
+ "md-h3",
6
+ "md-h4",
7
+ "md-h5",
8
+ "md-h6",
9
+ "md-p",
10
+ "md-strong",
11
+ "md-em",
12
+ "md-hr",
13
+ "md-blockquote",
14
+ "md-ul",
15
+ "md-ol",
16
+ "md-li",
17
+ "md-task-list-item",
18
+ "md-checkbox",
19
+ "md-link",
20
+ "md-inline-code",
21
+ "md-table",
22
+ "md-table-head",
23
+ "md-table-body",
24
+ "md-table-row",
25
+ "md-table-header",
26
+ "md-table-cell",
27
+ "md-table-caption",
28
+ "md-table-columns",
29
+ "md-table-column",
30
+ "md-code-block",
31
+ "md-code-header",
32
+ "md-code-surface",
33
+ "mw-editor",
34
+ "mw-editor-layout",
35
+ "mw-editor-gutter",
36
+ "mw-editor-line-number",
37
+ "mw-editor-textarea",
38
+ ];
39
+ export const MARKDOWN_WORKSPACE_THEME_CLASSES = [
40
+ { name: "markdown-body", selector: ".markdown-body", scope: "renderer", description: "Root scope class for rendered markdown content.", stability: "stable" },
41
+ { name: "md-h1", selector: ".md-h1", scope: "renderer", description: "Level-1 heading helper class.", stability: "provisional" },
42
+ { name: "md-h2", selector: ".md-h2", scope: "renderer", description: "Level-2 heading helper class.", stability: "provisional" },
43
+ { name: "md-h3", selector: ".md-h3", scope: "renderer", description: "Level-3 heading helper class.", stability: "provisional" },
44
+ { name: "md-h4", selector: ".md-h4", scope: "renderer", description: "Level-4 heading helper class.", stability: "provisional" },
45
+ { name: "md-h5", selector: ".md-h5", scope: "renderer", description: "Level-5 heading helper class.", stability: "provisional" },
46
+ { name: "md-h6", selector: ".md-h6", scope: "renderer", description: "Level-6 heading helper class.", stability: "provisional" },
47
+ { name: "md-p", selector: ".md-p", scope: "renderer", description: "Paragraph helper class.", stability: "provisional" },
48
+ { name: "md-strong", selector: ".md-strong", scope: "renderer", description: "Strong emphasis helper class.", stability: "provisional" },
49
+ { name: "md-em", selector: ".md-em", scope: "renderer", description: "Emphasis helper class.", stability: "provisional" },
50
+ { name: "md-hr", selector: ".md-hr", scope: "renderer", description: "Horizontal rule helper class.", stability: "provisional" },
51
+ { name: "md-blockquote", selector: ".md-blockquote", scope: "renderer", description: "Blockquote helper class.", stability: "provisional" },
52
+ { name: "md-ul", selector: ".md-ul", scope: "renderer", description: "Unordered-list helper class.", stability: "provisional" },
53
+ { name: "md-ol", selector: ".md-ol", scope: "renderer", description: "Ordered-list helper class.", stability: "provisional" },
54
+ { name: "md-li", selector: ".md-li", scope: "renderer", description: "List-item helper class.", stability: "provisional" },
55
+ { name: "md-task-list-item", selector: ".md-task-list-item", scope: "renderer", description: "Task-list list-item helper class.", stability: "stable" },
56
+ { name: "md-checkbox", selector: ".md-checkbox", scope: "renderer", description: "Task-list checkbox helper class.", stability: "stable" },
57
+ { name: "md-link", selector: ".md-link", scope: "renderer", description: "Anchor helper class.", stability: "provisional" },
58
+ { name: "md-inline-code", selector: ".md-inline-code", scope: "renderer", description: "Inline-code helper class.", stability: "provisional" },
59
+ { name: "md-table", selector: ".md-table", scope: "renderer", description: "Portable markdown table root class.", stability: "stable" },
60
+ { name: "md-table-head", selector: ".md-table-head", scope: "renderer", description: "Portable markdown table head section class.", stability: "stable" },
61
+ { name: "md-table-body", selector: ".md-table-body", scope: "renderer", description: "Portable markdown table body section class.", stability: "stable" },
62
+ { name: "md-table-row", selector: ".md-table-row", scope: "renderer", description: "Portable markdown table row class.", stability: "stable" },
63
+ { name: "md-table-header", selector: ".md-table-header", scope: "renderer", description: "Portable markdown table header class.", stability: "stable" },
64
+ { name: "md-table-cell", selector: ".md-table-cell", scope: "renderer", description: "Portable markdown table cell class.", stability: "stable" },
65
+ { name: "md-table-caption", selector: ".md-table-caption", scope: "renderer", description: "Portable markdown table caption class.", stability: "stable" },
66
+ { name: "md-table-columns", selector: ".md-table-columns", scope: "renderer", description: "Portable markdown table colgroup class.", stability: "provisional" },
67
+ { name: "md-table-column", selector: ".md-table-column", scope: "renderer", description: "Portable markdown table column class.", stability: "provisional" },
68
+ { name: "md-code-block", selector: ".md-code-block", scope: "renderer", description: "Portable fenced code block root class.", stability: "stable" },
69
+ { name: "md-code-header", selector: ".md-code-header", scope: "renderer", description: "Portable fenced code header class.", stability: "stable" },
70
+ { name: "md-code-surface", selector: ".md-code-surface", scope: "renderer", description: "Portable fenced code surface class.", stability: "stable" },
71
+ { name: "mw-editor", selector: ".mw-editor", scope: "editor", description: "Portable markdown source editor root class.", stability: "stable" },
72
+ { name: "mw-editor-layout", selector: ".mw-editor-layout", scope: "editor", description: "Portable markdown source editor layout class.", stability: "stable" },
73
+ { name: "mw-editor-gutter", selector: ".mw-editor-gutter", scope: "editor", description: "Portable markdown source editor gutter class.", stability: "stable" },
74
+ { name: "mw-editor-line-number", selector: ".mw-editor-line-number", scope: "editor", description: "Portable markdown source editor line-number class.", stability: "stable" },
75
+ { name: "mw-editor-textarea", selector: ".mw-editor-textarea", scope: "editor", description: "Portable markdown source editor textarea class.", stability: "stable" },
76
+ ];
77
+ //# sourceMappingURL=classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classes.js","sourceRoot":"","sources":["../src/classes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { MarkdownWorkspaceThemeClassName } from "./classes.js";
2
+ import type { MarkdownWorkspaceThemeTokenName } from "./tokens.js";
3
+ export interface ThemeContractCompatibility {
4
+ readonly contract: string;
5
+ readonly minClientVersion?: string;
6
+ readonly minRendererVersion?: string;
7
+ readonly minEditorVersion?: string;
8
+ }
9
+ export interface ThemeTokenBinding {
10
+ readonly token: MarkdownWorkspaceThemeTokenName;
11
+ readonly cssCustomProperty: `--${string}`;
12
+ }
13
+ export interface ThemeClassBinding {
14
+ readonly className: MarkdownWorkspaceThemeClassName;
15
+ readonly selector: `.${string}`;
16
+ }
17
+ //# sourceMappingURL=compatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../src/compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,+BAA+B,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,+BAA+B,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../src/compatibility.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export * from "./classes.js";
2
+ export * from "./compatibility.js";
3
+ export * from "./bridges.js";
4
+ export * from "./themes.js";
5
+ export * from "./tokens.js";
6
+ export * from "./version.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "./classes.js";
2
+ export * from "./compatibility.js";
3
+ export * from "./bridges.js";
4
+ export * from "./themes.js";
5
+ export * from "./tokens.js";
6
+ export * from "./version.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { ThemeClassBinding, ThemeContractCompatibility, ThemeTokenBinding } from "./compatibility.js";
2
+ import type { MarkdownWorkspaceThemeClassName } from "./classes.js";
3
+ import type { MarkdownWorkspaceThemeTokenMap, MarkdownWorkspaceThemeTokenName } from "./tokens.js";
4
+ export interface ThemePresetMetadata {
5
+ readonly id: string;
6
+ readonly name: string;
7
+ readonly description?: string;
8
+ readonly author?: string;
9
+ readonly version?: string;
10
+ }
11
+ export interface ThemePreset {
12
+ readonly metadata: ThemePresetMetadata;
13
+ readonly compatibility: ThemeContractCompatibility;
14
+ readonly tokens: Partial<MarkdownWorkspaceThemeTokenMap>;
15
+ readonly classBindings?: readonly ThemeClassBinding[];
16
+ readonly tokenBindings?: readonly ThemeTokenBinding[];
17
+ }
18
+ export interface ThemeDraft {
19
+ readonly tokens: Partial<Record<MarkdownWorkspaceThemeTokenName, string>>;
20
+ readonly touchedClasses?: readonly MarkdownWorkspaceThemeClassName[];
21
+ }
22
+ export declare function createEmptyThemePreset(id: string, name: string): ThemePreset;
23
+ //# sourceMappingURL=themes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3G,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAGnG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACtD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACtE;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAM5E"}
package/dist/themes.js ADDED
@@ -0,0 +1,9 @@
1
+ import { THEME_CONTRACT_VERSION } from "./version.js";
2
+ export function createEmptyThemePreset(id, name) {
3
+ return {
4
+ metadata: { id, name },
5
+ compatibility: { contract: THEME_CONTRACT_VERSION },
6
+ tokens: {},
7
+ };
8
+ }
9
+ //# sourceMappingURL=themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAuBtD,MAAM,UAAU,sBAAsB,CAAC,EAAU,EAAE,IAAY;IAC7D,OAAO;QACL,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;QACtB,aAAa,EAAE,EAAE,QAAQ,EAAE,sBAAsB,EAAE;QACnD,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,273 @@
1
+ export declare const MARKDOWN_WORKSPACE_THEME_TOKEN_NAMES: readonly ["ui-scale", "header-height", "rail-width", "rail-height", "sidebar-width", "status-height", "tab-height", "panel-header-height", "rail-btn-size", "bg-app", "bg-panel", "bg-inset", "border-color", "border-width", "fg-primary", "fg-secondary", "fg-muted", "accent", "table-header-bg", "table-header-fg", "table-row-primary-bg", "table-row-secondary-bg", "status-ok", "status-warn", "status-error", "app-gap", "texture-opacity", "editor-padding", "file-indent-base", "file-indent-unit", "c-explorer-hover", "c-explorer-selected", "c-explorer-selected-text", "c-explorer-drag-bg", "font-ui", "font-mono", "font-head"];
2
+ export type MarkdownWorkspaceThemeTokenName = typeof MARKDOWN_WORKSPACE_THEME_TOKEN_NAMES[number];
3
+ export type ThemeTokenCategory = "layout" | "color" | "status" | "spacing" | "interaction" | "typography";
4
+ export interface ThemeTokenDefinition {
5
+ readonly name: MarkdownWorkspaceThemeTokenName;
6
+ readonly cssCustomProperty: `--${string}`;
7
+ readonly category: ThemeTokenCategory;
8
+ readonly description: string;
9
+ readonly defaultValue: string;
10
+ readonly stability: "stable" | "experimental";
11
+ }
12
+ export declare const MARKDOWN_WORKSPACE_THEME_TOKENS: readonly [{
13
+ readonly name: "ui-scale";
14
+ readonly cssCustomProperty: "--ui-scale";
15
+ readonly category: "layout";
16
+ readonly description: "Global UI scale multiplier.";
17
+ readonly defaultValue: "1";
18
+ readonly stability: "stable";
19
+ }, {
20
+ readonly name: "header-height";
21
+ readonly cssCustomProperty: "--header-height";
22
+ readonly category: "layout";
23
+ readonly description: "Header height for the application shell.";
24
+ readonly defaultValue: "calc(32px * var(--ui-scale))";
25
+ readonly stability: "stable";
26
+ }, {
27
+ readonly name: "rail-width";
28
+ readonly cssCustomProperty: "--rail-width";
29
+ readonly category: "layout";
30
+ readonly description: "Action rail width.";
31
+ readonly defaultValue: "calc(44px * var(--ui-scale))";
32
+ readonly stability: "stable";
33
+ }, {
34
+ readonly name: "rail-height";
35
+ readonly cssCustomProperty: "--rail-height";
36
+ readonly category: "layout";
37
+ readonly description: "Action rail row height.";
38
+ readonly defaultValue: "calc(44px * var(--ui-scale))";
39
+ readonly stability: "stable";
40
+ }, {
41
+ readonly name: "sidebar-width";
42
+ readonly cssCustomProperty: "--sidebar-width";
43
+ readonly category: "layout";
44
+ readonly description: "Sidebar width.";
45
+ readonly defaultValue: "calc(200px * var(--ui-scale))";
46
+ readonly stability: "stable";
47
+ }, {
48
+ readonly name: "status-height";
49
+ readonly cssCustomProperty: "--status-height";
50
+ readonly category: "layout";
51
+ readonly description: "Status bar height.";
52
+ readonly defaultValue: "calc(20px * var(--ui-scale))";
53
+ readonly stability: "stable";
54
+ }, {
55
+ readonly name: "tab-height";
56
+ readonly cssCustomProperty: "--tab-height";
57
+ readonly category: "layout";
58
+ readonly description: "Tab strip height.";
59
+ readonly defaultValue: "var(--header-height)";
60
+ readonly stability: "stable";
61
+ }, {
62
+ readonly name: "panel-header-height";
63
+ readonly cssCustomProperty: "--panel-header-height";
64
+ readonly category: "layout";
65
+ readonly description: "Panel header height.";
66
+ readonly defaultValue: "calc(30px * var(--ui-scale))";
67
+ readonly stability: "stable";
68
+ }, {
69
+ readonly name: "rail-btn-size";
70
+ readonly cssCustomProperty: "--rail-btn-size";
71
+ readonly category: "layout";
72
+ readonly description: "Action rail button size.";
73
+ readonly defaultValue: "calc(30px * var(--ui-scale))";
74
+ readonly stability: "stable";
75
+ }, {
76
+ readonly name: "bg-app";
77
+ readonly cssCustomProperty: "--bg-app";
78
+ readonly category: "color";
79
+ readonly description: "Top-level application background.";
80
+ readonly defaultValue: "#c0c0c0";
81
+ readonly stability: "stable";
82
+ }, {
83
+ readonly name: "bg-panel";
84
+ readonly cssCustomProperty: "--bg-panel";
85
+ readonly category: "color";
86
+ readonly description: "Panel background.";
87
+ readonly defaultValue: "#ececec";
88
+ readonly stability: "stable";
89
+ }, {
90
+ readonly name: "bg-inset";
91
+ readonly cssCustomProperty: "--bg-inset";
92
+ readonly category: "color";
93
+ readonly description: "Inset surface background.";
94
+ readonly defaultValue: "#dcdcdc";
95
+ readonly stability: "stable";
96
+ }, {
97
+ readonly name: "border-color";
98
+ readonly cssCustomProperty: "--border-color";
99
+ readonly category: "color";
100
+ readonly description: "Primary border color.";
101
+ readonly defaultValue: "#000000";
102
+ readonly stability: "stable";
103
+ }, {
104
+ readonly name: "border-width";
105
+ readonly cssCustomProperty: "--border-width";
106
+ readonly category: "layout";
107
+ readonly description: "Primary border width.";
108
+ readonly defaultValue: "2px";
109
+ readonly stability: "stable";
110
+ }, {
111
+ readonly name: "fg-primary";
112
+ readonly cssCustomProperty: "--fg-primary";
113
+ readonly category: "color";
114
+ readonly description: "Primary foreground color.";
115
+ readonly defaultValue: "#000000";
116
+ readonly stability: "stable";
117
+ }, {
118
+ readonly name: "fg-secondary";
119
+ readonly cssCustomProperty: "--fg-secondary";
120
+ readonly category: "color";
121
+ readonly description: "Secondary foreground color.";
122
+ readonly defaultValue: "#333333";
123
+ readonly stability: "stable";
124
+ }, {
125
+ readonly name: "fg-muted";
126
+ readonly cssCustomProperty: "--fg-muted";
127
+ readonly category: "color";
128
+ readonly description: "Muted foreground color.";
129
+ readonly defaultValue: "#666666";
130
+ readonly stability: "stable";
131
+ }, {
132
+ readonly name: "accent";
133
+ readonly cssCustomProperty: "--accent";
134
+ readonly category: "color";
135
+ readonly description: "Accent color.";
136
+ readonly defaultValue: "#ff3e00";
137
+ readonly stability: "stable";
138
+ }, {
139
+ readonly name: "table-header-bg";
140
+ readonly cssCustomProperty: "--table-header-bg";
141
+ readonly category: "color";
142
+ readonly description: "Markdown table header background.";
143
+ readonly defaultValue: "var(--bg-inset)";
144
+ readonly stability: "stable";
145
+ }, {
146
+ readonly name: "table-header-fg";
147
+ readonly cssCustomProperty: "--table-header-fg";
148
+ readonly category: "color";
149
+ readonly description: "Markdown table header foreground.";
150
+ readonly defaultValue: "var(--fg-primary)";
151
+ readonly stability: "stable";
152
+ }, {
153
+ readonly name: "table-row-primary-bg";
154
+ readonly cssCustomProperty: "--table-row-primary-bg";
155
+ readonly category: "color";
156
+ readonly description: "Odd markdown table row background.";
157
+ readonly defaultValue: "var(--bg-panel)";
158
+ readonly stability: "stable";
159
+ }, {
160
+ readonly name: "table-row-secondary-bg";
161
+ readonly cssCustomProperty: "--table-row-secondary-bg";
162
+ readonly category: "color";
163
+ readonly description: "Even markdown table row background.";
164
+ readonly defaultValue: "var(--bg-inset)";
165
+ readonly stability: "stable";
166
+ }, {
167
+ readonly name: "status-ok";
168
+ readonly cssCustomProperty: "--status-ok";
169
+ readonly category: "status";
170
+ readonly description: "Success status color.";
171
+ readonly defaultValue: "#00cc00";
172
+ readonly stability: "stable";
173
+ }, {
174
+ readonly name: "status-warn";
175
+ readonly cssCustomProperty: "--status-warn";
176
+ readonly category: "status";
177
+ readonly description: "Warning status color.";
178
+ readonly defaultValue: "#ff8800";
179
+ readonly stability: "stable";
180
+ }, {
181
+ readonly name: "status-error";
182
+ readonly cssCustomProperty: "--status-error";
183
+ readonly category: "status";
184
+ readonly description: "Error status color.";
185
+ readonly defaultValue: "#cc0000";
186
+ readonly stability: "stable";
187
+ }, {
188
+ readonly name: "app-gap";
189
+ readonly cssCustomProperty: "--app-gap";
190
+ readonly category: "spacing";
191
+ readonly description: "Primary gap between shell regions.";
192
+ readonly defaultValue: "calc(4px * var(--ui-scale))";
193
+ readonly stability: "stable";
194
+ }, {
195
+ readonly name: "texture-opacity";
196
+ readonly cssCustomProperty: "--texture-opacity";
197
+ readonly category: "interaction";
198
+ readonly description: "Texture overlay opacity.";
199
+ readonly defaultValue: "0.05";
200
+ readonly stability: "stable";
201
+ }, {
202
+ readonly name: "editor-padding";
203
+ readonly cssCustomProperty: "--editor-padding";
204
+ readonly category: "spacing";
205
+ readonly description: "Editor inner padding.";
206
+ readonly defaultValue: "calc(24px * var(--ui-scale))";
207
+ readonly stability: "stable";
208
+ }, {
209
+ readonly name: "file-indent-base";
210
+ readonly cssCustomProperty: "--file-indent-base";
211
+ readonly category: "spacing";
212
+ readonly description: "Base indentation for file tree items.";
213
+ readonly defaultValue: "calc(12px * var(--ui-scale))";
214
+ readonly stability: "stable";
215
+ }, {
216
+ readonly name: "file-indent-unit";
217
+ readonly cssCustomProperty: "--file-indent-unit";
218
+ readonly category: "spacing";
219
+ readonly description: "Incremental indentation for nested file tree items.";
220
+ readonly defaultValue: "calc(12px * var(--ui-scale))";
221
+ readonly stability: "stable";
222
+ }, {
223
+ readonly name: "c-explorer-hover";
224
+ readonly cssCustomProperty: "--c-explorer-hover";
225
+ readonly category: "interaction";
226
+ readonly description: "Explorer hover background.";
227
+ readonly defaultValue: "rgba(0, 0, 0, 0.06)";
228
+ readonly stability: "stable";
229
+ }, {
230
+ readonly name: "c-explorer-selected";
231
+ readonly cssCustomProperty: "--c-explorer-selected";
232
+ readonly category: "interaction";
233
+ readonly description: "Explorer selected background.";
234
+ readonly defaultValue: "var(--accent)";
235
+ readonly stability: "stable";
236
+ }, {
237
+ readonly name: "c-explorer-selected-text";
238
+ readonly cssCustomProperty: "--c-explorer-selected-text";
239
+ readonly category: "interaction";
240
+ readonly description: "Explorer selected foreground.";
241
+ readonly defaultValue: "#ffffff";
242
+ readonly stability: "stable";
243
+ }, {
244
+ readonly name: "c-explorer-drag-bg";
245
+ readonly cssCustomProperty: "--c-explorer-drag-bg";
246
+ readonly category: "interaction";
247
+ readonly description: "Explorer drag surface background.";
248
+ readonly defaultValue: "rgba(255, 255, 255, 0.08)";
249
+ readonly stability: "stable";
250
+ }, {
251
+ readonly name: "font-ui";
252
+ readonly cssCustomProperty: "--font-ui";
253
+ readonly category: "typography";
254
+ readonly description: "UI font stack.";
255
+ readonly defaultValue: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif";
256
+ readonly stability: "stable";
257
+ }, {
258
+ readonly name: "font-mono";
259
+ readonly cssCustomProperty: "--font-mono";
260
+ readonly category: "typography";
261
+ readonly description: "Monospace font stack.";
262
+ readonly defaultValue: "'JetBrains Mono', 'IBM Plex Mono', Menlo, monospace";
263
+ readonly stability: "stable";
264
+ }, {
265
+ readonly name: "font-head";
266
+ readonly cssCustomProperty: "--font-head";
267
+ readonly category: "typography";
268
+ readonly description: "Heading font stack.";
269
+ readonly defaultValue: "'Inter', sans-serif";
270
+ readonly stability: "stable";
271
+ }];
272
+ export type MarkdownWorkspaceThemeTokenMap = Readonly<Record<MarkdownWorkspaceThemeTokenName, string>>;
273
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,inBAsCvC,CAAC;AAEX,MAAM,MAAM,+BAA+B,GAAG,OAAO,oCAAoC,CAAC,MAAM,CAAC,CAAC;AAElG,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,aAAa,GACb,YAAY,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,QAAQ,GAAG,cAAc,CAAC;CAC/C;AAED,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCQ,CAAC;AAErD,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC,CAAC"}
package/dist/tokens.js ADDED
@@ -0,0 +1,79 @@
1
+ export const MARKDOWN_WORKSPACE_THEME_TOKEN_NAMES = [
2
+ "ui-scale",
3
+ "header-height",
4
+ "rail-width",
5
+ "rail-height",
6
+ "sidebar-width",
7
+ "status-height",
8
+ "tab-height",
9
+ "panel-header-height",
10
+ "rail-btn-size",
11
+ "bg-app",
12
+ "bg-panel",
13
+ "bg-inset",
14
+ "border-color",
15
+ "border-width",
16
+ "fg-primary",
17
+ "fg-secondary",
18
+ "fg-muted",
19
+ "accent",
20
+ "table-header-bg",
21
+ "table-header-fg",
22
+ "table-row-primary-bg",
23
+ "table-row-secondary-bg",
24
+ "status-ok",
25
+ "status-warn",
26
+ "status-error",
27
+ "app-gap",
28
+ "texture-opacity",
29
+ "editor-padding",
30
+ "file-indent-base",
31
+ "file-indent-unit",
32
+ "c-explorer-hover",
33
+ "c-explorer-selected",
34
+ "c-explorer-selected-text",
35
+ "c-explorer-drag-bg",
36
+ "font-ui",
37
+ "font-mono",
38
+ "font-head",
39
+ ];
40
+ export const MARKDOWN_WORKSPACE_THEME_TOKENS = [
41
+ { name: "ui-scale", cssCustomProperty: "--ui-scale", category: "layout", description: "Global UI scale multiplier.", defaultValue: "1", stability: "stable" },
42
+ { name: "header-height", cssCustomProperty: "--header-height", category: "layout", description: "Header height for the application shell.", defaultValue: "calc(32px * var(--ui-scale))", stability: "stable" },
43
+ { name: "rail-width", cssCustomProperty: "--rail-width", category: "layout", description: "Action rail width.", defaultValue: "calc(44px * var(--ui-scale))", stability: "stable" },
44
+ { name: "rail-height", cssCustomProperty: "--rail-height", category: "layout", description: "Action rail row height.", defaultValue: "calc(44px * var(--ui-scale))", stability: "stable" },
45
+ { name: "sidebar-width", cssCustomProperty: "--sidebar-width", category: "layout", description: "Sidebar width.", defaultValue: "calc(200px * var(--ui-scale))", stability: "stable" },
46
+ { name: "status-height", cssCustomProperty: "--status-height", category: "layout", description: "Status bar height.", defaultValue: "calc(20px * var(--ui-scale))", stability: "stable" },
47
+ { name: "tab-height", cssCustomProperty: "--tab-height", category: "layout", description: "Tab strip height.", defaultValue: "var(--header-height)", stability: "stable" },
48
+ { name: "panel-header-height", cssCustomProperty: "--panel-header-height", category: "layout", description: "Panel header height.", defaultValue: "calc(30px * var(--ui-scale))", stability: "stable" },
49
+ { name: "rail-btn-size", cssCustomProperty: "--rail-btn-size", category: "layout", description: "Action rail button size.", defaultValue: "calc(30px * var(--ui-scale))", stability: "stable" },
50
+ { name: "bg-app", cssCustomProperty: "--bg-app", category: "color", description: "Top-level application background.", defaultValue: "#c0c0c0", stability: "stable" },
51
+ { name: "bg-panel", cssCustomProperty: "--bg-panel", category: "color", description: "Panel background.", defaultValue: "#ececec", stability: "stable" },
52
+ { name: "bg-inset", cssCustomProperty: "--bg-inset", category: "color", description: "Inset surface background.", defaultValue: "#dcdcdc", stability: "stable" },
53
+ { name: "border-color", cssCustomProperty: "--border-color", category: "color", description: "Primary border color.", defaultValue: "#000000", stability: "stable" },
54
+ { name: "border-width", cssCustomProperty: "--border-width", category: "layout", description: "Primary border width.", defaultValue: "2px", stability: "stable" },
55
+ { name: "fg-primary", cssCustomProperty: "--fg-primary", category: "color", description: "Primary foreground color.", defaultValue: "#000000", stability: "stable" },
56
+ { name: "fg-secondary", cssCustomProperty: "--fg-secondary", category: "color", description: "Secondary foreground color.", defaultValue: "#333333", stability: "stable" },
57
+ { name: "fg-muted", cssCustomProperty: "--fg-muted", category: "color", description: "Muted foreground color.", defaultValue: "#666666", stability: "stable" },
58
+ { name: "accent", cssCustomProperty: "--accent", category: "color", description: "Accent color.", defaultValue: "#ff3e00", stability: "stable" },
59
+ { name: "table-header-bg", cssCustomProperty: "--table-header-bg", category: "color", description: "Markdown table header background.", defaultValue: "var(--bg-inset)", stability: "stable" },
60
+ { name: "table-header-fg", cssCustomProperty: "--table-header-fg", category: "color", description: "Markdown table header foreground.", defaultValue: "var(--fg-primary)", stability: "stable" },
61
+ { name: "table-row-primary-bg", cssCustomProperty: "--table-row-primary-bg", category: "color", description: "Odd markdown table row background.", defaultValue: "var(--bg-panel)", stability: "stable" },
62
+ { name: "table-row-secondary-bg", cssCustomProperty: "--table-row-secondary-bg", category: "color", description: "Even markdown table row background.", defaultValue: "var(--bg-inset)", stability: "stable" },
63
+ { name: "status-ok", cssCustomProperty: "--status-ok", category: "status", description: "Success status color.", defaultValue: "#00cc00", stability: "stable" },
64
+ { name: "status-warn", cssCustomProperty: "--status-warn", category: "status", description: "Warning status color.", defaultValue: "#ff8800", stability: "stable" },
65
+ { name: "status-error", cssCustomProperty: "--status-error", category: "status", description: "Error status color.", defaultValue: "#cc0000", stability: "stable" },
66
+ { name: "app-gap", cssCustomProperty: "--app-gap", category: "spacing", description: "Primary gap between shell regions.", defaultValue: "calc(4px * var(--ui-scale))", stability: "stable" },
67
+ { name: "texture-opacity", cssCustomProperty: "--texture-opacity", category: "interaction", description: "Texture overlay opacity.", defaultValue: "0.05", stability: "stable" },
68
+ { name: "editor-padding", cssCustomProperty: "--editor-padding", category: "spacing", description: "Editor inner padding.", defaultValue: "calc(24px * var(--ui-scale))", stability: "stable" },
69
+ { name: "file-indent-base", cssCustomProperty: "--file-indent-base", category: "spacing", description: "Base indentation for file tree items.", defaultValue: "calc(12px * var(--ui-scale))", stability: "stable" },
70
+ { name: "file-indent-unit", cssCustomProperty: "--file-indent-unit", category: "spacing", description: "Incremental indentation for nested file tree items.", defaultValue: "calc(12px * var(--ui-scale))", stability: "stable" },
71
+ { name: "c-explorer-hover", cssCustomProperty: "--c-explorer-hover", category: "interaction", description: "Explorer hover background.", defaultValue: "rgba(0, 0, 0, 0.06)", stability: "stable" },
72
+ { name: "c-explorer-selected", cssCustomProperty: "--c-explorer-selected", category: "interaction", description: "Explorer selected background.", defaultValue: "var(--accent)", stability: "stable" },
73
+ { name: "c-explorer-selected-text", cssCustomProperty: "--c-explorer-selected-text", category: "interaction", description: "Explorer selected foreground.", defaultValue: "#ffffff", stability: "stable" },
74
+ { name: "c-explorer-drag-bg", cssCustomProperty: "--c-explorer-drag-bg", category: "interaction", description: "Explorer drag surface background.", defaultValue: "rgba(255, 255, 255, 0.08)", stability: "stable" },
75
+ { name: "font-ui", cssCustomProperty: "--font-ui", category: "typography", description: "UI font stack.", defaultValue: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif", stability: "stable" },
76
+ { name: "font-mono", cssCustomProperty: "--font-mono", category: "typography", description: "Monospace font stack.", defaultValue: "'JetBrains Mono', 'IBM Plex Mono', Menlo, monospace", stability: "stable" },
77
+ { name: "font-head", cssCustomProperty: "--font-head", category: "typography", description: "Heading font stack.", defaultValue: "'Inter', sans-serif", stability: "stable" },
78
+ ];
79
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const THEME_CONTRACT_VERSION: "1.0.0";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const THEME_CONTRACT_VERSION = "1.0.0";
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAgB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "type": "module",
4
+ "license": "Apache-2.0",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "sideEffects": false,
9
+ "files": [
10
+ "dist",
11
+ "README.md"
12
+ ],
13
+ "engines": {
14
+ "node": ">=20 <23"
15
+ },
16
+ "keywords": [
17
+ "markdown-workspace",
18
+ "contracts",
19
+ "typescript"
20
+ ],
21
+ "name": "@mdwrk/theme-contract",
22
+ "description": "Portable token and class-name contract for Markdown Workspace themes, renderers, editors, and extensions.",
23
+ "scripts": {
24
+ "build": "tsc -p tsconfig.json",
25
+ "typecheck": "tsc --noEmit -p tsconfig.json",
26
+ "lint": "npm run typecheck",
27
+ "test": "npm run typecheck",
28
+ "prepack": "npm run build"
29
+ },
30
+ "exports": {
31
+ ".": {
32
+ "types": "./dist/index.d.ts",
33
+ "import": "./dist/index.js"
34
+ },
35
+ "./version": {
36
+ "types": "./dist/version.d.ts",
37
+ "import": "./dist/version.js"
38
+ },
39
+ "./tokens": {
40
+ "types": "./dist/tokens.d.ts",
41
+ "import": "./dist/tokens.js"
42
+ },
43
+ "./classes": {
44
+ "types": "./dist/classes.d.ts",
45
+ "import": "./dist/classes.js"
46
+ },
47
+ "./compatibility": {
48
+ "types": "./dist/compatibility.d.ts",
49
+ "import": "./dist/compatibility.js"
50
+ },
51
+ "./themes": {
52
+ "types": "./dist/themes.d.ts",
53
+ "import": "./dist/themes.js"
54
+ },
55
+ "./bridges": {
56
+ "types": "./dist/bridges.d.ts",
57
+ "import": "./dist/bridges.js"
58
+ }
59
+ },
60
+ "main": "./dist/index.js",
61
+ "types": "./dist/index.d.ts",
62
+ "author": "Jacob Stewart <jacob@swarmauri.com>",
63
+ "homepage": "https://mdwrk.com"
64
+ }