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

@adapttable/i18n

v2.0.0

Published

Locale presets for 17 languages plus RTL direction helpers for AdaptTable — first-class right-to-left and Arabic support.

Readme

@adapttable/i18n

AdaptTable i18n — switch to Arabic and the whole table mirrors RTL

📖 Documentation · 🚀 Live demo · Get started

Locale presets and RTL helpers for AdaptTable. The core stays i18n-agnostic; this optional package gives you ready label sets for 17 languages — English, Arabic, German, Spanish, Persian, French, Hebrew, Hindi, Italian, Japanese, Korean, Portuguese, Russian, Turkish, Urdu, Simplified Chinese, and Traditional Chinese — plus direction utilities, so you get multilingual, right-to-left support for free.

pnpm add @adapttable/i18n

Usage

import { DataTable, useFrontendData } from "@adapttable/mantine";
import { getLabels, getDirection } from "@adapttable/i18n";

function LocalizedTable({ locale }: { locale: string }) {
  const source = useFrontendData({ data, columns });
  return (
    <DataTable
      source={source}
      columns={columns}
      rowKey={(r) => r.id}
      labels={getLabels(locale)} // primary subtag → preset; unknown → English
      dir={getDirection(locale)} // "ar" / "he" → "rtl"
    />
  );
}

API

  • getLabels(locale) — the label preset for a locale (matches the primary subtag, e.g. "de-AT" → German); falls back to English.
  • getDirection(locale)"ltr" | "rtl".
  • isRtlLocale(locale) / primarySubtag(locale) / RTL_LANGUAGES.
  • Raw preset objects: en, ar, de, es, fr, he, it, ja, pt, zh. locales — the keyed map; hasLocale(locale) — membership check.

Bring your own languages by spreading a preset and overriding strings:

import { en } from "@adapttable/i18n";
const fr = { ...en, search: "Rechercher", noData: "Aucune donnée" };

Features

  • Ready label sets for English and Arabic — every string the table renders.
  • RTL — pair ar with dir="rtl" and the whole table mirrors: column order, filter panel, column menu, pagination and chips, not just the text.
  • Column-level i18n — map a column to a localized field with i18n: { ar: "…" } so sorting and filtering follow the translated value.
  • Bring your own stack — the core is i18n-agnostic; use these sets, or pass a t function from i18next, FormatJS or anything else.
  • Covers every feature's strings: filtering, selection, row expansion, cell editing, row grouping, column management, saved views, CSV export and pagination.

See it work

Every clip is the same table under an Arabic locale — the whole UI mirrors, not just the labels.

Selection + bulk actions — select-all and act on the selection, in Arabic

selection

Inline cell editing — editors open and commit under RTL

cell-editing

Row grouping — group headers carry Arabic labels and subtotals

row-grouping

Filtering — the filter panel mirrors; chips read right-to-left

filtering

Column management — the column menu mirrors with the table

column-management

Documentation

Getting started · Live demo · Comparison vs ag-Grid · MUI X · TanStack

License

MIT © Orwa Mahmoud