shoelace/docs/components/format-bytes.md

130 wiersze
3.2 KiB
Markdown
Czysty Zwykły widok Historia

2020-08-25 13:20:13 +00:00
# Format Bytes
[component-header:sl-format-bytes]
Formats a number as a human readable bytes value.
```html preview
<div class="format-bytes-overview">
2022-03-02 15:10:41 +00:00
The file is <sl-format-bytes value="1000"></sl-format-bytes> in size. <br /><br />
<sl-input type="number" value="1000" label="Number to Format" style="max-width: 180px;"></sl-input>
2020-08-25 13:20:13 +00:00
</div>
<script>
const container = document.querySelector('.format-bytes-overview');
const formatter = container.querySelector('sl-format-bytes');
const input = container.querySelector('sl-input');
2022-03-02 15:10:41 +00:00
input.addEventListener('sl-input', () => (formatter.value = input.value || 0));
2020-08-25 13:20:13 +00:00
</script>
```
2021-11-04 22:12:47 +00:00
```jsx react
import { useState } from 'react';
2022-03-02 15:10:41 +00:00
import { SlButton, SlFormatBytes, SlInput } from '@shoelace-style/shoelace/dist/react';
2021-11-04 22:12:47 +00:00
const App = () => {
const [value, setValue] = useState(1000);
return (
<>
The file is <SlFormatBytes value={value} /> in size.
2022-03-02 15:10:41 +00:00
<br />
<br />
<SlInput
type="number"
2021-11-04 22:12:47 +00:00
value={value}
2022-03-02 15:10:41 +00:00
label="Number to Format"
2021-11-04 22:12:47 +00:00
style={{ maxWidth: '180px' }}
onSlInput={event => setValue(event.target.value)}
/>
</>
);
};
```
2020-08-25 13:20:13 +00:00
## Examples
### Formatting Bytes
Set the `value` attribute to a number to get the value in bytes.
```html preview
2022-03-02 15:10:41 +00:00
<sl-format-bytes value="12"></sl-format-bytes><br />
<sl-format-bytes value="1200"></sl-format-bytes><br />
<sl-format-bytes value="1200000"></sl-format-bytes><br />
2020-08-25 13:20:13 +00:00
<sl-format-bytes value="1200000000"></sl-format-bytes>
```
2021-11-04 22:12:47 +00:00
```jsx react
import { SlFormatBytes } from '@shoelace-style/shoelace/dist/react';
const App = () => (
<>
2022-03-02 15:10:41 +00:00
<SlFormatBytes value="12" />
<br />
<SlFormatBytes value="1200" />
<br />
<SlFormatBytes value="1200000" />
<br />
2021-11-04 22:12:47 +00:00
<SlFormatBytes value="1200000000" />
</>
);
```
2020-08-25 13:20:13 +00:00
### Formatting Bits
2022-01-27 13:56:51 +00:00
To get the value in bits, set the `unit` attribute to `bit`.
2020-08-25 13:20:13 +00:00
```html preview
2022-03-02 15:10:41 +00:00
<sl-format-bytes value="12" unit="bit"></sl-format-bytes><br />
<sl-format-bytes value="1200" unit="bit"></sl-format-bytes><br />
<sl-format-bytes value="1200000" unit="bit"></sl-format-bytes><br />
2022-01-27 13:56:51 +00:00
<sl-format-bytes value="1200000000" unit="bit"></sl-format-bytes>
2020-08-25 13:20:13 +00:00
```
2021-11-04 22:12:47 +00:00
```jsx react
import { SlFormatBytes } from '@shoelace-style/shoelace/dist/react';
const App = () => (
<>
2022-03-02 15:10:41 +00:00
<SlFormatBytes value="12" unit="bit" />
<br />
<SlFormatBytes value="1200" unit="bit" />
<br />
<SlFormatBytes value="1200000" unit="bit" />
<br />
2022-01-27 13:56:51 +00:00
<SlFormatBytes value="1200000000" unit="bit" />
2021-11-04 22:12:47 +00:00
</>
);
```
2020-08-25 13:20:13 +00:00
### Localization
2021-12-02 15:29:04 +00:00
Use the `lang` attribute to set the number formatting locale.
2020-08-25 13:20:13 +00:00
```html preview
2022-03-02 15:10:41 +00:00
<sl-format-bytes value="12" lang="de"></sl-format-bytes><br />
<sl-format-bytes value="1200" lang="de"></sl-format-bytes><br />
<sl-format-bytes value="1200000" lang="de"></sl-format-bytes><br />
2021-12-02 15:29:04 +00:00
<sl-format-bytes value="1200000000" lang="de"></sl-format-bytes>
2020-08-25 13:20:13 +00:00
```
2021-11-04 22:12:47 +00:00
```jsx react
import { SlFormatBytes } from '@shoelace-style/shoelace/dist/react';
const App = () => (
<>
2022-03-02 15:10:41 +00:00
<SlFormatBytes value="12" lang="de" />
<br />
<SlFormatBytes value="1200" lang="de" />
<br />
<SlFormatBytes value="1200000" lang="de" />
<br />
2021-12-02 15:29:04 +00:00
<SlFormatBytes value="1200000000" lang="de" />
2021-11-04 22:12:47 +00:00
</>
);
```
2020-08-25 13:20:13 +00:00
[component-metadata:sl-format-bytes]