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

mljr-css

v1.1.1

Published

A TailwindCSS-based CSS framework with orange/purple color scheme

Downloads

343

Readme

mljr-css

A TailwindCSS-based CSS framework with an orange/purple color scheme that works in both light and dark modes.

Installation

pnpm add mljr-css
# or
npm install mljr-css
# or
yarn add mljr-css

Usage

As a Tailwind Plugin

// tailwind.config.js
import mljrPlugin from 'mljr-css';

export default {
  content: ['./src/**/*.{html,js,svelte,ts}'],
  plugins: [mljrPlugin()],
};

Plugin Options

mljrPlugin({
  // Disable dark mode (default: true)
  darkMode: false,

  // Custom primary color palette
  primaryColor: {
    50: '#fff7ed',
    100: '#ffedd5',
    // ... full palette
    950: '#431407',
  },

  // Custom secondary color palette
  secondaryColor: {
    50: '#faf5ff',
    // ... full palette
  },
});

Import CSS Directly

/* Import the full CSS file */
@import 'mljr-css/css';

/* Or the minified version */
@import 'mljr-css/css/min';

CDN

<link rel="stylesheet" href="https://unpkg.com/mljr-css/dist/mljr.min.css">

Components

Buttons

<button class="mljr-btn mljr-btn-primary">Primary</button>
<button class="mljr-btn mljr-btn-secondary">Secondary</button>
<button class="mljr-btn mljr-btn-outline-primary">Outline</button>
<button class="mljr-btn mljr-btn-ghost">Ghost</button>
<button class="mljr-btn mljr-btn-danger">Danger</button>

<!-- Sizes -->
<button class="mljr-btn mljr-btn-primary mljr-btn-xs">Extra Small</button>
<button class="mljr-btn mljr-btn-primary mljr-btn-sm">Small</button>
<button class="mljr-btn mljr-btn-primary mljr-btn-lg">Large</button>
<button class="mljr-btn mljr-btn-primary mljr-btn-xl">Extra Large</button>

<!-- States -->
<button class="mljr-btn mljr-btn-primary mljr-btn-loading">Loading</button>
<button class="mljr-btn mljr-btn-primary" disabled>Disabled</button>

Form Inputs

<div class="mljr-form-group">
  <label class="mljr-label">Email</label>
  <input type="email" class="mljr-input" placeholder="[email protected]">
  <p class="mljr-input-helper">We'll never share your email.</p>
</div>

<!-- With error -->
<div class="mljr-form-group">
  <label class="mljr-label mljr-label-required">Password</label>
  <input type="password" class="mljr-input mljr-input-error">
  <p class="mljr-input-error-text">Password is required.</p>
</div>

Select

<select class="mljr-select">
  <option>Select an option</option>
  <option>Option 1</option>
  <option>Option 2</option>
</select>

Checkbox & Radio

<label class="mljr-checkbox">
  <input type="checkbox" class="mljr-checkbox-input">
  <span class="mljr-checkbox-label">Accept terms</span>
</label>

<label class="mljr-radio">
  <input type="radio" name="option" class="mljr-radio-input">
  <span class="mljr-radio-label">Option A</span>
</label>

Switch

<label class="mljr-switch">
  <input type="checkbox" class="mljr-switch-input">
  <span class="mljr-switch-label">Enable notifications</span>
</label>

Alerts

<div class="mljr-alert mljr-alert-info">
  <div class="mljr-alert-content">
    <div class="mljr-alert-title">Information</div>
    <div class="mljr-alert-description">This is an info alert.</div>
  </div>
</div>

<div class="mljr-alert mljr-alert-success">Success message</div>
<div class="mljr-alert mljr-alert-warning">Warning message</div>
<div class="mljr-alert mljr-alert-error">Error message</div>

<!-- Solid variants -->
<div class="mljr-alert mljr-alert-primary-solid">Primary solid</div>

Badges

<span class="mljr-badge mljr-badge-primary">Primary</span>
<span class="mljr-badge mljr-badge-secondary">Secondary</span>
<span class="mljr-badge mljr-badge-success">Success</span>

<!-- Solid -->
<span class="mljr-badge mljr-badge-primary-solid">Solid</span>

<!-- With dot -->
<span class="mljr-badge mljr-badge-primary mljr-badge-dot">With Dot</span>

Cards

<div class="mljr-card mljr-card-shadow">
  <div class="mljr-card-header">
    <h3 class="mljr-card-title">Card Title</h3>
    <p class="mljr-card-description">Card description</p>
  </div>
  <div class="mljr-card-body">
    Card content goes here.
  </div>
  <div class="mljr-card-footer">
    Footer content
  </div>
</div>

Modal

<div class="mljr-modal-backdrop" data-state="open">
  <div class="mljr-modal">
    <div class="mljr-modal-header">
      <h2 class="mljr-modal-title">Modal Title</h2>
      <button class="mljr-modal-close">×</button>
    </div>
    <div class="mljr-modal-body">
      Modal content
    </div>
    <div class="mljr-modal-footer">
      <button class="mljr-btn mljr-btn-ghost">Cancel</button>
      <button class="mljr-btn mljr-btn-primary">Confirm</button>
    </div>
  </div>
</div>

Tabs

<div class="mljr-tabs">
  <div class="mljr-tabs-list">
    <button class="mljr-tab mljr-tab-active">Tab 1</button>
    <button class="mljr-tab">Tab 2</button>
    <button class="mljr-tab">Tab 3</button>
  </div>
  <div class="mljr-tabs-content">
    <div class="mljr-tabs-panel mljr-tabs-panel-active">
      Tab 1 content
    </div>
  </div>
</div>

Accordion

<div class="mljr-accordion">
  <div class="mljr-accordion-item mljr-accordion-item-open">
    <button class="mljr-accordion-trigger">
      <span>Section 1</span>
      <svg class="mljr-accordion-icon">...</svg>
    </button>
    <div class="mljr-accordion-content mljr-accordion-content-open">
      <div class="mljr-accordion-body">
        Content for section 1
      </div>
    </div>
  </div>
</div>

Layout

Container

<div class="mljr-container">
  Centered container with responsive padding
</div>

<div class="mljr-container-fluid">
  Full-width container with padding
</div>

Grid

<div class="mljr-grid mljr-grid-cols-3 mljr-gap-4">
  <div>Column 1</div>
  <div>Column 2</div>
  <div>Column 3</div>
</div>

<!-- Responsive -->
<div class="mljr-grid mljr-grid-cols-1 mljr-md:grid-cols-2 mljr-lg:grid-cols-4">
  ...
</div>

Dark Mode

Enable dark mode by adding the .dark class or data-theme="dark" attribute to the root element:

<html class="dark">
  <!-- or -->
<html data-theme="dark">

CSS Custom Properties

The framework uses CSS custom properties for theming:

:root {
  --mljr-primary-600: #ea580c;
  --mljr-secondary-600: #9333ea;
  --mljr-bg: #ffffff;
  --mljr-text: #111827;
  /* ... and more */
}

License

MIT