Socket
Book a DemoInstallSign in
Socket

@hover/gatsby-plugin

Package Overview
Dependencies
Maintainers
16
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hover/gatsby-plugin

Drop-in Blueprint support for Gatsby sites

4.0.0
latest
Source
npmnpm
Version published
Maintainers
16
Created
Source

Gatsby Logo

Blueprint Gatsby Plugin

Turn-key solution for using Blueprint in a Gatsby site

Contents

Installation

To use Blueprint in your Gatsby site, you need to install the plugin and its peer dependencies.

npm i @hover/gatsby-plugin @hover/blueprint @emotion/react @emotion/styled framer-motion

# or

yarn add @hover/gatsby-plugin @hover/blueprint @emotion/react @emotion/styled framer-motion

Usage

  • Add @hover/gatsby-plugin as a plugin in your Gatsby config.
// gatsby-config.js
module.exports = {
  plugins: ["@hover/gatsby-plugin"],
}
  • Use Blueprint
// src/pages/index.js
import React from "react"
import { Box, Body } from "@hover/blueprint"

function IndexPage() {
  return (
    <Box padding={600}>
      <Body size={500}>Hello World</Text>
    </Box>
  )
}

export default IndexPage

Plugin options

By default, this plugin adds the main context provider (BlueprintProvider) to make all components work correctly. Any options specified in the plugin configuration will be passed to the BlueprintProvider.

  • BlueprintProvider composes ChakraProvider, which configures the Blueprint theme and accepts ChakraProvider Props
<BlueprintProvider resetCSS={resetCSS} portalZIndex={portalZIndex}>
  {element}
</BlueprintProvider>

You can disable either of these with Gatsby options:

// gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: "@hover/gatsby-plugin",
      options: {
        /**
         * @property {boolean} [resetCSS=false]
         * if `false`, this plugin will not use `<CSSReset />
         */
        resetCSS: true,
        /**
         * @property {number} [portalZIndex=40]
         * The z-index to apply to all portal nodes. This is useful
         * if your app uses a lot z-index to position elements.
         */
        portalZIndex: 40,
      },
    },
  ],
}

Customizing the theme

⚠️ Note: this should only be necessary for augmenting or adding components that Blueprint does not support. Any necessary customizations should be discussed with the design systems team so we can consider incorporating them upstream in @hover/chakra-theme.

To use customize the theme in your Gatsby site, you can shadow the plugin's src/@hover/gatsby-plugin/theme.js file with your own theme:

// src/@hover/gatsby-plugin/theme.js
import { extendTheme } from "@hover/blueprint"

const theme = {
  colors: {
    primary: "rebeccapurple",
  },
}

export default extendTheme(theme)

You can learn more about custom theme at Chakra UI's documentation.

Keywords

gatsby

FAQs

Package last updated on 27 Jul 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.