open-index/open-npm huggingface dataset:
npm package: @snowcodes/headless-components
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.0.
Latest version: 0.0.3

# HeadlessComponents

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.0.

## Code scaffolding

Run `ng generate component component-name --project headless-components` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project headless-components`.
> Note: Don't forget to add `--project headless-components` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build headless-components` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build headless-components`, go to the dist folder `cd dist/headless-components` and run `npm publish`.

## Running unit tests

Run `ng test headless-components` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @snowcodes/nanostores-rxjs
Description: RXJS Support for nanostores
Author: Alexandre RUIZ - Snowcodes
Latest version: 1.0.1

# @snowcodes/nanostores-rxjs

## Add reactivity to [nanostores](https://github.com/nanostores/nanostores).

With `@snowcodes/nanostores-rxjs`, add rxjs in the game.<br>
You can now use the power of observable with nanostores.

## How to use it ?

We expose to simple functions : `listenStore` and `subscribeStore`.

### Basic usage

You can listen your store with `listenStore`.

> Important note: `listenStore` use `listen` from `nanostores`.<br>
> First value will be read not immediately.

```typescript
import { atom } from 'nanostores';
import { listenStore } from '@snowcodes/nanostores-rxjs';
import { map } from 'rxjs/operators';

const counterState = atom<number>(0);

listenStore(counterState)
  .pipe(map((value) => doSomething(value)))
  .subscribe((afterDoSomething) => {
    // ...
  });
```

You can also use `subscribeStore`.

> Important note: `subscribeStore` use `subscribe` from `nanostores`.<br>
> First value will be read immediately.

```typescript
import { atom } from 'nanostores';
import { subscribeStore } from '@snowcodes/nanostores-rxjs';
import { map } from 'rxjs/operators';

const counterState = atom<number>(0);

subscribeStore(counterState)
  .pipe(map((value) => doSomething(value)))
  .subscribe((afterDoSomething) => {
    // ... Read immediately
  });
```

### Advanced usage

You can select or transform data directly.

`listenStore` or `subscribeStore` accept a second parameter. Follow the example :

```typescript
import { map } from 'nanostores';
import { subscribeStore, listenStore } from '@snowcodes/nanostores-rxjs';
import { Observable } from 'rxjs';

type ApplicationState = {
  loading: boolean;
};

const applicationState = map<ApplicationState>({ loading: false });

// 1. Create a selector or a transformation or what you waht
const selectLoading = (state: ApplicationState) => state.loading;

// 2. Use it as second parameter
const isLoadingFromListen$: Observable<boolean> = listenStore(applicationState, selectLoading);
const isLoadingFromSubscribe$: Observable<boolean> = subscribeStore(applicationState, selectLoading);
```
npm package: @snowcone-app/cli
Description: CLI tool for setting up Merch UI components
Latest version: 0.2.3

# @snowcone-app/cli

CLI tool for automatic setup and configuration of Merch UI components.

## Features

- ✅ **Automatic @source path detection** - Detects your project structure and configures correct paths
- ✅ **Zod dependency management** - Installs zod if not already present
- ✅ **Smart project detection** - Works with both `src/app` and `app` folder structures
- ✅ **Package manager detection** - Supports npm, pnpm, yarn, and bun
- ✅ **Configuration verification** - Validates setup after completion

## Usage

### Quick Setup

Run this command in your Next.js project root:

```bash
npx @snowcone-app/cli init
```

This will:
1. Detect your project structure (`src/app/` vs `app/`)
2. Find your `globals.css` file
3. Install `zod` if missing
4. Add/update `@source` paths in `globals.css`
5. Verify the configuration

### What It Configures

The CLI automatically adds the correct `@source` directives to your `globals.css`:

**For `src/app/globals.css`:**
```css
@import "tailwindcss";

/* Auto-configured by @snowcone-app/cli */
@source "../../src/app/**/*.{js,ts,jsx,tsx,mdx}";
@source "../../node_modules/@snowcone-app/ui/**/*.{js,ts,jsx,tsx}";
```

**For `app/globals.css`:**
```css
@import "tailwindcss";

/* Auto-configured by @snowcone-app/cli */
@source "../app/**/*.{js,ts,jsx,tsx,mdx}";
@source "../node_modules/@snowcone-app/ui/**/*.{js,ts,jsx,tsx}";
```

### Example Output

```
🎨 Merch UI Setup Wizard

Detected configuration:
  Project structure: src/app/
  globals.css location: src/app/globals.css
  Package manager: pnpm
  Zod installed: ✗

? Continue with automatic setup? › (Y/n)

📦 Installing zod...
✓ Zod installed

⚙️  Configuring Tailwind @source paths...
✓ globals.css updated

🔍 Verifying configuration...
  ✓ Tailwind configuration verified

✅ Setup complete!

Next steps:
  1. Restart your dev server
  2. Import components from @snowcone-app/ui

  Example:
  import { Shop, Product, ProductImage } from '@snowcone-app/ui';

  See docs: https://developers.snowcone.app/docs
```

## Requirements

- Node.js 18+ or 20+
- Next.js 13+ or 14+ or 15+
- Tailwind CSS v4

## Manual Setup

If you prefer manual configuration, see: https://developers.snowcone.app/llm-kit/latest/theme-setup.md

## Troubleshooting

### "Could not find globals.css"

The CLI looks for `globals.css` in these locations:
- `src/app/globals.css`
- `app/globals.css`
- `src/styles/globals.css`
- `styles/globals.css`

Create one at `app/globals.css` or `src/app/globals.css` before running the CLI.

### "@source directives already exist"

The CLI will ask if you want to overwrite existing `@source` directives. Choose "Yes" to let the CLI configure the correct paths automatically.

## License

MIT