diff --git a/packages/client/src/components/ClientApp.svelte b/packages/client/src/components/ClientApp.svelte
index d5bcde111d..15fd2ad600 100644
--- a/packages/client/src/components/ClientApp.svelte
+++ b/packages/client/src/components/ClientApp.svelte
@@ -57,12 +57,6 @@
let permissionError = false
let embedNoScreens = false
- // Get theme class names, which is always lightest for LDFs
- $: isPDFScreen = $screenStore.activeScreen?.variant === ScreenVariant.PDF
- $: themeClassNames = isPDFScreen
- ? "spectrum--light"
- : getThemeClassNames($themeStore.theme)
-
// Determine if we should show devtools or not
$: showDevTools = $devToolsEnabled && !$routeStore.queryParams?.peek
@@ -164,7 +158,7 @@
id="spectrum-root"
lang="en"
dir="ltr"
- class="spectrum spectrum--medium {themeClassNames}"
+ class="spectrum spectrum--medium {getThemeClassNames($themeStore.theme)}"
class:builder={$builderStore.inBuilder}
class:show={fontsLoaded && dataLoaded}
>
diff --git a/packages/client/src/components/CustomThemeWrapper.svelte b/packages/client/src/components/CustomThemeWrapper.svelte
index 61f3b577a8..75ab1dfaf1 100644
--- a/packages/client/src/components/CustomThemeWrapper.svelte
+++ b/packages/client/src/components/CustomThemeWrapper.svelte
@@ -1,12 +1,18 @@
-
+
diff --git a/packages/client/src/components/app/pdf/PDF.svelte b/packages/client/src/components/app/pdf/PDF.svelte
index 75751ae93f..071b399466 100644
--- a/packages/client/src/components/app/pdf/PDF.svelte
+++ b/packages/client/src/components/app/pdf/PDF.svelte
@@ -3,6 +3,7 @@
import { Heading, Button } from "@budibase/bbui"
import { htmlToPdf, pxToPt, A4HeightPx, type PDFOptions } from "./pdf"
import { GridRowHeight } from "@/constants"
+ import CustomThemeWrapper from "@/components/CustomThemeWrapper.svelte"
const component = getContext("component")
const { styleable, Block, BlockComponent } = getContext("sdk")
@@ -30,6 +31,7 @@
const generatePDF = async () => {
rendering = true
await tick()
+ preprocessCSS()
try {
const opts: PDFOptions = {
fileName: safeName,
@@ -43,6 +45,16 @@
rendering = false
}
+ const preprocessCSS = () => {
+ const els = document.getElementsByClassName(
+ "grid-child"
+ ) as unknown as HTMLElement[]
+ for (let el of els) {
+ const styles = window.getComputedStyle(el)
+ el.style.setProperty("grid-column-end", styles.gridColumnEnd, "important")
+ }
+ }
+
const getDividerStyle = (idx: number) => {
const top = (idx + 1) * innerPageHeightPx + doubleMarginPx / 2
return `--idx:"${idx + 1}"; --top:${top}px;`
@@ -90,19 +102,24 @@
/>
{/each}
{/if}
-
diff --git a/packages/client/src/utils/grid.ts b/packages/client/src/utils/grid.ts
index 3412e734c6..08520ff781 100644
--- a/packages/client/src/utils/grid.ts
+++ b/packages/client/src/utils/grid.ts
@@ -116,6 +116,9 @@ export const gridLayout = (node: HTMLDivElement, metadata: GridMetadata) => {
return
}
+ // Add a unique class to elements we mutate so we can easily find them later
+ node.classList.add("grid-child")
+
// Callback to select the component when clicking on the wrapper
selectComponent = (e: Event) => {
e.stopPropagation()