open-index/open-npm huggingface dataset:
npm package: @saas-buildkit/i18n
Description: This library was generated with [Nx](https://nx.dev).
Latest version: 0.0.1

# i18n

This library was generated with [Nx](https://nx.dev).



## Building

Run `nx build i18n` to build the library.





## Running unit tests

Run `nx test i18n` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @saas-maker/analytics-sdk
Description: Privacy-friendly analytics tracking. No cookies, respects Do Not Track.
Latest version: 0.2.1

# @saas-maker/analytics-sdk

Privacy-friendly analytics tracking. No cookies, respects Do Not Track.

## Install

### Script tag (recommended)

```html
<script defer src="https://unpkg.com/@saas-maker/analytics-sdk" data-project="pk_your_api_key"></script>
```

### npm

```bash
npm install @saas-maker/analytics-sdk
```

## Features

- Automatic page view tracking
- SPA support (patches `history.pushState` / `replaceState`)
- UTM parameter extraction
- Screen width reporting
- Custom event tracking
- Respects `Do Not Track` browser setting
- No cookies, no fingerprinting

## Custom Events

```javascript
// After the script loads, `window.sm` is available:
sm.track('signup', { plan: 'pro' })
sm.track('purchase', { amount: 29.99, currency: 'USD' })
```

### Queue pattern

Calls before the script loads are buffered automatically:

```html
<script>
  window.sm = window.sm || function() { sm.q = sm.q || []; sm.q.push(arguments); };
  sm('early_event', { source: 'header' });
</script>
<script defer src="https://unpkg.com/@saas-maker/analytics-sdk" data-project="pk_xxx"></script>
```

## Configuration

Set attributes on the script tag:

| Attribute | Default | Description |
|-----------|---------|-------------|
| `data-project` | **required** | Your project API key |
| `data-api` | `https://api.saasmaker.dev` | API base URL |

## What gets tracked

Each event sends:
- Event name (`page_view` or custom)
- Current URL
- Referrer
- Screen width
- UTM parameters (if present in URL)

The server adds country, device type, and browser from request headers.
npm package: @saas-maker/changelog-widget
Description: Embeddable React component for displaying a changelog timeline with version badges, type indicators, and dark mode support.
Latest version: 0.2.1

# @saas-maker/changelog-widget

Embeddable React component for displaying a changelog timeline with version badges, type indicators, and dark mode support.

## Install

```bash
npm install @saas-maker/changelog-widget
```

## Usage

```tsx
import { ChangelogTimeline } from '@saas-maker/changelog-widget'

<ChangelogTimeline projectId="pk_your_api_key" />
```

## Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| projectId | string | required | Your project API key |
| apiBaseUrl | string | https://api.saasmaker.dev | API base URL |
| theme | 'light' \| 'dark' \| 'auto' | 'auto' | Color theme |
| maxItems | number | 50 | Max entries to display |

## Features

- Timeline layout with color-coded type dots (blue=feature, green=improvement, yellow=fix, red=breaking)
- Version badges
- Light/dark/auto theme support
- Self-contained CSS with `smw-cl-` prefix (no conflicts)
- Responsive design
npm package: @saas-maker/feedback
Description: Drop-in React feedback widget for collecting bugs, feature requests, and general feedback.
Latest version: 0.2.1

# @saas-maker/feedback

Drop-in React feedback widget for collecting bugs, feature requests, and general feedback.

## Install

```bash
npm install @saas-maker/feedback
# or
pnpm add @saas-maker/feedback
```

## Quick Start

```tsx
import { FeedbackWidget } from '@saas-maker/feedback'

function App() {
  return (
    <FeedbackWidget projectId="pk_your_api_key" />
  )
}
```

This renders a floating button that opens a feedback modal.

## Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `projectId` | `string` | **required** | Your project API key (`pk_...`) |
| `apiBaseUrl` | `string` | `https://api.saasmaker.dev` | API base URL |
| `userEmail` | `string` | — | Pre-fill submitter email |
| `userName` | `string` | — | Pre-fill submitter name |
| `types` | `FeedbackType[]` | `['bug', 'feature', 'feedback']` | Allowed feedback types |
| `position` | `'bottom-right' \| 'bottom-left'` | `'bottom-right'` | Trigger button position |
| `theme` | `'light' \| 'dark' \| 'auto'` | `'auto'` | Color theme |
| `accentColor` | `string` | `#1464ff` | Primary accent color |
| `triggerText` | `string` | `'Feedback'` | Trigger button label |

## Examples

### Pre-fill user info

```tsx
<FeedbackWidget
  projectId="pk_xxx"
  userEmail="user@example.com"
  userName="Jane Doe"
/>
```

### Dark mode with custom color

```tsx
<FeedbackWidget
  projectId="pk_xxx"
  theme="dark"
  accentColor="#8b5cf6"
/>
```

### Feature requests only

```tsx
<FeedbackWidget
  projectId="pk_xxx"
  types={['feature']}
  triggerText="Request Feature"
/>
```
npm package: @saas-maker/testimonials
Description: Embeddable React components for collecting and displaying testimonials with star ratings, images, and tweet embeds.
Latest version: 0.2.1

# @saas-maker/testimonials

Embeddable React components for collecting and displaying testimonials with star ratings, images, and tweet embeds.

## Install

```bash
npm install @saas-maker/testimonials
```

## Components

### TestimonialForm — Collect testimonials

```tsx
import { TestimonialForm } from '@saas-maker/testimonials'

<TestimonialForm projectId="pk_your_api_key" />
```

### TestimonialWall — Display approved testimonials

```tsx
import { TestimonialWall } from '@saas-maker/testimonials'

<TestimonialWall projectId="pk_your_api_key" layout="masonry" />
```

## TestimonialForm Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| projectId | string | required | Your project API key |
| theme | 'light' \| 'dark' \| 'auto' | 'auto' | Color theme |
| accentColor | string | #1464ff | Primary accent color |
| showImageUpload | boolean | true | Show image upload |
| showTweetUrl | boolean | false | Show tweet URL field |
| buttonText | string | 'Submit Testimonial' | Button label |

## TestimonialWall Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| projectId | string | required | Your project API key |
| theme | 'light' \| 'dark' \| 'auto' | 'auto' | Color theme |
| layout | 'masonry' \| 'grid' \| 'list' | 'grid' | Layout style |
| maxItems | number | 50 | Max testimonials to show |
npm package: @saas-maker/waitlist
Description: Drop-in React waitlist signup form with position tracking and count display.
Latest version: 0.1.1

# @saas-maker/waitlist

Drop-in React waitlist signup form with position tracking and count display.

## Install

```bash
npm install @saas-maker/waitlist
# or
pnpm add @saas-maker/waitlist
```

## Quick Start

```tsx
import { WaitlistForm } from '@saas-maker/waitlist'

function App() {
  return (
    <WaitlistForm projectId="pk_your_api_key" />
  )
}
```

## Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `projectId` | `string` | **required** | Your project API key (`pk_...`) |
| `apiBaseUrl` | `string` | `https://api.saasmaker.dev` | API base URL |
| `theme` | `'light' \| 'dark' \| 'auto'` | `'auto'` | Color theme |
| `accentColor` | `string` | `#1464ff` | Primary accent color |
| `showCount` | `boolean` | `true` | Show "N already signed up" |
| `onSuccess` | `(position: number) => void` | — | Called after successful signup |
| `placeholder` | `string` | `'you@example.com'` | Email input placeholder |
| `buttonText` | `string` | `'Join Waitlist'` | Submit button text |

## Examples

### Custom styling

```tsx
<WaitlistForm
  projectId="pk_xxx"
  theme="dark"
  accentColor="#10b981"
  buttonText="Get Early Access"
/>
```

### With success callback

```tsx
<WaitlistForm
  projectId="pk_xxx"
  onSuccess={(position) => {
    console.log(`User is #${position} on the waitlist`)
  }}
/>
```

### Hide signup count

```tsx
<WaitlistForm
  projectId="pk_xxx"
  showCount={false}
/>
```