open-index/open-npm huggingface dataset:
npm package: @nuitral/theming
Description: nuitral - theming
Author: Nicola Centonze
Latest version: 0.0.1-beta.2

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="./media/logo-theming-dark-mode.svg" width="150" height="150" />
    <source media="(prefers-color-scheme: light)" srcset="./media/logo-theming-light-mode.svg" width="150" height="150" />
    <img src="./media/logo-theming-dark-mode.svg" alt="nuitral core logo" width="150" height="150">
  </picture>
</p>

<p><b>nuitral theming</b> is part of the <b>nuitral</b> suite and handles theming creation.</p>
<p>It takes advantage of the power of SCSS and the flexibility of CSS to provide the best development experience.</p>
<p><b>Status:</b> This project is currently in <b>alpha version</b>.</p>

---

### 🔗 Suite

This library is part of the **nuitral** suite, a native UI toolkit designed to build modern, flexible, and high-performance interfaces.

Explore the suite → https://nuitral.github.io

---

### License

This project is licensed under the [MIT License](https://github.com/nuitral/theming/blob/main/LICENSE).

Copyright (c) 2025 **Nicola Centonze**
npm package: @nuitral/types
Description: Type definitions for nuitral components
Author: Nicola Centonze
Latest version: 0.0.1-beta.2

<p align="center">
  <a href="https://nuitral.github.io/">
    <img src="https://avatars.githubusercontent.com/u/174748587?s=96&v=4" alt="nuitral logo">
  </a>
</p>

<h3>nuitral - Types</h3>
 <p>This library is part of the <b>nuitral</b> suite and provides a set of type definitions.</p> <p>It's designed to enhance code safety and clarity, offering predefined types that are easy to integrate into any project.</p>

Check out the official [nuitral](https://nuitral.github.io) suite page.

### License

This project is licensed under the [MIT License](https://github.com/nuitral/types/blob/main/LICENSE).

Copyright (c) 2024 Nicola Centonze
npm package: @nuitral/vue-ui-suite
Description: nuitral Vue UI suite
Author: Nicola Centonze
Latest version: 0.0.1-beta.2

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="./media/vue-suite-dark.png" height="150" />
    <source media="(prefers-color-scheme: light)" srcset="./media/vue-suite-light.png"  height="150" />
    <img src="./media/vue-suite-light.png" alt="nuitral vue logo" height="150">
  </picture>
</p>

# nuitral Vue UI suite

**nuitral Vue UI suite** provides a complete, native, and flexible UI component library for Vue projects.

This library is part of the **nuitral** suite, a native UI toolkit designed to build modern, flexible, and high-performance interfaces.

[Explore the suite](https://nuitral.github.io)

---

### Run the Local Demo

To run this library locally, first install the dependencies:

```bash
npm i
```

Then, use one of the following commands:

- **Run the local demo:**
  ```bash
  npm run demo
  ```

- **Run in development mode:**
  ```bash
  npm run dev
  ```

> ⚠️ When running in development mode, make sure all related libraries are located **in the same root directory** as this project.  
> Otherwise, update the Vite configuration aliases accordingly:

```js
const alias = useLocal ? {
  '@nuitral/core': path.resolve(__dirname, '../core/lib'),
  '@nuitral/icons/dist/nuitral-icons.scss': path.resolve(__dirname, '../icons/dist/nuitral-icons.scss'),
  '@nuitral/theming': path.resolve(__dirname, '../theming/lib/scss/_index.scss'),
  '@nuitral/types': path.resolve(__dirname, '../types'),
} : undefined
```
---

### Progress Status

| Status | Module / Component | Description                     |
|--------|------------------|---------------------------------|
| ✅     | `NuitralBox`      | Box component                   |
| ✅     | `NuitralButton`   | Button component                |
| ☑️     | `NuitralCard`     | Card component – available in beta |
| ☑️     | `NuitralChip`     | Chip component – available in beta |
| ✅     | `NuitralIcon`     | Icon component                  |
| ✅     | `NuitralInput`    | Input component                 |
| 🕒     | `NuitralList`     | List component                  |
| 🕒     | `NuitralSelect`   | Select component                |
| ✅     | `NuitralTab`      | Tab component                   |
| ✅     | `NuitralTabs`     | Tabs component                  |

### Component Status Legend

| Icon | Status Description |
|------|------------------|
| ✅    | Completed – component is finished and stable |
| ☑️    | Available – component is usable but still in beta or under refinement |
| 🚧    | In progress – component is being actively developed |
| 🕒    | Planned – component is not yet started or scheduled for future development |

---

**Status:** Currently in **beta version**.

---


### License

This project is licensed under the [MIT License](https://github.com/nuitral/vue-ui-suite/blob/main/LICENSE).

Copyright (c) 2026 **Nicola Centonze**
npm package: @nuitsukera/metadata
Description: Fast and optimized metadata extractor for images and videos from buffers. Perfect for React and Next.js applications.
Author: Nuitsukera
Latest version: 1.0.2

# Tiny metadata, big coverage

Extract image and video metadata from raw bytes. No native binaries. Works in Node and Cloudflare Workers.

## Install

```bash
bun install @nuitsukera/metadata
```

## Quick start

```typescript
import { extractMetadata } from '@nuitsukera/metadata';

const metadata = await extractMetadata(myBytes, 'image');
console.log(metadata);
```

## Node examples

### Image

```typescript
import { extractMetadata } from '@nuitsukera/metadata';
import fs from 'fs';

const bytes = fs.readFileSync('./image.jpg');
const metadata = await extractMetadata(bytes, 'image');

console.log(metadata);
// {
//   type: 'image',
//   format: 'jpeg',
//   width: 1920,
//   height: 1080,
//   size: 245000
// }
```

### Video

```typescript
import { extractMetadata } from '@nuitsukera/metadata';
import fs from 'fs';

const bytes = fs.readFileSync('./video.mp4');
const metadata = await extractMetadata(bytes, 'video');

console.log(metadata);
// {
//   type: 'video',
//   format: 'mp4',
//   duration: 120.5,
//   width: 1920,
//   height: 1080,
//   bitrate: 5000000,
//   fps: 30,
//   codec: 'h264',
//   hasAudio: true
// }
```

## Cloudflare Workers

```typescript
import { extractMetadata } from '@nuitsukera/metadata';

const bytes = await fetch('https://example.com/image.jpg').then((res) => res.arrayBuffer());
const metadata = await extractMetadata(bytes, 'image');
```

## Optional file info

```typescript
import { extractMetadata } from '@nuitsukera/metadata';

const metadata = await extractMetadata(myBytes, 'image', {
  fileName: 'image.jpg',
  createdAt: new Date('2024-01-01T10:00:00Z'),
  modifiedAt: new Date('2024-01-02T10:00:00Z'),
});
```

## API

### `extractMetadata(buffer, type, options?)`

**Parameters**
- `buffer` (Buffer | Uint8Array | ArrayBuffer)
- `type` ('image' | 'video')
- `options` (optional)
  - `fileName` (string)
  - `createdAt` (string | Date) stored as ISO string
  - `modifiedAt` (string | Date) stored as ISO string

**Returns** `Promise<Metadata>`

## Supported formats

| Type | Formats |
| --- | --- |
| Images | SVG, PNG, ICO, JPEG/JPG, GIF, BMP, TIFF/TIF, WebP, PSD, HEIC, AVIF |
| Videos | MP4, WebM, MOV, WAV, MKV |

## Type references

| Type | Description |
| --- | --- |
| `ImageMetadata` | Image metadata shape returned by `extractMetadata` when `type` is `image`. |
| `VideoMetadata` | Video metadata shape returned by `extractMetadata` when `type` is `video`. |
| `Metadata` | Union of `ImageMetadata` and `VideoMetadata`. |
| `MediaType` | Literal union: `image` or `video`. |
| `BinaryLike` | Input data: `Buffer`, `Uint8Array`, or `ArrayBuffer`. |
| `MetadataOptions` | Optional file info: `fileName`, `createdAt`, `modifiedAt`. |
| `FileInfo` | Returned file info: `fileName`, `createdAt`, `modifiedAt`. |

## License

MIT © 2026 Nuitsukera