The SDK ships four themes out of the box —Documentation Index
Fetch the complete documentation index at: https://docs.insito.app/llms.txt
Use this file to discover all available pages before exploring further.
light, dark,
minimal, rounded — and a deep token system so you can override
anything down to the corner radius of a button.
Pick a preset
| Preset | When to use |
|---|---|
light (default) | Clean white surfaces, blue primary. Works against most app palettes. |
dark | Black surfaces, off-white text. Pair with your app’s dark mode. |
minimal | Hairline borders, neutral grey primary. Great for content-first apps that want the modal to disappear. |
rounded | Pill buttons, large radii, friendly typography. Consumer / lifestyle apps. |
Override tokens
Passoverrides to deep-merge on top of a preset. Only the keys you
provide are changed.
Full token map
Dynamic theme
Use the<InsitoProvider theme={...}> prop to react to your app’s
runtime state (system dark mode, user preference, etc.). The prop
wins over the SDK-level config.
Reading the resolved theme
If you want to extend Insito’s color system into the rest of your app (matching button colors, e.g.), readMicroSurvey.theme after
init:
Branding rules
- The
components.showPoweredByflag istrueon Free plans and cannot be disabled. Pro+ plans can set it tofalse. - Keep colors WCAG AA-compliant — primary on background should hit 3:1 contrast minimum for usability. The default presets already pass.
modalMaxHeightFractionis bounded[0.5, 0.95]. Values outside the range are clamped at runtime.
Custom rendering (advanced)
If the built-in modal isn’t enough — say you want a bottom sheet, or an inline survey inside a screen — you can render your own UI:- Subscribe to
useInsito()to read theactiveSurveyreactively. - When
activeSurvey != null, render your custom UI fromactiveSurvey.questions. - Call
MicroSurvey.submitResponse(activeSurvey.surveyId, answers)when the user submits.
<InsitoProvider> is still required for the legacy modal
fallback. We’re tracking [INS-…] for a “headless mode” that drops the
provider entirely.