open-index/open-npm huggingface dataset:
npm package: @prajwalagarwal5/excalidraw
Description: Excalidraw as a React component
Latest version: 1.0.7

# Excalidraw

**Excalidraw** is exported as a component to be directly embedded in your project.

## Installation

Use `npm` or `yarn` to install the package.

```bash
npm install react react-dom @excalidraw/excalidraw
# or
yarn add react react-dom @excalidraw/excalidraw
```

> **Note**: If you don't want to wait for the next stable release and try out the unreleased changes, use `@excalidraw/excalidraw@next`.

#### Self-hosting fonts

By default, Excalidraw will try to download all the used fonts from the [CDN](https://esm.run/@excalidraw/excalidraw/dist/prod).

For self-hosting purposes, you'll have to copy the content of the folder `node_modules/@excalidraw/excalidraw/dist/prod/fonts` to the path where your assets should be served from (i.e. `public/` directory in your project). In that case, you should also set `window.EXCALIDRAW_ASSET_PATH` to the very same path, i.e. `/` in case it's in the root:

```js
<script>window.EXCALIDRAW_ASSET_PATH = "/";</script>
```

### Dimensions of Excalidraw

Excalidraw takes _100%_ of `width` and `height` of the containing block so make sure the container in which you render Excalidraw has non zero dimensions.

## Demo

Go to [CodeSandbox](https://codesandbox.io/p/sandbox/github/excalidraw/excalidraw/tree/master/examples/with-script-in-browser) example.

## Integration

Head over to the [docs](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/integration).

## API

Head over to the [docs](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api).

## Contributing

Head over to the [docs](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/contributing).
npm package: @prajwals06/custom-ui
Description: A custom input component library for Angular
Author: Prajwal S
Latest version: 1.0.2

# CustomUi

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.

# To install this package run
```bash
npm i @prajwals06/custom-ui
```
This package has a peer dependency on angular ^20.0.0.
npm package: @prajwalshete/platform-tools
Description: OpenClaw plugin — gives AI agents tools for task management and GitHub integration with worktree isolation (update_task, get_task, list_branches, create_branch, create_pr, commit_and_push, get_pr_status).
Latest version: 1.3.0

# Platform Tools — OpenClaw Plugin

An OpenClaw plugin that gives AI agents the ability to read and update project management tasks through your backend API.

## What it does

This plugin registers two tools that any OpenClaw agent can use:

| Tool | Description |
|---|---|
| `get_task` | Retrieve full task details — title, description, status, labels, comments, checklists |
| `update_task` | Update task status, submit plans for review, or post comments visible to the team |

## Install

```bash
openclaw plugins install @prajwalshete/platform-tools
```

Then add it to your plugin allowlist and restart:

```bash
openclaw config set plugins.allow '["platform-tools"]'
openclaw gateway restart
```

## How it works

The plugin connects to your backend API at `http://127.0.0.1:3001` via two internal endpoints:

```
Agent calls get_task / update_task
        |
        v
Plugin sends HTTP POST to backend
  - GET:    POST /internal/task-get
  - UPDATE: POST /internal/task-update
        |
        v
Backend handles DB operations + broadcasts updates
```

Agents never touch the database directly. All reads and writes go through your backend, which enforces permissions and broadcasts changes to connected clients in real-time.

## Tools Reference

### `get_task`

Retrieves full details of a task.

**Parameters:**

| Parameter | Type | Required | Description |
|---|---|---|---|
| `task_id` | string | Yes | The task ID to retrieve |

**Returns:** Formatted task details including title, status, priority, description, labels, comments, and checklists.

### `update_task`

Updates a task's status, plan, or posts a comment.

**Parameters:**

| Parameter | Type | Required | Description |
|---|---|---|---|
| `task_id` | string | Yes | The task ID to update |
| `status` | string | No | New status: `ai_planning`, `ai_discuss`, `ai_plan_review`, `ai_in_progress`, `ai_done` |
| `ai_plan` | string | No | Plan text to submit for human review |
| `ai_plan_status` | string | No | Plan status (use `pending_review` when submitting) |
| `comment` | string | No | Comment visible to the team |

## Requirements

- OpenClaw `>= 2026.3.0`
- A backend API running on `localhost:3001` with `/internal/task-get` and `/internal/task-update` endpoints

## License

MIT
npm package: @prajwolpakka/antd-extended
Description: Ant Design v6 extended component library
Latest version: 1.1.0

# @prajwolpakka/antd-extended

Reusable React 19 components built on Ant Design v6.

## Installation

```bash
# npm
npm install @prajwolpakka/antd-extended antd react react-dom

# yarn
yarn add @prajwolpakka/antd-extended antd react react-dom

# pnpm
pnpm add @prajwolpakka/antd-extended antd react react-dom
```

Peer dependencies:

- react ^19
- react-dom ^19
- antd 6.0.0-alpha.1

## Quick Start

### Components

```tsx
import React from 'react';
import { Button, Input, Card } from '@prajwolpakka/antd-extended';

function App() {
  return (
    <Card header="My Card">
      <Input placeholder="Enter text" />
      <Button variant="primary">Click me</Button>
    </Card>
  );
}

export default App;
```

### Hook

```tsx
import React from 'react';
import { Button, Input, useFormHandler } from '@prajwolpakka/antd-extended';

function MyForm() {
  const { values, errors, handleChange, validate } = useFormHandler({
    name: '',
    email: '',
  });

  const handleSubmit = (e: React.FormEvent) => {
    e.preventDefault();
    if (validate()) {
      // Submit form
    }
  };

  return (
    <form onSubmit={handleSubmit}>
      <Input
        value={values.name}
        onChange={(e) => handleChange('name', e.target.value)}
        placeholder="Name"
      />
      {errors.name && <span>{errors.name}</span>}

      <Input
        value={values.email}
        onChange={(e) => handleChange('email', e.target.value)}
        placeholder="Email"
      />
      {errors.email && <span>{errors.email}</span>}

      <Button htmlType="submit" variant="primary">
        Submit
      </Button>
    </form>
  );
}

export default MyForm;
```

### Utilities

```ts
// Validators
import {
  validateEmail,
  validatePassword,
  validateRequired,
} from '@prajwolpakka/antd-extended';

// Token helpers
import { setToken, getToken, removeToken } from '@prajwolpakka/antd-extended';

const isValidEmail = validateEmail('user@example.com');
const isValidPassword = validatePassword('MyPassword123');
const isRequired = validateRequired('value');

setToken('token123', 'auth');
const token = getToken('auth');
removeToken('auth');
```

## API Reference

### Components

- Button (extends AntD Button)
  - Props: all AntD Button props +
    - variant: 'primary' | 'secondary' | 'danger'
    - loading?: boolean

- Input (extends AntD Input)
  - Props: all AntD Input props +
    - icon?: React.ReactNode
    - validator?: (value: string) => boolean

- Card (extends AntD Card)
  - Props: all AntD Card props +
    - header?: React.ReactNode
    - footer?: React.ReactNode

### Hook: useFormHandler

Parameters:

- initialValues: Record<string, any>
- validators?: Record<string, (value: any) => string | null>

Returns:

- values, errors, handleChange(field, value), reset(), validate()

### Utilities

- Validators: validateEmail, validatePassword, validateRequired
- Tokens: setToken(token, key), getToken(key), removeToken(key)

## Development

```bash
pnpm install
pnpm build
pnpm test
```

## License

MIT
npm package: @prak28/dynamic-script-loader
Description: A lightweight utility for dynamically loading external JavaScript files
Author: prak28
Latest version: 1.0.5

# Dynamic Script Loader

A lightweight utility for dynamically loading external JavaScript files with proper error handling and callback support.

## Installation

### Direct script include

```html
<script src="https://cdn.jsdelivr.net/gh/yourusername/dynamic-script-loader@v1.0.0/script.js"></script>
```

### npm

```bash
npm install dynamic-script-loader
```

## Usage

```javascript
// Browser usage
loadExternalScript('https://example.com/some-script.js', function() {
  console.log('Script loaded successfully!');
});

// Node.js usage (if applicable)
const loadExternalScript = require('dynamic-script-loader');
```

## API

### loadExternalScript(url, callback)

Loads an external JavaScript file dynamically.

- **url** (string): The URL of the script to load
- **callback** (function, optional): Function to execute after script loads successfully

## License

MIT