open-index/open-npm huggingface dataset:
npm package: @jojovms/confetti-cannon-core
Description: Confettō: A zero-dependency confetti cannon for your web apps. Trigger it on success states, celebrations, or just for fun
Author: Shijo Shaji
Latest version: 0.0.4

# @jojovms/confetti-cannon-core

A lightweight, zero-dependency confetti explosion library.

## Installation
```bash
npm install @jojovms/confetti-cannon-core
```

## Usage

### Basic Fire
```javascript
import { confetto } from '@jojovms/confetti-cannon-core';

// Simple explosion
confetto.fire();

// Custom configuration
confetto.fire({
  particleCount: 100,
  spread: 70,
  origin: { x: 0.5, y: 1 }, // Bottom center
  colors: ['#ff0000', '#00ff00', '#0000ff']
});
```

### Attach to Element
Easily bind confetti to user interactions.

```javascript
confetto.attach('#celebrate-btn', {
  on: 'click', // 'click', 'mouseover', 'mouseenter'
  particleCount: 50
});
```

## Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `particleCount` | number | 50 | Number of particles |
| `spread` | number | 45 | Angle spread in degrees |
| `startVelocity` | number | 45 | Initial speed |
| `decay` | number | 0.9 | How fast particles slow down |
| `gravity` | number | 1 | Gravity factor |
| `colors` | string[] | [...] | Array of hex colors |
| `zIndex` | number | 100 | Canvas z-index |
npm package: @jojovms/lens-zoom-core
Description: Detailō: Discover hidden details. A lightweight magnifier lens effect for images.
Author: Shijo Shaji
Latest version: 0.0.1

# @jojovms/lens-zoom-core

A lightweight, zero-dependency vanilla JS library to add a magnifying glass effect to images.

## Installation

```bash
npm install @jojovms/lens-zoom-core
```

## Usage

```javascript
import { LensZoom } from '@jojovms/lens-zoom-core';

// Initialize on an image
// If targeting an IMG tag directly, it will be automatically wrapped in a container.
new LensZoom('#my-product-image', {
    zoom: 2,           // Zoom level (e.g., 2x)
    lensSize: 100,     // Diameter of the lens in pixels
    borderColor: '#333' // Color of the lens border
}).init();
```

## Options

| Option | Type | Default | Description |
|---|---|---|---|
| `zoom` | `number` | `2` | Magnification level. |
| `lensSize` | `number` | `100` | Diameter of the circular lens in pixels. |
| `lensColor` | `string` | `'rgba(255, 255, 255, 0.4)'` | Background color of the lens (glass effect). |
| `borderColor` | `string` | `'#000'` | Border color of the lens. |

## Methods

- `init()`: Sets up event listeners.
- `cleanup()`: Removes listeners and DOM elements.
npm package: @jojovms/ninja-keys-core
Description: Commandō: Your commands, unleashed. A VS Code-style command palette for your web applications.
Author: Shijo Shaji
Latest version: 0.0.1

# @jojovms/ninja-keys-core 🥷

A zero-dependency "Command Palette" interface (Ctrl+K) for Vanilla JS.

## Installation

```bash
npm install @jojovms/ninja-keys-core
```

## Usage

```javascript
import { NinjaKeys } from '@jojovms/ninja-keys-core';

const ninja = new NinjaKeys({
  actions: [
    { id: 'home', title: 'Go Home', icon: '🏠', handler: () => window.location = '/' },
    { id: 'theme', title: 'Toggle Dark Mode', icon: '🌙', handler: () => toggleMyTheme() }
  ],
  hotkey: 'k' // Ctrl+K or Cmd+K
});

ninja.init();

// You can also open it manually via a button
document.getElementById('my-btn').onclick = () => ninja.toggle();
```

## Options

| Option | Type | Default | Description |
|---|---|---|---|
| `actions` | `NinjaAction[]` | `[]` | Array of actions (see below). |
| `placeholder` | `string` | `'Type a command...'` | Search input placeholder. |
| `theme` | `'light' \| 'dark'` | `'light'` | Color theme. |
| `hotkey` | `string` | `'k'` | Hotkey to toggle (combined with Ctrl/Cmd). |

## Action Object

```typescript
{
  id: string;
  title: string;
  handler: () => void;
  icon?: string;       // Emoji or SVG
  hotkey?: string;     // Visual hint (e.g., 'ctrl+h')
  section?: string;    // (Future support) Grouping
  keywords?: string;   // Hidden search terms
}
```