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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@namefi/ui

v2.2.27

Published

- Entry (Notion): https://www.notion.so/d3servelabs/Design-Front-End-Team-Portal-d55f028239f04c6e978ad817930c08b5 - Chromatic: https://www.chromatic.com/build?appId=65c152b8f94c60aa3e2a4564 - Storybook: https://storybook.namefi.dev

Downloads

963

Readme

Namefi dApp Homepage

  • Entry (Notion): https://www.notion.so/d3servelabs/Design-Front-End-Team-Portal-d55f028239f04c6e978ad817930c08b5
  • Chromatic: https://www.chromatic.com/build?appId=65c152b8f94c60aa3e2a4564
  • Storybook: https://storybook.namefi.dev

Reference

  • TODO: Use tailwind prettier plugin: https://github.com/tailwindlabs/prettier-plugin-tailwindcss

Structure

  • In this Repo We'll attempt to follow a structure similar to Atomic Design

Atomic Design (quick explanation)

  • If you're familiar with Atomic Design; Skip the short explanation:
    • Atoms:
      • Small Components that are the base of the design, Usually they have a single input. A good example; Button, Chip, Tag, Label, Input, Icon, Surface, Typography...
    • Molecules:
      • A Combination of Atoms; Such as FormField, Tooltip, Card...
      • FormField is a combination of Input and Labels
      • Tooltip is a combination of Surface, Labels, Typography, Icon
      • Card is a combination of Surface, Labels, Typography, Icon, Button, Image.
    • Organisms:
      • A Group of Molecules, Organisms are the UI elements that shape both the appearance and functionality of a website. They’re also the elements that start to impact user interface. The way a developer arranges molecules informs the site experience and the complexity of the finished product.
      • Examples:
        • Navigation.
        • Drawers
        • Headers
        • Forms
    • Templates:
      • Templates are Organisms strung together at the page-level or beyond. They Represent the Wireframe.
      • The best example of templates are the layouts and their final parts.
    • Pages:
      • They are Specific Instances of the Templates
  • if you'd like to read more about it, Here's a summary by the Author of Atomic Design.

Our Approach

  • Since this Repo is considered with Pure UI, there will be real Page implementations in this repo; except for the purpose of the demonstration Templates (ie; Pages will only be in the story).
  • For simplicity; Atoms, Molecules, and Organisms Will be Referred to as Core
    • Reasons:
      • Sometimes it can be difficult for devs to differentiate between first 3-levels
      • Some Atoms have very specific uses inside specific Molecules, so it doesn't add much benefit to separate them into Atoms Since they won't be reused elsewhere.
  • Composition works well with the Atomic Design and the definition of Templates
    • The Client needs full grain control of the UI, Since this is a UI library with no business logic in the components, and the designer doesn't have full knowledge of the details of the implementation.
    • If we don't use Composition, we will end up with Apropcalypse, and also we'll have to go back and redeploy the UI library over every little change.
    • This UI will be reused in different client Repos, having concrete design in the component will hinder this, if one the clients for example needs to use the UI except for a specific functionality
  • So, Our System Will be divided into two main parts Core Components and Templates.

Notes

  • Check if the icon is first available in @radix-ui/react-icons, before adding assets
    • SVG Assets should be added as JSX components with Ract.memo and the passing React.ComponentProps<'svg'>, check existing icons in components/core/icons
  • Images should be imported, DO NOT USE STATIC PATHS
import emapleImage from 'assets/example.png'; // Importing the image
...
...
<img src={emapleImage} />;