doe-sdk 0.1.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 +509 -0
- package/dist/cli/index.d.ts +17 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +118 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +25 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +100 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/login.d.ts +52 -0
- package/dist/cli/login.d.ts.map +1 -0
- package/dist/cli/login.js +571 -0
- package/dist/cli/login.js.map +1 -0
- package/dist/cli/publish.d.ts +27 -0
- package/dist/cli/publish.d.ts.map +1 -0
- package/dist/cli/publish.js +531 -0
- package/dist/cli/publish.js.map +1 -0
- package/dist/cli/scaffold.d.ts +18 -0
- package/dist/cli/scaffold.d.ts.map +1 -0
- package/dist/cli/scaffold.js +252 -0
- package/dist/cli/scaffold.js.map +1 -0
- package/dist/cli/ui.d.ts +57 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +339 -0
- package/dist/cli/ui.js.map +1 -0
- package/dist/cli/validate.d.ts +28 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +1270 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/compat/legacy-adapter.d.ts +198 -0
- package/dist/compat/legacy-adapter.d.ts.map +1 -0
- package/dist/compat/legacy-adapter.js +318 -0
- package/dist/compat/legacy-adapter.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/client.d.ts +370 -0
- package/dist/runtime/client.d.ts.map +1 -0
- package/dist/runtime/client.js +470 -0
- package/dist/runtime/client.js.map +1 -0
- package/dist/runtime/index.d.ts +8 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +7 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/types/api.d.ts +564 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +11 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/manifest.d.ts +412 -0
- package/dist/types/manifest.d.ts.map +1 -0
- package/dist/types/manifest.js +42 -0
- package/dist/types/manifest.js.map +1 -0
- package/dist/types/marketplace-categories.d.ts +9 -0
- package/dist/types/marketplace-categories.d.ts.map +1 -0
- package/dist/types/marketplace-categories.js +16 -0
- package/dist/types/marketplace-categories.js.map +1 -0
- package/dist/types/permissions.d.ts +86 -0
- package/dist/types/permissions.d.ts.map +1 -0
- package/dist/types/permissions.js +295 -0
- package/dist/types/permissions.js.map +1 -0
- package/dist/types/theme/index.d.ts +7 -0
- package/dist/types/theme/index.d.ts.map +1 -0
- package/dist/types/theme/index.js +7 -0
- package/dist/types/theme/index.js.map +1 -0
- package/dist/types/theme/schema.d.ts +1205 -0
- package/dist/types/theme/schema.d.ts.map +1 -0
- package/dist/types/theme/schema.js +325 -0
- package/dist/types/theme/schema.js.map +1 -0
- package/dist/types/theme/types.d.ts +648 -0
- package/dist/types/theme/types.d.ts.map +1 -0
- package/dist/types/theme/types.js +8 -0
- package/dist/types/theme/types.js.map +1 -0
- package/package.json +75 -0
- package/templates/extension/README.md +254 -0
- package/templates/extension/icon.png +0 -0
- package/templates/extension/index.html +42 -0
- package/templates/extension/manifest.json +57 -0
- package/templates/extension/package.json +24 -0
- package/templates/extension/src/App.tsx +252 -0
- package/templates/extension/src/components/OnboardingComplete.tsx +190 -0
- package/templates/extension/src/components/OnboardingProgress.tsx +82 -0
- package/templates/extension/src/components/OnboardingWelcome.tsx +166 -0
- package/templates/extension/src/components/StepContainer.tsx +217 -0
- package/templates/extension/src/components/playground/CanvasTab.tsx +24 -0
- package/templates/extension/src/components/playground/ConfigTab.tsx +24 -0
- package/templates/extension/src/components/playground/EventsTab.tsx +24 -0
- package/templates/extension/src/components/playground/InfoTab.tsx +89 -0
- package/templates/extension/src/components/playground/NetworkTab.tsx +24 -0
- package/templates/extension/src/components/playground/PlaygroundContainer.tsx +184 -0
- package/templates/extension/src/components/playground/ResultDisplay.tsx +30 -0
- package/templates/extension/src/components/playground/StorageTab.tsx +24 -0
- package/templates/extension/src/components/playground/UITab.tsx +24 -0
- package/templates/extension/src/components/shared/CanvasControls.tsx +130 -0
- package/templates/extension/src/components/shared/ConfigControls.tsx +154 -0
- package/templates/extension/src/components/shared/EventsControls.tsx +232 -0
- package/templates/extension/src/components/shared/InfoControls.tsx +281 -0
- package/templates/extension/src/components/shared/NetworkControls.tsx +328 -0
- package/templates/extension/src/components/shared/StorageControls.tsx +203 -0
- package/templates/extension/src/components/shared/UIControls.tsx +199 -0
- package/templates/extension/src/components/shared/index.ts +15 -0
- package/templates/extension/src/components/steps/CanvasStep.tsx +67 -0
- package/templates/extension/src/components/steps/ClipboardStep.tsx +167 -0
- package/templates/extension/src/components/steps/ConfigStep.tsx +63 -0
- package/templates/extension/src/components/steps/EventsStep.tsx +69 -0
- package/templates/extension/src/components/steps/InfoStep.tsx +70 -0
- package/templates/extension/src/components/steps/NetworkStep.tsx +70 -0
- package/templates/extension/src/components/steps/StorageStep.tsx +61 -0
- package/templates/extension/src/components/steps/UIStep.tsx +70 -0
- package/templates/extension/src/hooks/useDoe.ts +93 -0
- package/templates/extension/src/hooks/useOnboarding.ts +264 -0
- package/templates/extension/src/hooks/usePointerHandlers.ts +105 -0
- package/templates/extension/src/main.tsx +18 -0
- package/templates/extension/src/styles.ts +265 -0
- package/templates/extension/tsconfig.json +28 -0
- package/templates/extension/vite.config.ts +32 -0
- package/templates/theme/README.md +132 -0
- package/templates/theme/manifest.json +19 -0
- package/templates/theme/package.json +16 -0
- package/templates/theme/styles/.gitkeep +2 -0
- package/templates/theme/themes/theme.json +32 -0
- package/templates/theme/vite-plugin-doe-theme.ts +53 -0
- package/templates/theme/vite.config.ts +10 -0
|
@@ -0,0 +1,648 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Aesthetic Theming System Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the complete type system for DOE's theming capabilities.
|
|
5
|
+
* Theme authors provide 6 required colors; the system derives 50+ tokens.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Theme metadata for identification and display
|
|
9
|
+
*/
|
|
10
|
+
export interface ThemeMeta {
|
|
11
|
+
/** Unique identifier: "soft-pink-dream" */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Display name: "Soft Pink Dream" */
|
|
14
|
+
name: string;
|
|
15
|
+
/** Theme author: "Jane Doe" */
|
|
16
|
+
author: string;
|
|
17
|
+
/** Semantic version: "1.0.0" */
|
|
18
|
+
version: string;
|
|
19
|
+
/** Base type for derivation algorithm */
|
|
20
|
+
type: "light" | "dark";
|
|
21
|
+
/** Optional description: "A dreamy pastel aesthetic" */
|
|
22
|
+
description?: string;
|
|
23
|
+
/** Searchable tags: ["aesthetic", "pastel", "feminine"] */
|
|
24
|
+
tags?: string[];
|
|
25
|
+
/** Path to preview image */
|
|
26
|
+
preview?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Core color tokens - 6 required, 8+ optional
|
|
30
|
+
* Theme authors must provide the required colors; others are derived
|
|
31
|
+
*/
|
|
32
|
+
export interface ThemeColors {
|
|
33
|
+
/** App background color */
|
|
34
|
+
background: string;
|
|
35
|
+
/** Panels, cards, inputs surface */
|
|
36
|
+
surface: string;
|
|
37
|
+
/** Primary text color */
|
|
38
|
+
text: string;
|
|
39
|
+
/** Secondary/muted text color */
|
|
40
|
+
textMuted: string;
|
|
41
|
+
/** Brand color for selections, links, accents */
|
|
42
|
+
accent: string;
|
|
43
|
+
/** Borders and dividers */
|
|
44
|
+
border: string;
|
|
45
|
+
/** Secondary accent (default: accent hue-shifted by 30deg) */
|
|
46
|
+
accentSecondary?: string;
|
|
47
|
+
/** Elevated surfaces like modals (default: surface) */
|
|
48
|
+
surfaceElevated?: string;
|
|
49
|
+
/** Tertiary text (default: textMuted @ 60% opacity) */
|
|
50
|
+
textSubtle?: string;
|
|
51
|
+
/** Text selection background (default: accent @ 20% opacity) */
|
|
52
|
+
selection?: string;
|
|
53
|
+
/** Success state color */
|
|
54
|
+
success?: string;
|
|
55
|
+
/** Warning state color */
|
|
56
|
+
warning?: string;
|
|
57
|
+
/** Error/danger state color */
|
|
58
|
+
error?: string;
|
|
59
|
+
/** Info/neutral state color */
|
|
60
|
+
info?: string;
|
|
61
|
+
/** Gradient for accent buttons/highlights: "linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%)" */
|
|
62
|
+
gradient?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Derived color tokens generated by the derivation engine
|
|
66
|
+
*/
|
|
67
|
+
export interface DerivedColorTokens {
|
|
68
|
+
surfaceHover: string;
|
|
69
|
+
surfaceActive: string;
|
|
70
|
+
surfaceElevated: string;
|
|
71
|
+
textSubtle: string;
|
|
72
|
+
textDisabled: string;
|
|
73
|
+
textInverse: string;
|
|
74
|
+
accentHover: string;
|
|
75
|
+
accentActive: string;
|
|
76
|
+
accentMuted: string;
|
|
77
|
+
accentSubtle: string;
|
|
78
|
+
accentSecondary: string;
|
|
79
|
+
selection: string;
|
|
80
|
+
success: string;
|
|
81
|
+
successMuted: string;
|
|
82
|
+
warning: string;
|
|
83
|
+
warningMuted: string;
|
|
84
|
+
error: string;
|
|
85
|
+
errorMuted: string;
|
|
86
|
+
info: string;
|
|
87
|
+
infoMuted: string;
|
|
88
|
+
borderSubtle: string;
|
|
89
|
+
borderStrong: string;
|
|
90
|
+
shadowColor: string;
|
|
91
|
+
overlay: string;
|
|
92
|
+
overlayStrong: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Typography configuration tokens
|
|
96
|
+
*/
|
|
97
|
+
export interface ThemeTypography {
|
|
98
|
+
/** Body text font: "Inter, system-ui, sans-serif" */
|
|
99
|
+
fontFamily?: string;
|
|
100
|
+
/** Headings font: "Playfair Display, serif" */
|
|
101
|
+
fontFamilyDisplay?: string;
|
|
102
|
+
/** Code/mono font: "JetBrains Mono, monospace" */
|
|
103
|
+
fontFamilyMono?: string;
|
|
104
|
+
/** Base font size: "16px" */
|
|
105
|
+
fontSizeBase?: string;
|
|
106
|
+
/** Scale ratio: 1.25 (major third), 1.333 (perfect fourth) */
|
|
107
|
+
fontSizeScale?: number;
|
|
108
|
+
/** Normal weight: 400 */
|
|
109
|
+
fontWeightNormal?: number;
|
|
110
|
+
/** Medium weight: 500 */
|
|
111
|
+
fontWeightMedium?: number;
|
|
112
|
+
/** Bold weight: 600 */
|
|
113
|
+
fontWeightBold?: number;
|
|
114
|
+
/** Letter spacing: "0em" (default), "0.02em" for airy feel */
|
|
115
|
+
letterSpacing?: string;
|
|
116
|
+
/** Heading letter spacing */
|
|
117
|
+
letterSpacingHeading?: string;
|
|
118
|
+
/** Line height: 1.5 (default), 1.7 for readability */
|
|
119
|
+
lineHeight?: number;
|
|
120
|
+
/** Heading line height: 1.2 */
|
|
121
|
+
lineHeightHeading?: number;
|
|
122
|
+
/** Text rendering mode */
|
|
123
|
+
textRendering?: "auto" | "optimizeSpeed" | "optimizeLegibility";
|
|
124
|
+
/** Font smoothing mode */
|
|
125
|
+
fontSmoothing?: "auto" | "antialiased" | "subpixel-antialiased";
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Fully resolved typography tokens with computed scale
|
|
129
|
+
*/
|
|
130
|
+
export interface ResolvedTypography extends Required<ThemeTypography> {
|
|
131
|
+
/** Computed font sizes based on scale */
|
|
132
|
+
fontSizeXs: string;
|
|
133
|
+
fontSizeSm: string;
|
|
134
|
+
fontSizeMd: string;
|
|
135
|
+
fontSizeLg: string;
|
|
136
|
+
fontSizeXl: string;
|
|
137
|
+
fontSize2xl: string;
|
|
138
|
+
fontSize3xl: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Visual effect tokens (glass, shadows, glow, noise)
|
|
142
|
+
*/
|
|
143
|
+
export interface ThemeEffects {
|
|
144
|
+
/** Enable glass effect on surfaces */
|
|
145
|
+
glassEnabled?: boolean;
|
|
146
|
+
/** Backdrop blur amount: "12px" */
|
|
147
|
+
glassBlur?: string;
|
|
148
|
+
/** Surface opacity: 0.8 */
|
|
149
|
+
glassOpacity?: number;
|
|
150
|
+
/** Backdrop saturation: 1.2 */
|
|
151
|
+
glassSaturation?: number;
|
|
152
|
+
/** Glass border: "1px solid rgba(255,255,255,0.2)" */
|
|
153
|
+
glassBorder?: string;
|
|
154
|
+
/** Shadow style preset */
|
|
155
|
+
shadowStyle?: ShadowStyle;
|
|
156
|
+
/** Shadow base color (for colored/neon styles) */
|
|
157
|
+
shadowColor?: string;
|
|
158
|
+
/** Small shadow */
|
|
159
|
+
shadowSm?: string;
|
|
160
|
+
/** Medium shadow */
|
|
161
|
+
shadowMd?: string;
|
|
162
|
+
/** Large shadow */
|
|
163
|
+
shadowLg?: string;
|
|
164
|
+
/** Extra large shadow */
|
|
165
|
+
shadowXl?: string;
|
|
166
|
+
/** Enable glow on interactive elements */
|
|
167
|
+
glowEnabled?: boolean;
|
|
168
|
+
/** Glow color (default: accent) */
|
|
169
|
+
glowColor?: string;
|
|
170
|
+
/** Glow intensity: 0-1 */
|
|
171
|
+
glowIntensity?: number;
|
|
172
|
+
/** Glow spread: "20px" */
|
|
173
|
+
glowSpread?: string;
|
|
174
|
+
/** Add film grain texture */
|
|
175
|
+
noiseEnabled?: boolean;
|
|
176
|
+
/** Noise opacity: 0.02-0.1 */
|
|
177
|
+
noiseOpacity?: number;
|
|
178
|
+
/** Noise blend mode: "overlay" */
|
|
179
|
+
noiseBlendMode?: string;
|
|
180
|
+
/** Focus indicator color (default: accent) */
|
|
181
|
+
focusRingColor?: string;
|
|
182
|
+
/** Focus ring style */
|
|
183
|
+
focusRingStyle?: "solid" | "dashed" | "glow";
|
|
184
|
+
/** Focus ring width: "2px" */
|
|
185
|
+
focusRingWidth?: string;
|
|
186
|
+
/** Focus ring offset: "2px" */
|
|
187
|
+
focusRingOffset?: string;
|
|
188
|
+
/** Scrollbar width: "12px" */
|
|
189
|
+
scrollbarWidth?: string;
|
|
190
|
+
/** Scrollbar border radius */
|
|
191
|
+
scrollbarRadius?: string;
|
|
192
|
+
/** Enable 3D bevel effects */
|
|
193
|
+
bevelEnabled?: boolean;
|
|
194
|
+
/** Bevel border width: "2px" */
|
|
195
|
+
bevelWidth?: string;
|
|
196
|
+
/** Bevel highlight color (top/left): "#ffffff" */
|
|
197
|
+
bevelLight?: string;
|
|
198
|
+
/** Bevel shadow color (bottom/right): "#808080" */
|
|
199
|
+
bevelDark?: string;
|
|
200
|
+
}
|
|
201
|
+
/** Shadow style presets */
|
|
202
|
+
export type ShadowStyle = "none" | "subtle" | "soft" | "medium" | "hard" | "colored" | "neon";
|
|
203
|
+
/**
|
|
204
|
+
* Fully resolved effects tokens
|
|
205
|
+
*/
|
|
206
|
+
export interface ResolvedEffects extends Required<ThemeEffects> {
|
|
207
|
+
/** Computed shadows based on style */
|
|
208
|
+
shadowSmComputed: string;
|
|
209
|
+
shadowMdComputed: string;
|
|
210
|
+
shadowLgComputed: string;
|
|
211
|
+
shadowXlComputed: string;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Shape and border tokens
|
|
215
|
+
*/
|
|
216
|
+
export interface ThemeShapes {
|
|
217
|
+
/** Border radius preset */
|
|
218
|
+
borderRadius?: BorderRadiusPreset;
|
|
219
|
+
/** Small radius explicit value: "4px" */
|
|
220
|
+
borderRadiusSm?: string;
|
|
221
|
+
/** Medium radius explicit value: "8px" */
|
|
222
|
+
borderRadiusMd?: string;
|
|
223
|
+
/** Large radius explicit value: "16px" */
|
|
224
|
+
borderRadiusLg?: string;
|
|
225
|
+
/** Extra large radius: "24px" */
|
|
226
|
+
borderRadiusXl?: string;
|
|
227
|
+
/** Full/pill radius: "9999px" */
|
|
228
|
+
borderRadiusFull?: string;
|
|
229
|
+
/** Button rendering style */
|
|
230
|
+
buttonStyle?: "flat" | "raised" | "outlined" | "soft" | "glass";
|
|
231
|
+
/** Input rendering style */
|
|
232
|
+
inputStyle?: "bordered" | "filled" | "underline" | "ghost";
|
|
233
|
+
/** Card rendering style */
|
|
234
|
+
cardStyle?: "flat" | "raised" | "outlined" | "glass";
|
|
235
|
+
/** Default border width: "1px" */
|
|
236
|
+
borderWidth?: string;
|
|
237
|
+
/** Thick border width: "2px" */
|
|
238
|
+
borderWidthThick?: string;
|
|
239
|
+
/** Divider line style */
|
|
240
|
+
dividerStyle?: "solid" | "dashed" | "dotted" | "gradient";
|
|
241
|
+
}
|
|
242
|
+
/** Border radius presets */
|
|
243
|
+
export type BorderRadiusPreset = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "full";
|
|
244
|
+
/**
|
|
245
|
+
* Fully resolved shapes tokens
|
|
246
|
+
*/
|
|
247
|
+
export interface ResolvedShapes extends Required<ThemeShapes> {
|
|
248
|
+
/** Extra small radius */
|
|
249
|
+
borderRadiusXs: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Animation and motion tokens
|
|
253
|
+
*/
|
|
254
|
+
export interface ThemeMotion {
|
|
255
|
+
/** Easing curve preset */
|
|
256
|
+
curve?: EasingPreset;
|
|
257
|
+
/** Explicit cubic-bezier (overrides preset) */
|
|
258
|
+
curveValue?: string;
|
|
259
|
+
/** Duration multiplier: 1.0 = normal, 0.5 = fast, 1.5 = slow, 0 = instant */
|
|
260
|
+
durationScale?: number;
|
|
261
|
+
/** Scale on hover: 1.02 for subtle, 1.05 for noticeable */
|
|
262
|
+
hoverScale?: number;
|
|
263
|
+
/** Y translation on hover: "-2px" */
|
|
264
|
+
hoverLift?: string;
|
|
265
|
+
/** Brightness multiplier on hover: 1.1 */
|
|
266
|
+
hoverBrightness?: number;
|
|
267
|
+
/** Transition property: "all" or specific */
|
|
268
|
+
transitionProperty?: string;
|
|
269
|
+
/** Honor prefers-reduced-motion (default: true) */
|
|
270
|
+
respectReducedMotion?: boolean;
|
|
271
|
+
}
|
|
272
|
+
/** Easing curve presets */
|
|
273
|
+
export type EasingPreset = "linear" | "ease" | "ease-in" | "ease-out" | "ease-in-out" | "spring" | "bounce" | "snappy" | "smooth";
|
|
274
|
+
/**
|
|
275
|
+
* Fully resolved motion tokens
|
|
276
|
+
*/
|
|
277
|
+
export interface ResolvedMotion extends Required<ThemeMotion> {
|
|
278
|
+
/** Computed easing value */
|
|
279
|
+
curveComputed: string;
|
|
280
|
+
/** Computed durations */
|
|
281
|
+
durationFast: string;
|
|
282
|
+
durationNormal: string;
|
|
283
|
+
durationSlow: string;
|
|
284
|
+
durationEmphasis: string;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Background tokens for app and canvas
|
|
288
|
+
*/
|
|
289
|
+
export interface ThemeBackgrounds {
|
|
290
|
+
/** App background: color, gradient, or image URL */
|
|
291
|
+
appBackground?: string;
|
|
292
|
+
/** Explicit image URL */
|
|
293
|
+
appBackgroundImage?: string;
|
|
294
|
+
/** Background size: "cover" */
|
|
295
|
+
appBackgroundSize?: string;
|
|
296
|
+
/** Background position: "center" */
|
|
297
|
+
appBackgroundPosition?: string;
|
|
298
|
+
/** Background attachment */
|
|
299
|
+
appBackgroundAttachment?: "scroll" | "fixed";
|
|
300
|
+
/** Blur the background image */
|
|
301
|
+
appBackgroundBlur?: string;
|
|
302
|
+
/** Overlay color: "rgba(0,0,0,0.3)" */
|
|
303
|
+
appBackgroundOverlay?: string;
|
|
304
|
+
/** Canvas-specific background */
|
|
305
|
+
canvasBackground?: string;
|
|
306
|
+
/** Canvas pattern type */
|
|
307
|
+
canvasPattern?: CanvasPattern;
|
|
308
|
+
/** Pattern color */
|
|
309
|
+
canvasPatternColor?: string;
|
|
310
|
+
/** Pattern size: "20px" */
|
|
311
|
+
canvasPatternSize?: string;
|
|
312
|
+
/** Custom pattern image URL */
|
|
313
|
+
canvasPatternUrl?: string;
|
|
314
|
+
/** Enable vignette effect */
|
|
315
|
+
canvasVignetteEnabled?: boolean;
|
|
316
|
+
/** Vignette color (default: black) */
|
|
317
|
+
canvasVignetteColor?: string;
|
|
318
|
+
/** Vignette intensity: 0-1 */
|
|
319
|
+
canvasVignetteIntensity?: number;
|
|
320
|
+
/** Vignette size: "50%" */
|
|
321
|
+
canvasVignetteSize?: string;
|
|
322
|
+
/** Override surface with gradient/image */
|
|
323
|
+
surfaceBackground?: string;
|
|
324
|
+
/** Modal-specific background */
|
|
325
|
+
modalBackground?: string;
|
|
326
|
+
/** Sidebar-specific background */
|
|
327
|
+
sidebarBackground?: string;
|
|
328
|
+
}
|
|
329
|
+
/** Canvas pattern presets */
|
|
330
|
+
export type CanvasPattern = "none" | "dots" | "grid" | "lines" | "cross" | "custom";
|
|
331
|
+
/**
|
|
332
|
+
* Fully resolved backgrounds tokens
|
|
333
|
+
*/
|
|
334
|
+
export type ResolvedBackgrounds = Required<ThemeBackgrounds>;
|
|
335
|
+
/**
|
|
336
|
+
* Asset configuration (fonts, textures, cursors)
|
|
337
|
+
*/
|
|
338
|
+
export interface ThemeAssets {
|
|
339
|
+
/** Bundled font assets */
|
|
340
|
+
fonts?: ThemeFontAsset[];
|
|
341
|
+
/** Bundled texture assets */
|
|
342
|
+
textures?: ThemeTextureAsset[];
|
|
343
|
+
/** Default cursor URL or data URI */
|
|
344
|
+
cursorDefault?: string;
|
|
345
|
+
/** Pointer cursor */
|
|
346
|
+
cursorPointer?: string;
|
|
347
|
+
/** Text cursor */
|
|
348
|
+
cursorText?: string;
|
|
349
|
+
/** Grab cursor */
|
|
350
|
+
cursorGrab?: string;
|
|
351
|
+
/** Grabbing cursor */
|
|
352
|
+
cursorGrabbing?: string;
|
|
353
|
+
/** Crosshair cursor */
|
|
354
|
+
cursorCrosshair?: string;
|
|
355
|
+
/** Icon pack override */
|
|
356
|
+
iconSet?: string;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Font asset definition
|
|
360
|
+
*/
|
|
361
|
+
export interface ThemeFontAsset {
|
|
362
|
+
/** Font family name: "Playfair Display" */
|
|
363
|
+
family: string;
|
|
364
|
+
/** Source path: "./fonts/PlayfairDisplay.woff2" */
|
|
365
|
+
src: string;
|
|
366
|
+
/** Font weight: "400" or "400 700" for range */
|
|
367
|
+
weight?: string;
|
|
368
|
+
/** Font style */
|
|
369
|
+
style?: "normal" | "italic";
|
|
370
|
+
/** Font display strategy */
|
|
371
|
+
display?: "auto" | "block" | "swap" | "fallback" | "optional";
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Texture asset definition
|
|
375
|
+
*/
|
|
376
|
+
export interface ThemeTextureAsset {
|
|
377
|
+
/** Unique identifier: "noise", "paper" */
|
|
378
|
+
id: string;
|
|
379
|
+
/** Source path: "./textures/noise.png" */
|
|
380
|
+
src: string;
|
|
381
|
+
/** Texture type */
|
|
382
|
+
type: "noise" | "pattern" | "overlay";
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Loaded font with resolved data
|
|
386
|
+
*/
|
|
387
|
+
export interface LoadedFont extends ThemeFontAsset {
|
|
388
|
+
/** Resolved data URL or object URL */
|
|
389
|
+
dataUrl?: string;
|
|
390
|
+
/** Font format */
|
|
391
|
+
format: "woff2" | "woff" | "ttf" | "otf";
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Loaded texture with resolved data
|
|
395
|
+
*/
|
|
396
|
+
export interface LoadedTexture extends ThemeTextureAsset {
|
|
397
|
+
/** Resolved data URL */
|
|
398
|
+
dataUrl: string;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* All loaded assets
|
|
402
|
+
*/
|
|
403
|
+
export interface LoadedAssets {
|
|
404
|
+
fonts: LoadedFont[];
|
|
405
|
+
textures: LoadedTexture[];
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Canvas-specific tokens for tldraw integration
|
|
409
|
+
*/
|
|
410
|
+
export interface ThemeCanvas {
|
|
411
|
+
/** Default fill for new shapes */
|
|
412
|
+
shapeFill?: string;
|
|
413
|
+
/** Default stroke color */
|
|
414
|
+
shapeStroke?: string;
|
|
415
|
+
/** Default text in shapes */
|
|
416
|
+
shapeText?: string;
|
|
417
|
+
/** Selection box color (default: accent) */
|
|
418
|
+
selectionColor?: string;
|
|
419
|
+
/** Selection fill (default: accent @ 10%) */
|
|
420
|
+
selectionFill?: string;
|
|
421
|
+
/** Resize handle color */
|
|
422
|
+
handleColor?: string;
|
|
423
|
+
/** Grid line color */
|
|
424
|
+
gridColor?: string;
|
|
425
|
+
/** Grid opacity */
|
|
426
|
+
gridOpacity?: number;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Fully resolved canvas tokens
|
|
430
|
+
*/
|
|
431
|
+
export type ResolvedCanvas = Required<ThemeCanvas>;
|
|
432
|
+
/**
|
|
433
|
+
* Complete theme definition as authored by theme creators
|
|
434
|
+
* Extends ThemeMeta with all optional category configurations
|
|
435
|
+
*/
|
|
436
|
+
export interface DOETheme extends ThemeMeta {
|
|
437
|
+
/** Color tokens (6 required) */
|
|
438
|
+
colors: ThemeColors;
|
|
439
|
+
/** Typography configuration */
|
|
440
|
+
typography?: ThemeTypography;
|
|
441
|
+
/** Visual effects configuration */
|
|
442
|
+
effects?: ThemeEffects;
|
|
443
|
+
/** Shape and border configuration */
|
|
444
|
+
shapes?: ThemeShapes;
|
|
445
|
+
/** Animation configuration */
|
|
446
|
+
motion?: ThemeMotion;
|
|
447
|
+
/** Background configuration */
|
|
448
|
+
backgrounds?: ThemeBackgrounds;
|
|
449
|
+
/** Asset configuration */
|
|
450
|
+
assets?: ThemeAssets;
|
|
451
|
+
/** Canvas-specific configuration */
|
|
452
|
+
canvas?: ThemeCanvas;
|
|
453
|
+
/** Component-level overrides (escape hatch) */
|
|
454
|
+
components?: {
|
|
455
|
+
[componentName: string]: Record<string, string>;
|
|
456
|
+
};
|
|
457
|
+
/**
|
|
458
|
+
* Custom CSS file path (relative to theme location) or inline CSS string.
|
|
459
|
+
* When provided, CSS will be auto-scoped to [data-theme="themeId"] selectors.
|
|
460
|
+
* Example: "./styles.css" or inline CSS string
|
|
461
|
+
*/
|
|
462
|
+
customCSS?: string;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* All resolved token categories combined
|
|
466
|
+
*/
|
|
467
|
+
export interface ResolvedTokens {
|
|
468
|
+
colors: Required<ThemeColors> & DerivedColorTokens;
|
|
469
|
+
typography: ResolvedTypography;
|
|
470
|
+
effects: ResolvedEffects;
|
|
471
|
+
shapes: ResolvedShapes;
|
|
472
|
+
motion: ResolvedMotion;
|
|
473
|
+
backgrounds: ResolvedBackgrounds;
|
|
474
|
+
canvas: ResolvedCanvas;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Fully resolved theme with all derived values and loaded assets
|
|
478
|
+
*/
|
|
479
|
+
export interface ResolvedTheme {
|
|
480
|
+
/** Original metadata */
|
|
481
|
+
meta: ThemeMeta;
|
|
482
|
+
/** All resolved tokens */
|
|
483
|
+
tokens: ResolvedTokens;
|
|
484
|
+
/** Loaded assets (fonts, textures) */
|
|
485
|
+
assets: LoadedAssets;
|
|
486
|
+
/** Generated CSS variables string */
|
|
487
|
+
css: string;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Theme manifest for extension registry
|
|
491
|
+
*/
|
|
492
|
+
export interface ThemeManifest {
|
|
493
|
+
/** Theme definition */
|
|
494
|
+
theme: DOETheme;
|
|
495
|
+
/** Source: "builtin" | "extension" */
|
|
496
|
+
source: "builtin" | "extension";
|
|
497
|
+
/** Extension ID if from extension */
|
|
498
|
+
extensionId?: string;
|
|
499
|
+
/** Whether theme is currently active */
|
|
500
|
+
isActive?: boolean;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Theme validation result
|
|
504
|
+
*/
|
|
505
|
+
export interface ThemeValidationResult {
|
|
506
|
+
/** Whether validation passed */
|
|
507
|
+
valid: boolean;
|
|
508
|
+
/** Validation errors (blocking) */
|
|
509
|
+
errors: ThemeValidationError[];
|
|
510
|
+
/** Validation warnings (non-blocking) */
|
|
511
|
+
warnings: ThemeValidationWarning[];
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Validation error detail
|
|
515
|
+
*/
|
|
516
|
+
export interface ThemeValidationError {
|
|
517
|
+
/** Error code */
|
|
518
|
+
code: string;
|
|
519
|
+
/** Human-readable message */
|
|
520
|
+
message: string;
|
|
521
|
+
/** Path to problematic token */
|
|
522
|
+
path: string;
|
|
523
|
+
/** Expected value/type */
|
|
524
|
+
expected?: string;
|
|
525
|
+
/** Received value */
|
|
526
|
+
received?: string;
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* Validation warning detail
|
|
530
|
+
*/
|
|
531
|
+
export interface ThemeValidationWarning {
|
|
532
|
+
/** Warning code */
|
|
533
|
+
code: string;
|
|
534
|
+
/** Human-readable message */
|
|
535
|
+
message: string;
|
|
536
|
+
/** Path to problematic token */
|
|
537
|
+
path: string;
|
|
538
|
+
/** Suggestion for fixing */
|
|
539
|
+
suggestion?: string;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Accessibility audit result
|
|
543
|
+
*/
|
|
544
|
+
export interface AccessibilityAuditResult {
|
|
545
|
+
/** Overall pass/fail */
|
|
546
|
+
passed: boolean;
|
|
547
|
+
/** Individual contrast checks */
|
|
548
|
+
contrastChecks: ContrastCheck[];
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* Single contrast ratio check
|
|
552
|
+
*/
|
|
553
|
+
export interface ContrastCheck {
|
|
554
|
+
/** Foreground color name */
|
|
555
|
+
foreground: string;
|
|
556
|
+
/** Background color name */
|
|
557
|
+
background: string;
|
|
558
|
+
/** Computed contrast ratio */
|
|
559
|
+
ratio: number;
|
|
560
|
+
/** Required ratio for AA */
|
|
561
|
+
requiredAA: number;
|
|
562
|
+
/** Required ratio for AAA */
|
|
563
|
+
requiredAAA: number;
|
|
564
|
+
/** Whether AA passes */
|
|
565
|
+
passesAA: boolean;
|
|
566
|
+
/** Whether AAA passes */
|
|
567
|
+
passesAAA: boolean;
|
|
568
|
+
/** Whether this is for large text */
|
|
569
|
+
isLargeText: boolean;
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Custom token overrides (path -> value)
|
|
573
|
+
*/
|
|
574
|
+
export type ThemeCustomOverrides = Record<string, string>;
|
|
575
|
+
/**
|
|
576
|
+
* Theme slice state shape
|
|
577
|
+
*/
|
|
578
|
+
export interface ThemeSliceState {
|
|
579
|
+
/** Currently active theme ID */
|
|
580
|
+
activeThemeId: string;
|
|
581
|
+
/** User's per-token overrides */
|
|
582
|
+
customOverrides: ThemeCustomOverrides;
|
|
583
|
+
/** All registered themes */
|
|
584
|
+
installedThemes: ThemeManifest[];
|
|
585
|
+
/** Fully resolved current theme (computed) */
|
|
586
|
+
resolvedTheme: ResolvedTheme | null;
|
|
587
|
+
/** Loading state */
|
|
588
|
+
isLoading: boolean;
|
|
589
|
+
/** Error state */
|
|
590
|
+
loadError: string | null;
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* Theme slice actions
|
|
594
|
+
*/
|
|
595
|
+
export interface ThemeSliceActions {
|
|
596
|
+
/** Switch to a different theme */
|
|
597
|
+
setTheme: (themeId: string) => Promise<void>;
|
|
598
|
+
/** Set a custom override for a specific token path */
|
|
599
|
+
setCustomOverride: (path: string, value: string) => void;
|
|
600
|
+
/** Clear all custom overrides */
|
|
601
|
+
clearCustomOverrides: () => void;
|
|
602
|
+
/** Clear a specific override */
|
|
603
|
+
clearOverride: (path: string) => void;
|
|
604
|
+
/** Register a new theme */
|
|
605
|
+
registerTheme: (manifest: ThemeManifest) => void;
|
|
606
|
+
/** Unregister a theme */
|
|
607
|
+
unregisterTheme: (themeId: string) => void;
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* Complete theme slice interface
|
|
611
|
+
*/
|
|
612
|
+
export interface ThemeSlice extends ThemeSliceState, ThemeSliceActions {
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Theme API exposed to extensions
|
|
616
|
+
*/
|
|
617
|
+
export interface ThemeAPI {
|
|
618
|
+
/** Get current theme ID */
|
|
619
|
+
getActiveThemeId(): string;
|
|
620
|
+
/** Get a single token value by path */
|
|
621
|
+
getToken(path: string): string;
|
|
622
|
+
/** Get all resolved tokens */
|
|
623
|
+
getTokens(): ResolvedTokens;
|
|
624
|
+
/** Get current theme type (light/dark) */
|
|
625
|
+
getThemeType(): "light" | "dark";
|
|
626
|
+
/** Subscribe to theme changes */
|
|
627
|
+
onThemeChange(callback: (tokens: ResolvedTokens) => void): () => void;
|
|
628
|
+
/** Get CSS variable name for a token path */
|
|
629
|
+
getCSSVariable(tokenPath: string): string;
|
|
630
|
+
/** Inject custom CSS (returns cleanup function) */
|
|
631
|
+
injectStyles(css: string): () => void;
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Theme contribution in extension manifest
|
|
635
|
+
*/
|
|
636
|
+
export interface ThemeContribution {
|
|
637
|
+
/** Path to theme JSON file */
|
|
638
|
+
path: string;
|
|
639
|
+
/** Theme ID (optional, derived from JSON if not provided) */
|
|
640
|
+
id?: string;
|
|
641
|
+
/** Display label override (defaults to theme.name from JSON) */
|
|
642
|
+
label?: string;
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Extension type including theme
|
|
646
|
+
*/
|
|
647
|
+
export type ExtensionType = "tool" | "shape" | "panel" | "theme";
|
|
648
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/theme/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Aesthetic Theming System Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the complete type system for DOE's theming capabilities.
|
|
5
|
+
* Theme authors provide 6 required colors; the system derives 50+ tokens.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|