diff --git a/packages/types/extensions.d.ts b/packages/types/extensions.d.ts
index fca442fe9..a60dcff7b 100644
--- a/packages/types/extensions.d.ts
+++ b/packages/types/extensions.d.ts
@@ -22,9 +22,10 @@ export interface FileFormatDefinition {
}
export interface ThemeDefinition {
- className: string;
+ themeClassName: string;
themeName: string;
themeType: 'light' | 'dark';
+ themeCss?: string;
}
export interface PluginDefinition {
diff --git a/packages/web/src/Screen.svelte b/packages/web/src/Screen.svelte
index 8d2e919de..a05fbbd8c 100644
--- a/packages/web/src/Screen.svelte
+++ b/packages/web/src/Screen.svelte
@@ -26,6 +26,12 @@
$: currentThemeType = $currentThemeDefinition?.themeType == 'dark' ? 'theme-type-dark' : 'theme-type-light';
+
+ {#if $currentThemeDefinition?.themeCss}
+ {@html ``}
+ {/if}
+
+
currentTheme.set(theme.className),
+ onClick: () => currentTheme.set(theme.themeClassName),
// onPreview: () => {
// const old = get(currentTheme);
// currentTheme.set(css);
diff --git a/packages/web/src/designer/Designer.svelte b/packages/web/src/designer/Designer.svelte
index 6b7acbdb7..f7f13ff44 100644
--- a/packages/web/src/designer/Designer.svelte
+++ b/packages/web/src/designer/Designer.svelte
@@ -695,13 +695,17 @@
if (css) css += '\n';
css += cssItem;
}
+ if ($currentThemeDefinition?.themeCss) {
+ if (css) css += '\n';
+ css += $currentThemeDefinition?.themeCss;
+ }
saveFileToDisk(async filePath => {
await apiCall('files/export-diagram', {
filePath,
html: domCanvas.outerHTML,
css,
themeType: $currentThemeDefinition?.themeType,
- themeClassName: $currentThemeDefinition?.className,
+ themeClassName: $currentThemeDefinition?.themeClassName,
});
});
}
diff --git a/packages/web/src/plugins/ThemeDark.svelte b/packages/web/src/plugins/ThemeDark.svelte
index f0a543a47..2011d945f 100644
--- a/packages/web/src/plugins/ThemeDark.svelte
+++ b/packages/web/src/plugins/ThemeDark.svelte
@@ -1,5 +1,5 @@
diff --git a/packages/web/src/plugins/ThemeLight.svelte b/packages/web/src/plugins/ThemeLight.svelte
index 1956d393b..fbc44e3be 100644
--- a/packages/web/src/plugins/ThemeLight.svelte
+++ b/packages/web/src/plugins/ThemeLight.svelte
@@ -1,5 +1,5 @@
diff --git a/packages/web/src/stores.ts b/packages/web/src/stores.ts
index 0266b9b89..8bc5649fe 100644
--- a/packages/web/src/stores.ts
+++ b/packages/web/src/stores.ts
@@ -73,7 +73,7 @@ export const loadingPluginStore = writable({
});
export const currentThemeDefinition = derived([currentTheme, extensions], ([$currentTheme, $extensions]) =>
- $extensions.themes.find(x => x.className == $currentTheme)
+ $extensions.themes.find(x => x.themeClassName == $currentTheme)
);
subscribeCssVariable(selectedWidget, x => (x ? 1 : 0), '--dim-visible-left-panel');