import type * as Pinnacle from "../index.mjs"; /** * Sparse override layered on top of your team's theme. Every field is optional; provided fields replace the corresponding team defaults at render time. URL fields must use `https://`. */ export interface FormThemeOverride { /** Logo displayed at the top of the form. Square images render as an inline mark; wide landscape images render as a full-width banner. */ logo_url?: string | null; /** Favicon shown in the browser tab when the form page loads. */ favicon_url?: string | null; /** Rendering mode. `light` forces the light palette, `dark` forces dark, and `auto` follows the respondent's OS-level appearance setting. */ theme_mode?: FormThemeOverride.ThemeMode; /** Per-mode palette overrides. Each mode is an object with optional `primary`, `background`, and `text` hex colors. Omit a mode to inherit the team default for it. */ colors?: FormThemeOverride.Colors; /** Typeface stack. `system` uses the respondent's OS default sans-serif. */ font_family?: FormThemeOverride.FontFamily; /** Border-radius preset for cards, inputs, and buttons. */ corner_radius?: FormThemeOverride.CornerRadius; /** Horizontal alignment for the form header (title, description, logo). */ content_alignment?: FormThemeOverride.ContentAlignment; /** Background layer for the page. Choose solid, gradient, image, or a built-in pattern. */ background?: Pinnacle.FormBackground; /** Text shown on the submit button. Defaults to `Submit`. */ submit_button_label?: string; /** Message shown on the success panel after a successful submit (unless `redirect_url` is set, in which case the respondent is redirected). */ success_message?: string; /** When set, the submitter is redirected here after a successful submit instead of seeing the success panel. */ redirect_url?: string | null; /** Link target for the `Privacy` footer link. Omit or set to null to hide the link. */ privacy_url?: string | null; /** Link target for the `Terms` footer link. Omit or set to null to hide the link. */ terms_url?: string | null; /** Image shown when the form URL is shared in social / messaging link previews (Open Graph). */ og_image_url?: string | null; /** Open Graph description used in link previews. Falls back to the form's `description` when unset. */ og_description?: string | null; } export declare namespace FormThemeOverride { /** Rendering mode. `light` forces the light palette, `dark` forces dark, and `auto` follows the respondent's OS-level appearance setting. */ const ThemeMode: { readonly Light: "light"; readonly Dark: "dark"; readonly Auto: "auto"; }; type ThemeMode = (typeof ThemeMode)[keyof typeof ThemeMode]; /** * Per-mode palette overrides. Each mode is an object with optional `primary`, `background`, and `text` hex colors. Omit a mode to inherit the team default for it. */ interface Colors { /** Palette used when the form renders in light mode. */ light?: Pinnacle.FormColorPalette; /** Palette used when the form renders in dark mode. */ dark?: Pinnacle.FormColorPalette; } /** Typeface stack. `system` uses the respondent's OS default sans-serif. */ const FontFamily: { readonly Inter: "inter"; readonly System: "system"; readonly Serif: "serif"; readonly Mono: "mono"; readonly Rounded: "rounded"; }; type FontFamily = (typeof FontFamily)[keyof typeof FontFamily]; /** Border-radius preset for cards, inputs, and buttons. */ const CornerRadius: { readonly Sharp: "sharp"; readonly Rounded: "rounded"; readonly Pill: "pill"; }; type CornerRadius = (typeof CornerRadius)[keyof typeof CornerRadius]; /** Horizontal alignment for the form header (title, description, logo). */ const ContentAlignment: { readonly Left: "left"; readonly Center: "center"; readonly Right: "right"; }; type ContentAlignment = (typeof ContentAlignment)[keyof typeof ContentAlignment]; }