npm packageMIT License
React-WIP-UI
Interactive Playground
Back to Home

React-WIP-UI

Production-ready components for marking features as work in progress.

$ npm install react-wip-ui
Server Components

Ribbon

Server

A diagonal corner ribbon for any positioned container.

<Ribbon />
Position
Variant
Card content
WIP
PropTypeDefaultDescription
position"top-left" | "top-right""top-right"Which corner the ribbon appears in
textstring"WIP"Label text on the ribbon
variant"solid" | "outline""solid"Filled or outlined ribbon style
disabledbooleanfalseWhen true, renders nothing

Badge

Server

Inline label that attaches to any child element.

<Badge />
Text
WIP
Analytics DashboardWIP
Side nav link
WIP
PropTypeDefaultDescription
textstring"WIP"Label shown in the pill
disabledbooleanfalseWhen true, hides the badge
childrenReactNode-Element to badge

Overlay

Server

Frosted glass overlay that blurs child content.

<Overlay />
Message
Save Changes
PropTypeDefaultDescription
messagestring"Coming Soon"Text in the overlay pill
disabledbooleanfalseWhen true, removes the overlay
childrenReactNode-Content underneath the overlay

Block

Server

Disables pointer events and text selection on children.

<Block />
Subscribe
Skip
Pointer events are blocked. Try clicking the form.
PropTypeDefaultDescription
disabledbooleanfalseWhen true, removes the block
childrenReactNode-Content to be blocked
Client Components

Banner

Client

Announcement bar with sticky or relative positioning.

<Banner />
Position
Message
Page content below the banner sits here...
PropTypeDefaultDescription
messagestring-Text content of the banner
dismissiblebooleanfalseAdds a close button
position"sticky" | "relative""relative"Sticky pins to viewport top

Modal

Client

Accessible dialog with backdrop blur and slide-up animation.

<Modal />
Title
Description
PropTypeDefaultDescription
isOpenboolean-Controls modal visibility
onClose() => void-Called on close
titlestring-Modal heading
descriptionstring-Supporting body text

WIP Wrapper

Client

Composable wrapper with conditional WIP treatment.

<WIP when={...} />
WIP active
New Dashboard
WIP
PropTypeDefaultDescription
whenbooleantrueActivates WIP styling when true
childrenReactNode-Feature being marked as WIP

WIPProvider

Client

Global context to disable all WIP components at once. It is used with useWIP() hook inside WIP children.

<WIPProvider />
Theme
useWIP() output
theme: light
globalDisabled: false
Premium feature content lives here
WIP
<WIPProvider theme="light" globalDisabled={false}>
PropTypeDefaultDescription
theme"light" | "dark""light"Sets CSS custom props for all WIP children
globalDisabledbooleanfalseWhen true, strips WIP from all children
defaultVariant"overlay" | "block" | "ribbon" | "badge"-Default WIP variant for <WIP /> wrappers
© 2026 React-WIP-UI v1.0.0Back to Home