1.0.0 • Published 3 years ago

@siteone/system-core v1.0.0

Weekly downloads
178
License
MIT
Repository
-
Last release
3 years ago

@siteone/system-core

package version package downloads standard-readme compliant package license make a pull request

Design system core packages

Table of Contents

Install

This project uses node and npm.

$ npm install @siteone/system-core
$ # OR
$ yarn add @siteone/system-core

Usage

Element

Base design system component with styling props and responsive superpowers

propTypes

Content alignment

Contexts

NestedThemeProvider

Uses specific theme context for all enclosed design system components.

Examples

import { NestedThemeProvider } from '@siteone/system-core'
import { Section } from '@siteone/system-components'
import React from 'react'

const MyComponent = () =>
   <NestedThemeProvider name='inverse'>
     <Section>This component and its children will be inverse (if inverse theme context is specified).</Section>
   </NestedThemeProvider>

ThemeProvider

Root theme provider. Must be at the topmost level of application. Provides base CSS normalization, base theme extended by theme provided and complete theme for enclosed application.

Examples

import { ThemeProvider } from '@siteone/system-core'
import React from 'react'
import theme from './my-theme'

const MyApp = () =>
   <ThemeProvider theme={theme}>
     <div>My application goes here</div>
   </ThemeProvider>

Creators

createGroup

Creates a factory function for creating themeable components in specified group

Parameters

  • groupName {string} Component group (type] name should be pascal case singular(ex. Text, Button]
  • groupBaseComponent {React$Component} Component to use for this group (overridable by specific component in this group) default: Element

Examples

import * as React from 'react'
import { withInteractivity, createGroup } from '@siteone/system-core'

// create factory for component group "text"
const createComponent = createGroup('text')
// create themeable component within that group
const MyHeading = createComponent('MyHeading', 'h1', Element)

export { MyHeading }

Returns createComponent Component creator for group

createComponent

Parameters

  • componentName string {string} Component name
  • as string {string} HTML tag name
  • baseComponent React$Component<any, any> {React$Component} Component to use for this specific component

Returns React$Component<any, any>

withInteractivity

Adds tappable states handling and theming support to themeable component

Parameters

  • ThemeableComponent Themeable component to extend

Examples

import * as React from 'react'
import { withInteractivity, createStaticComponentGroup } from '@siteone/system-components'

// create factory for component group "buttons"
const createComponent = createStaticComponentGroup('buttons')
// create component and make it interactive
const MyButton = withInteractivity( createComponent('MyButton', 'button', Element) )

export { MyButton }

  • See: @emotion/core

styled

  • See: @emotion/styled

Contribute

  1. Fork it and create your feature branch: git checkout -b my-new-feature
  2. Commit your changes: git commit -am "Add some feature"
  3. Push to the branch: git push origin my-new-feature
  4. Submit a pull request

License

MIT © SiteOne, contributors, sourced packages authors & contributors

1.0.0

3 years ago

0.10.1

3 years ago

0.10.0

3 years ago

0.9.8

4 years ago

0.9.7

4 years ago

0.9.4

4 years ago

0.9.6

4 years ago

0.9.2

4 years ago

0.9.3

4 years ago

0.9.0

4 years ago

0.8.10-beta.2

4 years ago

0.8.10-beta.1

4 years ago

0.8.10-beta.0

4 years ago

0.8.9-beta.7

4 years ago

0.8.9-beta.6

4 years ago

0.8.9-beta.3

4 years ago

0.8.9-alpha.0

4 years ago

0.8.8-alpha.0

4 years ago

0.8.7

4 years ago

0.8.6

4 years ago

0.8.3

4 years ago

0.8.1

4 years ago

0.7.27

5 years ago

0.7.25

5 years ago

0.7.24

5 years ago

0.7.23

5 years ago

0.7.21

5 years ago

0.7.14

5 years ago

0.7.13

5 years ago

0.7.10

5 years ago

0.7.8

5 years ago

0.7.7

5 years ago

0.7.6

5 years ago

0.7.5

5 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.7.0

5 years ago

0.6.11-alpha.5

5 years ago

0.6.11-alpha.4

5 years ago

0.6.11-alpha.3

5 years ago

0.6.11-alpha.2

5 years ago

0.6.11-alpha.1

5 years ago

0.6.11-alpha.0

5 years ago

0.7.0-y.1

5 years ago

0.7.0-y.0

5 years ago

0.7.0-alpha.3

5 years ago

0.7.0-alpha.2

5 years ago

0.7.0-alpha.1

5 years ago

0.7.0-alpha.0

5 years ago

0.6.8

5 years ago

0.6.6

5 years ago

0.6.4

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.8

5 years ago

0.4.6

5 years ago

0.4.3

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.1.7

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago