Utilities
Format byte

Format Byte

Used to format byte values with various options and units

File Size

120 kB

Usage

The byte formatting component extends the number formatting capabilities to handle byte-specific formatting, including automatic unit conversion and display options.

import { Format } from '@ark-ui/react'

Examples

Basic

Use the Format.Byte component to format a byte value with default options.

<script setup lang="ts">
import { Format } from '@ark-ui/vue/format'

const value = 1450.45
</script>

<template>
  <div>
    File size:
    <Format.Byte :value="value" />
  </div>
</template>

Sizes

Use the sizes prop to specify custom byte sizes for formatting.

<script setup lang="ts">
import { Format } from '@ark-ui/vue/format'

const byteSizes = [50, 5000, 5000000, 5000000000]
</script>

<template>
  <div>
    <div v-for="(size, index) in byteSizes" :key="index">
      <Format.Byte :value="size" />
    </div>
  </div>
</template>

Locale

Use the locale prop to format the byte value according to a specific locale.

<script setup lang="ts">
import { Format } from '@ark-ui/vue/format'
import { LocaleProvider } from '@ark-ui/vue/locale'

const locales = ['de-DE', 'zh-CN']
const value = 1450.45
</script>

<template>
  <div>
    <LocaleProvider v-for="locale in locales" :key="locale" :locale="locale">
      <Format.Byte :value="value" />
    </LocaleProvider>
  </div>
</template>

Unit

Use the unit prop to specify the unit of the byte value.

<script setup lang="ts">
import { Format } from '@ark-ui/vue/format'

const value = 1450.45
const unit = 'bit'
</script>

<template>
  <div>
    File size:
    <Format.Byte :value="value" :unit="unit" />
  </div>
</template>

Unit Display

Use the unitDisplay prop to specify the display of the unit.

<script setup lang="ts">
import { Format } from '@ark-ui/vue/format'

const value = 50345.53
const unitDisplays = ['narrow', 'short', 'long'] as const
</script>

<template>
  <div>
    <Format.Byte
      v-for="unitDisplay in unitDisplays"
      :key="unitDisplay"
      :value="value"
      :unit-display="unitDisplay"
    />
  </div>
</template>