@wealthbar/peak-style

4.0.2 • Public • Published

peak-style

This package is used to install the SCSS or CSS style for the Peak Design System. Included in this package:

  • Themes - The colour values, variables, and settings associated with the brand (SCSS only for now).
  • Base styles - Basic HTML document setup, typography and elemental styling. No layout or structure patterns.
  • Pattern library - a resource of commonly used patterns for component structures and page layout.

Crafting a Release

  1. Update package.json with new version.
  2. Complete Standard PR -> Approve process.
  3. Compile CSS with yarn run css locally – then merge PR to master.
  4. Go to Release Page and click Draft a new release Button.
  5. Tag with updated matching version in package.json and write description.
  6. Click Publish release.
  7. Nothing, there is no 7th step.

Usage

Option 1 - SCSS

A theme file is required to be @import-ed prior to the other style files. The theme file will pre-load all required vaiables for the for base styling and the patterns library. base styles are also required prior to the pattern files. These steps ensures the cascade of styles works as intended.

example:

@import '~@wealthbar/peak-style/scss/theme/wealthbar';
@import '~@wealthbar/peak-style/scss/base/index';
@import '~@wealthbar/peak-style/scss/patterns/index';

OR to load both base and patterns in one shot:

@import '~@wealthbar/peak-style/scss/theme/wealthbar';
@import '~@wealthbar/peak-style/scss/index';

Additionally, theme files can be loaded on a per component/page basis to allow use of colour and setting variables within the templated file. Ideally this should be handled by webpack so the developers aren't bothered with having to import a theme everytime they choose to use a variable in the template. The biggest advantage of the webpack setup is the ability to switch theme based on build config ENV variables.

example webpack setup:

const theme = JSON.parse(configEnv.WHITELABEL_BRAND);

…

loader: 'sass-loader',
  options: {
    data: `@import "~@wealthbar/peak-style/theme/${theme}.scss";`,
    includePaths: ['src/styles'],
  },

Option 2 - CSS

CSS files are compiled based on theme and style package, they are directly imported into any html file. base and patterns for each theme are split into different files to save weight. As a result of the pre-compile there is no access to SCSS variables outside the scope of the file.

theme-base - minimal css (reset, basic elements, typography, minimal button and input styling) theme-patterns - common css patterns applied via classes (button and input style options)

So if you want the wealthbar themed base styles it is served as wealthbar-base.css

example:

<head>
  <link rel="stylesheet" type="text/css" href="wealthbar-base.css" media="screen" />
  <link rel="stylesheet" type="text/css" href="wealthbar-patterns.css" media="screen" />
</head>

Readme

Keywords

none

Package Sidebar

Install

npm i @wealthbar/peak-style

Weekly Downloads

12

Version

4.0.2

License

MIT

Unpacked Size

1.24 MB

Total Files

95

Last publish

Collaborators

  • nkode0x00
  • tanglebones
  • chrisnicola