Welcome to our Component Library! This is an implementation of our Asphalt Design System.
Here are some useful links:
About us: https://logrock.com
This library is meant to be used in React projects. To use it, you will have to setup your prefered React environment and add a few other dependencies first:
# styled components
yarn add styled-components
yarn add styled-breakpoints
yarn add react-select # if you intend on using the Select component
yarn add react-spring-bottom-sheet # if you intend on using the BottomSheet component
yarn add date-fns # if you intend on using the DateInput component
# fonts
yarn add @fontsource/archivo
# icons
yarn add react-icons
Make the Archivo font available in your project by importing it
import "@fontsource/archivo/400.css";
import "@fontsource/archivo/500.css";
import "@fontsource/archivo/600.css";
import "@fontsource/archivo/700.css";
import "@fontsource/archivo/800.css";
You can, alternatively, make it available as a Variable font if you want. The only requirement is having all weights from 400 to 800 available for the default theme to work best.
If you customize the theme by changing any of the fontFamily properties, make sure that the font you want to use is also made available, by exposing it in any ways you like (fontsource is the best!)
If you intend on using the Bottom sheet component, you will also need to import the styles for it:
import "react-spring-bottom-sheet/dist/style.css";
Install this lib:
yarn add @logrock/pebbles
Now, wrap your app (or whatever components you plan on using this library at) with a styled-components' ThemeProvider
, passing along a theme.
Also, this is a google place for the global icon configuration, using react-select's IconContext.Provider
you can specify the global settings for the icons. This is optional but recommended.
import { ThemeProvider } from "styled-components";
import { lightTheme } from "@logrock/pebbles";
const MyApp = () => {
return (
<ThemeProvider theme={lightTheme}>
<IconContext.Provider
value={{
style: {
fontSize: lightTheme.icons.size,
color: lightTheme.icons.color,
},
}}
>
<MyAppContent />
</IconContext.Provider>
</ThemeProvider>
);
};
For your convenience, we currently provide a light and a dark theme that you can use and override as you see fit. Check out all it's options at theme.ts
We also expose a Theme
type if you use Typescript, autocomplete at will!
import { Theme } from "@logrock/pebbles";
And you are all set! From now on, just import and use any components you want. You can also access the theme variables using styled-components' own ThemeContext anywhere (and also as a theme prop in your custom styled components)
Thank you for your interest, check out CONTRIBUTING.md for more info.