2.0.15 • Published 1 month ago

@graylog/sawmill v2.0.15

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

Sawmill

Graylog common design system. This package provides the mantine (SawmillMantine) and styled-components (SawmillSC) theme.

Using Sawmill

Install the package

$ yarn add @graylog/sawmill

Typescript configuration

Once the package is installed, you need to adjust the styled-components type declaration @types/styled-components/index.d.ts, in case you need want to use the styled-components sawmill (SawmillSC):

import 'styled-components';
import type { StyledComponentsTheme } from '@graylog/sawmill/styled-components';

declare module 'styled-components' {
  export interface DefaultTheme extends StyledComponentsTheme {}
}

Setting up theme provider

Each sawmill provides a theme for the related theme provider:

import SawmillMantine from '@graylog/sawmill/mantine';
import type { ColorScheme } from '@graylog/sawmill';

const AppThemeProvider = ({ children }: React.PropsWithChildren<{}>) => {
  const [colorScheme, setColorScheme] = useState<ColorScheme>(DEFAULT_THEME_MODE);
  const mantineTheme = useMemo(
    () => SawmillMantine({ colorScheme }),
    [colorScheme],
  );
  
  return <MantineProvider theme={mantineTheme}>{children}</MantineProvider>
}

Importing fonts

To import the fonts defined in the sawmill theme, just include import '@graylog/sawmill/fonts' in your project.

Making changes

The foundation of the styled-component and mantine sawmill is the THEME_BASE.ts file. When you make a change to this theme base you need to run yarn generate-themes to generate the theme for each sawmill.

Building the library

To build the library you need to run:

$ yarn build # Compile source with tsc and generate `dist` files.

Testing changes locally

When you want to test changes locally, you need to add the local repository temporary as a dependency for you project:

yarn add file:/path/to/this/project
2.0.15

1 month ago

2.0.13

2 months ago

2.0.14

2 months ago

2.0.12

2 months ago

2.0.3

8 months ago

2.0.2

8 months ago

2.0.5

8 months ago

2.0.4

8 months ago

2.0.11

5 months ago

2.0.7

7 months ago

2.0.6

7 months ago

2.0.9

5 months ago

2.0.10

5 months ago

2.0.8

7 months ago

2.0.1

8 months ago

2.0.0

8 months ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago