# @cloudflare/component-box

> Cloudflare Box ComponentThis is styling component similar to cf-component-flex which allows for arbitrary styling. This component should only be used when the built in style doesn't quite fit the bill and when it can't be done with fela. Ideally, cfui com

Latest version **5.1.4** (published 2026-10-06) · BSD-3-Clause license · 0 weekly downloads

## Install

```sh
npm install @cloudflare/component-box
pnpm add @cloudflare/component-box
yarn add @cloudflare/component-box
bun add @cloudflare/component-box
```

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 5.1.4 |
| Published | 2026-10-06 |
| First published | 2018-05-09 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 152 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | James Culveyhouse <jculveyhouse@cloudflare.com> |
| Maintainers | cf-ci-write, dash_service_account, wrangler-publisher, cf-npm-publish |

## Links

- npm: https://www.npmjs.com/package/@cloudflare/component-box
- npm.io page: https://npm.io/package/@cloudflare/component-box

## Dependencies (4)

- [fela](https://npm.io/package/fela.md) ^11.6.1
- [polished](https://npm.io/package/polished.md) ^4.1.4
- [prop-types](https://npm.io/package/prop-types.md) ^15.6.0
- [@cloudflare/types](https://npm.io/package/@cloudflare/types.md) ^6.21.15

## Recent versions

- 5.1.4 (latest) — 2026-10-06
- 5.1.3 — 2026-06-30
- 5.1.2 — 2026-01-22
- 5.1.1 — 2026-01-21
- 5.1.0 — 2025-10-14
- 5.0.3 — 2025-09-10
- 5.0.2 — 2025-05-22
- 5.0.1 — 2025-05-09
- 5.0.0 — 2025-05-08
- 4.0.8 — 2025-04-30
- 4.0.7 — 2025-03-27
- 4.0.6 — 2024-05-23
- 4.0.5 — 2024-05-16
- 4.0.4 — 2024-05-14
- 4.0.3 — 2024-03-20
- … 505 more at https://npm.io/package/@cloudflare/component-box/versions

## README

# @cloudflare/component-box

> Cloudflare Box Component

This is styling component similar to cf-component-flex which allows for arbitrary styling.

 This component should only be used when the built in style doesn't quite fit the bill and when it can't be done with fela. Ideally cfui components should have the right styling built in for most cases. In the few edge cases that pop up in real world feature development this is an alternative to wrapping your component in a `<div>` or `<span>` and styling it with css to accomodate one-offs. 

 Also note that using Box effectively performs a component level CSS reset as all props not provided will be pulled from the default theme. These defaults outlined in propertiesSpec either match the browser defaults or are taken from our global styles as defined by cf-style-const.

## Installation
Installation with yarn is recommended

```sh

$ yarn add @cloudflare/component-box

```

## Usage

```jsx
import React from 'react';
import { Box } from '../../src';

const BoxComponent = () => (
  <Box>
    <Box margin="1rem" backgroundColor="thistle">
      This is a box with a margin
    </Box>

    <Box padding="1rem" backgroundColor="blanchedalmond">
      This is a box with padding
    </Box>

    <Box
      padding="1rem"
      marginTop="1rem"
      borderTopColor="black"
      borderTopWidth={1}
      borderTopStyle="solid"
      borderBottomColor="blue"
      borderBottomWidth={1}
      borderBottomStyle="groove"
      borderLeftColor="teal"
      borderLeftWidth={2}
      borderLeftStyle="dashed"
      borderRightColor="purple"
      borderRightWidth={2}
      borderRightStyle="dotted"
    >
      All the borders!
    </Box>

    <Box
      display="inline-block"
      margin="1rem"
      padding="1rem"
      width="40%"
      textAlign="center"
      backgroundColor="#3dd"
    >
      inline block
    </Box>

    <Box
      margin="1rem"
      padding="2rem"
      backgroundColor="peachpuff"
      display="inline-flex"
      justifyContent="space-between"
      width="40%"
    >
      <Box backgroundColor="lightsalmon" margin="1rem" padding="1rem">
        Flex
      </Box>
      <Box backgroundColor="lightsalmon" margin="1rem" padding="1rem">
        Flex
      </Box>
      <Box backgroundColor="lightsalmon" margin="1rem" padding="1rem">
        Flex
      </Box>
    </Box>

    <Box marginLeft="1rem">
      <h4>Absolute Positioning</h4>
    </Box>

    <Box
      marginLeft="1rem"
      backgroundColor="aquamarine"
      position="relative"
      width={200}
      height={200}
      display="inline-block"
    >
      <Box
        backgroundColor="pink"
        position="absolute"
        width={50}
        height={50}
        top={10}
        left={10}
      />
      <Box
        margin="1rem"
        backgroundColor="azure"
        position="absolute"
        width={100}
        height={100}
        bottom={10}
        right={10}
      />
    </Box>

    <Box
      margin="1rem"
      padding="1rem"
      backgroundColor="lightsalmon"
      float="right"
    >
      Floated right
    </Box>
  </Box>
);

export default BoxComponent;

```

---
_Source: https://npm.io/package/@cloudflare/component-box · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
