Elements
The Elements section provides foundational UI building blocks for your Bulma React applications. These components are designed to be simple, composable, and highly customizable, covering everything from typography and layout containers to interactive controls and feedback elements. Each element supports Bulma's utility props for color, spacing, and accessibility, making it easy to create beautiful, consistent interfaces.
Elements are the core primitives of the Bestax Bulma library. They are intended to be used directly or as building blocks for more complex components.
Layout
Block
A simple container with vertical margin for grouping or spacing content sections. View full documentation.
<Block>Default Block</Block>
Box
A bordered, padded container with optional shadow, ideal for grouping or highlighting content. View full documentation.
<Box>Default Box</Box>
Divider
A horizontal rule (<hr>) for visually separating content sections. View full documentation.
<div> <Block>Content above</Block> <Divider my="4" /> <Block>Content below</Block> </div>
Typography
Title
A Bulma-styled title (heading), supporting sizes, spacing, and rendering as any heading or paragraph element. View full documentation.
<Title>Default Title</Title>
SubTitle
A Bulma-styled subtitle (secondary heading), supporting sizes and rendering as any heading or paragraph element. View full documentation.
<SubTitle>Default SubTitle</SubTitle>
Content
Applies Bulma's typographic styles to children, perfect for rendering rich or markdown-like HTML content. View full documentation.
<Content> <p>This is a paragraph inside Content.</p> </Content>
Text
Paragraph
A paragraph (<p>) wrapper with typography and spacing helpers. View full documentation.
<Paragraph textColor="info" textAlign="centered"> A centered, info-colored paragraph. </Paragraph>
Span
An inline (<span>) wrapper for styling text without semantic meaning. View full documentation.
<Paragraph> This text has a <Span textColor="primary">colored span</Span> inside it. </Paragraph>
Strong
A strong (<strong>) wrapper for semantically important bold text. View full documentation.
<Paragraph> This text has <Strong>important information</Strong> highlighted. </Paragraph>
Emphasis
An emphasis (<em>) wrapper for semantically emphasized italic text. View full documentation.
<Paragraph> You should <Emphasis>really</Emphasis> pay attention to this. </Paragraph>
Code
An inline code (<code>) wrapper for short code snippets. View full documentation.
<Paragraph> Run <Code>npm install</Code> to install dependencies. </Paragraph>
Pre
A preformatted text (<pre>) wrapper for code blocks. View full documentation.
<Pre bgColor="dark" textColor="white" p="4"> {`function hello() { console.log("Hello!"); }`} </Pre>
Link
A styled anchor (<a>) wrapper for navigation links with Bulma helper support. View full documentation.
<Link href="#" textColor="primary"> Primary Link </Link>
Buttons
Button
A flexible, highly customizable button supporting all Bulma color, size, and state modifiers. View full documentation.
<Button>Default Button</Button>
Buttons
A group container for multiple Button elements, supporting spacing, alignment, and add-ons. View full documentation.
<Buttons> <Button color="primary">Save</Button> <Button color="info">Edit</Button> <Button color="danger">Delete</Button> </Buttons>
LinkButton
A <button> that visually looks like text or a link. Supports text and ghost variants with optional color overrides. View full documentation.
Using <div onClick> or <a onClick> without an href are common anti-patterns flagged by eslint-plugin-jsx-a11y:
no-static-element-interactions— catches clickable<div>s and other non-interactive elementsanchor-is-valid— catches<a>tags withonClickbut no validhref
These elements are invisible or misleading to screen readers because they lack semantic role, keyboard focus, and key-event handling. LinkButton solves this by rendering a native <button> with full keyboard and screen-reader support — while still looking like plain text or a link.
<Buttons> <LinkButton>Text Variant</LinkButton> <LinkButton variant="ghost">Ghost Variant</LinkButton> <LinkButton color="primary">Primary Text</LinkButton> <LinkButton variant="ghost" color="danger"> Danger Ghost </LinkButton> </Buttons>
Media
Icon
A wrapper for displaying icons from various libraries, handling Bulma sizing, color, and accessibility. View full documentation.
<Icon name="star" ariaLabel="Star icon" />
IconText
A horizontal arrangement of one or more icons and optional text, ideal for icon-and-label patterns. View full documentation.
<IconText iconProps={{ name: 'fas fa-star', ariaLabel: 'Star icon' }}> Star </IconText>
Image
A Bulma-styled container for images, iframes, or custom content, supporting sizes, aspect ratios, and more. View full documentation.
<Image src="/img/react-logo.png" alt="Sample image" size="128x128" />
Figure
A figure (<figure>) wrapper for grouping content with an optional caption. View full documentation.
<Figure bgColor="light" textColor="dark" p="4"> <Image src="/img/logo.png" alt="Example" size="128x128" /> <Figure.Caption mt="2">Figure caption</Figure.Caption> </Figure>
Lists
UnorderedList
An unordered list (<ul>) wrapper with Bulma helper support. View full documentation.
<Content> <UnorderedList> <ListItem>First item</ListItem> <ListItem>Second item</ListItem> <ListItem>Third item</ListItem> </UnorderedList> </Content>
OrderedList
An ordered list (<ol>) wrapper supporting numbering types and Bulma helpers. View full documentation.
<Content> <OrderedList type="A"> <ListItem>First item</ListItem> <ListItem>Second item</ListItem> <ListItem>Third item</ListItem> </OrderedList> </Content>
ListItem
A list item (<li>) wrapper for use inside UnorderedList or OrderedList. View full documentation.
<Content> <UnorderedList> <ListItem textColor="primary">Primary item</ListItem> <ListItem textColor="success">Success item</ListItem> <ListItem textColor="danger">Danger item</ListItem> </UnorderedList> </Content>
Data
Table
A highly composable, Bulma-styled table system with full support for Bulma's table features. Compose it with the Thead, Tbody, Tfoot, Tr, Th, and Td sub-components, all covered on the Table page. View full documentation.
<Table> <Thead> <Tr> <Th>Name</Th> <Th>Value</Th> </Tr> </Thead> <Tbody> <Tr> <Td>Example</Td> <Td>42</Td> </Tr> </Tbody> </Table>
Tag
A Bulma-styled label or badge, supporting color, size, rounded, hoverable, and delete variants. View full documentation.
<Tag>Default Tag</Tag>
Tags
A container for grouping multiple Tag components, supporting add-ons and multiline layouts. View full documentation.
<Tags> <Tag color="primary">Primary</Tag> <Tag color="info">Info</Tag> <Tag color="success">Success</Tag> </Tags>
Feedback
Notification
A Bulma-styled alert/message area for feedback, warnings, or information, with color and close button support. View full documentation.
<Notification>This is a default notification.</Notification>
Progress
A Bulma-styled progress bar for visualizing task completion, loading states, or feedback. View full documentation.
<Progress value={50} max={100} />
Skeleton
A skeleton loader for indicating loading content, with block or lines variants. View full documentation.
<Skeleton />
Utility
Delete
A Bulma-styled close/delete button for dismissing modals, notifications, tags, and more. View full documentation.
<Delete />
For advanced customization, all elements support Bulma helper props for color, spacing, and accessibility. See the full documentation for each component for more details and advanced usage.
Elements are low-level building blocks. For more complex UI patterns, consider using the higher-level components and layout primitives provided elsewhere in the library.