Skip to content

Popover theming

Every cosmetic value Popover renders is a --rozie-popover-* custom property with a built-in fallback, so the component works with zero configuration and stays fully re-skinnable. The structural rules compile per-leaf and are not consumer-overridable — only the values below flow through tokens.

css
.rozie-popover {
  --rozie-popover-z: 1000;
  --rozie-popover-max-width: calc(100vw - 16px);
  --rozie-popover-bg: #fff;
  --rozie-popover-color: inherit;
}

Tokens

TokenDefault
--rozie-popover-z1000
--rozie-popover-max-widthcalc(100vw - 16px)
--rozie-popover-bg#fff
--rozie-popover-colorinherit
--rozie-popover-border1px solid rgba(0, 0, 0, 0.12)
--rozie-popover-radius8px
--rozie-popover-shadow0 8px 24px rgba(0, 0, 0, 0.12)
--rozie-popover-padding8px 12px
--rozie-popover-arrow-size8px

Design-system bridges

Each package ships token presets that map Popover's tokens onto a known design system's published CSS variables — import base.css first, then a bridge:

ts
import '@rozie-ui/popover-react/themes/base.css';
import '@rozie-ui/popover-react/themes/bootstrap.css';
import '@rozie-ui/popover-react/themes/material.css';
import '@rozie-ui/popover-react/themes/shadcn.css';

See also

Pre-1.0 — APIs may change between minor versions.