open-index/open-npm huggingface dataset:
npm package: @shadahmad7/react-native-keyboard-manager
Description: iOS-only React Native TurboModule wrapper for IQKeyboardManager, enabling advanced keyboard handling with New Architecture support.
Author: Shad Ahmad
Latest version: 0.0.1

# @shadahmad7/react-native-keyboard-manager

A lightweight, fully native **IQKeyboardManager TurboModule for React Native (iOS only)**.

This module provides a clean API to enable or disable automatic keyboard management on iOS without depending on Expo — supports both **New Architecture & Classic Bridge**.

⚡ Built on top of **IQKeyboardManager**

📱 Native Objective-C++ implementation

🧠 Smart UI adjustments (no manual keyboard handling needed)

🚀 Plug-and-play: enable or disable at runtime

---

### ✨ Features

- Fully native TurboModule (**New Architecture Ready**)
- **iOS-only** (Android behaves normally, no crashes)
- Auto fixes:
    - Keyboard covering inputs
    - Smart scroll to focused input
    - Next/Previous toolbar navigation
- Can **enable/disable dynamically**
- Zero UI changes required

---

### 📦 Installation

### Using npm

```bash
npm install @shadahmad7/react-native-keyboard-manager

```

### Using Yarn

```bash
yarn add @shadahmad7/react-native-keyboard-manager

```

### ⚠️ iOS Pod Requirement

Add to your `ios/Podfile`:

```ruby
pod 'IQKeyboardManager'

```

Then run:

```bash
cd ios && pod install

```

---

### 🔧 Usage

```tsx
import KeyboardManager, {
  enableKeyboardManager,
  disableKeyboardManager,
} from "@shadahmad7/react-native-keyboard-manager";

// Option 1: Use helper methods
enableKeyboardManager();

// Option 2: Disable later if needed
disableKeyboardManager();

// Option 3: Direct TurboModule access
KeyboardManager.enable();

```

💡 Tip: You can disable for special screens (e.g., chat layouts or custom keyboards).

---

### 📌 Platform Notes

### 📱 iOS

- Powered by **IQKeyboardManager**
- Fully configurable at runtime
- No additional setup within React Native code

### 🤖 Android

- ❌ Not supported (module safely reports no-ops)
- Does **not crash** or break your app

---

### 🛠 API

### `enable()`

Enables automatic keyboard handling.

```tsx
KeyboardManager.enable();

```

### `disable()`

Disables automatic keyboard handling.

```tsx
KeyboardManager.disable();

```

### Helpers (Recommended)

```tsx
enableKeyboardManager();
disableKeyboardManager();

```

---

### 🎯 Best Practices

✔ Enable globally in `App.tsx`

✔ Disable for custom scrollable UI like chat or custom animated layouts

✔ Do not try to replicate UI manually if IQKeyboardManager is active

Example:

```tsx
useEffect(() => {
  enableKeyboardManager();
  return disableKeyboardManager; // cleanup on unmount if needed
}, []);

```

---

### ❓ FAQ

**🔹 Does this work on Android?**

No. Android handles keyboard differently. This package safely skips without crashing.

**🔹 Will it conflict with custom keyboards?**

If using custom animated layouts, disable temporarily.

**🔹 Can I customize toolbar buttons & behavior?**

Currently no — feature planned for future releases.

---

### 📄 License

MIT © **@shadahmad7**
npm package: @shadasd/extract-apis-webpack-plugin
Description: 从项目中提取 apis 的声明生成 apis-keys.d.ts 文件
Latest version: 1.0.1

### extract-apis-webpack-plugins
从项目中提取 apis 的声明生成 apis-keys.d.ts 文件

### 背景
- 每次新定义一个 api 和修改 api 名称需要修改 apis-keys.d.ts 文件，降低了开发效率
- 每次触发 webpack 的 emit 事件必然会修改 apis-keys.d.ts，影响 git 操作
- 项目构建时因为项目打包没有 apis.ts 文件引起报错

### Install
```sh
$ yarn add @shadasd/extract-apis-webpack-plugin --dev
```
或

```bash
$ npm install @shadasd/extract-apis-webpack-plugin --dev
```
### Usage
webpack:
```js
const { ExtractApisPlugin } = require("@shadasd/extract-apis-webpack-plugin")

plugins: [
  new ExtractApisPlugin()
]
```

### Options
```js
/**
 * 要匹配文件的地址
 * default: ['/src/modules', '/src/components']
 */
paths?: string[];

/**
 * 要匹配的文件名
 * default: apis
 */
filename?: string;

/**
 * 输出文件的地址
 * default: /src/types
 */
outputPath?: string;

/**
 * 输出文件名
 * default: apis-keys.d.ts
 */
outputFilename?: string;

/**
 * 是否打印编译错误日志
 */
verbose?: boolean;
```
npm package: @shadcn-calendar/core
Description: Internal shadcn-calendar engine logic
Latest version: 0.1.1-next.0

# @shadcn-calendar/core

Internal engine package for shadcn-calendar.

Contains:

- date math and calendar helpers
- range normalization and persistence helpers
- built-in preset generators
- linked month navigation helpers
- shared internal types

This is not the primary public consumption surface in v1.
npm package: @shadcn-calendar/registry
Description: Installable shadcn-calendar registry source package
Latest version: 0.1.1-next.0

# @shadcn-calendar/registry

Registry-first installable source surface for shadcn-calendar.

Exports:

- Calendar
- RangeCalendar
- DatePicker
- DateRangePicker

Styles:

```css
@import "@shadcn-calendar/registry/styles.css";
```

Primary product direction is open-code/registry consumption for Next.js + shadcn users.

## Install

```bash
pnpm add @shadcn-calendar/registry
```

`react` and `react-dom` are peer dependencies and should already exist in your app.

## Install (open-code mode)

Use manifest-driven source install from `src/manifests/*` if you want full code ownership in your app.
In this mode, install dependencies listed by each manifest entry (for example `date-fns`, Radix packages, `lucide-react`, `class-variance-authority`, `clsx`, `tailwind-merge`).

## Quick usage

```tsx
import { useState } from "react";
import { enGB } from "date-fns/locale";
import { DatePicker, DateRangePicker, type DateRange } from "@shadcn-calendar/registry";

export function Example() {
  const [date, setDate] = useState<Date | null>(null);
  const [range, setRange] = useState<DateRange | null>(null);

  return (
    <>
      <DatePicker value={date} onValueChange={setDate} />

      <DateRangePicker
        value={range}
        onValueChange={setRange}
        autoApply={false}
        numberOfMonths={2}
        locale={enGB}
        labels={{
          rangePlaceholder: "Select date range",
          apply: "Apply",
          clear: "Clear",
          save: "Save",
          customPresetPlaceholder: "Custom range",
          presets: {
            today: "Today",
            "this-week": "This week"
          }
        }}
      />
    </>
  );
}
```

## API notes

- `onValueChange` is commit-only (no draft callbacks are exposed).
- `locale` controls date-fns behavior and localized month/weekday rendering.
- `labels` controls UI strings with default English fallback.
- Use `labels.presets` for built-in preset translations (`presetLabels` is removed).

## Prerelease install

```bash
pnpm add @shadcn-calendar/registry@next
```
npm package: @shadcn-svelte-chat/cli
Description: A CLI for adding **chat** components to your project.
Author: Clifford njoroge
Latest version: 1.2.3

# shadcn-chat

A CLI for adding **chat** components to your project.

# Documentation

Check out the full documentation and API reference [here](##).

# Installation

> Some of the components rely on [shadcn-svelte](https://next.shadcn-svelte.com/docs/installation), so make sure to have it installed. Namely the button, avatar and textatrea components

# init

It is recommended to install all components at once:

```
npx @shadcn-svelte-chat/cli init
```

The components will be installed in a subdirectory of the `components` folder: `src/components/ui/chat`
npm package: @shadcn-svelte/registry
Description: Types, schemas, and utils for the shadcn-svelte registry.
Author: huntabyte & CokaKoala
Latest version: 0.0.2

# @shadcn-svelte/registry

> [!WARNING]
> This package is deprecated. Please use `shadcn-svelte/schema` instead.

This package provides TypeScript types and Zod schemas for building a custom shadcn-svelte registry.

## Installation

```bash
npm install @shadcn-svelte/registry
```

## License

MIT
npm package: @shaddyhm/configs
Description: A simple application configuration library
Author: Shaddy Mansour
Latest version: 0.2.1

# Configs

[![codecov](https://codecov.io/github/shaddyhm/configs/graph/badge.svg?token=MNEOE0ESCN)](https://codecov.io/github/shaddyhm/configs)

A dynamic configuration library for applications, supporting multi-file loading, runtime updates, and variable interpolation.

## 📦 Installation

```
npm install @shaddyhm/configs
```

## 🤝 Contribution

Feel free to adapt this version for your projects. Please note that this is intended for individual use only.
npm package: @shaddyshad/auth_utils
Description: MongoDB realm auth utils
Author: shaddyshad
Latest version: 1.0.7

# auth_utils

> MongoDB realm auth utils   

[![NPM](https://img.shields.io/npm/v/@shaddyshad/auth_utils.svg)](https://www.npmjs.com/package/@shaddyshad/auth_utils)
 [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @shaddyshad/auth_utils

yarn add @shaddyshad/auth_utils
```

## Usage

```jsx
import React, { Component } from 'react'

import {AuthContextProvider} from 'auth_utils'

// declare the app id from mongo db realm
const appId = "YOUR_REALM_APP_ID"

class Example extends Component {
  render() {
    return (
      <AuthContextProvider appId={appId} >
          <OtherComponents />
      </AuthContextProvider>
    )
  }
}
```

### In the login page 

```jsx 
import React, {useState} from 'react'
import {useAuth} from 'auth_utils'

const Signin = (props) => {
  const [email, setEmail] = useState("")
  const [password, setPassword] = useState("")

  const auth = useAuth()

  const onSignin = () => {
    auth.login(email, password)
      .then(() => {
        // succesfully signed in
      }).catch(err => {
        // handle the error 
        // {error: str, error_code: str...}
      })
  }


  return (
    <SigninUi onSigin={onSigin} />
  )
}
```

## License

MIT © [shaddyshad](https://github.com/shaddyshad)