Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mottled-library

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mottled-library

A tree-shakeable library containing common reusable components for substrate based chains

  • 0.0.11
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

🪴 Mottled Library 🪴

A tree-shakeable library containing common reusable components for substrate based chains

Library and decisions made

Package is using workspaces for custom build/bundle the library. Core components exist under dir packages/library. For documentation and development purposes Storybook was the tool of choice. This way contributors can catch up to speed with current components and also develop faster new ones.

The idea behind this library started as "creating our own design components", but after some serious brainstorming ended up as: "create our own substrate specific components" - meaning reusable combination of components (that are called recipes), which can help dApp devs to re-use in their projects without the need of rebuilding everything from scratch.

Library is separated in 3 basic "modules":

  • core: all common types/variables/functions/hooks that can be reused from components, recipes or the dev;
  • components: are shared, content-agnostic, and context-agnostic built for maximal reuse. These are the components you see in all the publicly-available design systems in the wild;
  • recipes: recipe components are specific compositions of design system components (for the most part) that are to be consistently used across a product, but aren’t agnostic enough to live in the design system. These are valuable, reusable components but may only apply to one product;

Commands:

  • yarn: Install all dependencies;
  • yarn run dev: builds the library and executes storybook. Once this is running all changes in existing components will depict in storybook running instance;
  • yarn run build: prepares the library for publishing (css and ts files);
  • yarn run css: transpiles and builds only css files;
  • yarn run css-watch: builds and watches css files for changes;
  • yarn run format: formats all files based on prettier configuration;
  • yarn run storybook: runs storybook;
  • yarn run deploy-storybook: prepares and deploys storybook (doc) at gh-pages;
  • generate: receives 2 input parameters, type (component or recipe) and name of component, and generates a directory including *.tsx, *modules.css and *.stories.tsx files in respective type chosen

Usage

Principle followed in the library is to carry components and styling in different packages. This way the user of the library can decide if wants to style the components using his own css (overwrite classNames or using tailwind) or using default css.

In order to use default css see the following example:

import React, { Component } from "react"

// importing css for specific component
import 'mottled-library/css/SpecificComponent.css'

// importing the specific component
import { SpecificComponent } from "mottled-library"

class Example extends Component {
  render() {
    return (
      <>
        <SpecificComponent />
      </>
  }
}

Storybook

As mentioned above, Storybook is used for documentation and development. In order to see a showcase of current components and recipes see here(Implementation pending)

Possible Errors:

error:0308010C:digital envelope routines::unsupported

An error:0308010C:digital envelope routines::unsupported occurs with the Node.js version 17 as it’s not the LTS version, and there is a breaking change in the OpenSSL. Use LTS version 16.14.0 for not facing the issue. NODE_OPTIONS could also be set, as an alternative, but is not a recommended approach (you can still try this on your local machine as a quick fix).

FAQs

Package last updated on 15 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc