Skip to content
Cojeev UI

Organism composition

Composition

Six useful compositions made from persistent Cojeev base components, with organic assembly and native controls.

React · copy into your project · light and dark themes

Try it

Loading preview…

Take it with you

Copy the example, API and usage notes for your editor or AI assistant.

Add to your project

Terminal
npx shadcn@latest add https://luv-jeri.github.io/cojeev-ui/r/organism-composition.json

The command includes the component’s shared dependencies. Your project keeps editable source files.

Using organism composition

  • Choose profile, side-panel, dock, chat, focus or invite. Each layout uses the actual library primitives.

  • Use assembled={false} for the floating state. Keep the component mounted to retain local state while changing kinds.

  • Focus uses a real local elapsed-time countdown. Invite records local RSVP state; provide callbacks for your application.

API

Compose the exported parts below. The prop types are read from the React source during the registry build.

Native element or underlying primitive props are inherited where declared, including accessible labels, event handlers and refs.

OrganismCompositionProps

PropTypeRequired
kindOrganismKindNo
assembled

False separates the native roots into floating silhouettes. Quiet mode stays usable.

booleanNo
namestringNo
descriptionstringNo
initialsstringNo
items

Up to four task or dock items.

OrganismItem[]No
durationSeconds

Real local session length, clamped to 1–86400 seconds. Changing it resets the session.

numberNo
inviteDatestringNo
inviteTimestringNo
inviteLocationstringNo
participants{name:string;initials:string}[]No
stateOrganismStateNo
defaultStatePartial<OrganismState>No
onStateChange(state:OrganismState)=>voidNo
onAction(action:OrganismAction)=>voidNo
onSettledChange(settled:boolean)=>voidNo

OrganismProps

PropTypeRequired
namestringNo
descriptionstringNo
assembled

False separates the native roots into floating silhouettes. Quiet mode stays usable.

booleanNo
initialsstringNo
items

Up to four task or dock items.

OrganismItem[]No
durationSeconds

Real local session length, clamped to 1–86400 seconds. Changing it resets the session.

numberNo
inviteDatestringNo
inviteTimestringNo
inviteLocationstringNo
participants{name:string;initials:string}[]No
stateOrganismStateNo
defaultStatePartial<OrganismState>No
onStateChange(state:OrganismState)=>voidNo
onAction(action:OrganismAction)=>voidNo
onSettledChange(settled:boolean)=>voidNo

Accessibility

  • Moving controls remain inert until arrival, then regain normal keyboard, hover and form behavior.

  • Motion Off and reduced motion produce usable, unclipped components immediately.

States and appearance

restinteractivereduced-motion

For conditional content, keep a MotionPresence boundary around keyed MotionSurface children. The shared entrance and exit states work with native primitives and respect your motion preference.

Try pointer and keyboard interaction, and switch the appearance control in the navigation to compare light and dark mode. Motion respects reduced motion preferences.