Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
@apollo/chakra-helpers
Advanced tools
This package contains Chakra UI theme options that are shared between DX properties. This makes it easy to set up a theme with consistent color palettes, fonts, and component styles.
This package has peer dependencies on @apollo/space-kit
and @chakra-ui/react
. Make sure those packages are already installed in your project, and then install this package.
npm i @apollo/chakra-helpers
The easiest way to set up Chakra UI in a Gatsby website is by using the @chakra-ui/gatsby-plugin
package.
// gatsby-config.js
module.exports = {
plugins: ["@chakra-ui/gatsby-plugin"],
};
Next, use Gatsby component shadowing to shadow the default theme.js
file in the plugin. Use the extendTheme
function to override default Chakra theme values and export your new theme.
// src/@chakra-ui/gatsby-plugin/theme.js
import { fonts, components } from "@apollo/chakra-helpers";
import { extendTheme } from "@chakra-ui/react";
const theme = extendTheme({
fonts,
components,
});
export default theme;
This package also provides two functions for creating Chakra UI color palettes from Space Kit ones.
Space Kit's color palettes use names ranging from lightest
to darkest
and contain five colors for monochrome palettes and seven colors for all other colors. Chakra UI, on the other hand, features palettes with 10 numerical variants ranging from 50
to 900
.
To account for these differences, we need to mix Space Kit colors to fill in the gaps between different numerical keys in their corresponding Chakra palettes.
import { colors } from "@apollo/space-kit/colors";
import { createGrayPalette, createColorPalette } from "@apollo/chakra-helpers";
const { silver, grey, midnight, indigo } = colors;
const theme = extendTheme({
colors: {
gray: createGrayPalette(silver, grey, midnight),
indigo: createColorPalette(indigo),
},
});
This package exports these objects to create a single source of truth for the links in the footers of all Apollo properties. Each contain a category title field, and an array of link objects with their own titles and hrefs.
communityCategory,
companyCategory,
helpCategory,
productCategory,
whyApolloCategory,
footerConfig
Example usage:
// Footer.js
import {footerConfig} from '@apollo/chakra-helpers';
export default function Footer() {
return (
<nav>
{footerConfig.map(({links, title}, index) => (
<ul key={index}>
{links.map((link, index) => (
<li key={index}>
<a href={link.href}>{link.text}</a>
</li>
)}
</ul>
)}
</nav>
)
}
For your convenince, there are also exported Category
and Link
interfaces for type safety and intellisense.
example config:
// customConfig.ts
const customCategory: Category = {
title: "My Custom Category",
links: [
{
title: "A Custom Link",
href: "https://www.acustomlink.com"
}
]
}
FAQs
Helps configure a Chakra UI theme for use with Apollo projects
The npm package @apollo/chakra-helpers receives a total of 88 weekly downloads. As such, @apollo/chakra-helpers popularity was classified as not popular.
We found that @apollo/chakra-helpers demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
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.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.