Skip to content

Theming

ChiefVenzox edited this page Jun 5, 2026 · 1 revision

Theming

NotebookFlowKit includes a basic theme that works on iOS and macOS.

NotebookFlowView(fileName: "starter_flow") { result in
    print(result.answers)
}

Custom Theme

Create a NotebookFlowTheme and pass it to NotebookFlowView.

let theme = NotebookFlowTheme(
    accentColor: .green,
    cornerRadius: 8,
    spacing: 18
)

NotebookFlowView(
    fileName: "starter_flow",
    theme: theme,
    onComplete: { result in
        print(result.answers)
    }
)

Theme Properties

NotebookFlowTheme supports:

  • backgroundColor
  • foregroundColor
  • secondaryForegroundColor
  • accentColor
  • optionBackgroundColor
  • optionBorderColor
  • selectedOptionBackgroundColor
  • selectedOptionForegroundColor
  • cornerRadius
  • spacing

Design Notes

The built-in renderer intentionally stays simple:

  • readable titles and subtitles
  • native SwiftUI controls
  • accessible buttons
  • clear selection state
  • compact progress indicator

For heavily branded apps, use NotebookFlowTheme to align the flow with the rest of your UI.

Clone this wiki locally