Skip to content

Web

@romanbakurov/vellira-web contains the React DOM implementation of Vellira. It owns DOM structure, CSS modules, browser events, accessibility ids, and web overlay behavior while reusing shared tokens, types, and core hooks.

Install

bash
pnpm add @romanbakurov/vellira-web

Import the stylesheet once.

tsx
import '@romanbakurov/vellira-web/styles';

Example

tsx
import {
  Button,
  FormField,
  Input,
  Select,
  Tabs,
} from '@romanbakurov/vellira-web';

export function AccountPanel() {
  return (
    <Tabs defaultValue='profile'>
      <Tabs.List aria-label='Account sections'>
        <Tabs.Tab value='profile'>Profile</Tabs.Tab>
        <Tabs.Tab value='security'>Security</Tabs.Tab>
      </Tabs.List>

      <Tabs.Panel value='profile'>
        <FormField label='Display name'>
          <Input placeholder='Roman Bakurov' />
        </FormField>
        <Select label='Role' options={['Admin', 'Editor', 'Viewer']} />
        <Button variant='primary'>Save changes</Button>
      </Tabs.Panel>
    </Tabs>
  );
}

Components

ComponentRole
ButtonPrimary, secondary, danger, size, icon, disabled, and full-width actions
CheckboxBinary choice with controlled and uncontrolled state
InputText entry with label, placeholder, state, and accessibility support
FormFieldField composition for labels, descriptions, and error text
RadioGroupSingle choice control using shared keyboard behavior
SelectTrigger, option list, and value management
DropdownMenu composition with trigger, content, groups, items, separators
TabsTab list, tabs, panels, and keyboard navigation
TooltipAnchored help content
ModalOverlay, content, header, body, and footer primitives

Development

bash
pnpm --filter @romanbakurov/vellira-web build
pnpm --filter @romanbakurov/vellira-web test
pnpm --filter @vellira/web-storybook dev

Built for Vellira Design System.