@chakra-ui/react#extendTheme JavaScript Examples

The following examples show how to use @chakra-ui/react#extendTheme. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: theme.js    From DAOInsure with MIT License 6 votes vote down vote up
theme = extendTheme({
    fonts: {
        heading: "Lato",
        body: "Lato"
    },
    components: {
        Button: {
            baseStyle: {
                fontFamily: "Lato",
                borderRadius: "20px",
            }
        },
        Text: {
            baseStyle: {
                fontFamily: "Lato"
            }
        },
        Tag: {
            baseStyle: {
                fontFamily: "Lato",
                borderRadius:"20px",
                backgroundColor:"rgba(12, 108, 51, .7)",
                color:"rgba(255, 255, 255, 1)"
            },
            variants: {
                solid: {
                    fontFamily: "Lato",
                    borderRadius:"20px",
                    backgroundColor:"rgba(12, 108, 51, .7)",
                    color:"rgba(255, 255, 255, 1)"
                }
            }
        }
    }
    
})
Example #2
Source File: index.js    From web-client with Apache License 2.0 6 votes vote down vote up
ReconmapTheme = extendTheme({
    styles: {
        global: props => ({
            body: {
                fontFamily: 'body',
                color: mode('gray.800', 'whiteAlpha.900')(props),
                bg: mode('#fff', 'var(--color-gray-dark)')(props),
                lineHeight: 'base',
            },
            h1: {
                fontSize: "2.1rem",
            },
            h2: {
                fontSize: "1.75rem",
                fontWeight: "bold",
            },
            h3: {
                fontSize: "1.5rem",
            },
            h4: {
                fontSize: "1.2rem",
            }
        }),
    },
    components: {
        Table: {
            defaultProps: {
                size: "sm",
                variant: "simple"
            },
        }
    },
    config: {
        useSystemColorMode: false,
        initialColorMode: "dark",
    },
})
Example #3
Source File: App.js    From bottle-radio with MIT License 5 votes vote down vote up
customTheme = extendTheme({ config })
Example #4
Source File: theme.js    From UpStats with MIT License 5 votes vote down vote up
theme = extendTheme({
  fonts: {
    heading: "Poppins",
  },
})
Example #5
Source File: theme.js    From benjamincarlson.io with MIT License 5 votes vote down vote up
customTheme = extendTheme(overrides)
Example #6
Source File: theme.js    From scaffold-directory with MIT License 5 votes vote down vote up
theme = extendTheme({ config })
Example #7
Source File: index.js    From interspace.chat with GNU General Public License v3.0 4 votes vote down vote up
theme = extendTheme({
  styles: {
    global: {
      html: {
        bg: "linear-gradient(0deg, rgba(41,2,80,1) 0%, rgba(25,0,50,1) 40%)",
        scrollBehavior: "smooth",
      },
      body: {
        bg: "linear-gradient(0deg, rgba(41,2,80,1) 0%, rgba(25,0,50,1) 40%)",
        color: "#ffeded",
        fontFamily: '"Exo 2", sans-serif',
        fontSize: "16px",
        fontWeight: 300,
        p: 0,
        m: '0 auto',
        minH: "100vh",
        width: '100%'
        // overflowY: "auto",
      },
      // "body *": {
      //   outline: "1px solid red",
      // },
      // '#root': {
      //   width: '100%',
      // },
      a: {
        color: "#FF61E6",
        textDecoration: "none",
        transition: "color 0.2s ease",
        _hover: {
          color: "#76EBF2",
          textDecoration: "none",
        },
        "&.chakra-link": {
          color: "#FF61E6",
          _hover: {
            color: "#76EBF2",
            textDecoration: "none",
          },
        },
      },
      h1: {
        color: "#fff",
        fontSize: "4vmax",
        fontWeight: 700,
        "& span": {
          color: "#fff",
          fontSize: "4vmax",
          fontWeight: 700,
        },
      },
      h2: {
        color: "#fff",
        fontSize: "4vmax",
        fontweight: 500,
        textShadow: "0 0 10px rgba(0, 0, 0, 0.6)",
      },
      h3: {
        fontSize: { base: "4vmin", md: "1.5vmax" },
        fontWeight: 500,
        mt: {base: 2, md: 5},
        "& + p": {
          fontSize: { base: "2.8vmin", md: "1vmax" },
          lineHeight: { base: "1.2", md: "inherit" },
          fontWeight: 500,
          mt: 0,
          mb: 1,
        },
      },
      h4: {
        fontSize: "1vmax",
        fontWeight: 500,
      },
      p: {
        fontSize: { base: "2.6vmin", md: ".9vmax" },
        textShadow: "0 0 5px rgba(0, 0, 0, 0.6)",
      },
      section: {
        position: "relative",
        display: 'flex',
        // display: 'none',
        alignItems: "center",
        height: '100vh',
        w: '100vw',
        m: 0,
        py: 0,
        px: {base: 4, lg: '10%'},
        zIndex: 2000,
      },
      ".__content__body": {
        "& > p:first-of-type": {
          fontSize: { base: "2.6vmin", md: "1vmax" },
          fontWeight: 500,
        },
        "&--no-firstof": {
          p: {
            fontSize: { base: "2.6vmin", md: "0.9vmax" },
            fontWeight: 500,
            "& + p": {
              fontWeight: 300,
            },
          },
        },
      },
      // Gradients
      ".gradient": {
        display: "inline-block",
        background: "linear-gradient(90deg, #FF61E6 -29.22%, #7C56FF 107.53%)",
        backgroundClip: "text",
        // WebkitTextFillColor: "transparent",
        // textFillColor: "transparent",
        // filter: "drop-shadow(0 0 5px rgba(0,0,0,0.6))",
      },
      ".gradient2": {
        display: "inline-block",
        background:
          "linear-gradient(90.24deg, #79F8FB 0.3%, #9032E6 55.76%, #E839B7 106.78%)",
        backgroundPosition: "center",
        backgroundSize: "100%",
        backgroundClip: "text",
        textFillColor: "transparent",
        WebkitTextFillColor: "transparent",
        filter: "drop-shadow(0 0 5px rgba(0,0,0,0.6))",
      },
      ".gradient-cone": {
        display: "inline-block",
        background:
          "conic-gradient(from 92.2deg at 60.45% 74.83%, #8EBBFF 0deg, #DE3FFF 88.12deg, #79F8FB 105deg, #7C56FF 165deg, #FF61E6 251.25deg, #927CFF 286.87deg, #76EBF2 326.25deg, #8EBBFF 360deg)",
        backgroundPosition: "-254%",
        backgroundSize: "100%",
        backgroundClip: "text",
        textFillColor: "transparent",
        WebkitTextFillColor: "transparent",
        transition: "background 0.3s ease",
        filter: "drop-shadow(0 0 5px rgba(0,0,0,0.6))",
      },
      ".highlight": {},
      ".fest-dates": {
        d: "inline-flex",
        width: "100%",
        color: "#FF61E6",
        fontSize: { base: "2.2vmin", md: "0.7vmax" },
        fontWeight: 700,
        justifyContent: "right",
        pr: 0.5,
        transform: {
          base: "translateY(7px)",
          lg: "translateY(9px)",
          "2xl": "translateY(15px)",
        },
        zIndex: 2001,
      },
    },
  },
})
Example #8
Source File: theme.js    From xetera.dev with MIT License 4 votes vote down vote up
export function createTheme(theme) {
  const pick = themePicker(theme)
  return extendTheme({
    config: {
      initialColorMode: "dark",
      useSystemColorMode: false,
    },
    fonts: {
      heading: fontFamily,
      body: fontFamily,
    },
    fontSizes,
    styles: {
      global: {
        ":root": {
          colorScheme: pick({ light: "light", dark: "dark" }),
        },
        ul: {
          listStylePosition: "inside",
        },
        code: {
          display: "inline-flex",
          fontWeight: "bold",
          fontSize: "0.85em",
          background: pick({
            light: "#e3e3e399",
            dark: "#2b141d",
          }),
          padding: "0 6px",
          lineHeight: "1.7",
          color: pick({
            light: colors.brand[100].light,
            dark: colors.brand[100].dark,
          }),
          borderRadius: "5px",
        },
        ".highlight-line": {
          background: pick({
            light: colors.bgSecondary.light,
            dark: colors.bgSecondary.dark,
          }),
        },
        ".themed-scrollable::-webkit-scrollbar": {
          width: "8px",
        },
        ".themed-scrollable::-webkit-scrollbar-track": {
          width: "8px",
        },
        "*::-webkit-scrollbar-thumb": {
          background: pick(colors.bg[500]),
        },
        ".centered-grid > *": {
          gridColumn: "2 / auto",
        },
        ".blog-post :is(h1, h2, h3, h4, h5, h6) > a": {
          // resetting the link colors of article headings
          color: "inherit",
        },
        ".blog-post > *": {
          fontSize: fontSizes.md,
        },
        a: {
          wordBreak: "break-word",
        },
        ".widebanner > p": {
          marginBottom: 0,
        },
        ".token-line": {
          paddingInlineStart: 3,
          paddingInlineEnd: 3,
          whiteSpace: "pre-wrap",
          wordBreak: "break-word",
        },
        "pre, kbd, samp": {
          fontFamily: `'Jetbrains Mono', ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace`,
        },
        // We don't want the last element of blockquotes to push the quote border down with a margin
        ".blog-post blockquote::before, .blog-post blockquote::after": {
          width: "3rem",
          display: "block",
          borderTop: `1px solid ${pick(colors.text[500])}`,
          opacity: 0.4,
          content: '""',
          margin: "0 auto",
        },
        ".blog-post blockquote > p": {
          margin: "3rem 0",
          fontWeight: "medium",
          fontSize: "inherit",
        },
        body: {
          lineBreak: "auto",
          transition,
          color: pick(colors.text[300]),
          background: pick({
            light: colors.bg[100].light,
            dark: colors.bg[100].dark,
          }),
        },
        "::selection": {
          backgroundColor: pick({
            light: "#ddbed8",
            dark: "#1f242e",
          }),
        },
      },
    },
    components: {
      Link: {
        baseStyle: {
          color: pick({
            light: colors.brandSecondary.light,
            dark: colors.brandSecondary.dark,
          }),
        },
      },
      // Heading: {
      //   baseStyle: props => ({
      //     color: "text.100",
      //   }),
      // },
    },
    // colors
    colors: injectTheme(colors, theme),
  })
}
Example #9
Source File: _app.js    From idena-web with MIT License 4 votes vote down vote up
// Workaround for https://github.com/zeit/next.js/issues/8592
export default function MyApp({Component, pageProps, err}) {
  return (
    <>
      <Head>
        <meta charSet="UTF-8" />
        <title>Idena app: Proof-of-person blockchain</title>
        <meta httpEquiv="X-UA-Compatible" content="chrome=1" />
        <meta
          name="viewport"
          content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no"
        />
        <meta
          name="description"
          content="Take part in the Idena validation ceremony using your browser"
        />

        <link rel="shortcut icon" href="/favicon.ico" />

        <link
          rel="icon"
          type="image/png"
          sizes="32x32"
          href="/favicon-32x32.png"
        />
        <link
          rel="icon"
          type="image/png"
          sizes="16x16"
          href="/favicon-16x16.png"
        />

        <style data-href="https://fonts.googleapis.com/css2?family=Inter">
          {`/* cyrillic-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 400;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
            }
            /* cyrillic */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 400;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
            }
            /* greek-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 400;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+1F00-1FFF;
            }
            /* greek */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 400;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0370-03FF;
            }
            /* vietnamese */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 400;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
            }
            /* latin-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 400;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
            }
            /* latin */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 400;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2) format('woff2');
              unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
            }
            /* cyrillic-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 500;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
            }
            /* cyrillic */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 500;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
            }
            /* greek-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 500;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+1F00-1FFF;
            }
            /* greek */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 500;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0370-03FF;
            }
            /* vietnamese */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 500;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
            }
            /* latin-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 500;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
            }
            /* latin */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 500;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2) format('woff2');
              unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
            }
            /* cyrillic-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 600;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
            }
            /* cyrillic */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 600;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
            }
            /* greek-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 600;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+1F00-1FFF;
            }
            /* greek */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 600;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0370-03FF;
            }
            /* vietnamese */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 600;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
            }
            /* latin-ext */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 600;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2) format('woff2');
              unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
            }
            /* latin */
            @font-face {
              font-family: 'Inter';
              font-style: normal;
              font-weight: 600;
              font-display: swap;
              src: url(https://fonts.gstatic.com/s/inter/v11/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2) format('woff2');
              unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
            }`}
        </style>

        <link href="/static/fonts/icons.css" rel="stylesheet" />
        <link href="/static/scrollbars.css" rel="stylesheet" />
        <style>{`
            html {
              -moz-osx-font-smoothing: grayscale;
            }
          `}</style>
        <script
          type="text/javascript"
          src="https://apis.google.com/js/api.js"
        ></script>
      </Head>
      <ChakraProvider theme={extendTheme(uiTheme)}>
        <IdenaApp>
          <Component {...{...pageProps, err}} />
        </IdenaApp>
      </ChakraProvider>
    </>
  )
}
Example #10
Source File: theme.js    From blobs.app with MIT License 4 votes vote down vote up
theme = extendTheme({
  colors: {
    primary: '#d7819b',
    dark: {
      heaading: '#1d3557',
    },
  },
  styles: {
    global: ({ colorMode }) => ({
      body: {
        bg: colorMode === 'dark' ? 'blue.800' : 'white',
      },
      '.chakra-modal__content-container': {
        p: { base: '2', lg: '0' },
      },
      '#blobSvg': {
        overflow: 'visible',
      },
    }),
  },
  components: {
    Heading: {
      baseStyle: {
        letterSpacing: '-1px',
      },
      variants: {
        main: ({ colorMode }) => ({
          fontWeight: '900',
          color: colorMode === 'dark' ? 'gray.300' : '#1d3557',
        }),
      },
    },
    Text: {
      baseStyle: {
        color: 'gray.500',
      },
      variants: {
        subtle: ({ colorMode }) => ({
          color: colorMode === 'dark' ? 'gray.300' : 'gray.700',
        }),
      },
    },
    Button: {
      variants: {
        subtle: ({ colorMode }) => ({
          color: colorMode === 'dark' ? 'gray.400' : 'gray.500',
          fontWeight: 400,
          fontSize: 'sm',
          lineHeight: 'initial',
          _hover: { bg: colorMode === 'dark' ? 'gray.800' : 'gray.100' },
        }),
        main: ({ colorMode }) => ({
          bg: 'gray.500',
          fontWeight: '600',
          color: 'white',
          w: 'full',
          p: '7',
          fontSize: 'md',
          lineHeight: 'initial',
          transition: 'all 0.4s ease',
          _hover: { bg: colorMode === 'dark' ? '#d7819b' : 'gray.600' },
          _focus: {
            bg: colorMode === 'dark' ? '#d7819b' : 'gray.700',
            shadow: 'xl',
            outline: 'none',
          },
          _active: {
            transform: 'scale(0.95)',
            bg: colorMode === 'dark' ? '#d7819b' : 'gray.500',
          },
        }),

        heavy: ({ colorMode }) => ({
          bg: 'transparent',
          color: colorMode === 'dark' ? 'gray.400' : 'gray.500',
          fontWeight: 700,
          fontSize: '13px',
          borderWidth: '1px',
          borderColor: 'transparent',
          rounded: 'md',
          textTransform: 'uppercase',
          lineHeight: 'initial',
          _hover: {
            bg: colorMode === 'dark' ? 'gray.700' : 'gray.600',
            color: '#fff',
            textDecoration: 'none !important',
            borderColor: colorMode === 'dark' ? 'gray.600' : 'gray.600',
            shadow: 'xl',
          },
          _focus: { boxShadow: 'none' },
        }),
        silent: ({ colorMode }) => ({
          fontWeight: 'normal',
          fontSize: 'sm',
          color: colorMode === 'dark' ? 'gray.400' : 'gray.500',
          outline: 'none',
          lineHeight: 'initial',
          _hover: {
            color: colorMode === 'dark' ? 'gray.200' : 'gray.700',
            textDecoration: 'none',
          },
          _focus: {
            outline: 'none',
            boxShadow: 'none',
            color: colorMode === 'dark' ? 'gray.200' : 'gray.700',
          },
        }),
      },
    },
    Tooltip: {
      variants: {
        default: () => ({
          color: 'gray.50',
          bg: 'gray.500',
          fontWeight: '400',
          fontSize: 'sm',
          rounded: 'sm',
          px: '3',
          py: '1',
        }),
      },
    },
  },
})