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 🙏

© 2025 – Pkg Stats / Ryan Hefner

highsoft-ui

v1.0.96

Published

Highsoft UI

Downloads

2,668

Readme

Highsoft UI

Development

npm i
npm run dev

This will run the test application located in src that uses the component library located in lib.

Usage

  1. Install the package:
npm i highsoft-ui
  1. Load the the css somehow:
@import 'highsoft-ui/css';
  1. Use the components:
import { Button } from 'highsoft-ui';
// ...
<Button variant="brand" size={300}>Hello</Button>

PHP

How to use components that need hydration (running client-side react) in PHP. This mostly applies to the wordpress block gang.

  1. Build script

ui.tsx:

import { Header } from 'highsoft-ui';
import { render } from 'highsoft-ui/php';

render('react.php', {
  header: <Header />,
  some_other_component: <Header
    subItems={[
      {
        title: "Core",
        url: "https://www.highcharts.com/products/highcharts/",
        icon: <CoreIcon />,
      },
      {
        title: "Stock",
        url: "https://www.highcharts.com/products/stock/",
        icon: <StockIcon />,
      },
    ]}
  />
});

Run it with tsx:

npx tsx ui.tsx
  1. PHP template
include_once 'react.php';
// ...
hsui_header();
?>

<div>
  <h2>Wordpress <3</h2>
  <?php hsui_some_other_component(); ?>
</div>
  1. Client JS bundle
import { Header } from 'highsoft-ui';
import { hydrate } from 'highsoft-ui/php/client';

hydrate({
  header: <Header />,
  some_other_component: <Header
    subItems={[
      {
        title: "Core",
        url: "https://www.highcharts.com/products/highcharts/",
        icon: <CoreIcon />,
      },
      {
        title: "Stock",
        url: "https://www.highcharts.com/products/stock/",
        icon: <StockIcon />,
      },
    ]}
  />
});

Formatting and linting

Prettier

  • Your code is formatted on save
  • No need to discuss style in code review. Stop all the on-going debates over styles
  • Saves you time and energy

Stylelint

  • CSS linter that helps you avoid errors and enforce conventions
  • Help you avoid errors, for example:
    • invalid things, e.g. malformed grid areas
    • valid things that are problematic, e.g. duplicate selectors
    • unknown things, e.g. misspelled property names
    • disallow things, e.g. specific units

stylelint-config-standard

  • Recommended and standard configs for stylelint.
  • It extends "stylelint-config-recommended" and turns on additional rules to enforce modern conventions found in the CSS specifications.

lint-staged

  • Allows use to run code quality tools together in a coordinated way, like prettier, eslint and stylelint.
  • We use ESLint. lint-staged must run ESLint before Prettier, not after.

ESLint

  • Find and fix problems in your JavaScript code
  • Many problems ESLint finds can be automatically fixed. ESLint fixes are syntax-aware so you won't experience errors introduced by traditional find-and-replace algorithms
  • Rules: https://eslint.org/docs/latest/rules

eslint-config-prettier

  • To make ESLint and Prettier play nice with each other.
  • Turns off all rules that are unnecessary or might conflict with Prettier.
  • this config only turns rules off

Husky

  • Automatically lint your commit messages, code, and run tests upon committing or pushing.