1.101.0 • Published 2 years ago

@heights/heights-ui v1.101.0

Weekly downloads
901
License
MIT
Repository
github
Last release
2 years ago
import { theme } from '@heights/heights-ui'

Components

import {
  AppLink,
  ButtonDown,
  Carousel,
  CommunityTake,
  ContentHighlight,
  Experts,
  Hero,
  FeatureCard,
  Features,
  Footer,
  IconLink,
  IconPicker,
  Nav,
  SmartCard,
  SocialLinks,
  SubscribeForm,
} from '@heights/heights-ui'

Source files are located in the src/components directory.

Icons

import { Logo } from '@heights/heights-ui'

Source files are located in the src/icons directory.

Utils

import { bgColourPicker, BackgroundColours } from '@heights/heights-ui'

Source files are located in the src/icons directory.

Theme

The theme can be imported like so:

import { theme } from '@heights/heights-ui'

Source files are located in the src/theme directory.

Overview

The package is heavily reliant on Theme UI. Many of the components and styles need Theme UI in order to work.

Understanding Theme UI

Theme UI provides a constraint-based approach to component creation and theming. This allows you and your team to create a design system that supports the widest

To fully understand Theme UI and all that it provides, please read and understand the documentation at https://theme-ui.com/getting-started.

Using the theme

The theme matches Theme UI's specifications, so includes all the colour, font, sizing and spacing information that your app should need.

All theme-related files are located in the src/theme directory.

Add the theme to your application with the ThemeProvider, passing in the theme object as a prop.

import React from 'react'
import { ThemeProvider } from 'theme-ui'
import { theme } from '@heights/heights-ui'

export default (props) => (
  <ThemeProvider theme={theme}>{props.children}</ThemeProvider>
)

Style your UI

This is an example of how a new component could be created without using Emotion's styled.div syntax. Read more about this method in the Theme UI docs.

/** @jsx jsx */
import { jsx } from 'theme-ui'
import { FunctionComponent } from 'react'

export const Title: FunctionComponent = ({ children }) => (
  <h1
    sx={{
      color: 'primary',
      fontFamily: 'heading',
    }}
  >
    {children}
  </h1>
)

Theme UI components

Theme UI includes pre-built UI components to make styling a page with Theme UI more quickly. The theme-ui package includes components for layouts, grids, buttons, form elements, and more.

import { Box } from 'theme-ui'

export const SomeComponent = (
  <Box
    sx={{
      color: 'white',
      bg; 'primary',
      p: 4,
    }}
  >
    Beep
  </Box>
)

Find out more in the Theme UI component docs.


Code

Files and naming

Test files use *.test.ts(x) or *.spec.ts(x)

Any file with *.story.tsx or *.stories.tsx, or *.story.mdx or *.stories.mdx can be used by Storybook. The *.mdx extensions are used for documentation.

Anatomy of a component directory

E.g. a Button found in the /src/components directory.

// src/components/button
.
├── Button.tsx        // < component code
├── README.md               // < component documentation
├── Button.story.tsx  // < component story
├── Button.test.tsx   // < component tests
├── Button.models.ts  // < component tests
├── __snapshots__           // < auto-generated snapshot files
└── index.ts                // < component entry file

Core tools and technologies

  • React
  • TypeScript
  • Components
    • Theme UI - Build consistent, themeable React apps based on constraint-based design principles.
    • Emotion - CSS-in-JS library used by Theme UI
  • Component sandboxes
    • Storybook - Storybook is a tool for developing UI components in isolation. It makes building stunning UIs organized and efficient.
  • Testing
  • Compilation/Bundling
  • Linting & formatting

Build and compilation

The package uses Preconstruct to bundle all its source code. Please consult their docs if you need to update/improve the build process.

Build scripts and commands

  • yarn build: Compile a production build
  • yarn build:dev: Compile a development build
  • yarn storybook: Run Storybook development environment
  • yarn format: Format all JS with Prettier
  • yarn lint: Lint JS
  • yarn size: Test the file size of the build
  • yarn test: Run all tests
  • yarn test:js: Run all JS tests with Jest
  • yarn test:coverage: Run a code coverage test with Jest
  • yarn test:watch: Run test suite while watching for changes
  • yarn release: Publish a new package version to npm

Tooling

The design system uses various tools to ensure better code quality. Defaults have been set for linting and code style, but can easily be overridden according to your needs.

  • Prettier
  • Eslint
  • Husky
  • lint-staged

Workflow

Commits and Pull Requests

All git commits and pull request titles should follow the Conventional Commits method. This will allow our release script to correctly bump the package version number appropriately.

Publishing new versions to npm

Running npm run release while on an up-to-date and clean master branch will update the GitHub release and publish to npm.

License

MIT

1.94.1

2 years ago

1.94.0

2 years ago

1.93.0

2 years ago

1.96.1

2 years ago

1.96.0

2 years ago

1.97.3

2 years ago

1.95.0

2 years ago

1.98.1

2 years ago

1.98.0

2 years ago

1.99.1

2 years ago

1.97.2

2 years ago

1.97.1

2 years ago

1.97.0

2 years ago

1.98.4

2 years ago

1.98.3

2 years ago

1.98.2

2 years ago

1.101.0

2 years ago

1.99.0

2 years ago

1.100.0

2 years ago

1.100.1

2 years ago

1.100.2

2 years ago

1.82.0

2 years ago

1.82.1

2 years ago

1.82.2

2 years ago

1.82.3

2 years ago

1.82.4

2 years ago

1.82.5

2 years ago

1.82.6

2 years ago

1.82.7

2 years ago

1.82.8

2 years ago

1.82.9

2 years ago

1.83.0

2 years ago

1.84.0

2 years ago

1.84.1

2 years ago

1.85.0

2 years ago

1.85.1

2 years ago

1.90.6

2 years ago

1.90.5

2 years ago

1.90.4

2 years ago

1.90.3

2 years ago

1.90.2

2 years ago

1.90.1

2 years ago

1.90.0

2 years ago

1.86.1

2 years ago

1.86.2

2 years ago

1.87.0

2 years ago

1.87.1

2 years ago

1.92.1

2 years ago

1.92.0

2 years ago

1.89.1

2 years ago

1.89.0

2 years ago

1.88.0

2 years ago

1.88.1

2 years ago

1.88.2

2 years ago

1.88.3

2 years ago

1.88.4

2 years ago

1.88.5

2 years ago

1.88.6

2 years ago

1.91.0

2 years ago

1.82.10

2 years ago

1.81.2

2 years ago

1.81.3

2 years ago

1.81.4

2 years ago

1.81.5

2 years ago

1.81.6

2 years ago

1.79.0

2 years ago

1.79.1

2 years ago

1.79.2

2 years ago

1.79.3

2 years ago

1.72.0

2 years ago

1.73.0

2 years ago

1.74.0

2 years ago

1.74.1

2 years ago

1.74.2

2 years ago

1.75.0

2 years ago

1.80.0

2 years ago

1.80.1

2 years ago

1.80.2

2 years ago

1.76.0

2 years ago

1.78.0

2 years ago

1.78.1

2 years ago

1.81.0

2 years ago

1.81.1

2 years ago

1.77.0

2 years ago

1.67.0

2 years ago

1.70.0

2 years ago

1.70.1

2 years ago

1.70.2

2 years ago

1.70.3

2 years ago

1.70.4

2 years ago

1.70.5

2 years ago

1.68.0

2 years ago

1.68.1

2 years ago

1.68.2

2 years ago

1.71.0

2 years ago

1.71.1

2 years ago

1.71.2

2 years ago

1.69.0

2 years ago

1.69.1

2 years ago

1.66.1

3 years ago

1.66.2

2 years ago

1.60.0

3 years ago

1.60.2

3 years ago

1.60.1

3 years ago

1.58.0

3 years ago

1.61.0

3 years ago

1.59.0

3 years ago

1.59.1

3 years ago

1.62.0

3 years ago

1.63.0

3 years ago

1.64.0

3 years ago

1.65.0

3 years ago

1.66.0

3 years ago

1.56.1

3 years ago

1.56.0

3 years ago

1.56.3

3 years ago

1.56.2

3 years ago

1.56.4

3 years ago

1.55.0

3 years ago

1.57.0

3 years ago

1.57.2

3 years ago

1.57.1

3 years ago

1.55.2

3 years ago

1.55.1

3 years ago

1.55.4

3 years ago

1.55.3

3 years ago

1.55.5

3 years ago

1.54.3

3 years ago

1.54.2

3 years ago

1.54.1

3 years ago

1.54.0

3 years ago

1.53.2

3 years ago

1.50.0

3 years ago

1.51.0

3 years ago

1.52.1

3 years ago

1.52.0

3 years ago

1.53.0

3 years ago

1.53.1

3 years ago

1.49.5

3 years ago

1.49.4

3 years ago

1.49.3

3 years ago

1.49.1

3 years ago

1.49.0

3 years ago

1.49.2

3 years ago

1.46.1

3 years ago

1.47.1

3 years ago

1.47.0

3 years ago

1.48.0

3 years ago

1.48.1

3 years ago

1.46.0

3 years ago

1.44.0

3 years ago

1.44.1

3 years ago

1.45.0

3 years ago

1.40.1

3 years ago

1.41.0

3 years ago

1.42.0

3 years ago

1.42.1

3 years ago

1.43.1

3 years ago

1.43.0

3 years ago

1.40.0

3 years ago

1.38.0

3 years ago

1.39.0

3 years ago

1.35.1

3 years ago

1.35.2

3 years ago

1.35.0

3 years ago

1.35.3

3 years ago

1.36.0

3 years ago

1.37.0

3 years ago

1.34.0

3 years ago

1.34.1

3 years ago

1.33.1

3 years ago

1.33.0

3 years ago

1.32.4

3 years ago

1.32.5

3 years ago

1.32.3

3 years ago

1.32.6

3 years ago

1.32.7

3 years ago

1.32.2

3 years ago

1.32.0

3 years ago

1.32.1

3 years ago

1.31.4

3 years ago

1.31.3

3 years ago

1.31.1

3 years ago

1.31.2

3 years ago

1.31.0

3 years ago

1.30.2

3 years ago

1.29.0

3 years ago

1.30.0

3 years ago

1.30.1

3 years ago

1.28.0

3 years ago

1.27.0

3 years ago

1.23.11

3 years ago

1.24.0

3 years ago

1.25.0

3 years ago

1.26.0

3 years ago

1.23.10

3 years ago

1.23.9

3 years ago

1.23.8

3 years ago

1.23.7

3 years ago

1.23.6

3 years ago

1.23.4

3 years ago

1.23.5

3 years ago

1.23.2

3 years ago

1.23.3

3 years ago

1.22.4

3 years ago

1.22.5

3 years ago

1.22.6

3 years ago

1.23.0

3 years ago

1.23.1

3 years ago

1.22.3

3 years ago

1.22.2

3 years ago

2.0.0-1

3 years ago

2.0.0-0

3 years ago

1.21.0

3 years ago

1.21.1

3 years ago

1.22.0

3 years ago

1.22.1

3 years ago

1.20.1

3 years ago

1.20.2

3 years ago

1.18.1

3 years ago

1.18.0

3 years ago

1.18.2

3 years ago

1.19.0

3 years ago

1.20.0

3 years ago

1.17.1

3 years ago

1.17.0

3 years ago

1.14.0

3 years ago

1.15.0

3 years ago

1.11.4

3 years ago

1.11.3

3 years ago

1.11.2

3 years ago

1.11.1

3 years ago

1.9.1

3 years ago

1.10.0

3 years ago

1.12.0

3 years ago

1.16.2

3 years ago

1.16.1

3 years ago

1.16.0

3 years ago

1.9.4

3 years ago

1.9.3

3 years ago

1.9.2

3 years ago

1.11.0

3 years ago

1.13.2

3 years ago

1.13.1

3 years ago

1.13.0

3 years ago

1.13.3

3 years ago

1.6.0

3 years ago

1.9.0

3 years ago

1.5.0

3 years ago

1.8.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.7.0

3 years ago

1.3.4

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.4

3 years ago

1.2.0

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.1.7

3 years ago

1.1.1

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago

1.0.0-beta.6

3 years ago

1.0.0-beta.5

3 years ago

1.0.0-beta.3

3 years ago

1.0.0-beta.4

3 years ago

1.0.0-beta.2

3 years ago

1.0.0-beta.1

3 years ago

2.0.0-beta.0

3 years ago

1.0.0-beta.0

3 years ago

0.50.5

3 years ago

0.50.4

3 years ago

0.50.3

3 years ago

0.50.1

3 years ago

0.50.2

3 years ago

0.50.0

3 years ago

0.49.1

3 years ago

0.49.2

3 years ago

0.49.0

3 years ago

0.49.3

3 years ago

0.48.0

3 years ago

0.47.0

3 years ago

0.46.0

3 years ago

0.45.0

3 years ago

0.44.0

3 years ago

0.43.1

3 years ago

0.43.0

3 years ago

0.42.0

3 years ago

0.41.0

3 years ago

0.40.0

3 years ago

0.39.0

3 years ago

0.38.0

3 years ago

0.37.1

3 years ago

0.37.0

3 years ago

0.36.0

3 years ago

0.35.0

3 years ago

0.34.0

3 years ago

0.33.1

3 years ago

0.33.0

3 years ago

0.32.0

3 years ago

0.31.5

3 years ago

0.31.4

3 years ago

0.31.3

3 years ago

0.31.2

3 years ago

0.31.1

3 years ago

0.31.0

3 years ago

0.30.0

3 years ago

0.29.0

3 years ago

0.27.0

3 years ago

0.28.0

3 years ago

0.25.0

3 years ago

0.26.1

3 years ago

0.26.0

3 years ago

0.24.0

3 years ago

0.23.4

3 years ago

0.23.3

3 years ago

0.23.2

3 years ago

0.23.1

3 years ago

0.23.0

3 years ago

0.22.1

3 years ago

0.22.0

3 years ago

0.21.0

3 years ago

0.20.0

3 years ago

0.19.0

3 years ago

0.19.1

3 years ago

0.18.0

3 years ago

0.17.1

3 years ago

0.17.0

3 years ago

0.15.1

3 years ago

0.15.2

3 years ago

0.16.0

3 years ago

0.16.1

3 years ago

0.15.0

3 years ago

0.13.7

3 years ago

0.13.8

3 years ago

0.13.9

3 years ago

0.14.0

3 years ago

0.14.1

3 years ago

0.14.2

3 years ago

0.13.6

3 years ago

0.13.4

3 years ago

0.13.5

3 years ago

0.13.3

3 years ago

0.13.0

3 years ago

0.13.1

3 years ago

0.13.2

3 years ago

0.12.0

3 years ago

0.11.0

3 years ago

0.10.1

3 years ago

0.10.0

3 years ago

0.8.7

3 years ago

0.9.0

3 years ago

0.8.6

3 years ago

0.8.5

3 years ago

0.8.4

3 years ago

0.8.3

3 years ago

0.8.2

3 years ago

0.8.1

3 years ago

0.8.0

3 years ago

0.7.1

3 years ago

0.7.0

3 years ago

0.6.1

3 years ago

0.5.0

3 years ago

0.6.0

3 years ago

0.3.0

3 years ago

0.4.0

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

4 years ago

0.1.27

4 years ago

0.1.26

4 years ago

0.1.25

4 years ago

0.1.23

4 years ago

0.1.21

4 years ago

0.1.22

4 years ago

0.1.17

4 years ago

0.1.18

4 years ago

0.1.19

4 years ago

0.1.16

4 years ago

0.1.15

4 years ago

0.1.14

4 years ago

0.1.13

4 years ago

0.1.12

4 years ago

0.1.11

4 years ago

0.1.10

4 years ago

0.1.8

4 years ago

0.1.9

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.0

4 years ago

0.0.1

4 years ago