Skip to content
THE COMPONENT LIBRARY
Skip to content

Component reference

Watermark

A repeated visual mark on document content.

Preview

Live preview

Changes apply to this preview only.

Invoice 2026-042

Pimolu Studio · 14 May 2026

Design system audit, component library maintenance and documentation. This preview is watermarked for internal review only.

Width adapts to the available space

More examples

Different configurations and compositions using the real Pimolu API. Each preview runs independently and follows the site appearance.

Draft manuscript

A draft manuscript composition using Watermark.

Open preview

Pricing worksheet

A pricing worksheet composition using Watermark.

Open preview

Image

An image URL or data URL repeats as the tile. The gap sets the tile size in this mode.

Open preview

Usage

Watermarks are decorative attribution, not a security mechanism or access control.

API reference

Generated from the public TypeScript declarations. Native HTML attributes are inherited where the component extends them; this reference includes Pimolu props and selected common native attributes.

PimoluWatermarkProps

Type source
PimoluWatermarkProps public API
NameTypeDefaultDescription
textstring | undefined—Repeated text. Ignored when `image` is set.
imagestring | undefined—Repeated image URL or data URL. Takes precedence over `text`.
childrenReactNode—Public Pimolu prop; see the source declaration for details.
opacitynumber | undefined0.08Layer opacity between 0 and 1. Defaults to 0.08.
rotatenumber | undefined-20Rotation in degrees. Defaults to -20.
gapnumber | undefined80Space between text tiles in CSS pixels. In image mode it sets the square tile size. Defaults to 80.
fontSizenumber | undefined14Font size of the text tile in CSS pixels. Defaults to 14.
colorstring | undefined#64748bCSS colour of the text tile. Defaults to #64748b.
fontFamilystring | undefined"system-ui, -apple-system, 'Segoe UI', sans-serif"Public Pimolu prop; see the source declaration for details.
fullscreenboolean | undefinedfalseCover the whole viewport instead of the component box.
zIndexnumber | undefined—Stacking order of the watermark layer.
classNamestring | undefined—Public Pimolu prop; see the source declaration for details.
styleCSSProperties | undefined—Public Pimolu prop; see the source declaration for details.
text

string | undefined

No default extracted.

Repeated text. Ignored when `image` is set.

image

string | undefined

No default extracted.

Repeated image URL or data URL. Takes precedence over `text`.

children

ReactNode

No default extracted.

Public Pimolu prop; see the source declaration for details.

opacity

number | undefined

Default: 0.08

Layer opacity between 0 and 1. Defaults to 0.08.

rotate

number | undefined

Default: -20

Rotation in degrees. Defaults to -20.

gap

number | undefined

Default: 80

Space between text tiles in CSS pixels. In image mode it sets the square tile size. Defaults to 80.

fontSize

number | undefined

Default: 14

Font size of the text tile in CSS pixels. Defaults to 14.

color

string | undefined

Default: #64748b

CSS colour of the text tile. Defaults to #64748b.

fontFamily

string | undefined

Default: "system-ui, -apple-system, 'Segoe UI', sans-serif"

Public Pimolu prop; see the source declaration for details.

fullscreen

boolean | undefined

Default: false

Cover the whole viewport instead of the component box.

zIndex

number | undefined

No default extracted.

Stacking order of the watermark layer.

className

string | undefined

No default extracted.

Public Pimolu prop; see the source declaration for details.

style

CSSProperties | undefined

No default extracted.

Public Pimolu prop; see the source declaration for details.

Accessibility

  • Keep the mark from reducing text contrast or obstructing interaction.
Read the accessibility guide →