open-index/open-npm huggingface dataset:
npm package: @paljs/eva-icon
Description: @paljs/eva-icon package for @paljs/ui package
Author: Ahmed Elywa
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# What is `@paljs/eva-icon`?

Small tool to get [eva-icon](https://akveo.github.io/eva-icons) package ready to use in [@paljs/ui](https://github.com/paljs/ui) package

## Have questions?

Didn't find something here? Look through the [issues](https://github.com/paljs/ui/issues) or simply drop us a line at <ahmed.elywa@icloud.com>.
npm package: @paljs/icons
Description: @paljs/icons package for @paljs/ui package
Author: Ahmed Elywa
Latest version: 1.0.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# What is `@paljs/icons`?

Small tool to get [eva-icon](https://akveo.github.io/eva-icons) package ready to use in [@paljs/ui](https://github.com/paljs/ui) package

## Have questions?

Didn't find something here? Look through the [issues](https://github.com/paljs/ui/issues) or simply drop us a line at <hello@paljs.com>.
npm package: @paljs/theme
Description: @paljs/theme package for @paljs/ui package
Author: Ahmed Elywa
Latest version: 1.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# What is `@paljs/theme`?

Contain `@paljs/ui` themes

[Full Docs](https://paljs.com/ui/getting-started)
npm package: @paljs/ui
Description: React Styled Components with bootstrap grid system
Author: Ahmed Elywa
Latest version: 1.1.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# What is Pal.js UI?

Pal.js UI is a set of essential modules for your next React application.

[Full Docs](https://paljs.com/ui/getting-started)

## What's included

Pal.js UI `npm` package contain two things:

- Pal.js UI Theme
  - Theme System - set of `TypeScript` object, which allows you to modify application look & feel by changing variables, with fewer custom styles.
  - Responsive breakpoints - have function to use in your `Styled Components` breakpointUp breakpointDown breakpointBetween breakpointOnly.
  - Server-side rendering compatibility!
  - Right-to-left writing system support for all components.
- Pal.js UI Components
  - Global components (Layout-Card-FlipCard-RevealCard-Accordion-List).
  - Navigation components (Sidebar-Menu-Tabs-Actions).
  - Forms components (InputGroup-Radio-Select-Checkbox-Button).
  - Grid components (Container-Row-Col).
  - Modals & Overlays components (Popover-Toastr-Tooltip-ContextMenu).
  - Extra components (Search-User-Badge-Alert-ProgressBar-ChatUI-Spinner).

EVA ICON `@paljs/icons`
npm package: @pallab.gain/lazy-filter
Description: Remove or filter out value, or list of values from JSON object lazily
Author: pallab.gain@gmail.com
Latest version: 1.0.4

## Lazy Filter

[![Build Status](https://travis-ci.org/pallab-gain/lazy-filter.svg?branch=master)](https://travis-ci.org/pallab-gain/lazy-filter) [![Coverage Status](https://coveralls.io/repos/github/pallab-gain/lazy-filter/badge.svg?branch=master)](https://coveralls.io/github/pallab-gain/lazy-filter?branch=master)
#### Remove or filter out value, or list of values from JSON object lazily.

#### Install package
```js
npm install @pallab.gain/lazy-filter
```

#### How to use the library

```
const user = {
  "firstName" :  "Pallab",
  "lastName" :  "Gain",
  "email" : "example@mail.com",
  "password": "my secrect password",
  "id": "my-secret-id"
}
```



*Nodejs/react like example*

```
// initialize
const {
  omit,
  pick
} = require('@pallab.gain/lazy-filter');

// user object filter
const filteredUser = omit(user, ["password","id","email"])
const filteredUser = pick(user, ["password","id","email"])
```



*Browser example*

```
// add the library in your html
<script src="/dist/lazyfilter.js"></script>

// user object filtering
const omitedUser = LazyFilter.omit(user, ["password","id","email"])
const pickedUser = LazyFilter.pick(user, ["password","id","email"])
```



#### Install devependecies and build library

- Install dependencies

  `npm install`

- Build non-minified version of the library

  `npm run build-dev`

- Build library and use in production

  `npm run build-prod`

  You will find the library in `dist` folder

- Update or generate api doc

  `npm run generate-doc`  
  
- Run tests

  `npm run test`

#### API Doc
 - https://obedient-yak.surge.sh/
npm package: @pallad/builder
Description: Basic helper for builders
Author: Łukasz Kużyński
Latest version: 2.0.2

<div align="center">
<h1>builder 💪</h1>

<p>Builder building blocks to prevent breaking chaining</p>
</div>

---
[![CircleCI](https://circleci.com/gh/pallad-ts/builder/tree/master.svg?style=svg)](https://circleci.com/gh/pallad-ts/builder/tree/master)
[![npm version](https://badge.fury.io/js/@pallad%2Fbuilder.svg)](https://badge.fury.io/js/@pallad%2Fbuilder)
[![Coverage Status](https://coveralls.io/repos/github/pallad-ts/builder/badge.svg?branch=master)](https://coveralls.io/github/pallad-ts/builder?branch=master)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
---

# Installation

```shell
npm install @pallad/builder
```

# Problem

Whenever you use a builder pattern, sometimes certain methods needs be called conditionally.
For those cases you need to break the chaining.

```typescript

const queryBuilder = createQueryBuilder();
if (hasFilter) {
	queryBuilder.where() // do filters
}
return queryBuilder.where() // work on builder again
```

# Solution

That is very annoying and many times unnecessary complicates the code. `@pallad/builder` provides `Builder` class that
has `runIf` and `run` helper methods. The most useful is defeinitely `runIf`.

```typescript
return createQueryBuilder()
	.runIf(hasFilter, () => {
		queryBuilder.where() // do filters 
	})
	.where() // keep working on builder
```

Much cleaner.

# Usage and how it works

In order to use `Builder` in your builder patterns you need to either extend it.

```typescript
import {Builder} from '@pallad/builder';

class YourCustomBuilder extends Builder {

}
```

Or apply on existing object

```typescript
import {Builder} from '@pallad/builder';

const existingBuilder = Builder.extend(someBuilderInstance);
```

## `runIf`

`runIf` executes provided function only if `condition` is truthy.
If it is not, then returns current instance.

```typescript
new CustomBuilder()
	.runIf(hasEnabledSorting, (builder) => {
		builder.setupSorting(); // ran if `hasEnabledSorting` is truthy
	})
```

## `run`

`run` just always executes provided function.
Very handy when you need to setup huge builder but want to split it into several other functions.

```typescript
new CustomBuilder()
	.run(setupFilters)
	.run(setupSorting)
	.run(setupPagination)
	.run(setupTenancy)
```

## Returned result

Both `run` and `runIf` might return some result.
If that result is not `undefined` or `null` then that result is being returned back.

```typescript
const builder = new CustomBuilder();
const result = builder.runIf(true, () => {
	return new CustomBuilder(); // return new instance
});
result === builder // false
```

Otherwise current instance gets returned

```typescript
const builder = new CustomBuilder();
const result = builder.runIf(false, () => {
	// do nothing
});
result === builder // true
```
npm package: @pallad/cascade-module
Description: Pallad's module for @pallad/cascade
Author: Łukasz Kużyński
Latest version: 1.1.0

# Module

---
[![CircleCI](https://circleci.com/gh/pallad-ts/cascade/tree/master.svg?style=svg)](https://circleci.com/gh/pallad-ts/cascade/tree/master)
[![npm version](https://badge.fury.io/js/@pallad%2Fcascade-module.svg)](https://badge.fury.io/js/@pallad%2Fcascade)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
---

`@pallad/cascade-module` that integrates `@pallad/cascade` with [`@pallad/modules`](https://github.com/pallad-ts/modules)

Documentation will be added later but for now please go to [`@pallad/cascade` documentation](https://github.com/pallad-ts/cascade/tree/master/packages/core)
npm package: @pallad/common-errors
Description: Common domain errors
Author: Łukasz Kużyński
Latest version: 2.2.0

<div align="center">
	<h1>common-errors</h1>
</div>

---
[![CircleCI](https://circleci.com/gh/pallad-ts/common-errors/tree/master.svg?style=svg)](https://circleci.com/gh/pallad-ts/common-errors/tree/master)
[![npm version](https://badge.fury.io/js/@pallad%2Fcommon-errors.svg)](https://badge.fury.io/js/@pallad%2Fcommon-errors)
[![Coverage Status](https://coveralls.io/repos/github/pallad-ts/common-errors/badge.svg?branch=master)](https://coveralls.io/github/pallad-ts/common-errors?branch=master)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
---

Small set of commonly used errors. Carefully designed and battle tested so you don't need to do it.

# Installation

```shell
npm install @pallad/common-errors
```

# Common api

All errors assume that `code` property might be set for an error. 
`code` is used to uniquely specify what error is being thrown.

# Errors
* [ApplicationError](blob/master/src/ApplicationError.ts)
* [AuthenticationError](blob/master/src/AuthenticationError.ts)
* [AuthorizationError](blob/master/src/AuthorizationError.ts)
* [ConflictErrpr](blob/master/src/ConflictErrpr.ts)
* [InternalError](blob/master/src/InternalError.ts)
* [LimitExceededError](blob/master/src/LimitExceededError.ts)
* [NotFoundError](blob/master/src/NotFoundError.ts)
* [TimeoutError](blob/master/src/TimeoutError.ts)
npm package: @pallad/config
Description: Create and validate configuration
Author: Łukasz Kużyński
Latest version: 4.0.1

<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

Main `@pallad/config` package.

Full documentation is [available here](https://pallad.dev/config)
npm package: @pallad/config-aws-ssm
Description: SSM provider for @pallad/config
Author: Łukasz Kużyński
Latest version: 4.0.1

<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

AWS SSM Parameter Store provider for `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/providers/ssm)
npm package: @pallad/config-cli
Description: CLI command that allows to display and verify current configuration
Author: Łukasz Kużyński
Latest version: 4.0.1


<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

CLI fo `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/cli)
npm package: @pallad/config-common
Description: <div align="center">     <img src="https://pallad.dev/images/logo.svg" /> 	<h1>config 🕵️</h1> 	<p>Create type-safe configuration</p> </div>
Author: Łukasz Kużyński
Latest version: 4.0.1

<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

Main `@pallad/config` package.

Full documentation is [available here](https://pallad.dev/config)
npm package: @pallad/config-envfile
Description: Envfile handling for @pallad/config
Author: Łukasz Kużyński
Latest version: 4.0.1


<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

Envfile provider for `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/providers/envfile)
npm package: @pallad/config-preset-env-aws-secret-manager
Description: Preset for @pallad/config that loads config from ENV variables, env files and AWS Secret manager
Author: Łukasz Kużyński
Latest version: 4.0.1

<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

Provider preset with env, envfile and AWS SSM for `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/presets#env-ssm)
npm package: @pallad/config-preset-env-aws-ssm
Description: Preset for @pallad/config that loads config from ENV variables, env files and ssm
Author: Łukasz Kużyński
Latest version: 4.0.1

<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

Provider preset with env, envfile and AWS SSM for `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/presets#env-ssm)
npm package: @pallad/config-preset-env-ssm
Description: Preset for @pallad/config that loads config from ENV variables, env files and ssm
Author: Łukasz Kużyński
Latest version: 3.0.0

<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

Provider preset with env, envfile and AWS SSM for `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/presets#env-ssm)
npm package: @pallad/config-ssm
Description: SSM provider for @pallad/config
Author: Łukasz Kużyński
Latest version: 3.0.0

<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

AWS SSM Parameter Store provider for `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/providers/ssm)
npm package: @pallad/config-toml
Description: TOML config handling for @pallad/config
Author: Łukasz Kużyński
Latest version: 4.0.1


<div align="center">
    <img src="https://pallad.dev/images/logo.svg" />
	<h1>config 🕵️</h1>
	<p>Create type-safe configuration</p>
</div>

TOML provider for `@pallad/config`.
Full documentation is [available here](https://pallad.dev/config/providers/envfile)
npm package: @pallad/hash
Description: <div align="center"> <h1>Hasher 🌄</h1>
Author: Łukasz Kużyński
Latest version: 2.0.0

<div align="center">
<h1>Hasher 🌄</h1>

<p>Simple crypto async hashing api</p>
</div>

---
[![CircleCI](https://circleci.com/gh/pallad-ts/hasher/tree/master.svg?style=svg)](https://circleci.com/gh/pallad-ts/hasher/tree/master)
[![npm version](https://badge.fury.io/js/@pallad%2Fhasher.svg)](https://badge.fury.io/js/@pallad%2Fhasher)
[![Coverage Status](https://coveralls.io/repos/github/pallad-ts/hasher/badge.svg?branch=master)](https://coveralls.io/github/pallad-ts/hasher?branch=master)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
---

Simple crypto async hashing api with nice [`TextBufferView` API](https://www.npmjs.com/package/@pallad/text-buffer-view)

# SHA

Supports `sha256`, `sha384`, `sha512` algorithms.

```typescript
import { ShaHasher } from '@pallad/hasher';


const hasher = new ShaHasher(256); // or 384, 512

const hash = await hasher.hash(
	TextBufferView.fromString('Hello, world!', 'utf8')
);

hash.toString('hex'); // 315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3
```


## Injectability
Since `Hasher` is an abstract class, you can make hasher injectable.

```typescript
import {Hasher} from '@pallad/hasher';
class SomeService {
	constructor(private hasher: Hasher) {}
}
```
npm package: @pallad/hasher
Description: <div align="center"> <h1>Hasher 🌄</h1>
Author: Łukasz Kużyński
Latest version: 2.0.1

<div align="center">
<h1>Hasher 🌄</h1>

<p>Simple crypto async hashing api</p>
</div>

---
[![CircleCI](https://circleci.com/gh/pallad-ts/hasher/tree/master.svg?style=svg)](https://circleci.com/gh/pallad-ts/hasher/tree/master)
[![npm version](https://badge.fury.io/js/@pallad%2Fhasher.svg)](https://badge.fury.io/js/@pallad%2Fhasher)
[![Coverage Status](https://coveralls.io/repos/github/pallad-ts/hasher/badge.svg?branch=master)](https://coveralls.io/github/pallad-ts/hasher?branch=master)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
---

Simple crypto async hashing api with nice [`TextBufferView` API](https://www.npmjs.com/package/@pallad/text-buffer-view)

# SHA

Supports `sha256`, `sha384`, `sha512` algorithms.

```typescript
import { ShaHasher } from '@pallad/hasher';


const hasher = new ShaHasher(256); // or 384, 512

const hash = await hasher.hash(
	TextBufferView.fromString('Hello, world!', 'utf8')
);

hash.toString('hex'); // 315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3
```


## Injectability
Since `Hasher` is an abstract class, you can make hasher injectable.

```typescript
import {Hasher} from '@pallad/hasher';
class SomeService {
	constructor(private hasher: Hasher) {}
}
```
npm package: @pallad/micro-events
Description: Minimal, type friendly event emitter
Author: Łukasz Kużyński
Latest version: 1.1.0

<div align="center">
<h1>micro-events ❄️</h1>

<p>Minimal, type friendly event emitter</p>
</div>

---
[![CircleCI](https://circleci.com/gh/pallad-ts/micro-events/tree/master.svg?style=svg)](https://circleci.com/gh/pallad-ts/micro-events/tree/master)
[![npm version](https://badge.fury.io/js/@pallad%2Fmicro-events.svg)](https://badge.fury.io/js/@pallad%2Fmicro-events)
[![Coverage Status](https://coveralls.io/repos/github/pallad-ts/micro-events/badge.svg?branch=master)](https://coveralls.io/github/pallad-ts/micro-events?branch=master)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
---

![Example code](./assets/intro-code.png)

Minimal, type friend event emitter to prevent using events without correct types

# Community

Join our [discord server](https://discord.gg/G5tSBYbpej)

# Installation

```shell
npm install @pallad/micro-events
```

# Usage

```typescript
const events = new Events<{
	progress: [number]
}>();

// register listener on event
events.on('progress', (progress) => {
	console.log('progress', progress);
});

events.once('progress', (progress) => {
	console.log('progress once', progress);
});

events.emit('progress', 10);
events.emit('progress', 100);
// progress 10
// progress once 10
// progress 100
```

## Registering listener

```typescript
events.on('progress', (progress) => {
	console.log('progress', progress);
});

events.on('progress', () => {
	// consuming argument is not needed
});
```

## Emitting event

```typescript
events.emit('progress', 50); // notifies all registered `progress` listeners
```

## Removing listener

```typescript
const listener = () => {
	console.log('progress');
}
events.on('progress', listener);
events.off('progress', listener);

events.emit('progress', 100);

// No listeners called
```
npm package: @pallad/sqs
Description: AWS SQS Consumer, Producer and Manager
Author: Łukasz Kużyński
Latest version: 0.6.0

# SQS

Powerful Amazon SQS consumer with delayed retry support.

## Features
* Written in typescript
* Ability to stop/resume consumptions
* Easy debugging with [debug](https://www.npmjs.com/package/debug) module
* Separate consumers per message group id

## Installation
```bash
npm install --save @pallad/sqs
```
npm package: @pallari/italian-address-map
Description: Leaflet map integration for ANNCSU API. Supports visual selection and reverse geocoding.
Author: Gian-Paolo Pallari
Latest version: 1.2.2

# @pallari/italian-address-map

Leaflet integration for the ANNCSU API. This package provides a visual layer to the `@pallari/italian-address-client`, allowing users to see addresses on a map, view all house numbers in a street, and select addresses by clicking on the map (reverse geocoding).

## Installation

```bash
npm install @pallari/italian-address-map leaflet
```

## Quick Start

```html
<!-- Load Leaflet -->
<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>

<!-- Load ANNCSU Clients -->
<script src="https://cdn.jsdelivr.net/npm/@pallari/italian-address-client/italian-address-client.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@pallari/italian-address-map/src/ItalianAddressMap.js"></script>

<div id="map" style="height: 400px;"></div>

<script>
    const client = new ItalianAddressClient();
    const addrMap = new ItalianAddressMap('map', client);

    // Automatically sync map with autocomplete selection
    addrMap.syncWithClient();

    // Or manual control
    // addrMap.showStreetAddresses(12345);
    // addrMap.showAddress(selectedAddressObject);
</script>
```

## Features

- **Automatic Sync**: Connects to an existing `ItalianAddressClient` instance and updates the map as the user selects municipalities or streets.
- **Street View**: When a street is selected, it can automatically display all certified house numbers as points on the map.
- **Reverse Geocoding**: Click anywhere on the map to find the nearest certified addresses (powered by high-performance PostGIS KNN search).
- **Customizable**: Full access to the underlying Leaflet instance for custom icons or layers.

## License

MIT
npm package: @pallari/vue-italian-address-map
Description: Vue 3 Leaflet component for ANNCSU API. Integration with @pallari/italian-address-client.
Latest version: 1.0.0

# @pallari/vue-italian-address-map

Vue 3 component for Leaflet integration with ANNCSU API. Provides a visual layer for `@pallari/vue-italian-address-picker` or standalone usage.

## Installation

```bash
npm install @pallari/vue-italian-address-map leaflet
```

## Usage

```vue
<template>
  <AnncsuiMap 
    :client="anncsuClient"
    v-model="selectedAddress"
    :street-id="currentStreetId"
    height="500px"
    @address-selected="onMapPick"
  />
</template>

<script setup>
import { ref } from 'vue';
import { ItalianAddressClient } from '@pallari/italian-address-client';
import { AnncsuiMap } from '@pallari/vue-italian-address-map';
import '@pallari/vue-italian-address-map/dist/style.css';

const anncsuClient = new ItalianAddressClient();
const selectedAddress = ref(null);
const currentStreetId = ref(null);

const onMapPick = (addr) => {
  console.log("Selected from map:", addr);
};
</script>
```

## Features

- **Pick Mode**: Safe address selection via a toggleable map control.
- **Reverse Geocoding**: High-performance nearest address search on map click.
- **Layer Separation**: Distinct visual styles for current selection, street house numbers, and search candidates.
- **V-Model Support**: Reactive sync with your address state.

## License

MIT
npm package: @pallas-ui/breadcrumb
Description: A flexible and accessible breadcrumb navigation component built with Radix UI primitives.
Latest version: 0.1.0

# Breadcrumb

A flexible and accessible breadcrumb navigation component built with Radix UI primitives.

## Features

- Accessible navigation structure
- Customizable separator
- Support for links and current page indicators
- Ellipsis for truncated paths
- TypeScript support
- Follows Radix UI patterns

## Installation

```bash
npm install @your-scope/breadcrumb
```

## Usage

```tsx
import { Breadcrumb } from '@your-scope/breadcrumb'

function Example() {
  return (
    <Breadcrumb.Root>
      <Breadcrumb.List>
        <Breadcrumb.Item>
          <Breadcrumb.Link href="/">Home</Breadcrumb.Link>
        </Breadcrumb.Item>
        <Breadcrumb.Separator />
        <Breadcrumb.Item>
          <Breadcrumb.Link href="/docs">Docs</Breadcrumb.Link>
        </Breadcrumb.Item>
        <Breadcrumb.Separator />
        <Breadcrumb.Item>
          <Breadcrumb.Page>Current Page</Breadcrumb.Page>
        </Breadcrumb.Item>
      </Breadcrumb.List>
    </Breadcrumb.Root>
  )
}
```

## Custom Separator

You can customize the separator between breadcrumb items:

```tsx
<Breadcrumb.Root separator={<span className="mx-2">/</span>}>
  {/* ... */}
</Breadcrumb.Root>
```

## Components

- `Breadcrumb.Root` - The root navigation element
- `Breadcrumb.List` - The ordered list container
- `Breadcrumb.Item` - Individual breadcrumb items
- `Breadcrumb.Link` - Link component for navigation
- `Breadcrumb.Page` - Current page indicator
- `Breadcrumb.Separator` - Separator between items
- `Breadcrumb.Ellipsis` - Ellipsis for truncated paths

## Accessibility

The component follows WAI-ARIA patterns for breadcrumb navigation:
- Uses semantic HTML elements (`nav`, `ol`, `li`)
- Includes proper ARIA labels and roles
- Maintains keyboard navigation support
- Provides screen reader friendly structure

## License

MIT
npm package: @pallas-ui/carousel
Description: A flexible and accessible carousel component built with embla-carousel-react.
Latest version: 0.1.0

# Carousel

A flexible and accessible carousel component built with embla-carousel-react.

## Features

- Support for multiple slides per screen
- Navigate by swipe and buttons
- Customizable and clickable dot buttons
- Extendable using plugins provided by embla
- TypeScript support

## Installation

```bash
npm install @pallas-ui/carousel
```

## Usage

```tsx
import * as Carousel from '@pallas-ui/carousel'

function Example() {
  return (
    <Carousel.Root>
      <Carousel.List>
        <Carousel.Item></Carousel.Item>
        <Carousel.Item></Carousel.Item>
        <Carousel.Item></Carousel.Item>
      </Carousel.List>

      <Carousel.Previous></Carousel.Previous>
      <Carousel.Next></Carousel.Next>

      <Carousel.Dots>
        <Carousel.Dot/>
        <Carousel.Dot/>
        <Carousel.Dot/>
      </Carousel.Dots>
    </Carousel.Root>
  )
}
```

## Components

Root, 
List, 
Item, 
Next,
Previous, 
Dots, 
Dot, 
useCarousel

- `Carousel.Root` - The root element
- `Carousel.List` - The wrapper element for carousel items
- `Carousel.Item` - The wrapper element for an item (slide)
- `Carousel.Previous` - The previous button
- `Carousel.Next` - The next button
- `Carousel.Dots` - The wrapper element for navigation dots
- `Carousel.Dot` - The button element for a dot

- `Carousel.useCarousel` - The hook provides handlers, refs, states etc

## Accessibility

The component follows WAI-ARIA patterns for sidebar navigation:
- Uses semantic HTML elements (`section`, `button`)
- Includes proper ARIA labels and roles
- Maintains keyboard navigation support
- Provides screen reader friendly structure

## License

MIT
npm package: @pallas-ui/input-otp
Description: An accessible one-time-password input component built on top of [input-otp](https://input-otp.rodz.dev/)
Latest version: 0.1.0

# Input OTP

An accessible one-time-password input component built on top of [input-otp](https://input-otp.rodz.dev/)

## Features

- Variants based on style, shape and size that can be customized
- Validation state based styling for each variant
- Support for copy-paste and keyboard navigation
- TypeScript support

## Installation

```bash
npm install @your-scope/input-otp
```

## Usage

```tsx
import InputOTP from '@your-scope/input-otp'

function Example() {
  return (
        <InputOTP.Root maxLength={6}>
            <InputOTP.Group>
            <InputOTP.Slot index={0} />
            <InputOTP.Slot index={1} />
            <InputOTP.Slot index={2} />
            </InputOTP.Group>
            <InputOTP.Separator />
            <InputOTP.Group>
            <InputOTP.Slot index={3} />
            <InputOTP.Slot index={4} />
            <InputOTP.Slot index={5} />
            </InputOTP.Group>
        </InputOTP.Root>
  )
}
```

## Components

- `InputOTP.Root` - The root element
- `InputOTP.Group` - The group wrapper element
- `InputOTP.Slot` - The input slot element
- `InputOTP.Separator` - A separator element

## Accessibility

The component follows WAI-ARIA patterns for slots navigation:
- Includes proper ARIA labels for accessibility
- Maintains keyboard navigation support
- Maintains copy-paste support

## License

MIT