npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@1001tv/manara

v0.0.1

Published

Manara design system — React + Tailwind component library.

Readme

Manara

React component library — built with TypeScript, Tailwind CSS, and Headless UI. Includes Arabic / Kurdish (Sorani) RTL support out of the box.

Install

npm install @1001tv/manara

Peer dependencies: react ^18 || ^19, react-dom ^18 || ^19, tailwindcss ^3.4.0. The consumer must already have these installed.

Setup

Three one-time changes in your app.

1. Import the library CSS once

In your app entry (main.tsx, index.tsx, _app.tsx, etc.):

import '@1001/manara/styles';

This loads the design tokens (CSS variables), Inter + Noto Kufi Arabic font-face declarations, and a small set of keyframe animations.

Then opt in to the Manara base font by adding class="manara-root" to any element that wraps your app tree — most commonly the <body> in index.html:

<body class="manara-root">

The Manara font stack (Inter Display, then Noto Kufi Arabic, then sans-serif) cascades to every descendant. Any element outside .manara-root keeps its host app's typography. Skip this line entirely if the consumer already owns its own font system and just wants Manara components with the host font.

2. Wire the Tailwind plugin

In your tailwind.config.{ts,js,mjs}:

import { manaraPlugin } from '@1001tv/manara/tailwind-plugin';

export default {
  content: [
    './src/**/*.{ts,tsx}',
    './node_modules/@1001tv/manara/dist/**/*.js',
  ],
  plugins: [manaraPlugin({})],
};

Both pieces are required. The plugin generates the manara-* utilities (e.g. text-manara-primary, bg-manara-brand, p-manara-300); the extra content glob lets your Tailwind build see the classes used inside the library so they don't get tree-shaken out.

Tailwind v3 is currently required.

3. Use components

import { Card, Episode, Button, NavigationBar } from '@1001tv/manara';

export function Home() {
  return (
    <Card
      imageSrc="/poster.jpg"
      imageAlt="Show"
      isPremium
      tagLabel="Live"
      showLogo
    />
  );
}

Locale and RTL

All components accept an isArabic prop (default: true). Setting it to false switches to LTR layout and Latin typography. Both Arabic (ar) and Kurdish-Sorani (ckb) render in Noto Kufi Arabic; pick the appropriate font/direction via the isRtlLanguage and usesArabicFont helpers also exported from the package:

import { isRtlLanguage, usesArabicFont } from '@1001/manara';

Available components

Alert, Avatar, BottomSheet, Button, Card, Carousel, CarouselHeader, Chip, Episode, FeaturedCarousel, Footer, IconDisplay, Link, List, ListItem, Logo, Modal, NavigationBar, PlayerUI, ScrollingCard, TabButton, TabGroup, Tag, Toast, VideoPlayer, plus form inputs (Checkbox, Dropdown, OtpInput, Radio, Switch, TextArea, TextField).

Utility exports alongside the components: isRtlLanguage, usesArabicFont, formatPlayerTime, usePlayerShortcuts, and the DEFAULT_SNAP_POINTS constant used by BottomSheet.

Each component is fully typed; props and variants are visible from your IDE on hover.

Subpath exports

| Import path | What it gives you | | --- | --- | | @1001tv/manara | All components, types, and locale helpers. | | @1001tv/manara/styles | The library CSS (variables, font-face, keyframes). | | @1001tv/manara/tailwind-plugin | The Tailwind plugin that generates manara-* utilities. |

Development

This package is developed in the manara repo. For architecture, contribution guidelines, and the design-token system, see docs/DEVELOPMENT.md.

License

Proprietary — Copyright © 1001. All rights reserved.

This package is published to the public npm registry solely for distribution to authorised 1001 projects. It is not licensed for public use, modification, redistribution, or derivative work. See LICENSE at the repo root for the full notice.