open-index/open-npm huggingface dataset:
npm package: @saba-beigi/formatfilesize
Description: A tool that format the file size you input
Author: Saba Beigi
Latest version: 1.0.0

📦 format-file-size

A lightweight utility to format file sizes (in bytes) into a human-readable format such as KB, MB, GB, or TB.
🚀 Installation

```bash
npm install format-file-size
```

or using yarn:

```bash
yarn add format-file-size
```

💡 Usage

```ts
import { formatFileSize } from "format-file-size";

console.log(formatFileSize(0)); // "0 Bytes"
console.log(formatFileSize(512)); // "512 Bytes"
console.log(formatFileSize(2048)); // "2 KB"
console.log(formatFileSize(1048576)); // "1 MB"
console.log(formatFileSize(1073741824)); // "1 GB"
```

⚙️ API
formatFileSize(size: number): string

Converts a file size in bytes to a human-readable string.

| Parameter | Type   | Description             |
| --------- | ------ | ----------------------- |
| `size`    | number | The file size in bytes. |

Returns: a formatted string, e.g. "2.45 MB"

📚 Example

```ts
const fileSize = 7340032; // bytes
const formatted = formatFileSize(fileSize);
console.log(`File size: ${formatted}`);
// Output: "File size: 7 MB"
```

🧩 Features

- ✅ Zero-dependency
- ✅ Written in TypeScript
- ✅ Lightweight and fast
- ✅ Rounds to 2 decimal places
- ✅ Supports Bytes → TB

🧠 How It Works

- The function:
- Uses logarithmic calculation to find the appropriate unit (Bytes, KB, MB, GB, or TB).
- Divides the input by the correct power of 1024.
- Rounds the result to 2 decimal places.

🪪 License

MIT © 2025 Saba Beigi
npm package: @saba90/bootstrap-italia
Description: Bootstrap Italia templates for Form.io forms
Latest version: 0.0.8

# Form.io Bootstrap Templates

This repository will change the rendering of forms in formio.js so that it uses html and classes compatible with [Bootstrap 5](https://getbootstrap.com/docs/5.3/) framework.

### Using Bootstrap Italia

```javascript
import bootstrapItalia from '@formio/bootstrap/bootstrapItalia';
import { Formio } from 'formiojs';
Formio.use(bootstrapItalia);
```

## Script


```javascript
Formio.Templates.framework = "bootstrapItalia"
```
If icon is not show

```javascript
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script>
  Formio.icons = "fontawesome"
</script>
```
npm package: @sabahattinkalkan/readme-forge
Description: AI-powered README generator. Analyze your codebase and generate professional documentation in seconds.
Author: Scuton Technology
Latest version: 1.0.0
Deprecated: Moved to @scuton/readme-forge

<div align="center">

# readme-forge

**AI-powered README generator. One command. Professional docs.**

[![npm](https://img.shields.io/npm/v/readme-forge)](https://www.npmjs.com/package/readme-forge)
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-3178c6)](https://www.typescriptlang.org/)
[![CI](https://github.com/scuton-technology/readme-forge/actions/workflows/ci.yml/badge.svg)](https://github.com/scuton-technology/readme-forge/actions/workflows/ci.yml)

</div>

---

## Why?

Writing a good README is tedious. readme-forge analyzes your project — package.json, file structure, dependencies, git history — and generates a professional README in seconds using Claude AI.

## Install

```bash
npm install -g readme-forge
```

## Setup

Set your Anthropic API key:

```bash
export ANTHROPIC_API_KEY=sk-ant-...
```

Get a key at [console.anthropic.com](https://console.anthropic.com/settings/keys)

## Usage

```bash
# Generate README for current project
readme-forge

# Choose template style
readme-forge generate --template minimal
readme-forge generate --template detailed

# Preview without writing
readme-forge generate --dry-run

# Check existing README quality
readme-forge check

# Add badges to README
readme-forge badge

# Generate table of contents
readme-forge toc
```

## Commands

| Command | Description | Needs API Key |
|---------|-------------|:---:|
| `readme-forge generate` | Generate README from project analysis | Yes |
| `readme-forge check` | Score your existing README (A+ to F) | No |
| `readme-forge badge` | Auto-detect and add project badges | No |
| `readme-forge toc` | Generate table of contents | No |

## Templates

**minimal** — Title, description, install, usage, license. Nothing more.

**standard** (default) — Badges, features, install, usage, contributing, license.

**detailed** — Everything + TOC, tech stack table, project structure, env vars, deployment.

## How it works

1. Scans your project: package.json, file structure, dependencies, git info
2. Detects language, framework, tools, CI/CD setup
3. Sends analysis to Claude (your API key, your data)
4. Returns clean Markdown — no fluff, no hallucination

Your code is NOT sent to the API. Only metadata (file names, package names, scripts) is sent.

## Privacy

- Your source code stays local. Only project metadata is sent to Anthropic's API.
- Your API key is used directly — we don't proxy or store anything.
- `check`, `badge`, and `toc` commands work 100% offline.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md)

## License

MIT — [Scuton Technology](https://scuton.com)

---

<div align="center">
<sub>Built with ❤️ by Scuton Technology</sub>
</div>
npm package: @sabaki/shudan
Description: A highly customizable, low-level Preact Goban component.
Author: Yichuan Shen
Latest version: 1.7.1

# Shudan Goban

A highly customizable, low-level Preact Goban component.

![Screenshot](./screenshot.png)

## Features

- Resizable
- Board coordinates
- Easy customization
- Fuzzy stone placement
- Stone placing animation
- Board and stone markers
- Lines and arrows
- Heat and paint map
- Busy state
- Partial board

## Documentation

See [documentation](./docs/README.md).

## Build Demo

Make sure you have Node.js v8 and npm installed. First, clone this repository
via Git, then install all dependencies with npm:

```
$ git clone https://github.com/SabakiHQ/Shudan
$ cd Shudan
$ npm install
```

Use the `build-demo` script to build the demo project:

```
$ npm run build-demo
```

You can use the `watch-demo` command for development:

```
$ npm run watch-demo
```

Open `demo/index.html` in your browser to run demo. Alternatively, use
`build-demo-react` and `watch-demo-react` to build the React-based demo.
npm package: @sabasayer/calendar
Description: Basic one day calendar.
Author: Salih Baki Sayer
Latest version: 1.2.2

# @sabasayer/calendar

Basic one day calendar.

## Usage

Use calendar-day component for one day.

```html
<calendar-day
  @item-click="itemClicked"
  @item-drop="itemDrop"
  @item-resize="itemResize"
  @area-select="areaSelect"
  header="My Day"
  :start-time="startTime"
  :end-time="endTime"
  :events="events"
  :hour-height="hourHeight"
  :minute-interval="minuteInterval"
  :hour-padding-right="20"
  :is-area-selectable="true"
/>
```

events:

```typescript
interface CalendarEvent<T = undefined> {
  id: string | number;
  /**
   * timeSpan
   */
  from: string;
  /**
   * timeSpan
   */
  to: string;
  title: string;
  /**
   * valid css color
   */
  color: string;
  borderColor?: string;
  textColor?: string;
  isBordered?: boolean;
  borderRadius?: string;
  /**
   * Effects render with collided items 
   */
  position: EnumCalendarDayItemPosition;
  /**
   * Must be bigger then zero
   */
  zIndex: number;

  isClickable?: boolean;
  isDraggable?: boolean;
  isResizable?: boolean;

  /**
   * Data for customization
   */
  detail?: T;
}
```

## Props

```typescript

    hasHeader: boolean;
    startTime?: string;
    endTime?: string;
    hourHeight: number;
    isHoursVisible: boolean;
    isMinutesVisible: boolean;
    Header?: string;
    events: CalendarEvent[];
    horizontalMarginBetweenItems: number;
    minuteInterval: number;
    hourPaddingRight: number;
    isActionsDisabled: boolean;
    isMinutesClickable: boolean;
    isAreaSelectable: boolean;
    newItemPosition: EnumCalendarDayItemPosition;
```

## Slots

## Project setup

```
yarn install
```

### Compiles and hot-reloads for development

```
yarn serve
```

### Compiles and minifies for production

```
yarn build
```

### Run your unit tests

```
yarn test:unit
```
npm package: @sabasayer/layout-row-based
Description: Row based dynamic layout creater.
Author: Salih Baki Sayer
Latest version: 1.1.5

# layout-row-based

Row based dynamic layout creater. 

Rows can be divided to columns and can contain any number of items.

Items can be moved from column to column and sorted inside columns by drag and drop.

For drag and drop used [shopify/draggable](https://github.com/Shopify/draggable).


## Project setup
```
yarn install
```

### Compiles and hot-reloads for development
```
yarn serve
```

### Example Usage

```
<template>
 <layout-container
        :rows="rows"
        @update:rows="updateRows"
        :layout-items.sync="items"
        @update:layoutItems="updateLayout"
        edit-mode
        sortable
        >
            <template #default="{id}">
                <div style="padding:40px;background:pink;">id : {{id}} , order :{{getItem(id).order}}</div>
            </template>
</layout-container>
</template>

<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import { LayoutContainerComponent } from "@sabasayer/layout-row-based";
import { LayoutItem, LayoutRow } from "@sabasayer/layout-row-based/types/lib/layout-row";

@Component({
    components: {
        "layout-container": LayoutContainerComponent
    }
})
export default class App extends Vue {
    rows: LayoutRow[] = [
        { row: 1, columns: 2 },
        { row: 2, columns: 3 },
        { row: 3, columns: 1 }
    ];

    items: LayoutItem[] = [
        { row: 1, column: 1, order: 0, id: 1 },
        { row: 1, column: 1, order: 1, id: 2 },
    ];

    get getItem(){
        return (id:number) => this.items.find(e=>e.id == id);
    }

    updateRows(rows: LayoutRow[]) {
    }

    updateLayout(layout: LayoutItem[]) {
        console.log('layout',layout)
    }
}
</script>
```

### Compiles and minifies for production
```
yarn build
```

### Run your unit tests
```
yarn test:unit
```

### Lints and fixes files
```
yarn lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).