open-index/open-npm huggingface dataset:
npm package: @gmana/km-translit
Description: Khmer to Latin transliteration
Author: Sun Sreng
Latest version: 0.0.2

# @gmana/km-translit

A lightweight, dependency-free library for transliterating Khmer text to Latin script (romanization) and vice versa. It is based on the BGN/PCGN 1972 romanization system.

## Features

- **Khmer to Latin (`khmerToLatin`)**: Converts Khmer script into Latin characters.
- **Latin to Khmer (`latinToKhmer`)**: Converts Latin script back into Khmer characters.
- **Overrides Mechanism**: Allows custom word overrides to handle exceptions and specific names.
- **Dependency-Free**: Small bundle size.
- **TypeScript Support**: Fully typed out-of-the-box.

## Installation

```bash
npm install @gmana/km-translit
# or
pnpm add @gmana/km-translit
# or
yarn add @gmana/km-translit
# or
bun add @gmana/km-translit
```

## Usage

### Khmer to Latin

```typescript
import { khmerToLatin } from "@gmana/km-translit";

const latinText1 = khmerToLatin("សុន ស្រេង");
console.log(latinText1); // "Son Sreng"

const latinText2 = khmerToLatin("ចាន់ សុភា");
console.log(latinText2); // "Chan Sophea"
```

You can also provide custom overrides for specific words:

```typescript
const overrides = {
  "សុន": "sun",
  "ស្រេង": "sraeng",
};

const customLatin = khmerToLatin("សុន ស្រេង", overrides);
console.log(customLatin); // "Sun Sraeng"
```

### Latin to Khmer

```typescript
import { latinToKhmer } from "@gmana/km-translit";

const khmerText = latinToKhmer("son seng");
console.log(khmerText); // "សុន សេង"
```

Similar to `khmerToLatin`, custom overrides can be applied during reverse transliteration:

```typescript
const overrides = {
  "rath": "រតន៍",
};

const customKhmer = latinToKhmer("rath", overrides);
console.log(customKhmer); // "រតន៍"
```

## Functions

### `khmerToLatin(text: string, overrides?: Record<string, string>): string`

Converts a string of Khmer text into Latin script. Spaces are preserved, and words are capitalized. 
Optional dictionary of `overrides` will supersede default generated characters.

### `latinToKhmer(text: string, overrides?: Record<string, string>): string`

Converts a string of Latin text back into Khmer script. Note that transliteration back to Khmer can be lossy since multiple Khmer characters might map to the same Latin character.
Optional dictionary of `overrides` allows manual mappings.

## License

MIT
npm package: @gmana/react-aria
Description: React Aria Components for Gmana React UI Library
Author: Sun Sreng
Latest version: 0.0.3

# @gmana/react-aria

React Aria Components for Gmana React UI Library. This package provides accessible, customizable UI components built on top of [React Aria](https://react-spectrum.adobe.com/react-aria/).

## Installation

```bash
npm install @gmana/react-aria
# or
pnpm add @gmana/react-aria
# or
yarn add @gmana/react-aria
```

### Peer Dependencies

This package requires the following peer dependencies:

```bash
npm install @gmana/utils lucide-react react react-dom react-aria react-aria-components @internationalized/date
```

## Components

### Calendar

A customizable calendar component with support for single date selection and date ranges.

```tsx
import { Calendar, RangeCalendar } from "@gmana/react-aria/calendar"

// Single date selection
function MyCalendar() {
  return <Calendar />
}

// Date range selection
function MyRangeCalendar() {
  return <RangeCalendar />
}
```

### DateField

Date and time input components with accessible keyboard navigation.

```tsx
import { parseDate } from "@internationalized/date"

import { DateField, DateInput, TimeField } from "@gmana/react-aria/datefield"

function MyDateField() {
  return (
    <DateField>
      <DateInput />
    </DateField>
  )
}

function MyTimeField() {
  return (
    <TimeField>
      <DateInput />
    </TimeField>
  )
}
```

## Features

- **Accessible**: Built on React Aria for WCAG compliance
- **Customizable**: Fully styled with Tailwind CSS utilities
- **Type-safe**: Written in TypeScript with full type definitions
- **Internationalized**: Supports multiple locales and time zones

## License

MIT © [Sun Sreng](https://github.com/sunsreng)