PdfViewerTopBarClassicIos

fun PdfViewerTopBarClassicIos(title: String, modifier: Modifier = Modifier, titleOverflow: PdfTopBarTitleOverflow = PdfTopBarTitleOverflow.Ellipsis, backLabel: String? = null, onBack: () -> Unit = {}, onSearch: () -> Unit = {}, onShare: () -> Unit = {}, onPrint: () -> Unit = {}, onDownload: () -> Unit = {}, onAnnotate: () -> Unit = {}, showBack: Boolean = true, showSearch: Boolean = false, showShare: Boolean = true, showPrint: Boolean = false, showDownload: Boolean = true, showAnnotate: Boolean = false, annotateActive: Boolean = false)

Classic iOS Native topbar variant — matches Mail / Files / Notes conventions for products that target iOS exclusively (or that want to feel native on Apple platforms).

Faithful implementation of Direction 2 from design_handoff_pdf_topbar/README.md:

  • 52dp tall, white background, 0.5dp rgba(0,0,0,0.08) hairline.

  • Three-column grid (1fr · auto · 1fr):

  • Leading: chevron-left (28sp, stroke 2.4) + optional back label (e.g. "Files"). Tinted iOS Blue #0A84FF.

  • Center: filename, 17sp semibold #000, single line. The bar measures the leading and trailing columns first and reserves an equal gutter on each side, so the title stays optically centered and yields (titleOverflow) the moment it would otherwise crowd the icons — it can never push them off the bar.

  • Trailing: up to four 36×36 icon buttons (search, share, print, download), all tinted iOS Blue, equal weight — emphasis comes from position rather than colour. Each can be hidden via the matching show… flag. These are measured at their natural size and never shrink, regardless of how long the title is.

Parameters

title

filename / document name centered between the two columns.

titleOverflow

how the title behaves when it is too long to fit the reserved center gutter — PdfTopBarTitleOverflow.Ellipsis (default) truncates with , PdfTopBarTitleOverflow.Marquee scrolls it horizontally.

backLabel

optional label rendered next to the chevron. Drop to null for chevron-only back navigation.

onBack

tap callback for the leading column (entire chevron + label is the hit target). Ignored when showBack is false.

onSearch

tap callback for the search button.

onShare

tap callback for the share button.

onPrint

tap callback for the print button.

onDownload

tap callback for the download button.

onAnnotate

tap callback for the highlight-annotation toggle.

showBack

hide / show the back chevron + label.

showSearch

hide / show the search button.

showShare

hide / show the share button.

showPrint

hide / show the print button. false by default because printing is opt-in — wire onPrint and set this to true to surface it.

showDownload

hide / show the download button.

showAnnotate

hide / show the highlight-annotation toggle. false by default — annotation tools are opt-in.

annotateActive

whether annotation mode is on; the toggle tints its background iOS-blue while active so the engaged mode is visible.

modifier

applied to the outer Column container.