mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-06-30 22:26:38 -04:00
make sticky header optional via prop
This commit is contained in:
@ -1,8 +1,7 @@
|
||||
import classNames from "classnames/bind";
|
||||
import classNames from "classnames";
|
||||
import CopyButton from "../CopyButton/CopyButton";
|
||||
|
||||
import styles from "./CodeBlock.module.css";
|
||||
const cx = classNames.bind(styles);
|
||||
|
||||
type CodeBlockProps = JSX.IntrinsicElements["code"] & {
|
||||
forceBlock?: boolean;
|
||||
@ -19,7 +18,11 @@ const CodeBlock = ({ forceBlock, className, children, ...rest }: CodeBlockProps)
|
||||
<div className={styles.block}>
|
||||
<CopyButton source={children} className={styles.copy_btn} />
|
||||
<code
|
||||
className={cx(styles.code, { highlight: prismEnabled }, className?.replace("code-highlight", "").trim())}
|
||||
className={classNames(
|
||||
styles.code,
|
||||
prismEnabled && styles.highlight,
|
||||
className?.replace("code-highlight", "").trim()
|
||||
)}
|
||||
{...rest}
|
||||
>
|
||||
{children}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { useState } from "react";
|
||||
import classNames from "classnames/bind";
|
||||
import classNames from "classnames";
|
||||
import { Formik, Form, Field } from "formik";
|
||||
import TextareaAutosize from "react-textarea-autosize";
|
||||
import Link from "../Link/Link";
|
||||
@ -8,7 +8,6 @@ import { SendIcon, CheckOcticon, XOcticon } from "../Icons";
|
||||
import type { FormikHelpers } from "formik";
|
||||
|
||||
import styles from "./ContactForm.module.css";
|
||||
const cx = classNames.bind(styles);
|
||||
|
||||
type Values = {
|
||||
name: string;
|
||||
@ -103,7 +102,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
|
||||
{({ field, meta }) => (
|
||||
<input
|
||||
type="text"
|
||||
className={cx(styles.input, { missing: meta.error && meta.touched })}
|
||||
className={classNames(styles.input, meta.error && meta.touched && styles.missing)}
|
||||
placeholder="Name"
|
||||
disabled={success}
|
||||
{...field}
|
||||
@ -116,7 +115,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
|
||||
<input
|
||||
type="email"
|
||||
inputMode="email"
|
||||
className={cx(styles.input, { missing: meta.error && meta.touched })}
|
||||
className={classNames(styles.input, meta.error && meta.touched && styles.missing)}
|
||||
placeholder="Email"
|
||||
disabled={success}
|
||||
{...field}
|
||||
@ -127,7 +126,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
|
||||
<Field name="message">
|
||||
{({ field, meta }) => (
|
||||
<TextareaAutosize
|
||||
className={cx(styles.input, styles.textarea, { missing: meta.error && meta.touched })}
|
||||
className={classNames(styles.input, styles.textarea, meta.error && meta.touched && styles.missing)}
|
||||
placeholder="Write something..."
|
||||
minRows={5}
|
||||
disabled={success}
|
||||
@ -154,7 +153,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
|
||||
|
||||
<div className={styles.action_row}>
|
||||
<button
|
||||
className={cx(styles.btn_submit, { hidden: success })}
|
||||
className={classNames(styles.btn_submit, success && styles.hidden)}
|
||||
type="submit"
|
||||
title="Send Message"
|
||||
aria-label="Send Message"
|
||||
@ -171,11 +170,11 @@ const ContactForm = ({ className }: ContactFormProps) => {
|
||||
</button>
|
||||
|
||||
<span
|
||||
className={cx({
|
||||
result_success: success,
|
||||
result_error: !success,
|
||||
hidden: !submitted || !feedback || isSubmitting,
|
||||
})}
|
||||
className={classNames(
|
||||
success && styles.result_success,
|
||||
!success && styles.result_error,
|
||||
(!submitted || !feedback || isSubmitting) && styles.hidden
|
||||
)}
|
||||
>
|
||||
{success ? (
|
||||
<CheckOcticon className={styles.result_icon} fill="CurrentColor" />
|
||||
|
@ -1,12 +1,11 @@
|
||||
import { forwardRef, useState, useEffect } from "react";
|
||||
import classNames from "classnames/bind";
|
||||
import classNames from "classnames";
|
||||
import copy from "copy-to-clipboard";
|
||||
import innerText from "react-innertext";
|
||||
import { ClipboardOcticon, CheckOcticon } from "../Icons";
|
||||
import type { ReactNode, Ref } from "react";
|
||||
|
||||
import styles from "./CopyButton.module.css";
|
||||
const cx = classNames.bind(styles);
|
||||
|
||||
type CopyButtonProps = {
|
||||
source: ReactNode;
|
||||
@ -47,7 +46,7 @@ const CopyButton = forwardRef(function CopyButton(
|
||||
|
||||
return (
|
||||
<button
|
||||
className={cx(styles.button, { success: !!copied }, className)}
|
||||
className={classNames(styles.button, copied && styles.success, className)}
|
||||
title="Copy to clipboard"
|
||||
aria-label="Copy to clipboard"
|
||||
onClick={handleCopy}
|
||||
|
@ -6,7 +6,7 @@ import * as config from "../../lib/config";
|
||||
|
||||
import styles from "./Footer.module.css";
|
||||
|
||||
type FooterProps = JSX.IntrinsicElements["div"];
|
||||
type FooterProps = JSX.IntrinsicElements["footer"];
|
||||
|
||||
const Footer = ({ className, ...rest }: FooterProps) => (
|
||||
<footer className={classNames(styles.footer, className)} {...rest}>
|
||||
|
@ -1,18 +1,21 @@
|
||||
.header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 4.5em;
|
||||
padding: 0.7em 1.5em;
|
||||
border-bottom: 1px solid var(--kinda-light);
|
||||
background-color: var(--background-header);
|
||||
backdrop-filter: saturate(180%) blur(5px);
|
||||
z-index: 1000;
|
||||
|
||||
/* light-dark theme switch fading */
|
||||
transition: color 0.25s ease, background 0.25s ease, border 0.25s ease;
|
||||
}
|
||||
|
||||
.sticky {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
backdrop-filter: saturate(180%) blur(5px);
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -5,10 +5,12 @@ import Menu from "../Menu/Menu";
|
||||
|
||||
import styles from "./Header.module.css";
|
||||
|
||||
type HeaderProps = JSX.IntrinsicElements["div"];
|
||||
type HeaderProps = JSX.IntrinsicElements["header"] & {
|
||||
sticky?: boolean;
|
||||
};
|
||||
|
||||
const Header = ({ className }: HeaderProps) => (
|
||||
<header className={classNames(styles.header, className)}>
|
||||
const Header = ({ sticky, className, ...rest }: HeaderProps) => (
|
||||
<header className={classNames(styles.header, sticky && styles.sticky, className)} {...rest}>
|
||||
<nav className={styles.nav}>
|
||||
<Selfie className={styles.selfie} />
|
||||
<Menu className={styles.menu} />
|
||||
|
@ -9,10 +9,11 @@ import themes, { toCSS } from "../../lib/config/themes";
|
||||
import styles from "./Layout.module.css";
|
||||
|
||||
type LayoutProps = JSX.IntrinsicElements["div"] & {
|
||||
noContainer?: boolean; // pass true to disable default `<main>` container styles with padding, etc.
|
||||
container?: boolean; // pass false to disable default `<main>` container styles with padding, etc.
|
||||
stickyHeader?: boolean; // pass false to override default stickiness of header when scrolling
|
||||
};
|
||||
|
||||
const Layout = ({ noContainer, className, children, ...rest }: LayoutProps) => {
|
||||
const Layout = ({ container = true, stickyHeader = true, className, children, ...rest }: LayoutProps) => {
|
||||
const { resolvedTheme } = useTheme();
|
||||
|
||||
return (
|
||||
@ -38,15 +39,15 @@ const Layout = ({ noContainer, className, children, ...rest }: LayoutProps) => {
|
||||
</Script>
|
||||
|
||||
<div className={classNames(styles.flex, className)} {...rest}>
|
||||
<Header />
|
||||
<Header sticky={stickyHeader} />
|
||||
|
||||
{/* passing `noContainer={true}` to Layout allows 100% control of the content area on a per-page basis */}
|
||||
{noContainer ? (
|
||||
<>{children}</>
|
||||
) : (
|
||||
{/* passing `container={false}` to Layout allows 100% control of the content area on a per-page basis */}
|
||||
{container ? (
|
||||
<main className={styles.default}>
|
||||
<div className={styles.container}>{children}</div>
|
||||
</main>
|
||||
) : (
|
||||
<>{children}</>
|
||||
)}
|
||||
|
||||
<Footer className={styles.footer} />
|
||||
|
@ -1,8 +1,7 @@
|
||||
import Link from "next/link";
|
||||
import classNames from "classnames/bind";
|
||||
import classNames from "classnames";
|
||||
|
||||
import styles from "./MenuLink.module.css";
|
||||
const cx = classNames.bind(styles);
|
||||
|
||||
export type MenuLinkProps = {
|
||||
href?: string;
|
||||
@ -20,7 +19,7 @@ const MenuLink = ({ icon: Icon, href, text, current, className }: MenuLinkProps)
|
||||
if (href) {
|
||||
return (
|
||||
<Link href={href} prefetch={false}>
|
||||
<a className={cx(styles.link, { current: !!current }, className)}>
|
||||
<a className={classNames(styles.link, current && styles.current, className)}>
|
||||
<Icon className={styles.icon} /> <span className={styles.label}>{text}</span>
|
||||
</a>
|
||||
</Link>
|
||||
|
@ -4,17 +4,17 @@ import type { NoteMetaType } from "../../types";
|
||||
|
||||
import styles from "./NoteTitle.module.css";
|
||||
|
||||
type NoteTitleProps = Pick<NoteMetaType, "slug" | "htmlTitle"> & JSX.IntrinsicElements["a"];
|
||||
type NoteTitleProps = Pick<NoteMetaType, "slug" | "htmlTitle"> & JSX.IntrinsicElements["h1"];
|
||||
|
||||
const NoteTitle = ({ slug, htmlTitle, className, ...rest }: NoteTitleProps) => (
|
||||
<h1 className={classNames(styles.title, className)}>
|
||||
<h1 className={classNames(styles.title, className)} {...rest}>
|
||||
<Link
|
||||
href={{
|
||||
pathname: "/notes/[slug]/",
|
||||
query: { slug: slug },
|
||||
}}
|
||||
>
|
||||
<a className={styles.link} dangerouslySetInnerHTML={{ __html: htmlTitle }} {...rest} />
|
||||
<a className={styles.link} dangerouslySetInnerHTML={{ __html: htmlTitle }} />
|
||||
</Link>
|
||||
</h1>
|
||||
);
|
||||
|
@ -1,10 +1,9 @@
|
||||
import { useEffect, useRef } from "react";
|
||||
import classNames from "classnames/bind";
|
||||
import classNames from "classnames";
|
||||
|
||||
import styles from "./Wallpaper.module.css";
|
||||
const cx = classNames.bind(styles);
|
||||
|
||||
type WallpaperProps = JSX.IntrinsicElements["div"] & {
|
||||
type WallpaperProps = JSX.IntrinsicElements["main"] & {
|
||||
image: string;
|
||||
tile?: boolean;
|
||||
};
|
||||
@ -16,7 +15,7 @@ const Wallpaper = ({ image, tile, className, ...rest }: WallpaperProps) => {
|
||||
bgRef.current.style.backgroundImage = `url(${image})`;
|
||||
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
||||
|
||||
return <main ref={bgRef} className={cx(styles.wallpaper, { tile: !!tile }, className)} {...rest} />;
|
||||
return <main ref={bgRef} className={classNames(styles.wallpaper, tile && styles.tile, className)} {...rest} />;
|
||||
};
|
||||
|
||||
export default Wallpaper;
|
||||
|
@ -32,8 +32,8 @@
|
||||
"@novnc/novnc": "github:novnc/noVNC#679b45fa3b453c7cf32f4b4455f4814818ecf161",
|
||||
"@octokit/graphql": "^4.8.0",
|
||||
"@primer/octicons": "^16.3.1",
|
||||
"@sentry/node": "^6.17.8",
|
||||
"@sentry/tracing": "^6.17.8",
|
||||
"@sentry/node": "^6.17.9",
|
||||
"@sentry/tracing": "^6.17.9",
|
||||
"classnames": "^2.3.1",
|
||||
"copy-to-clipboard": "^3.3.1",
|
||||
"critters": "^0.0.16",
|
||||
@ -52,7 +52,7 @@
|
||||
"next-compose-plugins": "^2.2.1",
|
||||
"next-mdx-remote": "4.0.0-rc.2",
|
||||
"next-seo": "^5.1.0",
|
||||
"next-sitemap": "^2.1.15",
|
||||
"next-sitemap": "^2.4.2",
|
||||
"next-themes": "^0.0.15",
|
||||
"next-transpile-modules": "^9.0.0",
|
||||
"node-fetch": "^3.2.0",
|
||||
@ -102,7 +102,7 @@
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.5.1",
|
||||
"simple-git-hooks": "^2.7.0",
|
||||
"stylelint": "~14.5.0",
|
||||
"stylelint": "~14.5.1",
|
||||
"stylelint-config-prettier": "~9.0.3",
|
||||
"stylelint-prettier": "~2.0.0",
|
||||
"typescript": "^4.5.5"
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* eslint-disable camelcase */
|
||||
|
||||
import { NextSeo } from "next-seo";
|
||||
import Content from "../components/Content/Content";
|
||||
import PageTitle from "../components/PageTitle/PageTitle";
|
||||
@ -6,7 +8,6 @@ import Figure from "../components/Figure/Figure";
|
||||
import IFrame from "../components/IFrame/IFrame";
|
||||
import HorizontalRule from "../components/HorizontalRule/HorizontalRule";
|
||||
|
||||
/* eslint-disable camelcase */
|
||||
import img_wayback from "../public/static/images/previously/wayback.png";
|
||||
import img_2002_02 from "../public/static/images/previously/2002_02.png";
|
||||
import img_2002_10 from "../public/static/images/previously/2002_10.png";
|
||||
@ -55,7 +56,7 @@ const Previously = () => (
|
||||
<p>
|
||||
🚨 <strong>Trigger warning:</strong> marquees, Comic Sans MS, popups,{" "}
|
||||
<code>
|
||||
color: <span className="limegreen">limegreen</span>
|
||||
color: <span style={{ color: "#32cd32" }}>limegreen</span>
|
||||
</code>
|
||||
...{" "}
|
||||
<Link href="/y2k/" prefetch={false}>
|
||||
@ -206,9 +207,6 @@ const Previously = () => (
|
||||
iframe {
|
||||
margin-bottom: 0.6em !important;
|
||||
}
|
||||
.limegreen {
|
||||
color: #32cd32;
|
||||
}
|
||||
`}</style>
|
||||
</>
|
||||
);
|
||||
|
@ -50,7 +50,7 @@ Y2K.getLayout = (page: ReactElement) => {
|
||||
const randomTile = `/static/images/y2k/tiles/tile_${Math.floor(20 * Math.random())}.png`;
|
||||
|
||||
return (
|
||||
<Layout noContainer>
|
||||
<Layout container={false} stickyHeader={false}>
|
||||
<Wallpaper
|
||||
image={randomTile}
|
||||
tile
|
||||
@ -63,13 +63,6 @@ Y2K.getLayout = (page: ReactElement) => {
|
||||
>
|
||||
{page}
|
||||
</Wallpaper>
|
||||
|
||||
{/* also make the viewport a bit larger by un-sticking the nav bar */}
|
||||
<style jsx global>{`
|
||||
header {
|
||||
position: relative !important;
|
||||
}
|
||||
`}</style>
|
||||
</Layout>
|
||||
);
|
||||
};
|
||||
|
122
yarn.lock
122
yarn.lock
@ -3,9 +3,9 @@
|
||||
|
||||
|
||||
"@ampproject/remapping@^2.1.0":
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.1.tgz#7922fb0817bf3166d8d9e258c57477e3fd1c3610"
|
||||
integrity sha512-Aolwjd7HSC2PyY0fDj/wA/EimQT4HfEnFYNp5s9CQlrdhyvWTtvZ5YzrUPu6R6/1jKiUlxu8bUhkdSnKHNAHMA==
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
|
||||
integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
|
||||
dependencies:
|
||||
"@jridgewell/trace-mapping" "^0.3.0"
|
||||
|
||||
@ -1314,72 +1314,72 @@
|
||||
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323"
|
||||
integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A==
|
||||
|
||||
"@sentry/core@6.17.8":
|
||||
version "6.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.17.8.tgz#7dbdf394b47ed46048cbad6a8519cb3c4b84d6c4"
|
||||
integrity sha512-4WTjgQom75Rvgn6XYy6e7vMIbWlj8utau1wWvr7kjqFKuuuuycRvPgVzAdVr4B3WDHHCInAZpUchsOLs2qwIEA==
|
||||
"@sentry/core@6.17.9":
|
||||
version "6.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.17.9.tgz#1c09f1f101207952566349a1921d46db670c8f62"
|
||||
integrity sha512-14KalmTholGUtgdh9TklO+jUpyQ/D3OGkhlH1rnGQGoJgFy2eYm+s+MnUEMxFdGIUCz5kOteuNqYZxaDmFagpQ==
|
||||
dependencies:
|
||||
"@sentry/hub" "6.17.8"
|
||||
"@sentry/minimal" "6.17.8"
|
||||
"@sentry/types" "6.17.8"
|
||||
"@sentry/utils" "6.17.8"
|
||||
"@sentry/hub" "6.17.9"
|
||||
"@sentry/minimal" "6.17.9"
|
||||
"@sentry/types" "6.17.9"
|
||||
"@sentry/utils" "6.17.9"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/hub@6.17.8":
|
||||
version "6.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.17.8.tgz#d8b04647d12f80807f721c0e4e8133d3f78e4566"
|
||||
integrity sha512-GW0XYpkoQu/kSJaTLfsF4extHDOBPNRnT0qKr/YO20Z5wGxYp8LsdnAuU3njcFHcAV2F/QDTj2BPq1U385/4+A==
|
||||
"@sentry/hub@6.17.9":
|
||||
version "6.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.17.9.tgz#f2c355088a49045e49feafb5356ca5d6e1e31d3c"
|
||||
integrity sha512-34EdrweWDbBV9EzEFIXcO+JeoyQmKzQVJxpTKZoJA6PUwf2NrndaUdjlkDEtBEzjuLUTxhLxtOzEsYs1O6RVcg==
|
||||
dependencies:
|
||||
"@sentry/types" "6.17.8"
|
||||
"@sentry/utils" "6.17.8"
|
||||
"@sentry/types" "6.17.9"
|
||||
"@sentry/utils" "6.17.9"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/minimal@6.17.8":
|
||||
version "6.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.17.8.tgz#237ed91d8da00ecedc97ce7c1c3bd87a9b1ff1b7"
|
||||
integrity sha512-VJXFZBO/O8SViK0fdzodxpNr+pbpgczNgLpz/MNuSooV6EBesgCMVjXtxDUp1Ie1odc0GUprN/ZMLYBmYdIrKQ==
|
||||
"@sentry/minimal@6.17.9":
|
||||
version "6.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.17.9.tgz#0edca978097b3f56463ede028395d40adbf2ae84"
|
||||
integrity sha512-T3PMCHcKk6lkZq6zKgANrYJJxXBXKOe+ousV1Fas1rVBMv7dtKfsa4itqQHszcW9shusPDiaQKIJ4zRLE5LKmg==
|
||||
dependencies:
|
||||
"@sentry/hub" "6.17.8"
|
||||
"@sentry/types" "6.17.8"
|
||||
"@sentry/hub" "6.17.9"
|
||||
"@sentry/types" "6.17.9"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/node@^6.17.8":
|
||||
version "6.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.17.8.tgz#6debd3cdb60e51b227b90b2fae10a4ee745a6433"
|
||||
integrity sha512-b3zg1XjKtxp7o821ENORO1CCzMM4QzKP01rzztMwyMcj28dmUq36QXoQAnwdKn7jEYkJdLnMeniIBR6U6NUJrQ==
|
||||
"@sentry/node@^6.17.9":
|
||||
version "6.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.17.9.tgz#9a13e2fa1739a6b334eb6aa9e1e022d2c4083cb3"
|
||||
integrity sha512-jbn+q7qPGOh6D7nYoYGaAlmuvMDpQmyMwBtUVYybuZp2AALe43O3Z4LtoJ+1+F31XowpsIPZx1mwNs4ZrILskA==
|
||||
dependencies:
|
||||
"@sentry/core" "6.17.8"
|
||||
"@sentry/hub" "6.17.8"
|
||||
"@sentry/tracing" "6.17.8"
|
||||
"@sentry/types" "6.17.8"
|
||||
"@sentry/utils" "6.17.8"
|
||||
"@sentry/core" "6.17.9"
|
||||
"@sentry/hub" "6.17.9"
|
||||
"@sentry/tracing" "6.17.9"
|
||||
"@sentry/types" "6.17.9"
|
||||
"@sentry/utils" "6.17.9"
|
||||
cookie "^0.4.1"
|
||||
https-proxy-agent "^5.0.0"
|
||||
lru_map "^0.3.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/tracing@6.17.8", "@sentry/tracing@^6.17.8":
|
||||
version "6.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.17.8.tgz#a7a45aac3a1808afe946c1404538a8a1ab85a11b"
|
||||
integrity sha512-WJ3W8O6iPI3w7MrzTnYcw3s5PGBNFqT4b9oBCl5Ndjexs8DsGlQOxjrsipo36z6TpnRHpAE4FEbOETb2R8JRJQ==
|
||||
"@sentry/tracing@6.17.9", "@sentry/tracing@^6.17.9":
|
||||
version "6.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.17.9.tgz#d4a6d96d88f10c9cd496e5b32f44d6e67d4c5dc7"
|
||||
integrity sha512-5Rb/OS4ryNJLvz2nv6wyjwhifjy6veqaF9ffLrwFYij/WDy7m62ASBblxgeiI3fbPLX0aBRFWIJAq1vko26+AQ==
|
||||
dependencies:
|
||||
"@sentry/hub" "6.17.8"
|
||||
"@sentry/minimal" "6.17.8"
|
||||
"@sentry/types" "6.17.8"
|
||||
"@sentry/utils" "6.17.8"
|
||||
"@sentry/hub" "6.17.9"
|
||||
"@sentry/minimal" "6.17.9"
|
||||
"@sentry/types" "6.17.9"
|
||||
"@sentry/utils" "6.17.9"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/types@6.17.8":
|
||||
version "6.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.17.8.tgz#f1f9fbf2f87f0374b6e122ae065da5ca679bc5ea"
|
||||
integrity sha512-0i0f+dpvV62Pm5QMVBHNfEsTGIXoXRGQbeN2LGL4XbhzrzUmIrBPzrnZHv9c/JYtSJnI6A0B9OG7Bdlh3aku+Q==
|
||||
"@sentry/types@6.17.9":
|
||||
version "6.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.17.9.tgz#d579c33cde0301adaf8ff4762479ad017bf0dffa"
|
||||
integrity sha512-xuulX6qUCL14ayEOh/h6FUIvZtsi1Bx34dSOaWDrjXUOJHJAM7214uiqW1GZxPJ13YuaUIubjTSfDmSQ9CBzTw==
|
||||
|
||||
"@sentry/utils@6.17.8":
|
||||
version "6.17.8"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.17.8.tgz#a223f5184cbba8c4ad5ebd57800b6f368b274e48"
|
||||
integrity sha512-cAOM53A5FHv95hpDuXKJU8rI4B1XdZ6qe3Yo+/nDS9QDpOgzvyjcItgXPvKW1wUjdHCcnwu7VBfBxB7teYOW9g==
|
||||
"@sentry/utils@6.17.9":
|
||||
version "6.17.9"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.17.9.tgz#425fe9af4e2d6114c2e9aaede75ccb6ddf91fbda"
|
||||
integrity sha512-4eo9Z3JlJCGlGrQRbtZWL+L9NnlUXgTbfK3Lk7oO8D1ev8R5b5+iE6tZHTvU5rQRcq6zu+POT+tK5u9oxc/rnQ==
|
||||
dependencies:
|
||||
"@sentry/types" "6.17.8"
|
||||
"@sentry/types" "6.17.9"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@svgr/babel-plugin-add-jsx-attribute@^6.0.0":
|
||||
@ -2336,7 +2336,7 @@ cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
shebang-command "^2.0.0"
|
||||
which "^2.0.1"
|
||||
|
||||
css-functions-list@^3.0.0:
|
||||
css-functions-list@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.0.1.tgz#1460df7fb584d1692c30b105151dbb988c8094f9"
|
||||
integrity sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==
|
||||
@ -4778,10 +4778,10 @@ next-seo@^5.1.0:
|
||||
resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.1.0.tgz#aa9fd6249a11bf93e6da06fa2a6bc89268936edf"
|
||||
integrity sha512-ampuQfNTOi1x+xtRIb6CZGunIo6rQXtMo2Tyu861d5GjJFIwfOXsA4lzCa4+e2rLkyXDyVpavNNUZWa3US9ELw==
|
||||
|
||||
next-sitemap@^2.1.15:
|
||||
version "2.1.15"
|
||||
resolved "https://registry.yarnpkg.com/next-sitemap/-/next-sitemap-2.1.15.tgz#a1ce4e28e3d502f7bfece2b9d9290b2ac1cdefba"
|
||||
integrity sha512-otfE6+6HNElca/CojaqDkZOxNoQDL9Z2TIULh+PCxBbt2eGvyqvaQyv+By5dSeWktVPiAomGxYCnIfy+eSOxKg==
|
||||
next-sitemap@^2.4.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/next-sitemap/-/next-sitemap-2.4.2.tgz#f5b9c344ee8c4757ca72467084621b6158e628a2"
|
||||
integrity sha512-cvcK2oXNpVcxizPN4dSkOwA5/KIOUXrJVaWYuk17YQvbBqQzufhhr2JgqgB4QoG0U7sMlB1RB1VPDAZ78kK0Qw==
|
||||
dependencies:
|
||||
"@corex/deepmerge" "^2.6.148"
|
||||
minimist "^1.2.5"
|
||||
@ -6118,15 +6118,15 @@ stylelint-prettier@~2.0.0:
|
||||
dependencies:
|
||||
prettier-linter-helpers "^1.0.0"
|
||||
|
||||
stylelint@~14.5.0:
|
||||
version "14.5.0"
|
||||
resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.5.0.tgz#d94252027164bc918303a6b782652931421d8871"
|
||||
integrity sha512-4dvQjrhAz2njLoE1OvUEZpryNWcmx2w5Lq5jlibxFv6b5W6O8/vob12M2ZzhX3Ndzs5f67F+BEYmhnQXOwfVYQ==
|
||||
stylelint@~14.5.1:
|
||||
version "14.5.1"
|
||||
resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.5.1.tgz#2b2575ccaf14bb057209d48fc87c17d5b684f8db"
|
||||
integrity sha512-8Hf4HtnhxlWlf7iXF9zFfhSc3X0teRnVzl6PqPs2JEFx+dy/mhMhghZfiTDW4QG0ihDw9+WP7GZw5Nzx7cQF5A==
|
||||
dependencies:
|
||||
balanced-match "^2.0.0"
|
||||
colord "^2.9.2"
|
||||
cosmiconfig "^7.0.1"
|
||||
css-functions-list "^3.0.0"
|
||||
css-functions-list "^3.0.1"
|
||||
debug "^4.3.3"
|
||||
execall "^2.0.0"
|
||||
fast-glob "^3.2.11"
|
||||
@ -6163,7 +6163,7 @@ stylelint@~14.5.0:
|
||||
svg-tags "^1.0.0"
|
||||
table "^6.8.0"
|
||||
v8-compile-cache "^2.3.0"
|
||||
write-file-atomic "^4.0.0"
|
||||
write-file-atomic "^4.0.1"
|
||||
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
@ -6834,7 +6834,7 @@ wrappy@1:
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
||||
|
||||
write-file-atomic@^4.0.0:
|
||||
write-file-atomic@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f"
|
||||
integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==
|
||||
|
Reference in New Issue
Block a user