diff --git a/.env.development b/.env.development new file mode 100644 index 00000000..d9cc0b1a --- /dev/null +++ b/.env.development @@ -0,0 +1 @@ +NEXT_PUBLIC_STORYBOOK_URL=http://localhost:6006 diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 9cd157d5..00000000 --- a/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -/components/ui -public/ -.next/ -.contentlayer/ \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index a0354618..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,64 +0,0 @@ -module.exports = { - extends: [ - "next", - "next/core-web-vitals", - "plugin:storybook/recommended", - "eslint:recommended", - "plugin:react/recommended", - "plugin:@typescript-eslint/recommended", - "prettier", - ], - plugins: ["react", "@typescript-eslint", "simple-import-sort", "unused-imports"], - parserOptions: { - ecmaVersion: "latest", - sourceType: "module", - }, - rules: { - "react/react-in-jsx-scope": "off", - quotes: ["error", "double"], - "@typescript-eslint/no-explicit-any": "warn", - "react/no-unknown-property": ["error", { ignore: ["vaul-drawer-wrapper"] }], - "@next/next/no-img-element": "off", - "simple-import-sort/imports": "error", - "simple-import-sort/exports": "error", - "@typescript-eslint/no-unused-vars": "off", - "unused-imports/no-unused-imports": "error", - "unused-imports/no-unused-vars": [ - "warn", - { - vars: "all", - varsIgnorePattern: "^_", - args: "after-used", - argsIgnorePattern: "^_", - }, - ], - }, - overrides: [ - { - files: ["**/*.js", "**/*.ts", "**/*.tsx"], - rules: { - "simple-import-sort/imports": [ - "error", - { - groups: [ - // `react` first, `next` second, then packages starting with a character - ["^react$", "^next", "^[a-z]"], - // Packages starting with `@` - ["^@"], - // Packages starting with `~` - ["^~"], - // Imports starting with `../` - ["^\\.\\.(?!/?$)", "^\\.\\./?$"], - // Imports starting with `./` - ["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"], - // Style imports - ["^.+\\.s?css$"], - // Side effect imports - ["^\\u0000"], - ], - }, - ], - }, - }, - ], -}; diff --git a/.github/PULL_REQUEST_TEMPLATE/new_component.md b/.github/PULL_REQUEST_TEMPLATE/new_component.md index fed469e0..e809d61f 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new_component.md +++ b/.github/PULL_REQUEST_TEMPLATE/new_component.md @@ -53,7 +53,7 @@ Any additional notes or considerations for reviewers should be included here. 1. Pull this branch. -2. Run the project locally using the following command: `npm run start` or `yarn start`. +2. Run the project locally using the following command: `yarn dev`. 3. Go to the relevant component in the storybook/docs to see it in action. --- diff --git a/.github/workflows/deploy-v3.yml b/.github/workflows/deploy-v3.yml new file mode 100644 index 00000000..c23b43ec --- /dev/null +++ b/.github/workflows/deploy-v3.yml @@ -0,0 +1,48 @@ +name: Deploy v3 + +on: + push: + branches: + - v3 + +jobs: + deploy-v3: + runs-on: ubuntu-latest + environment: v3-deployment + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + - name: Install yarn + run: npm install -g yarn + - name: Restore cache + uses: actions/cache@v4 + with: + path: | + .next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- + - name: Install dependencies + run: yarn install --immutable + - name: Build component previews + run: yarn storybook:build + - name: Build with Next.js + env: + NEXT_PUBLIC_APP_URL: ${{ vars.NEXT_PUBLIC_APP_URL }} + NEXT_PUBLIC_SUPABASE_URL: ${{ vars.NEXT_PUBLIC_SUPABASE_URL }} + NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ vars.NEXT_PUBLIC_SUPABASE_ANON_KEY }} + NEXT_PUBLIC_POSTHOG_KEY: ${{ vars.NEXT_PUBLIC_POSTHOG_KEY }} + NEXT_PUBLIC_POSTHOG_HOST: ${{ vars.NEXT_PUBLIC_POSTHOG_HOST }} + NEXT_PUBLIC_PLUNK_API_KEY: ${{ vars.NEXT_PUBLIC_PLUNK_API_KEY }} + run: yarn build + - name: Deploy to Cloudflare Pages + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy out --project-name=animata-v3 --branch=main + gitHubToken: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f1027867..1f71052e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -19,7 +19,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: "20" + node-version: "22" - name: Install yarn run: npm install -g yarn - name: Restore cache @@ -32,11 +32,11 @@ jobs: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- - name: Install dependencies run: yarn install --immutable + - name: Build component previews + run: yarn storybook:build - name: Build with Next.js env: NEXT_PUBLIC_APP_URL: ${{ vars.NEXT_PUBLIC_APP_URL }} - STORYBOOK_NEXT_PUBLIC_APP_URL: ${{ vars.STORYBOOK_NEXT_PUBLIC_APP_URL }} - NEXT_PUBLIC_STORYBOOK_URL: ${{ vars.NEXT_PUBLIC_STORYBOOK_URL }} NEXT_PUBLIC_SUPABASE_URL: ${{ vars.NEXT_PUBLIC_SUPABASE_URL }} NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ vars.NEXT_PUBLIC_SUPABASE_ANON_KEY }} NEXT_PUBLIC_POSTHOG_KEY: ${{ vars.NEXT_PUBLIC_POSTHOG_KEY }} diff --git a/.gitignore b/.gitignore index b844d008..a02bbed0 100644 --- a/.gitignore +++ b/.gitignore @@ -35,8 +35,9 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts -.contentlayer +.velite *storybook.log public/preview _internal/ +.superset/ diff --git a/.node-version b/.node-version new file mode 100644 index 00000000..2bd5a0a9 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +22 diff --git a/.prettierrc.cjs b/.prettierrc.cjs index 7e8df511..e34b7dac 100644 --- a/.prettierrc.cjs +++ b/.prettierrc.cjs @@ -4,8 +4,5 @@ module.exports = { printWidth: 100, plugins: ["prettier-plugin-tailwindcss"], tailwindConfig: "./tailwind.config.ts", - tailwindFunctions: [ - "clsx", - "cn" - ] -}; \ No newline at end of file + tailwindFunctions: ["clsx", "cn"], +}; diff --git a/.storybook/main.ts b/.storybook/main.ts index 5dc3c6ca..d195b829 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,24 +1,12 @@ import type { StorybookConfig } from "@storybook/nextjs"; const config: StorybookConfig = { - stories: [ - "../animata/**/*.mdx", - "../animata/**/*.stories.@(js|jsx|mjs|ts|tsx)", - ], - addons: [ - "@storybook/addon-onboarding", - "@storybook/addon-links", - "@storybook/addon-essentials", - "@chromatic-com/storybook", - "@storybook/addon-interactions", - "@storybook/addon-styling-webpack", - "@storybook/addon-themes", - "storybook-dark-mode", - ], + stories: ["../animata/**/*.stories.@(js|jsx|mjs|ts|tsx)"], + addons: ["@storybook/addon-themes", "@storybook/addon-docs"], framework: { name: "@storybook/nextjs", options: {}, }, - staticDirs: [], + tags: {}, }; export default config; diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 1f035965..a90b1de3 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -1,109 +1,23 @@ -import { themes } from "@storybook/theming"; +import { Controls, Description, Primary, Subtitle, Title } from "@storybook/addon-docs/blocks"; +import type { Preview } from "@storybook/react"; +import type { ReactNode } from "react"; -import { Canvas, Controls, Stories, Title } from "@storybook/blocks"; -import { Preview } from "@storybook/react"; -import React, { useEffect } from "react"; - -import { MDXProvider } from "@mdx-js/react"; -import { DocsContainer } from "@storybook/blocks"; -import { baseComponents } from "../components/mdx-base-components"; - -import { ReloadButton } from "../components/reload-button"; -import { useMutationObserver } from "../hooks/use-mutation-observer"; import "../styles/globals.css"; import "../styles/storybook.css"; -import { addons } from "@storybook/manager-api"; -import { useDarkMode } from "storybook-dark-mode"; - -addons.setConfig({ - theme: themes.dark, -}); - -const useThemeProps = (props) => { - const isDark = useDarkMode(); - const forced = (() => { - const sp = new URLSearchParams(location.search); - if (!sp.get("globals")?.includes("theme")) { - return null; - } - - return sp.get("globals")?.includes("light") ? "theme:light" : "theme:dark"; - })(); - - const currentProps = { ...props }; - if (!forced) { - currentProps.theme = isDark ? themes.dark : themes.light; - currentProps.isDark = isDark; - } else { - currentProps.theme = forced === "theme:dark" ? themes.dark : themes.light; - currentProps.isDark = forced === "theme:dark"; - } - - return currentProps; -}; - -const MdxContainer = (props: any) => { - const currentProps = useThemeProps(props); - return ( - - - - ); -}; - -const isEmbedded = window.location.href.includes("site:docs"); - -const Wrapper = ({ children }) => { - const nodeRef = React.useRef(isEmbedded ? document.body : null); - const theme = useThemeProps({}).isDark ? "dark" : ""; - - const callbackRef = React.useRef(() => { - const height = document.querySelector(".embedded")?.clientHeight ?? 0; - const padding = 0; - window.parent.postMessage( - { - type: "animata-set-height", - height: height + padding, - }, - "*", - ); - }); - - useMutationObserver(nodeRef, callbackRef.current); - - useEffect(() => { - if (!isEmbedded) { - return; - } - callbackRef.current(); - }, []); - - return ( -
- {children} -
- ); -}; - -const CustomCanvas = () => { - const [key, setKey] = React.useState(0); - return ( -
- - setKey((k) => k + 1)} - /> -
- ); +const ThemeWrapper = ({ children }: { children: ReactNode }) => { + return
{children}
; }; const preview: Preview = { + tags: ["autodocs"], + decorators: [ + (Story) => ( + + + + ), + ], parameters: { controls: { matchers: { @@ -111,22 +25,16 @@ const preview: Preview = { date: /Date$/i, }, }, - darkMode: { - dark: { ...themes.dark, appBg: "black" }, - light: { ...themes.normal, appBg: "light" }, - }, docs: { - container: MdxContainer, - page: () => { - return ( - - {!isEmbedded && } - <CustomCanvas /> - <Controls /> - <Stories includePrimary={false} title="Other examples" /> - </Wrapper> - ); - }, + page: () => ( + <> + <Title /> + <Subtitle /> + <Description /> + <Primary /> + <Controls /> + </> + ), }, }, }; diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 7e58cb1e..7540da67 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -5,4 +5,4 @@ "esbenp.prettier-vscode", "streetsidesoftware.code-spell-checker" ] -} \ No newline at end of file +} diff --git a/animata/accordion/faq.stories.tsx b/animata/accordion/faq.stories.tsx index 9d4d6d56..ba0b9d9d 100644 --- a/animata/accordion/faq.stories.tsx +++ b/animata/accordion/faq.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Faq from "@/animata/accordion/faq"; -import { Meta, StoryObj } from "@storybook/react"; const faqData = [ { diff --git a/animata/accordion/faq.tsx b/animata/accordion/faq.tsx index 845f1c23..0597d959 100644 --- a/animata/accordion/faq.tsx +++ b/animata/accordion/faq.tsx @@ -1,9 +1,8 @@ "use client"; -import React, { useState } from "react"; -import { motion } from "framer-motion"; - import * as Accordion from "@radix-ui/react-accordion"; +import { motion } from "motion/react"; +import { useState } from "react"; interface FAQItem { id: number; diff --git a/animata/background/animated-beam.stories.tsx b/animata/background/animated-beam.stories.tsx index 777a8b39..2d468b2b 100644 --- a/animata/background/animated-beam.stories.tsx +++ b/animata/background/animated-beam.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AnimatedBeam from "@/animata/background/animated-beam"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Background/Animated Beam", @@ -18,12 +18,10 @@ export const Primary: Story = { args: { children: ( <div className="flex min-h-96 w-full flex-col items-center justify-center text-xl text-white md:text-3xl"> - <div className="max-w-lg rounded-xl bg-opacity-10 p-4 text-center font-light backdrop-blur-sm"> + <div className="max-w-lg rounded-xl p-4 text-center font-light backdrop-blur-sm"> Look at the <span className="line-through">stars</span> <strong>meteors</strong>! Look how they <span className="line-through">shine</span> <strong>fall</strong> for you! - <small className="mt-5 block text-sm text-opacity-30"> - This is a placeholder content - </small> + <small className="mt-5 block text-sm text-white/30">This is a placeholder content</small> </div> </div> ), diff --git a/animata/background/animated-beam.tsx b/animata/background/animated-beam.tsx index 621b1906..e5e538e6 100644 --- a/animata/background/animated-beam.tsx +++ b/animata/background/animated-beam.tsx @@ -8,7 +8,7 @@ function Beam({ index }: { index: number }) { const flag = index % 8 === 0; return ( <div - className={cn("h-full animate-meteor", { + className={cn("h-full", { "[--duration:7s]": flag, "[--duration:11s]": !flag, })} @@ -16,6 +16,7 @@ function Beam({ index }: { index: number }) { width: "6px", transform: "translateY(-20%)", "--delay": `${index * 0.5}s`, + animation: "meteor var(--duration) var(--delay) ease-in-out infinite", }} > <div @@ -27,7 +28,7 @@ function Beam({ index }: { index: number }) { "h-12": !flag, })} > - <div className="h-full w-full bg-gradient-to-b from-neutral-50/50 via-neutral-100 via-75% to-neutral-50" /> + <div className="h-full w-full bg-linear-to-b from-neutral-50/50 via-neutral-100 via-75% to-neutral-50" /> </div> </div> ); @@ -67,8 +68,14 @@ function Background() { return ( <div ref={containerRef} - className="-z-1 absolute inset-0 flex h-full w-full flex-row justify-between bg-gradient-to-t from-indigo-900 to-indigo-950" + className="z-0 absolute inset-0 flex h-full w-full flex-row justify-between bg-linear-to-t from-indigo-900 to-indigo-950" > + <style>{` + @keyframes meteor { + 0% { transform: translateY(-20%) translateX(-50%); } + 100% { transform: translateY(300%) translateX(-50%); } + } + `}</style> <div style={{ background: @@ -77,7 +84,7 @@ function Background() { className="absolute inset-0 top-1/2 h-full w-full rounded-full opacity-40" /> {Array.from({ length: count }, (_, i) => ( - <div key={i} className="relative h-full w-px rotate-12 bg-gray-100 bg-opacity-10"> + <div key={i} className="relative h-full w-px rotate-12 bg-gray-100/10"> {(1 + i) % 4 === 0 && <Beam index={i + 1} />} </div> ))} @@ -93,7 +100,7 @@ export default function AnimatedBeam({ className?: string; }) { return ( - <div className={cn("storybook-fix relative w-full overflow-hidden", className)}> + <div className={cn("full-content relative w-full overflow-hidden", className)}> <Background /> <div className="relative h-full w-full">{children}</div> </div> diff --git a/animata/background/blurry-blob.stories.tsx b/animata/background/blurry-blob.stories.tsx index 21ae253f..755c4dd8 100644 --- a/animata/background/blurry-blob.stories.tsx +++ b/animata/background/blurry-blob.stories.tsx @@ -1,4 +1,4 @@ -import { Meta, StoryObj } from "@storybook/react"; +import type { Meta, StoryObj } from "@storybook/react"; import BlurryBlob from "./blurry-blob"; diff --git a/animata/background/blurry-blob.tsx b/animata/background/blurry-blob.tsx index 78148d6e..b3c98ef7 100644 --- a/animata/background/blurry-blob.tsx +++ b/animata/background/blurry-blob.tsx @@ -1,14 +1,11 @@ import { cn } from "@/lib/utils"; + interface BlobProps extends React.HTMLAttributes<HTMLDivElement> { firstBlobColor: string; secondBlobColor: string; } -export default function BlurryBlob({ - className, - firstBlobColor, - secondBlobColor, -}: BlobProps) { +export default function BlurryBlob({ className, firstBlobColor, secondBlobColor }: BlobProps) { return ( <div className="min-h-52 min-w-52 items-center justify-center"> <div className="relative w-full max-w-lg"> diff --git a/animata/background/diagonal-lines.stories.tsx b/animata/background/diagonal-lines.stories.tsx index 4c0b6b7b..d7480470 100644 --- a/animata/background/diagonal-lines.stories.tsx +++ b/animata/background/diagonal-lines.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import DiagonalLines from "@/animata/background/diagonal-lines"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Background/Diagonal Lines", @@ -29,5 +29,8 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + color: "#cacaca", + spacing: 10, + }, }; diff --git a/animata/background/diagonal-lines.tsx b/animata/background/diagonal-lines.tsx index d3332422..6e962256 100644 --- a/animata/background/diagonal-lines.tsx +++ b/animata/background/diagonal-lines.tsx @@ -25,7 +25,9 @@ interface DiagonalLinesProps { function Placeholder() { return ( <div className="flex max-h-full min-h-64 min-w-72 max-w-full items-center justify-center"> - <div className="rounded bg-white px-4 py-2">This has diagonal line background</div> + <div className="rounded bg-foreground text-background px-4 py-2"> + This has diagonal line background + </div> </div> ); } diff --git a/animata/background/dot.stories.tsx b/animata/background/dot.stories.tsx index 391b121b..6b1b2fd8 100644 --- a/animata/background/dot.stories.tsx +++ b/animata/background/dot.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Dot from "@/animata/background/dot"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Background/Dot", @@ -21,5 +21,9 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + color: "#cacaca", + size: 1, + spacing: 10, + }, }; diff --git a/animata/background/dot.tsx b/animata/background/dot.tsx index 702f09ad..79c08ce0 100644 --- a/animata/background/dot.tsx +++ b/animata/background/dot.tsx @@ -30,7 +30,7 @@ interface DotProps { function Placeholder() { return ( <div className="flex h-full min-h-64 w-full min-w-72 items-center justify-center"> - <div className="rounded bg-white px-4 py-2">This has dot background</div> + <div className="rounded bg-foreground text-background px-4 py-2">This has dot background</div> </div> ); } diff --git a/animata/background/grid.stories.tsx b/animata/background/grid.stories.tsx index e7973ffb..345cc419 100644 --- a/animata/background/grid.stories.tsx +++ b/animata/background/grid.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Grid from "@/animata/background/grid"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Background/Grid", @@ -21,5 +21,8 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + color: "#cacaca", + size: 20, + }, }; diff --git a/animata/background/grid.tsx b/animata/background/grid.tsx index afcc853e..290fa758 100644 --- a/animata/background/grid.tsx +++ b/animata/background/grid.tsx @@ -31,7 +31,9 @@ function Placeholder({ size = 20 }: Pick<GridProps, "size">) { }} className="flex max-h-full max-w-full items-center justify-center" > - <div className="rounded bg-white px-4 py-2">This has grid background</div> + <div className="rounded bg-foreground text-background px-4 py-2"> + This has grid background + </div> </div> ); } diff --git a/animata/background/interactive-grid.stories.tsx b/animata/background/interactive-grid.stories.tsx index b530a28d..410251be 100644 --- a/animata/background/interactive-grid.stories.tsx +++ b/animata/background/interactive-grid.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import InteractiveGrid from "@/animata/background/interactive-grid"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Background/Interactive Grid", diff --git a/animata/background/interactive-grid.tsx b/animata/background/interactive-grid.tsx index b00085ff..3691699e 100644 --- a/animata/background/interactive-grid.tsx +++ b/animata/background/interactive-grid.tsx @@ -60,7 +60,7 @@ function plotSquares(width: number, height: number, size: number): { x: number; const size = 24; // h-6 const boxClassName = - "absolute h-6 w-6 rounded-md bg-transparent p-px border border-gray-400/30 border-box group "; + "absolute h-6 w-6 rounded-md bg-transparent p-px border border-gray-400/30 border-box group/cell "; function Grid() { const { @@ -70,7 +70,7 @@ function Grid() { const squares = useMemo(() => plotSquares(horizontal, vertical, size), [horizontal, vertical]); const [active, setActive] = useState(0); - const timerRef = useRef<NodeJS.Timeout>(); + const timerRef = useRef<NodeJS.Timeout>(undefined); const onMouseEnter = useCallback(() => { if (timerRef.current) { @@ -122,10 +122,10 @@ function Grid() { transitionDelay: active ? `${x + y}ms` : "0ms", }} className={cn( - "h-full w-full scale-90 rounded bg-gray-400/30 opacity-0 transition-all duration-700", + "h-full w-full scale-90 rounded bg-gray-400/30 opacity-0 transition duration-700", { "scale-100 opacity-100": shouldHighlight, - "group-hover:scale-100 group-hover:opacity-100": !shouldHighlight, + "group-hover/cell:scale-100 group-hover/cell:opacity-100": !shouldHighlight, }, )} /> diff --git a/animata/background/moving-gradient.stories.tsx b/animata/background/moving-gradient.stories.tsx index 4e9b1117..d190ad32 100644 --- a/animata/background/moving-gradient.stories.tsx +++ b/animata/background/moving-gradient.stories.tsx @@ -1,7 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { BadgeAlert } from "lucide-react"; - import MovingGradient from "@/animata/background/moving-gradient"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Background/Moving Gradient", @@ -18,6 +17,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + animated: true, className: "rounded-xl shadow-md", children: ( <div className="w-64 p-4"> diff --git a/animata/background/moving-gradient.tsx b/animata/background/moving-gradient.tsx index 416fe8e0..3ba29d1e 100644 --- a/animata/background/moving-gradient.tsx +++ b/animata/background/moving-gradient.tsx @@ -1,4 +1,4 @@ -import { ComponentPropsWithoutRef } from "react"; +import type { ComponentPropsWithoutRef } from "react"; import { cn } from "@/lib/utils"; @@ -19,7 +19,7 @@ export default function MovingGradient({ <div {...props} className={cn("relative overflow-hidden bg-white", className)}> <div className={cn( - "bg-size bg-gradient-to-r from-yellow-500 from-30% via-yellow-700 via-50% to-pink-500 to-80% opacity-15", + "bg-size bg-linear-to-r from-yellow-500 from-30% via-yellow-700 via-50% to-pink-500 to-80% opacity-15", { [backgroundClassName]: true, "animate-bg-position bg-[length:300%_auto]": animated, diff --git a/animata/background/zigzag.stories.tsx b/animata/background/zigzag.stories.tsx index 780ed2d7..5ed72e21 100644 --- a/animata/background/zigzag.stories.tsx +++ b/animata/background/zigzag.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Zigzag from "@/animata/background/zigzag"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Background/Zigzag", @@ -29,5 +29,8 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + color: "#cacaca", + size: 10, + }, }; diff --git a/animata/background/zigzag.tsx b/animata/background/zigzag.tsx index 87af7260..08bafc5c 100644 --- a/animata/background/zigzag.tsx +++ b/animata/background/zigzag.tsx @@ -25,7 +25,9 @@ interface ZigZagProps { function Placeholder() { return ( <div className="flex max-h-full min-h-64 min-w-72 max-w-full items-center justify-center"> - <div className="rounded bg-white px-4 py-2">This has zigzag background</div> + <div className="rounded bg-foreground text-background px-4 py-2"> + This has zigzag background + </div> </div> ); } diff --git a/animata/bento-grid/eight.stories.tsx b/animata/bento-grid/eight.stories.tsx index e37f7977..bf98bb62 100644 --- a/animata/bento-grid/eight.stories.tsx +++ b/animata/bento-grid/eight.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Eight from "@/animata/bento-grid/eight"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Eight", diff --git a/animata/bento-grid/eight.tsx b/animata/bento-grid/eight.tsx index 6050d440..3c53db38 100644 --- a/animata/bento-grid/eight.tsx +++ b/animata/bento-grid/eight.tsx @@ -28,13 +28,13 @@ function BoldCopy({ return ( <div className={cn( - "group relative flex items-center justify-center bg-background px-2 py-2 md:px-6 md:py-4", + "group/bento relative flex items-center justify-center bg-background px-2 py-2 md:px-6 md:py-4", className, )} > <div className={cn( - "text-4xl font-black uppercase text-foreground/15 transition-all group-hover:opacity-50 md:text-8xl", + "text-4xl font-black uppercase text-foreground/15 transition group-hover/bento:opacity-50 md:text-8xl", backgroundTextClassName, )} > @@ -42,7 +42,7 @@ function BoldCopy({ </div> <div className={cn( - "text-md absolute font-black uppercase text-foreground transition-all group-hover:text-4xl md:text-3xl group-hover:md:text-8xl", + "text-md absolute font-black uppercase text-foreground transition group-hover/bento:text-4xl md:text-3xl group-hover/bento:md:text-8xl", textClassName, )} > @@ -78,7 +78,7 @@ function FeatureTwo() { return ( <BentoCard className="relative flex flex-col overflow-visible bg-violet-500 sm:col-span-2"> <strong className="text-2xl font-semibold text-white"> - <Counter targetValue={179} format={(v) => +Math.ceil(v) + "k+ students"} /> + <Counter targetValue={179} format={(v) => `${+Math.ceil(v)}k+ students`} /> </strong> <div className="ml-4 mt-auto"> <AvatarList size="sm" className="py-0" /> @@ -107,7 +107,7 @@ function FeatureFour() { return ( <BentoCard className="flex items-center gap-4 bg-lime-300 sm:col-span-2 md:flex-row-reverse"> <div className="text-2xl font-black text-lime-800">Generate progress report</div> - <div className="relative max-h-32 flex-shrink-0 overflow-hidden"> + <div className="relative max-h-32 shrink-0 overflow-hidden"> <Report className="w-40 overflow-hidden border-none shadow-none hover:shadow-none" /> </div> </BentoCard> @@ -179,7 +179,7 @@ function FeatureEight() { export default function Eight() { return ( - <div className="storybook-fix w-full"> + <div className="full-content w-full"> <div className="grid grid-cols-1 gap-3 sm:grid-cols-4 sm:grid-rows-3"> <FeatureOne /> <FeatureTwo /> diff --git a/animata/bento-grid/eleven.stories.tsx b/animata/bento-grid/eleven.stories.tsx index d4c03728..d2ee1607 100644 --- a/animata/bento-grid/eleven.stories.tsx +++ b/animata/bento-grid/eleven.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Eleven from "@/animata/bento-grid/eleven"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Eleven", diff --git a/animata/bento-grid/five.stories.tsx b/animata/bento-grid/five.stories.tsx index b6707100..d76d499b 100644 --- a/animata/bento-grid/five.stories.tsx +++ b/animata/bento-grid/five.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Five from "@/animata/bento-grid/five"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Five", diff --git a/animata/bento-grid/four.stories.tsx b/animata/bento-grid/four.stories.tsx index 09803100..5b21bbb9 100644 --- a/animata/bento-grid/four.stories.tsx +++ b/animata/bento-grid/four.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Four from "@/animata/bento-grid/four"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Four", diff --git a/animata/bento-grid/four.tsx b/animata/bento-grid/four.tsx index 884e17e6..ae3c2355 100644 --- a/animata/bento-grid/four.tsx +++ b/animata/bento-grid/four.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/gradient.stories.tsx b/animata/bento-grid/gradient.stories.tsx index 222d28b3..d4404341 100644 --- a/animata/bento-grid/gradient.stories.tsx +++ b/animata/bento-grid/gradient.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Gradient from "@/animata/bento-grid/gradient"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Gradient", diff --git a/animata/bento-grid/gradient.tsx b/animata/bento-grid/gradient.tsx index facea598..5f81814b 100644 --- a/animata/bento-grid/gradient.tsx +++ b/animata/bento-grid/gradient.tsx @@ -1,4 +1,3 @@ -import { ReactNode } from "react"; import { ArrowRight, BarChart, @@ -9,6 +8,7 @@ import { Sun, TypeIcon, } from "lucide-react"; +import type { ReactNode } from "react"; import MovingGradient from "@/animata/background/moving-gradient"; import { cn } from "@/lib/utils"; @@ -41,7 +41,7 @@ function BentoCard({ <p className="text-md line-clamp-1 font-bold">{title}</p> </div> </header> - <div className="flex-1 text-sm font-medium text-opacity-80">{description}</div> + <div className="flex-1 text-sm font-medium text-black/75">{description}</div> {children} </section> </MovingGradient> @@ -57,13 +57,13 @@ function GetGradient() { className="sm:col-span-1 sm:row-span-2" gradient="from-cyan-900 via-60% via-sky-600 to-indigo-600" > - <div className="group relative flex cursor-pointer flex-col justify-end rounded-md bg-zinc-950 p-2 text-2xl tracking-tight text-gray-100 md:text-4xl"> + <div className="group/grid relative flex cursor-pointer flex-col justify-end rounded-md bg-zinc-950 p-2 text-2xl tracking-tight text-gray-100 md:text-4xl"> <div className="font-light">Get</div> <div className="-mt-2 font-bold">Gradients</div> - <div className="flex h-6 w-6 items-center justify-center rounded-full border bg-white transition-all duration-700 group-hover:rotate-[360deg] md:h-8 md:w-8"> + <div className="flex h-6 w-6 items-center justify-center rounded-full border bg-white transition duration-700 group-hover/grid:rotate-[360] md:h-8 md:w-8"> <ArrowRight size={16} className="text-blue-600" /> </div> - <div className="absolute right-2 top-2 h-2 w-2 rounded-full bg-white opacity-50 transition-all duration-700 group-hover:opacity-25" /> + <div className="absolute right-2 top-2 h-2 w-2 rounded-full bg-white opacity-50 transition duration-700 group-hover/grid:opacity-25" /> </div> </BentoCard> ); @@ -76,10 +76,10 @@ function LinearGradient() { icon={<GitBranch size={24} />} description="A linear gradient is a gradient that goes in a straight line." gradient="from-red-300 via-60% via-rose-300 to-red-200" - className="group sm:col-span-1" + className="group/grid sm:col-span-1" > - <div className="h-4 w-full rounded-sm bg-gray-100 group-hover:animate-pulse group-hover:bg-gray-300" /> - <div className="h-4 w-1/2 rounded-sm bg-gray-100 group-hover:animate-pulse group-hover:bg-gray-300" /> + <div className="h-4 w-full rounded-sm bg-gray-100 group-hover/grid:animate-pulse group-hover/grid:bg-gray-300" /> + <div className="h-4 w-1/2 rounded-sm bg-gray-100 group-hover/grid:animate-pulse group-hover/grid:bg-gray-300" /> </BentoCard> ); } @@ -91,20 +91,20 @@ function RadialGradient() { icon={<LineChart size={24} />} description="A radial gradient is a gradient that goes in a circular direction." gradient="from-lime-300 via-60% via-green-200 to-lime-200" - className="group sm:col-span-1" + className="group/grid sm:col-span-1" > <div className="flex w-full flex-row justify-end gap-2 rounded border-yellow-200 bg-yellow-100 p-2"> <HeartPulse size={16} - className="delay-150 duration-75 group-hover:animate-in group-hover:slide-in-from-right-full" + className="delay-150 duration-75 group-hover/grid:animate-in group-hover/grid:slide-in-from-right-full" /> <Sun size={16} - className="delay-75 duration-75 group-hover:animate-in group-hover:slide-in-from-right-full" + className="delay-75 duration-75 group-hover/grid:animate-in group-hover/grid:slide-in-from-right-full" /> <BookPlus size={16} - className="duration-75 group-hover:animate-in group-hover:slide-in-from-right-full" + className="duration-75 group-hover/grid:animate-in group-hover/grid:slide-in-from-right-full" /> </div> </BentoCard> diff --git a/animata/bento-grid/nine.stories.tsx b/animata/bento-grid/nine.stories.tsx index 25f8f016..076cd999 100644 --- a/animata/bento-grid/nine.stories.tsx +++ b/animata/bento-grid/nine.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Nine from "@/animata/bento-grid/nine"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Nine", diff --git a/animata/bento-grid/nine.tsx b/animata/bento-grid/nine.tsx index 792cb8a4..bcbd3609 100644 --- a/animata/bento-grid/nine.tsx +++ b/animata/bento-grid/nine.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/seven.stories.tsx b/animata/bento-grid/seven.stories.tsx index e1230691..c6c0c97b 100644 --- a/animata/bento-grid/seven.stories.tsx +++ b/animata/bento-grid/seven.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Seven from "@/animata/bento-grid/seven"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Seven", diff --git a/animata/bento-grid/seven.tsx b/animata/bento-grid/seven.tsx index 880739ac..448074d8 100644 --- a/animata/bento-grid/seven.tsx +++ b/animata/bento-grid/seven.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/six.stories.tsx b/animata/bento-grid/six.stories.tsx index 8d537608..1e31efdf 100644 --- a/animata/bento-grid/six.stories.tsx +++ b/animata/bento-grid/six.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Six from "@/animata/bento-grid/six"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Six", diff --git a/animata/bento-grid/six.tsx b/animata/bento-grid/six.tsx index 21fc934c..f74d8ca5 100644 --- a/animata/bento-grid/six.tsx +++ b/animata/bento-grid/six.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/ten.stories.tsx b/animata/bento-grid/ten.stories.tsx index d325b4e9..a2baee03 100644 --- a/animata/bento-grid/ten.stories.tsx +++ b/animata/bento-grid/ten.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Ten from "@/animata/bento-grid/ten"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Ten", diff --git a/animata/bento-grid/ten.tsx b/animata/bento-grid/ten.tsx index b720354f..1d765f6d 100644 --- a/animata/bento-grid/ten.tsx +++ b/animata/bento-grid/ten.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/three.stories.tsx b/animata/bento-grid/three.stories.tsx index a211ffad..99965f3e 100644 --- a/animata/bento-grid/three.stories.tsx +++ b/animata/bento-grid/three.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Three from "@/animata/bento-grid/three"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Three", diff --git a/animata/button/ai-button.stories.tsx b/animata/button/ai-button.stories.tsx index d94fbe45..8349bd36 100644 --- a/animata/button/ai-button.stories.tsx +++ b/animata/button/ai-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AiButton from "@/animata/button/ai-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Ai Button", diff --git a/animata/button/ai-button.tsx b/animata/button/ai-button.tsx index aaa7d1a9..f36de886 100644 --- a/animata/button/ai-button.tsx +++ b/animata/button/ai-button.tsx @@ -1,9 +1,8 @@ -import { useEffect, useMemo, useState } from "react"; -import { Sparkle } from "lucide-react"; -import { loadFull } from "tsparticles"; - import type { ISourceOptions } from "@tsparticles/engine"; import Particles, { initParticlesEngine } from "@tsparticles/react"; +import { Sparkle } from "lucide-react"; +import { useEffect, useMemo, useState } from "react"; +import { loadFull } from "tsparticles"; const options: ISourceOptions = { key: "star", @@ -126,11 +125,11 @@ export default function AiButton() { return ( <button - className="group relative my-8 rounded-full bg-gradient-to-r from-blue-300/30 via-blue-500/30 via-40% to-purple-500/30 p-1 text-white transition-transform hover:scale-110 active:scale-105" + className="group/ai relative my-8 rounded-full bg-linear-to-r from-blue-300/30 via-blue-500/30 via-40% to-purple-500/30 p-1 text-white transition-transform hover:scale-110 active:scale-105" onMouseEnter={() => setIsHovering(true)} onMouseLeave={() => setIsHovering(false)} > - <div className="relative flex items-center justify-center gap-2 rounded-full bg-gradient-to-r from-blue-300 via-blue-500 via-40% to-purple-500 px-4 py-2 text-white"> + <div className="relative flex items-center justify-center gap-2 rounded-full bg-linear-to-r from-blue-300 via-blue-500 via-40% to-purple-500 px-4 py-2 text-white"> <Sparkle className="size-6 -translate-y-0.5 animate-sparkle fill-white" /> <Sparkle style={{ @@ -158,7 +157,7 @@ export default function AiButton() { {!!particleState && ( <Particles id="whatever" - className={`pointer-events-none absolute -bottom-4 -left-4 -right-4 -top-4 z-0 opacity-0 transition-opacity ${particleState === "ready" ? "group-hover:opacity-100" : ""}`} + className={`pointer-events-none absolute -bottom-4 -left-4 -right-4 -top-4 z-0 opacity-0 transition-opacity ${particleState === "ready" ? "group-hover/ai:opacity-100" : ""}`} particlesLoaded={async () => { setParticlesReady("ready"); }} diff --git a/animata/button/algolia-blue-button.stories.tsx b/animata/button/algolia-blue-button.stories.tsx index 0dec4500..175a25f1 100644 --- a/animata/button/algolia-blue-button.stories.tsx +++ b/animata/button/algolia-blue-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AlgoliaBlueButton from "@/animata/button/algolia-blue-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Algolia Blue Button", diff --git a/animata/button/algolia-blue-button.tsx b/animata/button/algolia-blue-button.tsx index 8078753a..3c34d21c 100644 --- a/animata/button/algolia-blue-button.tsx +++ b/animata/button/algolia-blue-button.tsx @@ -1,9 +1,20 @@ export default function AlgoliaBlueButton() { return ( - <button - className="relative box-border inline-flex h-12 cursor-pointer touch-manipulation items-center justify-center overflow-hidden whitespace-nowrap rounded-md border-0 bg-gradient-to-r from-sky-500 to-blue-600 px-4 font-mono leading-none text-white no-underline shadow-[rgba(45,35,66,0.4)_0_2px_4px,rgba(45,35,66,0.3)_0_7px_13px_-3px,rgba(58,65,111,0.5)_0_-3px_0_inset] transition-all duration-150 ease-in-out hover:-translate-y-0.5 hover:shadow-[rgba(45,35,66,0.4)_0_4px_8px,rgba(45,35,66,0.3)_0_7px_13px_-3px,#3c4fe0_0_-3px_0_inset] focus:shadow-[#3c4fe0_0_0_0_1.5px_inset,rgba(45,35,66,0.4)_0_2px_4px,rgba(45,35,66,0.3)_0_7px_13px_-3px,#3c4fe0_0_-3px_0_inset] active:translate-y-0.5 active:shadow-[#3c4fe0_0_3px_7px_inset]" - role="button" - > + <button className="algolia-blue-btn relative box-border inline-flex h-12 cursor-pointer touch-manipulation items-center justify-center overflow-hidden whitespace-nowrap rounded-md border-0 bg-linear-to-r from-sky-500 to-blue-600 px-4 font-mono leading-none text-white no-underline transition duration-150 ease-in-out hover:-translate-y-0.5 active:translate-y-0.5"> + <style>{` + .algolia-blue-btn { + box-shadow: rgba(45,35,66,0.4) 0 2px 4px, rgba(45,35,66,0.3) 0 7px 13px -3px, rgba(58,65,111,0.5) 0 -3px 0 inset; + } + .algolia-blue-btn:hover { + box-shadow: rgba(45,35,66,0.4) 0 4px 8px, rgba(45,35,66,0.3) 0 7px 13px -3px, #3c4fe0 0 -3px 0 inset; + } + .algolia-blue-btn:focus { + box-shadow: #3c4fe0 0 0 0 1.5px inset, rgba(45,35,66,0.4) 0 2px 4px, rgba(45,35,66,0.3) 0 7px 13px -3px, #3c4fe0 0 -3px 0 inset; + } + .algolia-blue-btn:active { + box-shadow: #3c4fe0 0 3px 7px inset; + } + `}</style> Aloglia Blue </button> ); diff --git a/animata/button/algolia-white-button.stories.tsx b/animata/button/algolia-white-button.stories.tsx index 1477cef7..df437e57 100644 --- a/animata/button/algolia-white-button.stories.tsx +++ b/animata/button/algolia-white-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AlgoliaWhiteButton from "@/animata/button/algolia-white-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Algolia White Button", diff --git a/animata/button/algolia-white-button.tsx b/animata/button/algolia-white-button.tsx index 4e8c9b16..f0c219d3 100644 --- a/animata/button/algolia-white-button.tsx +++ b/animata/button/algolia-white-button.tsx @@ -1,9 +1,20 @@ export default function AlgoliaWhiteButton() { return ( - <button - className="inline-flex h-12 cursor-pointer touch-manipulation items-center justify-center overflow-hidden whitespace-nowrap rounded border-0 bg-[#FCFCFD] px-4 font-mono leading-none text-slate-800 no-underline shadow-[rgba(45,35,66,0.4)_0_2px_4px,rgba(45,35,66,0.3)_0_7px_13px_-3px,#D6D6E7_0_-3px_0_inset] transition-all duration-150 ease-in-out hover:-translate-y-0.5 hover:shadow-[rgba(45,35,66,0.4)_0_4px_8px,rgba(45,35,66,0.3)_0_7px_13px_-3px,#D6D6E7_0_-3px_0_inset] focus:shadow-[#D6D6E7_0_0_0_1.5px_inset,rgba(45,35,66,0.4)_0_2px_4px,rgba(45,35,66,0.3)_0_7px_13px_-3px,#D6D6E7_0_-3px_0_inset] active:translate-y-0.5 active:shadow-[#D6D6E7_0_3px_7px_inset]" - role="button" - > + <button className="algolia-white-btn inline-flex h-12 cursor-pointer touch-manipulation items-center justify-center overflow-hidden whitespace-nowrap rounded border-0 bg-[#FCFCFD] px-4 font-mono leading-none text-slate-800 no-underline transition duration-150 ease-in-out hover:-translate-y-0.5 active:translate-y-0.5"> + <style>{` + .algolia-white-btn { + box-shadow: rgba(45,35,66,0.4) 0 2px 4px, rgba(45,35,66,0.3) 0 7px 13px -3px, #D6D6E7 0 -3px 0 inset; + } + .algolia-white-btn:hover { + box-shadow: rgba(45,35,66,0.4) 0 4px 8px, rgba(45,35,66,0.3) 0 7px 13px -3px, #D6D6E7 0 -3px 0 inset; + } + .algolia-white-btn:focus { + box-shadow: #D6D6E7 0 0 0 1.5px inset, rgba(45,35,66,0.4) 0 2px 4px, rgba(45,35,66,0.3) 0 7px 13px -3px, #D6D6E7 0 -3px 0 inset; + } + .algolia-white-btn:active { + box-shadow: #D6D6E7 0 3px 7px inset; + } + `}</style> Aloglia White </button> ); diff --git a/animata/button/animated-follow-button.stories.tsx b/animata/button/animated-follow-button.stories.tsx index 6c163f74..295b59e7 100644 --- a/animata/button/animated-follow-button.stories.tsx +++ b/animata/button/animated-follow-button.stories.tsx @@ -1,10 +1,11 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AnimatedFollowButton from "@/animata/button/animated-follow-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta: Meta<typeof AnimatedFollowButton> = { title: "Button/Animated Follow Button", component: AnimatedFollowButton, parameters: { layout: "centered" }, + tags: ["autodocs"], argTypes: { initialText: { control: "text" }, changeText: { control: "text" }, @@ -21,7 +22,9 @@ export const Primary: Story = { initialText: "Follow", changeText: "Following!", className: "h-16 bg-green-100 text-green-700 flex rounded-full items-center justify-center", - changeTextClassName: "h-16 bg-green-700 text-green-100 rounded-full text-white flex items-center justify-center", + changeTextClassName: + "h-16 bg-green-700 text-green-100 rounded-full text-white flex items-center justify-center", + animationType: "up-to-down", }, render: (args) => ( <div className="flex h-40 items-center justify-center"> diff --git a/animata/button/animated-follow-button.tsx b/animata/button/animated-follow-button.tsx index 8ee8c638..049498a4 100644 --- a/animata/button/animated-follow-button.tsx +++ b/animata/button/animated-follow-button.tsx @@ -1,14 +1,21 @@ "use client"; -import React, { useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; +import { AnimatePresence, motion } from "motion/react"; +import type React from "react"; +import { useState } from "react"; -interface AnimatedFollowButtonProps { +export interface AnimatedFollowButtonProps { initialText: React.ReactElement | string; // Text or element displayed initially - changeText: React.ReactElement | string; // Text or element displayed after the button is clicked + changeText: React.ReactElement | string; // Text or element displayed after the button is clicked className?: string; // ClassName prop for custom button styling changeTextClassName?: string; // ClassName prop for custom styling of changeText - animationType?: "up-to-down" | "down-to-up" | "left-to-right" | "right-to-left" | "zoom-in" | "zoom-out"; // Prop to define animation type + animationType?: + | "up-to-down" + | "down-to-up" + | "left-to-right" + | "right-to-left" + | "zoom-in" + | "zoom-out"; // Prop to define animation type } const AnimatedFollowButton: React.FC<AnimatedFollowButtonProps> = ({ @@ -33,7 +40,6 @@ const AnimatedFollowButton: React.FC<AnimatedFollowButtonProps> = ({ return { initial: { scale: 0.8 }, animate: { scale: 1 }, exit: { scale: 0.8 } }; // Zoom in animation case "zoom-out": return { initial: { scale: 1.2 }, animate: { scale: 1 }, exit: { scale: 1.2 } }; // Zoom out animation - case "up-to-down": default: return { initial: { y: -20 }, animate: { y: 0 }, exit: { y: -20 } }; // Default: Up to down animation } diff --git a/animata/button/arrow-button.stories.tsx b/animata/button/arrow-button.stories.tsx index 930541f1..2332f44f 100644 --- a/animata/button/arrow-button.stories.tsx +++ b/animata/button/arrow-button.stories.tsx @@ -1,5 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ArrowButton from "@/animata/button/arrow-button"; -import { Meta, StoryObj } from "@storybook/react"; + const meta = { title: "Button/Arrow Button", component: ArrowButton, diff --git a/animata/button/arrow-button.tsx b/animata/button/arrow-button.tsx index ed6e4d3e..7e7899ac 100644 --- a/animata/button/arrow-button.tsx +++ b/animata/button/arrow-button.tsx @@ -1,6 +1,6 @@ "use client"; -import React from "react"; import { MoveRight } from "lucide-react"; +import type React from "react"; import { cn } from "@/lib/utils"; @@ -42,7 +42,7 @@ export default function ArrowButton({ <span style={{ color: textColor }} className={cn( - "absolute flex h-full w-full transform items-center justify-center font-bold transition-all duration-300 ease-in-out group-hover:translate-x-full", + "absolute flex h-full w-full transform items-center justify-center font-bold transition duration-300 ease-in-out group-hover:translate-x-full", )} > {text} diff --git a/animata/button/duolingo.stories.tsx b/animata/button/duolingo.stories.tsx index 6005b694..d8e6232d 100644 --- a/animata/button/duolingo.stories.tsx +++ b/animata/button/duolingo.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Duolingo from "@/animata/button/duolingo"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Duolingo", diff --git a/animata/button/duolingo.tsx b/animata/button/duolingo.tsx index 9c877744..5bbc0cd0 100644 --- a/animata/button/duolingo.tsx +++ b/animata/button/duolingo.tsx @@ -1,9 +1,6 @@ export default function Duolingo() { return ( - <button - className="box-border inline-block h-11 transform-gpu cursor-pointer touch-manipulation whitespace-nowrap rounded-lg border-b-4 border-solid border-transparent bg-sky-600 px-4 py-3 text-center text-sm font-bold uppercase leading-5 tracking-wider text-white outline-none transition-all duration-200 hover:brightness-110 active:border-b-0 active:border-t-4 active:bg-none disabled:cursor-auto" - role="button" - > + <button className="box-border inline-block h-11 cursor-pointer touch-manipulation whitespace-nowrap rounded-lg border-b-4 border-solid border-transparent bg-sky-600 px-4 py-3 text-center text-sm font-bold uppercase leading-5 tracking-wider text-white outline-hidden transition duration-200 hover:brightness-110 active:border-b-0 active:border-t-4 active:bg-none disabled:cursor-auto"> Duolingo <span className="absolute inset-0 -z-10 rounded-lg border-b-4 border-solid border-transparent bg-sky-500" /> </button> diff --git a/animata/button/external-link-button.stories.tsx b/animata/button/external-link-button.stories.tsx index dd19a54b..5a7299ba 100644 --- a/animata/button/external-link-button.stories.tsx +++ b/animata/button/external-link-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ExternalLinkButton from "@/animata/button/external-link-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/External link", diff --git a/animata/button/external-link-button.tsx b/animata/button/external-link-button.tsx index 0db414b9..c9a1ca63 100644 --- a/animata/button/external-link-button.tsx +++ b/animata/button/external-link-button.tsx @@ -9,12 +9,12 @@ interface ButtonTitleProps { export default function ExternalLinkButton({ text = "Open Link" }: ButtonTitleProps) { return ( - <button className="text-md group flex items-center justify-center gap-1 rounded-md bg-pink-600 px-6 py-3 text-white hover:cursor-pointer hover:text-yellow-300"> + <button className="text-md group/link flex items-center justify-center gap-1 rounded-md bg-pink-600 px-6 py-3 text-white hover:cursor-pointer hover:text-yellow-300"> <span>{text}</span> <ArrowTopRightIcon height={20} width={20} - className="opacity-75 transition-all group-hover:-translate-y-1 group-hover:translate-x-1 group-hover:scale-110 group-hover:text-yellow-300 group-hover:opacity-100" + className="opacity-75 transition group-hover/link:-translate-y-1 group-hover/link:translate-x-1 group-hover/link:scale-110 group-hover/link:text-yellow-300 group-hover/link:opacity-100" /> </button> ); diff --git a/animata/button/get-started-button.stories.tsx b/animata/button/get-started-button.stories.tsx index 9ab03996..7a30750d 100644 --- a/animata/button/get-started-button.stories.tsx +++ b/animata/button/get-started-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GetStartedButton from "@/animata/button/get-started-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Get Started Button", diff --git a/animata/button/get-started-button.tsx b/animata/button/get-started-button.tsx index 2fe68ca2..4898f056 100644 --- a/animata/button/get-started-button.tsx +++ b/animata/button/get-started-button.tsx @@ -15,13 +15,13 @@ export default function GetStartedButton({ <div className="min-h-12 w-48"> <button className={cn( - "group flex h-12 w-40 items-center justify-center gap-3 rounded-lg bg-amber-100 p-2 font-bold transition-colors duration-100 ease-in-out hover:bg-orange-600", + "group/start flex h-12 w-40 items-center justify-center gap-3 rounded-lg bg-amber-100 p-2 font-bold transition-colors duration-100 ease-in-out hover:bg-orange-600", className, )} > <span className={cn( - "text-orange-600 transition-colors duration-100 ease-in-out group-hover:text-amber-100", + "text-orange-600 transition-colors duration-100 ease-in-out group-hover/start:text-amber-100", )} > {text} @@ -29,20 +29,20 @@ export default function GetStartedButton({ <div className={cn( "relative flex h-7 w-7 items-center justify-center overflow-hidden rounded-full transition-transform duration-100", - "bg-orange-600 group-hover:bg-amber-100", + "bg-orange-600 group-hover/start:bg-amber-100", )} > - <div className="absolute left-0 flex h-7 w-14 -translate-x-1/2 items-center justify-center transition-all duration-200 ease-in-out group-hover:translate-x-0"> + <div className="absolute left-0 flex h-7 w-14 -translate-x-1/2 items-center justify-center transition duration-200 ease-in-out group-hover/start:translate-x-0"> <ArrowRight size={16} className={cn( - "size-7 transform p-1 text-orange-600 opacity-0 group-hover:opacity-100", + "size-7 transform p-1 text-orange-600 opacity-0 group-hover/start:opacity-100", )} /> <ArrowRight size={16} className={cn( - "size-7 transform p-1 text-amber-100 opacity-100 transition-transform duration-300 ease-in-out group-hover:opacity-0", + "size-7 transform p-1 text-amber-100 opacity-100 transition-transform duration-300 ease-in-out group-hover/start:opacity-0", )} /> </div> diff --git a/animata/button/ripple-button.stories.tsx b/animata/button/ripple-button.stories.tsx index 42c1c430..a565dc08 100644 --- a/animata/button/ripple-button.stories.tsx +++ b/animata/button/ripple-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import RippleButton from "@/animata/button/ripple-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Ripple Button", @@ -17,7 +17,7 @@ export default meta; type Story = StoryObj<typeof meta>; -export const Homepage: Story = { +export const Primary: Story = { args: { children: "Homepage", }, diff --git a/animata/button/shining-button.stories.tsx b/animata/button/shining-button.stories.tsx index 8f2e8d4d..d4e00a5a 100644 --- a/animata/button/shining-button.stories.tsx +++ b/animata/button/shining-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ShiningButton from "@/animata/button/shining-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Shining Button", diff --git a/animata/button/shining-button.tsx b/animata/button/shining-button.tsx index 913b953a..b5ca46fe 100644 --- a/animata/button/shining-button.tsx +++ b/animata/button/shining-button.tsx @@ -5,13 +5,13 @@ import { cn } from "@/lib/utils"; export default function ShiningButton() { const label = "See Calendar"; return ( - <button className="group cursor-pointer rounded-xl border-4 border-violet-800 border-opacity-0 bg-transparent p-1 transition-all duration-500 hover:border-opacity-100"> + <button className="group/shine cursor-pointer rounded-xl border-4 border-violet-800/0 bg-transparent p-1 transition duration-500 hover:border-violet-800/100"> <div className="relative flex items-center justify-center gap-4 overflow-hidden rounded-lg bg-violet-800 px-6 py-4 font-bold text-white"> {label} - <ArrowRight className="transition-all group-hover:translate-x-2 group-hover:scale-125" /> + <ArrowRight className="transition group-hover/shine:translate-x-2 group-hover/shine:scale-125" /> <div className={cn( - "absolute -left-16 top-0 h-full w-12 rotate-[30deg] scale-y-150 bg-white/10 transition-all duration-700 group-hover:left-[calc(100%+1rem)]", + "absolute -left-16 top-0 h-full w-12 rotate-[30deg] scale-y-150 bg-white/10 transition duration-700 group-hover/shine:left-[calc(100%+1rem)]", )} /> </div> diff --git a/animata/button/slide-arrow-button.stories.tsx b/animata/button/slide-arrow-button.stories.tsx index b5681a70..0ddecba1 100644 --- a/animata/button/slide-arrow-button.stories.tsx +++ b/animata/button/slide-arrow-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SlideArrowButton from "@/animata/button/slide-arrow-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Slide Arrow Button", diff --git a/animata/button/slide-arrow-button.tsx b/animata/button/slide-arrow-button.tsx index 5ccac720..dca8cc7f 100644 --- a/animata/button/slide-arrow-button.tsx +++ b/animata/button/slide-arrow-button.tsx @@ -1,5 +1,5 @@ -import React from "react"; import { ArrowRight } from "lucide-react"; +import type React from "react"; interface SlideArrowButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> { text?: string; @@ -14,18 +14,18 @@ export default function SlideArrowButton({ }: SlideArrowButtonProps) { return ( <button - className={`group relative rounded-full border border-white bg-white p-2 text-xl font-semibold ${className}`} + className={`group/slide relative rounded-full border border-white bg-white p-2 text-xl font-semibold ${className}`} {...props} > <div - className="absolute left-0 top-0 flex h-full w-11 items-center justify-end rounded-full transition-all duration-200 ease-in-out group-hover:w-full" + className="absolute left-0 top-0 flex h-full w-11 items-center justify-end rounded-full transition duration-200 ease-in-out group-hover/slide:w-full" style={{ backgroundColor: primaryColor }} > - <span className="mr-3 text-white transition-all duration-200 ease-in-out"> + <span className="mr-3 text-white transition duration-200 ease-in-out"> <ArrowRight size={20} /> </span> </div> - <span className="relative left-4 z-10 whitespace-nowrap px-8 font-semibold text-black transition-all duration-200 ease-in-out group-hover:-left-3 group-hover:text-white"> + <span className="relative left-4 z-10 whitespace-nowrap px-8 font-semibold text-black transition duration-200 ease-in-out group-hover/slide:-left-3 group-hover/slide:text-white"> {text} </span> </button> diff --git a/animata/button/status-button.stories.tsx b/animata/button/status-button.stories.tsx index 72727135..416cb000 100644 --- a/animata/button/status-button.stories.tsx +++ b/animata/button/status-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import StatusButton from "@/animata/button/status-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Status Button", diff --git a/animata/button/status-button.tsx b/animata/button/status-button.tsx index 4191ff65..608ae737 100644 --- a/animata/button/status-button.tsx +++ b/animata/button/status-button.tsx @@ -1,6 +1,6 @@ -import { useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { CheckCircle2, CircleDashed } from "lucide-react"; +import { AnimatePresence, motion } from "motion/react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; @@ -26,7 +26,7 @@ export default function StatusButton() { <button onClick={changeStatus} disabled={!isEnabled} - className="group relative h-10 min-w-40 overflow-hidden rounded-md bg-teal-500 px-6 text-sm font-semibold text-white transition-colors duration-300 hover:bg-teal-600" + className="group/status relative h-10 min-w-40 overflow-hidden rounded-md bg-teal-500 px-6 text-sm font-semibold text-white transition-colors duration-300 hover:bg-teal-600" > <AnimatePresence mode="wait" initial={false}> <motion.span @@ -45,14 +45,14 @@ export default function StatusButton() { animate={{ scale: 1 }} transition={{ delay: 0.075, type: "spring" }} > - <CheckCircle2 className="h-4 w-4 fill-white stroke-teal-500 group-hover:stroke-teal-600" /> + <CheckCircle2 className="h-4 w-4 fill-white stroke-teal-500 group-hover/status:stroke-teal-600" /> </motion.span> )} - {status == "loading" ? ( + {status === "loading" ? ( <CircleDashed className="h-4 w-4 animate-spin" /> ) : ( - status ?? "Add to cart" + (status ?? "Add to cart") )} </motion.span> </AnimatePresence> diff --git a/animata/button/swipe-button.stories.tsx b/animata/button/swipe-button.stories.tsx index e366087f..b10b2a56 100644 --- a/animata/button/swipe-button.stories.tsx +++ b/animata/button/swipe-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SwipeButton from "@/animata/button/swipe-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Swipe Button", diff --git a/animata/button/swipe-button.tsx b/animata/button/swipe-button.tsx index 6231a400..06b9e5d9 100644 --- a/animata/button/swipe-button.tsx +++ b/animata/button/swipe-button.tsx @@ -1,5 +1,5 @@ "use client"; -import React from "react"; +import type React from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/button/toggle-switch.stories.tsx b/animata/button/toggle-switch.stories.tsx index 8bac881d..d102a180 100644 --- a/animata/button/toggle-switch.stories.tsx +++ b/animata/button/toggle-switch.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ToggleSwitch from "@/animata/button/toggle-switch"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Toggle Switch", @@ -16,6 +16,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + defaultChecked: false, onChange: () => {}, }, }; diff --git a/animata/button/toggle-switch.tsx b/animata/button/toggle-switch.tsx index f9f85bbc..74a02d15 100644 --- a/animata/button/toggle-switch.tsx +++ b/animata/button/toggle-switch.tsx @@ -15,26 +15,22 @@ const ToggleSwitch = ({ onChange, defaultChecked }: IToggleSwitchProps) => { }; return ( - <> - <label className="flex cursor-pointer select-none items-center"> - <div className="relative"> - <input - type="checkbox" - checked={isChecked} - onChange={handleCheckboxChange} - className="sr-only" - /> - <div - className={`box block h-8 w-14 rounded-full ${isChecked ? "bg-muted" : "bg-muted"}`} - /> - <div - className={`absolute left-1 top-1 flex h-6 w-6 items-center justify-center rounded-full transition ${ - isChecked ? "translate-x-full bg-foreground/75" : "bg-foreground/50" - }`} - /> - </div> - </label> - </> + <label className="flex cursor-pointer select-none items-center"> + <div className="relative"> + <input + type="checkbox" + checked={isChecked} + onChange={handleCheckboxChange} + className="sr-only" + /> + <div className={`box block h-8 w-14 rounded-full ${isChecked ? "bg-muted" : "bg-muted"}`} /> + <div + className={`absolute left-1 top-1 flex h-6 w-6 items-center justify-center rounded-full transition ${ + isChecked ? "translate-x-full bg-foreground/75" : "bg-foreground/50" + }`} + /> + </div> + </label> ); }; diff --git a/animata/button/work-button.stories.tsx b/animata/button/work-button.stories.tsx index 9be5ea2c..0d1f2925 100644 --- a/animata/button/work-button.stories.tsx +++ b/animata/button/work-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import WorkButton from "@/animata/button/work-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Work Button", diff --git a/animata/button/work-button.tsx b/animata/button/work-button.tsx index def68b70..0f06c7c1 100644 --- a/animata/button/work-button.tsx +++ b/animata/button/work-button.tsx @@ -1,7 +1,7 @@ export default function WorkButton() { return ( - <button className="group relative overflow-hidden rounded-full bg-purple-950 px-14 py-4 text-lg transition-all"> - <span className="absolute bottom-0 left-0 h-48 w-full origin-bottom translate-y-full transform overflow-hidden rounded-full bg-white/15 transition-all duration-300 ease-out group-hover:translate-y-14"></span> + <button className="group/work relative overflow-hidden rounded-full bg-purple-950 px-14 py-4 text-lg transition"> + <span className="absolute bottom-0 left-0 h-48 w-full origin-bottom translate-y-full transform overflow-hidden rounded-full bg-white/15 transition duration-300 ease-out group-hover/work:translate-y-14"></span> <span className="font-semibold text-purple-200">Work with us</span> </button> ); diff --git a/animata/card/WebHooks-card.tsx b/animata/card/WebHooks-card.tsx index 317fe3d6..f0fc2e6b 100644 --- a/animata/card/WebHooks-card.tsx +++ b/animata/card/WebHooks-card.tsx @@ -1,4 +1,5 @@ -import React, { useState } from "react"; +import { useState } from "react"; + interface webHooksCardCommentProps { leftBoxElem: string; rightBoxElem: string; @@ -8,46 +9,44 @@ export const WebHooks = ({ leftBoxElem, rightBoxElem }: webHooksCardCommentProps const [isHovered, setIsHovered] = useState(false); return ( - <> - <div className="flex items-center justify-center"> - <div className="relative"> - {/* Left Box */} - <div - className={`z-10 flex h-24 w-48 items-center justify-center rounded-lg border-4 bg-white text-xl font-bold transition-colors duration-500 ${ - isHovered ? "border-lime-500" : "border-gray-300" - } bg-white`} - onMouseEnter={() => setIsHovered(true)} - onMouseLeave={() => setIsHovered(false)} - > - <span>{leftBoxElem}</span> - </div> + <div className="flex items-center justify-center"> + <div className="relative"> + {/* Left Box */} + <div + className={`z-10 flex h-24 w-48 items-center justify-center rounded-lg border-4 bg-white text-xl font-bold transition-colors duration-500 ${ + isHovered ? "border-lime-500" : "border-gray-300" + } bg-white`} + onMouseEnter={() => setIsHovered(true)} + onMouseLeave={() => setIsHovered(false)} + > + <span>{leftBoxElem}</span> + </div> - {/* Connecting Line */} - <div - className={`absolute left-[192px] top-1/2 w-[105px] -translate-y-1/2 transform border-t-4 ${ - isHovered - ? "border-solid border-lime-500 bg-lime-500" - : "border-dotted border-gray-300 hover:border-solid" - } transition-all duration-500`} - /> + {/* Connecting Line */} + <div + className={`absolute left-[192px] top-1/2 w-[105px] -translate-y-1/2 transform border-t-4 ${ + isHovered + ? "border-solid border-lime-500 bg-lime-500" + : "border-dotted border-gray-300 hover:border-solid" + } transition duration-500`} + /> - {/* Animated Ball */} - <div - className={`absolute left-[180px] top-1/2 -z-10 h-6 w-6 -translate-y-1/2 transform rounded-full bg-gray-300 transition-transform duration-500 ${ - isHovered ? "translate-x-[106px] bg-lime-500" : "" - }`} - /> + {/* Animated Ball */} + <div + className={`absolute left-[180px] top-1/2 -z-10 h-6 w-6 -translate-y-1/2 transform rounded-full bg-gray-300 transition-transform duration-500 ${ + isHovered ? "translate-x-[106px] bg-lime-500" : "" + }`} + /> - {/* Right Box */} - <div - className={`absolute left-[295px] top-0 z-10 flex h-24 w-48 items-center justify-center rounded-lg border-4 bg-white text-xl font-bold transition-colors duration-500 ${ - isHovered ? "border-lime-500" : "border-gray-300" - } bg-white`} - > - <span>{rightBoxElem}</span> - </div> + {/* Right Box */} + <div + className={`absolute left-[295px] top-0 z-10 flex h-24 w-48 items-center justify-center rounded-lg border-4 bg-white text-xl font-bold transition-colors duration-500 ${ + isHovered ? "border-lime-500" : "border-gray-300" + } bg-white`} + > + <span>{rightBoxElem}</span> </div> </div> - </> + </div> ); }; diff --git a/animata/card/blur-stack-card.stories.tsx b/animata/card/blur-stack-card.stories.tsx index 19c36092..5604ff4b 100644 --- a/animata/card/blur-stack-card.stories.tsx +++ b/animata/card/blur-stack-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import BlurStackCard from "@/animata/card/blur-stack-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Blur Stack Card", diff --git a/animata/card/blur-stack-card.tsx b/animata/card/blur-stack-card.tsx index f70bd2cd..28f2fcab 100644 --- a/animata/card/blur-stack-card.tsx +++ b/animata/card/blur-stack-card.tsx @@ -1,6 +1,6 @@ "use client"; +import { motion } from "motion/react"; import { useState } from "react"; -import { motion } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -81,7 +81,7 @@ export default function BlueStackCards() { card.color, )} > - <div className="group h-full backdrop-blur-sm"> + <div className="group/blur h-full backdrop-blur-sm"> <h2 className="text-xl font-bold">{card.title}</h2> <p className="text-base font-light">System of colors built out of brand.</p> <div className="my-3 flex flex-col gap-4"> diff --git a/animata/card/card-comment.stories.tsx b/animata/card/card-comment.stories.tsx index bc7b9ac5..cfb5fbd8 100644 --- a/animata/card/card-comment.stories.tsx +++ b/animata/card/card-comment.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { CardComment } from "@/animata/card/card-comment"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Card Comment", diff --git a/animata/card/card-comment.tsx b/animata/card/card-comment.tsx index 8bac32f7..dd673a1a 100644 --- a/animata/card/card-comment.tsx +++ b/animata/card/card-comment.tsx @@ -1,5 +1,3 @@ -import React from "react"; - interface CardCommentProps { commenter: string; replier: string; @@ -7,15 +5,15 @@ interface CardCommentProps { export const CardComment = ({ commenter, replier }: CardCommentProps) => { return ( - <div className="storybook-fix group mx-auto h-48 w-full max-w-md rounded-xl bg-white p-4 shadow"> + <div className="storybook-fix group/comment mx-auto h-48 w-full max-w-md rounded-xl bg-white p-4 shadow"> <div className="relative flex h-40 flex-col space-y-4 overflow-hidden rounded-md bg-neutral-50 text-black shadow-sm hover:shadow-lg"> - <div className="h-fit p-4 transition-all group-hover:-translate-y-1/3"> + <div className="h-fit p-4 transition group-hover/comment:-translate-y-1/3"> <h3 className="text-sm font-semibold">{commenter} commented</h3> <div className="my-2 h-3 w-full animate-pulse rounded-md bg-neutral-300" /> <div className="my-2 h-3 w-2/5 animate-pulse rounded-md bg-neutral-300" /> </div> - <div className="w-full px-4 opacity-0 transition-all group-hover:-translate-y-1/3 group-hover:opacity-100"> + <div className="w-full px-4 opacity-0 transition group-hover/comment:-translate-y-1/3 group-hover/comment:opacity-100"> <div className="h-40 w-full rounded-md bg-green-500 p-4"> <h3 className="text-sm font-semibold text-white">{replier} replied</h3> <div className="line my-2 h-3 w-full animate-pulse rounded-lg bg-white/50" /> diff --git a/animata/card/card-spread.stories.tsx b/animata/card/card-spread.stories.tsx index c32cbe10..5f204e3b 100644 --- a/animata/card/card-spread.stories.tsx +++ b/animata/card/card-spread.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CardSpread from "@/animata/card/card-spread"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Card Spread", diff --git a/animata/card/card-spread.tsx b/animata/card/card-spread.tsx index 4a04fda7..661f6e3e 100644 --- a/animata/card/card-spread.tsx +++ b/animata/card/card-spread.tsx @@ -36,19 +36,19 @@ const cards = [ }, { component: ShoppingList, - rotationClass: "group-hover:rotate-[15deg]", + rotationClass: "group-hover/spread:rotate-[15deg]", revealClass: "rotate-[3deg] translate-y-2", }, { component: RemodelNotes, - rotationClass: "group-hover:rotate-[30deg]", + rotationClass: "group-hover/spread:rotate-[30deg]", revealClass: "-rotate-[2deg] translate-x-1", }, { component: Reminders, - rotationClass: "group-hover:rotate-[45deg]", + rotationClass: "group-hover/spread:rotate-[45deg]", revealClass: "rotate-[2deg]", }, ]; @@ -59,10 +59,9 @@ export default function CardSpread() { return ( <div className={cn( - "group relative flex min-h-80 min-w-52 items-center transition-all duration-500 ease-in-out", + "group/spread relative flex min-h-80 min-w-52 items-center transition duration-500 ease-in-out", { - "origin-bottom transition-all duration-500 ease-in-out hover:-rotate-[15deg]": - !isExpanded, + "origin-bottom transition duration-500 ease-in-out hover:-rotate-[15deg]": !isExpanded, "gap-3": isExpanded, }, )} @@ -76,7 +75,7 @@ export default function CardSpread() { e.preventDefault(); }} className={cn( - "transition-all duration-500 ease-in-out", + "transition duration-500 ease-in-out", { absolute: !isExpanded, "origin-bottom": !isExpanded, diff --git a/animata/card/case-study-card.stories.tsx b/animata/card/case-study-card.stories.tsx index 54df0431..806b9261 100644 --- a/animata/card/case-study-card.stories.tsx +++ b/animata/card/case-study-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CaseStudyCard from "@/animata/card/case-study-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Case Study Card", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + type: { + control: { type: "select" }, + options: ["content", "simple-image"], + }, + }, } satisfies Meta<typeof CaseStudyCard>; export default meta; diff --git a/animata/card/case-study-card.tsx b/animata/card/case-study-card.tsx index f0c03814..97c3a414 100644 --- a/animata/card/case-study-card.tsx +++ b/animata/card/case-study-card.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { cn } from "@/lib/utils"; @@ -22,7 +22,7 @@ const ContentCard: React.FC<CaseStudyCardProps> = ({ title, category, image, log backgroundPosition: "center", }} > - {image && <div className="opacity-70rounded-lg absolute inset-0 bg-black" />} + {image && <div className="opacity-70 rounded-lg absolute inset-0 bg-black" />} <div className="relative z-10"> {category && <div className="text-xs text-gray-200">{category}</div>} @@ -58,14 +58,14 @@ const HoverRevealSlip = ({ show }: { show: React.ReactNode }) => { const common = "absolute flex w-full h-full [backface-visibility:hidden]"; return ( - <div className={cn("group relative h-60 w-52 [perspective:1000px]")}> + <div className={cn("group/study relative h-60 w-52 perspective-[1000px]")}> {/* Back cover - static */} <div className={cn("absolute inset-0 h-full w-48 rounded-lg bg-gray-50 shadow-md")}></div> {/* Card container with slight book opening effect on hover */} <div className={cn( - "relative z-50 h-full w-48 origin-left transition-transform duration-500 ease-out [transform-style:preserve-3d] group-hover:[transform:rotateY(-30deg)]", + "relative z-50 h-full w-48 origin-left transition-transform duration-500 ease-out transform-3d group-hover/study:transform-[rotateY(-30deg)]", )} > {/* Front side of the card */} @@ -75,7 +75,7 @@ const HoverRevealSlip = ({ show }: { show: React.ReactNode }) => { {/* Sliding link/tab coming out from behind */} <div className={cn( - "z-1 absolute bottom-0 right-0 flex h-48 w-14 -translate-x-10 transform items-start justify-start rounded-r-lg bg-green-600 pl-2 pt-2 text-xs font-bold text-white transition-transform duration-300 ease-in-out [backface-visibility:hidden] group-hover:translate-x-0 group-hover:rotate-[5deg]", + "z-1 absolute bottom-0 right-0 flex h-48 w-14 -translate-x-10 transform items-start justify-start rounded-r-lg bg-green-600 pl-2 pt-2 text-xs font-bold text-white transition-transform duration-300 ease-in-out backface-hidden group-hover/study:translate-x-0 group-hover/study:rotate-[5deg]", )} > <div className="-rotate-90 whitespace-nowrap pb-16 pr-9">CLICK TO READ</div> diff --git a/animata/card/comment-reply-card.stories.tsx b/animata/card/comment-reply-card.stories.tsx index e2a1736b..90801cd7 100644 --- a/animata/card/comment-reply-card.stories.tsx +++ b/animata/card/comment-reply-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CommentReplyCard from "@/animata/card/comment-reply-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Comment Reply Card", diff --git a/animata/card/comment-reply-card.tsx b/animata/card/comment-reply-card.tsx index 815f682a..3dd59c4e 100644 --- a/animata/card/comment-reply-card.tsx +++ b/animata/card/comment-reply-card.tsx @@ -1,8 +1,9 @@ "use client"; -import React, { useEffect, useRef, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { Check, X } from "lucide-react"; +import { AnimatePresence, motion } from "motion/react"; +import type React from "react"; +import { useEffect, useRef, useState } from "react"; interface Comment { id: number; @@ -14,7 +15,7 @@ interface Comment { const containerVariants = { hidden: { height: "auto" }, - visible: { height: "auto", transition: { duration: 0.5, ease: "easeInOut" } }, + visible: { height: "auto", transition: { duration: 0.5, ease: "easeInOut" as const } }, }; const commentVariants = { @@ -57,7 +58,7 @@ export default function CommentReplyCard({ initialComments }: { initialComments: if (containerRef.current) { containerRef.current.scrollTop = containerRef.current.scrollHeight; } - }, [comments]); + }, []); return ( <div className="mx-auto max-h-full min-h-96 w-full max-w-md"> @@ -176,7 +177,7 @@ export default function CommentReplyCard({ initialComments }: { initialComments: <input ref={inputRef} type="text" - className="flex-grow bg-transparent text-white placeholder-gray-400 focus:outline-none" + className="grow bg-transparent text-white placeholder-gray-400 focus:outline-hidden" placeholder="Reply" value={newComment} onChange={(e) => setNewComment(e.target.value)} diff --git a/animata/card/email-feature-card.stories.tsx b/animata/card/email-feature-card.stories.tsx index a21d6c34..70290eb1 100644 --- a/animata/card/email-feature-card.stories.tsx +++ b/animata/card/email-feature-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import EmailFeatureCard from "@/animata/card/email-feature-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Email Feature Card", diff --git a/animata/card/email-feature-card.tsx b/animata/card/email-feature-card.tsx index d67ede9c..30f227ff 100644 --- a/animata/card/email-feature-card.tsx +++ b/animata/card/email-feature-card.tsx @@ -1,12 +1,10 @@ "use client"; -import React from "react"; - const EmailCard = () => { return ( - <div className="group relative w-full max-w-lg rounded-lg bg-gray-50 p-6 shadow-lg backdrop-blur-sm transition-shadow duration-300 ease-in-out"> + <div className="group/email relative w-full max-w-lg rounded-lg bg-gray-50 p-6 shadow-lg backdrop-blur-sm transition-shadow duration-300 ease-in-out"> {/* Upper card */} - <div className="relative flex flex-col gap-4 rounded-lg border border-gray-300 bg-white p-6 transition-transform duration-200 ease-in-out group-hover:scale-95"> + <div className="relative flex flex-col gap-4 rounded-lg border border-gray-300 bg-white p-6 transition-transform duration-200 ease-in-out group-hover/email:scale-95"> <h2 className="text-xl font-bold">Send an Email</h2> <p className="text-base font-light">Fill out the details below to send an email.</p> @@ -19,13 +17,17 @@ const EmailCard = () => { {/* To Email (Static) */} <div className="flex flex-col"> <label className="font-medium">To</label> - <p className="mt-1 rounded-md border border-gray-300 p-2 bg-gray-100">recipient@example.com</p> + <p className="mt-1 rounded-md border border-gray-300 p-2 bg-gray-100"> + recipient@example.com + </p> </div> {/* Subject (Static) */} <div className="flex flex-col"> <label className="font-medium">Subject</label> - <p className="mt-1 rounded-md border border-gray-300 p-2 bg-gray-100">The Pokemon I caught this week</p> + <p className="mt-1 rounded-md border border-gray-300 p-2 bg-gray-100"> + The Pokemon I caught this week + </p> </div> {/* Body (Static) */} @@ -45,8 +47,8 @@ const EmailCard = () => { </div> {/* Hover Celebration Animation */} - <div className="absolute inset-0 flex items-center justify-center rounded-lg bg-green-500 text-white opacity-0 group-hover:opacity-100 transition-opacity duration-300"> - <div className="flex items-center gap-2 transform scale-0 group-hover:scale-100 transition-transform duration-300"> + <div className="absolute inset-0 flex items-center justify-center rounded-lg bg-green-500 text-white opacity-0 group-hover/email:opacity-100 transition-opacity duration-300"> + <div className="flex items-center gap-2 transform scale-0 group-hover/email:scale-100 transition-transform duration-300"> <span className="text-2xl font-bold">Email Sent! 🎉</span> </div> </div> diff --git a/animata/card/flip-card.stories.tsx b/animata/card/flip-card.stories.tsx index c8eee8ad..39757c61 100644 --- a/animata/card/flip-card.stories.tsx +++ b/animata/card/flip-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import FlipCard from "@/animata/card/flip-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Flip Card", @@ -8,7 +8,9 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + rotate: { control: { type: "select" }, options: ["x", "y"] }, + }, } satisfies Meta<typeof FlipCard>; export default meta; diff --git a/animata/card/flip-card.tsx b/animata/card/flip-card.tsx index bedec3cf..91e7c877 100644 --- a/animata/card/flip-card.tsx +++ b/animata/card/flip-card.tsx @@ -18,21 +18,20 @@ export default function FlipCard({ ...props }: FlipCardProps) { const rotationClass = { - x: ["group-hover:[transform:rotateX(180deg)]", "[transform:rotateX(180deg)]"], - y: ["group-hover:[transform:rotateY(180deg)]", "[transform:rotateY(180deg)]"], - }; - const self = rotationClass[rotate]; + x: ["group-hover/card:rotate-x-180", "rotate-x-180"], + y: ["group-hover/card:rotate-y-180", "rotate-y-180"], + } as const; return ( - <div className={cn("group h-72 w-56 [perspective:1000px]", className)} {...props}> + <div className={cn("group/card h-72 w-56 perspective-[1000px]", className)} {...props}> <div className={cn( - "relative h-full rounded-2xl transition-all duration-500 [transform-style:preserve-3d]", - self[0], + "relative h-full rounded-2xl transition duration-500 transform-3d", + rotationClass[rotate][0], )} > {/* Front */} - <div className="absolute h-full w-full [backface-visibility:hidden]"> + <div className="absolute inset-0 backface-hidden"> <img src={image} alt="image" @@ -40,18 +39,17 @@ export default function FlipCard({ /> <div className="absolute bottom-4 left-4 text-xl font-bold text-white">{title}</div> </div> - {/* Back */} <div className={cn( - "absolute h-full w-full rounded-2xl bg-black/80 p-4 text-slate-200 [backface-visibility:hidden]", - self[1], + "absolute inset-0 rounded-2xl bg-black/80 p-4 text-slate-200 backface-hidden", + rotationClass[rotate][1], )} > <div className="flex min-h-full flex-col gap-2"> - <h1 className="text-xl font-bold text-white">{subtitle}</h1> + <h1 className="text-base font-bold text-white">{subtitle}</h1> <p className="mt-1 border-t border-t-gray-200 py-4 text-base font-medium leading-normal text-gray-100"> - {description}{" "} + {description} </p> </div> </div> diff --git a/animata/card/fluid-tabs.stories.tsx b/animata/card/fluid-tabs.stories.tsx index 6f814c98..65588288 100644 --- a/animata/card/fluid-tabs.stories.tsx +++ b/animata/card/fluid-tabs.stories.tsx @@ -1,8 +1,8 @@ +import type { Meta, StoryObj } from "@storybook/react"; import FluidTabs from "@/animata/card/fluid-tabs"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { - title: "Tabs/Fluid Tabs", + title: "Card/Fluid Tabs", component: FluidTabs, parameters: { layout: "centered", diff --git a/animata/card/fluid-tabs.tsx b/animata/card/fluid-tabs.tsx index b4b03b99..4b004349 100644 --- a/animata/card/fluid-tabs.tsx +++ b/animata/card/fluid-tabs.tsx @@ -1,8 +1,8 @@ "use client"; -import { useEffect, useRef, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { Inbox, Landmark, PieChart } from "lucide-react"; +import { AnimatePresence, motion } from "motion/react"; +import { useEffect, useRef, useState } from "react"; const tabs = [ { diff --git a/animata/card/github-card-shiny.stories.tsx b/animata/card/github-card-shiny.stories.tsx index 7577ff6c..b3ac1818 100644 --- a/animata/card/github-card-shiny.stories.tsx +++ b/animata/card/github-card-shiny.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GithubCardShiny from "@/animata/card/github-card-shiny"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Github Card Shiny", diff --git a/animata/card/github-card-shiny.tsx b/animata/card/github-card-shiny.tsx index 970805ac..a7ba8226 100644 --- a/animata/card/github-card-shiny.tsx +++ b/animata/card/github-card-shiny.tsx @@ -1,5 +1,5 @@ -import { useCallback, useRef } from "react"; import { CheckCircle2 } from "lucide-react"; +import { useCallback, useRef } from "react"; import { useMousePosition } from "@/hooks/use-mouse-position"; import { cn } from "@/lib/utils"; @@ -27,14 +27,14 @@ export default function GithubCardShiny({ className }: { className?: string }) { <div ref={containerRef} className={cn( - "group relative w-96 min-w-fit max-w-full overflow-hidden rounded-md border border-border bg-zinc-700 p-6 text-zinc-200 shadow-lg", + "group/shiny relative w-96 min-w-fit max-w-full overflow-hidden rounded-md border border-border bg-zinc-700 p-6 text-zinc-200 shadow-lg", className, )} > <div ref={overlayRef} // Adjust height & width as required - className="-z-1 absolute h-64 w-64 rounded-full bg-white opacity-0 bg-blend-soft-light blur-3xl transition-opacity group-hover:opacity-20" + className="z-0 absolute h-64 w-64 rounded-full bg-white opacity-0 bg-blend-soft-light blur-3xl transition-opacity group-hover/shiny:opacity-20" style={{ transform: "translate(var(--x), var(--y))", }} @@ -62,12 +62,10 @@ export default function GithubCardShiny({ className }: { className?: string }) { ].map((step) => { return ( <div className="flex w-full items-center gap-2" key={step.title}> - <CheckCircle2 className="flex-shrink-0 fill-green-400 text-zinc-600" /> - <strong className="text-xs md:flex-shrink-0 md:text-base">{step.title}</strong> + <CheckCircle2 className="shrink-0 fill-green-400 text-zinc-600" /> + <strong className="text-xs md:shrink-0 md:text-base">{step.title}</strong> - <span className="ml-auto inline-block flex-shrink-0 text-xs opacity-75"> - {step.time} - </span> + <span className="ml-auto inline-block shrink-0 text-xs opacity-75">{step.time}</span> </div> ); })} diff --git a/animata/card/github-card-skew.stories.tsx b/animata/card/github-card-skew.stories.tsx index 5997672a..6cacfc55 100644 --- a/animata/card/github-card-skew.stories.tsx +++ b/animata/card/github-card-skew.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GithubCardSkew from "@/animata/card/github-card-skew"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Github Card Skew", diff --git a/animata/card/github-card-skew.tsx b/animata/card/github-card-skew.tsx index a4d28b49..600df3d1 100644 --- a/animata/card/github-card-skew.tsx +++ b/animata/card/github-card-skew.tsx @@ -23,9 +23,9 @@ function calculateCardRotation({ const deltaY = currentY - centerY; // Calculate the maximum distance (assuming a rectangular area) - const maxDistance = Math.sqrt(Math.pow(centerX, 2) + Math.pow(centerY, 2)); + const maxDistance = Math.sqrt(centerX ** 2 + centerY ** 2); // Calculate the actual distance - const distance = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); + const distance = Math.sqrt(deltaX ** 2 + deltaY ** 2); // Calculate the rotation factor (0 to 1) const rotationFactor = distance / maxDistance; @@ -37,7 +37,7 @@ function calculateCardRotation({ export default function GithubCardSkew({ className }: { className?: string }) { const containerRef = useRef<HTMLDivElement>(null); - const resetRef = useRef<NodeJS.Timeout>(); + const resetRef = useRef<NodeJS.Timeout>(undefined); const update = useCallback(({ x, y }: { x: number; y: number }) => { if (!containerRef.current) { @@ -63,7 +63,7 @@ export default function GithubCardSkew({ className }: { className?: string }) { <div ref={containerRef} className={cn( - "flex max-w-80 transform-gpu flex-col gap-4 rounded-3xl border border-border bg-zinc-700 p-10 text-zinc-200 shadow-lg transition-transform ease-linear will-change-transform", + "flex max-w-80 flex-col gap-4 rounded-3xl border border-border bg-zinc-700 p-10 text-zinc-200 shadow-lg transition-transform ease-linear will-change-transform", className, )} style={{ diff --git a/animata/card/glowing-card.stories.tsx b/animata/card/glowing-card.stories.tsx index ccdf792d..11cd19c8 100644 --- a/animata/card/glowing-card.stories.tsx +++ b/animata/card/glowing-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GlowingCard from "@/animata/card/glowing-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Glowing Card", diff --git a/animata/card/glowing-card.tsx b/animata/card/glowing-card.tsx index 290e474c..963e127a 100644 --- a/animata/card/glowing-card.tsx +++ b/animata/card/glowing-card.tsx @@ -1,4 +1,5 @@ -import React from "react"; +import type React from "react"; + interface GlowCardProps extends React.HTMLAttributes<HTMLDivElement> { /** * Starting gradient color. @@ -21,20 +22,20 @@ export default function GlowingCard({ }: GlowCardProps) { return ( <div - className="rounded-3xl bg-gradient-to-r p-0.5 hover:shadow-glow hover:brightness-150" + className="rounded-3xl bg-linear-to-r p-0.5 hover:shadow-glow hover:brightness-150" style={{ transition: " box-shadow 0.5s ease", backgroundImage: `linear-gradient(to right, ${fromColor}, ${viaColor}, ${toColor})`, }} > <div - className="blur-20 inset-0 h-full w-full rounded-3xl bg-gradient-to-r from-[#4158D0] via-[#C850C0] to-[#FFCC70]" + className="blur-20 inset-0 h-full w-full rounded-3xl bg-linear-to-r from-[#4158D0] via-[#C850C0] to-[#FFCC70]" style={{ transition: "filter 0.5s ease" }} /> <div className="flex h-64 w-56 flex-col gap-2 rounded-3xl bg-blue-950 p-4"> <div className="mb-2 text-xl font-bold text-gray-50">Glowing</div> - <div className="flex-1 text-sm font-medium text-gray-100 text-opacity-80"> + <div className="flex-1 text-sm font-medium text-gray-100/80"> A glowing card is a card that glows. </div> </div> diff --git a/animata/card/integration-pills.stories.tsx b/animata/card/integration-pills.stories.tsx index 8745fc66..947dbd79 100644 --- a/animata/card/integration-pills.stories.tsx +++ b/animata/card/integration-pills.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import IntegrationPills from "@/animata/card/integration-pills"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Integration pills", diff --git a/animata/card/integration-pills.tsx b/animata/card/integration-pills.tsx index 2f65fb95..b02a800f 100644 --- a/animata/card/integration-pills.tsx +++ b/animata/card/integration-pills.tsx @@ -1,70 +1,68 @@ -import React from "react"; - import { cn } from "@/lib/utils"; const brands = [ { name: "Shopify", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "RSS", className: "bg-gray-200 font-bold", hoverClass: - "group-hover:border-blue-500 group-hover:text-blue-500 group-hover:bg-white group-hover:border-2", + "group-hover/pills:border-blue-500 group-hover/pills:text-blue-500 group-hover/pills:bg-white group-hover/pills:border-2", }, { name: "Zapier", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "Slack", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "Webflow", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "Squarespace", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "Twitter", className: "bg-gray-200 font-bold", hoverClass: - "group-hover:border-green-500 group-hover:text-green-500 group-hover:bg-white group-hover:border-2", + "group-hover/pills:border-green-500 group-hover/pills:text-green-500 group-hover/pills:bg-white group-hover/pills:border-2", }, { name: "TikTok", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "n8n", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "BuySellAds", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, { name: "Mastodon", className: "bg-gray-200 font-bold", hoverClass: - "group-hover:border-purple-500 group-hover:text-purple-500 group-hover:bg-white group-hover:border-2", + "group-hover/pills:border-purple-500 group-hover/pills:text-purple-500 group-hover/pills:bg-white group-hover/pills:border-2", }, { name: "Gumroad", className: "bg-gray-200", - hoverClass: "group-hover:scale-75 group-hover:text-gray-500", + hoverClass: "group-hover/pills:scale-75 group-hover/pills:text-gray-500", }, ]; @@ -72,7 +70,7 @@ export default function IntegrationPills() { return ( <div className="flex justify-center py-10"> {/* Rectangular box around all cards */} - <div className="group flex w-full max-w-lg flex-wrap justify-center rounded-xl border-2 border-gray-400 bg-gray-50 px-2 py-6 shadow-2xl transition-all duration-300 ease-in-out hover:bg-white hover:shadow-2xl"> + <div className="group/pills flex w-full max-w-lg flex-wrap justify-center rounded-xl border-2 border-gray-400 bg-gray-50 px-2 py-6 shadow-2xl transition duration-300 ease-in-out hover:bg-white hover:shadow-2xl"> {brands.map((brand, index) => ( <div key={index} diff --git a/animata/card/led-board.stories.tsx b/animata/card/led-board.stories.tsx index 5d8a2199..b4f885a1 100644 --- a/animata/card/led-board.stories.tsx +++ b/animata/card/led-board.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import LedBoard from "@/animata/card/led-board"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Led Board", diff --git a/animata/card/led-board.tsx b/animata/card/led-board.tsx index c42fb76c..a6de5b3d 100644 --- a/animata/card/led-board.tsx +++ b/animata/card/led-board.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; @@ -207,7 +207,7 @@ export default function LEDBoard({ return ( <div - className="group rounded-xl border border-gray-600 bg-gradient-to-bl from-zinc-950/80 via-zinc-900 via-30% to-zinc-950 to-75% p-4 dark:border-zinc-800" + className="group/led rounded-xl border border-gray-600 bg-linear-to-bl from-zinc-950/80 via-zinc-900 via-30% to-zinc-950 to-75% p-4 dark:border-zinc-800" onMouseEnter={() => setIsHovering(true)} onMouseLeave={() => setIsHovering(false)} > @@ -236,8 +236,8 @@ export default function LEDBoard({ animationDuration: "2000ms", animationDelay: `${delay}ms`, }} - className={cn("fill-zinc-800 transition-all duration-200 ease-in-out", { - "group-hover:fill-purple-500": isLit, + className={cn("fill-zinc-800 transition duration-200 ease-in-out", { + "group-hover/led:fill-purple-500": isLit, "animate-led ease-in-out": shouldAnimate, })} /> diff --git a/animata/card/notice-card.stories.tsx b/animata/card/notice-card.stories.tsx index fcb2b02d..77e24097 100644 --- a/animata/card/notice-card.stories.tsx +++ b/animata/card/notice-card.stories.tsx @@ -1,35 +1,31 @@ -import NoticeCard from "@/animata/card/notice-card"; -import { Meta, StoryObj } from "@storybook/react"; - -const meta = { - title: "Card/Notice Card", - component: NoticeCard, - parameters: { - layout: "centered", - }, - tags: ["autodocs"], - argTypes: { - acceptText: { control: "text" }, - title: { control: "text" }, - description: { control: "text" }, - }, -} satisfies Meta<typeof NoticeCard>; - -export default meta; -type Story = StoryObj<typeof meta>; - -export const Primary: Story = { - args: { - acceptText: "Accept", - title: "To your attention!", - description: - "Due to severe weather conditions, we will be closed from 11th to 14th of January.", - }, - render: (args) => { - return ( - <> - <NoticeCard {...args} /> - </> - ); - }, -}; +import type { Meta, StoryObj } from "@storybook/react"; +import NoticeCard from "@/animata/card/notice-card"; + +const meta = { + title: "Card/Notice Card", + component: NoticeCard, + parameters: { + layout: "centered", + }, + tags: ["autodocs"], + argTypes: { + acceptText: { control: "text" }, + title: { control: "text" }, + description: { control: "text" }, + }, +} satisfies Meta<typeof NoticeCard>; + +export default meta; +type Story = StoryObj<typeof meta>; + +export const Primary: Story = { + args: { + acceptText: "Accept", + title: "To your attention!", + description: + "Due to severe weather conditions, we will be closed from 11th to 14th of January.", + }, + render: (args) => { + return <NoticeCard {...args} />; + }, +}; diff --git a/animata/card/notice-card.tsx b/animata/card/notice-card.tsx index 92d798d7..d8e5a3da 100644 --- a/animata/card/notice-card.tsx +++ b/animata/card/notice-card.tsx @@ -1,114 +1,114 @@ -import { useState } from "react"; -import { motion } from "framer-motion"; - -import { cn } from "@/lib/utils"; - -interface NoticeCardProps { - acceptText?: string; - title?: string; - description?: string; -} - -export default function NoticeCard({ - acceptText = "Accept", - title = "To your attention!", - description = "Due to severe weather conditions, we will be closed from 11th to 14th of January.", -}: NoticeCardProps) { - const [isAccepted, setIsAccepted] = useState<boolean>(false); - - const handleClick = () => { - setIsAccepted(!isAccepted); - }; - - const bgClass = isAccepted - ? "bg-green-300" - : "bg-gradient-to-r from-slate-50 via-slate-50 to-green-100"; - - return ( - <div className="flex items-center justify-center"> - {/* Outer container with breathing scaling effect */} - <div className="relative max-w-md p-2"> - {/* Mid-level static container */} - <motion.div - className="absolute inset-0 rounded-3xl bg-white shadow-xl" - animate={{ scale: isAccepted ? 0.97 : 1 }} - transition={{ - duration: 0.5, - ease: "easeInOut", - repeat: 1, - repeatType: "reverse", - }} - /> - - {/* Stable inner content */} - <div className="relative z-10 rounded-3xl p-6 text-center shadow-md" onClick={handleClick}> - <div className="flex min-w-36 flex-col items-center"> - {/* Icon */} - <div> - <svg - className="h-10 w-10" - xmlns="http://www.w3.org/2000/svg" - fill="#000" - viewBox="0 0 246.027 246.027" - stroke="#fff" - > - <path - d="M242.751,196.508L143.937,25.358c-4.367-7.564-12.189-12.081-20.924-12.081c-8.735,0-16.557,4.516-20.924,12.081 - L3.276,196.508c-4.368,7.564-4.368,16.596,0,24.161s12.189,12.081,20.924,12.081h197.629c8.734,0,16.556-4.516,20.923-12.08 - C247.119,213.105,247.118,204.073,242.751,196.508z M123.014,204.906c-8.672,0-15.727-7.055-15.727-15.727 - c0-8.671,7.055-15.726,15.727-15.726s15.727,7.055,15.727,15.726C138.74,197.852,131.685,204.906,123.014,204.906z M138.847,137.68 - c0,8.73-7.103,15.833-15.833,15.833s-15.833-7.103-15.833-15.833V65.013c0-4.142,3.358-7.5,7.5-7.5h16.667 - c4.143,0,7.5,3.358,7.5,7.5V137.68z" - /> - </svg> - </div> - - {/* Title */} - <h2 className="mt-2 text-xl font-bold">{title}</h2> - - {/* Description */} - <p className="mt-2 text-gray-600">{description}</p> - - {/* Toggle Button */} - <div - className={cn( - "relative mt-4 flex h-12 w-4/5 cursor-pointer items-center rounded-xl px-2 py-1 transition-colors duration-300", - bgClass, - )} - > - {/* Toggle Handle */} - <div - className={`h-10 w-1/2 transform rounded-lg bg-white shadow-lg drop-shadow-md transition-transform duration-500 ${ - isAccepted ? "translate-x-full" : "" - }`} - ></div> - - {/* Accept Text */} - <span - className={`absolute right-4 transform font-bold text-green-800 transition-transform duration-500 ${ - isAccepted ? "opacity-0" : "opacity-100" - }`} - > - <svg - className="mr-1 inline-block h-5 w-5" - xmlns="http://www.w3.org/2000/svg" - fill="#000" - viewBox="0 0 48 48" - stroke="currentColor" - > - <path - strokeLinecap="round" - strokeLinejoin="round" - strokeWidth="2" - d="m24 8-2.83 2.83L32.34 22H8v4h24.34L21.17 37.17 24 40l16-16z" - /> - </svg> - {acceptText} - </span> - </div> - </div> - </div> - </div> - </div> - ); -} +import { motion } from "motion/react"; +import { useState } from "react"; + +import { cn } from "@/lib/utils"; + +interface NoticeCardProps { + acceptText?: string; + title?: string; + description?: string; +} + +export default function NoticeCard({ + acceptText = "Accept", + title = "To your attention!", + description = "Due to severe weather conditions, we will be closed from 11th to 14th of January.", +}: NoticeCardProps) { + const [isAccepted, setIsAccepted] = useState<boolean>(false); + + const handleClick = () => { + setIsAccepted(!isAccepted); + }; + + const bgClass = isAccepted + ? "bg-green-300" + : "bg-linear-to-r from-slate-50 via-slate-50 to-green-100"; + + return ( + <div className="flex items-center justify-center"> + {/* Outer container with breathing scaling effect */} + <div className="relative max-w-md p-2"> + {/* Mid-level static container */} + <motion.div + className="absolute inset-0 rounded-3xl bg-white shadow-xl" + animate={{ scale: isAccepted ? 0.97 : 1 }} + transition={{ + duration: 0.5, + ease: "easeInOut", + repeat: 1, + repeatType: "reverse", + }} + /> + + {/* Stable inner content */} + <div className="relative z-10 rounded-3xl p-6 text-center shadow-md" onClick={handleClick}> + <div className="flex min-w-36 flex-col items-center"> + {/* Icon */} + <div> + <svg + className="h-10 w-10" + xmlns="http://www.w3.org/2000/svg" + fill="#000" + viewBox="0 0 246.027 246.027" + stroke="#fff" + > + <path + d="M242.751,196.508L143.937,25.358c-4.367-7.564-12.189-12.081-20.924-12.081c-8.735,0-16.557,4.516-20.924,12.081 + L3.276,196.508c-4.368,7.564-4.368,16.596,0,24.161s12.189,12.081,20.924,12.081h197.629c8.734,0,16.556-4.516,20.923-12.08 + C247.119,213.105,247.118,204.073,242.751,196.508z M123.014,204.906c-8.672,0-15.727-7.055-15.727-15.727 + c0-8.671,7.055-15.726,15.727-15.726s15.727,7.055,15.727,15.726C138.74,197.852,131.685,204.906,123.014,204.906z M138.847,137.68 + c0,8.73-7.103,15.833-15.833,15.833s-15.833-7.103-15.833-15.833V65.013c0-4.142,3.358-7.5,7.5-7.5h16.667 + c4.143,0,7.5,3.358,7.5,7.5V137.68z" + /> + </svg> + </div> + + {/* Title */} + <h2 className="mt-2 text-xl font-bold">{title}</h2> + + {/* Description */} + <p className="mt-2 text-gray-600">{description}</p> + + {/* Toggle Button */} + <div + className={cn( + "relative mt-4 flex h-12 w-4/5 cursor-pointer items-center rounded-xl px-2 py-1 transition-colors duration-300", + bgClass, + )} + > + {/* Toggle Handle */} + <div + className={`h-10 w-1/2 transform rounded-lg bg-white shadow-lg drop-shadow-md transition-transform duration-500 ${ + isAccepted ? "translate-x-full" : "" + }`} + ></div> + + {/* Accept Text */} + <span + className={`absolute right-4 transform font-bold text-green-800 transition-transform duration-500 ${ + isAccepted ? "opacity-0" : "opacity-100" + }`} + > + <svg + className="mr-1 inline-block h-5 w-5" + xmlns="http://www.w3.org/2000/svg" + fill="#000" + viewBox="0 0 48 48" + stroke="currentColor" + > + <path + strokeLinecap="round" + strokeLinejoin="round" + strokeWidth="2" + d="m24 8-2.83 2.83L32.34 22H8v4h24.34L21.17 37.17 24 40l16-16z" + /> + </svg> + {acceptText} + </span> + </div> + </div> + </div> + </div> + </div> + ); +} diff --git a/animata/card/notification-card.stories.tsx b/animata/card/notification-card.stories.tsx index ebb90c07..ce199f49 100644 --- a/animata/card/notification-card.stories.tsx +++ b/animata/card/notification-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import NotificationCard from "@/animata/card/notification-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Notification Card", diff --git a/animata/card/notification-card.tsx b/animata/card/notification-card.tsx index d0237ae2..f2524ab4 100644 --- a/animata/card/notification-card.tsx +++ b/animata/card/notification-card.tsx @@ -1,5 +1,5 @@ -import React from "react"; -import { motion } from "framer-motion"; +import { motion } from "motion/react"; +import type React from "react"; interface UserInfoProps { name: string; diff --git a/animata/card/notify-user-info.stories.tsx b/animata/card/notify-user-info.stories.tsx index 32894144..d8e80b21 100644 --- a/animata/card/notify-user-info.stories.tsx +++ b/animata/card/notify-user-info.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import NotifyUserInfo from "@/animata/card/notify-user-info"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Notify User Info", diff --git a/animata/card/notify-user-info.tsx b/animata/card/notify-user-info.tsx index b3cd9a11..2a17dd35 100644 --- a/animata/card/notify-user-info.tsx +++ b/animata/card/notify-user-info.tsx @@ -1,6 +1,5 @@ "use client"; -import React from "react"; -import { motion } from "framer-motion"; +import { motion } from "motion/react"; interface NotificationCardProps { aiName?: string; diff --git a/animata/card/reminder-scheduler.stories.tsx b/animata/card/reminder-scheduler.stories.tsx index e67ce647..e6acf822 100644 --- a/animata/card/reminder-scheduler.stories.tsx +++ b/animata/card/reminder-scheduler.stories.tsx @@ -1,7 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { useState } from "react"; - import ReminderScheduler from "@/animata/card/reminder-scheduler"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Reminder Scheduler", diff --git a/animata/card/reminder-scheduler.tsx b/animata/card/reminder-scheduler.tsx index 94aee3df..424158f1 100644 --- a/animata/card/reminder-scheduler.tsx +++ b/animata/card/reminder-scheduler.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState } from "react"; +import type React from "react"; +import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; @@ -35,7 +36,7 @@ const ReminderScheduler: React.FC<ReminderSchedulerProps> = ({ disabled={!isRepeating} value={repeatInterval} onChange={(e) => setRepeatInterval(e.target.value)} - className="focus:ring-border-gray-100 mt-2 block w-[70%] rounded-xl border border-gray-100 bg-white px-3 py-3 font-bold text-black shadow-sm focus:border-gray-100 focus:outline-none" + className="focus:ring-border-gray-100 mt-2 block w-[70%] rounded-xl border border-gray-100 bg-white px-3 py-3 font-bold text-black shadow-sm focus:border-gray-100 focus:outline-hidden" > <option value="Daily">Daily</option> <option value="Weekly">Weekly</option> @@ -67,7 +68,7 @@ const Switch = ({ toggle, value }: { toggle: () => void; value: boolean }) => { return ( <label className="inline-flex cursor-pointer items-center"> <input checked={value} type="checkbox" className="peer sr-only" onChange={toggle} /> - <div className="rtl:peer-checked:after:-translate-x-[unset] peer relative h-8 w-[53px] rounded-full bg-gray-200 transition-colors duration-500 after:absolute after:start-[5px] after:top-[4px] after:h-6 after:w-6 after:rounded-full after:border after:border-white after:bg-white after:transition-all after:duration-300 after:content-[''] peer-checked:bg-[#95ef90] peer-checked:after:translate-x-[19px] peer-checked:after:border-white"></div> + <div className="rtl:peer-checked:after:-translate-x-[unset] peer relative h-8 w-[53px] rounded-full bg-gray-200 transition-colors duration-500 after:absolute after:start-[5px] after:top-[4px] after:h-6 after:w-6 after:rounded-full after:border after:border-white after:bg-white after:transition after:duration-300 after:content-[''] peer-checked:bg-[#95ef90] peer-checked:after:translate-x-[19px] peer-checked:after:border-white"></div> </label> ); }; @@ -111,19 +112,22 @@ function SwapText({ clearTimeout(timeoutId); // clear the timeout when component unmounts }; }, [check]); - const common = "block transition-all duration-1000 ease-slow"; + const common = "block transition duration-1000 ease-slow"; const longWord = finalText.length > initialText.length ? finalText : null; return ( <div {...props} className={cn("relative overflow-hidden text-foreground", className)}> <div - className={cn("group cursor-pointer select-none text-3xl font-bold", textClassName)} + className={cn( + "group/reminder cursor-pointer select-none text-3xl font-bold", + textClassName, + )} onClick={() => !disableClick && setActive((current) => !current)} > <span className={cn(common, initialTextClassName, { "flex flex-col": true, "-translate-y-full": active, - "group-hover:-translate-y-full": supportsHover, + "group-hover/reminder:-translate-y-full": supportsHover, })} > {initialText} @@ -132,7 +136,7 @@ function SwapText({ <span className={cn(`${common} absolute top-full`, finalTextClassName, { "-translate-y-full": active, - "group-hover:-translate-y-full": supportsHover, + "group-hover/reminder:-translate-y-full": supportsHover, })} > {finalText} diff --git a/animata/card/score-card.stories.tsx b/animata/card/score-card.stories.tsx index 234ae686..45c4c114 100644 --- a/animata/card/score-card.stories.tsx +++ b/animata/card/score-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Scorecard from "@/animata/card/score-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Score Card", diff --git a/animata/card/score-card.tsx b/animata/card/score-card.tsx index 65b9d826..8b853f05 100644 --- a/animata/card/score-card.tsx +++ b/animata/card/score-card.tsx @@ -1,5 +1,5 @@ -import React, { useState } from "react"; -import { motion } from "framer-motion"; +import { motion } from "motion/react"; +import { useState } from "react"; interface Team { name: string; diff --git a/animata/card/staggered-card.stories.tsx b/animata/card/staggered-card.stories.tsx index f39f4079..0e431c68 100644 --- a/animata/card/staggered-card.stories.tsx +++ b/animata/card/staggered-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import StaggeredCard from "@/animata/card/staggered-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Staggered Card", @@ -30,5 +30,7 @@ export const Primary: Story = { { label: "Contact", href: "#" }, { label: "Careers", href: "#" }, ], + delay: 0.06, + openingDelay: 0.1, }, }; diff --git a/animata/card/staggered-card.tsx b/animata/card/staggered-card.tsx index 2cea5f30..abc19edd 100644 --- a/animata/card/staggered-card.tsx +++ b/animata/card/staggered-card.tsx @@ -1,5 +1,5 @@ +import { AnimatePresence, motion } from "motion/react"; import { useRef, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -28,7 +28,7 @@ export default function StaggeredCard({ openingDelay = 0.1, ...props }: StaggeredCardProps) { - const easeOut = [0, 0, 0.2, 1]; + const easeOut: [number, number, number, number] = [0, 0, 0.2, 1]; const [open, setOpen] = useState(false); const [hoverRect, setHoverRect] = useState<DOMRect | null>(null); diff --git a/animata/card/subscribe-card.stories.tsx b/animata/card/subscribe-card.stories.tsx index ee2f016a..3d08e7ba 100644 --- a/animata/card/subscribe-card.stories.tsx +++ b/animata/card/subscribe-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SubscribeCard from "@/animata/card/subscribe-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Subscribe Card", @@ -15,5 +15,9 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + title: "Want to read the rest?", + placeholder: "justin@buttondown.email", + buttonText: "Subscribe for $5/mo", + }, }; diff --git a/animata/card/subscribe-card.tsx b/animata/card/subscribe-card.tsx index d8bb5d35..1bceae46 100644 --- a/animata/card/subscribe-card.tsx +++ b/animata/card/subscribe-card.tsx @@ -20,10 +20,10 @@ export default function SubscribeCard({ <div className="flex flex-col gap-2 px-4"> <Input placeholder={placeholder} className="rounded-none bg-gray-100" /> <Button - className="group relative cursor-pointer bg-gray-500 text-white transition-all duration-300 hover:bg-green-600" + className="group/subscribe relative cursor-pointer bg-gray-500 text-white transition duration-300 hover:bg-green-600" aria-label={buttonText} > - <Check className="absolute left-3 opacity-0 transition-opacity duration-300 group-hover:opacity-100" /> + <Check className="absolute left-3 opacity-0 transition-opacity duration-300 group-hover/subscribe:opacity-100" /> <p className="pl-4 hover:font-bold">{buttonText}</p> </Button> </div> diff --git a/animata/card/survey-card.stories.tsx b/animata/card/survey-card.stories.tsx index b5bb1727..5eb7244a 100644 --- a/animata/card/survey-card.stories.tsx +++ b/animata/card/survey-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SurveyCard from "@/animata/card/survey-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Survey Card", diff --git a/animata/card/survey-card.tsx b/animata/card/survey-card.tsx index 8e086a49..e1c7292d 100644 --- a/animata/card/survey-card.tsx +++ b/animata/card/survey-card.tsx @@ -35,7 +35,7 @@ export default function SurveyCard({ items, width: providedWidth, surveyTitle }: setSize({ width: providedWidth ?? containerRef.current?.offsetWidth ?? 250, }); - }, [providedWidth, items]); + }, [providedWidth]); const [isParentHovered, setIsParentHovered] = useState(false); @@ -70,7 +70,7 @@ export default function SurveyCard({ items, width: providedWidth, surveyTitle }: className={cn("flex w-full items-center justify-between")} > <div - className={cn("duration-600 flex h-6 justify-start rounded-full transition-all", { + className={cn("duration-600 flex h-6 justify-start rounded-full transition", { "animate-pulse bg-slate-300": !isParentHovered, "bg-green-600": isParentHovered && maxVote === item.vote, "bg-slate-400": isParentHovered && maxVote !== item.vote, diff --git a/animata/card/swap-card.stories.tsx b/animata/card/swap-card.stories.tsx index 1a07d09b..9966135d 100644 --- a/animata/card/swap-card.stories.tsx +++ b/animata/card/swap-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SwapCard from "@/animata/card/swap-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Swap Card", diff --git a/animata/card/swap-card.tsx b/animata/card/swap-card.tsx index 65b87efb..0d965aa9 100644 --- a/animata/card/swap-card.tsx +++ b/animata/card/swap-card.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState } from "react"; import { LaptopMinimal, LocateOff } from "lucide-react"; +import { useState } from "react"; import FlipCard from "@/animata/card/flip-card"; import WaveReveal from "@/animata/text/wave-reveal"; diff --git a/animata/card/swap-text-card.stories.tsx b/animata/card/swap-text-card.stories.tsx index 85ea3585..0dded85e 100644 --- a/animata/card/swap-text-card.stories.tsx +++ b/animata/card/swap-text-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SwapTextCard from "@/animata/card/swap-text-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Swap Text Card", diff --git a/animata/card/swap-text-card.tsx b/animata/card/swap-text-card.tsx index 2b8d6a0e..60187360 100644 --- a/animata/card/swap-text-card.tsx +++ b/animata/card/swap-text-card.tsx @@ -7,7 +7,7 @@ interface FlipTextCardProps { export default function SwapTextCard({ initialText, finalText }: FlipTextCardProps) { return ( - <div className="group flex min-h-64 w-full flex-col justify-between rounded-3xl bg-gray-100 p-6 md:max-w-[500px]"> + <div className="group/swap flex min-h-64 w-full flex-col justify-between rounded-3xl bg-gray-100 p-6 md:max-w-[500px]"> <h5 className="mb-2 text-sm font-medium uppercase tracking-wide text-gray-500">Animata</h5> <div className="flex flex-col justify-between md:min-w-72"> <div className="md:hidden"> @@ -20,8 +20,8 @@ export default function SwapTextCard({ initialText, finalText }: FlipTextCardPro disableClick // Set min height so that all the text content fits // use -mb-7 to hide the extra space when not active - className="-mb-7 hidden min-h-20 w-3/4 transition-all duration-200 group-hover:mb-0 md:flex md:flex-col" - initialTextClassName="text-lg group-hover:opacity-0 h-full duration-200 font-semibold text-black" + className="-mb-7 hidden min-h-20 w-3/4 transition duration-200 group-hover/swap:mb-0 md:flex md:flex-col" + initialTextClassName="text-lg group-hover/swap:opacity-0 h-full duration-200 font-semibold text-black" finalTextClassName="text-sm h-full duration-200 font-medium text-gray-500" /> </div> diff --git a/animata/card/tilted-card.stories.tsx b/animata/card/tilted-card.stories.tsx index b0cc77f9..5e418337 100644 --- a/animata/card/tilted-card.stories.tsx +++ b/animata/card/tilted-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TiltedCard from "@/animata/card/tilted-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Tilted Card", diff --git a/animata/card/tilted-card.tsx b/animata/card/tilted-card.tsx index 721fab32..0a904da7 100644 --- a/animata/card/tilted-card.tsx +++ b/animata/card/tilted-card.tsx @@ -7,11 +7,11 @@ export default function TiltCard({ title, className }: TiltCardProps) { return ( <div className={cn( - "max-h-fit transform rounded-full border-2 border-gray-200 bg-gray-200 p-2 px-6 transition-all duration-500 ease-out hover:-rotate-2 hover:scale-110 hover:text-white hover:shadow-xl", + "max-h-fit transform rounded-full border-2 border-gray-200 bg-gray-200 p-2 px-6 transition duration-500 ease-out hover:-rotate-2 hover:scale-110 hover:text-background hover:shadow-xl", className, )} > - <a className="text-xl">{title}</a> + <span className="text-xl text-background">{title}</span> </div> ); } diff --git a/animata/card/webhooks-card.stories.tsx b/animata/card/webhooks-card.stories.tsx index 290d2127..a9a3b86a 100644 --- a/animata/card/webhooks-card.stories.tsx +++ b/animata/card/webhooks-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { WebHooks } from "@/animata/card/WebHooks-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Web Hooks", diff --git a/animata/carousel/expandable.stories.tsx b/animata/carousel/expandable.stories.tsx index aba719d8..ba140995 100644 --- a/animata/carousel/expandable.stories.tsx +++ b/animata/carousel/expandable.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Expandable from "@/animata/carousel/expandable"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Carousel/Expandable", @@ -16,6 +16,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + autoPlay: true, className: "w-full min-w-72 storybook-fix", }, }; diff --git a/animata/carousel/expandable.tsx b/animata/carousel/expandable.tsx index 195bcd48..c6c861ae 100644 --- a/animata/carousel/expandable.tsx +++ b/animata/carousel/expandable.tsx @@ -1,4 +1,4 @@ -import { HTMLAttributes, useEffect, useState } from "react"; +import { type HTMLAttributes, useEffect, useState } from "react"; import WaveReveal from "@/animata/text/wave-reveal"; import { cn } from "@/lib/utils"; @@ -19,9 +19,9 @@ const List = ({ item, className, index, activeItem, ...props }: ImageProps) => { return ( <div className={cn( - "relative flex h-full w-20 min-w-10 cursor-pointer overflow-hidden rounded-md transition-all delay-0 duration-300 ease-in-out", + "relative flex h-full w-20 min-w-10 cursor-pointer overflow-hidden rounded-md transition delay-0 duration-300 ease-in-out", { - "flex-grow": index === activeItem, + grow: index === activeItem, }, className, )} diff --git a/animata/carousel/image-carousel.stories.tsx b/animata/carousel/image-carousel.stories.tsx index e4b1c3cc..8636ce0e 100644 --- a/animata/carousel/image-carousel.stories.tsx +++ b/animata/carousel/image-carousel.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ImageCarousel from "@/animata/carousel/image-carousel"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Carousel/Image Carousel", diff --git a/animata/carousel/image-carousel.tsx b/animata/carousel/image-carousel.tsx index 35eb2ab2..5f1e5c80 100644 --- a/animata/carousel/image-carousel.tsx +++ b/animata/carousel/image-carousel.tsx @@ -1,5 +1,6 @@ -import React, { useState } from "react"; import { ChevronLeft, ChevronRight } from "lucide-react"; +import { useState } from "react"; + interface ICarouselItem { id: number; title: string; @@ -29,13 +30,13 @@ export default function ImageCarousel({ items: initialItems }: IImageCarouselPro <div className="carousel-container relative h-[500px] w-[600px] overflow-hidden rounded-2xl border-2 border-gray-200 bg-white p-2"> <div onClick={handlePrev} - className="navigation-item-left absolute left-0 top-[50%] z-20 flex h-10 w-10 translate-y-[-50%] cursor-pointer items-center justify-center rounded-lg bg-gray-400 bg-opacity-40 bg-clip-padding backdrop-blur-sm backdrop-filter" + className="navigation-item-left absolute left-0 top-[50%] z-20 flex h-10 w-10 translate-y-[-50%] cursor-pointer items-center justify-center rounded-lg bg-gray-400/40 bg-clip-padding backdrop-blur-sm backdrop-filter" > <ChevronLeft className="text-gray-800" /> </div> <div onClick={handleNext} - className="navigation-item-right absolute right-0 top-[50%] z-20 flex h-10 w-10 translate-y-[-50%] cursor-pointer items-center justify-center rounded-lg bg-gray-300 bg-opacity-40 bg-clip-padding backdrop-blur-sm backdrop-filter" + className="navigation-item-right absolute right-0 top-[50%] z-20 flex h-10 w-10 translate-y-[-50%] cursor-pointer items-center justify-center rounded-lg bg-gray-300/40 bg-clip-padding backdrop-blur-sm backdrop-filter" > <ChevronRight className="text-gray-800" /> </div> diff --git a/animata/container/animated-border-trail.stories.tsx b/animata/container/animated-border-trail.stories.tsx index 6dbd3281..5017274b 100644 --- a/animata/container/animated-border-trail.stories.tsx +++ b/animata/container/animated-border-trail.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AnimatedBorderTrail from "@/animata/container/animated-border-trail"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Animated Border Trail", @@ -14,6 +14,10 @@ const meta = { disable: true, }, }, + trailSize: { + control: { type: "select" }, + options: ["sm", "md", "lg"], + }, }, } satisfies Meta<typeof AnimatedBorderTrail>; @@ -22,6 +26,8 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + duration: "10s", + trailColor: "purple", trailSize: "sm", children: ( <div className="max-w-sm text-balance p-4 text-center font-medium text-zinc-600"> diff --git a/animata/container/animated-border-trail.tsx b/animata/container/animated-border-trail.tsx index fd842919..4b7c11f6 100644 --- a/animata/container/animated-border-trail.tsx +++ b/animata/container/animated-border-trail.tsx @@ -33,12 +33,24 @@ export default function AnimatedBorderTrail({ {...props} className={cn("relative h-fit w-fit overflow-hidden rounded-2xl bg-gray-200 p-px", className)} > + <style> + {` + @property --border-trail-angle { + syntax: "<angle>"; + initial-value: 0deg; + inherits: false; + } + @keyframes border-trail { + 0% { --border-trail-angle: 0deg; } + 100% { --border-trail-angle: 360deg; } + } + `} + </style> <div - className="absolute inset-0 h-full w-full animate-trail" + className="absolute inset-0 h-full w-full" style={{ - "--duration": duration ?? "10s", - "--angle": "0deg", - background: `conic-gradient(from var(--angle) at 50% 50%, transparent ${100 - sizes[trailSize]}%, ${trailColor})`, + animation: `border-trail ${duration ?? "10s"} linear infinite`, + background: `conic-gradient(from var(--border-trail-angle) at 50% 50%, transparent ${100 - sizes[trailSize]}%, ${trailColor})`, }} /> <div diff --git a/animata/container/animated-dock.stories.tsx b/animata/container/animated-dock.stories.tsx index 705d1df4..c1e28b60 100644 --- a/animata/container/animated-dock.stories.tsx +++ b/animata/container/animated-dock.stories.tsx @@ -1,8 +1,7 @@ -import { Meta, StoryObj } from "@storybook/react"; -import { Home, Search, Bell, User } from "lucide-react"; +import type { Meta, StoryObj } from "@storybook/react"; +import { Bell, Home, Search, User } from "lucide-react"; import AnimatedDock from "@/animata/container/animated-dock"; - const meta = { title: "Container/Animated Dock", component: AnimatedDock, @@ -19,7 +18,6 @@ const meta = { export default meta; type Story = StoryObj<typeof meta>; - // Example contents for AnimatedDock const dockItems = [ { title: "Home", icon: <Home />, href: "/" }, @@ -28,7 +26,6 @@ const dockItems = [ { title: "Profile", icon: <User />, href: "/profile" }, ]; - // Primary story for AnimatedDock (default layout) export const Primary: Story = { args: { @@ -43,7 +40,6 @@ export const Primary: Story = { ), }; - // Story focused on the Small layout (for mobile view) export const Small: Story = { args: { @@ -57,7 +53,6 @@ export const Small: Story = { ), }; - // Story focused on the Large layout (for desktop view) export const Large: Story = { args: { @@ -71,7 +66,6 @@ export const Large: Story = { ), }; - // Story showing both layouts at the same time (for comparison) export const Multiple: Story = { args: { diff --git a/animata/container/animated-dock.tsx b/animata/container/animated-dock.tsx index 190815cc..e19d179c 100644 --- a/animata/container/animated-dock.tsx +++ b/animata/container/animated-dock.tsx @@ -1,15 +1,16 @@ -import { cn } from "@/lib/utils"; // Import utility for conditional class names +import { Menu, X } from "lucide-react"; // Importing icons from lucide-react import { AnimatePresence, // Enables animation presence detection - MotionValue, // Type for motion values + type MotionValue, // Type for motion values motion, // Main component for animations useMotionValue, // Hook to create a motion value useSpring, // Hook to create smooth spring animations useTransform, // Hook to transform motion values -} from "framer-motion"; +} from "motion/react"; import Link from "next/link"; // Next.js Link component for navigation -import React, { useRef, useState } from "react"; // Importing React hooks -import { Menu, X } from "lucide-react"; // Importing icons from lucide-react +import type React from "react"; // Importing React hooks +import { useRef, useState } from "react"; +import { cn } from "@/lib/utils"; // Import utility for conditional class names // Interface for props accepted by the AnimatedDock component interface AnimatedDockProps { diff --git a/animata/container/cursor-tracker.stories.tsx b/animata/container/cursor-tracker.stories.tsx index c61ae744..d8de4a09 100644 --- a/animata/container/cursor-tracker.stories.tsx +++ b/animata/container/cursor-tracker.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CursorTracker from "@/animata/container/cursor-tracker"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Cursor Tracker", diff --git a/animata/container/cursor-tracker.tsx b/animata/container/cursor-tracker.tsx index 1013d7d9..dbba21bd 100644 --- a/animata/container/cursor-tracker.tsx +++ b/animata/container/cursor-tracker.tsx @@ -21,7 +21,7 @@ export default function CursorTracker() { return ( <div ref={divRef} - className="group relative w-64 cursor-none rounded-3xl bg-violet-50 p-6 text-violet-800" + className="group/cursor relative w-64 cursor-none rounded-3xl bg-violet-50 p-6 text-violet-800" > {/* Actual content */} <h1 className="mb-4 text-3xl font-semibold leading-none"> @@ -37,7 +37,7 @@ export default function CursorTracker() { style={{ transform: "translate(var(--x), var(--y))", }} - className="pointer-events-none absolute left-0 top-0 z-50 rounded-full bg-blue-800/80 px-4 py-2 text-sm font-bold text-white opacity-0 duration-0 group-hover:opacity-100" + className="pointer-events-none absolute left-0 top-0 z-50 rounded-full bg-blue-800/80 px-4 py-2 text-sm font-bold text-white opacity-0 duration-0 group-hover/cursor:opacity-100" > Read more → </div> diff --git a/animata/container/fibonacci-lines.stories.tsx b/animata/container/fibonacci-lines.stories.tsx index abdee726..9533d332 100644 --- a/animata/container/fibonacci-lines.stories.tsx +++ b/animata/container/fibonacci-lines.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import FibonacciLines from "@/animata/container/fibonacci-lines"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Fibonacci Lines", @@ -16,6 +16,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + reverse: false, className: "storybook-fix w-full", }, }; diff --git a/animata/container/marquee.stories.tsx b/animata/container/marquee.stories.tsx index 20eb40f6..70006abe 100644 --- a/animata/container/marquee.stories.tsx +++ b/animata/container/marquee.stories.tsx @@ -1,8 +1,7 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { Airplay, BarChart, Cloud, Earth, GitCommit, GitGraph, Heart, Map } from "lucide-react"; - import Marquee from "@/animata/container/marquee"; import { cn } from "@/lib/utils"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Marquee", @@ -60,11 +59,15 @@ const Content = () => { export const Primary: Story = { args: { + vertical: false, + repeat: 5, + reverse: false, pauseOnHover: true, + applyMask: true, }, render: (args) => ( - <div className="storybook-fix relative flex h-full max-h-96 min-h-72 w-full min-w-72 items-center justify-center overflow-hidden rounded border bg-background"> + <div className="full-content relative flex h-full max-h-96 min-h-72 w-full min-w-72 items-center justify-center overflow-hidden rounded bg-background"> <Marquee {...args}> <Content /> </Marquee> @@ -75,7 +78,7 @@ export const Primary: Story = { export const Vertical: Story = { args: { vertical: true }, render: (args) => ( - <div className="storybook-fix relative flex h-full max-h-96 min-h-72 w-full min-w-72 items-center justify-center overflow-hidden rounded-md border bg-background"> + <div className="full-content relative flex h-full max-h-96 min-h-72 w-full min-w-72 items-center justify-center overflow-hidden rounded-md bg-background"> <Marquee className="items-center" {...args}> <Content /> </Marquee> @@ -88,7 +91,7 @@ export const Multiple: Story = { render: (args) => ( <div className={cn( - "storybook-fix relative flex h-full max-h-96 min-h-72 w-full min-w-72 items-center justify-center overflow-hidden rounded-md border bg-background", + "full-content relative flex h-full max-h-96 min-h-72 w-full min-w-72 items-center justify-center overflow-hidden rounded-md bg-background", { "flex-row": args.vertical, "flex-col": !args.vertical, diff --git a/animata/container/marquee.tsx b/animata/container/marquee.tsx index fa318f10..1f7338bb 100644 --- a/animata/container/marquee.tsx +++ b/animata/container/marquee.tsx @@ -46,7 +46,7 @@ export default function Marquee({ <div {...props} className={cn( - "group relative flex h-full w-full p-2 [--duration:10s] [--gap:12px] [gap:var(--gap)]", + "group/marquee relative flex h-full w-full p-2 [--duration:10s] [--gap:12px] [gap:var(--gap)]", { "flex-col": vertical, "flex-row": !vertical, @@ -54,15 +54,31 @@ export default function Marquee({ className, )} > + <style>{` + @keyframes marquee-x { + from { transform: translateX(0); } + to { transform: translateX(calc(-100% - var(--gap))); } + } + @keyframes marquee-y { + from { transform: translateY(0); } + to { transform: translateY(calc(-100% - var(--gap))); } + } + .marquee-horizontal { + animation: marquee-x var(--duration) infinite linear; + } + .marquee-vertical { + animation: marquee-y var(--duration) infinite linear; + } + `}</style> {Array.from({ length: repeat }).map((_, index) => ( <div key={`item-${index}`} className={cn("flex shrink-0 [gap:var(--gap)]", { - "group-hover:[animation-play-state:paused]": pauseOnHover, - "[animation-direction:reverse]": reverse, - "animate-marquee-horizontal flex-row": !vertical, - "animate-marquee-vertical flex-col": vertical, + "group-hover/marquee:[animation-play-state:paused]": pauseOnHover, + "marquee-horizontal flex-row": !vertical, + "marquee-vertical flex-col": vertical, })} + style={reverse ? { animationDirection: "reverse" } : undefined} > {children} </div> @@ -72,8 +88,8 @@ export default function Marquee({ className={cn( "pointer-events-none absolute inset-0 z-10 h-full w-full from-white/50 from-5% via-transparent via-50% to-white/50 to-95% dark:from-gray-800/50 dark:via-transparent dark:to-gray-800/50", { - "bg-gradient-to-b": vertical, - "bg-gradient-to-r": !vertical, + "bg-linear-to-b": vertical, + "bg-linear-to-r": !vertical, }, )} /> diff --git a/animata/container/nav-tabs.stories.tsx b/animata/container/nav-tabs.stories.tsx index 036c96ed..3a096a64 100644 --- a/animata/container/nav-tabs.stories.tsx +++ b/animata/container/nav-tabs.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import NavTabs from "@/animata/container/nav-tabs"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Nav Tabs", diff --git a/animata/container/nav-tabs.tsx b/animata/container/nav-tabs.tsx index aa51b1cf..be31d19d 100644 --- a/animata/container/nav-tabs.tsx +++ b/animata/container/nav-tabs.tsx @@ -1,6 +1,6 @@ "use client"; +import { motion } from "motion/react"; import { useState } from "react"; -import { motion } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -27,7 +27,7 @@ const Tab = ({ text, selected, setSelected }: TabProps) => { <button onClick={() => setSelected(text)} className={cn( - "relative rounded-md p-2 text-sm transition-all", + "relative rounded-md p-2 text-sm transition", selected ? "text-white" : "text-slate-300 hover:font-black", )} > @@ -36,7 +36,7 @@ const Tab = ({ text, selected, setSelected }: TabProps) => { <motion.span layoutId="tabs" transition={{ type: "spring", duration: 0.5 }} - className="absolute inset-0 rounded-sm bg-gradient-to-r from-indigo-600 to-pink-600" + className="absolute inset-0 rounded-sm bg-linear-to-r from-indigo-600 to-pink-600" /> )} </button> diff --git a/animata/container/scrolling-testimonials.stories.tsx b/animata/container/scrolling-testimonials.stories.tsx index ba7fc768..cde0555b 100644 --- a/animata/container/scrolling-testimonials.stories.tsx +++ b/animata/container/scrolling-testimonials.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ScrollingTestimonials from "@/animata/container/scrolling-testimonials"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Scrolling Testimonials", diff --git a/animata/container/scrolling-testimonials.tsx b/animata/container/scrolling-testimonials.tsx index 70bef67c..601802a8 100644 --- a/animata/container/scrolling-testimonials.tsx +++ b/animata/container/scrolling-testimonials.tsx @@ -20,7 +20,7 @@ function TestimonialCard({ className="flex h-44 w-96 overflow-hidden rounded-xl border bg-background dark:border-zinc-700" key={name} > - <div className="relative h-full w-32 flex-shrink-0 overflow-hidden"> + <div className="relative h-full w-32 shrink-0 overflow-hidden"> <img src={image} alt={name} className="h-full w-full object-cover" /> </div> <div className="px-4 py-2"> diff --git a/animata/container/shift-tabs.stories.tsx b/animata/container/shift-tabs.stories.tsx index ab918e8b..29fd9c69 100644 --- a/animata/container/shift-tabs.stories.tsx +++ b/animata/container/shift-tabs.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ShiftTabs from "@/animata/container/shift-tabs"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Shift Tabs", diff --git a/animata/container/shift-tabs.tsx b/animata/container/shift-tabs.tsx index b4aa1d8b..1dd21ff6 100644 --- a/animata/container/shift-tabs.tsx +++ b/animata/container/shift-tabs.tsx @@ -11,24 +11,24 @@ interface ButtonProps { const Button = ({ item, index, activeIndex, onTabClick }: ButtonProps) => { return ( - <div + <button className={cn("rounded-lg bg-black", { "border-b-2 border-b-indigo-500": index === activeIndex, })} onClick={onTabClick} > - <div + <span className={cn( - "flex h-10 cursor-pointer items-center justify-center rounded-md border-2 bg-white p-3 transition-all", + "flex h-10 cursor-pointer items-center justify-center rounded-md border-2 bg-white p-3 transition", { "border-2 border-indigo-500 text-indigo-600": index === activeIndex, - "origin-top-right ease-in hover:rotate-6": index !== activeIndex, + "origin-top-right ease-in hover:rotate-6 text-black": index !== activeIndex, }, )} > - <p className="p-2 text-center font-mono">{item}</p> - </div> - </div> + <span className="p-2 text-center font-mono">{item}</span> + </span> + </button> ); }; @@ -44,7 +44,7 @@ export default function ShiftTabs({ items }: { items: string[] }) { item={item} activeIndex={activeTab} index={index} - key={`shift_tab_${index}`} + key={`shift_tab_${item}`} /> ))} </div> diff --git a/animata/fabs/speed-dial.stories.tsx b/animata/fabs/speed-dial.stories.tsx index dff05b85..5dff407b 100644 --- a/animata/fabs/speed-dial.stories.tsx +++ b/animata/fabs/speed-dial.stories.tsx @@ -1,8 +1,6 @@ -import React from "react"; +import type { Meta, StoryObj } from "@storybook/react"; import { Copy, Edit, Share2, Trash } from "lucide-react"; - import SpeedDial from "@/animata/fabs/speed-dial"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Fabs/Speed Dial", diff --git a/animata/fabs/speed-dial.tsx b/animata/fabs/speed-dial.tsx index fdd00a83..d1dd75aa 100644 --- a/animata/fabs/speed-dial.tsx +++ b/animata/fabs/speed-dial.tsx @@ -1,7 +1,8 @@ "use client"; -import React, { useState } from "react"; import { Plus } from "lucide-react"; +import type React from "react"; +import { useState } from "react"; interface SpeedialProps { direction: string; @@ -65,7 +66,7 @@ export default function Speeddial({ direction, actionButtons }: SpeedialProps) { const handleMouseLeave = () => setIsHovered(false); const getGlassyClasses = () => { - return "backdrop-filter backdrop-blur-xl bg-white border border-white rounded-xl shadow-lg transition-all duration-300"; + return "backdrop-filter backdrop-blur-xl bg-white border border-white rounded-xl shadow-lg transition duration-300"; }; //customize your action buttons here @@ -79,7 +80,7 @@ export default function Speeddial({ direction, actionButtons }: SpeedialProps) { > <button onMouseEnter={handleMouseEnter} - className={`${getGlassyClasses()} order-0 order-1 flex items-center p-3 text-gray-800 transition-all duration-300 hover:bg-slate-100`} + className={`${getGlassyClasses()} order-0 order-1 flex items-center p-3 text-gray-800 transition duration-300 hover:bg-slate-100`} > <Plus size={20} /> </button> @@ -88,14 +89,14 @@ export default function Speeddial({ direction, actionButtons }: SpeedialProps) { <div className={`${ isHovered ? "scale-100 opacity-100" : "scale-0 opacity-0" - } flex items-center gap-3 transition-all duration-500 ease-in-out ${getAnimation()}`} + } flex items-center gap-3 transition duration-500 ease-in-out ${getAnimation()}`} > {actionButtons.map((action, index) => ( <Tooltip text={action.label} key={index} direction={direction}> <button key={index} onClick={action.action} - className={`${getGlassyClasses()} flex items-center p-3 text-gray-800 transition-all duration-300 hover:bg-slate-100`} + className={`${getGlassyClasses()} flex items-center p-3 text-gray-800 transition duration-300 hover:bg-slate-100`} > {action.icon} </button> diff --git a/animata/feature-cards/confirmation-message.stories.tsx b/animata/feature-cards/confirmation-message.stories.tsx index 9edda5e1..313451ec 100644 --- a/animata/feature-cards/confirmation-message.stories.tsx +++ b/animata/feature-cards/confirmation-message.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ConfirmationMessage from "@/animata/feature-cards/confirmation-message"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Feature Cards/Confirmation Message", diff --git a/animata/feature-cards/confirmation-message.tsx b/animata/feature-cards/confirmation-message.tsx index d1860cb2..6d71e256 100644 --- a/animata/feature-cards/confirmation-message.tsx +++ b/animata/feature-cards/confirmation-message.tsx @@ -1,4 +1,4 @@ -import { motion } from "framer-motion"; +import { motion } from "motion/react"; import { cn } from "@/lib/utils"; @@ -45,7 +45,7 @@ export default function ConfirmationMessage({ > <div className={cn( - "absolute inset-0 -z-10 h-full w-full items-center bg-gradient-to-r from-teal-100 to-green-300", + "absolute inset-0 -z-10 h-full w-full items-center bg-linear-to-r from-teal-100 to-green-300", backgroundClassName, )} /> @@ -86,7 +86,7 @@ export default function ConfirmationMessage({ transition={{ delay: 1.2, duration: 0.5 }} > {/* Message box */} - <div className="my-4 flex h-fit w-full rounded-lg border border-white/40 bg-white/30 bg-opacity-90 p-6 py-4 shadow-lg backdrop-blur-md"> + <div className="my-4 flex h-fit w-full rounded-lg border border-white/40 bg-white/90 p-6 py-4 shadow-lg backdrop-blur-md"> <div className="mr-4 flex h-12 min-w-12 items-center justify-center rounded-full bg-green-800 text-white"> {labelName[0]} </div> @@ -98,7 +98,7 @@ export default function ConfirmationMessage({ animate={{ opacity: 1 }} transition={{ delay: 2, duration: 0.9 }} > - {labelMessage.length > 200 ? labelMessage.slice(0, 199) + "..." : labelMessage} + {labelMessage.length > 200 ? `${labelMessage.slice(0, 199)}...` : labelMessage} </motion.p> </div> </div> diff --git a/animata/feature-cards/content-scan.stories.tsx b/animata/feature-cards/content-scan.stories.tsx index 97b5cdd8..e801e640 100644 --- a/animata/feature-cards/content-scan.stories.tsx +++ b/animata/feature-cards/content-scan.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ContentScan from "@/animata/feature-cards/content-scan"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Feature Cards/Content Scan", diff --git a/animata/feature-cards/content-scan.tsx b/animata/feature-cards/content-scan.tsx index 041cef70..f7964ed7 100644 --- a/animata/feature-cards/content-scan.tsx +++ b/animata/feature-cards/content-scan.tsx @@ -1,5 +1,6 @@ -import React, { useEffect, useRef, useState } from "react"; -import { motion, useAnimation } from "framer-motion"; +import { motion, useAnimation } from "motion/react"; +import type React from "react"; +import { useEffect, useRef, useState } from "react"; interface ContentScannerProps { content: string; @@ -146,33 +147,31 @@ const ContentScanner: React.FC<ContentScannerProps> = ({ repeat: Infinity, repeatType: "loop" as const, duration: 1.5, - ease: "easeInOut", + ease: "easeInOut" as const, }, }, }; return ( - <> - <div className="inline-flex items-center"> - <div className="inline-flex h-8 overflow-hidden"> - {digits.map((digit, index) => ( - <motion.div - key={`${index}-${digit}`} - variants={digitVariants} - initial="initial" - animate="animate" - className="inline-flex h-8 w-6 flex-col items-center justify-center" - > - {[digit, (digit + 1) % 10, (digit + 2) % 10].map((n, i) => ( - <span key={i} className="font-bold leading-8 text-purple-900"> - {n} - </span> - ))} - </motion.div> - ))} - </div> + <div className="inline-flex items-center"> + <div className="inline-flex h-8 overflow-hidden"> + {digits.map((digit, index) => ( + <motion.div + key={`${index}-${digit}`} + variants={digitVariants} + initial="initial" + animate="animate" + className="inline-flex h-8 w-6 flex-col items-center justify-center" + > + {[digit, (digit + 1) % 10, (digit + 2) % 10].map((n, i) => ( + <span key={i} className="font-bold leading-8 text-purple-900"> + {n} + </span> + ))} + </motion.div> + ))} </div> - </> + </div> ); }; diff --git a/animata/graphs/bar-chart.stories.tsx b/animata/graphs/bar-chart.stories.tsx index 1ec4c6ba..2302d427 100644 --- a/animata/graphs/bar-chart.stories.tsx +++ b/animata/graphs/bar-chart.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import BarChart from "@/animata/graphs/bar-chart"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Graphs/Bar Chart", diff --git a/animata/graphs/bar-chart.tsx b/animata/graphs/bar-chart.tsx index 7ee895db..5132b0a4 100644 --- a/animata/graphs/bar-chart.tsx +++ b/animata/graphs/bar-chart.tsx @@ -65,7 +65,7 @@ export default function BarChart({ items, className, height: providedHeight }: B > <div style={{ height: barHeight }} - className={cn("transition-all duration-200", item.className)} + className={cn("transition duration-200", item.className)} /> </div> ); diff --git a/animata/graphs/commit-graph.stories.tsx b/animata/graphs/commit-graph.stories.tsx index b85112f2..0f051324 100644 --- a/animata/graphs/commit-graph.stories.tsx +++ b/animata/graphs/commit-graph.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CommitGraph from "@/animata/graphs/commit-graph"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Graphs/Commit Graph", diff --git a/animata/graphs/commit-graph.tsx b/animata/graphs/commit-graph.tsx index f963fde6..93388d0b 100644 --- a/animata/graphs/commit-graph.tsx +++ b/animata/graphs/commit-graph.tsx @@ -1,6 +1,5 @@ -import React from "react"; - import { cn } from "@/lib/utils"; + const getColor = (count: number): string => { const colors: { [key: number]: string } = { 0: "bg-gray-300", diff --git a/animata/graphs/donut-chart.stories.tsx b/animata/graphs/donut-chart.stories.tsx index 40bd465f..0dddcb77 100644 --- a/animata/graphs/donut-chart.stories.tsx +++ b/animata/graphs/donut-chart.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import DonutChart from "@/animata/graphs/donut-chart"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Graphs/Donut Chart", @@ -18,5 +18,8 @@ export const Primary: Story = { args: { size: 200, progress: 30, + circleWidth: 16, + progressWidth: 16, + rounded: true, }, }; diff --git a/animata/graphs/donut-chart.tsx b/animata/graphs/donut-chart.tsx index d23c67b1..068dfc82 100644 --- a/animata/graphs/donut-chart.tsx +++ b/animata/graphs/donut-chart.tsx @@ -1,4 +1,4 @@ -import { ReactNode, useEffect, useState } from "react"; +import { type ReactNode, useEffect, useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/graphs/gauge-chart.stories.tsx b/animata/graphs/gauge-chart.stories.tsx index bc199ee7..dc8592aa 100644 --- a/animata/graphs/gauge-chart.stories.tsx +++ b/animata/graphs/gauge-chart.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GaugeChart from "@/animata/graphs/gauge-chart"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Graphs/Gauge Chart", diff --git a/animata/graphs/gauge-chart.tsx b/animata/graphs/gauge-chart.tsx index 6a03b734..2983e9f7 100644 --- a/animata/graphs/gauge-chart.tsx +++ b/animata/graphs/gauge-chart.tsx @@ -1,4 +1,4 @@ -import { ReactNode, useEffect, useState } from "react"; +import { type ReactNode, useEffect, useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/graphs/progress.stories.tsx b/animata/graphs/progress.stories.tsx index f260d7db..33868983 100644 --- a/animata/graphs/progress.stories.tsx +++ b/animata/graphs/progress.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Progress from "@/animata/graphs/progress"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Graphs/Progress", diff --git a/animata/graphs/progress.tsx b/animata/graphs/progress.tsx index d8e74252..eb41d0d1 100644 --- a/animata/graphs/progress.tsx +++ b/animata/graphs/progress.tsx @@ -35,14 +35,14 @@ export default function Progress({ progress }: { progress: number }) { const highlight = shouldUseValue ? index / bars < progress / 100 : 0; return ( <div - className={cn("h-full w-[2px] rounded-[1px] transition-all", { - "bg-blue-100 duration-75 group-hover:rounded group-hover:bg-zinc-50 group-active:rounded group-active:bg-zinc-50": + className={cn("h-full w-[2px] rounded-[1px] transition", { + "bg-blue-100 duration-75 group-hover/progress:rounded group-hover/progress:bg-zinc-50 group-active/progress:rounded group-active/progress:bg-zinc-50": highlight, - "bg-zinc-900/30 duration-300 group-hover:scale-75 group-hover:bg-zinc-900/15 group-active:scale-75 group-active:bg-zinc-900/15": + "bg-zinc-900/30 duration-300 group-hover/progress:scale-75 group-hover/progress:bg-zinc-900/15 group-active/progress:scale-75 group-active/progress:bg-zinc-900/15": !highlight, })} style={{ - transitionDelay: highlight ? `${index * 24}ms` : "0ms", + transitionDelay: highlight ? `${index * 6}ms` : "0ms", }} key={`bar_${index}`} /> diff --git a/animata/graphs/ring-chart.stories.tsx b/animata/graphs/ring-chart.stories.tsx index d02c910c..8f11c311 100644 --- a/animata/graphs/ring-chart.stories.tsx +++ b/animata/graphs/ring-chart.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Rings from "@/animata/graphs/ring-chart"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Graphs/Ring Chart", @@ -16,6 +16,9 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + size: 96, + gap: 4, + width: 20, rings: [ { progress: 10, diff --git a/animata/graphs/ring-chart.tsx b/animata/graphs/ring-chart.tsx index 5b700a07..f64cd64e 100644 --- a/animata/graphs/ring-chart.tsx +++ b/animata/graphs/ring-chart.tsx @@ -86,10 +86,7 @@ export default function RingChart({ return ( <div - className={cn( - "relative flex items-center justify-center rounded-3xl bg-zinc-950", - className, - )} + className={cn("relative flex items-center justify-center rounded-3xl bg-zinc-950", className)} style={{ minWidth: totalWidth + gap * rings.length * 4, minHeight: totalWidth + gap * rings.length * 4, diff --git a/animata/hero/hero-section-text-hover.stories.tsx b/animata/hero/hero-section-text-hover.stories.tsx index 3c40725c..7fb91311 100644 --- a/animata/hero/hero-section-text-hover.stories.tsx +++ b/animata/hero/hero-section-text-hover.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import HeroSectionTextHover from "@/animata/hero/hero-section-text-hover"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Hero/Hero Section Text Hover", diff --git a/animata/hero/hero-section-text-hover.tsx b/animata/hero/hero-section-text-hover.tsx index 9ece9948..40615b39 100644 --- a/animata/hero/hero-section-text-hover.tsx +++ b/animata/hero/hero-section-text-hover.tsx @@ -1,5 +1,5 @@ -import React from "react"; import { Map } from "lucide-react"; +import type React from "react"; import { cn } from "@/lib/utils"; @@ -19,22 +19,22 @@ const HeroSectionTextHover: React.FC<HeroCardProps> = ({ className }) => { { emoji: "🪂", position: - "-left-20 top-3 group-hover:-rotate-[10deg] group-hover:-translate-y-12 md:-left-28 md:-top-2 sm:-left-24", + "-left-20 top-3 group-hover/hero:-rotate-[10deg] group-hover/hero:-translate-y-12 md:-left-28 md:-top-2 sm:-left-24", }, { emoji: "🏖️", position: - "-left-[72px] top-0 group-hover:-rotate-[20deg] group-hover:-translate-x-10 md:-left-[135px] md:-top-2 sm:-left-24 ", + "-left-[72px] top-0 group-hover/hero:-rotate-[20deg] group-hover/hero:-translate-x-10 md:-left-[135px] md:-top-2 sm:-left-24 ", }, { emoji: "🚁", position: - "left-[150px] top-0 group-hover:rotate-[10deg] group-hover:-translate-y-10 md:left-[210px] md:-top-1 sm:left-[180px]", + "left-[150px] top-0 group-hover/hero:rotate-[10deg] group-hover/hero:-translate-y-10 md:left-[210px] md:-top-1 sm:left-[180px]", }, { emoji: "🏯", position: - "left-[105px] top-0 group-hover:rotate-[20deg] group-hover:translate-x-16 md:left-[190px] md:-top-2 sm:left-[150px]", + "left-[105px] top-0 group-hover/hero:rotate-[20deg] group-hover/hero:translate-x-16 md:left-[190px] md:-top-2 sm:left-[150px]", }, ]; @@ -42,11 +42,12 @@ const HeroSectionTextHover: React.FC<HeroCardProps> = ({ className }) => { { emoji: "🦝", position: - "-left-[100px] -top-7 -rotate-[30deg] group-hover:-translate-y-8 md:-left-40 md:-top-16 sm:-left-32", + "-left-[100px] -top-7 -rotate-[30deg] group-hover/hero:-translate-y-8 md:-left-40 md:-top-16 sm:-left-32", }, { emoji: "🍜", - position: "-left-[115px] -top-2 group-hover:-rotate-45 md:-left-44 md:-top-1 sm:-left-36", + position: + "-left-[115px] -top-2 group-hover/hero:-rotate-45 md:-left-44 md:-top-1 sm:-left-36", }, { emoji: "🏝️", @@ -56,7 +57,7 @@ const HeroSectionTextHover: React.FC<HeroCardProps> = ({ className }) => { { emoji: "💎", position: - "left-32 -top-2 group-hover:rotate-[45deg] md:left-[200px] md:-top-1 sm:left-[160px] ", + "left-32 -top-2 group-hover/hero:rotate-[45deg] md:left-[200px] md:-top-1 sm:left-[160px] ", }, ]; @@ -74,14 +75,16 @@ const HeroSectionTextHover: React.FC<HeroCardProps> = ({ className }) => { </div> <div className="flex items-center justify-center gap-1"> <span className="text-gray-400">Embark on</span> - <div className="group relative flex items-center"> - <span className="text-zinc-500 group-hover:text-sky-400">Uncharted Adventures</span> - <div className="duration-400 absolute inset-0 cursor-pointer opacity-0 transition-opacity group-hover:opacity-100"> + <div className="group/hero relative flex items-center"> + <span className="text-zinc-500 group-hover/hero:text-sky-400"> + Uncharted Adventures + </span> + <div className="duration-400 absolute inset-0 cursor-pointer opacity-0 transition-opacity group-hover/hero:opacity-100"> {destinations.map((dest, index) => ( <span key={index} className={cn( - "pointer-events-none absolute transform text-lg transition-transform duration-500 group-hover:scale-110 sm:text-2xl md:text-4xl", + "pointer-events-none absolute transform text-lg transition-transform duration-500 group-hover/hero:scale-110 sm:text-2xl md:text-4xl", dest.position, )} > @@ -94,14 +97,14 @@ const HeroSectionTextHover: React.FC<HeroCardProps> = ({ className }) => { <div className="flex items-center justify-center gap-1"> <span className="text-gray-400">and</span> - <div className="group relative flex items-center"> - <span className="text-zinc-500 group-hover:text-orange-500">Feel Alive</span> - <div className="duration-400 absolute inset-0 cursor-pointer opacity-0 transition-opacity group-hover:opacity-100"> + <div className="group/hero relative flex items-center"> + <span className="text-zinc-500 group-hover/hero:text-orange-500">Feel Alive</span> + <div className="duration-400 absolute inset-0 cursor-pointer opacity-0 transition-opacity group-hover/hero:opacity-100"> {treasures.map((gem, index) => ( <span key={index} className={cn( - "pointer-events-none absolute transform text-lg transition-transform duration-500 group-hover:scale-110 sm:text-2xl md:text-4xl", + "pointer-events-none absolute transform text-lg transition-transform duration-500 group-hover/hero:scale-110 sm:text-2xl md:text-4xl", gem.position, )} > diff --git a/animata/hero/hero-section.stories.tsx b/animata/hero/hero-section.stories.tsx index f56202f6..7c728db8 100644 --- a/animata/hero/hero-section.stories.tsx +++ b/animata/hero/hero-section.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import HeroSection from "@/animata/hero/hero-section"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Hero/Hero Section", diff --git a/animata/hero/hero-section.tsx b/animata/hero/hero-section.tsx index 4f045f00..1f5e00df 100644 --- a/animata/hero/hero-section.tsx +++ b/animata/hero/hero-section.tsx @@ -13,7 +13,7 @@ import WaterTracker from "../widget/water-tracker"; // Button Component function Button({ children }: { children: React.ReactNode }) { return ( - <UIButton className="w-32 bg-gradient-to-r from-blue-400 to-sky-300"> + <UIButton className="w-32 bg-linear-to-r from-blue-400 to-sky-300"> <p>{children}</p> </UIButton> ); @@ -82,7 +82,7 @@ function Card({ card, index, stackAlign }: { card: string; index: number; stackA style={{ boxShadow: index !== 2 ? "inset 0px -10px 30px 0px #1e293b" : "none" }} key={index} className={cn( - `absolute inset-0 text-center text-gray-800 z-${index} ${card} my-6 flex h-full w-full flex-col items-center justify-around rounded-2xl transition-all duration-700 ease-out`, + `absolute inset-0 text-center text-gray-800 z-${index} ${card} my-6 flex h-full w-full flex-col items-center justify-around rounded-2xl transition duration-700 ease-out`, card === "card1" && stackAlign && "ml-8 md:ml-0", card === "card2" && (!stackAlign ? "-rotate-[15deg]" : "-left-8 ml-8 rotate-0 md:ml-0"), card === "card3" && (!stackAlign ? "rotate-[15deg]" : "-left-16 ml-8 rotate-0 md:ml-0"), diff --git a/animata/hero/product-features.stories.tsx b/animata/hero/product-features.stories.tsx index 9dcdddde..cc747fed 100644 --- a/animata/hero/product-features.stories.tsx +++ b/animata/hero/product-features.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ProductFeatures from "@/animata/hero/product-features"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Hero/Product Features", diff --git a/animata/hero/product-features.tsx b/animata/hero/product-features.tsx index 0d5a09b3..39250a70 100644 --- a/animata/hero/product-features.tsx +++ b/animata/hero/product-features.tsx @@ -1,5 +1,5 @@ -import { ReactNode } from "react"; -import { HTMLMotionProps, motion, useSpring, useTransform } from "framer-motion"; +import { type HTMLMotionProps, motion, useSpring, useTransform } from "motion/react"; +import type { ReactNode } from "react"; import Balancer from "react-wrap-balancer"; import { cn } from "@/lib/utils"; @@ -23,14 +23,14 @@ function FeatureCard({ feature, className, zIndexOffset = 0, ...props }: Feature const content = ( <> - <img src={imageUrl} alt="" className="-z-1 absolute inset-0 h-full w-full object-cover" /> - <div className="z-10 flex h-full w-full flex-col gap-2 bg-gradient-to-t from-zinc-800/40 from-15% to-transparent p-3"> - <small className="inline w-fit rounded-xl bg-orange-950 bg-opacity-50 px-2 py-1 text-xs font-medium leading-none text-white"> + <img src={imageUrl} alt="" className="z-0 absolute inset-0 h-full w-full object-cover" /> + <div className="z-10 flex h-full w-full flex-col gap-2 bg-linear-to-t from-zinc-800/40 from-15% to-transparent p-3"> + <small className="inline w-fit rounded-xl bg-orange-950/50 px-2 py-1 text-xs font-medium leading-none text-white"> {category} </small> <div className="flex-1" /> - <h3 className="rounded-xl bg-blue-950 bg-opacity-30 p-3 text-base font-bold leading-none text-white backdrop-blur-sm"> + <h3 className="rounded-xl bg-blue-950/30 p-3 text-base font-bold leading-none text-white backdrop-blur-sm"> {title} </h3> </div> @@ -108,10 +108,7 @@ export default function ProductFeatures() { }, }} > - <button - className="box-border inline-block h-11 transform-gpu cursor-pointer touch-manipulation whitespace-nowrap rounded-full border-b-4 border-solid border-transparent bg-orange-600 px-4 py-3 text-center text-sm font-bold uppercase leading-5 tracking-wider text-white shadow-2xl outline-none transition-all duration-200 hover:brightness-110 active:border-b-0 active:border-t-4 active:bg-none disabled:cursor-auto" - role="button" - > + <button className="box-border inline-block h-11 cursor-pointer touch-manipulation whitespace-nowrap rounded-full border-b-4 border-solid border-transparent bg-orange-600 px-4 py-3 text-center text-sm font-bold uppercase leading-5 tracking-wider text-white shadow-2xl outline-hidden transition duration-200 hover:brightness-110 active:border-b-0 active:border-t-4 active:bg-none disabled:cursor-auto"> Ready to clay → <span className="absolute inset-0 -z-10 rounded-full border-b-4 border-solid border-transparent bg-orange-500" /> </button> diff --git a/animata/hero/shape-shifter.stories.tsx b/animata/hero/shape-shifter.stories.tsx index 49b22d09..d5466e23 100644 --- a/animata/hero/shape-shifter.stories.tsx +++ b/animata/hero/shape-shifter.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ShapeShifter from "@/animata/hero/shape-shifter"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Hero/Shape Shifter", diff --git a/animata/hero/shape-shifter.tsx b/animata/hero/shape-shifter.tsx index 57f6ff31..96deb1a0 100644 --- a/animata/hero/shape-shifter.tsx +++ b/animata/hero/shape-shifter.tsx @@ -51,14 +51,14 @@ export default function ShapeShifter({ return ( <div className={cn( - "text-md group flex min-h-96 w-full min-w-fit flex-col items-center justify-center gap-3 font-bold text-foreground transition-all sm:flex-row sm:text-xl", + "text-md group/shifter flex min-h-96 w-full min-w-fit flex-col items-center justify-center gap-3 font-bold text-foreground transition sm:flex-row sm:text-xl", containerClassName, )} > <div>{prefix}</div> <div className={cn( - "relative animate-[shape-shift] overflow-hidden bg-black p-0 transition-all ease-in-out direction-alternate repeat-infinite group-hover:[animation-play-state:paused] dark:bg-white", + "relative animate-[shape-shift] overflow-hidden bg-black p-0 transition ease-in-out direction-alternate repeat-infinite group-hover/shifter:[animation-play-state:paused] dark:bg-white", className, )} // Magic number based on length of images. diff --git a/animata/hero/slack-intro.stories.tsx b/animata/hero/slack-intro.stories.tsx index 2b38f0d5..1a380695 100644 --- a/animata/hero/slack-intro.stories.tsx +++ b/animata/hero/slack-intro.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SlackIntro from "@/animata/hero/slack-intro"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Hero/Slack Intro", @@ -15,5 +15,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + animateOut: false, + }, }; diff --git a/animata/icon/hover-interaction.stories.tsx b/animata/icon/hover-interaction.stories.tsx index 9e7bbae2..ae7a96b4 100644 --- a/animata/icon/hover-interaction.stories.tsx +++ b/animata/icon/hover-interaction.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import HoverInteraction from "@/animata/icon/hover-interaction"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Icon/Hover Interaction", diff --git a/animata/icon/hover-interaction.tsx b/animata/icon/hover-interaction.tsx index 8439489c..d6855896 100644 --- a/animata/icon/hover-interaction.tsx +++ b/animata/icon/hover-interaction.tsx @@ -1,8 +1,5 @@ "use client"; -import React, { ElementType, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; - // default imports import { FigmaLogoIcon, @@ -13,6 +10,8 @@ import { SquareIcon, TwitterLogoIcon, } from "@radix-ui/react-icons"; +import { AnimatePresence, motion } from "motion/react"; +import { type ElementType, useState } from "react"; type IconSize = "1" | "2" | "3" | "4"; // source: https://www.radix-ui.com/themes/docs/components/icon-button @@ -43,7 +42,7 @@ const getIconForTitle = (title: string) => { instagram: InstagramLogoIcon, linkedin: LinkedInLogoIcon, github: GitHubLogoIcon, - figma: FigmaLogoIcon + figma: FigmaLogoIcon, }; // SquareIcon as default @@ -84,7 +83,7 @@ export default function HoverInteraction({ scale: 1, rotate: 0, transition: { - type: "spring", + type: "spring" as const, stiffness: 100, damping: 15, duration: 0.3, @@ -101,12 +100,12 @@ export default function HoverInteraction({ return ( <motion.div - className="storybook-fix group relative flex min-h-[120px] w-full cursor-pointer items-center justify-center" + className="storybook-fix group/icon relative flex min-h-[120px] w-full cursor-pointer items-center justify-center" onMouseEnter={() => setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} > <span - className={`relative text-center font-medium text-muted-foreground transition-colors duration-200 group-hover:text-black ${textSizeClass}`} + className={`relative text-center font-medium text-muted-foreground transition-colors duration-200 group-hover/icon:text-foreground ${textSizeClass}`} > {formattedTitle} </span> diff --git a/animata/icon/icon-ripple.stories.tsx b/animata/icon/icon-ripple.stories.tsx index 1b3eb459..695effc9 100644 --- a/animata/icon/icon-ripple.stories.tsx +++ b/animata/icon/icon-ripple.stories.tsx @@ -1,7 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { Mic } from "lucide-react"; - import IconRipple from "@/animata/icon/icon-ripple"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Icon/Icon Ripple", diff --git a/animata/image/disclose-image.stories.tsx b/animata/image/disclose-image.stories.tsx index 57eafcba..9c467cf4 100644 --- a/animata/image/disclose-image.stories.tsx +++ b/animata/image/disclose-image.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import DiscloseImage from "@/animata/image/disclose-image"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Disclose Image", @@ -19,5 +19,6 @@ export const Primary: Story = { src: "https://plus.unsplash.com/premium_vector-1689096860582-07eee139f9f1?bg=FFFFFF&w=800&auto=format&fit=crop&q=100&ixlib=rb-4.0.3", alt: "A beautiful image", doorClassName: "bg-yellow-200", + vertical: false, }, }; diff --git a/animata/image/disclose-image.tsx b/animata/image/disclose-image.tsx index 3686dfdb..f23de2cf 100644 --- a/animata/image/disclose-image.tsx +++ b/animata/image/disclose-image.tsx @@ -1,12 +1,7 @@ -import { ImgHTMLAttributes, useState } from "react"; +import { type ImgHTMLAttributes, useState } from "react"; import { cn } from "@/lib/utils"; -/** - * All the props are passed to the img element. - * Make sure to adjust the width and height of the container div - * as per the design requirements/image aspect ratio. - */ export default function DiscloseImage({ className, doorClassName, @@ -25,7 +20,7 @@ export default function DiscloseImage({ }) { const [imageLoaded, setImageLoaded] = useState(false); const baseClassName = - "ease-slow duration-mid absolute bg-sky-500 transition-all animate-out fill-mode-forwards"; + "ease-slow duration-mid absolute bg-sky-500 transition animate-out fill-mode-forwards"; return ( <div className="relative h-64 w-52 overflow-hidden rounded-md bg-yellow-100"> diff --git a/animata/image/image-box-shadow.stories.tsx b/animata/image/image-box-shadow.stories.tsx index eb99e660..887fdd00 100644 --- a/animata/image/image-box-shadow.stories.tsx +++ b/animata/image/image-box-shadow.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ImageBoxShadow from "@/animata/image/image-box-shadow"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Image Box Shadow", diff --git a/animata/image/image-box-shadow.tsx b/animata/image/image-box-shadow.tsx index 474a3935..f0d17cdf 100644 --- a/animata/image/image-box-shadow.tsx +++ b/animata/image/image-box-shadow.tsx @@ -1,4 +1,4 @@ -import { ImgHTMLAttributes } from "react"; +import type { ImgHTMLAttributes } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/image/images-reveal.stories.tsx b/animata/image/images-reveal.stories.tsx index 8ac7c65a..9453e839 100644 --- a/animata/image/images-reveal.stories.tsx +++ b/animata/image/images-reveal.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ImagesReveal from "@/animata/image/images-reveal"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Images Reveal", diff --git a/animata/image/images-reveal.tsx b/animata/image/images-reveal.tsx index b414e4c5..bd3ae0a2 100644 --- a/animata/image/images-reveal.tsx +++ b/animata/image/images-reveal.tsx @@ -1,5 +1,4 @@ -import React from "react"; -import { motion } from "framer-motion"; +import { motion } from "motion/react"; const cards = [ { @@ -38,7 +37,7 @@ const cardVariants = { transition: { delay: custom.index * 0.1, duration: 0.3, - type: "spring", + type: "spring" as const, stiffness: 150, damping: 20, mass: 0.5, diff --git a/animata/image/photo-booth.stories.tsx b/animata/image/photo-booth.stories.tsx index 12351965..cf1a660e 100644 --- a/animata/image/photo-booth.stories.tsx +++ b/animata/image/photo-booth.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import PhotoBooth from "@/animata/image/photo-booth"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Photo Booth", diff --git a/animata/image/photo-booth.tsx b/animata/image/photo-booth.tsx index 63c10abf..1476d662 100644 --- a/animata/image/photo-booth.tsx +++ b/animata/image/photo-booth.tsx @@ -1,4 +1,4 @@ -import { HtmlHTMLAttributes } from "react"; +import type { HtmlHTMLAttributes } from "react"; import { cn } from "@/lib/utils"; @@ -8,7 +8,7 @@ interface PhotoBoothProps extends HtmlHTMLAttributes<HTMLDivElement> { const PhotoBooth = ({ collections, className, ...props }: PhotoBoothProps) => { return ( <div - className="group flex w-full max-w-3xl justify-center rounded-lg bg-gray-100 p-3" + className="group/booth flex w-full max-w-3xl justify-center rounded-lg bg-gray-100 p-3" {...props} > <div className="grid min-w-full grid-cols-2 place-content-center place-items-center gap-5 p-3 sm:grid-cols-4"> diff --git a/animata/image/skew-image.stories.tsx b/animata/image/skew-image.stories.tsx index 5f2bcb09..9d6fd11b 100644 --- a/animata/image/skew-image.stories.tsx +++ b/animata/image/skew-image.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SkewImage from "@/animata/image/skew-image"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Skew Image", diff --git a/animata/image/skew-image.tsx b/animata/image/skew-image.tsx index 243445af..a6b2016c 100644 --- a/animata/image/skew-image.tsx +++ b/animata/image/skew-image.tsx @@ -1,26 +1,21 @@ -import { ImgHTMLAttributes } from "react"; - +import type { ImgHTMLAttributes } from "react"; import { cn } from "@/lib/utils"; interface SkewImageProps extends ImgHTMLAttributes<HTMLImageElement> {} -/** - * All the props are passed to the img element. - */ export default function SkewImage({ className, ...props }: SkewImageProps) { return ( <div - className={ - "h-52 w-40 transition-all duration-300 ease-in-out [clip-path:polygon(0_0,_100%_0,_100%_100%,_0_100%)] hover:scale-95 hover:[clip-path:polygon(0_5%,_100%_0,_100%_95%,_0%_100%)] hover:[&_img]:scale-125" - } + className={cn( + "h-52 w-40 transition duration-300 ease-in-out [clip-path:polygon(0_0,100%_0,100%_100%,0_100%)]", + "hover:scale-95 hover:[clip-path:polygon(0_5%,100%_0,100%_95%,0%_100%)] hover:[&>img]:scale-125", + )} > - {/* Use `next/image` and remove the line below. */} - {/* eslint-disable-next-line @next/next/no-img-element */} <img alt="" {...props} className={cn( - "transition-delay-150 h-full w-full object-cover transition-all duration-300 ease-in-out", + "transition delay-150 h-full w-full object-cover duration-300 ease-in-out", className, )} /> diff --git a/animata/image/tilted-cover.stories.tsx b/animata/image/tilted-cover.stories.tsx index 9bc74530..14d13399 100644 --- a/animata/image/tilted-cover.stories.tsx +++ b/animata/image/tilted-cover.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TiltedCover from "@/animata/image/tilted-cover"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Tilted Cover", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + direction: { + control: { type: "select" }, + options: ["left", "right"], + }, + }, } satisfies Meta<typeof TiltedCover>; export default meta; @@ -16,6 +21,8 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + direction: "left", + tiltCover: true, image: { alt: "Statue of Liberty", src: "https://plus.unsplash.com/premium_vector-1689096845649-80579c8bb9ce?bg=FFFFFF&w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3", @@ -23,7 +30,7 @@ export const Primary: Story = { children: ( <div className="p-2"> <div className="mb-2 text-sm font-semibold text-foreground">Statue of Liberty</div> - <p className="leading-2 text-sm text-muted-foreground"> + <p className="text-sm text-muted-foreground"> The Statue of Liberty is a colossal neoclassical sculpture on Liberty Island in New York Harbor, within New York City.{" "} </p> @@ -42,7 +49,7 @@ export const Reverse: Story = { children: ( <div className="p-2"> <div className="mb-2 text-sm font-semibold text-foreground/80">Work desk</div> - <p className="leading-2 text-sm text-muted-foreground"> + <p className="text-sm text-muted-foreground"> A work desk with a laptop, a cup of coffee, and a plant.{" "} </p> </div> @@ -63,7 +70,7 @@ export const Multiple: Story = { > <div className="p-2"> <div className="mb-2 text-sm font-semibold text-foreground/80">Statue of Liberty</div> - <p className="leading-2 text-sm text-muted-foreground"> + <p className="text-sm text-muted-foreground"> The Statue of Liberty is a colossal neoclassical sculpture on Liberty Island in New York Harbor, within New York City. </p> @@ -84,9 +91,7 @@ export const Multiple: Story = { > <div className="p-2"> <div className="mb-2 text-sm font-semibold text-foreground/80">Custom</div> - <p className="leading-2 text-sm text-muted-foreground"> - This is a non-image tilted cover. - </p> + <p className="text-sm text-muted-foreground">This is a non-image tilted cover.</p> </div> </TiltedCover> @@ -99,7 +104,7 @@ export const Multiple: Story = { > <div className="p-2"> <div className="mb-2 text-sm font-semibold text-foreground/80">Work desk</div> - <p className="leading-2 text-sm text-muted-foreground"> + <p className="text-sm text-muted-foreground"> A work desk with a laptop, a cup of coffee, and a plant.{" "} </p> </div> diff --git a/animata/image/tilted-cover.tsx b/animata/image/tilted-cover.tsx index 670ff61c..d085a147 100644 --- a/animata/image/tilted-cover.tsx +++ b/animata/image/tilted-cover.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { cn } from "@/lib/utils"; @@ -39,25 +39,25 @@ export default function TiltedCover({ return ( // The container has height and width set to the size of the content + padding. <div className="flex h-64 w-52 items-center justify-center overflow-hidden"> - <div className="group relative h-52 w-40"> + <div className="group/tilt relative h-52 w-40"> {/* Background content */} <div - className="border-box border-1 pointer-events-none relative h-full w-full overflow-hidden rounded-xl border bg-background transition-all duration-500 ease-slow group-hover:!transform-none dark:border-zinc-700" + className="border-box pointer-events-none relative h-full w-full overflow-hidden rounded-xl border bg-background transition-all duration-500 ease-slow group-hover/tilt:transform-none! dark:border-zinc-700" style={{ transform: `perspective(400px) rotateY(${factor * 20}deg) scale(0.85) translateX(${-factor * 20}%)`, }} > {children} - <div className="absolute inset-0 h-full w-full bg-gray-400/10 transition-all group-hover:bg-transparent" /> + <div className="absolute inset-0 h-full w-full bg-gray-400/10 transition-all group-hover/tilt:bg-transparent" /> </div> {/* Cover Content */} <div className={cn( - "border-box pointer-events-none absolute inset-0 h-full w-full rounded-xl border-[6px] bg-white transition-all delay-75 duration-500 ease-slow group-hover:!transform-none group-hover:opacity-0 dark:bg-gray-800", + "border-box pointer-events-none absolute inset-0 h-full w-full rounded-xl border-[6px] bg-white transition-all delay-75 duration-500 ease-slow group-hover/tilt:transform-none! group-hover/tilt:opacity-0 dark:bg-gray-800", { - "group-hover:left-[200%]": tiltLeft, - "group-hover:-left-[200%]": !tiltLeft, + "group-hover/tilt:left-[200%]": tiltLeft, + "group-hover/tilt:-left-[200%]": !tiltLeft, }, )} style={{ diff --git a/animata/image/trailing-image.stories.tsx b/animata/image/trailing-image.stories.tsx index 27961d6e..07fccc8c 100644 --- a/animata/image/trailing-image.stories.tsx +++ b/animata/image/trailing-image.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TrailingImage from "@/animata/image/trailing-image"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Trailing Image", diff --git a/animata/image/trailing-image.tsx b/animata/image/trailing-image.tsx index 9d3f492d..7c477821 100644 --- a/animata/image/trailing-image.tsx +++ b/animata/image/trailing-image.tsx @@ -1,5 +1,5 @@ -import React, { createRef, forwardRef, useCallback, useImperativeHandle, useRef } from "react"; -import { motion, useAnimation } from "framer-motion"; +import { motion, useAnimation } from "motion/react"; +import { createRef, forwardRef, useCallback, useImperativeHandle, useRef } from "react"; import { useMousePosition } from "@/hooks/use-mouse-position"; import { getDistance, lerp } from "@/lib/utils"; diff --git a/animata/image/zoom-image.stories.tsx b/animata/image/zoom-image.stories.tsx index 08679218..ab20f069 100644 --- a/animata/image/zoom-image.stories.tsx +++ b/animata/image/zoom-image.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ZoomImage from "@/animata/image/zoom-image"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Image/Zoom Image", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + zoom: { + control: { type: "select" }, + options: ["zoomIn", "zoomOut"], + }, + }, } satisfies Meta<typeof ZoomImage>; export default meta; diff --git a/animata/image/zoom-image.tsx b/animata/image/zoom-image.tsx index 217a627e..f09e62d9 100644 --- a/animata/image/zoom-image.tsx +++ b/animata/image/zoom-image.tsx @@ -1,4 +1,4 @@ -import { ImgHTMLAttributes } from "react"; +import type { ImgHTMLAttributes } from "react"; import { cn } from "@/lib/utils"; @@ -19,7 +19,7 @@ export default function ZoomImage({ className, zoom, ...props }: ZoomImageProps) alt="" {...props} className={cn( - "transition-delay-150 h-full w-full object-contain transition-all duration-300", + "transition-delay-150 h-full w-full object-contain transition duration-300", zoomClass, className, )} diff --git a/animata/list/avatar-list.stories.tsx b/animata/list/avatar-list.stories.tsx index 6943965f..b0cc1be5 100644 --- a/animata/list/avatar-list.stories.tsx +++ b/animata/list/avatar-list.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AvatarList from "@/animata/list/avatar-list"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Avatar List", @@ -8,12 +8,19 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + size: { + control: { type: "select" }, + options: ["sm", "md", "lg"], + }, + }, } satisfies Meta<typeof AvatarList>; export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + size: "md", + }, }; diff --git a/animata/list/avatar-list.tsx b/animata/list/avatar-list.tsx index 52e921dc..d89b4f89 100644 --- a/animata/list/avatar-list.tsx +++ b/animata/list/avatar-list.tsx @@ -57,10 +57,10 @@ export default function AvatarList({ {data.map((item) => ( <div key={item.name} - className="group relative z-0 -ml-4 flex scale-100 items-center transition-all duration-200 ease-in-out hover:z-10 hover:scale-110" + className="group/avatar relative z-0 -ml-4 flex scale-100 items-center transition duration-200 ease-in-out hover:z-10 hover:scale-110" > <div className="relative overflow-hidden rounded-full bg-white"> - <div className="bg-size pointer-events-none absolute h-full w-full animate-bg-position from-violet-500 from-30% via-cyan-400 via-50% to-pink-500 to-80% bg-[length:300%_auto] opacity-15 group-hover:bg-gradient-to-r" /> + <div className="bg-size pointer-events-none absolute h-full w-full animate-bg-position from-violet-500 from-30% via-cyan-400 via-50% to-pink-500 to-80% bg-[length:300%_auto] opacity-15 group-hover/avatar:bg-linear-to-r" /> <div className="z-1 blur-lg" /> <img src={item.image} @@ -68,7 +68,7 @@ export default function AvatarList({ className={cn("rounded-full object-cover", sizes[size] ?? sizes.md)} /> </div> - <div className="absolute bottom-full left-1/2 -translate-x-1/2 translate-y-2 transform whitespace-nowrap rounded bg-slate-900 p-2 text-white opacity-0 transition-all duration-300 ease-in-out group-hover:-translate-y-2 group-hover:opacity-100 dark:bg-slate-100 dark:text-slate-900"> + <div className="absolute bottom-full left-1/2 -translate-x-1/2 translate-y-2 transform whitespace-nowrap rounded bg-slate-900 p-2 text-white opacity-0 transition duration-300 ease-in-out group-hover/avatar:-translate-y-2 group-hover/avatar:opacity-100 dark:bg-slate-100 dark:text-slate-900"> <div className="text-sm font-semibold">{item.name}</div> <div className="text-sm">{item.position}</div> </div> diff --git a/animata/list/flipping-cards.stories.tsx b/animata/list/flipping-cards.stories.tsx index 88e905ea..ee84040f 100644 --- a/animata/list/flipping-cards.stories.tsx +++ b/animata/list/flipping-cards.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import FlippingCard from "@/animata/list/flipping-cards"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Flipping Cards", diff --git a/animata/list/flipping-cards.tsx b/animata/list/flipping-cards.tsx index a0be0de4..884f0f9f 100644 --- a/animata/list/flipping-cards.tsx +++ b/animata/list/flipping-cards.tsx @@ -22,10 +22,10 @@ interface FlippingCardProps { const Card = ({ show, reveal }: CardProps) => { const common = "absolute flex w-full h-full [backface-visibility:hidden]"; return ( - <div className={cn("group h-60 w-48 [perspective:1000px]")}> + <div className={cn("group/flip h-60 w-48 [perspective:1000px]")}> <div className={cn( - "relative h-full transition-all delay-75 duration-500 ease-linear [transform-style:preserve-3d] group-hover:[transform:rotateY(-180deg)]", + "relative h-full transition delay-75 duration-500 ease-linear [transform-style:preserve-3d] group-hover/flip:[transform:rotateY(-180deg)]", )} > <div className={cn("bg-white", common)}>{show}</div> @@ -48,11 +48,13 @@ const CardDetails = ({ title, image, font, index }: CardDetailsProps) => { <Card show={ <div className="flex w-full flex-col border-[1px] border-black/15 px-3 py-4 text-sm"> - <span className="border-t-2 border-black pt-1">{font}</span> + <span className="border-t-2 border-black text-black pt-1">{font}</span> - <span className="mt-4 border-b-2 border-black px-1 font-serif text-8xl">{title}</span> + <span className="mt-4 border-b-2 border-black text-black px-1 font-serif text-8xl"> + {title} + </span> <div className="mt-12 flex items-center justify-between"> - <span>{index}</span> + <span>{(index ?? 0) + 1}</span> <PlusCircle size={18} /> </div> </div> @@ -64,8 +66,8 @@ const CardDetails = ({ title, image, font, index }: CardDetailsProps) => { {font.split(" ")[0]} </Marquee> <div className="flex items-center justify-between px-3"> - <span className="text-white">See more</span> - <PlusCircle size={18} color="white" /> + <span className="text-black">See more</span> + <PlusCircle size={18} color="black" /> </div> </div> } diff --git a/animata/list/flower-menu.stories.tsx b/animata/list/flower-menu.stories.tsx index ace2b1fc..3eabc811 100644 --- a/animata/list/flower-menu.stories.tsx +++ b/animata/list/flower-menu.stories.tsx @@ -1,3 +1,4 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { Codepen, Facebook, @@ -8,9 +9,7 @@ import { Twitter, Youtube, } from "lucide-react"; - import FlowerMenu from "@/animata/list/flower-menu"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Flower Menu", diff --git a/animata/list/flower-menu.tsx b/animata/list/flower-menu.tsx index 865150d4..dc51bd03 100644 --- a/animata/list/flower-menu.tsx +++ b/animata/list/flower-menu.tsx @@ -1,5 +1,5 @@ -import { useState } from "react"; import Link from "next/link"; +import { useState } from "react"; type MenuItem = { icon: React.ComponentType<React.SVGProps<SVGSVGElement>>; @@ -47,7 +47,7 @@ const MenuToggler = ({ /> <label htmlFor="menu-toggler" - className="absolute inset-0 z-20 m-auto flex cursor-pointer items-center justify-center rounded-full transition-all" + className="absolute inset-0 z-20 m-auto flex cursor-pointer items-center justify-center rounded-full transition" style={{ backgroundColor, color: iconColor, @@ -63,7 +63,7 @@ const MenuToggler = ({ {[0, 1, 2].map((i) => ( <span key={i} - className={`absolute bg-current transition-all ${ + className={`absolute bg-current transition ${ isOpen && i === 0 ? "opacity-0" : isOpen @@ -110,7 +110,7 @@ const MenuItem = ({ const Icon = item.icon; return ( <li - className={`absolute inset-0 m-auto transition-all ${isOpen ? "opacity-100" : "opacity-0"}`} + className={`absolute inset-0 m-auto transition ${isOpen ? "opacity-100" : "opacity-0"}`} style={{ width: itemSize, height: itemSize, @@ -124,7 +124,7 @@ const MenuItem = ({ href={item.href} target="_blank" rel="noopener noreferrer" - className={`flex h-full w-full items-center justify-center rounded-full opacity-60 transition-all duration-100 ${ + className={`flex h-full w-full items-center justify-center rounded-full opacity-60 transition duration-100 ${ isOpen ? "pointer-events-auto" : "pointer-events-none" } group hover:scale-125 hover:opacity-100`} style={{ diff --git a/animata/list/menu-animation.stories.tsx b/animata/list/menu-animation.stories.tsx index a07cc6de..0dd0e565 100644 --- a/animata/list/menu-animation.stories.tsx +++ b/animata/list/menu-animation.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import MenuAnimation from "@/animata/list/menu-animation"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Menu Animation", @@ -16,13 +16,6 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { - menuItems: [ - "Home", - "Features", - "Company", - "FAQs", - "Terms of Use", - "Get In Touch", - ], + menuItems: ["Home", "Features", "Company", "FAQs", "Terms of Use", "Get In Touch"], }, }; diff --git a/animata/list/menu-animation.tsx b/animata/list/menu-animation.tsx index 4e13ed7d..7cc97695 100644 --- a/animata/list/menu-animation.tsx +++ b/animata/list/menu-animation.tsx @@ -8,10 +8,10 @@ export default function MenuAnimation({ menuItems }: MenuAnimationProps) { return ( <div className="flex min-w-fit flex-col gap-2 overflow-hidden px-10"> {menuItems.map((item, index) => ( - <div key={index} className="group flex items-center gap-2"> - <ArrowRight className="size-5 -translate-x-full text-black opacity-0 transition-all duration-300 ease-out hover:z-20 group-hover:translate-x-0 group-hover:text-blue-500 group-hover:opacity-100 md:size-10" /> + <div key={index} className="group/menu flex items-center gap-2"> + <ArrowRight className="size-5 -translate-x-full text-black opacity-0 transition duration-300 ease-out hover:z-20 group-hover/menu:translate-x-0 group-hover/menu:text-blue-500 group-hover/menu:opacity-100 md:size-10" /> - <h1 className="z-10 -translate-x-6 cursor-pointer font-mono font-semibold text-black transition-transform duration-300 ease-out group-hover:translate-x-0 group-hover:text-blue-500 dark:text-white md:-translate-x-12 md:text-4xl md:group-hover:translate-x-0"> + <h1 className="z-10 -translate-x-6 cursor-pointer font-mono font-semibold text-black transition-transform duration-300 ease-out group-hover/menu:translate-x-0 group-hover/menu:text-blue-500 dark:text-white md:-translate-x-12 md:text-4xl md:group-hover/menu:translate-x-0"> {item} </h1> </div> diff --git a/animata/list/orbiting-items-3-d.stories.tsx b/animata/list/orbiting-items-3-d.stories.tsx index d58c3afd..6896da4b 100644 --- a/animata/list/orbiting-items-3-d.stories.tsx +++ b/animata/list/orbiting-items-3-d.stories.tsx @@ -1,6 +1,5 @@ -import OrbitingItems3D from "@/animata/list/orbiting-items-3-d"; -import { LucideIcons } from "@/animata/list/orbiting-items-3-d"; -import { Meta, StoryObj } from "@storybook/react"; +import type { Meta, StoryObj } from "@storybook/react"; +import OrbitingItems3D, { LucideIcons } from "@/animata/list/orbiting-items-3-d"; const meta = { title: "List/Orbiting Items 3 D", diff --git a/animata/list/orbiting-items-3-d.tsx b/animata/list/orbiting-items-3-d.tsx index 6e086c87..09348289 100644 --- a/animata/list/orbiting-items-3-d.tsx +++ b/animata/list/orbiting-items-3-d.tsx @@ -1,24 +1,34 @@ -import { useEffect, useState } from "react"; import { Apple, BadgeCent, BadgeInfo, BadgeX, Banana, Bolt } from "lucide-react"; +import { useEffect, useState } from "react"; import { Icons } from "@/components/icons"; import { cn } from "@/lib/utils"; export const CenterIcon = ( <Icons.logo - className="center z-0 h-32 w-32 animate-float rounded-full bg-gradient-to-r from-purple-400 to-blue-400 shadow-lg" + className="center z-1 h-32 w-32 animate-float rounded-full bg-linear-to-br from-violet-500 via-purple-500 to-indigo-600 p-8 shadow-2xl" style={{ - boxShadow: "0 0 20px 10px rgba(128, 90, 213, 0.6)", + boxShadow: "0 0 40px 15px rgba(139, 92, 246, 0.4), 0 0 80px 30px rgba(99, 102, 241, 0.2)", }} /> ); + +const iconColors = [ + "text-amber-500", + "text-sky-500", + "text-rose-500", + "text-emerald-500", + "text-violet-500", + "text-orange-500", +]; + export const LucideIcons = [ - <Banana key="banana" className="h-12 w-12" />, - <Bolt key="bolt" className="h-12 w-12" />, - <BadgeX key="badge-x" className="h-12 w-12" />, - <BadgeCent key="badge-cent" className="h-12 w-12" />, - <BadgeInfo key="badge-info" className="h-12 w-12" />, - <Apple key="apple" className="h-12 w-12" />, + <Banana key="banana" className={cn("h-12 w-12", iconColors[0])} />, + <Bolt key="bolt" className={cn("h-12 w-12", iconColors[1])} />, + <BadgeX key="badge-x" className={cn("h-12 w-12", iconColors[2])} />, + <BadgeCent key="badge-cent" className={cn("h-12 w-12", iconColors[3])} />, + <BadgeInfo key="badge-info" className={cn("h-12 w-12", iconColors[4])} />, + <Apple key="apple" className={cn("h-12 w-12", iconColors[5])} />, ]; interface OrbitingItems3DProps { @@ -63,6 +73,61 @@ interface OrbitingItems3DProps { className?: string; } +function OrbitingItem({ + index, + radiusX, + radiusY, + totalItems, + tiltAngle, + duration, + children, +}: { + index: number; + radiusX: number; + radiusY: number; + totalItems: number; + tiltAngle: number; + duration: number; + children: React.ReactNode; +}) { + const angleStep = 360 / totalItems; + const [angle, setAngle] = useState(index * angleStep); + + useEffect(() => { + const animation = setInterval(() => { + setAngle((prevAngle) => (prevAngle + 1) % 360); + }, duration); + return () => clearInterval(animation); + }, [duration]); + + const radians = (angle * Math.PI) / 180; + const x = radiusX * Math.cos(radians); + const y = radiusY * Math.sin(radians); + + const tiltRadians = (tiltAngle * Math.PI) / 180; + const xTilted = x * Math.cos(tiltRadians) - y * Math.sin(tiltRadians); + const yTilted = x * Math.sin(tiltRadians) + y * Math.cos(tiltRadians); + const zIndex = angle > 180 ? 0 : 3; + const scale = angle < 180 ? 1.2 : 0.9; + + return ( + <div + className="absolute flex h-20 w-20 items-center justify-center rounded-full border border-white/10 bg-white/5 shadow-2xl shadow-purple-500/20 backdrop-blur-xl transition-transform duration-500 ease-out" + style={{ + left: `${50 + xTilted}%`, + top: `${50 + yTilted}%`, + transform: `translate(-50%, -50%) scale(${scale})`, + zIndex, + transition: "transform 0.8s ease-in-out", + }} + > + <div className="transition-transform ease-linear direction-reverse repeat-infinite"> + {children} + </div> + </div> + ); +} + export default function OrbitingItems3D({ radiusX = 120, radiusY = 30, @@ -73,71 +138,16 @@ export default function OrbitingItems3D({ containerClassName, className, }: OrbitingItems3DProps) { - // The OrbitingItems3D component creates an animated elliptical orbiting effect for a set of items around a central element. - // It allows for a visually dynamic layout, where items revolve around the center in a smooth, continuous motion, - // creating the illusion of 3D movement. The component provides a range of customizable options to control the orbit, - // including the size of the elliptical path, tilt angle, and animation duration. - - const CalculateItemStyle = ({ - index, - radiusX, - radiusY, - totalItems, - tiltAngle, - duration, - }: { - index: number; - radiusX: number; - radiusY: number; - totalItems: number; - tiltAngle: number; - duration: number; - }) => { - const angleStep = 360 / totalItems; - const [angle, setAngle] = useState(index * angleStep); - useEffect(() => { - const animation = setInterval(() => { - setAngle((prevAngle) => (prevAngle + 1) % 360); - }, duration); - - return () => clearInterval(animation); - }, [duration]); - // Calculate the current angle for the item on the orbit - - const radians = (angle * Math.PI) / 180; - - // X and Y positions before tilt - const x = radiusX * Math.cos(radians); - const y = radiusY * Math.sin(radians); - - // Apply the tilt using rotation matrix - const tiltRadians = (tiltAngle * Math.PI) / 180; - const xTilted = x * Math.cos(tiltRadians) - y * Math.sin(tiltRadians); - const yTilted = x * Math.sin(tiltRadians) + y * Math.cos(tiltRadians); - const zIndex = angle > 180 ? -1 : 1; - const scale = angle < 180 ? 1.2 : 1.0; - - return { - left: `${50 + xTilted}%`, - top: `${50 + yTilted}%`, - transform: `translate(-50%, -50%) scale(${scale})`, - zIndex: zIndex, - transition: "transform 0.8s ease-in-out", - }; - }; - - const reverse = cn("transition-transform ease-linear direction-reverse repeat-infinite"); - return ( <div className={cn( - "storybook-fix group flex items-center justify-center py-32", + "full-content group flex items-center justify-center py-32", containerClassName, )} > <div className={cn( - "absolute inset-0 -z-10 h-full w-full items-center bg-gradient-to-r from-violet-200 to-pink-200", + "absolute inset-0 -z-10 h-full w-full items-center bg-linear-to-br from-slate-950 via-purple-950 to-slate-900", backgroundClassName, )} /> @@ -148,24 +158,19 @@ export default function OrbitingItems3D({ )} > {CenterIcon} - {items.map((item, index) => { - return ( - <div - key={index} - className="absolute flex h-20 w-20 items-center justify-center rounded-full bg-white/30 shadow-xl shadow-purple-500/30 backdrop-blur-md transition-transform duration-500 ease-out" - style={CalculateItemStyle({ - index, - radiusX, - radiusY, - tiltAngle, - totalItems: items.length, - duration, - })} - > - <div className={reverse}>{item}</div> - </div> - ); - })} + {items.map((item, index) => ( + <OrbitingItem + key={index} + index={index} + radiusX={radiusX} + radiusY={radiusY} + totalItems={items.length} + tiltAngle={tiltAngle} + duration={duration} + > + {item} + </OrbitingItem> + ))} </div> </div> ); diff --git a/animata/list/orbiting-items.stories.tsx b/animata/list/orbiting-items.stories.tsx index 06291a94..d454c1aa 100644 --- a/animata/list/orbiting-items.stories.tsx +++ b/animata/list/orbiting-items.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import OrbitingItems, { testOrbitingItems } from "@/animata/list/orbiting-items"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Orbiting Items", @@ -18,5 +18,6 @@ export const Primary: Story = { args: { items: testOrbitingItems, radius: 50, + pauseOnHover: false, }, }; diff --git a/animata/list/orbiting-items.tsx b/animata/list/orbiting-items.tsx index 1eb9c020..28a7f186 100644 --- a/animata/list/orbiting-items.tsx +++ b/animata/list/orbiting-items.tsx @@ -2,12 +2,12 @@ import { Icons } from "@/components/icons"; import { cn } from "@/lib/utils"; export const testOrbitingItems = [ - <Icons.gitHub key="github" className="h-6 w-6" />, - <Icons.twitter key="twitter" className="h-6 w-6" />, - <Icons.react key="yarn" className="h-6 w-6" />, - <Icons.tailwind key="tailwind" className="h-6 w-6" />, - <Icons.framerMotion key="framer" className="h-6 w-6" />, - <Icons.apple key="apple" className="h-6 w-6" />, + <Icons.gitHub key="github" className="h-6 w-6 text-black" />, + <Icons.twitter key="twitter" className="h-6 w-6 text-black" />, + <Icons.react key="yarn" className="h-6 w-6 text-black" />, + <Icons.tailwind key="tailwind" className="h-6 w-6 text-black" />, + <Icons.framerMotion key="framer" className="h-6 w-6 text-black" />, + <Icons.apple key="apple" className="h-6 w-6 text-black" />, ]; interface OrbitingItemsProps { @@ -75,16 +75,16 @@ export default function OrbitingItems({ // The items rotate in the opposite direction to the parent element so they appear to be stationary. const reverse = cn( - "animate-[rotate-full_45s] transition-transform ease-linear direction-reverse repeat-infinite", + "animate-rotate-full transition-transform ease-linear direction-reverse repeat-infinite", { - "group-hover:[animation-play-state:paused]": pauseOnHover, + "group-hover/orbit:[animation-play-state:paused]": pauseOnHover, }, ); return ( <div className={cn( - "storybook-fix group flex items-center justify-center py-32", + "full-content group/orbit flex items-center justify-center py-32", containerClassName, )} > @@ -96,9 +96,9 @@ export default function OrbitingItems({ /> <div className={cn( - "relative flex h-64 w-64 animate-[rotate-full_45s] items-center justify-center ease-linear repeat-infinite", + "relative flex h-64 w-64 animate-rotate-full items-center justify-center ease-linear repeat-infinite", { - "group-hover:[animation-play-state:paused]": pauseOnHover, + "group-hover/orbit:[animation-play-state:paused]": pauseOnHover, }, className, )} diff --git a/animata/list/reveal-image.stories.tsx b/animata/list/reveal-image.stories.tsx index 2cd5c4c7..6e83887a 100644 --- a/animata/list/reveal-image.stories.tsx +++ b/animata/list/reveal-image.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import RevealImageList from "@/animata/list/reveal-image"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Reveal image", diff --git a/animata/list/reveal-image.tsx b/animata/list/reveal-image.tsx index 6e2226bd..1a5f78a4 100644 --- a/animata/list/reveal-image.tsx +++ b/animata/list/reveal-image.tsx @@ -13,11 +13,11 @@ interface ShowImageListItemProps { function RevealImageListItem({ text, images }: ShowImageListItemProps) { const container = "absolute right-8 -top-1 z-40 h-20 w-16"; const effect = - "relative duration-500 delay-100 shadow-none group-hover:shadow-xl scale-0 group-hover:scale-100 opacity-0 group-hover:opacity-100 group-hover:w-full group-hover:h-full w-16 h-16 overflow-hidden transition-all rounded-md"; + "relative duration-500 delay-100 shadow-none group-hover/reveal:shadow-xl scale-0 group-hover/reveal:scale-100 opacity-0 group-hover/reveal:opacity-100 group-hover/reveal:w-full group-hover/reveal:h-full w-16 h-16 overflow-hidden transition rounded-md"; return ( - <div className="group relative h-fit w-fit overflow-visible py-8"> - <h1 className="text-7xl font-black text-foreground transition-all duration-500 group-hover:opacity-40"> + <div className="group/reveal relative h-fit w-fit overflow-visible py-8"> + <h1 className="text-7xl font-black text-foreground transition duration-500 group-hover/reveal:opacity-40"> {text} </h1> <div className={container}> @@ -28,7 +28,7 @@ function RevealImageListItem({ text, images }: ShowImageListItemProps) { <div className={cn( container, - "translate-x-0 translate-y-0 rotate-0 transition-all delay-150 duration-500 group-hover:translate-x-6 group-hover:translate-y-6 group-hover:rotate-12", + "translate-x-0 translate-y-0 rotate-0 transition delay-150 duration-500 group-hover/reveal:translate-x-6 group-hover/reveal:translate-y-6 group-hover/reveal:rotate-12", )} > <div className={cn(effect, "duration-200")}> diff --git a/animata/list/transaction-list.stories.tsx b/animata/list/transaction-list.stories.tsx index 600c85c8..71cdc1c6 100644 --- a/animata/list/transaction-list.stories.tsx +++ b/animata/list/transaction-list.stories.tsx @@ -1,7 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { ChefHat, Receipt, Signal } from "lucide-react"; - import TransactionList from "@/animata/list/transaction-list"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Transaction List", diff --git a/animata/list/transaction-list.tsx b/animata/list/transaction-list.tsx index 9d34f1f4..df279b03 100644 --- a/animata/list/transaction-list.tsx +++ b/animata/list/transaction-list.tsx @@ -1,6 +1,7 @@ -import React, { useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { ArrowRight, CreditCard, X } from "lucide-react"; +import { AnimatePresence, motion } from "motion/react"; +import type React from "react"; +import { useState } from "react"; interface Transaction { id: string; @@ -15,57 +16,62 @@ interface Transaction { cardType?: string; } +const spring = { + type: "spring" as const, + stiffness: 350, + damping: 30, +}; + export default function TransactionList({ transactions }: { transactions: Transaction[] }) { - const [selectedTransaction, setSelectedTransaction] = useState<Transaction | null>(null); + const [selectedId, setSelectedId] = useState<string | null>(null); + const selected = transactions.find((t) => t.id === selectedId) ?? null; return ( <div className="mx-auto max-w-md font-sans"> <motion.div layout - className="w-[350px] overflow-hidden rounded-3xl bg-white shadow" - initial={{ - height: 420, - width: 300, - }} - animate={{ - height: selectedTransaction ? 350 : 420, - width: 300, - }} - transition={{ duration: 0.5, ease: "easeInOut" }} + className="w-[300px] overflow-hidden rounded-3xl bg-white shadow-lg" + transition={spring} > - <AnimatePresence mode="wait"> - {!selectedTransaction ? ( + <AnimatePresence mode="popLayout"> + {!selected ? ( <motion.div key="list" initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} - transition={{ duration: 0.2 }} + transition={{ duration: 0.15 }} > - <h2 className="pl-6 pt-3 text-xl font-semibold text-gray-400">Transactions</h2> - <div className="space-y-2 p-2"> + <h2 className="pl-6 pt-4 text-lg font-semibold text-gray-400">Transactions</h2> + <div className="space-y-0.5 p-2"> {transactions.map((transaction) => ( - <motion.div + <motion.button key={transaction.id} - layoutId={`transaction-${transaction.id}`} - className="flex cursor-pointer items-center justify-between rounded-lg p-1" - onClick={() => setSelectedTransaction(transaction)} + layoutId={`card-${transaction.id}`} + className="flex w-full cursor-pointer items-center justify-between rounded-2xl p-2 transition-colors hover:bg-gray-50" + onClick={() => setSelectedId(transaction.id)} + transition={spring} > - <div className="flex items-center space-x-3"> + <div className="flex items-center gap-3"> <motion.div layoutId={`icon-${transaction.id}`} - className="rounded-full bg-black" - transition={{ duration: 0.5 }} + className="flex h-10 w-10 items-center justify-center rounded-full bg-black" + transition={spring} > {transaction.icon} </motion.div> - <div> - <motion.p layoutId={`name-${transaction.id}`} className="font-medium"> + <div className="text-left"> + <motion.p + layoutId={`name-${transaction.id}`} + className="text-sm font-medium text-gray-800" + transition={spring} + > {transaction.name} </motion.p> <motion.p layoutId={`type-${transaction.id}`} - className="text-sm text-gray-400" + className="text-xs text-gray-400" + transition={spring} > {transaction.type} </motion.p> @@ -73,20 +79,25 @@ export default function TransactionList({ transactions }: { transactions: Transa </div> <motion.p layoutId={`amount-${transaction.id}`} - className="font-bold text-gray-400" + className="text-sm font-semibold text-gray-500" + transition={spring} > ${Math.abs(transaction.amount).toFixed(2)} </motion.p> - </motion.div> + </motion.button> ))} </div> - <motion.button - whileHover={{ scale: 1.05 }} - whileTap={{ scale: 0.95 }} - className="m-auto mt-4 flex w-11/12 items-center justify-center rounded-xl bg-gray-100 py-2 text-gray-800" - > - All Transactions <ArrowRight className="ml-2 h-4 w-4" /> - </motion.button> + <div className="px-3 pb-3"> + <motion.button + whileHover={{ scale: 1.02 }} + whileTap={{ scale: 0.98 }} + className="flex w-full items-center justify-center gap-2 rounded-xl bg-gray-100 py-2.5 text-sm font-medium text-gray-600" + transition={spring} + > + All Transactions + <ArrowRight className="h-4 w-4" /> + </motion.button> + </div> </motion.div> ) : ( <motion.div @@ -94,64 +105,77 @@ export default function TransactionList({ transactions }: { transactions: Transa initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} - transition={{ duration: 0.2 }} + transition={{ duration: 0.15 }} className="p-4" > <div className="mb-4 flex items-center justify-between"> <motion.div - layoutId={`transaction-${selectedTransaction.id}`} - className="flex items-center space-x-3" + layoutId={`card-${selected.id}`} + className="flex items-center gap-3" + transition={spring} > <motion.div - layoutId={`icon-${selectedTransaction.id}`} - className="rounded-xl bg-black" - transition={{ duration: 0.5 }} + layoutId={`icon-${selected.id}`} + className="flex h-12 w-12 items-center justify-center rounded-2xl bg-black" + transition={spring} > - {selectedTransaction.icon} + {selected.icon} </motion.div> </motion.div> - <button onClick={() => setSelectedTransaction(null)}> - <X className="h-6 w-6 rounded-full bg-gray-400 text-white" /> - </button> + <motion.button + initial={{ opacity: 0, scale: 0.8 }} + animate={{ opacity: 1, scale: 1 }} + transition={{ delay: 0.15 }} + onClick={() => setSelectedId(null)} + className="flex h-7 w-7 items-center justify-center rounded-full bg-gray-200 text-gray-500 transition-colors hover:bg-gray-300" + > + <X className="h-4 w-4" /> + </motion.button> </div> - <div className="flex justify-between border-b border-dashed pb-4"> - <div className="space-y-1"> - <motion.p layoutId={`name-${selectedTransaction.id}`} className="font-medium"> - {selectedTransaction.name} + + <div className="flex items-start justify-between border-b border-dashed border-gray-200 pb-4"> + <div className="space-y-0.5"> + <motion.p + layoutId={`name-${selected.id}`} + className="font-medium text-gray-800" + transition={spring} + > + {selected.name} </motion.p> <motion.p - layoutId={`type-${selectedTransaction.id}`} + layoutId={`type-${selected.id}`} className="text-sm text-gray-400" + transition={spring} > - {selectedTransaction.type} + {selected.type} </motion.p> </div> <motion.p - layoutId={`amount-${selectedTransaction.id}`} - className="font-bold text-gray-400" + layoutId={`amount-${selected.id}`} + className="text-lg font-bold text-gray-700" + transition={spring} > - ${Math.abs(selectedTransaction.amount).toFixed(2)} + ${Math.abs(selected.amount).toFixed(2)} </motion.p> </div> + <motion.div - initial={{ opacity: 0, y: 20 }} + initial={{ opacity: 0, y: 12 }} animate={{ opacity: 1, y: 0 }} - transition={{ delay: 0.2 }} + transition={{ delay: 0.1, duration: 0.25 }} className="space-y-4" > - <div className="mt-4 space-y-2 text-gray-400"> - <p>#{selectedTransaction.id}</p> - <p>{selectedTransaction.date}</p> - <p>{selectedTransaction.time}</p> + <div className="mt-4 space-y-1.5 text-sm text-gray-400"> + <p>#{selected.id}</p> + <p>{selected.date}</p> + <p>{selected.time}</p> </div> - <div className="border-t border-dashed pt-4 text-gray-400"> - <p className="font-medium">Paid Via {selectedTransaction.paymentMethod}</p> - <div className="mt-2 flex items-center space-x-2"> + <div className="border-t border-dashed border-gray-200 pt-4 text-sm text-gray-400"> + <p className="font-medium text-gray-500">Paid Via {selected.paymentMethod}</p> + <div className="mt-2 flex items-center gap-2"> <CreditCard className="h-5 w-5" /> - <p>XXXX {selectedTransaction.cardLastFour}</p> - <p> - {selectedTransaction.cardType === "visa" ? <VisaLogo /> : <MasterCardLogo />} - </p> + <p>XXXX {selected.cardLastFour}</p> + {selected.cardType === "visa" ? <VisaLogo /> : <MasterCardLogo />} </div> </div> </motion.div> diff --git a/animata/list/transition-list.stories.tsx b/animata/list/transition-list.stories.tsx index 91aa6de7..61532788 100644 --- a/animata/list/transition-list.stories.tsx +++ b/animata/list/transition-list.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TransitionList from "@/animata/list/transition-list"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Transition List", diff --git a/animata/list/transition-list.tsx b/animata/list/transition-list.tsx index 698cb906..c7d5e31b 100644 --- a/animata/list/transition-list.tsx +++ b/animata/list/transition-list.tsx @@ -1,5 +1,5 @@ -import React, { ReactNode, useEffect, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; +import { AnimatePresence, motion } from "motion/react"; +import { type ReactNode, useEffect, useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/overlay/modal.stories.tsx b/animata/overlay/modal.stories.tsx index 516b43b8..63d4dcc8 100644 --- a/animata/overlay/modal.stories.tsx +++ b/animata/overlay/modal.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Modal from "@/animata/overlay/modal"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Overlay/Modal", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + modalSize: { + control: { type: "select" }, + options: ["sm", "lg"], + }, + }, } satisfies Meta<typeof Modal>; export default meta; diff --git a/animata/overlay/modal.tsx b/animata/overlay/modal.tsx index 267726d6..46830c9c 100644 --- a/animata/overlay/modal.tsx +++ b/animata/overlay/modal.tsx @@ -1,6 +1,8 @@ -import { useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; +"use client"; + import { CircleAlert } from "lucide-react"; +import { AnimatePresence, motion } from "motion/react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; @@ -34,7 +36,7 @@ export default function Modal({ modalSize = "lg" }: { modalSize?: "sm" | "lg" }) exit={{ scale: 0, rotate: "180deg" }} onClick={(e) => e.stopPropagation()} className={cn( - "relative w-full max-w-lg cursor-default overflow-hidden rounded-xl bg-gradient-to-r from-indigo-500 via-purple-500 to-indigo-500 p-6 text-white shadow-2xl", + "relative w-full max-w-lg cursor-default overflow-hidden rounded-xl bg-linear-to-r from-indigo-500 via-purple-500 to-indigo-500 p-6 text-white shadow-2xl", { "max-w-sm": modalSize === "sm", }, diff --git a/animata/preloader/vertical-tiles.stories.tsx b/animata/preloader/vertical-tiles.stories.tsx index b05d1f40..08a2b9d0 100644 --- a/animata/preloader/vertical-tiles.stories.tsx +++ b/animata/preloader/vertical-tiles.stories.tsx @@ -1,7 +1,5 @@ -import React from "react"; - +import type { Meta, StoryObj } from "@storybook/react"; import VerticalTiles from "@/animata/preloader/vertical-tiles"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Preloader/Vertical Tiles", @@ -24,7 +22,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { - tileClassName: "bg-gradient-to-r from-zinc-100 to-zinc-300", + tileClassName: "bg-linear-to-r from-zinc-100 to-zinc-300", minTileWidth: 32, animationDuration: 0.5, animationDelay: 1, @@ -39,7 +37,7 @@ export const Primary: Story = { export const Narrow: Story = { args: { - tileClassName: "bg-gradient-to-r from-zinc-100 to-zinc-300", + tileClassName: "bg-linear-to-r from-zinc-100 to-zinc-300", minTileWidth: 16, animationDuration: 0.5, animationDelay: 1, diff --git a/animata/preloader/vertical-tiles.tsx b/animata/preloader/vertical-tiles.tsx index ea25221d..5d591f2e 100644 --- a/animata/preloader/vertical-tiles.tsx +++ b/animata/preloader/vertical-tiles.tsx @@ -1,5 +1,6 @@ -import React, { useCallback, useEffect, useRef, useState } from "react"; -import { motion, useInView } from "framer-motion"; +import { motion, useInView } from "motion/react"; +import type React from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/progress/animatedtimeline.stories.tsx b/animata/progress/animatedtimeline.stories.tsx index fea084af..378dd123 100644 --- a/animata/progress/animatedtimeline.stories.tsx +++ b/animata/progress/animatedtimeline.stories.tsx @@ -1,5 +1,5 @@ -import Animatedtimeline, { TimelineEvent } from "@/animata/progress/animatedtimeline"; -import { Meta, StoryObj } from "@storybook/react"; +import type { Meta, StoryObj } from "@storybook/react"; +import Animatedtimeline, { type TimelineEvent } from "@/animata/progress/animatedtimeline"; const meta = { title: "Progress/Animatedtimeline", diff --git a/animata/progress/animatedtimeline.tsx b/animata/progress/animatedtimeline.tsx index 09c19c42..4c612d0e 100644 --- a/animata/progress/animatedtimeline.tsx +++ b/animata/progress/animatedtimeline.tsx @@ -1,7 +1,8 @@ "use client"; -import React, { useState } from "react"; -import { motion } from "framer-motion"; +import { motion } from "motion/react"; +import type React from "react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; @@ -87,7 +88,7 @@ const TimelineItem: React.FC<TimelineItemProps> = ({ transition={{ duration: fillDuration, delay: fillDelay }} /> </div> - <div className={cn("flex-grow leading-5", !isLast && "mb-3")}> + <div className={cn("grow leading-5", !isLast && "mb-3")}> {customRender ? ( customRender(event) ) : ( diff --git a/animata/progress/spinner.stories.tsx b/animata/progress/spinner.stories.tsx index faf4a3ac..360d1f12 100644 --- a/animata/progress/spinner.stories.tsx +++ b/animata/progress/spinner.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Spinner from "@/animata/progress/spinner"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Progress/Spinner", @@ -16,7 +16,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { - className: "bg-gradient-to-bl from-black to-blue-400", + className: "bg-linear-to-bl from-black to-blue-400", outerSize: "h-8 w-8", childSize: "h-6 w-6", }, diff --git a/animata/progress/spinner.tsx b/animata/progress/spinner.tsx index 2830b452..70ade738 100644 --- a/animata/progress/spinner.tsx +++ b/animata/progress/spinner.tsx @@ -5,15 +5,11 @@ interface SpinnerProps { outerSize?: string; childSize?: string; } -export default function Spinner({ - className, - outerSize, - childSize, -}: SpinnerProps) { +export default function Spinner({ className, outerSize, childSize }: SpinnerProps) { return ( <div className={cn( - "m-2 h-8 w-8 animate-spin items-center justify-center rounded-full bg-gradient-to-bl from-pink-500 to-blue-600 p-0.5", + "m-2 h-8 w-8 animate-spin items-center justify-center rounded-full bg-linear-to-bl from-pink-500 to-blue-600 p-0.5", className, outerSize, )} diff --git a/animata/section/pricing.stories.tsx b/animata/section/pricing.stories.tsx index 284ef767..8f5bff20 100644 --- a/animata/section/pricing.stories.tsx +++ b/animata/section/pricing.stories.tsx @@ -1,4 +1,4 @@ -import { Meta, StoryObj } from "@storybook/react"; +import type { Meta, StoryObj } from "@storybook/react"; import Pricing from "./pricing"; diff --git a/animata/section/pricing.tsx b/animata/section/pricing.tsx index 692157a4..f3e9a4f7 100644 --- a/animata/section/pricing.tsx +++ b/animata/section/pricing.tsx @@ -1,5 +1,6 @@ -import React, { useEffect, useRef, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; +import { AnimatePresence, motion } from "motion/react"; +import type React from "react"; +import { useEffect, useRef, useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/skeleton/code.stories.tsx b/animata/skeleton/code.stories.tsx index 381ad790..4b186f23 100644 --- a/animata/skeleton/code.stories.tsx +++ b/animata/skeleton/code.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Code from "@/animata/skeleton/code"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Skeleton/Code", diff --git a/animata/skeleton/cookie-banner.stories.tsx b/animata/skeleton/cookie-banner.stories.tsx index 7fb81183..b55f1d79 100644 --- a/animata/skeleton/cookie-banner.stories.tsx +++ b/animata/skeleton/cookie-banner.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CookieBanner from "@/animata/skeleton/cookie-banner"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Skeleton/Cookie Banner", diff --git a/animata/skeleton/list.stories.tsx b/animata/skeleton/list.stories.tsx index c9da6eb1..a68e5390 100644 --- a/animata/skeleton/list.stories.tsx +++ b/animata/skeleton/list.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import List from "@/animata/skeleton/list"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Skeleton/List", diff --git a/animata/skeleton/receipt.stories.tsx b/animata/skeleton/receipt.stories.tsx index b2dca3c1..6663fbec 100644 --- a/animata/skeleton/receipt.stories.tsx +++ b/animata/skeleton/receipt.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Receipt from "@/animata/skeleton/receipt"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Skeleton/Receipt", diff --git a/animata/skeleton/report.stories.tsx b/animata/skeleton/report.stories.tsx index 66f2c038..2e95ede0 100644 --- a/animata/skeleton/report.stories.tsx +++ b/animata/skeleton/report.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Report from "@/animata/skeleton/report"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Skeleton/Report", diff --git a/animata/skeleton/wide-card.stories.tsx b/animata/skeleton/wide-card.stories.tsx index 7aa40b1f..30497ed0 100644 --- a/animata/skeleton/wide-card.stories.tsx +++ b/animata/skeleton/wide-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import WideCard from "@/animata/skeleton/wide-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Skeleton/Wide Card", diff --git a/animata/skeleton/wide-card.tsx b/animata/skeleton/wide-card.tsx index 30442363..fa222dd7 100644 --- a/animata/skeleton/wide-card.tsx +++ b/animata/skeleton/wide-card.tsx @@ -11,7 +11,7 @@ export default function WideCard() { <div className="h-2 w-3/4 rounded-md bg-muted" /> <div className="h-2 w-3/5 rounded-md bg-muted" /> </div> - <div className="w-fit flex-shrink-0"> + <div className="w-fit shrink-0"> <button className="w-8 rounded-sm bg-green-500 p-2"> <span className="block h-1.5 rounded-sm bg-muted" /> </button> diff --git a/animata/text/animated-gradient-text.stories.tsx b/animata/text/animated-gradient-text.stories.tsx index 8e2666fb..f63cfe24 100644 --- a/animata/text/animated-gradient-text.stories.tsx +++ b/animata/text/animated-gradient-text.stories.tsx @@ -1,8 +1,8 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { ArrowRight, Combine } from "lucide-react"; - import AnimatedGradientText from "@/animata/text/animated-gradient-text"; import { Separator } from "@/components/ui/separator"; -import { Meta, StoryObj } from "@storybook/react"; + const meta = { title: "Text/Animated Gradient Text", component: AnimatedGradientText, diff --git a/animata/text/animated-gradient-text.tsx b/animata/text/animated-gradient-text.tsx index 6a755109..e52dcc43 100644 --- a/animata/text/animated-gradient-text.tsx +++ b/animata/text/animated-gradient-text.tsx @@ -7,7 +7,7 @@ export default function AnimatedGradientText({ return ( <div className={cn( - "bg-size animate-bg-position bg-gradient-to-r from-yellow-500 from-30% via-yellow-700 via-50% to-pink-500 to-80% bg-[length:200%_auto] bg-clip-text text-transparent", + "bg-size animate-bg-position bg-linear-to-r from-yellow-500 from-30% via-yellow-700 via-50% to-pink-500 to-80% bg-[length:200%_auto] bg-clip-text text-transparent", className, )} > diff --git a/animata/text/bold-copy.stories.tsx b/animata/text/bold-copy.stories.tsx index 245907f6..87cc0710 100644 --- a/animata/text/bold-copy.stories.tsx +++ b/animata/text/bold-copy.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import BoldCopy from "@/animata/text/bold-copy"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Bold Copy", diff --git a/animata/text/bold-copy.tsx b/animata/text/bold-copy.tsx index be27f8fa..d1edc633 100644 --- a/animata/text/bold-copy.tsx +++ b/animata/text/bold-copy.tsx @@ -24,14 +24,14 @@ export default function BoldCopy({ return ( <div className={cn( - "group relative flex items-center justify-center bg-background px-2 py-2 md:px-6 md:py-4", + "group/bold relative flex items-center justify-center bg-background px-2 py-2 md:px-6 md:py-4", tourney.className, className, )} > <div className={cn( - "text-4xl font-bold uppercase text-foreground/15 transition-all group-hover:opacity-50 md:text-8xl", + "text-4xl font-bold uppercase text-foreground/15 transition-all group-hover/bold:opacity-50 md:text-8xl", backgroundTextClassName, )} > @@ -39,7 +39,7 @@ export default function BoldCopy({ </div> <div className={cn( - "text-md absolute font-bold uppercase text-foreground transition-all group-hover:text-4xl md:text-3xl group-hover:md:text-8xl", + "text-md absolute font-bold uppercase text-foreground transition-all duration-300 group-hover/bold:text-4xl md:text-3xl group-hover/bold:md:text-8xl", textClassName, )} > diff --git a/animata/text/circular-text.stories.tsx b/animata/text/circular-text.stories.tsx index a670f8ef..9d92bf1c 100644 --- a/animata/text/circular-text.stories.tsx +++ b/animata/text/circular-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CircularText from "@/animata/text/circular-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Circular Text", @@ -17,5 +17,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "CIRCULAR•TEXT•COMPONENT•", + spinDuration: 30, + radius: 5, }, }; diff --git a/animata/text/circular-text.tsx b/animata/text/circular-text.tsx index 4e9c88f9..04ec4ed7 100644 --- a/animata/text/circular-text.tsx +++ b/animata/text/circular-text.tsx @@ -1,5 +1,5 @@ +import { motion } from "motion/react"; import { useMemo } from "react"; -import { motion } from "framer-motion"; import { cn } from "@/lib/utils"; diff --git a/animata/text/counter.stories.tsx b/animata/text/counter.stories.tsx index ea3a8f5d..b900bf7a 100644 --- a/animata/text/counter.stories.tsx +++ b/animata/text/counter.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Counter, { Formatter } from "@/animata/text/counter"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Counter", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + direction: { + control: { type: "select" }, + options: ["up", "down"], + }, + }, } satisfies Meta<typeof Counter>; export default meta; @@ -17,6 +22,8 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { targetValue: 1000, + direction: "up", + delay: 0, }, }; @@ -24,7 +31,7 @@ export const Percentage: Story = { args: { targetValue: 100, direction: "up", - format: (value) => value.toFixed(0) + "%", + format: (value) => `${value.toFixed(0)}%`, }, }; diff --git a/animata/text/counter.tsx b/animata/text/counter.tsx index f9579a86..265ed3f2 100644 --- a/animata/text/counter.tsx +++ b/animata/text/counter.tsx @@ -1,5 +1,5 @@ +import { useInView, useMotionValue, useSpring } from "motion/react"; import { useEffect, useRef } from "react"; -import { useInView, useMotionValue, useSpring } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -71,7 +71,7 @@ export default function Counter({ useEffect(() => { springValue.on("change", (value) => { if (ref.current) { - ref.current.textContent = format ? format(value) : value; + ref.current.textContent = format ? format(value) : String(value); } }); }, [springValue, format]); diff --git a/animata/text/cycle-text.stories.tsx b/animata/text/cycle-text.stories.tsx index 7437e04b..0884476a 100644 --- a/animata/text/cycle-text.stories.tsx +++ b/animata/text/cycle-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CycleText from "@/animata/text/cycle-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Cycle Text", diff --git a/animata/text/cycle-text.tsx b/animata/text/cycle-text.tsx index 4ff005ca..0d861c45 100644 --- a/animata/text/cycle-text.tsx +++ b/animata/text/cycle-text.tsx @@ -1,5 +1,5 @@ +import { AnimatePresence, motion } from "motion/react"; import { useEffect, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; export default function CycleText() { const words = ["Hello", "World", "Ciaoo", "World"]; diff --git a/animata/text/double-underline.stories.tsx b/animata/text/double-underline.stories.tsx index 454d42fc..b17c0eab 100644 --- a/animata/text/double-underline.stories.tsx +++ b/animata/text/double-underline.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import DoubleUnderline from "@/animata/text/double-underline"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Double Underline", diff --git a/animata/text/double-underline.tsx b/animata/text/double-underline.tsx index 633f3acf..0a08bcaf 100644 --- a/animata/text/double-underline.tsx +++ b/animata/text/double-underline.tsx @@ -6,17 +6,20 @@ export default function DoubleUnderline({ ...props }: React.HTMLProps<HTMLSpanElement>) { const common = - "absolute h-px w-full bg-blue-500 transition-all duration-200 group-hover:opacity-50 dark:bg-white/70"; + "absolute h-px w-full bg-blue-500 transition duration-200 group-hover/underline:opacity-50 dark:bg-white/70"; return ( <span {...props} - className={cn("group relative inline-block cursor-pointer text-blue-500", className)} + className={cn( + "group/underline relative inline-block cursor-pointer text-blue-500", + className, + )} > {children} <span className={cn( common, - "pointer-events-none left-0 top-[calc(100%_-_2px)] group-hover:top-0", + "pointer-events-none left-0 top-[calc(100%_-_2px)] group-hover/underline:top-0", )} /> <span className={cn(common, "-bottom-[2px] left-0")} /> diff --git a/animata/text/gibberish-text.stories.tsx b/animata/text/gibberish-text.stories.tsx index d45e6b3c..65e137ba 100644 --- a/animata/text/gibberish-text.stories.tsx +++ b/animata/text/gibberish-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GibberishText from "@/animata/text/gibberish-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Gibberish Text", diff --git a/animata/text/gibberish-text.tsx b/animata/text/gibberish-text.tsx index 7de8d019..e168adb8 100644 --- a/animata/text/gibberish-text.tsx +++ b/animata/text/gibberish-text.tsx @@ -38,10 +38,6 @@ const Letter = ({ letter, className }: { letter: string; className?: string }) = ); }; -/** - * Animate each letter in the text using gibberish text effect. - * Renders a random letter first and then animates it to the correct letter. - */ export default function GibberishText({ text, className }: GibberishTextProps) { return ( <> diff --git a/animata/text/glitch-text.stories.tsx b/animata/text/glitch-text.stories.tsx index 4acb1b65..a213d12c 100644 --- a/animata/text/glitch-text.stories.tsx +++ b/animata/text/glitch-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GlitchText from "@/animata/text/glitch-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Glitch Text", diff --git a/animata/text/glitch-text.tsx b/animata/text/glitch-text.tsx index 0f843182..f10e77ee 100644 --- a/animata/text/glitch-text.tsx +++ b/animata/text/glitch-text.tsx @@ -1,4 +1,3 @@ -import React from "react"; import { Tomorrow } from "next/font/google"; import { cn } from "@/lib/utils"; @@ -19,8 +18,8 @@ export default function GlitchText({ starCount?: number; }) { return ( - <div className="relative flex items-center justify-center overflow-hidden"> - <div className="relative flex flex-col items-center justify-center bg-gradient-to-b from-[#4B0082] via-[#3B0066] to-[#2B004A]"> + <div className="full-content relative flex items-center justify-center overflow-hidden"> + <div className="relative flex flex-col items-center justify-center bg-linear-to-b from-[#4B0082] via-[#3B0066] to-[#2B004A]"> {[...Array(starCount)].map((_, i) => ( <div key={i} diff --git a/animata/text/jitter-text.stories.tsx b/animata/text/jitter-text.stories.tsx index f1041cba..c88e1e62 100644 --- a/animata/text/jitter-text.stories.tsx +++ b/animata/text/jitter-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import JitterText from "@/animata/text/jitter-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Jitter Text", @@ -17,6 +17,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "Jitter Text", + duration: 0.6, className: "text-6xl font-black", }, }; diff --git a/animata/text/jitter-text.tsx b/animata/text/jitter-text.tsx index 29f2dcab..a909f78f 100644 --- a/animata/text/jitter-text.tsx +++ b/animata/text/jitter-text.tsx @@ -1,4 +1,4 @@ -import { motion } from "framer-motion"; +import { motion } from "motion/react"; import { cn } from "@/lib/utils"; diff --git a/animata/text/jumping-text-instagram.stories.tsx b/animata/text/jumping-text-instagram.stories.tsx index 7d824b57..94e9fb32 100644 --- a/animata/text/jumping-text-instagram.stories.tsx +++ b/animata/text/jumping-text-instagram.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import JumpingTextInstagram from "@/animata/text/jumping-text-instagram"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Jumping Text Instagram", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + mode: { + control: { type: "select" }, + options: ["word", "character"], + }, + }, } satisfies Meta<typeof JumpingTextInstagram>; export default meta; @@ -17,5 +22,6 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "This is a jumping text effect", + mode: "word", }, }; diff --git a/animata/text/jumping-text-instagram.tsx b/animata/text/jumping-text-instagram.tsx index 75c09f46..2edd1d0b 100644 --- a/animata/text/jumping-text-instagram.tsx +++ b/animata/text/jumping-text-instagram.tsx @@ -1,4 +1,4 @@ -import { motion } from "framer-motion"; +import { motion } from "motion/react"; const splitText = (text: string, word = false) => { if (word) { @@ -24,21 +24,20 @@ export default function JumpingTextInstagram({ <motion.span key={index} initial={{ - translateY: 30, + y: 30, rotate: -30, opacity: 0, }} animate={{ - opacity: [0, 0.5, 1], - translateY: [30, -30, 0], - rotate: [-30, 30, 0], - transition: { - type: "spring", - damping: 10, - mass: 2, - delay: (isWordMode ? 0.05 : 0.01) * index, - duration: nodes.length * 0.05, - }, + opacity: 1, + y: 0, + rotate: 0, + }} + transition={{ + type: "spring", + damping: 10, + mass: 2, + delay: (isWordMode ? 0.05 : 0.01) * index, }} className="inline-block origin-center" > diff --git a/animata/text/mask-text.stories.tsx b/animata/text/mask-text.stories.tsx index 5beddd50..49a8247d 100644 --- a/animata/text/mask-text.stories.tsx +++ b/animata/text/mask-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import MaskText from "@/animata/text/mask-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Mask Text", diff --git a/animata/text/mask-text.tsx b/animata/text/mask-text.tsx index 41ed95db..d2a96dcc 100644 --- a/animata/text/mask-text.tsx +++ b/animata/text/mask-text.tsx @@ -1,7 +1,7 @@ "use client"; +import { motion } from "motion/react"; import { useRef, useState } from "react"; -import { motion } from "framer-motion"; import { useMousePosition } from "@/hooks/use-mouse-position"; import { cn } from "@/lib/utils"; @@ -33,10 +33,12 @@ export default function MaskText({ maskRepeat: "no-repeat", maskSize: "50px", }} - animate={{ - WebkitMaskPosition: `${x - size / 2}px ${y - size / 2}px`, - WebkitMaskSize: `${size}px`, - }} + animate={ + { + WebkitMaskPosition: `${x - size / 2}px ${y - size / 2}px`, + WebkitMaskSize: `${size}px`, + } as Record<string, string> + } transition={{ type: "tween", ease: "backOut", duration: 0.5 }} > <p diff --git a/animata/text/mirror-text.stories.tsx b/animata/text/mirror-text.stories.tsx index e3094c48..a6228f6f 100644 --- a/animata/text/mirror-text.stories.tsx +++ b/animata/text/mirror-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import MirrorText from "@/animata/text/mirror-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Mirror Text", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + direction: { + control: { type: "select" }, + options: ["up", "down", "left", "right"], + }, + }, } satisfies Meta<typeof MirrorText>; export default meta; @@ -17,5 +22,6 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "ANIMATA", + direction: "up", }, }; diff --git a/animata/text/mirror-text.tsx b/animata/text/mirror-text.tsx index 68708e38..9bdeba2c 100644 --- a/animata/text/mirror-text.tsx +++ b/animata/text/mirror-text.tsx @@ -16,11 +16,11 @@ export default function MirrorText({ containerClassName?: string; }) { - const animation = cn("transition-all duration-500 ease-slow", { - "group-hover:-translate-y-4": direction === "up", - "group-hover:translate-y-4": direction === "down", - "group-hover:-translate-x-4": direction === "left", - "group-hover:translate-x-4": direction === "right", + const animation = cn("transition duration-500 ease-slow", { + "group-hover/mirror:-translate-y-4": direction === "up", + "group-hover/mirror:translate-y-4": direction === "down", + "group-hover/mirror:-translate-x-4": direction === "left", + "group-hover/mirror:translate-x-4": direction === "right", }); const content = ( @@ -32,7 +32,7 @@ export default function MirrorText({ return ( <div className={cn( - "group relative w-full justify-end overflow-hidden p-6 text-foreground", + "group/mirror relative w-full justify-end overflow-hidden p-6 text-foreground", containerClassName, )} > diff --git a/animata/text/scroll-reveal.stories.tsx b/animata/text/scroll-reveal.stories.tsx index c67300ba..a70517cc 100644 --- a/animata/text/scroll-reveal.stories.tsx +++ b/animata/text/scroll-reveal.stories.tsx @@ -1,7 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { Baby, File } from "lucide-react"; - import ScrollReveal from "@/animata/text/scroll-reveal"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Scroll Reveal", @@ -22,9 +21,9 @@ export const Primary: Story = { children: ( <> This component reveals its children{" "} - <Baby className="scroll-baby size-5 transition-all duration-75 ease-in-out md:size-8" /> as - you scroll down the page{" "} - <File className="scroll-file size-5 transition-all duration-75 ease-in-out md:size-8" /> + <Baby className="scroll-baby size-5 transition duration-75 ease-in-out md:size-8" /> as you + scroll down the page{" "} + <File className="scroll-file size-5 transition duration-75 ease-in-out md:size-8" /> . <div className="my-4 w-full" /> It uses a sticky container with a fixed height and a large space at the bottom. Finally, it diff --git a/animata/text/scroll-reveal.tsx b/animata/text/scroll-reveal.tsx index 94106577..f07d5a57 100644 --- a/animata/text/scroll-reveal.tsx +++ b/animata/text/scroll-reveal.tsx @@ -1,5 +1,5 @@ -import React, { useRef } from "react"; -import { motion, MotionValue, useScroll, useTransform } from "framer-motion"; +import { type MotionValue, motion, useMotionValue, useTransform } from "motion/react"; +import React, { useCallback, useEffect, useRef } from "react"; import { cn } from "@/lib/utils"; @@ -15,9 +15,10 @@ const flatten = (children: React.ReactNode): React.ReactNode[] => { React.Children.forEach(children, (child) => { if (React.isValidElement(child)) { + const childProps = child.props as Record<string, unknown>; if (child.type === React.Fragment) { - result.push(...flatten(child.props.children)); - } else if (child.props.children) { + result.push(...flatten(childProps.children as React.ReactNode)); + } else if (childProps.children) { result.push(React.cloneElement(child, {})); } else { result.push(child); @@ -48,7 +49,7 @@ function OpacityChild({ let className = ""; if (React.isValidElement(children)) { - className = Reflect.get(children, "props")?.className; + className = (Reflect.get(children, "props") as Record<string, unknown>)?.className as string; } return ( @@ -62,10 +63,22 @@ export default function ScrollReveal({ children, className, ...props }: ScrollRe const flat = flatten(children); const count = flat.length; const containerRef = useRef<HTMLDivElement>(null); + const scrollYProgress = useMotionValue(0); - const { scrollYProgress } = useScroll({ - container: containerRef, - }); + const handleScroll = useCallback(() => { + const el = containerRef.current; + if (!el) return; + const { scrollTop, scrollHeight, clientHeight } = el; + const maxScroll = scrollHeight - clientHeight; + scrollYProgress.set(maxScroll > 0 ? scrollTop / maxScroll : 0); + }, [scrollYProgress]); + + useEffect(() => { + const el = containerRef.current; + if (!el) return; + el.addEventListener("scroll", handleScroll, { passive: true }); + return () => el.removeEventListener("scroll", handleScroll); + }, [handleScroll]); return ( <div @@ -73,7 +86,7 @@ export default function ScrollReveal({ children, className, ...props }: ScrollRe ref={containerRef} className={cn( // Adjust the height and spacing according to the need - "storybook-fix relative h-96 w-full overflow-y-scroll bg-foreground text-background dark:text-zinc-900", + "relative h-96 w-full overflow-y-scroll bg-foreground text-background dark:text-zinc-900", className, )} > diff --git a/animata/text/split-text.stories.tsx b/animata/text/split-text.stories.tsx index f9fa0f60..5a8f4ffc 100644 --- a/animata/text/split-text.stories.tsx +++ b/animata/text/split-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SplitText from "@/animata/text/split-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Split Text", diff --git a/animata/text/split-text.tsx b/animata/text/split-text.tsx index 03aa4723..d8707766 100644 --- a/animata/text/split-text.tsx +++ b/animata/text/split-text.tsx @@ -10,10 +10,10 @@ export default function SplitText({ className?: string; }) { const [activeIndex, setIndex] = useState<number>(); - const timer = useRef<NodeJS.Timeout>(); + const timer = useRef<NodeJS.Timeout>(undefined); const letterClassName = - "inline h-1/2 select-none overflow-y-hidden leading-none transition-all duration-300 ease-out whitespace-pre"; + "inline h-1/2 select-none overflow-y-hidden leading-none transition duration-300 ease-out whitespace-pre"; return ( <div diff --git a/animata/text/staggered-letter.stories.tsx b/animata/text/staggered-letter.stories.tsx index ce670daa..78ac8e49 100644 --- a/animata/text/staggered-letter.stories.tsx +++ b/animata/text/staggered-letter.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import StaggeredLetter from "@/animata/text/staggered-letter"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Staggered Letter", @@ -8,12 +8,22 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + direction: { + control: { type: "select" }, + options: ["up", "drop"], + }, + }, } satisfies Meta<typeof StaggeredLetter>; export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + text: "Animata", + delay: 0.09, + applyMask: true, + direction: "drop", + }, }; diff --git a/animata/text/staggered-letter.tsx b/animata/text/staggered-letter.tsx index 29fc2c04..b6dcf4b9 100644 --- a/animata/text/staggered-letter.tsx +++ b/animata/text/staggered-letter.tsx @@ -1,5 +1,5 @@ -import { HTMLAttributes } from "react"; -import { motion } from "framer-motion"; +import { motion } from "motion/react"; +import type { HTMLAttributes } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/text/swap-text.stories.tsx b/animata/text/swap-text.stories.tsx index 7381ef94..1b1caf00 100644 --- a/animata/text/swap-text.stories.tsx +++ b/animata/text/swap-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SwapText from "@/animata/text/swap-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Swap Text", @@ -19,6 +19,7 @@ export const Primary: Story = { initialText: "Open", finalText: "Close", supportsHover: true, + disableClick: false, }, }; diff --git a/animata/text/swap-text.tsx b/animata/text/swap-text.tsx index 404c7343..dd5decf9 100644 --- a/animata/text/swap-text.tsx +++ b/animata/text/swap-text.tsx @@ -52,21 +52,21 @@ export default function SwapText({ ...props }: SwapTextProps) { const [active, setActive] = useState(false); - const common = "block transition-all duration-1000 ease-slow"; + const common = "block transition duration-1000 ease-slow"; const longWord = finalText.length > initialText.length ? finalText : null; return ( <div {...props} className={cn("relative overflow-hidden text-foreground", className)}> <div - className={cn("group cursor-pointer select-none text-3xl font-bold", textClassName)} + className={cn("group/swap cursor-pointer select-none text-3xl font-bold", textClassName)} onClick={() => !disableClick && setActive((current) => !current)} > <span className={cn(common, initialTextClassName, { "flex flex-col": true, "-translate-y-full": active, - "group-hover:-translate-y-full": supportsHover, + "group-hover/swap:-translate-y-full": supportsHover, })} > {initialText} @@ -78,7 +78,7 @@ export default function SwapText({ <span className={cn(`${common} absolute top-full`, finalTextClassName, { "-translate-y-full": active, - "group-hover:-translate-y-full": supportsHover, + "group-hover/swap:-translate-y-full": supportsHover, })} > {finalText} diff --git a/animata/text/text-border-animation.stories.tsx b/animata/text/text-border-animation.stories.tsx index 6960d14c..3d0062fa 100644 --- a/animata/text/text-border-animation.stories.tsx +++ b/animata/text/text-border-animation.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TextBorderAnimation from "@/animata/text/text-border-animation"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Text Border Animation", diff --git a/animata/text/text-border-animation.tsx b/animata/text/text-border-animation.tsx index 33a8a675..50d530e8 100644 --- a/animata/text/text-border-animation.tsx +++ b/animata/text/text-border-animation.tsx @@ -12,7 +12,7 @@ interface TextProps { className?: string; } - + export default function TextBorderAnimation({ text = "Programming", className }: TextProps) { const [isHoveredIn, setIsHoveredIn] = useState(false); const [isHoveredOut, setIsHoveredOut] = useState(false); diff --git a/animata/text/text-explode-imessage.stories.tsx b/animata/text/text-explode-imessage.stories.tsx index dd8a8417..73b8a5f1 100644 --- a/animata/text/text-explode-imessage.stories.tsx +++ b/animata/text/text-explode-imessage.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TextExplodeIMessage from "@/animata/text/text-explode-imessage"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Text Explode Imessage", @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + mode: { + control: { type: "select" }, + options: ["loop", "hover"], + }, + }, } satisfies Meta<typeof TextExplodeIMessage>; export default meta; @@ -17,6 +22,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "iMessage text explode effect 🧨 🔥 🎃 🎉 🪅", + mode: "loop", className: "text-red-500", }, }; diff --git a/animata/text/text-explode-imessage.tsx b/animata/text/text-explode-imessage.tsx index 45fdfbd4..c3ee448f 100644 --- a/animata/text/text-explode-imessage.tsx +++ b/animata/text/text-explode-imessage.tsx @@ -1,5 +1,5 @@ +import { motion, useAnimationControls, type Variants } from "motion/react"; import { useCallback, useEffect, useRef } from "react"; -import { motion, useAnimationControls, Variants } from "framer-motion"; import { cn } from "@/lib/utils"; diff --git a/animata/text/text-flip.stories.tsx b/animata/text/text-flip.stories.tsx index 43353b30..710a64ca 100644 --- a/animata/text/text-flip.stories.tsx +++ b/animata/text/text-flip.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TextFlip from "@/animata/text/text-flip"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Text Flip", diff --git a/animata/text/ticker.stories.tsx b/animata/text/ticker.stories.tsx index df614229..5ee4cf98 100644 --- a/animata/text/ticker.stories.tsx +++ b/animata/text/ticker.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Ticker from "@/animata/text/ticker"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Ticker", @@ -17,6 +17,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { value: "456.78", + delay: 0, className: "text-4xl md:text-7xl font-black", }, }; diff --git a/animata/text/ticker.tsx b/animata/text/ticker.tsx index 9c5025d2..d179bf74 100644 --- a/animata/text/ticker.tsx +++ b/animata/text/ticker.tsx @@ -1,7 +1,7 @@ "use client"; +import { motion, useMotionValue, useSpring } from "motion/react"; import { useCallback, useEffect, useRef } from "react"; -import { motion, useMotionValue, useSpring } from "framer-motion"; import { cn } from "@/lib/utils"; diff --git a/animata/text/typing-text.stories.tsx b/animata/text/typing-text.stories.tsx index 319febf7..0a100f1c 100644 --- a/animata/text/typing-text.stories.tsx +++ b/animata/text/typing-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TypingText from "@/animata/text/typing-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Typing Text", @@ -17,7 +17,13 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "> yarn add @animata/awesomeness", + delay: 32, + repeat: true, grow: false, + alwaysVisibleCount: 1, + smooth: false, + waitTime: 1000, + hideCursorOnComplete: false, }, render: (props) => ( <div className="min-w-96 max-w-96 rounded-sm bg-gray-800 px-4 py-2 text-yellow-400 shadow-lg"> diff --git a/animata/text/typing-text.tsx b/animata/text/typing-text.tsx index e8ee54d8..40d79571 100644 --- a/animata/text/typing-text.tsx +++ b/animata/text/typing-text.tsx @@ -1,4 +1,4 @@ -import { ReactNode, useEffect, useMemo, useState } from "react"; +import { type ReactNode, useEffect, useMemo, useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/text/underline-hover-text.stories.tsx b/animata/text/underline-hover-text.stories.tsx index 0d163c16..e1ac132a 100644 --- a/animata/text/underline-hover-text.stories.tsx +++ b/animata/text/underline-hover-text.stories.tsx @@ -1,5 +1,7 @@ -import UnderlineHoverText, { UnderlineHoverTextProps } from "@/animata/text/underline-hover-text"; -import { Meta, StoryFn } from "@storybook/react"; +import type { Meta, StoryFn } from "@storybook/react"; +import UnderlineHoverText, { + type UnderlineHoverTextProps, +} from "@/animata/text/underline-hover-text"; export default { title: "text/Underline hover text", @@ -18,7 +20,12 @@ export default { const Template: StoryFn<UnderlineHoverTextProps> = (args) => <UnderlineHoverText {...args} />; -export const Default = Template.bind({}); -Default.args = { +export const Primary = Template.bind({}); +Primary.args = { text: "Hover over me", + textColor: "text-yellow-600", + hoverTextColor: "hover:text-white", + hoverColor: "hover:after:bg-indigo-500", + fontSize: "text-2xl", + fontWeight: "font-medium", }; diff --git a/animata/text/underline-hover-text.tsx b/animata/text/underline-hover-text.tsx index e26a6821..586aa28f 100644 --- a/animata/text/underline-hover-text.tsx +++ b/animata/text/underline-hover-text.tsx @@ -1,5 +1,5 @@ "use client"; -import React from "react"; +import type React from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/text/wave-reveal.stories.tsx b/animata/text/wave-reveal.stories.tsx index 3498e24e..7fe71692 100644 --- a/animata/text/wave-reveal.stories.tsx +++ b/animata/text/wave-reveal.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import WaveReveal from "@/animata/text/wave-reveal"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Wave Reveal", @@ -8,7 +8,16 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + direction: { + control: { type: "select" }, + options: ["up", "down"], + }, + mode: { + control: { type: "select" }, + options: ["letter", "word"], + }, + }, } satisfies Meta<typeof WaveReveal>; export default meta; @@ -17,6 +26,11 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "Hello World", + direction: "down", + mode: "letter", + duration: "2000ms", + delay: 0, + blur: true, className: "text-foreground", }, }; diff --git a/animata/text/wave-reveal.tsx b/animata/text/wave-reveal.tsx index 74030b36..7997572c 100644 --- a/animata/text/wave-reveal.tsx +++ b/animata/text/wave-reveal.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { cn } from "@/lib/utils"; @@ -107,7 +107,7 @@ const createDelay = ({ }: Pick<ReducedValue, "offset" | "delay"> & { index: number; }) => { - return delay + (index + offset) * 50 + "ms"; + return `${delay + (index + offset) * 50}ms`; }; const createAnimatedNodes = (args: ReducedValue, word: string, index: number): ReducedValue => { @@ -119,13 +119,13 @@ const createAnimatedNodes = (args: ReducedValue, word: string, index: number): R const isLast = index === length - 1; const className = cn( - "inline-block opacity-0 transition-all ease-in-out fill-mode-forwards", + "inline-block opacity-0 transition ease-in-out fill-mode-forwards", { // Determine the animation direction - ["animate-[reveal-down]"]: !isUp && !blur, - ["animate-[reveal-up]"]: isUp && !blur, - ["animate-[reveal-down,content-blur]"]: !isUp && blur, - ["animate-[reveal-up,content-blur]"]: isUp && blur, + "animate-[reveal-down]": !isUp && !blur, + "animate-[reveal-up]": isUp && !blur, + "animate-[reveal-down,content-blur]": !isUp && blur, + "animate-[reveal-up,content-blur]": isUp && blur, }, args.className, ); diff --git a/animata/widget/alarm-clock.stories.tsx b/animata/widget/alarm-clock.stories.tsx index 34f4a6cb..04420394 100644 --- a/animata/widget/alarm-clock.stories.tsx +++ b/animata/widget/alarm-clock.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AlarmClock from "@/animata/widget/alarm-clock"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Alarm Clock", diff --git a/animata/widget/alarm-clock.tsx b/animata/widget/alarm-clock.tsx index 5e5c68f7..9593bfd8 100644 --- a/animata/widget/alarm-clock.tsx +++ b/animata/widget/alarm-clock.tsx @@ -1,7 +1,7 @@ "use client"; -import { useState } from "react"; import { AlarmClockIcon } from "lucide-react"; +import { useState } from "react"; import ToggleSwitch from "@/animata/button/toggle-switch"; import { cn } from "@/lib/utils"; diff --git a/animata/widget/battery-level.stories.tsx b/animata/widget/battery-level.stories.tsx index 89bacd9b..2f08bc0a 100644 --- a/animata/widget/battery-level.stories.tsx +++ b/animata/widget/battery-level.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import BatteryLevel from "@/animata/widget/battery-level"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Battery Level", diff --git a/animata/widget/battery.stories.tsx b/animata/widget/battery.stories.tsx index 19d75565..9f5e084b 100644 --- a/animata/widget/battery.stories.tsx +++ b/animata/widget/battery.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Battery from "@/animata/widget/battery"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Battery", diff --git a/animata/widget/battery.tsx b/animata/widget/battery.tsx index 0cff3fe5..fae1f70e 100644 --- a/animata/widget/battery.tsx +++ b/animata/widget/battery.tsx @@ -1,6 +1,6 @@ "use client"; -import { useEffect, useRef } from "react"; import { BatteryMediumIcon } from "lucide-react"; +import { useEffect, useRef } from "react"; import { cn } from "@/lib/utils"; @@ -19,7 +19,7 @@ const Battery = () => { }, [gap]); return ( - <div className="relative size-52 rounded-3xl bg-opacity-25 bg-gradient-to-br from-blue-500 to-blue-200 p-4"> + <div className="relative size-52 rounded-3xl bg-linear-to-br from-blue-500/25 to-blue-200/25 p-4"> <div className="relative size-16"> <svg viewBox="0 0 100 100" className="absolute right-0 size-full"> <circle cx={50} cy={50} r={40} stroke="#5d5" strokeWidth={8} fill="none" /> diff --git a/animata/widget/calendar-event.stories.tsx b/animata/widget/calendar-event.stories.tsx index 245084cf..7fe7b93a 100644 --- a/animata/widget/calendar-event.stories.tsx +++ b/animata/widget/calendar-event.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CalendarEvent, { testCalendarEventProps } from "@/animata/widget/calendar-event"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Calendar event", diff --git a/animata/widget/calendar-event.tsx b/animata/widget/calendar-event.tsx index b59403f7..f68beaeb 100644 --- a/animata/widget/calendar-event.tsx +++ b/animata/widget/calendar-event.tsx @@ -64,7 +64,7 @@ function EventCard({ date }: { date: CalendarEvent; hides: boolean }) { return ( <div className={cn( - "relative flex h-10 w-full items-center gap-2 overflow-hidden rounded-md pl-1 transition-all", + "relative flex h-10 w-full items-center gap-2 overflow-hidden rounded-md pl-1 transition", date.bgcolor, )} > @@ -106,7 +106,7 @@ export default function CalendarEvent({ </p> <p className="text-[10px] text-gray-500">16:15 - 20:00</p> </div> - {dates.slice(maxEvents, maxEvents + 3).map((date, index) => ( + {dates.slice(maxEvents, maxEvents + 3).map((_date, index) => ( <div key={index} style={{ diff --git a/animata/widget/calendar-widget.stories.tsx b/animata/widget/calendar-widget.stories.tsx index 2010e17b..ba167121 100644 --- a/animata/widget/calendar-widget.stories.tsx +++ b/animata/widget/calendar-widget.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CalendarWidget from "@/animata/widget/calendar-widget"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Calendar Widget", diff --git a/animata/widget/calendar-widget.tsx b/animata/widget/calendar-widget.tsx index bc53ff03..e5bfb235 100644 --- a/animata/widget/calendar-widget.tsx +++ b/animata/widget/calendar-widget.tsx @@ -1,6 +1,6 @@ -import React, { useEffect, useRef, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { Calendar as CalendarIcon, DotIcon } from "lucide-react"; +import { AnimatePresence, motion } from "motion/react"; +import { useEffect, useRef, useState } from "react"; const monthArray = [ "", @@ -73,7 +73,7 @@ export default function CalendarWidget({ <motion.button key={date} data-date={date} - className="flex w-10 flex-shrink-0 flex-col items-center justify-center gap-y-2 rounded-lg" + className="flex w-10 shrink-0 flex-col items-center justify-center gap-y-2 rounded-lg" onClick={() => { setSelectedDate(date); setShowEvents(true); diff --git a/animata/widget/calorie-counter.stories.tsx b/animata/widget/calorie-counter.stories.tsx index f759f8fd..b0aaff0b 100644 --- a/animata/widget/calorie-counter.stories.tsx +++ b/animata/widget/calorie-counter.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CalorieCounter, { testCalorieCounterProps } from "@/animata/widget/calorie-counter"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Calorie Counter", diff --git a/animata/widget/calorie-counter.tsx b/animata/widget/calorie-counter.tsx index bfd57557..92dfc668 100644 --- a/animata/widget/calorie-counter.tsx +++ b/animata/widget/calorie-counter.tsx @@ -36,7 +36,7 @@ export default function CalorieCounter({ progressClassName="dark:text-cyan-300 text-green-400" className="relative m-2 flex items-center justify-center" /> - <div className="goal absolute bottom-8 flex h-14 w-56 items-center justify-between rounded-xl border-gray-100 bg-gray-400 bg-opacity-10 bg-clip-padding px-4 backdrop-blur-sm backdrop-filter sm:w-64"> + <div className="goal absolute bottom-8 flex h-14 w-56 items-center justify-between rounded-xl border-gray-100 bg-gray-400/10 bg-clip-padding px-4 backdrop-blur-sm backdrop-filter sm:w-64"> <p className="dark:text-white">Your goal</p> <p className="font-bold text-orange-300">{goal}Cal</p> </div> diff --git a/animata/widget/clock-with-photo.stories.tsx b/animata/widget/clock-with-photo.stories.tsx index 527bd623..68449585 100644 --- a/animata/widget/clock-with-photo.stories.tsx +++ b/animata/widget/clock-with-photo.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ClockWithPhoto from "@/animata/widget/clock-with-photo"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Clock With Photo", diff --git a/animata/widget/clock-with-photo.tsx b/animata/widget/clock-with-photo.tsx index bd441571..3bd4fae8 100644 --- a/animata/widget/clock-with-photo.tsx +++ b/animata/widget/clock-with-photo.tsx @@ -36,22 +36,22 @@ export default function ClockWithPhoto() { }, []); return ( - <div className="group relative h-52 w-52 gap-2 overflow-hidden rounded-3xl"> + <div className="group/clock relative h-52 w-52 gap-2 overflow-hidden rounded-3xl"> <div className="relative flex h-full w-full items-center"> <img src="https://images.unsplash.com/photo-1592205644721-2fe5214762ae?q=80&w=600&auto=format&fit=crop&ixlib=rb-4.0.3" alt="Background" - className="h-full w-full rounded-3xl object-cover transition-all group-hover:scale-105 group-hover:blur-[1px]" + className="h-full w-full rounded-3xl object-cover transition group-hover/clock:scale-105 group-hover/clock:blur-[1px]" /> <img src={absoluteUrl("/jumping-man.png")} alt="Your photo" - className="absolute left-0 top-0 z-20 mt-2 h-48 w-44 p-2 transition-all duration-500 group-hover:translate-x-full group-hover:opacity-0" + className="absolute left-0 top-0 z-20 mt-2 h-48 w-44 p-2 transition duration-500 group-hover/clock:translate-x-full group-hover/clock:opacity-0" /> </div> <div className={cn( - "absolute right-0 top-0 z-10 flex h-full w-fit flex-col items-center justify-center text-8xl font-black tabular-nums tracking-tighter text-white transition-all duration-500 group-hover:right-1/4", + "absolute right-0 top-0 z-10 flex h-full w-fit flex-col items-center justify-center text-8xl font-black tabular-nums tracking-tighter text-white transition duration-500 group-hover/clock:right-1/4", )} > <div className="flex"> diff --git a/animata/widget/cycling.stories.tsx b/animata/widget/cycling.stories.tsx index c7fce879..2231cc87 100644 --- a/animata/widget/cycling.stories.tsx +++ b/animata/widget/cycling.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Cycling from "@/animata/widget/cycling"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Cycling", @@ -15,5 +15,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + title: "Cycling", + }, }; diff --git a/animata/widget/cycling.tsx b/animata/widget/cycling.tsx index 743f7b42..6dc103b4 100644 --- a/animata/widget/cycling.tsx +++ b/animata/widget/cycling.tsx @@ -52,7 +52,9 @@ export default function Cycling({ title?: string; }) { return ( - <div className={cn("group flex h-52 w-52 flex-col rounded-3xl bg-zinc-900 p-4", className)}> + <div + className={cn("group/cycling flex h-52 w-52 flex-col rounded-3xl bg-zinc-900 p-4", className)} + > <div className="flex justify-between gap-2"> <div> <div className="rounded-full bg-yellow-400/10 p-2"> @@ -75,7 +77,7 @@ export default function Cycling({ id="heart" width={16} height={16} - className="group-hover:animate-pulse group-active:animate-pulse" + className="group-hover/cycling:animate-pulse group-active/cycling:animate-pulse" > <defs> <clipPath id="a"> diff --git a/animata/widget/delivery-card.stories.tsx b/animata/widget/delivery-card.stories.tsx index ac0ae81c..57066744 100644 --- a/animata/widget/delivery-card.stories.tsx +++ b/animata/widget/delivery-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import DeliveryCard from "@/animata/widget/delivery-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Delivery Card", diff --git a/animata/widget/delivery-card.tsx b/animata/widget/delivery-card.tsx index 8da25ba9..f3b3f2e8 100644 --- a/animata/widget/delivery-card.tsx +++ b/animata/widget/delivery-card.tsx @@ -1,7 +1,6 @@ "use client"; -import { useEffect, useState } from "react"; -import React from "react"; import { LocateIcon, TruckIcon } from "lucide-react"; +import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; @@ -56,14 +55,14 @@ const DeliveryCard = ({ <div className="absolute left-0 top-1/2 size-3 -translate-y-1/2 rounded-full bg-yellow-300"></div> <div className="absolute right-0 top-1/2 z-10 size-3 -translate-y-1/2 rounded-full bg-gray-400"></div> <div - className="relative h-0.5 bg-yellow-300 transition-all ease-in-out [transition-duration:500ms]" + className="relative h-0.5 bg-yellow-300 transition ease-in-out [transition-duration:500ms]" style={{ width: `${adjustedProgress}%`, }} > <TruckIcon className={cn( - "absolute right-0 top-1/2 z-50 size-8 -translate-y-1/2 translate-x-1/2 rounded-full bg-yellow-300 p-1.5 text-gray-700 transition-all duration-500", + "absolute right-0 top-1/2 z-50 size-8 -translate-y-1/2 translate-x-1/2 rounded-full bg-yellow-300 p-1.5 text-gray-700 transition duration-500", )} /> </div> diff --git a/animata/widget/direction-card.stories.tsx b/animata/widget/direction-card.stories.tsx index a8794915..6ac891c0 100644 --- a/animata/widget/direction-card.stories.tsx +++ b/animata/widget/direction-card.stories.tsx @@ -1,5 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import DirectionCard, { testDirectionProps } from "@/animata/widget/direction-card"; -import { Meta, StoryObj } from "@storybook/react"; + const meta = { title: "Widget/Direction Card", component: DirectionCard, @@ -14,5 +15,8 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: testDirectionProps, + args: { + ...testDirectionProps, + duration: 5000, + }, }; diff --git a/animata/widget/direction-card.tsx b/animata/widget/direction-card.tsx index 0056e187..1dc509fa 100644 --- a/animata/widget/direction-card.tsx +++ b/animata/widget/direction-card.tsx @@ -1,6 +1,6 @@ "use client"; -import { ElementType, useEffect, useState } from "react"; import { ArrowUp, CornerUpLeft, CornerUpRight } from "lucide-react"; +import { type ElementType, useEffect, useState } from "react"; import { cn } from "@/lib/utils"; @@ -106,7 +106,7 @@ function DirectionCard({ <div className="direction-container flex h-full w-[80%] flex-col items-center justify-center gap-3"> <p className="text-3xl font-bold text-white"> {currentDirection.distance} - <span className="text-opacity-50">m</span> + <span className="text-black/50">m</span> </p> <p className="animate-pulse">{renderIcon(iconState.currentIconType, 52, "text-white")}</p> <p className="text-md h-8 w-20 text-ellipsis break-all text-center text-gray-400"> diff --git a/animata/widget/expense-tracker.stories.tsx b/animata/widget/expense-tracker.stories.tsx index fff6af60..4f5e8365 100644 --- a/animata/widget/expense-tracker.stories.tsx +++ b/animata/widget/expense-tracker.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ExpenseTracker, { spendingTrackerProps } from "@/animata/widget/expense-tracker"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Expense Tracker", diff --git a/animata/widget/expense-tracker.tsx b/animata/widget/expense-tracker.tsx index 475a6378..d5de25b2 100644 --- a/animata/widget/expense-tracker.tsx +++ b/animata/widget/expense-tracker.tsx @@ -36,11 +36,11 @@ export default function ExpenseTracker({ {new Date().toLocaleString("default", { month: "long" }).toUpperCase()}{" "} {new Date().getFullYear()} </h4> - <div className="group flex flex-1 items-end justify-between"> + <div className="group/expense flex flex-1 items-end justify-between"> {spending.map((item) => ( <div key={item.day} - className="flex cursor-pointer flex-col items-center transition-opacity hover:!opacity-100 group-hover:opacity-50" + className="flex cursor-pointer flex-col items-center transition-opacity hover:!opacity-100 group-hover/expense:opacity-50" > <div className="mb-1 text-xs text-foreground">{item.day}</div> <div @@ -51,7 +51,7 @@ export default function ExpenseTracker({ }} > <div - className="fill absolute bottom-0 left-0 bg-blue-500 transition-all" + className="fill absolute bottom-0 left-0 bg-blue-500 transition" style={{ height: `${(item.amount / totalSpending) * 100}%`, width: "100%", diff --git a/animata/widget/flight-widget.stories.tsx b/animata/widget/flight-widget.stories.tsx index 0dab409c..9477c4da 100644 --- a/animata/widget/flight-widget.stories.tsx +++ b/animata/widget/flight-widget.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Flightwidget from "@/animata/widget/flight-widget"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Flight widget", diff --git a/animata/widget/flight-widget.tsx b/animata/widget/flight-widget.tsx index 0b2a4e2c..426fb5ec 100644 --- a/animata/widget/flight-widget.tsx +++ b/animata/widget/flight-widget.tsx @@ -1,7 +1,7 @@ "use client"; -import { useEffect, useState } from "react"; import { Armchair } from "lucide-react"; +import { useEffect, useState } from "react"; const getTime = () => { const now = new Date(); @@ -30,7 +30,7 @@ export default function FlightWidget() { return ( <div className="relative flex h-52 w-52 overflow-hidden rounded-3xl text-black"> - <div className="relative w-16 items-center justify-evenly overflow-hidden bg-gradient-to-b from-blue-100 to-blue-300"> + <div className="relative w-16 items-center justify-evenly overflow-hidden bg-linear-to-b from-blue-100 to-blue-300"> <div className="full absolute bottom-0 left-full flex h-16 w-52 origin-bottom-left -rotate-90 items-center justify-center gap-3 bg-pink-100"> <div className="text-lg font-semibold tracking-widest text-red-700">AIR CANADA</div> <img @@ -40,7 +40,7 @@ export default function FlightWidget() { /> </div> </div> - <div className="relative h-full w-36 bg-gradient-to-b from-blue-100 to-teal-100 p-4 text-sm"> + <div className="relative h-full w-36 bg-linear-to-b from-blue-100 to-teal-100 p-4 text-sm"> {/* The background should match the container's background */} <div className="absolute -left-2 -top-2 z-10 h-4 w-4 rounded-full bg-white dark:bg-zinc-800" /> <div className="flex justify-around pb-2"> diff --git a/animata/widget/fund-widget.stories.tsx b/animata/widget/fund-widget.stories.tsx index 78785783..d77b34b1 100644 --- a/animata/widget/fund-widget.stories.tsx +++ b/animata/widget/fund-widget.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import FundWidget from "@/animata/widget/fund-widget"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Fund Widget", diff --git a/animata/widget/fund-widget.tsx b/animata/widget/fund-widget.tsx index f64280ad..e02e9840 100644 --- a/animata/widget/fund-widget.tsx +++ b/animata/widget/fund-widget.tsx @@ -1,5 +1,5 @@ +import { AnimatePresence, motion, type PanInfo } from "motion/react"; import { useEffect, useState } from "react"; -import { AnimatePresence, motion, PanInfo } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -48,7 +48,7 @@ export default function FundWidget({ }, 500); return () => clearTimeout(timer); } - }, [activeDiv, dragDistance]); + }, [dragDistance]); const sliderVariants = { incoming: (direction: number) => ({ @@ -66,7 +66,7 @@ export default function FundWidget({ const sliderTransition = { duration: 0.5, - ease: [0.56, 0.03, 0.12, 1.04], + ease: [0.56, 0.03, 0.12, 1.04] as [number, number, number, number], }; const swipeToAction = (direction: number) => { @@ -106,75 +106,73 @@ export default function FundWidget({ const rotateYValue = Math.min(dragDistance / 10, 15); return ( - <> + <div + className={cn( + "storybook-fix group flex items-center justify-center py-32", + containerClassName, + )} + > <div className={cn( - "storybook-fix group flex items-center justify-center py-32", - containerClassName, + "absolute inset-0 -z-10 h-full w-full items-center bg-linear-to-r from-violet-200 to-pink-200", + backgroundClassName, )} - > - <div - className={cn( - "absolute inset-0 -z-10 h-full w-full items-center bg-gradient-to-r from-violet-200 to-pink-200", - backgroundClassName, - )} - /> - <AnimatePresence initial={false}> - <div className="flex h-72 w-64 flex-col items-center"> - <div className="z-20 flex h-64 w-72 overflow-clip rounded-[35px] bg-white px-6 pt-6 shadow-[0px_0px_10px_1px_#bec2bf]"> - <motion.div - key={activeDiv} - custom={direction} - className="block h-full w-full" - variants={sliderVariants} - initial="incoming" - animate="active" - transition={sliderTransition} - drag="y" - dragConstraints={{ top: 0, bottom: 0 }} - dragElastic={1} - onDragEnd={(_, dragInfo) => draghandler(dragInfo)} - onDrag={(event, info) => setDragDistance(info.offset.y)} - style={{ - filter: `blur(${blurValue}px)`, - transform: `rotateY(${rotateYValue}deg)`, - }} - > - <div className="h-56 w-56 bg-white"> - <h1 className="mb-3 text-6xl font-bold">{funds[activeDiv].value}</h1> - {funds[activeDiv].change < 0 ? ( - <h2 className="text-2xl font-bold text-red-500"> - {funds[activeDiv].change}% ↓ - </h2> - ) : ( - <h2 className="text-2xl font-bold text-green-500"> - {funds[activeDiv].change}% ↑ - </h2> - )} - <h1 className="mb-2 mt-14 text-4xl font-bold text-gray-500"> - {funds[activeDiv].label} - </h1> - </div> - </motion.div> - <div className="-my-2 flex h-full w-10 flex-col items-center justify-center"> - {funds.map((_, index) => { - return ( - <motion.span - key={index} - className="my-1 h-2 w-2 rounded-full bg-black" - style={{ backgroundColor: index === activeDiv ? "black" : "gray" }} - initial={{ height: 8 }} - animate={{ height: index === activeDiv ? 30 : 8 }} - onClick={() => skipToDiv(index)} - ></motion.span> - ); - })} + /> + <AnimatePresence initial={false}> + <div className="flex h-72 w-64 flex-col items-center"> + <div className="z-20 flex h-64 w-72 overflow-clip rounded-[35px] bg-white px-6 pt-6 shadow-[0px_0px_10px_1px_#bec2bf]"> + <motion.div + key={activeDiv} + custom={direction} + className="block h-full w-full" + variants={sliderVariants} + initial="incoming" + animate="active" + transition={sliderTransition} + drag="y" + dragConstraints={{ top: 0, bottom: 0 }} + dragElastic={1} + onDragEnd={(_, dragInfo) => draghandler(dragInfo)} + onDrag={(_event, info) => setDragDistance(info.offset.y)} + style={{ + filter: `blur(${blurValue}px)`, + transform: `rotateY(${rotateYValue}deg)`, + }} + > + <div className="h-56 w-56 bg-white"> + <h1 className="mb-3 text-6xl font-bold">{funds[activeDiv].value}</h1> + {funds[activeDiv].change < 0 ? ( + <h2 className="text-2xl font-bold text-red-500"> + {funds[activeDiv].change}% ↓ + </h2> + ) : ( + <h2 className="text-2xl font-bold text-green-500"> + {funds[activeDiv].change}% ↑ + </h2> + )} + <h1 className="mb-2 mt-14 text-4xl font-bold text-gray-500"> + {funds[activeDiv].label} + </h1> </div> + </motion.div> + <div className="-my-2 flex h-full w-10 flex-col items-center justify-center"> + {funds.map((_, index) => { + return ( + <motion.span + key={index} + className="my-1 h-2 w-2 rounded-full bg-black" + style={{ backgroundColor: index === activeDiv ? "black" : "gray" }} + initial={{ height: 8 }} + animate={{ height: index === activeDiv ? 30 : 8 }} + onClick={() => skipToDiv(index)} + ></motion.span> + ); + })} </div> - <div className="z-10 -mt-8 h-10 w-[270px] rounded-b-[35px] bg-white shadow-[0px_0px_5px_1px_#bec2bf]"></div> </div> - </AnimatePresence> - </div> - </> + <div className="z-10 -mt-8 h-10 w-[270px] rounded-b-[35px] bg-white shadow-[0px_0px_5px_1px_#bec2bf]"></div> + </div> + </AnimatePresence> + </div> ); } diff --git a/animata/widget/live-score.stories.tsx b/animata/widget/live-score.stories.tsx index e2f428d3..6267ac7d 100644 --- a/animata/widget/live-score.stories.tsx +++ b/animata/widget/live-score.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import LiveScore from "@/animata/widget/live-score"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Live Score", diff --git a/animata/widget/live-score.tsx b/animata/widget/live-score.tsx index 18ae40f6..6e406a41 100644 --- a/animata/widget/live-score.tsx +++ b/animata/widget/live-score.tsx @@ -1,7 +1,7 @@ "use client"; -import { useEffect, useState } from "react"; import { Circle, Triangle } from "lucide-react"; +import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; @@ -34,14 +34,18 @@ const getScore = (lastScore?: GameInfo): GameInfo => { name: "NPL", score: teamOneScore % maxScore, win: - teamOneScore >= maxScore ? (lastScore?.teamOne.win ?? 0) + 1 : lastScore?.teamOne.win ?? 0, + teamOneScore >= maxScore + ? (lastScore?.teamOne.win ?? 0) + 1 + : (lastScore?.teamOne.win ?? 0), }, teamTwo: { name: "USA", icon: "🇺🇸", score: teamTwoScore % maxScore, win: - teamTwoScore >= maxScore ? (lastScore?.teamTwo.win ?? 0) + 1 : lastScore?.teamTwo.win ?? 0, + teamTwoScore >= maxScore + ? (lastScore?.teamTwo.win ?? 0) + 1 + : (lastScore?.teamTwo.win ?? 0), }, }; }; @@ -114,7 +118,7 @@ export default function LiveScore() { // #endregion return ( - <div className="group flex size-52 flex-col rounded-3xl bg-zinc-800 text-white"> + <div className="group/score flex size-52 flex-col rounded-3xl bg-zinc-800 text-white"> <Header game={game} /> <div className="flex w-full flex-1 items-center justify-center gap-2 px-4"> <div className="flex"> @@ -128,7 +132,7 @@ export default function LiveScore() { </div> <div className="relative h-14 overflow-hidden rounded-b-3xl bg-zinc-950 text-white"> - <div className="flex h-14 items-center justify-around overflow-hidden p-4 font-medium transition-all group-hover:-translate-y-full"> + <div className="flex h-14 items-center justify-around overflow-hidden p-4 font-medium transition group-hover/score:-translate-y-full"> <div className="flex items-center gap-1 tabular-nums"> <Triangle fill="white" size={6} /> <p> @@ -152,7 +156,7 @@ export default function LiveScore() { {game.teamOne.win} - {game.teamTwo.win} </div> </div> - <div className="flex h-14 items-center justify-center bg-green-500 text-sm transition-all group-hover:-translate-y-full"> + <div className="flex h-14 items-center justify-center bg-green-500 text-sm transition group-hover/score:-translate-y-full"> Some other information. </div> </div> diff --git a/animata/widget/mobile-detail.stories.tsx b/animata/widget/mobile-detail.stories.tsx index 6e973465..3be02b99 100644 --- a/animata/widget/mobile-detail.stories.tsx +++ b/animata/widget/mobile-detail.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import MobileDetail from "@/animata/widget/mobile-detail"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Mobile Detail", diff --git a/animata/widget/mobile-detail.tsx b/animata/widget/mobile-detail.tsx index d8d65509..bb7876bf 100644 --- a/animata/widget/mobile-detail.tsx +++ b/animata/widget/mobile-detail.tsx @@ -1,10 +1,11 @@ import { BatteryMedium, Cpu, Database, Volume1 } from "lucide-react"; +import type React from "react"; interface ProgressBarData { label: string; value: number; max: number; - icon?: JSX.Element; + icon?: React.ReactNode; } const progressBarsData: ProgressBarData[] = [ @@ -15,7 +16,7 @@ const progressBarsData: ProgressBarData[] = [ icon: ( <BatteryMedium size={10} - className="text-zinc-400 transition-colors group-hover:text-zinc-300" + className="text-zinc-400 transition-colors group-hover/mobile:text-zinc-300" /> ), }, @@ -24,21 +25,29 @@ const progressBarsData: ProgressBarData[] = [ value: 50, max: 100, icon: ( - <Volume1 size={10} className="text-zinc-400 transition-colors group-hover:text-zinc-300" /> + <Volume1 + size={10} + className="text-zinc-400 transition-colors group-hover/mobile:text-zinc-300" + /> ), }, { label: "Ram", value: 75, max: 100, - icon: <Cpu size={10} className="text-zinc-400 transition-colors group-hover:text-zinc-300" />, + icon: ( + <Cpu size={10} className="text-zinc-400 transition-colors group-hover/mobile:text-zinc-300" /> + ), }, { label: "Storage", value: 90, max: 100, icon: ( - <Database size={10} className="text-zinc-400 transition-colors group-hover:text-zinc-300" /> + <Database + size={10} + className="text-zinc-400 transition-colors group-hover/mobile:text-zinc-300" + /> ), }, ]; @@ -52,15 +61,15 @@ export default function MobileDetail() { return ( <div key={`item-${bar.label}`} - className="group relative flex flex-col-reverse overflow-hidden rounded-2xl bg-zinc-800" + className="group/mobile relative flex flex-col-reverse overflow-hidden rounded-2xl bg-zinc-800" > <div className="w-full bg-stone-700" style={{ height: `${percentage}%` }} /> <div className="absolute inset-0 flex flex-col items-center justify-center"> {bar.icon && <div className="absolute left-2 top-2">{bar.icon}</div>} - <p className="text-xs font-bold text-zinc-400 transition-colors group-hover:text-zinc-300"> + <p className="text-xs font-bold text-zinc-400 transition-colors group-hover/mobile:text-zinc-300"> {bar.label} </p> - <p className="text-[10px] font-bold text-zinc-400 transition-colors group-hover:text-zinc-300"> + <p className="text-[10px] font-bold text-zinc-400 transition-colors group-hover/mobile:text-zinc-300"> {percentage}% </p> </div> diff --git a/animata/widget/music-stack-interaction.stories.tsx b/animata/widget/music-stack-interaction.stories.tsx index 39319b3c..2003bbce 100644 --- a/animata/widget/music-stack-interaction.stories.tsx +++ b/animata/widget/music-stack-interaction.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import MusicStackInteraction from "@/animata/widget/music-stack-interaction"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Music Stack Interaction", diff --git a/animata/widget/music-stack-interaction.tsx b/animata/widget/music-stack-interaction.tsx index f32c6ab9..64e2c9ad 100644 --- a/animata/widget/music-stack-interaction.tsx +++ b/animata/widget/music-stack-interaction.tsx @@ -1,6 +1,7 @@ -import React, { useState } from "react"; -import { motion } from "framer-motion"; import { Layers, LayoutGrid } from "lucide-react"; +import { motion } from "motion/react"; +import type React from "react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; @@ -81,13 +82,13 @@ export default function MusicStackInteraction({ albums }: albumsProps) { > <motion.img layout - src={album.cover + "?w=200&h=200"} + src={`${album.cover}?w=200&h=200`} alt={album.title} className="h-auto rounded-xl shadow-md" /> <motion.div layout - className="absolute bottom-0 left-0 w-full bg-opacity-50 bg-gradient-to-b from-transparent to-gray-800 px-4 py-2 text-white" + className="absolute bottom-0 left-0 w-full bg-linear-to-b from-transparent to-gray-800/50 px-4 py-2 text-white" > <motion.h3 layout className="font-semibold leading-tight"> {album.title} @@ -101,7 +102,7 @@ export default function MusicStackInteraction({ albums }: albumsProps) { </motion.div> </motion.div> - <motion.div className="duration-2000 absolute bottom-4 left-0 right-0 -mb-4 flex w-auto items-center justify-center rounded-xl bg-gray-800 p-4 text-white shadow-2xl transition-all"> + <motion.div className="duration-2000 absolute bottom-4 left-0 right-0 -mb-4 flex w-auto items-center justify-center rounded-xl bg-gray-800 p-4 text-white shadow-2xl transition"> <div className="flex w-32 items-center space-x-2 rounded-full bg-gray-900 p-2"> <div className={cn("flex h-8 w-16 cursor-pointer items-center justify-center rounded-full", { diff --git a/animata/widget/music-widget.stories.tsx b/animata/widget/music-widget.stories.tsx index 5a22fadc..498f6ca3 100644 --- a/animata/widget/music-widget.stories.tsx +++ b/animata/widget/music-widget.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import MusicWidget from "@/animata/widget/music-widget"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Music Widget", diff --git a/animata/widget/music-widget.tsx b/animata/widget/music-widget.tsx index 362cf38e..fd290dba 100644 --- a/animata/widget/music-widget.tsx +++ b/animata/widget/music-widget.tsx @@ -1,7 +1,7 @@ "use client"; -import { useState } from "react"; import { Music, Music2, Music3, Pause, Play, SkipBack, SkipForward } from "lucide-react"; +import { useState } from "react"; import { absoluteUrl, cn } from "@/lib/utils"; @@ -40,7 +40,7 @@ export default function MusicWidget() { const { title, artist } = song; return ( - <div className="flex h-52 w-52 flex-col rounded-3xl bg-gradient-to-bl from-indigo-200 to-indigo-600 p-4 text-white"> + <div className="flex h-52 w-52 flex-col rounded-3xl bg-linear-to-bl from-indigo-200 to-indigo-600 p-4 text-white"> <div className="relative flex flex-1 flex-col justify-between"> <div className="flex"> <div className="flex-1"> @@ -53,7 +53,7 @@ export default function MusicWidget() { <div className={cn("flex h-fit w-12 flex-wrap justify-center gap-1")}> <Music2 size={16} - className={cn("text-white transition-all", { + className={cn("text-white transition", { hidden: !play, "delay-500 duration-1000 animate-in zoom-in direction-alternate-reverse repeat-infinite": play, @@ -61,7 +61,7 @@ export default function MusicWidget() { /> <Music3 size={14} - className={cn("text-white transition-all", { + className={cn("text-white transition", { hidden: !play, "duration-1000 animate-in zoom-in direction-alternate-reverse repeat-infinite": play, @@ -69,7 +69,7 @@ export default function MusicWidget() { /> <Music size={18} - className={cn("text-white transition-all", { + className={cn("text-white transition", { hidden: !play, "delay-300 duration-1000 animate-in zoom-in direction-alternate-reverse repeat-infinite": play, diff --git a/animata/widget/notes.stories.tsx b/animata/widget/notes.stories.tsx index cd6e9fbc..0c49744e 100644 --- a/animata/widget/notes.stories.tsx +++ b/animata/widget/notes.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Notes from "@/animata/widget/notes"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Notes", diff --git a/animata/widget/profile.stories.tsx b/animata/widget/profile.stories.tsx index 9d3f04e7..fb34bc4c 100644 --- a/animata/widget/profile.stories.tsx +++ b/animata/widget/profile.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Profile from "@/animata/widget/profile"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Profile", diff --git a/animata/widget/profile.tsx b/animata/widget/profile.tsx index 68aa3d3d..b0315704 100644 --- a/animata/widget/profile.tsx +++ b/animata/widget/profile.tsx @@ -2,7 +2,7 @@ import { Dribbble, Facebook, Linkedin, X } from "lucide-react"; export default function Profile() { return ( - <div className="group flex h-52 w-52 flex-col items-center justify-center rounded-3xl bg-cyan-200 p-4 shadow-sm transition-all duration-300 hover:shadow-black/25 dark:bg-zinc-800"> + <div className="group/profile flex h-52 w-52 flex-col items-center justify-center rounded-3xl bg-cyan-200 p-4 shadow-sm transition duration-300 hover:shadow-black/25 dark:bg-zinc-800"> <img alt="" src="https://sm.ign.com/ign_nordic/cover/a/avatar-gen/avatar-generations_prsz.jpg" diff --git a/animata/widget/reminder-widget.stories.tsx b/animata/widget/reminder-widget.stories.tsx index 600cbe5d..4f7555a5 100644 --- a/animata/widget/reminder-widget.stories.tsx +++ b/animata/widget/reminder-widget.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ReminderWidget from "@/animata/widget/reminder-widget"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Reminder Widget", diff --git a/animata/widget/reminder-widget.tsx b/animata/widget/reminder-widget.tsx index 6b638bf8..e85e9d7a 100644 --- a/animata/widget/reminder-widget.tsx +++ b/animata/widget/reminder-widget.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState } from "react"; import { BellDot } from "lucide-react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/widget/reminder.stories.tsx b/animata/widget/reminder.stories.tsx index 0c26344d..0ed49a24 100644 --- a/animata/widget/reminder.stories.tsx +++ b/animata/widget/reminder.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Reminder from "@/animata/widget/reminder"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Reminder", diff --git a/animata/widget/score-board.stories.tsx b/animata/widget/score-board.stories.tsx index 77bb8fa4..bd26b6b8 100644 --- a/animata/widget/score-board.stories.tsx +++ b/animata/widget/score-board.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ScoreBoard, { testScoreBoardProps } from "@/animata/widget/score-board"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Score Board", diff --git a/animata/widget/score-board.tsx b/animata/widget/score-board.tsx index 58b1265c..f11786db 100644 --- a/animata/widget/score-board.tsx +++ b/animata/widget/score-board.tsx @@ -70,7 +70,7 @@ export default function ScoreBoard({ }[]; }) { return ( - <div className="group flex size-52 flex-col rounded-3xl border bg-background p-4 shadow-sm shadow-black/15 transition-all duration-700 dark:border-zinc-700"> + <div className="group/board flex size-52 flex-col rounded-3xl border bg-background p-4 shadow-sm shadow-black/15 transition duration-700 dark:border-zinc-700"> <p className="text-base text-foreground"> Status: <span className="font-semibold text-green-700 dark:text-green-500"> Good </span> diff --git a/animata/widget/security-alert.stories.tsx b/animata/widget/security-alert.stories.tsx index 4d36e076..f18d889b 100644 --- a/animata/widget/security-alert.stories.tsx +++ b/animata/widget/security-alert.stories.tsx @@ -1,5 +1,6 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SecurityAlert from "@/animata/widget/security-alert"; -import { Meta, StoryObj } from "@storybook/react"; + const meta = { title: "Widget/Security Alert", component: SecurityAlert, diff --git a/animata/widget/security-alert.tsx b/animata/widget/security-alert.tsx index 0ebeb00f..d078fa16 100644 --- a/animata/widget/security-alert.tsx +++ b/animata/widget/security-alert.tsx @@ -1,4 +1,3 @@ -import React from "react"; import { TriangleAlert } from "lucide-react"; const SecurityAlert = () => { diff --git a/animata/widget/shopping-list.stories.tsx b/animata/widget/shopping-list.stories.tsx index 7a4959ef..2d3a8a05 100644 --- a/animata/widget/shopping-list.stories.tsx +++ b/animata/widget/shopping-list.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ShoppingList from "@/animata/widget/shopping-list"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Shopping List", @@ -15,5 +15,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + title: "Shopping list", + }, }; diff --git a/animata/widget/sleep-tracker.stories.tsx b/animata/widget/sleep-tracker.stories.tsx index 53ca1a31..0a6eae5c 100644 --- a/animata/widget/sleep-tracker.stories.tsx +++ b/animata/widget/sleep-tracker.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SleepTracker, { testSleepTrackerProps } from "@/animata/widget/sleep-tracker"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Sleep Tracker", diff --git a/animata/widget/storage-status.stories.tsx b/animata/widget/storage-status.stories.tsx index 4ccf3dfa..5d3f935b 100644 --- a/animata/widget/storage-status.stories.tsx +++ b/animata/widget/storage-status.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import StorageStatus from "@/animata/widget/storage-status"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Storage Status", diff --git a/animata/widget/storage-status.tsx b/animata/widget/storage-status.tsx index fbf32c2a..ee076321 100644 --- a/animata/widget/storage-status.tsx +++ b/animata/widget/storage-status.tsx @@ -10,7 +10,7 @@ interface SectionItem { function Section({ label, value, color, total, stretch }: SectionItem & { total: number }) { return ( <div - className={cn("relative w-full rounded-md transition-all", color, { + className={cn("relative w-full rounded-md transition", color, { "flex-1 text-gray-500": stretch, })} style={{ height: `${(value / total) * 100}%` }} @@ -67,7 +67,7 @@ items[0].value = Math.max(0, total - items.slice(1).reduce((acc, item) => acc + export default function StorageStatus() { return ( - <div className="group flex h-96 w-32 flex-col gap-1 rounded-md bg-black p-1 text-white"> + <div className="group/storage flex h-96 w-32 flex-col gap-1 rounded-md bg-black p-1 text-white"> {items.map((item, index) => ( <Section key={index} {...item} total={total} /> ))} diff --git a/animata/widget/storage-widget.stories.tsx b/animata/widget/storage-widget.stories.tsx index 55483b76..4fbeac28 100644 --- a/animata/widget/storage-widget.stories.tsx +++ b/animata/widget/storage-widget.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import StorageWidget from "@/animata/widget/storage-widget"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Storage Widget", diff --git a/animata/widget/study-timer.stories.tsx b/animata/widget/study-timer.stories.tsx index 0b0be7a4..ec2dc5cc 100644 --- a/animata/widget/study-timer.stories.tsx +++ b/animata/widget/study-timer.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import StudyTimer, { testStudyTimerProps } from "@/animata/widget/study-timer"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Study Timer", diff --git a/animata/widget/study-timer.tsx b/animata/widget/study-timer.tsx index f9f9ac5e..e5bc57f4 100644 --- a/animata/widget/study-timer.tsx +++ b/animata/widget/study-timer.tsx @@ -1,5 +1,5 @@ -import React from "react"; import { GraduationCap, XCircle } from "lucide-react"; +import type React from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/widget/team-clock.stories.tsx b/animata/widget/team-clock.stories.tsx index 1fe6feb4..73309bf3 100644 --- a/animata/widget/team-clock.stories.tsx +++ b/animata/widget/team-clock.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import TeamClock from "@/animata/widget/team-clock"; -import { Meta, StoryObj } from "@storybook/react"; const testTeamClockProps = { users: [ diff --git a/animata/widget/team-clock.tsx b/animata/widget/team-clock.tsx index 15d4e448..e3b9b7ca 100644 --- a/animata/widget/team-clock.tsx +++ b/animata/widget/team-clock.tsx @@ -1,7 +1,7 @@ "use client"; +import { AnimatePresence, motion } from "motion/react"; import { useEffect, useMemo, useRef, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -72,14 +72,14 @@ export default function TeamClock({ setAngle(0); } else { setSelectedUser(userName); - setAngle(parseInt(timeDifference) * 30); + setAngle(parseInt(timeDifference, 10) * 30); } }; const handleUserHover = (userName: string | null, timeDifference: string | null) => { if (userName && timeDifference) { setHoveredUser(userName); - setAngle(parseInt(timeDifference) * 30); + setAngle(parseInt(timeDifference, 10) * 30); } else { setHoveredUser(null); if (!selectedUser) { @@ -87,119 +87,113 @@ export default function TeamClock({ } else { const selectedUserData = users.find((user) => user.name === selectedUser); if (selectedUserData) { - setAngle(parseInt(selectedUserData.timeDifference) * 30); + setAngle(parseInt(selectedUserData.timeDifference, 10) * 30); } } } }; return ( - <> - <motion.div - className={cn( - "relative flex flex-col overflow-hidden rounded-lg border transition-shadow duration-300 hover:shadow-lg md:flex-row", - "min-w-26 h-auto w-full md:w-[450px]", - isMobile ? "team-clock-mobile" : "", - )} - style={{ - backgroundColor: backgroundColor, - borderColor: borderColor, - color: textColor, - }} - animate={{ width: isMobile ? "100%" : isExpanded ? "800px" : "400px" }} - transition={{ duration: animationDuration }} + <motion.div + className={cn( + "relative flex flex-col overflow-hidden rounded-lg border transition-shadow duration-300 hover:shadow-lg md:flex-row", + "min-w-26 h-auto w-full md:w-[450px]", + isMobile ? "team-clock-mobile" : "", + )} + style={{ + backgroundColor: backgroundColor, + borderColor: borderColor, + color: textColor, + }} + animate={{ width: isMobile ? "100%" : isExpanded ? "800px" : "400px" }} + transition={{ duration: animationDuration }} + > + <div + className={cn("flex flex-col rounded-lg p-4", { + "w-full": isMobile || (!isExpanded && !isMobile), + "w-1/2": isExpanded && !isMobile, + })} + style={{ backgroundColor: backgroundColor }} > <div - className={cn("flex flex-col rounded-lg p-4", { - "w-full": isMobile || (!isExpanded && !isMobile), - "w-1/2": isExpanded && !isMobile, - })} - style={{ backgroundColor: backgroundColor }} + className="mb-4 flex items-center justify-between border-b pb-4 pt-1" + style={{ borderColor: borderColor }} > - <div - className="mb-4 flex items-center justify-between border-b pb-4 pt-1" - style={{ borderColor: borderColor }} - > - <h2 className="text-2xl font-bold">Team</h2> - {!isMobile && ( - <ToggleButton - onClick={handleToggle} - accentColor={accentColor} - textColor={textColor} - /> - )} - </div> - <div className="flex flex-grow items-center justify-center"> - <Clock - angle={angle} - pressed={isExpanded} - size={isMobile ? Math.min(clockSize, window.innerWidth - 40) : clockSize} - animationDuration={animationDuration} - accentColor={accentColor} - textColor={textColor} - backgroundColor={backgroundColor} - /> - </div> - <div className="my-4 text-center text-3xl font-semibold"> - {currentTime.toLocaleTimeString([], { - hour: use24HourFormat ? "2-digit" : "numeric", - minute: "2-digit", - second: showSeconds ? "2-digit" : undefined, - hour12: !use24HourFormat, - })} - </div> + <h2 className="text-2xl font-bold">Team</h2> + {!isMobile && ( + <ToggleButton onClick={handleToggle} accentColor={accentColor} textColor={textColor} /> + )} + </div> + <div className="flex grow items-center justify-center"> + <Clock + angle={angle} + pressed={isExpanded} + size={isMobile ? Math.min(clockSize, window.innerWidth - 40) : clockSize} + animationDuration={animationDuration} + accentColor={accentColor} + textColor={textColor} + backgroundColor={backgroundColor} + /> + </div> + <div className="my-4 text-center text-3xl font-semibold"> + {currentTime.toLocaleTimeString([], { + hour: use24HourFormat ? "2-digit" : "numeric", + minute: "2-digit", + second: showSeconds ? "2-digit" : undefined, + hour12: !use24HourFormat, + })} </div> + </div> - {/* Add vertical dividing line */} - {isExpanded && !isMobile && ( - <div className="h-full w-px" style={{ backgroundColor: borderColor }}></div> - )} + {/* Add vertical dividing line */} + {isExpanded && !isMobile && ( + <div className="h-full w-px" style={{ backgroundColor: borderColor }}></div> + )} - <AnimatePresence> - {(isExpanded || isMobile) && ( + <AnimatePresence> + {(isExpanded || isMobile) && ( + <motion.div + className={cn("overflow-y-auto rounded-r-lg", { + "team-clock-mobile-list w-full": isMobile, + "w-1/2": !isMobile, + })} + style={{ backgroundColor: backgroundColor }} + initial={isMobile ? { opacity: 1 } : { width: 0, opacity: 0 }} + animate={isMobile ? { opacity: 1 } : { width: "50%", opacity: 1 }} + exit={isMobile ? { opacity: 1 } : { width: 0, opacity: 0 }} + transition={{ duration: animationDuration }} + > <motion.div - className={cn("overflow-y-auto rounded-r-lg", { - "team-clock-mobile-list w-full": isMobile, - "w-1/2": !isMobile, - })} - style={{ backgroundColor: backgroundColor }} - initial={isMobile ? { opacity: 1 } : { width: 0, opacity: 0 }} - animate={isMobile ? { opacity: 1 } : { width: "50%", opacity: 1 }} - exit={isMobile ? { opacity: 1 } : { width: 0, opacity: 0 }} + className="space-y-4 p-4" + initial={isMobile ? { x: 0 } : { x: "100%" }} + animate={{ x: 0 }} + exit={isMobile ? { x: 0 } : { x: "100%" }} transition={{ duration: animationDuration }} > - <motion.div - className="space-y-4 p-4" - initial={isMobile ? { x: 0 } : { x: "100%" }} - animate={{ x: 0 }} - exit={isMobile ? { x: 0 } : { x: "100%" }} - transition={{ duration: animationDuration }} - > - {users.map((user, index) => ( - <ListElement - key={index} - name={user.name} - city={user.city} - country={user.country} - pfp={user.pfp} - timeDifference={user.timeDifference} - onSelect={handleUserSelect} - onHover={handleUserHover} - isSelected={selectedUser === user.name} - isHovered={hoveredUser === user.name} - currentTime={currentTime} - animationDuration={animationDuration} - accentColor={accentColor} - textColor={textColor} - hoverBackgroundColor={hoverBackgroundColor} - /> - ))} - </motion.div> + {users.map((user, index) => ( + <ListElement + key={index} + name={user.name} + city={user.city} + country={user.country} + pfp={user.pfp} + timeDifference={user.timeDifference} + onSelect={handleUserSelect} + onHover={handleUserHover} + isSelected={selectedUser === user.name} + isHovered={hoveredUser === user.name} + currentTime={currentTime} + animationDuration={animationDuration} + accentColor={accentColor} + textColor={textColor} + hoverBackgroundColor={hoverBackgroundColor} + /> + ))} </motion.div> - )} - </AnimatePresence> - </motion.div> - </> + </motion.div> + )} + </AnimatePresence> + </motion.div> ); } @@ -362,7 +356,7 @@ function ListElement(props: ListElementProp) { }; const localTime = useMemo(() => { - const hourDifference = parseInt(props.timeDifference); + const hourDifference = parseInt(props.timeDifference, 10); const newTime = new Date(props.currentTime); newTime.setHours(newTime.getHours() + hourDifference); return newTime.toLocaleTimeString([], { @@ -373,10 +367,7 @@ function ListElement(props: ListElementProp) { return ( <motion.div - className={cn( - "flex cursor-pointer items-center rounded-lg p-3", - props.isSelected || isHovered ? "bg-opacity-10" : "", - )} + className={cn("flex cursor-pointer items-center rounded-lg p-3", "")} onMouseEnter={handleEnter} onMouseLeave={handleLeave} onClick={handleClick} @@ -388,7 +379,7 @@ function ListElement(props: ListElementProp) { style={{ color: props.textColor }} > <img src={props.pfp} alt={props.name} className="mr-4 h-10 w-10 rounded-full" /> - <div className="flex-grow"> + <div className="grow"> <div className="flex items-center justify-between"> <span className="text-lg font-semibold">{props.name}</span> <div className="relative text-sm"> @@ -406,13 +397,13 @@ function ListElement(props: ListElementProp) { {(props.isSelected || isHovered) && ( <motion.div className={"whitespace-nowrap text-xs sm:text-sm"} - style={{ color: parseInt(props.timeDifference) < 0 ? "#EF4444" : "#10B981" }} + style={{ color: parseInt(props.timeDifference, 10) < 0 ? "#EF4444" : "#10B981" }} initial={{ opacity: 0, y: 10 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -10 }} transition={{ duration: props.animationDuration }} > - {parseInt(props.timeDifference) === 0 + {parseInt(props.timeDifference, 10) === 0 ? "+ 0 Hours" : `${props.timeDifference} Hours`} </motion.div> diff --git a/animata/widget/video-chat.stories.tsx b/animata/widget/video-chat.stories.tsx index ef7fc6c9..c7f3ce33 100644 --- a/animata/widget/video-chat.stories.tsx +++ b/animata/widget/video-chat.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import VideoChat from "@/animata/widget/video-chat"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Video Chat", diff --git a/animata/widget/video-chat.tsx b/animata/widget/video-chat.tsx index cd565151..dec999da 100644 --- a/animata/widget/video-chat.tsx +++ b/animata/widget/video-chat.tsx @@ -1,8 +1,5 @@ "use client"; -import { useState } from "react"; -import { StaticImageData } from "next/image"; -import { motion } from "framer-motion"; import { Circle, LogOut, @@ -14,6 +11,9 @@ import { Square, VideoIcon, } from "lucide-react"; +import { motion } from "motion/react"; +import type { StaticImageData } from "next/image"; +import { useState } from "react"; import { cn } from "@/lib/utils"; import Hills from "@/public/bg-hills.jpg"; diff --git a/animata/widget/vpn-widget.stories.tsx b/animata/widget/vpn-widget.stories.tsx index 6180ce5b..538065de 100644 --- a/animata/widget/vpn-widget.stories.tsx +++ b/animata/widget/vpn-widget.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import VpnWidget from "@/animata/widget/vpn-widget"; -import { Meta, StoryObj } from "@storybook/react"; const meta: Meta<typeof VpnWidget> = { title: "Widget/Vpn Widget", @@ -24,6 +24,7 @@ export const Primary: Story = { userName: "Animata", latency: "5ms", netSpeed: "10", + defaultConnected: false, }, }; diff --git a/animata/widget/vpn-widget.tsx b/animata/widget/vpn-widget.tsx index 4e0d179c..9c558c6d 100644 --- a/animata/widget/vpn-widget.tsx +++ b/animata/widget/vpn-widget.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState } from "react"; import { FlagIcon, ShieldBan, ShieldCheck } from "lucide-react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; @@ -38,7 +38,7 @@ function SlidingButton({ initialConnected = false, className }: SlidingButtonPro </div> <div className={cn( - "absolute z-10 flex h-11 w-36 flex-1 flex-col items-center justify-center rounded-[14px] bg-white py-2 transition-all duration-200 ease-in-out hover:bg-gray-50/95 active:bg-gray-50/70", + "absolute z-10 flex h-11 w-36 flex-1 flex-col items-center justify-center rounded-[14px] bg-white py-2 transition duration-200 ease-in-out hover:bg-gray-50/95 active:bg-gray-50/70", { "left-0.5": connected, "left-[34px]": !connected, @@ -62,7 +62,7 @@ function SlidingButton({ initialConnected = false, className }: SlidingButtonPro <div className={cn("h-3 w-3 rounded-full bg-green-500 transition-opacity", { "opacity-0 duration-300": !connected, - "opacity-100 group-hover:animate-pulse": connected, + "opacity-100 group-hover/vpn:animate-pulse": connected, })} /> </div> @@ -79,12 +79,14 @@ export default function VpnConnection({ }: VpnConnectionProps) { return ( <div className={className}> - <div className={cn("group flex size-52 flex-col rounded-3xl bg-blue-900 p-0.5")}> + <div className={cn("group/vpn flex size-52 flex-col rounded-3xl bg-blue-900 p-0.5")}> <div className="flex items-center gap-2 px-4 pb-2 pt-4"> <FlagIcon size={24} className="fill-yellow-500 text-yellow-500" /> <h3 className={cn("text-xl font-semibold tracking-wide text-yellow-500")}>{userName}</h3> </div> - <div className={cn("group flex w-full flex-1 flex-col gap-1 rounded-[22px] bg-white p-3")}> + <div + className={cn("group/vpn flex w-full flex-1 flex-col gap-1 rounded-[22px] bg-white p-3")} + > <div className={cn( "inline-flex max-w-fit items-center justify-center gap-1 rounded-xl bg-green-100 px-2 text-sm font-semibold", diff --git a/animata/widget/water-tracker.stories.tsx b/animata/widget/water-tracker.stories.tsx index b8aae3e7..a9e6789b 100644 --- a/animata/widget/water-tracker.stories.tsx +++ b/animata/widget/water-tracker.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import WaterTracker from "@/animata/widget/water-tracker"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Water Tracker", diff --git a/animata/widget/water-tracker.tsx b/animata/widget/water-tracker.tsx index 3d006bb5..025e7680 100644 --- a/animata/widget/water-tracker.tsx +++ b/animata/widget/water-tracker.tsx @@ -1,6 +1,6 @@ "use client"; -import { useEffect, useState } from "react"; import { Droplet } from "lucide-react"; +import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; @@ -42,7 +42,7 @@ export default function WaterTracker({ dailyGoal = 5000 }: WaterTrackerProps) { onClick={handleAddWater} disabled={waterIntake >= dailyGoal} className={cn( - "transform rounded-full bg-gradient-to-r px-6 py-2 text-sm font-semibold text-white", + "transform rounded-full bg-linear-to-r px-6 py-2 text-sm font-semibold text-white", { "cursor-not-allowed from-gray-600 to-gray-500 opacity-80": waterIntake >= dailyGoal, "from-blue-500 to-blue-700 transition-transform hover:scale-105 hover:shadow-lg": @@ -59,7 +59,7 @@ export default function WaterTracker({ dailyGoal = 5000 }: WaterTrackerProps) { <div className="absolute bottom-0 right-0 h-full w-10 overflow-hidden rounded-r-3xl border-l-2 border-gray-700 bg-gray-800"> <div className={ - "absolute bottom-0 right-0 w-full bg-gradient-to-t from-blue-500 to-blue-700 transition-all duration-100 ease-out" + "absolute bottom-0 right-0 w-full bg-linear-to-t from-blue-500 to-blue-700 transition duration-100 ease-out" } style={{ height: `${progress}%`, diff --git a/animata/widget/weather-card.stories.tsx b/animata/widget/weather-card.stories.tsx index d2381d9b..81736c33 100644 --- a/animata/widget/weather-card.stories.tsx +++ b/animata/widget/weather-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import WeatherCard from "@/animata/widget/weather-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Weather Card", diff --git a/animata/widget/weather-card.tsx b/animata/widget/weather-card.tsx index c6b8c3bc..0d92e82d 100644 --- a/animata/widget/weather-card.tsx +++ b/animata/widget/weather-card.tsx @@ -2,7 +2,7 @@ import { CircleArrowUp, CloudSunRain } from "lucide-react"; export default function WeatherCard() { return ( - <div className="relative flex size-52 flex-col rounded-3xl bg-opacity-10 bg-gradient-to-r from-gray-200 to-gray-300 bg-clip-padding p-4 backdrop-blur-sm backdrop-filter dark:from-gray-700 dark:to-gray-900"> + <div className="relative flex size-52 flex-col rounded-3xl bg-linear-to-r from-gray-200 to-gray-300 bg-clip-padding p-4 backdrop-blur-sm backdrop-filter dark:from-gray-700 dark:to-gray-900"> <div className="flex flex-1 flex-col gap-2 dark:text-white"> <p className="city opacity-70">Tokyo</p> <div className="flex items-center"> @@ -11,7 +11,7 @@ export default function WeatherCard() { </div> <p className="feels-like opacity-70">Feels like 21°</p> </div> - <div className="flex justify-between rounded-xl bg-gray-400 bg-opacity-30 bg-clip-padding py-1 backdrop-blur-lg backdrop-filter"> + <div className="flex justify-between rounded-xl bg-gray-400/30 bg-clip-padding py-1 backdrop-blur-lg backdrop-filter"> <div className="flex items-center gap-1 px-2 text-orange-500 dark:text-orange-200"> <CircleArrowUp className="h-5 w-5" /> 24° diff --git a/animata/widget/weekly-progress.stories.tsx b/animata/widget/weekly-progress.stories.tsx index 3d06feec..93c7fbae 100644 --- a/animata/widget/weekly-progress.stories.tsx +++ b/animata/widget/weekly-progress.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import WeeklyProgress from "@/animata/widget/weekly-progress"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Weekly Progress", diff --git a/animata/widget/weekly-progress.tsx b/animata/widget/weekly-progress.tsx index 42348488..dd67cb8f 100644 --- a/animata/widget/weekly-progress.tsx +++ b/animata/widget/weekly-progress.tsx @@ -50,7 +50,7 @@ export default function WeeklyProgress() { attributeName="stroke-dashoffset" from="565.48" to="118.692" - dur={0.5 + index * 0.1 + "s"} + dur={`${0.5 + index * 0.1}s`} fill="freeze" /> </circle> @@ -67,7 +67,7 @@ export default function WeeklyProgress() { attributeName="opacity" from="0" to="1" - dur={0.5 + index * 0.1 + "s"} + dur={`${0.5 + index * 0.1}s`} fill="freeze" /> {day} diff --git a/app/_landing/call-to-action.tsx b/app/(main)/_landing/call-to-action.tsx similarity index 85% rename from app/_landing/call-to-action.tsx rename to app/(main)/_landing/call-to-action.tsx index 1848ba8b..77513fd7 100644 --- a/app/_landing/call-to-action.tsx +++ b/app/(main)/_landing/call-to-action.tsx @@ -1,13 +1,12 @@ -import { useEffect, useRef, useState } from "react"; -import Link from "next/link"; -import { useInView } from "framer-motion"; +import { GitHubLogoIcon } from "@radix-ui/react-icons"; import { Navigation } from "lucide-react"; - +import { useInView } from "motion/react"; +import Link from "next/link"; +import { useEffect, useRef, useState } from "react"; import AnimatedGradientText from "@/animata/text/animated-gradient-text"; import GibberishText from "@/animata/text/gibberish-text"; import ComponentLinkWrapper from "@/components/component-link-wrapper"; import RemountOnMouseIn from "@/components/remount-on-mouse-in"; -import { GitHubLogoIcon } from "@radix-ui/react-icons"; export default function CallToActionSection() { const headerRef = useRef<HTMLHeadingElement>(null); @@ -36,7 +35,7 @@ export default function CallToActionSection() { <div className="mx-auto flex w-full max-w-2xl flex-row items-center justify-center gap-4"> <Link href="/docs" - className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 bg-opacity-100 py-12 transition-all duration-100 hover:scale-105 hover:bg-opacity-50 dark:border-zinc-600 dark:bg-zinc-800" + className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 py-12 transition-all duration-100 hover:scale-105 hover:bg-gray-100/25 dark:border-zinc-600 dark:bg-zinc-800" > <Navigation className="size-10 md:size-14" /> <div className="text-balance px-4 text-center text-sm font-bold sm:text-base md:text-lg"> @@ -45,7 +44,7 @@ export default function CallToActionSection() { </Link> <Link href="https://github.com/codse/animata" - className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 bg-opacity-100 py-12 transition-all duration-100 hover:scale-105 hover:bg-opacity-50 dark:border-zinc-600 dark:bg-zinc-800" + className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 py-12 transition-all duration-100 hover:scale-105 hover:bg-gray-100/25 dark:border-zinc-600 dark:bg-zinc-800" > <GitHubLogoIcon className="size-10 md:size-14" /> <div className="text-balance px-4 text-center text-sm font-bold sm:text-base md:text-lg"> diff --git a/app/_landing/faq-section.tsx b/app/(main)/_landing/faq-section.tsx similarity index 100% rename from app/_landing/faq-section.tsx rename to app/(main)/_landing/faq-section.tsx diff --git a/app/_landing/grid-view.tsx b/app/(main)/_landing/grid-view.tsx similarity index 87% rename from app/_landing/grid-view.tsx rename to app/(main)/_landing/grid-view.tsx index dbc85868..e674e14f 100644 --- a/app/_landing/grid-view.tsx +++ b/app/(main)/_landing/grid-view.tsx @@ -13,7 +13,7 @@ export default function GridView({ }) { const items = React.Children.toArray(children); return ( - <div className="container my-4 flex flex-col gap-4 md:flex-row"> + <div className="container mx-auto my-4 flex flex-col gap-4 md:flex-row"> {items.map((item, i) => ( <div key={i} diff --git a/app/_landing/hero-title.tsx b/app/(main)/_landing/hero-title.tsx similarity index 100% rename from app/_landing/hero-title.tsx rename to app/(main)/_landing/hero-title.tsx diff --git a/app/_landing/hero.tsx b/app/(main)/_landing/hero.tsx similarity index 98% rename from app/_landing/hero.tsx rename to app/(main)/_landing/hero.tsx index 23b1264e..cb26cfee 100644 --- a/app/_landing/hero.tsx +++ b/app/(main)/_landing/hero.tsx @@ -38,7 +38,7 @@ export default function Hero() { radial-gradient(at 66% 84%, hsla(89,66%,79%,1) 0px, transparent 50%)`, }} /> - <div className="container relative overflow-hidden py-16 md:py-48"> + <div className="container mx-auto relative overflow-hidden py-16 md:py-48"> <div className="relative mx-auto flex max-w-7xl flex-col items-center justify-center gap-8 px-4 md:flex-row"> <div className="flex flex-col items-center justify-center gap-2"> <HeroTitle /> diff --git a/app/_landing/highlight.tsx b/app/(main)/_landing/highlight.tsx similarity index 100% rename from app/_landing/highlight.tsx rename to app/(main)/_landing/highlight.tsx diff --git a/app/_landing/mode-switcher.tsx b/app/(main)/_landing/mode-switcher.tsx similarity index 96% rename from app/_landing/mode-switcher.tsx rename to app/(main)/_landing/mode-switcher.tsx index 120376ce..9e40df1e 100644 --- a/app/_landing/mode-switcher.tsx +++ b/app/(main)/_landing/mode-switcher.tsx @@ -1,6 +1,6 @@ -import { useTheme } from "next-themes"; -import { motion, useMotionValue, useSpring } from "framer-motion"; import { Cloud, MoonStar, Star, Sun } from "lucide-react"; +import { motion, useMotionValue, useSpring } from "motion/react"; +import { useTheme } from "next-themes"; export default function ModeSwitcher() { const { setTheme, resolvedTheme } = useTheme(); diff --git a/app/_landing/newsletter.tsx b/app/(main)/_landing/newsletter.tsx similarity index 98% rename from app/_landing/newsletter.tsx rename to app/(main)/_landing/newsletter.tsx index d1f70cb8..63ccefac 100644 --- a/app/_landing/newsletter.tsx +++ b/app/(main)/_landing/newsletter.tsx @@ -1,5 +1,5 @@ -import React from "react"; import { Loader2, Mail } from "lucide-react"; +import type React from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; diff --git a/app/_landing/section-one.tsx b/app/(main)/_landing/section-one.tsx similarity index 99% rename from app/_landing/section-one.tsx rename to app/(main)/_landing/section-one.tsx index 53ee4491..e3f59868 100644 --- a/app/_landing/section-one.tsx +++ b/app/(main)/_landing/section-one.tsx @@ -1,7 +1,7 @@ "use client"; -import React, { Suspense } from "react"; import { useTheme } from "next-themes"; +import React, { Suspense } from "react"; import GithubCardShiny from "@/animata/card/github-card-shiny"; import GithubCardSkew from "@/animata/card/github-card-skew"; @@ -9,8 +9,9 @@ import AnimatedBorderTrail from "@/animata/container/animated-border-trail"; import AnimatedGradientText from "@/animata/text/animated-gradient-text"; import MirrorText from "@/animata/text/mirror-text"; import TypingText from "@/animata/text/typing-text"; -import GridView from "@/app/_landing/grid-view"; +import GridView from "@/app/(main)/_landing/grid-view"; import { ComponentCard } from "@/components/component-card"; + const WidgetSection = React.lazy(() => import("./widget-section")); export default function SectionOne() { diff --git a/app/_landing/section-two.tsx b/app/(main)/_landing/section-two.tsx similarity index 97% rename from app/_landing/section-two.tsx rename to app/(main)/_landing/section-two.tsx index 106a3026..30fd434d 100644 --- a/app/_landing/section-two.tsx +++ b/app/(main)/_landing/section-two.tsx @@ -2,7 +2,7 @@ import AnimatedBeam from "@/animata/background/animated-beam"; import InteractiveGrid from "@/animata/background/interactive-grid"; import AnimatedGradientText from "@/animata/text/animated-gradient-text"; import SplitText from "@/animata/text/split-text"; -import GridView from "@/app/_landing/grid-view"; +import GridView from "@/app/(main)/_landing/grid-view"; import { ComponentCard } from "@/components/component-card"; import ComponentLinkWrapper from "@/components/component-link-wrapper"; diff --git a/app/_landing/skeleton-section.tsx b/app/(main)/_landing/skeleton-section.tsx similarity index 100% rename from app/_landing/skeleton-section.tsx rename to app/(main)/_landing/skeleton-section.tsx diff --git a/app/_landing/testimonials.tsx b/app/(main)/_landing/testimonials.tsx similarity index 98% rename from app/_landing/testimonials.tsx rename to app/(main)/_landing/testimonials.tsx index 66dee1a1..92abc0e1 100644 --- a/app/_landing/testimonials.tsx +++ b/app/(main)/_landing/testimonials.tsx @@ -1,7 +1,7 @@ -import { useRef } from "react"; -import { useTheme } from "next-themes"; -import { useInView } from "framer-motion"; import { Quote } from "lucide-react"; +import { useInView } from "motion/react"; +import { useTheme } from "next-themes"; +import { useRef } from "react"; import { cn } from "@/lib/utils"; diff --git a/app/_landing/thunder.tsx b/app/(main)/_landing/thunder.tsx similarity index 77% rename from app/_landing/thunder.tsx rename to app/(main)/_landing/thunder.tsx index f8b58a39..1bcaba76 100644 --- a/app/_landing/thunder.tsx +++ b/app/(main)/_landing/thunder.tsx @@ -23,10 +23,7 @@ export default function Thunder() { </mask> <g mask="url(#cs_mask_1_misc-4)"> <path fill="#fff" d="M200 0H0v200h200V0z"></path> - <path - fill="url(#paint0_linear_748_5038)" - d="M200 0H0v200h200V0z" - ></path> + <path fill="url(#paint0_linear_748_5038)" d="M200 0H0v200h200V0z"></path> <g filter="url(#filter0_f_748_5038)"> <path fill="#18A0FB" d="M216 79H96v135h120V79z"></path> </g> @@ -43,11 +40,7 @@ export default function Thunder() { filterUnits="userSpaceOnUse" > <feFlood floodOpacity="0" result="BackgroundImageFix"></feFlood> - <feBlend - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - ></feBlend> + <feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend> <feGaussianBlur result="effect1_foregroundBlur_748_5038" stdDeviation="31.25" @@ -85,24 +78,9 @@ export default function Thunder() { y="0%" filterUnits="objectBoundingBox" > - <feTurbulence - baseFrequency="0.6" - numOctaves="5" - result="out1" - seed="4" - ></feTurbulence> - <feComposite - in="out1" - in2="SourceGraphic" - operator="in" - result="out2" - ></feComposite> - <feBlend - in="SourceGraphic" - in2="out2" - mode="overlay" - result="out3" - ></feBlend> + <feTurbulence baseFrequency="0.6" numOctaves="5" result="out1" seed="4"></feTurbulence> + <feComposite in="out1" in2="SourceGraphic" operator="in" result="out2"></feComposite> + <feBlend in="SourceGraphic" in2="out2" mode="overlay" result="out3"></feBlend> </filter> </defs> </svg> diff --git a/app/_landing/widget-section.tsx b/app/(main)/_landing/widget-section.tsx similarity index 96% rename from app/_landing/widget-section.tsx rename to app/(main)/_landing/widget-section.tsx index 45daa64a..2bac6f82 100644 --- a/app/_landing/widget-section.tsx +++ b/app/(main)/_landing/widget-section.tsx @@ -1,7 +1,5 @@ "use client"; -import React from "react"; - import Marquee from "@/animata/container/marquee"; import BatteryLevel from "@/animata/widget/battery-level"; import ClockWithPhoto from "@/animata/widget/clock-with-photo"; diff --git a/app/blog/[[...slug]]/page.tsx b/app/(main)/blog/[[...slug]]/page.tsx similarity index 88% rename from app/blog/[[...slug]]/page.tsx rename to app/(main)/blog/[[...slug]]/page.tsx index e5a97450..fd638d31 100644 --- a/app/blog/[[...slug]]/page.tsx +++ b/app/(main)/blog/[[...slug]]/page.tsx @@ -1,10 +1,10 @@ +import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; -import { allBlogs, Doc } from "contentlayer/generated"; import Balancer from "react-wrap-balancer"; - -import NavMenu from "@/app/docs/[[...slug]]/nav-menu"; +import { blogs as allBlogs } from "#site/content"; +import NavMenu from "@/app/(main)/docs/[[...slug]]/nav-menu"; import { Mdx } from "@/components/mdx-components"; import { DocsPager } from "@/components/pager"; import { DashboardTableOfContents } from "@/components/toc"; @@ -14,18 +14,16 @@ import { blogSidebarNav } from "@/config/blog"; import { siteConfig } from "@/config/site"; import { getTableOfContents } from "@/lib/toc"; import { absoluteUrl, cn } from "@/lib/utils"; -import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import "@/styles/mdx.css"; -import "@/styles/storybook.css"; interface BlogPageProps { - params: { + params: Promise<{ slug: string[]; - }; + }>; } -async function getBlogFromParams({ params }: BlogPageProps) { +async function getBlogFromParams(params: { slug: string[] }) { const slug = params.slug?.join("/") || ""; const blog = allBlogs.find((doc) => doc.slugAsParams === slug); @@ -37,7 +35,8 @@ async function getBlogFromParams({ params }: BlogPageProps) { } export async function generateMetadata({ params }: BlogPageProps): Promise<Metadata> { - const blog = await getBlogFromParams({ params }); + const resolvedParams = await params; + const blog = await getBlogFromParams(resolvedParams); if (!blog) { return {}; @@ -70,20 +69,21 @@ export async function generateMetadata({ params }: BlogPageProps): Promise<Metad }; } -export async function generateStaticParams(): Promise<BlogPageProps["params"][]> { +export async function generateStaticParams() { return allBlogs.map((blog) => ({ slug: blog.slugAsParams.split("/"), })); } export default async function BlogPage({ params }: BlogPageProps) { - const blog = await getBlogFromParams({ params }); + const resolvedParams = await params; + const blog = await getBlogFromParams(resolvedParams); if (!blog) { notFound(); } - const toc = await getTableOfContents(blog.body.raw); + const toc = await getTableOfContents(blog.content); return ( <main className="relative py-6 lg:gap-10 lg:py-8 xl:grid xl:grid-cols-[1fr_150px]"> @@ -141,11 +141,11 @@ export default async function BlogPage({ params }: BlogPageProps) { </div> ) : null} <div className="pb-12"> - <Mdx code={blog.body.code} /> + <Mdx code={blog.body} filePath={`content/${blog.path}.mdx`} /> <div className="my-3 text-right"> <Link - href={`https://github.com/codse/animata/edit/main/content/docs/${blog.slugAsParams}.mdx`} + href={`https://github.com/codse/animata/edit/main/content/blog/${blog.slugAsParams}.mdx`} target="_blank" rel="noreferrer" className="text-sm text-secondary-foreground underline" @@ -154,7 +154,7 @@ export default async function BlogPage({ params }: BlogPageProps) { </Link> </div> </div> - <DocsPager doc={blog as unknown as Doc} /> + <DocsPager doc={blog} /> </div> {blog.toc && ( <div className="hidden text-sm xl:block"> diff --git a/app/blog/layout.tsx b/app/(main)/blog/layout.tsx similarity index 100% rename from app/blog/layout.tsx rename to app/(main)/blog/layout.tsx diff --git a/app/credits/page.tsx b/app/(main)/credits/page.tsx similarity index 65% rename from app/credits/page.tsx rename to app/(main)/credits/page.tsx index b2ee1b1a..c3a9397b 100644 --- a/app/credits/page.tsx +++ b/app/(main)/credits/page.tsx @@ -1,8 +1,4 @@ -import { - PageHeader, - PageHeaderDescription, - PageHeaderHeading, -} from "@/components/page-header"; +import { PageHeader, PageHeaderDescription, PageHeaderHeading } from "@/components/page-header"; export default function CreditsPage() { return ( @@ -10,8 +6,8 @@ export default function CreditsPage() { <PageHeader> <PageHeaderHeading>Inspiration</PageHeaderHeading> <PageHeaderDescription> - Beautifully designed components that you can copy and paste into your - apps. Accessible. Customizable. Open Source. + Beautifully designed components that you can copy and paste into your apps. Accessible. + Customizable. Open Source. </PageHeaderDescription> </PageHeader> </div> diff --git a/app/docs/[[...slug]]/nav-menu.tsx b/app/(main)/docs/[[...slug]]/nav-menu.tsx similarity index 97% rename from app/docs/[[...slug]]/nav-menu.tsx rename to app/(main)/docs/[[...slug]]/nav-menu.tsx index 810e6819..2de3be77 100644 --- a/app/docs/[[...slug]]/nav-menu.tsx +++ b/app/(main)/docs/[[...slug]]/nav-menu.tsx @@ -1,8 +1,8 @@ "use client"; -import { useState } from "react"; +import { Loader } from "lucide-react"; import Link from "next/link"; import { useRouter } from "next/navigation"; -import { Loader } from "lucide-react"; +import { useState } from "react"; import { Select, @@ -13,7 +13,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; -import { SidebarNavItem } from "@/types"; +import type { SidebarNavItem } from "@/types"; export default function NavMenu({ value, diff --git a/app/docs/[[...slug]]/page.tsx b/app/(main)/docs/[[...slug]]/page.tsx similarity index 90% rename from app/docs/[[...slug]]/page.tsx rename to app/(main)/docs/[[...slug]]/page.tsx index d344b1de..e626e4af 100644 --- a/app/docs/[[...slug]]/page.tsx +++ b/app/(main)/docs/[[...slug]]/page.tsx @@ -1,10 +1,10 @@ +import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; -import { allDocs } from "contentlayer/generated"; import Balancer from "react-wrap-balancer"; - -import NavMenu from "@/app/docs/[[...slug]]/nav-menu"; +import { docs as allDocs } from "#site/content"; +import NavMenu from "@/app/(main)/docs/[[...slug]]/nav-menu"; import CarbonAds from "@/components/ads"; import { Mdx } from "@/components/mdx-components"; import { DocsPager } from "@/components/pager"; @@ -15,17 +15,15 @@ import { docsConfig } from "@/config/docs"; import { siteConfig } from "@/config/site"; import { getTableOfContents } from "@/lib/toc"; import { absoluteUrl, cn } from "@/lib/utils"; -import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import "@/styles/mdx.css"; -import "@/styles/storybook.css"; interface DocPageProps { - params: { + params: Promise<{ slug: string[]; - }; + }>; } -async function getDocFromParams({ params }: DocPageProps) { +async function getDocFromParams(params: { slug: string[] }) { const slug = params.slug?.join("/") || ""; const doc = allDocs.find((doc) => doc.slugAsParams === slug); @@ -37,7 +35,8 @@ async function getDocFromParams({ params }: DocPageProps) { } export async function generateMetadata({ params }: DocPageProps): Promise<Metadata> { - const doc = await getDocFromParams({ params }); + const resolvedParams = await params; + const doc = await getDocFromParams(resolvedParams); if (!doc) { return {}; @@ -70,20 +69,21 @@ export async function generateMetadata({ params }: DocPageProps): Promise<Metada }; } -export async function generateStaticParams(): Promise<DocPageProps["params"][]> { +export async function generateStaticParams() { return allDocs.map((doc) => ({ slug: doc.slugAsParams.split("/"), })); } export default async function DocPage({ params }: DocPageProps) { - const doc = await getDocFromParams({ params }); + const resolvedParams = await params; + const doc = await getDocFromParams(resolvedParams); if (!doc) { notFound(); } - const toc = await getTableOfContents(doc.body.raw); + const toc = await getTableOfContents(doc.content); return ( <main className="relative py-6 lg:gap-10 lg:py-8 xl:grid xl:grid-cols-[1fr_150px]"> @@ -148,7 +148,7 @@ export default async function DocPage({ params }: DocPageProps) { <CarbonAds /> </div> <div className="pb-12"> - <Mdx code={doc.body.code} /> + <Mdx code={doc.body} filePath={`content/${doc.path}.mdx`} /> <div className="my-3 text-right"> <Link diff --git a/app/docs/layout.tsx b/app/(main)/docs/layout.tsx similarity index 100% rename from app/docs/layout.tsx rename to app/(main)/docs/layout.tsx diff --git a/app/(main)/layout.tsx b/app/(main)/layout.tsx new file mode 100644 index 00000000..b7fdb6c1 --- /dev/null +++ b/app/(main)/layout.tsx @@ -0,0 +1,23 @@ +import { CSPostHogProvider } from "@/app/(main)/providers"; +import { SiteFooter } from "@/components/site-footer"; +import { SiteHeader } from "@/components/site-header"; +import { TailwindIndicator } from "@/components/tailwind-indicator"; + +interface MainLayoutProps { + children: React.ReactNode; +} + +export default function MainLayout({ children }: MainLayoutProps) { + return ( + <CSPostHogProvider> + <div vaul-drawer-wrapper=""> + <div className="relative flex min-h-screen flex-col bg-background"> + <SiteHeader /> + <main className="flex-1">{children}</main> + <SiteFooter /> + </div> + </div> + <TailwindIndicator /> + </CSPostHogProvider> + ); +} diff --git a/app/page.tsx b/app/(main)/page.tsx similarity index 91% rename from app/page.tsx rename to app/(main)/page.tsx index 26349e90..f6ac3c56 100644 --- a/app/page.tsx +++ b/app/(main)/page.tsx @@ -1,9 +1,9 @@ "use client"; +import { useInView } from "motion/react"; import React, { Suspense } from "react"; -import { useInView } from "framer-motion"; -import SectionOne from "@/app/_landing/section-one"; +import SectionOne from "@/app/(main)/_landing/section-one"; import { cn } from "@/lib/utils"; import Hero from "./_landing/hero"; @@ -19,7 +19,7 @@ function LazySection({ className, }: { className?: string; - component: React.LazyExoticComponent<() => JSX.Element>; + component: React.LazyExoticComponent<() => React.JSX.Element>; }) { const divRef = React.useRef<HTMLDivElement>(null); const isInView = useInView(divRef, { diff --git a/app/providers.tsx b/app/(main)/providers.tsx similarity index 100% rename from app/providers.tsx rename to app/(main)/providers.tsx diff --git a/app/sitemap.ts b/app/(main)/sitemap.ts similarity index 74% rename from app/sitemap.ts rename to app/(main)/sitemap.ts index 948c9900..8acc7776 100644 --- a/app/sitemap.ts +++ b/app/(main)/sitemap.ts @@ -1,6 +1,8 @@ -import { MetadataRoute } from "next"; +import type { MetadataRoute } from "next"; -import { allDocs } from "@/.contentlayer/generated"; +import { docs as allDocs } from "#site/content"; + +export const dynamic = "force-static"; export default function sitemap(): MetadataRoute.Sitemap { const domain = process.env.NEXT_PUBLIC_APP_URL; diff --git a/app/layout.tsx b/app/layout.tsx index c3391775..df480938 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,10 +1,6 @@ -import { Metadata, Viewport } from "next"; +import type { Metadata, Viewport } from "next"; -import { CSPostHogProvider } from "@/app/providers"; import { ThemeProvider } from "@/components/providers"; -import { SiteFooter } from "@/components/site-footer"; -import { SiteHeader } from "@/components/site-header"; -import { TailwindIndicator } from "@/components/tailwind-indicator"; import { siteConfig } from "@/config/site"; import { cn } from "@/lib/utils"; @@ -78,29 +74,18 @@ interface RootLayoutProps { export default function RootLayout({ children }: RootLayoutProps) { return ( - <> - <html lang="en" suppressHydrationWarning> - <head /> - <CSPostHogProvider> - <body className={cn("min-h-screen bg-background font-sans antialiased")}> - <ThemeProvider - attribute="class" - defaultTheme="system" - enableSystem - disableTransitionOnChange - > - <div vaul-drawer-wrapper=""> - <div className="relative flex min-h-screen flex-col bg-background"> - <SiteHeader /> - <main className="flex-1">{children}</main> - <SiteFooter /> - </div> - </div> - <TailwindIndicator /> - </ThemeProvider> - </body> - </CSPostHogProvider> - </html> - </> + <html lang="en" suppressHydrationWarning> + <head /> + <body className={cn("min-h-screen bg-background font-sans antialiased")}> + <ThemeProvider + attribute="class" + defaultTheme="system" + enableSystem + disableTransitionOnChange + > + {children} + </ThemeProvider> + </body> + </html> ); } diff --git a/biome.json b/biome.json new file mode 100644 index 00000000..84e258e9 --- /dev/null +++ b/biome.json @@ -0,0 +1,79 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.4.6/schema.json", + "assist": { "actions": { "source": { "organizeImports": "on" } } }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "correctness": { + "noUnusedImports": "warn", + "noUnusedVariables": "warn", + "useHookAtTopLevel": "warn" + }, + "suspicious": { + "noExplicitAny": "warn", + "noArrayIndexKey": "warn", + "noDoubleEquals": "warn", + "noShadowRestrictedNames": "warn", + "noSelfCompare": "warn" + }, + "style": { + "noNonNullAssertion": "off", + "useTemplate": "warn" + }, + "complexity": { + "noUselessSwitchCase": "warn" + }, + "performance": { + "noImgElement": "warn" + }, + "a11y": { + "useAltText": "off", + "noStaticElementInteractions": "warn", + "useKeyWithClickEvents": "warn", + "useButtonType": "warn", + "useSemanticElements": "warn", + "noNoninteractiveElementToInteractiveRole": "warn", + "noSvgWithoutTitle": "warn", + "noLabelWithoutControl": "warn", + "noRedundantAlt": "warn", + "useKeyWithMouseEvents": "warn", + "useValidAnchor": "warn", + "useIframeTitle": "warn" + }, + "security": { + "noDangerouslySetInnerHtml": "warn" + } + } + }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "indentWidth": 2, + "lineWidth": 100 + }, + "javascript": { + "formatter": { + "quoteStyle": "double", + "trailingCommas": "all" + } + }, + "css": { + "parser": { + "cssModules": false, + "tailwindDirectives": true + } + }, + "files": { + "includes": [ + "**", + "!**/node_modules", + "!**/.next", + "!**/.velite", + "!**/out", + "!**/public/preview", + "!**/components/ui", + "!**/yarn.lock" + ] + } +} diff --git a/commitlint.config.cjs b/commitlint.config.cjs index 4fddd30b..44bac82a 100644 --- a/commitlint.config.cjs +++ b/commitlint.config.cjs @@ -4,18 +4,7 @@ module.exports = { "type-enum": [ 2, "always", - [ - "feat", - "fix", - "docs", - "chore", - "style", - "refactor", - "ci", - "test", - "revert", - "perf", - ], + ["feat", "fix", "docs", "chore", "style", "refactor", "ci", "test", "revert", "perf"], ], }, }; diff --git a/components.json b/components.json index d198b968..4a3d332d 100644 --- a/components.json +++ b/components.json @@ -4,7 +4,6 @@ "rsc": true, "tsx": true, "tailwind": { - "config": "tailwind.config.ts", "css": "styles/globals.css", "baseColor": "stone", "cssVariables": true, @@ -14,4 +13,4 @@ "components": "@/components", "utils": "@/lib/utils" } -} \ No newline at end of file +} diff --git a/components/ads.tsx b/components/ads.tsx index 9af71bad..8eb1021d 100644 --- a/components/ads.tsx +++ b/components/ads.tsx @@ -1,10 +1,10 @@ "use client"; -import { useEffect } from "react"; import { usePathname } from "next/navigation"; +import { useEffect } from "react"; export default function CarbonAds() { - const pathname = usePathname(); + const _pathname = usePathname(); useEffect(() => { // Skip loading ads in development environment @@ -28,11 +28,11 @@ export default function CarbonAds() { return () => { const existingScript = document.getElementById("_carbonads_js"); - if (existingScript && existingScript.parentNode) { + if (existingScript?.parentNode) { existingScript.parentNode.removeChild(existingScript); } }; - }, [pathname]); + }, []); return <div id="carbon-container" />; } diff --git a/components/announcement.tsx b/components/announcement.tsx index 83153d19..b153915f 100644 --- a/components/announcement.tsx +++ b/components/announcement.tsx @@ -3,7 +3,7 @@ import { StarsIcon } from "lucide-react"; export function Announcement({ text }: { text: string }) { return ( <div className="group relative isolate z-50 mx-auto w-fit cursor-pointer p-4"> - <div className="rounded-lg bg-gradient-to-r from-purple-100 to-yellow-100 p-1 shadow-lg transition-all duration-300 ease-in-out group-hover:scale-105 group-hover:shadow-xl"> + <div className="rounded-lg bg-linear-to-r from-purple-100 to-yellow-100 p-1 shadow-lg transition-all duration-300 ease-in-out group-hover:scale-105 group-hover:shadow-xl"> <div className="flex items-center justify-between px-4 py-2"> <StarsIcon className="h-4 w-4 text-purple-500" /> <span className="mx-2 text-sm font-medium text-gray-800">{text}</span> diff --git a/components/code-block-wrapper.tsx b/components/code-block-wrapper.tsx index 5702cda7..5f2efb46 100644 --- a/components/code-block-wrapper.tsx +++ b/components/code-block-wrapper.tsx @@ -1,17 +1,13 @@ -"use client" +"use client"; -import * as React from "react" +import * as React from "react"; -import { Button } from "@/components/ui/button" -import { - Collapsible, - CollapsibleContent, - CollapsibleTrigger, -} from "@/components/ui/collapsible" -import { cn } from "@/lib/utils" +import { Button } from "@/components/ui/button"; +import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"; +import { cn } from "@/lib/utils"; interface CodeBlockProps extends React.HTMLAttributes<HTMLDivElement> { - expandButtonTitle?: string + expandButtonTitle?: string; } export function CodeBlockWrapper({ @@ -20,19 +16,16 @@ export function CodeBlockWrapper({ children, ...props }: CodeBlockProps) { - const [isOpened, setIsOpened] = React.useState(false) + const [isOpened, setIsOpened] = React.useState(false); return ( <Collapsible open={isOpened} onOpenChange={setIsOpened}> <div className={cn("relative overflow-hidden", className)} {...props}> - <CollapsibleContent - forceMount - className={cn("overflow-hidden", !isOpened && "max-h-32")} - > + <CollapsibleContent forceMount className={cn("overflow-hidden", !isOpened && "max-h-32")}> <div className={cn( "[&_pre]:my-0 [&_pre]:max-h-[650px] [&_pre]:pb-[100px]", - !isOpened ? "[&_pre]:overflow-hidden" : "[&_pre]:overflow-auto]" + !isOpened ? "[&_pre]:overflow-hidden" : "[&_pre]:overflow-auto]", )} > {children} @@ -40,8 +33,8 @@ export function CodeBlockWrapper({ </CollapsibleContent> <div className={cn( - "absolute flex items-center justify-center bg-gradient-to-b from-zinc-700/30 to-zinc-950/90 p-2", - isOpened ? "inset-x-0 bottom-0 h-12" : "inset-0" + "absolute flex items-center justify-center bg-linear-to-b from-zinc-700/30 to-zinc-950/90 p-2", + isOpened ? "inset-x-0 bottom-0 h-12" : "inset-0", )} > <CollapsibleTrigger asChild> @@ -52,5 +45,5 @@ export function CodeBlockWrapper({ </div> </div> </Collapsible> - ) + ); } diff --git a/components/command-menu.tsx b/components/command-menu.tsx index f9cb0995..aa92a723 100644 --- a/components/command-menu.tsx +++ b/components/command-menu.tsx @@ -1,9 +1,10 @@ "use client"; -import * as React from "react"; +import { CircleIcon, FileIcon, LaptopIcon, MoonIcon, SunIcon } from "@radix-ui/react-icons"; import { useRouter } from "next/navigation"; import { useTheme } from "next-themes"; - +import type { ComponentPropsWithoutRef } from "react"; +import * as React from "react"; import { Button } from "@/components/ui/button"; import { CommandDialog, @@ -16,10 +17,8 @@ import { } from "@/components/ui/command"; import { docsConfig } from "@/config/docs"; import { cn } from "@/lib/utils"; -import { DialogProps } from "@radix-ui/react-alert-dialog"; -import { CircleIcon, FileIcon, LaptopIcon, MoonIcon, SunIcon } from "@radix-ui/react-icons"; -export function CommandMenu({ ...props }: DialogProps) { +export function CommandMenu({ ...props }: ComponentPropsWithoutRef<typeof CommandDialog>) { const router = useRouter(); const [open, setOpen] = React.useState(false); const { setTheme } = useTheme(); @@ -61,7 +60,7 @@ export function CommandMenu({ ...props }: DialogProps) { {...props} > <span className="inline-flex flex-1">Search...</span> - <kbd className="pointer-events-none hidden flex-shrink-0 select-none items-center gap-1 rounded border border-muted-foreground bg-zinc-700 px-2 font-mono text-[10px] font-medium dark:bg-slate-200 sm:flex"> + <kbd className="pointer-events-none hidden shrink-0 select-none items-center gap-1 rounded border border-muted-foreground bg-zinc-700 px-2 font-mono text-[10px] font-medium dark:bg-slate-200 sm:flex"> <span className="text-xs">⌘</span>K </kbd> </Button> diff --git a/components/component-card.tsx b/components/component-card.tsx index 3188cb8d..63250c0d 100644 --- a/components/component-card.tsx +++ b/components/component-card.tsx @@ -1,6 +1,6 @@ -import { HTMLAttributes, useState } from "react"; -import Link from "next/link"; import { ArrowRight, CircleDashed } from "lucide-react"; +import Link from "next/link"; +import { type HTMLAttributes, useState } from "react"; import { cn } from "@/lib/utils"; @@ -28,7 +28,7 @@ export function ComponentCard({ > <header className={cn( - "flex flex-shrink-0 items-center gap-4 border-b bg-gray-100 p-4 dark:border-b-zinc-700 dark:bg-zinc-700", + "flex shrink-0 items-center gap-4 border-b bg-gray-100 p-4 dark:border-b-zinc-700 dark:bg-zinc-700", { "rounded-tl-xl rounded-tr-xl": rounded, "px-6": !rounded, diff --git a/components/component-example.tsx b/components/component-example.tsx index 819a347c..cf736bd5 100644 --- a/components/component-example.tsx +++ b/components/component-example.tsx @@ -23,9 +23,13 @@ export function ComponentExample({ const [Example, Code, ...Children] = React.Children.toArray(children) as React.ReactElement[]; const codeString = React.useMemo(() => { - if (typeof Code?.props["data-rehype-pretty-code-fragment"] !== "undefined") { - const [, Button] = React.Children.toArray(Code.props.children) as React.ReactElement[]; - return Button?.props?.value || Button?.props?.__rawString__ || null; + const codeProps = Code?.props as Record<string, unknown> | undefined; + if (typeof codeProps?.["data-rehype-pretty-code-fragment"] !== "undefined") { + const [, Button] = React.Children.toArray( + codeProps?.children as React.ReactNode, + ) as React.ReactElement[]; + const buttonProps = Button?.props as Record<string, unknown> | undefined; + return (buttonProps?.value || buttonProps?.__rawString__ || null) as string | null; } }, [Code]); @@ -49,7 +53,7 @@ export function ComponentExample({ </TabsList> {extractedClassNames ? ( <CopyWithClassNames - value={codeString} + value={codeString ?? ""} classNames={extractedClassNames} className="absolute right-4 top-20" /> diff --git a/components/component-link-wrapper.tsx b/components/component-link-wrapper.tsx index 72b85fe5..695416c7 100644 --- a/components/component-link-wrapper.tsx +++ b/components/component-link-wrapper.tsx @@ -1,6 +1,6 @@ -import { useCallback, useRef, useState } from "react"; -import Link from "next/link"; import { CircleDashed, Code2 } from "lucide-react"; +import Link from "next/link"; +import { useCallback, useRef, useState } from "react"; import { useMousePosition } from "@/hooks/use-mouse-position"; import { cn } from "@/lib/utils"; diff --git a/components/component-list-item.tsx b/components/component-list-item.tsx index 4bf2eaab..67ebc562 100644 --- a/components/component-list-item.tsx +++ b/components/component-list-item.tsx @@ -1,3 +1,5 @@ +"use client"; + import { lazy, Suspense, useState } from "react"; import { CopyButton } from "@/components/copy-button"; @@ -20,7 +22,7 @@ function Actions({ copyId, onRefresh }: { copyId: string; onRefresh: () => void ); } -const lazyList: Record<string, React.LazyExoticComponent<() => JSX.Element>> = { +const lazyList: Record<string, React.LazyExoticComponent<() => React.JSX.Element>> = { "ai-button": lazy(() => import("@/animata/button/ai-button")), "status-button": lazy(() => import("@/animata/button/status-button")), }; diff --git a/components/component-preview.tsx b/components/component-preview.tsx index a2c6d656..4dcd5b76 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -1,103 +1,353 @@ "use client"; -import * as React from "react"; -import { useTheme } from "next-themes"; +import React from "react"; -import { CopyButton } from "@/components/copy-button"; import { Icons } from "@/components/icons"; -import { config } from "@/config"; import { cn } from "@/lib/utils"; interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> { name: string; - extractClassName?: boolean; - extractedClassNames?: string; - align?: "center" | "start" | "end"; - description?: string; } -// eslint-disable-next-line unused-imports/no-unused-vars -function CodeView({ children }: { children: React.ReactNode }) { - const [codeString, setCodeString] = React.useState<string | null>(null); - const codeRef = React.useRef<HTMLDivElement>(null); +// Categories with hyphens must come first so they match before single-word prefixes +const CATEGORIES = [ + "bento-grid", + "feature-cards", + "accordion", + "background", + "button", + "card", + "carousel", + "container", + "fabs", + "graphs", + "hero", + "icon", + "image", + "list", + "overlay", + "preloader", + "progress", + "section", + "skeleton", + "text", + "widget", +]; - React.useEffect(() => { - if (codeRef.current?.textContent) { - setCodeString(codeRef.current?.textContent); +function storyIdToPath(name: string): string { + const [idPart] = name.split("--"); + for (const cat of CATEGORIES) { + if (idPart.startsWith(`${cat}-`)) { + return `${cat}/${idPart.slice(cat.length + 1)}`; } - }, []); + } + const first = idPart.indexOf("-"); + if (first === -1) return idPart; + return `${idPart.slice(0, first)}/${idPart.slice(first + 1)}`; +} + +// Props that shouldn't appear in the editor +const HIDDEN_PROPS = new Set(["children", "className", "style", "key", "ref"]); + +// Storybook internal exports to skip when collecting other stories +const INTERNAL_EXPORTS = new Set(["default", "__namedExportsOrder"]); + +type ArgType = { + table?: { disable?: boolean }; + control?: unknown; + options?: string[]; +}; + +function PropsEditor({ + args, + initialArgs, + argTypes, + onChange, + onReset, +}: { + args: Record<string, unknown>; + initialArgs: Record<string, unknown>; + argTypes: Record<string, ArgType>; + onChange: (key: string, value: unknown) => void; + onReset: () => void; +}) { + const editableArgs = Object.entries(args).filter(([key]) => { + if (HIDDEN_PROPS.has(key)) return false; + if (argTypes[key]?.table?.disable) return false; + // Allow args with options even if value type isn't primitive + if (argTypes[key]?.options) return true; + const val = args[key]; + return typeof val === "boolean" || typeof val === "number" || typeof val === "string"; + }); + + if (editableArgs.length === 0) return null; + + const hasChanges = editableArgs.some(([key]) => args[key] !== initialArgs[key]); return ( - <> - <div - ref={codeRef} - className="w-full rounded-md [&_pre]:my-0 [&_pre]:max-h-[350px] [&_pre]:overflow-auto" - > - {children} + <div className="border-t bg-muted/30 px-4 py-3"> + <div className="mb-2 flex items-center justify-between"> + <div className="text-xs font-medium uppercase tracking-wider text-muted-foreground"> + Props + </div> + {hasChanges && ( + <button + type="button" + onClick={onReset} + className="text-xs text-muted-foreground hover:text-foreground transition-colors" + > + Reset + </button> + )} </div> - {Boolean(codeString) && ( - <div className="absolute -right-2 top-8 flex items-center justify-between p-4"> - <div className="flex items-center gap-2"> - <CopyButton - value={codeString ?? ""} - variant="outline" - className="h-7 w-7 text-foreground opacity-100 hover:bg-muted hover:text-foreground [&_svg]:size-3.5" - /> + <div className="grid gap-2"> + {editableArgs.map(([key, value]) => ( + <div key={key} className="flex items-center gap-3"> + <label + htmlFor={`prop-${key}`} + className="min-w-[120px] text-right font-mono text-xs text-muted-foreground" + > + {key} + </label> + {argTypes[key]?.options ? ( + <select + id={`prop-${key}`} + value={String(value)} + onChange={(e) => onChange(key, e.target.value)} + className="h-7 rounded border bg-background px-2 font-mono text-xs" + > + {argTypes[key]?.options?.map((opt) => ( + <option key={opt} value={opt}> + {opt} + </option> + ))} + </select> + ) : typeof value === "boolean" ? ( + <button + id={`prop-${key}`} + type="button" + onClick={() => onChange(key, !value)} + className={cn( + "h-5 w-9 rounded-full transition-colors", + value ? "bg-primary" : "bg-muted-foreground/30", + )} + > + <div + className={cn( + "h-4 w-4 rounded-full bg-white shadow-sm transition-transform", + value ? "translate-x-4.5" : "translate-x-0.5", + )} + /> + </button> + ) : typeof value === "number" ? ( + <input + id={`prop-${key}`} + type="number" + value={value} + onChange={(e) => onChange(key, Number(e.target.value))} + className="h-7 w-24 rounded border bg-background px-2 font-mono text-xs" + /> + ) : ( + <input + id={`prop-${key}`} + type="text" + value={String(value)} + onChange={(e) => onChange(key, e.target.value)} + className="h-7 flex-1 rounded border bg-background px-2 font-mono text-xs" + /> + )} </div> - </div> - )} - </> + ))} + </div> + </div> ); } -export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { - const [minHeight, setMinHeight] = React.useState<number>(350); +interface OtherStory { + name: string; + render: (args: Record<string, unknown>) => React.ReactNode; + args: Record<string, unknown>; +} + +interface StoryData { + render: ((args: Record<string, unknown>) => React.ReactNode) | null; + Component: React.ComponentType<Record<string, unknown>> | null; + initialArgs: Record<string, unknown>; + argTypes: Record<string, ArgType>; + otherStories: OtherStory[]; +} + +function formatStoryName(exportName: string): string { + return exportName.replace(/([A-Z])/g, " $1").trim(); +} + +type StoryExport = { + render?: (args: Record<string, unknown>) => React.ReactNode; + args?: Record<string, unknown>; + argTypes?: Record<string, ArgType>; +}; + +type StoryMeta = { + component?: React.ComponentType<Record<string, unknown>>; + args?: Record<string, unknown>; + argTypes?: Record<string, ArgType>; +}; + +function loadStoryModule(mod: Record<string, unknown>, exportName: string): StoryData | string { + const meta = mod.default as StoryMeta | undefined; + const storyExport = (mod[exportName] ?? mod.Primary) as StoryExport | undefined; + + if (!storyExport) { + return `Story "${exportName}" not found`; + } + + const mergedArgs = { ...meta?.args, ...storyExport.args }; + const argTypes = { ...meta?.argTypes, ...storyExport.argTypes }; + + // Collect other story exports + const primaryKey = mod[exportName] ? exportName : "Primary"; + const otherStories: OtherStory[] = []; - const { resolvedTheme } = useTheme(); + for (const [key, value] of Object.entries(mod)) { + if (INTERNAL_EXPORTS.has(key) || key === primaryKey) continue; + const story = value as StoryExport; + if (!story || typeof story !== "object") continue; + + const storyArgs = { ...meta?.args, ...story.args }; + const renderFn = + story.render ?? + (meta?.component + ? (args: Record<string, unknown>) => React.createElement(meta.component!, args) + : null); + + if (renderFn) { + otherStories.push({ + name: formatStoryName(key), + render: renderFn, + args: storyArgs, + }); + } + } + + return { + render: storyExport.render ?? null, + Component: meta?.component ?? null, + initialArgs: mergedArgs, + argTypes, + otherStories, + }; +} + +function StoryRenderer({ name }: { name: string }) { + const [storyData, setStoryData] = React.useState<StoryData | null>(null); + const [args, setArgs] = React.useState<Record<string, unknown>>({}); + const [error, setError] = React.useState<string | null>(null); React.useEffect(() => { - const eventListener = (event: MessageEvent) => { - if (event.data.type === "animata-set-height") { - setMinHeight(event.data.height); - } - }; - window.addEventListener("message", eventListener); - return () => { - window.removeEventListener("message", eventListener); - }; + const path = storyIdToPath(name); + const [, storyName = "primary"] = name.split("--"); + const exportName = storyName.charAt(0).toUpperCase() + storyName.slice(1); + + import(`@/animata/${path}.stories`) + .then((mod) => { + const result = loadStoryModule(mod, exportName); + if (typeof result === "string") { + setError(result); + return; + } + setArgs(result.initialArgs); + setStoryData(result); + }) + .catch((err) => { + console.error(`Failed to load story ${path}:`, err); + setError(`Failed to load: ${path}`); + }); + }, [name]); + + const handleChange = React.useCallback((key: string, value: unknown) => { + setArgs((prev) => ({ ...prev, [key]: value })); }, []); - let previewBaseUrl = process.env.NEXT_PUBLIC_STORYBOOK_URL; - if (!previewBaseUrl) { - // Fallback to local storybook if env var is not set (useful in action deployment) - previewBaseUrl = config.isProduction ? "/preview" : "http://localhost:6006"; + const handleReset = React.useCallback(() => { + if (storyData) { + setArgs(storyData.initialArgs); + } + }, [storyData]); + + if (error) { + return ( + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> + <div className="text-sm text-muted-foreground">{error}</div> + </div> + ); + } + + if (!storyData) { + return ( + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> + <div className="flex items-center text-sm text-muted-foreground"> + <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> + Loading... + </div> + </div> + ); } + const argsKey = JSON.stringify(args); + + const preview = storyData.render + ? storyData.render(args) + : storyData.Component + ? React.createElement(storyData.Component, args) + : null; + return ( - <div className={cn("group relative", className)} {...props}> + <> <div - className={cn("preview relative w-full max-w-full !overflow-hidden")} - style={{ - height: `${Math.max(100, minHeight)}px`, - }} + key={argsKey} + className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:overflow-auto has-[.full-content]:p-0" > - <React.Suspense - fallback={ + {preview} + </div> + <PropsEditor + args={args} + initialArgs={storyData.initialArgs} + argTypes={storyData.argTypes} + onChange={handleChange} + onReset={handleReset} + /> + {storyData.otherStories.length > 0 && ( + <div className="mt-6 space-y-4"> + <div className="text-sm font-medium text-muted-foreground">Other examples</div> + {storyData.otherStories.map((story) => ( + <div key={story.name}> + <div className="mb-2 font-mono text-xs text-muted-foreground">{story.name}</div> + <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:overflow-auto has-[.full-content]:p-0"> + {story.render(story.args)} + </div> + </div> + ))} + </div> + )} + </> + ); +} + +export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { + return ( + <div className={cn("group relative my-4", className)} {...props}> + <React.Suspense + fallback={ + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center py-4 overflow-hidden rounded-lg border"> <div className="flex items-center text-sm text-muted-foreground"> <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> Loading... </div> - } - > - <iframe - src={`${previewBaseUrl}/iframe.html?globals=backgrounds.grid:!false;theme:${resolvedTheme ?? (typeof localStorage !== "undefined" ? localStorage?.getItem?.("theme") : "")};backgrounds.value:!transparent&viewMode=docs&id=${name}&site:docs=true`} - className="w-full" - style={{ - height: `${Math.max(100, minHeight)}px`, - }} - /> - </React.Suspense> - </div> + </div> + } + > + <StoryRenderer name={name} /> + </React.Suspense> </div> ); } diff --git a/components/component-source.tsx b/components/component-source.tsx index 47cb2254..466ce124 100644 --- a/components/component-source.tsx +++ b/components/component-source.tsx @@ -1,6 +1,6 @@ "use client"; -import * as React from "react"; +import type * as React from "react"; import { CodeBlockWrapper } from "@/components/code-block-wrapper"; import { cn } from "@/lib/utils"; diff --git a/components/copy-button.tsx b/components/copy-button.tsx index 024636b9..3b60d8b7 100644 --- a/components/copy-button.tsx +++ b/components/copy-button.tsx @@ -1,19 +1,18 @@ "use client"; -import * as React from "react"; +import type { DropdownMenuTriggerProps } from "@radix-ui/react-dropdown-menu"; import { CheckIcon, ClipboardIcon } from "lucide-react"; -import { NpmCommands, TouchCommands } from "types/unist"; - -import { Button, ButtonProps } from "@/components/ui/button"; +import * as React from "react"; +import type { NpmCommands, TouchCommands } from "types/unist"; +import { Button, type ButtonProps } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { Event, trackEvent } from "@/lib/events"; +import { type Event, trackEvent } from "@/lib/events"; import { cn } from "@/lib/utils"; -import { DropdownMenuTriggerProps } from "@radix-ui/react-dropdown-menu"; interface CopyButtonProps extends ButtonProps { value: string; @@ -43,7 +42,7 @@ export function CopyButton({ setTimeout(() => { setHasCopied(false); }, 2000); - }, [hasCopied]); + }, []); return ( <Button @@ -92,7 +91,7 @@ export function CopyWithClassNames({ value, classNames, className }: CopyWithCla setTimeout(() => { setHasCopied(false); }, 2000); - }, [hasCopied]); + }, []); const copyToClipboard = React.useCallback((value: string) => { copyToClipboardWithMeta(value); @@ -137,7 +136,7 @@ export function CopyTouchCommandButton({ commands, className }: CopyTouchCommand setTimeout(() => { setHasCopied(false); }, 2000); - }, [hasCopied]); + }, []); const copyCommand = React.useCallback((value: string, os: "windows" | "macOS/Linux") => { copyToClipboardWithMeta(value, { @@ -184,7 +183,7 @@ export function CopyNpmCommandButton({ commands, className }: CopyNpmCommandButt setTimeout(() => { setHasCopied(false); }, 2000); - }, [hasCopied]); + }, []); const copyCommand = React.useCallback((value: string, pm: "npm" | "pnpm" | "yarn" | "bun") => { copyToClipboardWithMeta(value, { diff --git a/components/copy-proxy.tsx b/components/copy-proxy.tsx new file mode 100644 index 00000000..8207c016 --- /dev/null +++ b/components/copy-proxy.tsx @@ -0,0 +1,16 @@ +"use client"; + +import { copyToClipboardWithMeta } from "@/components/copy-button"; + +export function CopyProxy({ id, value }: { id: string; value: string }) { + return ( + <button + type="button" + id={id} + onClick={() => { + copyToClipboardWithMeta(value); + }} + style={{ display: "none" }} + /> + ); +} diff --git a/components/dynamic-animata.tsx b/components/dynamic-animata.tsx new file mode 100644 index 00000000..89b33c33 --- /dev/null +++ b/components/dynamic-animata.tsx @@ -0,0 +1,19 @@ +"use client"; + +import { useEffect, useState } from "react"; + +export function AnimataRenderer({ + subpath, + ...props +}: { subpath: string } & Record<string, unknown>) { + const [Component, setComponent] = useState<React.ComponentType<any> | null>(null); + + useEffect(() => { + import(`@/animata/${subpath}`) + .then((mod) => setComponent(() => mod.default)) + .catch((err) => console.error(`Failed to load @/animata/${subpath}:`, err)); + }, [subpath]); + + if (!Component) return null; + return <Component {...props} />; +} diff --git a/components/framework-docs.tsx b/components/framework-docs.tsx index 2bebd696..0e6e00ff 100644 --- a/components/framework-docs.tsx +++ b/components/framework-docs.tsx @@ -1,22 +1,18 @@ -"use client" +import type * as React from "react"; +import { docs as allDocs } from "#site/content"; -import * as React from "react" -import { allDocs } from "contentlayer/generated" - -import { Mdx } from "./mdx-components" +import { Mdx } from "./mdx-components"; interface FrameworkDocsProps extends React.HTMLAttributes<HTMLDivElement> { - data: string + data: string; } -export function FrameworkDocs({ ...props }: FrameworkDocsProps) { - const frameworkDoc = allDocs.find( - (doc) => doc.slug === `/docs/installation/${props.data}` - ) +export async function FrameworkDocs({ ...props }: FrameworkDocsProps) { + const frameworkDoc = allDocs.find((doc) => doc.slug === `/docs/installation/${props.data}`); if (!frameworkDoc) { - return null + return null; } - return <Mdx code={frameworkDoc.body.code} /> + return <Mdx code={frameworkDoc.body} filePath={`content/${frameworkDoc.path}.mdx`} />; } diff --git a/components/header-dock-item.tsx b/components/header-dock-item.tsx index 7a5ae0a0..cfac07eb 100644 --- a/components/header-dock-item.tsx +++ b/components/header-dock-item.tsx @@ -1,4 +1,4 @@ -import { motion, TargetAndTransition, VariantLabels } from "framer-motion"; +import { motion, type TargetAndTransition, type VariantLabels } from "motion/react"; import { cn } from "@/lib/utils"; diff --git a/components/mdx-components.tsx b/components/mdx-components.tsx index 7a7a6d55..79266d9f 100644 --- a/components/mdx-components.tsx +++ b/components/mdx-components.tsx @@ -1,8 +1,18 @@ -"use client"; -import { ComponentProps, HTMLAttributes } from "react"; +import type { CompileOptions } from "@mdx-js/mdx"; import Link from "next/link"; -import { useMDXComponent } from "next-contentlayer/hooks"; -import { NpmCommands, TouchCommands } from "types/unist"; +import { MDXRemote } from "next-mdx-remote/rsc"; +import type { ComponentProps, HTMLAttributes } from "react"; +import rehypeAutolinkHeadings from "rehype-autolink-headings"; +import rehypePrettyCode, { + type LineElement, + type Options as PrettyCodeOptions, +} from "rehype-pretty-code"; +import rehypeSlug from "rehype-slug"; +import { codeImport } from "remark-code-import"; +import remarkGfm from "remark-gfm"; +import type { NpmCommands, TouchCommands, UnistNode, UnistTree } from "types/unist"; +import { visit } from "unist-util-visit"; +import { VFile } from "vfile"; import Modal from "@/animata/overlay/modal"; import { Callout } from "@/components/callout"; @@ -11,12 +21,9 @@ import { ComponentExample } from "@/components/component-example"; import ComponentListItem from "@/components/component-list-item"; import { ComponentPreview } from "@/components/component-preview"; import { ComponentSource } from "@/components/component-source"; -import { - CopyButton, - CopyNpmCommandButton, - copyToClipboardWithMeta, - CopyTouchCommandButton, -} from "@/components/copy-button"; +import { CopyButton, CopyNpmCommandButton, CopyTouchCommandButton } from "@/components/copy-button"; +import { CopyProxy } from "@/components/copy-proxy"; +import { AnimataRenderer } from "@/components/dynamic-animata"; import { FrameworkDocs } from "@/components/framework-docs"; import PreviewContainer from "@/components/preview-container"; import { @@ -28,11 +35,79 @@ import { import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { AspectRatio } from "@/components/ui/aspect-ratio"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; -import { Event } from "@/lib/events"; +import type { Event } from "@/lib/events"; import { cn } from "@/lib/utils"; import { baseComponents } from "./mdx-base-components"; +const setupCodeSnippet = () => (tree: UnistTree) => { + visit(tree, (node: UnistNode) => { + if (node?.type === "element" && node?.tagName === "pre") { + const [codeEl] = node.children ?? []; + if (codeEl?.tagName !== "code") { + return; + } + + const meta = (codeEl as UnistNode & { data?: { meta?: string } }).data?.meta; + if (meta) { + const regex = /event="([^"]*)"/; + const match = meta.match(regex); + if (match) { + (node as UnistNode & { __event__?: string }).__event__ = match[1]; + (codeEl as UnistNode & { data?: { meta?: string } }).data!.meta = meta.replace(regex, ""); + } + + const copyId = meta.match(/copyId="([^"]*)"/); + if (copyId) { + (node as UnistNode & { __copyId__?: string }).__copyId__ = copyId[1]; + } + } + + (node as UnistNode & { __rawString__?: string }).__rawString__ = codeEl.children?.[0]?.value; + } + }); +}; + +const postProcess = () => (tree: UnistTree) => { + visit(tree, "element", (node: UnistNode) => { + const rawNode = node as UnistNode & { __rawString__?: string; __copyId__?: string }; + if (rawNode.__rawString__) { + if (node.tagName !== "pre") { + const [pre] = node.children ?? []; + if (pre?.tagName !== "pre") { + return; + } + if (!pre.properties) pre.properties = {}; + pre.properties.__copyId__ = rawNode.__copyId__; + pre.properties.__rawString__ = rawNode.__rawString__; + Reflect.deleteProperty(rawNode, "__rawString__"); + Reflect.deleteProperty(rawNode, "__copyId__"); + + const rawString = pre.properties.__rawString__ as string | undefined; + + if (rawString?.startsWith("mkdir")) { + const path = rawString.split(" ").pop(); + if (!path) { + return; + } + + const filename = path.split("/").pop() ?? ""; + const dir = path.replace(`/${filename}`, ""); + pre.properties.__windows__ = `mkdir "${dir}" && type null > ${path}`; + pre.properties.__unix__ = `mkdir -p ${dir} && touch ${path}`; + } + + if (rawString?.startsWith("npm install")) { + pre.properties.__npmCommand__ = rawString; + pre.properties.__yarnCommand__ = rawString.replace("npm install", "yarn add"); + pre.properties.__pnpmCommand__ = rawString.replace("npm install", "pnpm add"); + pre.properties.__bunCommand__ = rawString.replace("npm install", "bun add"); + } + } + } + }); +}; + const components = { Accordion, AccordionContent, @@ -66,14 +141,7 @@ const components = { } & NpmCommands & TouchCommands) => { if (__copyId__ && __rawString__) { - return ( - <div - id={`source-${__copyId__}`} - onClick={() => { - copyToClipboardWithMeta(__rawString__); - }} - /> - ); + return <CopyProxy id={`source-${__copyId__}`} value={__rawString__} />; } return ( @@ -136,7 +204,7 @@ const components = { Step: ({ className, ...props }: ComponentProps<"h3">) => ( <h3 className={cn( - "font-heading mt-8 scroll-m-20 text-xl font-semibold tracking-tight", + "font-heading relative mt-8 scroll-m-20 text-xl font-semibold tracking-tight", className, )} {...props} @@ -205,27 +273,82 @@ const components = { interface MdxProps { code: string; + filePath?: string; } -export function Mdx({ code }: MdxProps) { - // Fix `process` issue: https://github.com/contentlayerdev/contentlayer/issues/288#issuecomment-1384180362 - const Component = useMDXComponent( - ` -if (typeof process === 'undefined') { - globalThis.process = { - env: { - NEXT_PUBLIC_APP_URL: '${process.env.NEXT_PUBLIC_APP_URL}', - }, - }; +function stripImports(code: string) { + const importRegex = /^import\s+(\w+)\s+from\s+["']@\/animata\/([^"']+)["'];?\s*$/gm; + const imports: Array<{ name: string; subpath: string }> = []; + const strippedCode = code.replace(importRegex, (_, name, subpath) => { + imports.push({ name, subpath }); + return ""; + }); + return { strippedCode, imports }; } -${code} - `, - ); +function resolveImports(imports: Array<{ name: string; subpath: string }>) { + const resolved: Record<string, React.ComponentType<Record<string, unknown>>> = {}; + for (const { name, subpath } of imports) { + resolved[name] = (props: Record<string, unknown>) => ( + <AnimataRenderer subpath={subpath} {...props} /> + ); + } + return resolved; +} + +const mdxOptions: Omit<CompileOptions, "outputFormat" | "providerImportSource"> & { + useDynamicImport?: boolean; +} = { + remarkPlugins: [remarkGfm, codeImport], + rehypePlugins: [ + setupCodeSnippet, + rehypeSlug, + [ + rehypePrettyCode, + { + theme: "github-dark", + onVisitLine(node: LineElement) { + if (node.children.length === 0) { + node.children = [{ type: "text", value: " " }]; + } + if (!node.properties.className) { + node.properties.className = ["line"]; + } + }, + onVisitHighlightedLine(node: LineElement) { + (node.properties.className as string[]).push("line--highlighted"); + }, + onVisitHighlightedChars(node: LineElement) { + node.properties.className = ["word--highlighted"]; + }, + } satisfies PrettyCodeOptions, + ], + [ + rehypeAutolinkHeadings, + { + properties: { + className: ["anchor"], + ariaLabel: "Link to section", + }, + }, + ], + postProcess, + ], +}; + +export async function Mdx({ code, filePath }: MdxProps) { + const { strippedCode, imports } = stripImports(code); + const dynamicComponents = imports.length > 0 ? resolveImports(imports) : {}; + + const source = filePath ? new VFile({ value: strippedCode, path: filePath }) : strippedCode; return ( <div className="mdx"> - <Component components={components} /> + <MDXRemote + source={source} + components={{ ...components, ...dynamicComponents }} + options={{ mdxOptions: mdxOptions }} + /> </div> ); } diff --git a/components/mobile-nav.tsx b/components/mobile-nav.tsx index e0a0dd2f..11bfcdb4 100644 --- a/components/mobile-nav.tsx +++ b/components/mobile-nav.tsx @@ -1,8 +1,8 @@ "use client"; -import * as React from "react"; -import Link, { LinkProps } from "next/link"; +import Link, { type LinkProps } from "next/link"; import { useRouter } from "next/navigation"; +import * as React from "react"; import { Icons } from "@/components/icons"; import { Button } from "@/components/ui/button"; diff --git a/components/mode-toggle.tsx b/components/mode-toggle.tsx index c84ccc87..9e6d6303 100644 --- a/components/mode-toggle.tsx +++ b/components/mode-toggle.tsx @@ -1,7 +1,7 @@ "use client"; +import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; import { useTheme } from "next-themes"; - import HeaderDockItem from "@/components/header-dock-item"; import { DropdownMenu, @@ -9,7 +9,6 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; export function ModeToggle() { const { setTheme } = useTheme(); diff --git a/components/pager.tsx b/components/pager.tsx index 9a32d980..ca0853d2 100644 --- a/components/pager.tsx +++ b/components/pager.tsx @@ -1,14 +1,12 @@ +import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons"; import Link from "next/link"; -import { Doc } from "contentlayer/generated"; - import { buttonVariants } from "@/components/ui/button"; import { docsConfig } from "@/config/docs"; import { cn } from "@/lib/utils"; -import { NavItem, NavItemWithChildren } from "@/types"; -import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons"; +import type { NavItem, NavItemWithChildren } from "@/types"; interface DocsPagerProps { - doc: Doc; + doc: { slug: string }; } export function DocsPager({ doc }: DocsPagerProps) { @@ -39,7 +37,7 @@ export function DocsPager({ doc }: DocsPagerProps) { ); } -export function getPagerForDoc(doc: Doc) { +export function getPagerForDoc(doc: { slug: string }) { const flattenedLinks = [null, ...flatten(docsConfig.sidebarNav), null]; const activeIndex = flattenedLinks.findIndex((link) => doc.slug === link?.href); const prev = activeIndex !== 0 ? flattenedLinks[activeIndex - 1] : null; diff --git a/components/providers.tsx b/components/providers.tsx index 5f9a332f..939b8e55 100644 --- a/components/providers.tsx +++ b/components/providers.tsx @@ -1,16 +1,13 @@ -"use client" +"use client"; -import { ThemeProvider as NextThemesProvider } from "next-themes" -import { ThemeProviderProps } from "next-themes/dist/types" +import { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from "next-themes"; -import { TooltipProvider } from "@/components/ui/tooltip" +import { TooltipProvider } from "@/components/ui/tooltip"; export function ThemeProvider({ children, ...props }: ThemeProviderProps) { return ( - <> - <NextThemesProvider {...props}> - <TooltipProvider delayDuration={0}>{children}</TooltipProvider> - </NextThemesProvider> - </> - ) + <NextThemesProvider {...props}> + <TooltipProvider delayDuration={0}>{children}</TooltipProvider> + </NextThemesProvider> + ); } diff --git a/components/reload-button.tsx b/components/reload-button.tsx index 3539a06f..b1ce3cdb 100644 --- a/components/reload-button.tsx +++ b/components/reload-button.tsx @@ -2,7 +2,7 @@ import { RotateCwIcon } from "lucide-react"; -import { Button, ButtonProps } from "@/components/ui/button"; +import { Button, type ButtonProps } from "@/components/ui/button"; import { cn } from "@/lib/utils"; export function ReloadButton({ className, variant = "secondary", ...props }: ButtonProps) { diff --git a/components/remount-on-mouse-in.tsx b/components/remount-on-mouse-in.tsx index 455a59ba..6015bbf3 100644 --- a/components/remount-on-mouse-in.tsx +++ b/components/remount-on-mouse-in.tsx @@ -1,4 +1,4 @@ -import { Fragment, ReactNode, useRef, useState } from "react"; +import { Fragment, type ReactNode, useRef, useState } from "react"; export default function RemountOnMouseIn({ children, diff --git a/components/sidebar-nav.tsx b/components/sidebar-nav.tsx index 164f9086..8679787c 100644 --- a/components/sidebar-nav.tsx +++ b/components/sidebar-nav.tsx @@ -1,12 +1,12 @@ "use client"; -import { useEffect, useState } from "react"; +import { ChevronDown } from "lucide-react"; import Link from "next/link"; import { usePathname } from "next/navigation"; -import { ChevronDown } from "lucide-react"; +import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; -import { SidebarNavItem } from "@/types"; +import type { SidebarNavItem } from "@/types"; import { Icons } from "./icons"; @@ -22,7 +22,7 @@ export function DocsSidebarNav({ items }: DocsSidebarNavProps) { setClosed((current) => { const next = new Set(current); // Open the current section if one of the child pages is active - const path = "/docs/" + pathname.split("/")[1]; + const path = `/docs/${pathname.split("/")[1]}`; if (next.has(path)) { next.delete(path); } diff --git a/components/site-footer.tsx b/components/site-footer.tsx index 56fbf66a..c9aa24c7 100644 --- a/components/site-footer.tsx +++ b/components/site-footer.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { usePathname } from "next/navigation"; -import NewsletterSection from "@/app/_landing/newsletter"; +import NewsletterSection from "@/app/(main)/_landing/newsletter"; import { Icons } from "@/components/icons"; import { cn } from "@/lib/utils"; diff --git a/components/site-header.tsx b/components/site-header.tsx index 80fa9ac6..ee981d14 100644 --- a/components/site-header.tsx +++ b/components/site-header.tsx @@ -1,9 +1,9 @@ "use client"; -import { useRef } from "react"; +import { CodeIcon } from "lucide-react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useTheme } from "next-themes"; -import { CodeIcon } from "lucide-react"; +import { useRef } from "react"; import AnimatedBorderTrail from "@/animata/container/animated-border-trail"; import { CommandMenu } from "@/components/command-menu"; @@ -65,7 +65,7 @@ export function SiteHeader() { <Link href={siteConfig.links.github} target="_blank" - className="inline-block rounded-full bg-opacity-75 bg-gradient-to-br from-gray-100 from-5% via-zinc-50 via-60% to-slate-200 px-4 py-2 text-xs font-medium text-foreground dark:from-gray-900 dark:via-zinc-700 dark:to-slate-700" + className="inline-block rounded-full bg-linear-to-br from-gray-100 from-5% via-zinc-50 via-60% to-slate-200 px-4 py-2 text-xs font-medium text-foreground dark:from-gray-900 dark:via-zinc-700 dark:to-slate-700" > Star us <span className="hidden sm:inline">on GitHub</span> </Link> diff --git a/components/tailwind-indicator.tsx b/components/tailwind-indicator.tsx index 535e0742..b2ada3c5 100644 --- a/components/tailwind-indicator.tsx +++ b/components/tailwind-indicator.tsx @@ -1,5 +1,5 @@ export function TailwindIndicator() { - if (process.env.NODE_ENV === "production") return null + if (process.env.NODE_ENV === "production") return null; return ( <div className="fixed bottom-1 left-1 z-50 flex h-6 w-6 items-center justify-center rounded-full bg-gray-800 p-3 font-mono text-xs text-white"> @@ -10,5 +10,5 @@ export function TailwindIndicator() { <div className="hidden xl:block 2xl:hidden">xl</div> <div className="hidden 2xl:block">2xl</div> </div> - ) + ); } diff --git a/components/toc.tsx b/components/toc.tsx index e3a3a023..07f7d4cf 100644 --- a/components/toc.tsx +++ b/components/toc.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { useMounted } from "@/hooks/use-mounted"; -import { TableOfContents } from "@/lib/toc"; +import type { TableOfContents } from "@/lib/toc"; import { cn } from "@/lib/utils"; interface TocProps { diff --git a/components/ui/badge.tsx b/components/ui/badge.tsx index e87d62bf..e725b7aa 100644 --- a/components/ui/badge.tsx +++ b/components/ui/badge.tsx @@ -4,7 +4,7 @@ import { cva, type VariantProps } from "class-variance-authority" import { cn } from "@/lib/utils" const badgeVariants = cva( - "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2", { variants: { variant: { diff --git a/components/ui/button.tsx b/components/ui/button.tsx index 3c71e602..2cf74350 100644 --- a/components/ui/button.tsx +++ b/components/ui/button.tsx @@ -5,7 +5,7 @@ import * as React from "react" import { cn } from "@/lib/utils" const buttonVariants = cva( - "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", + "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", { variants: { variant: { diff --git a/components/ui/command.tsx b/components/ui/command.tsx index 91d8d197..67219064 100644 --- a/components/ui/command.tsx +++ b/components/ui/command.tsx @@ -46,7 +46,7 @@ const CommandInput = React.forwardRef< <CommandPrimitive.Input ref={ref} className={cn( - "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50", + "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50", className, )} {...props} @@ -113,7 +113,7 @@ const CommandItem = React.forwardRef< <CommandPrimitive.Item ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50", className, )} {...props} diff --git a/components/ui/dialog.tsx b/components/ui/dialog.tsx index bd3256c5..6df751f9 100644 --- a/components/ui/dialog.tsx +++ b/components/ui/dialog.tsx @@ -44,7 +44,7 @@ const DialogContent = React.forwardRef< {...props} > {children} - <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> + <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> <Cross2Icon className="h-4 w-4" /> <span className="sr-only">Close</span> </DialogPrimitive.Close> diff --git a/components/ui/dropdown-menu.tsx b/components/ui/dropdown-menu.tsx index d286303d..e54d99b5 100644 --- a/components/ui/dropdown-menu.tsx +++ b/components/ui/dropdown-menu.tsx @@ -27,7 +27,7 @@ const DropdownMenuSubTrigger = React.forwardRef< <DropdownMenuPrimitive.SubTrigger ref={ref} className={cn( - "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent", + "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent", inset && "pl-8", className, )} @@ -82,7 +82,7 @@ const DropdownMenuItem = React.forwardRef< <DropdownMenuPrimitive.Item ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className, )} @@ -98,7 +98,7 @@ const DropdownMenuCheckboxItem = React.forwardRef< <DropdownMenuPrimitive.CheckboxItem ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className, )} checked={checked} @@ -121,7 +121,7 @@ const DropdownMenuRadioItem = React.forwardRef< <DropdownMenuPrimitive.RadioItem ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className, )} {...props} diff --git a/components/ui/input.tsx b/components/ui/input.tsx index a92b8e0e..b673a5cb 100644 --- a/components/ui/input.tsx +++ b/components/ui/input.tsx @@ -11,7 +11,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>( <input type={type} className={cn( - "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50", + "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50", className )} ref={ref} diff --git a/components/ui/select.tsx b/components/ui/select.tsx index ac2a8f2b..39114008 100644 --- a/components/ui/select.tsx +++ b/components/ui/select.tsx @@ -24,7 +24,7 @@ const SelectTrigger = React.forwardRef< <SelectPrimitive.Trigger ref={ref} className={cn( - "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", + "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", className )} {...props} @@ -123,7 +123,7 @@ const SelectItem = React.forwardRef< <SelectPrimitive.Item ref={ref} className={cn( - "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className )} {...props} diff --git a/components/ui/sheet.tsx b/components/ui/sheet.tsx index 419d409e..22c2539f 100644 --- a/components/ui/sheet.tsx +++ b/components/ui/sheet.tsx @@ -65,7 +65,7 @@ const SheetContent = React.forwardRef< {...props} > {children} - <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"> + <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"> <Cross2Icon className="h-4 w-4" /> <span className="sr-only">Close</span> </SheetPrimitive.Close> diff --git a/components/ui/tabs.tsx b/components/ui/tabs.tsx index 0f4caebb..3dcda630 100644 --- a/components/ui/tabs.tsx +++ b/components/ui/tabs.tsx @@ -29,7 +29,7 @@ const TabsTrigger = React.forwardRef< <TabsPrimitive.Trigger ref={ref} className={cn( - "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow", + "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow", className )} {...props} @@ -44,7 +44,7 @@ const TabsContent = React.forwardRef< <TabsPrimitive.Content ref={ref} className={cn( - "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", + "mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", className )} {...props} diff --git a/config/blog.ts b/config/blog.ts index ad55bd7b..714e6925 100644 --- a/config/blog.ts +++ b/config/blog.ts @@ -1,6 +1,6 @@ -import { allBlogs } from "contentlayer/generated"; +import { blogs as allBlogs } from "#site/content"; -import { SidebarNavItem } from "@/types"; +import type { SidebarNavItem } from "@/types"; interface BlogPost extends SidebarNavItem { date: Date; diff --git a/config/docs.ts b/config/docs.ts index 034ca70b..ed99385b 100644 --- a/config/docs.ts +++ b/config/docs.ts @@ -1,6 +1,6 @@ -import { allDocs } from "contentlayer/generated"; +import { docs as allDocs } from "#site/content"; -import { MainNavItem, SidebarNavItem } from "@/types"; +import type { MainNavItem, SidebarNavItem } from "@/types"; interface DocsConfig { mainNav: MainNavItem[]; @@ -140,21 +140,21 @@ const sidebarNav: SidebarNavItem[] = [ { icon: "button", title: "Button", - label: -1 + createLinks("button").length + "", + label: `${-1 + createLinks("button").length}`, href: "/docs/button", items: createLinks("button"), }, { icon: "widget", title: "Widget", - label: -1 + createLinks("widget").length + "", + label: `${-1 + createLinks("widget").length}`, href: "/docs/widget", items: createLinks("widget"), }, { icon: "bento", title: "Bento grid", - label: -1 + createLinks("bento-grid").length + "", + label: `${-1 + createLinks("bento-grid").length}`, href: "/docs/bento-grid", items: createLinks("bento-grid"), }, diff --git a/content/docs/accordion/faq.mdx b/content/docs/accordion/faq.mdx index 59051503..e81f6252 100644 --- a/content/docs/accordion/faq.mdx +++ b/content/docs/accordion/faq.mdx @@ -2,9 +2,10 @@ title: Faq description: its an faq accordion that looks like an chating interface with smooth animations author: anshu_code +published: false --- -<ComponentPreview name="accordion-faq--docs" /> +<ComponentPreview name="accordion-faq--primary" /> ## Installation diff --git a/content/docs/background/animated-beam.mdx b/content/docs/background/animated-beam.mdx index 1cd73557..2e6da4a9 100644 --- a/content/docs/background/animated-beam.mdx +++ b/content/docs/background/animated-beam.mdx @@ -4,31 +4,21 @@ description: Animated beam background section where the meteor beam of lights mo author: harimanok_ --- -<ComponentPreview name="background-animated-beam--docs" /> +<ComponentPreview name="background-animated-beam--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json {5-8} {11} -module.exports = { - theme: { - extend: { - keyframes: { - meteor: { - "0%": { transform: "translateY(-20%) translateX(-50%)" }, - "100%": { transform: "translateY(300%) translateX(-50%)" }, - }, - }, - animation: { - meteor: "meteor var(--duration) var(--delay) ease-in-out infinite", - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes meteor { + 0% { transform: translateY(-20%) translateX(-50%); } + 100% { transform: translateY(300%) translateX(-50%); } +} +@theme { + --animate-meteor: meteor var(--duration) var(--delay) ease-in-out infinite; } ``` diff --git a/content/docs/background/blurry-blob.mdx b/content/docs/background/blurry-blob.mdx index 77bd4adf..a16d3ef8 100644 --- a/content/docs/background/blurry-blob.mdx +++ b/content/docs/background/blurry-blob.mdx @@ -4,34 +4,22 @@ description: Animated blurry blob background author: ll4xmii --- -<ComponentPreview name="background-blurry-blob--docs" /> +<ComponentPreview name="background-blurry-blob--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - "pop-blob": { - "0%": { transform: "scale(1)" }, - "33%": { transform: "scale(1.2)" }, - "66%": { transform: "scale(0.8)" }, - "100%": { transform: "scale(1)" }, - }, - colors: { - filter: { - "blur-20": "blur(20px)", - "blur-25": "blur(25px)", - }, - }, - animation: { - "pop-blob": "pop-blob 5s infinite", - } - }, - }, -}, +<Step>Add to your CSS</Step> +```css +@keyframes pop-blob { + 0% { transform: scale(1); } + 33% { transform: scale(1.2); } + 66% { transform: scale(0.8); } + 100% { transform: scale(1); } +} +@theme { + --animate-pop-blob: pop-blob 5s infinite; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/background/diagonal-lines.mdx b/content/docs/background/diagonal-lines.mdx index 3010a396..974f35df 100644 --- a/content/docs/background/diagonal-lines.mdx +++ b/content/docs/background/diagonal-lines.mdx @@ -4,7 +4,7 @@ description: A diagonal line background component author: harimanok_ --- -<ComponentPreview name="background-diagonal-lines--docs" /> +<ComponentPreview name="background-diagonal-lines--primary" /> ## Installation diff --git a/content/docs/background/dot.mdx b/content/docs/background/dot.mdx index 4e4dafed..59f450e2 100644 --- a/content/docs/background/dot.mdx +++ b/content/docs/background/dot.mdx @@ -4,7 +4,7 @@ description: A dot background component author: harimanok_ --- -<ComponentPreview name="background-dot--docs" /> +<ComponentPreview name="background-dot--primary" /> ## Installation diff --git a/content/docs/background/grid.mdx b/content/docs/background/grid.mdx index fd3a41aa..3308c1db 100644 --- a/content/docs/background/grid.mdx +++ b/content/docs/background/grid.mdx @@ -4,7 +4,7 @@ description: A grid background component author: harimanok_ --- -<ComponentPreview name="background-grid--docs" /> +<ComponentPreview name="background-grid--primary" /> ## Installation diff --git a/content/docs/background/interactive-grid.mdx b/content/docs/background/interactive-grid.mdx index b56ea04a..7a351c41 100644 --- a/content/docs/background/interactive-grid.mdx +++ b/content/docs/background/interactive-grid.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="background-interactive-grid--docs" /> +<ComponentPreview name="background-interactive-grid--primary" /> ## Installation diff --git a/content/docs/background/moving-gradient.mdx b/content/docs/background/moving-gradient.mdx index c02a44f5..eb6b3a9a 100644 --- a/content/docs/background/moving-gradient.mdx +++ b/content/docs/background/moving-gradient.mdx @@ -5,27 +5,21 @@ labels: ["requires config"] author: harimanok_ --- -<ComponentPreview name="background-moving-gradient--docs" /> +<ComponentPreview name="background-moving-gradient--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - animation: { - "bg-position": "bg-position 3s infinite alternate", - }, - keyframes: { - "bg-position": { - "0%": { backgroundPosition: "0% 50%" }, - "100%": { backgroundPosition: "100% 50%" }, - }, - } - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes bg-position { + 0% { background-position: 0% 50%; } + 100% { background-position: 100% 50%; } +} +@theme { + --animate-bg-position: bg-position 3s infinite alternate; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/background/zigzag.mdx b/content/docs/background/zigzag.mdx index bf3f750e..a3d9cbc3 100644 --- a/content/docs/background/zigzag.mdx +++ b/content/docs/background/zigzag.mdx @@ -4,21 +4,10 @@ description: A zigzag background component author: harimanok_ --- -<ComponentPreview name="background-zigzag--docs" /> +<ComponentPreview name="background-zigzag--primary" /> ## Installation -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - } - }, - }, -``` - <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/eight.mdx b/content/docs/bento-grid/eight.mdx index a9d9a305..1a581006 100644 --- a/content/docs/bento-grid/eight.mdx +++ b/content/docs/bento-grid/eight.mdx @@ -4,7 +4,7 @@ description: Bento grid with eight items author: harimanok_ --- -<ComponentPreview name="bento-grid-eight--docs" /> +<ComponentPreview name="bento-grid-eight--primary" /> ## Installation diff --git a/content/docs/bento-grid/eleven.mdx b/content/docs/bento-grid/eleven.mdx index a54ceeb7..b96000ea 100644 --- a/content/docs/bento-grid/eleven.mdx +++ b/content/docs/bento-grid/eleven.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-eleven--docs" /> +<ComponentPreview name="bento-grid-eleven--primary" /> ## Installation diff --git a/content/docs/bento-grid/five.mdx b/content/docs/bento-grid/five.mdx index 8738f674..9876892d 100644 --- a/content/docs/bento-grid/five.mdx +++ b/content/docs/bento-grid/five.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-five--docs" /> +<ComponentPreview name="bento-grid-five--primary" /> ## Installation diff --git a/content/docs/bento-grid/four.mdx b/content/docs/bento-grid/four.mdx index a3d4c4ef..48f77b23 100644 --- a/content/docs/bento-grid/four.mdx +++ b/content/docs/bento-grid/four.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-four--docs" /> +<ComponentPreview name="bento-grid-four--primary" /> ## Installation diff --git a/content/docs/bento-grid/gradient.mdx b/content/docs/bento-grid/gradient.mdx index 0778fc5c..f2b3d470 100644 --- a/content/docs/bento-grid/gradient.mdx +++ b/content/docs/bento-grid/gradient.mdx @@ -4,7 +4,7 @@ description: Bento grid with gradient background cards author: harimanok_ --- -<ComponentPreview name="bento-grid-gradient--docs" /> +<ComponentPreview name="bento-grid-gradient--primary" /> ## Installation diff --git a/content/docs/bento-grid/nine.mdx b/content/docs/bento-grid/nine.mdx index 4bea4d6b..2ca5bd7d 100644 --- a/content/docs/bento-grid/nine.mdx +++ b/content/docs/bento-grid/nine.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-nine--docs" /> +<ComponentPreview name="bento-grid-nine--primary" /> ## Installation diff --git a/content/docs/bento-grid/seven.mdx b/content/docs/bento-grid/seven.mdx index c621149d..9a636881 100644 --- a/content/docs/bento-grid/seven.mdx +++ b/content/docs/bento-grid/seven.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-seven--docs" /> +<ComponentPreview name="bento-grid-seven--primary" /> ## Installation diff --git a/content/docs/bento-grid/six.mdx b/content/docs/bento-grid/six.mdx index e409ed8b..cc55b849 100644 --- a/content/docs/bento-grid/six.mdx +++ b/content/docs/bento-grid/six.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-six--docs" /> +<ComponentPreview name="bento-grid-six--primary" /> ## Installation diff --git a/content/docs/bento-grid/ten.mdx b/content/docs/bento-grid/ten.mdx index 3839c903..c274912c 100644 --- a/content/docs/bento-grid/ten.mdx +++ b/content/docs/bento-grid/ten.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-ten--docs" /> +<ComponentPreview name="bento-grid-ten--primary" /> ## Installation diff --git a/content/docs/bento-grid/three.mdx b/content/docs/bento-grid/three.mdx index afcb1814..4d2ea4be 100644 --- a/content/docs/bento-grid/three.mdx +++ b/content/docs/bento-grid/three.mdx @@ -4,7 +4,7 @@ description: Bento grid with 3 items author: harimanok_ --- -<ComponentPreview name="bento-grid-three--docs" /> +<ComponentPreview name="bento-grid-three--primary" /> ## Installation diff --git a/content/docs/button/ai-button.mdx b/content/docs/button/ai-button.mdx index aa1c295e..30f48420 100644 --- a/content/docs/button/ai-button.mdx +++ b/content/docs/button/ai-button.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-ai-button--docs" /> +<ComponentPreview name="button-ai-button--primary" /> ## Installation @@ -16,25 +16,15 @@ labels: ["requires interaction", "hover"] npm install tsparticles @tsparticles/react @tsparticles/engine ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json {4-12} -module.exports = { - theme: { - extend: { - keyframes: { - sparkle: { - "0%, 100%": { opacity: "0.75", scale: "0.9" }, - "50%": { opacity: "1", scale: "1" }, - }, - }, - animation: { - sparkle: "sparkle 2s ease-in-out infinite", - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes sparkle { + 0%, 100% { opacity: 0.75; scale: 0.9; } + 50% { opacity: 1; scale: 1; } +} +@theme { + --animate-sparkle: sparkle 2s ease-in-out infinite; } ``` diff --git a/content/docs/button/algolia-blue-button.mdx b/content/docs/button/algolia-blue-button.mdx index c16751d7..1897f702 100644 --- a/content/docs/button/algolia-blue-button.mdx +++ b/content/docs/button/algolia-blue-button.mdx @@ -4,7 +4,7 @@ description: Algolia's blue button author: harimanok_ --- -<ComponentPreview name="button-algolia-blue-button--docs" /> +<ComponentPreview name="button-algolia-blue-button--primary" /> ## Installation diff --git a/content/docs/button/algolia-white-button.mdx b/content/docs/button/algolia-white-button.mdx index 0086339f..dddf0204 100644 --- a/content/docs/button/algolia-white-button.mdx +++ b/content/docs/button/algolia-white-button.mdx @@ -4,7 +4,7 @@ description: Algolia's white button author: harimanok_ --- -<ComponentPreview name="button-algolia-white-button--docs" /> +<ComponentPreview name="button-algolia-white-button--primary" /> ## Installation diff --git a/content/docs/button/animated-follow-button.mdx b/content/docs/button/animated-follow-button.mdx index 063df174..8e3470fa 100644 --- a/content/docs/button/animated-follow-button.mdx +++ b/content/docs/button/animated-follow-button.mdx @@ -4,7 +4,7 @@ description: The Animated Follow Button is an interactive UI component with cust author: R0X4R --- -<ComponentPreview name="button-animated-follow-button--docs" /> +<ComponentPreview name="button-animated-follow-button--primary" /> ## Installation diff --git a/content/docs/button/duolingo.mdx b/content/docs/button/duolingo.mdx index 91a741bb..499017f8 100644 --- a/content/docs/button/duolingo.mdx +++ b/content/docs/button/duolingo.mdx @@ -4,7 +4,7 @@ description: Duolingo's button author: harimanok_ --- -<ComponentPreview name="button-duolingo--docs" /> +<ComponentPreview name="button-duolingo--primary" /> ## Installation diff --git a/content/docs/button/external-link-button.mdx b/content/docs/button/external-link-button.mdx index 5029d2d8..48b1363a 100644 --- a/content/docs/button/external-link-button.mdx +++ b/content/docs/button/external-link-button.mdx @@ -3,9 +3,10 @@ title: External Link Button description: Button with an icon that indicates that the link will open in a new tab. labels: ["requires interaction", "hover"] author: AashishKatila +published: false --- -<ComponentPreview name="button-external-link--docs" /> +<ComponentPreview name="button-external-link--primary" /> ## Installation diff --git a/content/docs/button/get-started-button.mdx b/content/docs/button/get-started-button.mdx index cc87e28c..a0c1dac9 100644 --- a/content/docs/button/get-started-button.mdx +++ b/content/docs/button/get-started-button.mdx @@ -4,7 +4,7 @@ description: A button that changes colors on hover labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-get-started-button--docs" /> +<ComponentPreview name="button-get-started-button--primary" /> ## Installation diff --git a/content/docs/button/index.mdx b/content/docs/button/index.mdx index 472a78e4..48cf394b 100644 --- a/content/docs/button/index.mdx +++ b/content/docs/button/index.mdx @@ -15,7 +15,7 @@ import AlgoliaButtonBlue from "@/animata/button/algolia-blue-button"; import Duolingo from "@/animata/button/duolingo"; import SlideArrowButton from "@/animata/button/slide-arrow-button"; -<ComponentList> +<ComponentList className="sm:grid-cols-2 lg:grid-cols-2"> <ComponentListItem copyId="work-button"> <WorkButton /> ```tsx file=<rootDir>/animata/button/work-button.tsx copyId="work-button" diff --git a/content/docs/button/ripple-button.mdx b/content/docs/button/ripple-button.mdx index 0d4e44f6..51f3e315 100644 --- a/content/docs/button/ripple-button.mdx +++ b/content/docs/button/ripple-button.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: Abhi_Hertz --- -<ComponentPreview name="button-ripple-button--docs" /> +<ComponentPreview name="button-ripple-button--primary" /> ## Installation diff --git a/content/docs/button/shining-button.mdx b/content/docs/button/shining-button.mdx index da618ec1..1d21b0dc 100644 --- a/content/docs/button/shining-button.mdx +++ b/content/docs/button/shining-button.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: sanjaya22780 --- -<ComponentPreview name="button-shining-button--docs" /> +<ComponentPreview name="button-shining-button--primary" /> ## Installation @@ -16,34 +16,23 @@ author: sanjaya22780 npm install lucide-react ``` -<Step>Update `tailwind.config.js`</Step>Add the following to your tailwind.config.js file. - -```js -module.exports = { - theme: { - extend: { - backgroundImage: { - striped: - "repeating-linear-gradient(45deg, #3B3A3D, #3B3A3D 5px, transparent 5px, transparent 20px)", - }, - keyframes: { - "blink-red": { - "0%, 100%": { - backgroundColor: "rgba(239, 68, 68, 0.7)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 0.5)", - }, - "50%": { - backgroundColor: "rgba(239, 68, 68, 0.5)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 1)", - }, - }, - }, - animation: { - "blink-red": "blink-red 2s infinite linear", - }, - }, - }, -}; +<Step>Add to your CSS</Step> + +```css +@theme { + --bg-striped: repeating-linear-gradient(45deg, #3B3A3D, #3B3A3D 5px, transparent 5px, transparent 20px); + --animate-blink-red: blink-red 2s infinite linear; +} +@keyframes blink-red { + 0%, 100% { + background-color: rgba(239, 68, 68, 0.7); + box-shadow: 0 0 30px 10px rgba(239, 68, 68, 0.5); + } + 50% { + background-color: rgba(239, 68, 68, 0.5); + box-shadow: 0 0 30px 10px rgba(239, 68, 68, 1); + } +} ``` <Step>Run the following command</Step> diff --git a/content/docs/button/slide-arrow-button.mdx b/content/docs/button/slide-arrow-button.mdx index 391ec2c8..b0580ba4 100644 --- a/content/docs/button/slide-arrow-button.mdx +++ b/content/docs/button/slide-arrow-button.mdx @@ -5,7 +5,7 @@ author: wolfofdalalst labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-slide-arrow-button--docs" /> +<ComponentPreview name="button-slide-arrow-button--primary" /> ## Installation diff --git a/content/docs/button/status-button.mdx b/content/docs/button/status-button.mdx index 5b6f45e4..cc8d5da1 100644 --- a/content/docs/button/status-button.mdx +++ b/content/docs/button/status-button.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "click"] --- -<ComponentPreview name="button-status-button--docs" /> +<ComponentPreview name="button-status-button--primary" /> ## Installation diff --git a/content/docs/button/swipe-button.mdx b/content/docs/button/swipe-button.mdx index 21e2c859..4e40dba1 100644 --- a/content/docs/button/swipe-button.mdx +++ b/content/docs/button/swipe-button.mdx @@ -4,7 +4,7 @@ description: Swipe button author: SuminGurung9 --- -<ComponentPreview name="button-swipe-button--docs" /> +<ComponentPreview name="button-swipe-button--primary" /> ## Installation diff --git a/content/docs/button/toggle-switch.mdx b/content/docs/button/toggle-switch.mdx index 23363a28..aad1939d 100644 --- a/content/docs/button/toggle-switch.mdx +++ b/content/docs/button/toggle-switch.mdx @@ -5,23 +5,12 @@ labels: ["requires interaction", "toggle"] author: Aadarsh Baral --- -<ComponentPreview name="button-toggle-switch--docs" /> +<ComponentPreview name="button-toggle-switch--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `toggle-switch.tsx` inside the `components/animata/button` directory. diff --git a/content/docs/button/work-button.mdx b/content/docs/button/work-button.mdx index cec48c31..f66fa52a 100644 --- a/content/docs/button/work-button.mdx +++ b/content/docs/button/work-button.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: ll4xmii --- -<ComponentPreview name="button-work-button--docs" /> +<ComponentPreview name="button-work-button--primary" /> ## Installation diff --git a/content/docs/card/blur-stack-card.mdx b/content/docs/card/blur-stack-card.mdx index 6e1e5707..0ee9671c 100644 --- a/content/docs/card/blur-stack-card.mdx +++ b/content/docs/card/blur-stack-card.mdx @@ -6,7 +6,7 @@ labels: ["requires interaction", "click"] published: false --- -<ComponentPreview name="card-blur-stack-card--docs" /> +<ComponentPreview name="card-blur-stack-card--primary" /> ## Installation diff --git a/content/docs/card/card-comment.mdx b/content/docs/card/card-comment.mdx index fb569292..7a858e86 100644 --- a/content/docs/card/card-comment.mdx +++ b/content/docs/card/card-comment.mdx @@ -4,7 +4,7 @@ description: A Skeleton of Comment Card author: Abishkardhenga --- -<ComponentPreview name="card-card-comment--docs" /> +<ComponentPreview name="card-card-comment--primary" /> ## Installation diff --git a/content/docs/card/card-spread.mdx b/content/docs/card/card-spread.mdx index 649073de..a8f2a985 100644 --- a/content/docs/card/card-spread.mdx +++ b/content/docs/card/card-spread.mdx @@ -4,7 +4,7 @@ description: A stack of cards that will reveal on hover and spread on click. author: YourTwitterUsername --- -<ComponentPreview name="card-card-spread--docs" /> +<ComponentPreview name="card-card-spread--primary" /> ## Installation diff --git a/content/docs/card/case-study-card.mdx b/content/docs/card/case-study-card.mdx index c707f4c6..9795389b 100644 --- a/content/docs/card/case-study-card.mdx +++ b/content/docs/card/case-study-card.mdx @@ -4,7 +4,7 @@ description: An interactive case study card that expands on hover, revealing a h author: parankarj --- -<ComponentPreview name="card-case-study-card--docs" /> +<ComponentPreview name="card-case-study-card--primary" /> ## Installation diff --git a/content/docs/card/comment-reply-card.mdx b/content/docs/card/comment-reply-card.mdx index 6807aa07..5474cfc8 100644 --- a/content/docs/card/comment-reply-card.mdx +++ b/content/docs/card/comment-reply-card.mdx @@ -2,9 +2,10 @@ title: Comment Reply Card description: This new React component allows users to submit comments through an input field. Once a comment is submitted, it dynamically appears at the top of the comment list. author: m_jinprince +published: false --- -<ComponentPreview name="card-comment-reply-card--docs" /> +<ComponentPreview name="card-comment-reply-card--primary" /> ## Installation diff --git a/content/docs/card/email-feature-card.mdx b/content/docs/card/email-feature-card.mdx index 10d19b5e..5dca150c 100644 --- a/content/docs/card/email-feature-card.mdx +++ b/content/docs/card/email-feature-card.mdx @@ -2,9 +2,10 @@ title: Email Feature Card description: A card component that display From, to, Subject and Body of the email and a send icon with animation on appearance and hover over it. author: raghav_dadhich +published: false --- -<ComponentPreview name="card-email-feature-card--docs" /> +<ComponentPreview name="card-email-feature-card--primary" /> ## Installation diff --git a/content/docs/card/flip-card.mdx b/content/docs/card/flip-card.mdx index b445d5f4..43d38555 100644 --- a/content/docs/card/flip-card.mdx +++ b/content/docs/card/flip-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="card-flip-card--docs" /> +<ComponentPreview name="card-flip-card--primary" /> ## Installation diff --git a/content/docs/card/fluid-tabs.mdx b/content/docs/card/fluid-tabs.mdx index df593bb5..b03e9750 100644 --- a/content/docs/card/fluid-tabs.mdx +++ b/content/docs/card/fluid-tabs.mdx @@ -4,7 +4,7 @@ description: The component is a sliding animation card author: RudraSankha --- -<ComponentPreview name="tabs-fluid-tabs--primary" /> +<ComponentPreview name="card-fluid-tabs--primary" /> ## Installation @@ -15,19 +15,6 @@ author: RudraSankha npm install framer-motion lucide-react ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - } - } -} -``` - <Step>Run the following command</Step> It will create a new file `fluid-tabs.tsx` inside the `components/animata/card` directory. diff --git a/content/docs/card/github-card-shiny.mdx b/content/docs/card/github-card-shiny.mdx index 81bb139b..c0c455f9 100644 --- a/content/docs/card/github-card-shiny.mdx +++ b/content/docs/card/github-card-shiny.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-github-card-shiny--docs" /> +<ComponentPreview name="card-github-card-shiny--primary" /> ## Installation diff --git a/content/docs/card/github-card-skew.mdx b/content/docs/card/github-card-skew.mdx index eefe3c1e..02b79da5 100644 --- a/content/docs/card/github-card-skew.mdx +++ b/content/docs/card/github-card-skew.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-github-card-skew--docs" /> +<ComponentPreview name="card-github-card-skew--primary" /> ## Installation diff --git a/content/docs/card/glowing-card.mdx b/content/docs/card/glowing-card.mdx index b816fe71..3915dd97 100644 --- a/content/docs/card/glowing-card.mdx +++ b/content/docs/card/glowing-card.mdx @@ -5,34 +5,20 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="card-glowing-card--docs" /> +<ComponentPreview name="card-glowing-card--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -Add the following to your tailwind.config.js file. - -```js -module.exports = { - theme: { - extend: { - boxShadow: { - glow: "0 0 20px rgba(255, 204, 112, 0.7), 0 0 40px rgba(200, 80, 192, 0.5), 0 0 60px rgba(65, 88, 208, 0.3)", - glow2: - "0 0 20px rgba(50, 255, 50, 0.7), 0 0 40px rgba(20, 200, 20, 0.5), 0 0 60px rgba(5, 150, 5, 0.3)", - }, - filter: { - "blur-20": "blur(20px)", - "blur-25": "blur(25px)", - }, - brightness: { - 150: "1.5", - }, - }, - }, -}; +<Step>Add to your CSS</Step> +Add the following to your CSS file. + +```css +@theme { + --shadow-glow: 0 0 20px rgba(255, 204, 112, 0.7), 0 0 40px rgba(200, 80, 192, 0.5), 0 0 60px rgba(65, 88, 208, 0.3); + --shadow-glow2: 0 0 20px rgba(50, 255, 50, 0.7), 0 0 40px rgba(20, 200, 20, 0.5), 0 0 60px rgba(5, 150, 5, 0.3); +} ``` <Step>Run the following command</Step> diff --git a/content/docs/card/integration-pills.mdx b/content/docs/card/integration-pills.mdx index 8001859c..5106e59b 100644 --- a/content/docs/card/integration-pills.mdx +++ b/content/docs/card/integration-pills.mdx @@ -2,9 +2,10 @@ title: Integration pills description: A component that displays a list of services it can integrate with. author: shoomankhatri +published: false --- -<ComponentPreview name="card-integration-pills--docs" /> +<ComponentPreview name="card-integration-pills--primary" /> ## Installation diff --git a/content/docs/card/led-board.mdx b/content/docs/card/led-board.mdx index 18e89c7f..ce3f6c80 100644 --- a/content/docs/card/led-board.mdx +++ b/content/docs/card/led-board.mdx @@ -5,31 +5,21 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-led-board--docs" /> +<ComponentPreview name="card-led-board--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json {5-9} {12} -module.exports = { - theme: { - extend: { - keyframes: { - led: { - "0%": { fill: "currentColor", brightness: "1" }, - "50%": { fill: "#a855f7", brightness: "500%" }, - "100%": { fill: "currentColor", brightness: "1" }, - }, - }, - animation: { - led: "led 100ms ease-in-out", - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes led { + 0% { fill: currentColor; brightness: 1; } + 50% { fill: #a855f7; brightness: 500%; } + 100% { fill: currentColor; brightness: 1; } +} +@theme { + --animate-led: led 100ms ease-in-out; } ``` diff --git a/content/docs/card/notice-card.mdx b/content/docs/card/notice-card.mdx index b6607ad1..bd3fd657 100644 --- a/content/docs/card/notice-card.mdx +++ b/content/docs/card/notice-card.mdx @@ -3,9 +3,10 @@ title: Notice Card description: A card component for displaying important notices with an accept toggle. labels: ["requires interaction", "toggle"] author: AE-Hertz +published: false --- -<ComponentPreview name="card-notice-card--docs" /> +<ComponentPreview name="card-notice-card--primary" /> ## Installation diff --git a/content/docs/card/notification-card.mdx b/content/docs/card/notification-card.mdx index f333d1ea..549bb076 100644 --- a/content/docs/card/notification-card.mdx +++ b/content/docs/card/notification-card.mdx @@ -2,9 +2,10 @@ title: Notification Card description: Simple notification like componenet that beautiully expands to show its contents. author: m_jinprince +published: false --- -<ComponentPreview name="card-notification-card--docs" /> +<ComponentPreview name="card-notification-card--primary" /> ## Installation diff --git a/content/docs/card/staggered-card.mdx b/content/docs/card/staggered-card.mdx index 6ca2e497..a45945de 100644 --- a/content/docs/card/staggered-card.mdx +++ b/content/docs/card/staggered-card.mdx @@ -3,9 +3,10 @@ title: Staggered Card description: A card component that displays a list of links with an staggered opening animation. labels: ["requires interaction", "requires config", "toggle", "hover"] author: IliyaFaz +published: false --- -<ComponentPreview name="card-staggered-card--docs" /> +<ComponentPreview name="card-staggered-card--primary" /> ## Installation diff --git a/content/docs/card/swap-text-card.mdx b/content/docs/card/swap-text-card.mdx index 7bc21ae1..55c27311 100644 --- a/content/docs/card/swap-text-card.mdx +++ b/content/docs/card/swap-text-card.mdx @@ -5,7 +5,7 @@ author: SuminGurung9 labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-swap-text-card--docs" /> +<ComponentPreview name="card-swap-text-card--primary" /> ## Installation diff --git a/content/docs/card/webhooks-card.mdx b/content/docs/card/webhooks-card.mdx index a3e724f6..678ed1d0 100644 --- a/content/docs/card/webhooks-card.mdx +++ b/content/docs/card/webhooks-card.mdx @@ -3,9 +3,10 @@ title: Web Hooks description: A card component with animated boxes, lines, and a ball. The component changes style on hover. labels: ["requires interaction", "hover"] author: Pavan kumar +published: false --- -<ComponentPreview name="card-web-hooks--docs" /> +<ComponentPreview name="card-web-hooks--primary" /> ## Installation diff --git a/content/docs/carousel/expandable.mdx b/content/docs/carousel/expandable.mdx index 4271e676..c5a630f0 100644 --- a/content/docs/carousel/expandable.mdx +++ b/content/docs/carousel/expandable.mdx @@ -3,9 +3,10 @@ title: Expandable description: On hover, the image expands to show image details. author: morphhyy labels: ["requires interaction", "hover"] +published: false --- -<ComponentPreview name="carousel-expandable--docs" /> +<ComponentPreview name="carousel-expandable--primary" /> ## Installation diff --git a/content/docs/carousel/image-carousel.mdx b/content/docs/carousel/image-carousel.mdx index c80b42dc..a295f67f 100644 --- a/content/docs/carousel/image-carousel.mdx +++ b/content/docs/carousel/image-carousel.mdx @@ -3,29 +3,24 @@ title: Image Carousel description: A responsive carousel for your projects labels: ["requires interaction", "click"] author: AdashBaral +published: false --- -<ComponentPreview name="carousel-image-carousel--docs" /> +<ComponentPreview name="carousel-image-carousel--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - fadeIn: { - from: { opacity: "0" }, - to: { opacity: "1" }, - }, - }, - }, - animation: { - fadeIn: "fadeIn 0.5s ease-in", - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} +@theme { + --animate-fade-in: fadeIn 0.5s ease-in; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/container/animated-border-trail.mdx b/content/docs/container/animated-border-trail.mdx index 8cadece7..9c15ce45 100644 --- a/content/docs/container/animated-border-trail.mdx +++ b/content/docs/container/animated-border-trail.mdx @@ -4,7 +4,7 @@ description: A container with animated border trail, this can be used for button author: harimanok_ --- -<ComponentPreview name="container-animated-border-trail--docs" /> +<ComponentPreview name="container-animated-border-trail--primary" /> ## Installation @@ -19,25 +19,15 @@ author: harimanok_ } ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - keyframes: { - "trail": { - "0%": { "--angle": "0deg" }, - "100%": { "--angle": "360deg" }, - }, - }, - animation: { - "trail": "trail var(--duration) linear infinite", - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes trail { + 0% { --angle: 0deg; } + 100% { --angle: 360deg; } +} +@theme { + --animate-trail: trail var(--duration) linear infinite; } ``` diff --git a/content/docs/container/animated-dock.mdx b/content/docs/container/animated-dock.mdx index a88eff89..ae5eed77 100644 --- a/content/docs/container/animated-dock.mdx +++ b/content/docs/container/animated-dock.mdx @@ -2,9 +2,10 @@ title: Animated Dock description: A sleek dock-style navigation bar, inspired by macOS, that combines glassmorphic design with functionality. With smooth animations and responsive icons, it enhances navigation for a modern web application. author: R0X4R +published: false --- -<ComponentPreview name="container-animated-dock--docs" /> +<ComponentPreview name="container-animated-dock--primary" /> ## Installation diff --git a/content/docs/container/cursor-tracker.mdx b/content/docs/container/cursor-tracker.mdx index b8e463de..e8d55a7f 100644 --- a/content/docs/container/cursor-tracker.mdx +++ b/content/docs/container/cursor-tracker.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="container-cursor-tracker--docs" /> +<ComponentPreview name="container-cursor-tracker--primary" /> ## Installation diff --git a/content/docs/container/fibonacci-lines.mdx b/content/docs/container/fibonacci-lines.mdx index afbd7a8a..d042abcb 100644 --- a/content/docs/container/fibonacci-lines.mdx +++ b/content/docs/container/fibonacci-lines.mdx @@ -2,9 +2,10 @@ title: Fibonacci Lines description: A component that creates lines using fibonacci numbers author: harimanok_ +published: false --- -<ComponentPreview name="container-fibonacci-lines--docs" /> +<ComponentPreview name="container-fibonacci-lines--primary" /> ## Installation diff --git a/content/docs/container/marquee.mdx b/content/docs/container/marquee.mdx index 750789a8..2737e00b 100644 --- a/content/docs/container/marquee.mdx +++ b/content/docs/container/marquee.mdx @@ -5,32 +5,26 @@ labels: ["requires config", "requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="container-marquee--docs" /> +<ComponentPreview name="container-marquee--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - "marquee-x": { - from: { transform: "translateX(0)" }, - to: { transform: "translateX(calc(-100% - var(--gap)))" }, - }, - "marquee-y": { - from: { transform: "translateY(0)" }, - to: { transform: "translateY(calc(-100% - var(--gap)))" }, - }, - }, - animation: { - "marquee-horizontal": "marquee-x var(--duration) infinite linear", - "marquee-vertical": "marquee-y var(--duration) linear infinite", - }, - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes marquee-x { + from { transform: translateX(0); } + to { transform: translateX(calc(-100% - var(--gap))); } +} +@keyframes marquee-y { + from { transform: translateY(0); } + to { transform: translateY(calc(-100% - var(--gap))); } +} +@theme { + --animate-marquee-horizontal: marquee-x var(--duration) infinite linear; + --animate-marquee-vertical: marquee-y var(--duration) linear infinite; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/container/nav-tabs.mdx b/content/docs/container/nav-tabs.mdx index 2668882d..9329dca1 100644 --- a/content/docs/container/nav-tabs.mdx +++ b/content/docs/container/nav-tabs.mdx @@ -3,9 +3,10 @@ title: Nav Tabs description: A smooth animation tabs while clicking and hover labels: ["requires interaction", "click", "hover"] author: morphhyy +published: false --- -<ComponentPreview name="container-nav-tabs--docs" /> +<ComponentPreview name="container-nav-tabs--primary" /> ## Installation diff --git a/content/docs/container/scrolling-testimonials.mdx b/content/docs/container/scrolling-testimonials.mdx index 61a40cfc..c4fdf910 100644 --- a/content/docs/container/scrolling-testimonials.mdx +++ b/content/docs/container/scrolling-testimonials.mdx @@ -4,23 +4,12 @@ description: A dynamic and visually engaging scrolling testimonials section author: morphhyy --- -<ComponentPreview name="container-scrolling-testimonials--docs" /> +<ComponentPreview name="container-scrolling-testimonials--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Install dependencies</Step> This uses [Marquee](/docs/container/marquee) for the text. Install it by following the instructions [here](/docs/container/marquee#installation). diff --git a/content/docs/container/shift-tabs.mdx b/content/docs/container/shift-tabs.mdx index a50141e1..92b592cb 100644 --- a/content/docs/container/shift-tabs.mdx +++ b/content/docs/container/shift-tabs.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="container-shift-tabs--docs" /> +<ComponentPreview name="container-shift-tabs--primary" /> ## Installation diff --git a/content/docs/contributing/guidelines.mdx b/content/docs/contributing/guidelines.mdx index dbf0aa5c..428ce0e8 100644 --- a/content/docs/contributing/guidelines.mdx +++ b/content/docs/contributing/guidelines.mdx @@ -69,6 +69,34 @@ You can change the opacity of colors by using the opacity syntax, e.g., `text-gr Do not use custom colors unless needed. Tailwind already provides a wide range of colors which we can use. +## Stories and argTypes + +Every component must have a `.stories.tsx` file with at least a `Primary` story export. When your component has props with union/literal types (e.g., `direction: "up" | "down"`), you must add `argTypes` with `options` so the props editor renders a select dropdown instead of a text input: + +```tsx +const meta = { + title: "Text/Wave Reveal", + component: WaveReveal, + tags: ["autodocs"], + argTypes: { + direction: { control: { type: "select" }, options: ["up", "down"] }, + mode: { control: { type: "select" }, options: ["letter", "word"] }, + }, +} satisfies Meta<typeof WaveReveal>; +``` + +If a component renders full-width content that should fill the preview container edge-to-edge (no padding), add the `full-content` CSS class to the outermost wrapper in the story's render function: + +```tsx +export const Primary: Story = { + render: (args) => ( + <div className="full-content w-full"> + <MyComponent {...args} /> + </div> + ), +}; +``` + ## PR review Make sure to self-review the PRs thoroughly before submitting them. Check for any linting errors, console logs, and unnecessary code. diff --git a/content/docs/fabs/speed-dial.mdx b/content/docs/fabs/speed-dial.mdx index fc1c3be9..2d7b1fd1 100644 --- a/content/docs/fabs/speed-dial.mdx +++ b/content/docs/fabs/speed-dial.mdx @@ -4,7 +4,7 @@ description: Speed Dial author: masabinhok --- -<ComponentPreview name="fabs-speed-dial--docs" /> +<ComponentPreview name="fabs-speed-dial--primary" /> ## Installation diff --git a/content/docs/feature-cards/confirmation-message.mdx b/content/docs/feature-cards/confirmation-message.mdx index b8a18247..c3bc0ba0 100644 --- a/content/docs/feature-cards/confirmation-message.mdx +++ b/content/docs/feature-cards/confirmation-message.mdx @@ -4,7 +4,7 @@ description: An animated component which shows success message with custom name author: i_v1shal_ --- -<ComponentPreview name="feature-cards-confirmation-message--docs" /> +<ComponentPreview name="feature-cards-confirmation-message--primary" /> ## Installation diff --git a/content/docs/feature-cards/content-scan.mdx b/content/docs/feature-cards/content-scan.mdx index 550c2406..6d470666 100644 --- a/content/docs/feature-cards/content-scan.mdx +++ b/content/docs/feature-cards/content-scan.mdx @@ -4,7 +4,7 @@ description: A scanning component to highlight detected words to predict AI cont author: MEbandhan --- -<ComponentPreview name="feature-cards-content-scan--docs" /> +<ComponentPreview name="feature-cards-content-scan--primary" /> ## Installation @@ -15,19 +15,13 @@ author: MEbandhan npm install framer-motion ``` -<Step>Update `tailwind.config.js`</Step> +<Step>Add to your CSS</Step> -Add the following to your tailwind.config.js file. +Add the following to your CSS file. -```json -module.exports = { - theme: { - extend: { - backgroundImage: { - "custom-gradient": "linear-gradient(to left, rgba(136,127,242,0.7) 0%, transparent 100%)", - }, - }, - } +```css +@theme { + --bg-custom-gradient: linear-gradient(to left, rgba(136,127,242,0.7) 0%, transparent 100%); } ``` diff --git a/content/docs/card/notify-user-info.mdx b/content/docs/feature-cards/notify-user-info.mdx similarity index 92% rename from content/docs/card/notify-user-info.mdx rename to content/docs/feature-cards/notify-user-info.mdx index a893727c..7e12c4f9 100644 --- a/content/docs/card/notify-user-info.mdx +++ b/content/docs/feature-cards/notify-user-info.mdx @@ -4,7 +4,7 @@ description: This component is a notification animation based on user informatio author: MEbandhan --- -<ComponentPreview name="card-notify-user-info--docs" /> +<ComponentPreview name="card-notify-user-info--primary" /> ## Installation diff --git a/content/docs/card/reminder-scheduler.mdx b/content/docs/feature-cards/reminder-scheduler.mdx similarity index 64% rename from content/docs/card/reminder-scheduler.mdx rename to content/docs/feature-cards/reminder-scheduler.mdx index f8bdb8e6..505869a0 100644 --- a/content/docs/card/reminder-scheduler.mdx +++ b/content/docs/feature-cards/reminder-scheduler.mdx @@ -5,28 +5,21 @@ author: m_jinprince labels: ["requires interaction", "toggle switch"] --- -<ComponentPreview name="card-reminder-scheduler--docs" /> +<ComponentPreview name="card-reminder-scheduler--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - }, - transitionTimingFunction: { - slow: "cubic-bezier(.405, 0, .025, 1)", - "minor-spring": "cubic-bezier(0.18,0.89,0.82,1.04)", - } - }, - }, +<Step>Add to your CSS</Step> + +Add the following to your CSS file. + +```css +@theme { + --ease-slow: cubic-bezier(.405, 0, .025, 1); + --ease-minor-spring: cubic-bezier(0.18, 0.89, 0.82, 1.04); +} ``` <Step>Run the following command</Step> diff --git a/content/docs/card/score-card.mdx b/content/docs/feature-cards/score-card.mdx similarity index 93% rename from content/docs/card/score-card.mdx rename to content/docs/feature-cards/score-card.mdx index 10b29ad1..707ced1e 100644 --- a/content/docs/card/score-card.mdx +++ b/content/docs/feature-cards/score-card.mdx @@ -5,7 +5,7 @@ author: m_jinprince labels: ["requires interaction", "Click score button"] --- -<ComponentPreview name="card-score-card--docs" /> +<ComponentPreview name="card-score-card--primary" /> ## Installation diff --git a/content/docs/card/subscribe-card.mdx b/content/docs/feature-cards/subscribe-card.mdx similarity index 92% rename from content/docs/card/subscribe-card.mdx rename to content/docs/feature-cards/subscribe-card.mdx index 575414c4..c25ff684 100644 --- a/content/docs/card/subscribe-card.mdx +++ b/content/docs/feature-cards/subscribe-card.mdx @@ -4,7 +4,7 @@ description: When the cursor hovers over the card then the card skews and when h author: PrithwiHegde --- -<ComponentPreview name="card-subscribe-card--docs" /> +<ComponentPreview name="card-subscribe-card--primary" /> ## Installation diff --git a/content/docs/card/survey-card.mdx b/content/docs/feature-cards/survey-card.mdx similarity index 89% rename from content/docs/card/survey-card.mdx rename to content/docs/feature-cards/survey-card.mdx index a5e6aa02..828e6036 100644 --- a/content/docs/card/survey-card.mdx +++ b/content/docs/feature-cards/survey-card.mdx @@ -3,9 +3,10 @@ title: Survey Card description: showing result of survey on hover over card labels: ["requires interaction", "hover"] author: Mahlawat2001 +published: false --- -<ComponentPreview name="card-survey-card--docs" /> +<ComponentPreview name="card-survey-card--primary" /> ## Installation diff --git a/content/docs/card/swap-card.mdx b/content/docs/feature-cards/swap-card.mdx similarity index 95% rename from content/docs/card/swap-card.mdx rename to content/docs/feature-cards/swap-card.mdx index 148bdaa4..90a8ad30 100644 --- a/content/docs/card/swap-card.mdx +++ b/content/docs/feature-cards/swap-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "toggle"] author: Sumingurung9 --- -<ComponentPreview name="card-swap-card--docs" /> +<ComponentPreview name="card-swap-card--primary" /> ## Installation diff --git a/content/docs/card/tilted-card.mdx b/content/docs/feature-cards/tilted-card.mdx similarity index 92% rename from content/docs/card/tilted-card.mdx rename to content/docs/feature-cards/tilted-card.mdx index 9f6d67a3..e52b4430 100644 --- a/content/docs/card/tilted-card.mdx +++ b/content/docs/feature-cards/tilted-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: ll4xmii --- -<ComponentPreview name="card-tilted-card--docs" /> +<ComponentPreview name="card-tilted-card--primary" /> ## Installation diff --git a/content/docs/graphs/bar-chart.mdx b/content/docs/graphs/bar-chart.mdx index c6ca3bc9..2cd4f07e 100644 --- a/content/docs/graphs/bar-chart.mdx +++ b/content/docs/graphs/bar-chart.mdx @@ -4,7 +4,7 @@ description: A sample bar chart for widgets/presentation author: harimanok_ --- -<ComponentPreview name="graphs-bar-chart--docs" /> +<ComponentPreview name="graphs-bar-chart--primary" /> ## Installation diff --git a/content/docs/graphs/commit-graph.mdx b/content/docs/graphs/commit-graph.mdx index db96bafd..305900f2 100644 --- a/content/docs/graphs/commit-graph.mdx +++ b/content/docs/graphs/commit-graph.mdx @@ -4,7 +4,7 @@ description: A commit graph for your projects author: Aadarsh Baral --- -<ComponentPreview name="graphs-commit-graph--docs" /> +<ComponentPreview name="graphs-commit-graph--primary" /> ## Installation diff --git a/content/docs/graphs/donut-chart.mdx b/content/docs/graphs/donut-chart.mdx index 88c1a7e4..2ef12ca9 100644 --- a/content/docs/graphs/donut-chart.mdx +++ b/content/docs/graphs/donut-chart.mdx @@ -4,7 +4,7 @@ description: A simple donut chart for showing progress. Useful for widget and be author: harimanok_ --- -<ComponentPreview name="graphs-donut-chart--docs" /> +<ComponentPreview name="graphs-donut-chart--primary" /> ## Installation diff --git a/content/docs/graphs/gauge-chart.mdx b/content/docs/graphs/gauge-chart.mdx index 5c900d82..41fe2853 100644 --- a/content/docs/graphs/gauge-chart.mdx +++ b/content/docs/graphs/gauge-chart.mdx @@ -4,23 +4,12 @@ description: This graph shows the progress in a donut chart with a gap at bottom author: sanjaya22780 --- -<ComponentPreview name="graphs-gauge-chart--docs" /> +<ComponentPreview name="graphs-gauge-chart--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `gauge-chart.tsx` inside the `components/animata/graphs` directory. diff --git a/content/docs/graphs/progress.mdx b/content/docs/graphs/progress.mdx index 68c59e6e..3a21239c 100644 --- a/content/docs/graphs/progress.mdx +++ b/content/docs/graphs/progress.mdx @@ -4,7 +4,7 @@ description: A sample progress graph for widgets/presentation. This is not a ful author: harimanok_ --- -<ComponentPreview name="graphs-progress--docs" /> +<ComponentPreview name="graphs-progress--primary" /> ## Installation diff --git a/content/docs/graphs/ring-chart.mdx b/content/docs/graphs/ring-chart.mdx index acbc92de..f1cd5a8a 100644 --- a/content/docs/graphs/ring-chart.mdx +++ b/content/docs/graphs/ring-chart.mdx @@ -4,7 +4,7 @@ description: A simple ring-chart chart as seen in iOS apps author: harimanok_ --- -<ComponentPreview name="graphs-ring-chart--docs" /> +<ComponentPreview name="graphs-ring-chart--primary" /> ## Installation diff --git a/content/docs/hero/hero-section-text-hover.mdx b/content/docs/hero/hero-section-text-hover.mdx index fdc49d34..ccf541e9 100644 --- a/content/docs/hero/hero-section-text-hover.mdx +++ b/content/docs/hero/hero-section-text-hover.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: RBchiranjibi --- -<ComponentPreview name="hero-hero-section-text-hover--docs" /> +<ComponentPreview name="hero-hero-section-text-hover--primary" /> ## Installation diff --git a/content/docs/hero/hero-section.mdx b/content/docs/hero/hero-section.mdx index efee19c5..7f5847ca 100644 --- a/content/docs/hero/hero-section.mdx +++ b/content/docs/hero/hero-section.mdx @@ -3,29 +3,24 @@ title: Hero Section description: A hero section with interactivity labels: ["requires-interaction", "hover"] author: AdashBaral +published: false --- -<ComponentPreview name="hero-hero-section--docs" /> +<ComponentPreview name="hero-hero-section--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - fadeIn: { - from: { opacity: "0" }, - to: { opacity: "1" }, - }, - }, - }, - animation: { - fadeIn: "fadeIn 0.5s ease-in", - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} +@theme { + --animate-fade-in: fadeIn 0.5s ease-in; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/hero/product-features.mdx b/content/docs/hero/product-features.mdx index f2a5157f..e252cc44 100644 --- a/content/docs/hero/product-features.mdx +++ b/content/docs/hero/product-features.mdx @@ -4,7 +4,7 @@ description: A hero section showcasing product features author: harimanok_ --- -<ComponentPreview name="hero-product-features--docs" /> +<ComponentPreview name="hero-product-features--primary" /> ## Installation diff --git a/content/docs/hero/shape-shifter.mdx b/content/docs/hero/shape-shifter.mdx index ca267c9e..469d7ca4 100644 --- a/content/docs/hero/shape-shifter.mdx +++ b/content/docs/hero/shape-shifter.mdx @@ -5,25 +5,36 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="hero-shape-shifter--docs" /> +<ComponentPreview name="hero-shape-shifter--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - "shape-shift": { - "0%": { - width: "40px", - height: "20px", - }, - } - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes shape-shift { + 0% { + width: 40px; + height: 20px; + } + 20% { + width: 240px; + height: 128px; + } + 40% { + width: 80px; + height: 80px; + } + 80% { + width: 128px; + height: 240px; + } + 100% { + width: 40px; + height: 20px; + } +} ``` <Step>Run the following command</Step> diff --git a/content/docs/hero/slack-intro.mdx b/content/docs/hero/slack-intro.mdx index f123b7a8..d9d85dee 100644 --- a/content/docs/hero/slack-intro.mdx +++ b/content/docs/hero/slack-intro.mdx @@ -4,7 +4,7 @@ description: An intro hero inspired by Slack's intro screen. author: AashishKatila --- -<ComponentPreview name="hero-slack-intro--docs" /> +<ComponentPreview name="hero-slack-intro--primary" /> ## Installation diff --git a/content/docs/icon/hover-interaction.mdx b/content/docs/icon/hover-interaction.mdx index c966abd9..c1658c42 100644 --- a/content/docs/icon/hover-interaction.mdx +++ b/content/docs/icon/hover-interaction.mdx @@ -4,7 +4,7 @@ description: This is a component which shows icon based on text hovered by user. author: MEbandhan --- -<ComponentPreview name="icon-hover-interaction--docs" /> +<ComponentPreview name="icon-hover-interaction--primary" /> ## Installation diff --git a/content/docs/icon/icon-ripple.mdx b/content/docs/icon/icon-ripple.mdx index 5f2e4a1a..165dca63 100644 --- a/content/docs/icon/icon-ripple.mdx +++ b/content/docs/icon/icon-ripple.mdx @@ -4,7 +4,7 @@ description: Create a ripple animation on an icon author: AashishKatila --- -<ComponentPreview name="icon-icon-ripple--docs" /> +<ComponentPreview name="icon-icon-ripple--primary" /> ## Installation diff --git a/content/docs/image/disclose-image.mdx b/content/docs/image/disclose-image.mdx index 9ce2221e..095b48c2 100644 --- a/content/docs/image/disclose-image.mdx +++ b/content/docs/image/disclose-image.mdx @@ -5,33 +5,25 @@ labels: ["requires interaction", "hover", "requires config"] author: harimanok_ --- -<ComponentPreview name="image-disclose-image--docs" /> +<ComponentPreview name="image-disclose-image--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```js {4-9} title=tailwind.config.js -module.exports = { - theme: { - extend: { - transitionTimingFunction: { - slow: "cubic-bezier(.405, 0, .025, 1)", - }, - transitionDuration: { - mid: "3s", - }, - }, - }, -}; +<Step>Add to your CSS</Step> + +Add the following to your CSS file. + +```css +@theme { + --ease-slow: cubic-bezier(.405, 0, .025, 1); + --duration-mid: 3s; +} ``` <Callout> Alternatively, you can replace `ease-slow` with `ease-[cubic-bezier(.405,_0,_.025,_1)]` and - `duration-mid` with `duration-[3000ms]` instead of updating the `tailwind.config.js` file. + `duration-mid` with `duration-[3000ms]` instead of updating your CSS file. </Callout> <Step>Run the following command</Step> diff --git a/content/docs/image/image-box-shadow.mdx b/content/docs/image/image-box-shadow.mdx index 2c597e81..c752c44a 100644 --- a/content/docs/image/image-box-shadow.mdx +++ b/content/docs/image/image-box-shadow.mdx @@ -6,7 +6,7 @@ author: Sumin Gurung published: false --- -<ComponentPreview name="image-image-box-shadow--docs" /> +<ComponentPreview name="image-image-box-shadow--primary" /> ## Installation diff --git a/content/docs/image/images-reveal.mdx b/content/docs/image/images-reveal.mdx index b89f9801..41484e61 100644 --- a/content/docs/image/images-reveal.mdx +++ b/content/docs/image/images-reveal.mdx @@ -5,7 +5,7 @@ author: mansidhamne labels: ["requires interaction", "hover"] --- -<ComponentPreview name="image-images-reveal--docs" /> +<ComponentPreview name="image-images-reveal--primary" /> ## Installation diff --git a/content/docs/image/photo-booth.mdx b/content/docs/image/photo-booth.mdx index d6983539..c2bccf3f 100644 --- a/content/docs/image/photo-booth.mdx +++ b/content/docs/image/photo-booth.mdx @@ -6,7 +6,7 @@ author: ll4xmii published: false --- -<ComponentPreview name="image-photo-booth--docs" /> +<ComponentPreview name="image-photo-booth--primary" /> ## Installation diff --git a/content/docs/image/skew-image.mdx b/content/docs/image/skew-image.mdx index 83508030..82e5db2f 100644 --- a/content/docs/image/skew-image.mdx +++ b/content/docs/image/skew-image.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="image-skew-image--docs" /> +<ComponentPreview name="image-skew-image--primary" /> ## Installation diff --git a/content/docs/image/tilted-cover.mdx b/content/docs/image/tilted-cover.mdx index 284409b7..2fe73724 100644 --- a/content/docs/image/tilted-cover.mdx +++ b/content/docs/image/tilted-cover.mdx @@ -5,22 +5,18 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="image-tilted-cover--docs" /> +<ComponentPreview name="image-tilted-cover--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - transitionTimingFunction: { - slow: "cubic-bezier(.405, 0, .025, 1)", - "minor-spring": "cubic-bezier(0.18,0.89,0.82,1.04)", - } - }, - }, +<Step>Add to your CSS</Step> +```css +@theme { + --ease-slow: cubic-bezier(.405, 0, .025, 1); + --ease-minor-spring: cubic-bezier(0.18, 0.89, 0.82, 1.04); +} ``` <Step>Run the following command</Step> diff --git a/content/docs/image/trailing-image.mdx b/content/docs/image/trailing-image.mdx index df05b372..cb193aa6 100644 --- a/content/docs/image/trailing-image.mdx +++ b/content/docs/image/trailing-image.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="image-trailing-image--docs" /> +<ComponentPreview name="image-trailing-image--primary" /> ## Installation diff --git a/content/docs/image/zoom-image.mdx b/content/docs/image/zoom-image.mdx index 9b286436..5982ca1e 100644 --- a/content/docs/image/zoom-image.mdx +++ b/content/docs/image/zoom-image.mdx @@ -6,7 +6,7 @@ author: Sumingurung9 published: false --- -<ComponentPreview name="image-zoom-image--docs" /> +<ComponentPreview name="image-zoom-image--primary" /> ## Installation diff --git a/content/docs/list/avatar-list.mdx b/content/docs/list/avatar-list.mdx index de8f9fd5..3466ef86 100644 --- a/content/docs/list/avatar-list.mdx +++ b/content/docs/list/avatar-list.mdx @@ -4,24 +4,18 @@ description: A component that displays list of user's avatar author: sudha_shrestha --- -<ComponentPreview name="list-avatar-list--docs" /> +<ComponentPreview name="list-avatar-list--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - "bg-position": { - "0%": { backgroundPosition: "0% 50%" }, - "100%": { backgroundPosition: "100% 50%" }, - } - } - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes bg-position { + 0% { background-position: 0% 50%; } + 100% { background-position: 100% 50%; } +} ``` <Step>Run the following command</Step> diff --git a/content/docs/list/flipping-cards.mdx b/content/docs/list/flipping-cards.mdx index b9d620c8..59791934 100644 --- a/content/docs/list/flipping-cards.mdx +++ b/content/docs/list/flipping-cards.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="list-flipping-cards--docs" /> +<ComponentPreview name="list-flipping-cards--primary" /> ## Installation diff --git a/content/docs/list/flower-menu.mdx b/content/docs/list/flower-menu.mdx index c2077a5a..27daf7d4 100644 --- a/content/docs/list/flower-menu.mdx +++ b/content/docs/list/flower-menu.mdx @@ -4,7 +4,7 @@ description: A circular flower menu with several icons and a central close butto author: arjuncodess --- -<ComponentPreview name="list-flower-menu--docs" /> +<ComponentPreview name="list-flower-menu--primary" /> ## Installation diff --git a/content/docs/list/menu-animation.mdx b/content/docs/list/menu-animation.mdx index 3ceac857..53f9b088 100644 --- a/content/docs/list/menu-animation.mdx +++ b/content/docs/list/menu-animation.mdx @@ -4,7 +4,7 @@ description: Animation for menu list author: Sumin Gurung --- -<ComponentPreview name="list-menu-animation--docs" /> +<ComponentPreview name="list-menu-animation--primary" /> ## Installation diff --git a/content/docs/list/orbiting-items-3-d.mdx b/content/docs/list/orbiting-items-3-d.mdx index f894503c..c1e5a7d1 100644 --- a/content/docs/list/orbiting-items-3-d.mdx +++ b/content/docs/list/orbiting-items-3-d.mdx @@ -4,7 +4,7 @@ description: List component with orbiting items. The items orbit around the cent author: Pikachu-345 --- -<ComponentPreview name="list-orbiting-items-3-d--docs" /> +<ComponentPreview name="list-orbiting-items-3-d--primary" /> ## Installation @@ -15,25 +15,15 @@ author: Pikachu-345 npm install lucide-react ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - keyframes: { - float: { - '0%, 100%': { transform: 'translateY(0)' }, - '50%': { transform: 'translateY(-40px)' }, - }, - }, - animation: { - float: 'float 3s ease-in-out infinite', - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes float { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-40px); } +} +@theme { + --animate-float: float 3s ease-in-out infinite; } ``` diff --git a/content/docs/list/orbiting-items.mdx b/content/docs/list/orbiting-items.mdx index 0e4f705e..15759c87 100644 --- a/content/docs/list/orbiting-items.mdx +++ b/content/docs/list/orbiting-items.mdx @@ -4,27 +4,17 @@ description: List component with orbiting items. The items orbit around the cent author: harimanok_ --- -<ComponentPreview name="list-orbiting-items--docs" /> +<ComponentPreview name="list-orbiting-items--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json {5-8} -module.exports = { - theme: { - extend: { - keyframes: { - "rotate-full": { - "0%": { transform: "rotate(0deg)" }, - "100%": { transform: "rotate(360deg)" }, - }, - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes rotate-full { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } } ``` diff --git a/content/docs/list/reveal-image.mdx b/content/docs/list/reveal-image.mdx index 9feff815..1f869141 100644 --- a/content/docs/list/reveal-image.mdx +++ b/content/docs/list/reveal-image.mdx @@ -5,23 +5,12 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="list-reveal-image--docs" /> +<ComponentPreview name="list-reveal-image--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `reveal-image.tsx` inside the `components/animata/list` directory. diff --git a/content/docs/list/transaction-list.mdx b/content/docs/list/transaction-list.mdx index b2550b85..3c618eac 100644 --- a/content/docs/list/transaction-list.mdx +++ b/content/docs/list/transaction-list.mdx @@ -5,7 +5,7 @@ author: m_jinprince labels: ["requires interaction", "Click any recent Transaction"] --- -<ComponentPreview name="list-transaction-list--docs" /> +<ComponentPreview name="list-transaction-list--primary" /> ## Installation diff --git a/content/docs/list/transition-list.mdx b/content/docs/list/transition-list.mdx index 8612be38..163c77f9 100644 --- a/content/docs/list/transition-list.mdx +++ b/content/docs/list/transition-list.mdx @@ -2,9 +2,10 @@ title: Transition List description: This is a list where items are removed with smooth transition. author: sanjaya22780 +published: false --- -<ComponentPreview name="list-transition-list--docs" /> +<ComponentPreview name="list-transition-list--primary" /> ## Installation diff --git a/content/docs/preloader/vertical-tiles.mdx b/content/docs/preloader/vertical-tiles.mdx index 704cdf66..420ad216 100644 --- a/content/docs/preloader/vertical-tiles.mdx +++ b/content/docs/preloader/vertical-tiles.mdx @@ -4,7 +4,7 @@ description: A preloader component that makes transition to any section look viv author: SatyamVyas04 --- -<ComponentPreview name="preloader-vertical-tiles--docs" /> +<ComponentPreview name="preloader-vertical-tiles--primary" /> ## Installation diff --git a/content/docs/progress/animatedtimeline.mdx b/content/docs/progress/animatedtimeline.mdx index aa9a9930..38eb06cf 100644 --- a/content/docs/progress/animatedtimeline.mdx +++ b/content/docs/progress/animatedtimeline.mdx @@ -4,7 +4,7 @@ description: The Animated Timeline component is an interactive, visually appeali author: VishalKumar03__ --- -<ComponentPreview name="progress-animatedtimeline--docs" /> +<ComponentPreview name="progress-animatedtimeline--primary" /> ## Installation diff --git a/content/docs/progress/spinner.mdx b/content/docs/progress/spinner.mdx index c24b5da5..61d5db16 100644 --- a/content/docs/progress/spinner.mdx +++ b/content/docs/progress/spinner.mdx @@ -4,7 +4,7 @@ description: Just a spinner to check the loading state author: morphhyy --- -<ComponentPreview name="progress-spinner--docs" /> +<ComponentPreview name="progress-spinner--primary" /> ## Installation diff --git a/content/docs/section/pricing.mdx b/content/docs/section/pricing.mdx index e063f920..a8bc21f7 100644 --- a/content/docs/section/pricing.mdx +++ b/content/docs/section/pricing.mdx @@ -2,9 +2,10 @@ title: Pricing description: Pricing component that displays the pricing options of various plans in a sleek and interactive way author: SatyamVyas04 +published: false --- -<ComponentPreview name="section-pricing--docs" /> +<ComponentPreview name="section-pricing--primary" /> ## Installation diff --git a/content/docs/setup.mdx b/content/docs/setup.mdx index a182151d..8297ddc3 100644 --- a/content/docs/setup.mdx +++ b/content/docs/setup.mdx @@ -10,7 +10,7 @@ You don't need to install it as a dependency instead you can simply copy and pas 1. **TailwindCSS**: We use TailwindCSS for styling. See the [TailwindCSS documentation](https://tailwindcss.com/docs/installation) for more information. -2. **Framer Motion** (Optionally required): Some complex animations require Framer Motion. See the [Framer Motion documentation](https://www.framer.com/api/motion/) for more information. +2. **Motion** (Optionally required): Some complex animations require the `motion` package. See the [Motion documentation](https://motion.dev/) for more information. 3. **Lucide Icons** or **Radix Icon** (Optional): Some components use [Lucide Icons](https://lucide.dev/guide/packages/lucide-react) or [Radix Icons](https://radix-ui.com/icons). You can use any other icon library or SVG icons as well. @@ -51,16 +51,12 @@ The root of your project can be anything (like `src` or `app`), but the `compone Install the required dependencies, if you haven't already: ```bash -npm install tailwind-merge clsx lucide-react tailwindcss-animate +npm install tailwind-merge clsx lucide-react ``` -Add `tailwindcss-animate` to the `plugins` array in your `tailwind.config.js` file: - -```js -module.exports = { - plugins: [require("tailwindcss-animate")], -}; -``` +<Callout> + Tailwind v4 includes animation utilities natively, so the `tailwindcss-animate` plugin is no longer needed. +</Callout> ### Create utils.ts file @@ -83,4 +79,4 @@ export function cn(...inputs: ClassValue[]) { 2. If you see something that has been imported but not mentioned in the documentation, then it is a dependency that you need to install. If it starts with `@/` then it is Animata's component else it is an external dependency. In such case, you can submit a PR to update the documentation. -3. If something is not working, then the docs is probably missing the `tailwind.config.js` updates. You can look for the entries that have been added to the `tailwind.config.js` in Animata's source code. You can create an issue or submit a PR to update the documentation. +3. If something is not working, then the docs may be missing CSS configuration (custom `@keyframes` or `@theme` values). You can look for the relevant CSS entries in Animata's source code. You can create an issue or submit a PR to update the documentation. diff --git a/content/docs/text/animated-gradient-text.mdx b/content/docs/text/animated-gradient-text.mdx index 489de23c..7f658c31 100644 --- a/content/docs/text/animated-gradient-text.mdx +++ b/content/docs/text/animated-gradient-text.mdx @@ -4,27 +4,21 @@ description: A component to animate the text using gradient author: harimanok_ --- -<ComponentPreview name="text-animated-gradient-text--docs" /> +<ComponentPreview name="text-animated-gradient-text--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - "bg-position": { - "0%": { backgroundPosition: "0% 50%" }, - "100%": { backgroundPosition: "100% 50%" }, - } - }, - animation: { - "bg-position": "bg-position 3s infinite alternate" - } - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes bg-position { + 0% { background-position: 0% 50%; } + 100% { background-position: 100% 50%; } +} +@theme { + --animate-bg-position: bg-position 3s infinite alternate; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/text/bold-copy.mdx b/content/docs/text/bold-copy.mdx index 0da289de..988afb27 100644 --- a/content/docs/text/bold-copy.mdx +++ b/content/docs/text/bold-copy.mdx @@ -5,24 +5,12 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-bold-copy--docs" /> +<ComponentPreview name="text-bold-copy--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `bold-copy.tsx` inside the `components/animata/text` directory. diff --git a/content/docs/text/circular-text.mdx b/content/docs/text/circular-text.mdx index e1c8509e..eabd12c9 100644 --- a/content/docs/text/circular-text.mdx +++ b/content/docs/text/circular-text.mdx @@ -4,7 +4,7 @@ description: Displays text arranged in a rotating circular path with customizabl author: Sanj__P --- -<ComponentPreview name="text-circular-text--docs" /> +<ComponentPreview name="text-circular-text--primary" /> ## Installation diff --git a/content/docs/text/counter.mdx b/content/docs/text/counter.mdx index 1178a0cb..270f497f 100644 --- a/content/docs/text/counter.mdx +++ b/content/docs/text/counter.mdx @@ -4,23 +4,12 @@ description: A counter component that counts up to given number. Works with both author: harimanok_ --- -<ComponentPreview name="text-counter--docs" /> +<ComponentPreview name="text-counter--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - } - }, - }, -``` - <Step>Install `framer-motion`</Step> ```sh diff --git a/content/docs/text/cycle-text.mdx b/content/docs/text/cycle-text.mdx index 59584e01..809c1362 100644 --- a/content/docs/text/cycle-text.mdx +++ b/content/docs/text/cycle-text.mdx @@ -4,7 +4,7 @@ description: A component that cycles text over certain interval. author: ll4xmii --- -<ComponentPreview name="text-cycle-text--docs" /> +<ComponentPreview name="text-cycle-text--primary" /> ## Installation diff --git a/content/docs/text/double-underline.mdx b/content/docs/text/double-underline.mdx index c578c1fb..6a27f3c7 100644 --- a/content/docs/text/double-underline.mdx +++ b/content/docs/text/double-underline.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-double-underline--docs" /> +<ComponentPreview name="text-double-underline--primary" /> ## Installation diff --git a/content/docs/text/gibberish-text.mdx b/content/docs/text/gibberish-text.mdx index 66f1c33b..e002923c 100644 --- a/content/docs/text/gibberish-text.mdx +++ b/content/docs/text/gibberish-text.mdx @@ -4,23 +4,12 @@ description: A component that displays gibberish text initially and then reveals author: harimanok_ --- -<ComponentPreview name="text-gibberish-text--docs" /> +<ComponentPreview name="text-gibberish-text--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `gibberish-text.tsx` inside the `components/animata/text` directory. diff --git a/content/docs/text/glitch-text.mdx b/content/docs/text/glitch-text.mdx index 2ff91ee2..2653789a 100644 --- a/content/docs/text/glitch-text.mdx +++ b/content/docs/text/glitch-text.mdx @@ -4,51 +4,26 @@ description: Glitch text effect author: harimanok_ --- -<ComponentPreview name="text-glitch-text--docs" /> +<ComponentPreview name="text-glitch-text--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> +<Step>Add to your CSS</Step> -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - keyframes: { - glitch: { - "0%": { - color: "#fff", - textShadow: "2px 2px 0px #00ffff, -2px -2px 0px #ff00ff", - }, - "25%": { - color: "#00ffff", - textShadow: "-2px -2px 0px #fff, 2px 2px 0px #ff00ff", - }, - "50%": { - color: "#ff00ff", - textShadow: "2px -2px 0px #00ffff, -2px 2px 0px #fff", - }, - "75%": { - color: "#eee", - textShadow: "-2px 2px 0px #ff00ff, 2px -2px 0px #00ffff", - }, - "100%": { - color: "#fff", - textShadow: "2px 2px 0px #00ffff, -2px -2px 0px #ff00ff", - }, - }, - twinkle: { - "0%": { opacity: "0" }, - "50%": { opacity: "1" }, - "100%": { opacity: "0" }, - }, - }, - }, - }, +```css +@keyframes glitch { + 0% { color: #fff; text-shadow: 2px 2px 0px #00ffff, -2px -2px 0px #ff00ff; } + 25% { color: #00ffff; text-shadow: -2px -2px 0px #fff, 2px 2px 0px #ff00ff; } + 50% { color: #ff00ff; text-shadow: 2px -2px 0px #00ffff, -2px 2px 0px #fff; } + 75% { color: #eee; text-shadow: -2px 2px 0px #ff00ff, 2px -2px 0px #00ffff; } + 100% { color: #fff; text-shadow: 2px 2px 0px #00ffff, -2px -2px 0px #ff00ff; } +} +@keyframes twinkle { + 0% { opacity: 0; } + 50% { opacity: 1; } + 100% { opacity: 0; } } ``` diff --git a/content/docs/text/jitter-text.mdx b/content/docs/text/jitter-text.mdx index b1a35a32..0fca0283 100644 --- a/content/docs/text/jitter-text.mdx +++ b/content/docs/text/jitter-text.mdx @@ -4,7 +4,7 @@ description: Animated Text component that applies a jittery effect author: XDoffu --- -<ComponentPreview name="text-jitter-text--docs" /> +<ComponentPreview name="text-jitter-text--primary" /> ## Installation diff --git a/content/docs/text/jumping-text-instagram.mdx b/content/docs/text/jumping-text-instagram.mdx index a7771da4..727e2992 100644 --- a/content/docs/text/jumping-text-instagram.mdx +++ b/content/docs/text/jumping-text-instagram.mdx @@ -4,7 +4,7 @@ description: Jumping text effect similar to the one seen in Instagram's text eff author: harimanok_ --- -<ComponentPreview name="text-jumping-text-instagram--docs" /> +<ComponentPreview name="text-jumping-text-instagram--primary" /> ## Installation diff --git a/content/docs/text/mask-text.mdx b/content/docs/text/mask-text.mdx index 5f2e6671..6578b21b 100644 --- a/content/docs/text/mask-text.mdx +++ b/content/docs/text/mask-text.mdx @@ -3,9 +3,10 @@ title: Mask Text description: A cursor with a mask hover effect revealing the text labels: ["requires interaction", "hover"] author: morphhyy +published: false --- -<ComponentPreview name="text-mask-text--docs" /> +<ComponentPreview name="text-mask-text--primary" /> ## Installation @@ -23,17 +24,6 @@ author: morphhyy ``` -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `mask-text.tsx` inside the `components/animata/text` directory. diff --git a/content/docs/text/mirror-text.mdx b/content/docs/text/mirror-text.mdx index 80dc4341..bc79e0b1 100644 --- a/content/docs/text/mirror-text.mdx +++ b/content/docs/text/mirror-text.mdx @@ -5,23 +5,12 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-mirror-text--docs" /> +<ComponentPreview name="text-mirror-text--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `mirror-text.tsx` inside the `components/animata/text` directory. diff --git a/content/docs/text/scroll-reveal.mdx b/content/docs/text/scroll-reveal.mdx index e2c44174..a037e790 100644 --- a/content/docs/text/scroll-reveal.mdx +++ b/content/docs/text/scroll-reveal.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "scroll"] --- -<ComponentPreview name="text-scroll-reveal--docs" /> +<ComponentPreview name="text-scroll-reveal--primary" /> ## Installation diff --git a/content/docs/text/split-text.mdx b/content/docs/text/split-text.mdx index 4125b8a7..1462e872 100644 --- a/content/docs/text/split-text.mdx +++ b/content/docs/text/split-text.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="text-split-text--docs" /> +<ComponentPreview name="text-split-text--primary" /> ## Installation diff --git a/content/docs/text/staggered-letter.mdx b/content/docs/text/staggered-letter.mdx index b55ee884..b3460b62 100644 --- a/content/docs/text/staggered-letter.mdx +++ b/content/docs/text/staggered-letter.mdx @@ -4,7 +4,7 @@ description: A staggered up/drop letter animation. author: morphhyy --- -<ComponentPreview name="text-staggered-letter--docs" /> +<ComponentPreview name="text-staggered-letter--primary" /> ## Installation diff --git a/content/docs/text/swap-text.mdx b/content/docs/text/swap-text.mdx index e99b11e0..6066b4fb 100644 --- a/content/docs/text/swap-text.mdx +++ b/content/docs/text/swap-text.mdx @@ -5,25 +5,18 @@ labels: ["requires interaction", "hover", "click"] author: harimanok_ --- -<ComponentPreview name="text-swap-text--docs" /> +<ComponentPreview name="text-swap-text--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - }, - transitionTimingFunction: { - slow: "cubic-bezier(.405, 0, .025, 1)", - "minor-spring": "cubic-bezier(0.18,0.89,0.82,1.04)", - } - }, - }, +<Step>Add to your CSS</Step> +```css +@theme { + --ease-slow: cubic-bezier(.405, 0, .025, 1); + --ease-minor-spring: cubic-bezier(0.18, 0.89, 0.82, 1.04); +} ``` <Step>Run the following command</Step> diff --git a/content/docs/text/text-border-animation.mdx b/content/docs/text/text-border-animation.mdx index f2d0c3d8..84f3999a 100644 --- a/content/docs/text/text-border-animation.mdx +++ b/content/docs/text/text-border-animation.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="text-text-border-animation--docs" /> +<ComponentPreview name="text-text-border-animation--primary" /> ## Installation diff --git a/content/docs/text/text-explode-imessage.mdx b/content/docs/text/text-explode-imessage.mdx index 6224b18a..540cc796 100644 --- a/content/docs/text/text-explode-imessage.mdx +++ b/content/docs/text/text-explode-imessage.mdx @@ -4,7 +4,7 @@ description: Text explode effect as seen in iMessage author: harimanok_ --- -<ComponentPreview name="text-text-explode-imessage--docs" /> +<ComponentPreview name="text-text-explode-imessage--primary" /> ## Installation diff --git a/content/docs/text/text-flip.mdx b/content/docs/text/text-flip.mdx index 6160107b..238755de 100644 --- a/content/docs/text/text-flip.mdx +++ b/content/docs/text/text-flip.mdx @@ -4,41 +4,28 @@ description: Text with flipping effect author: AashishKatila --- -<ComponentPreview name="text-text-flip--docs" /> +<ComponentPreview name="text-text-flip--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```js -module.exports = { - theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - }, - keyframes: { - "flip-words": { - "10%": { transform: "translateY(-112%)" }, - "25%": { transform: "translateY(-100%)" }, - "35%": { transform: "translateY(-212%)" }, - "50%": { transform: "translateY(-200%)" }, - "60%": { transform: "translateY(-312%)" }, - "75%": { transform: "translateY(-300%)" }, - "85%": { transform: "translateY(-412%)" }, - "100%": { transform: "translateY(-400%)" }, - }, - }, - animation: { - "flip-words": "flip-words 8s infinite", - }, - }, - }, -}; +<Step>Add to your CSS</Step> + +```css +@keyframes flip-words { + 10% { transform: translateY(-112%); } + 25% { transform: translateY(-100%); } + 35% { transform: translateY(-212%); } + 50% { transform: translateY(-200%); } + 60% { transform: translateY(-312%); } + 75% { transform: translateY(-300%); } + 85% { transform: translateY(-412%); } + 100% { transform: translateY(-400%); } +} +@theme { + --animate-flip-words: flip-words 8s infinite; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/text/ticker.mdx b/content/docs/text/ticker.mdx index a3d35505..895a7584 100644 --- a/content/docs/text/ticker.mdx +++ b/content/docs/text/ticker.mdx @@ -4,7 +4,7 @@ description: A ticker component that animates number on change author: harimanok_ --- -<ComponentPreview name="text-ticker--docs" /> +<ComponentPreview name="text-ticker--primary" /> ## Installation diff --git a/content/docs/text/typing-text.mdx b/content/docs/text/typing-text.mdx index c9c2e4c1..ca8afb19 100644 --- a/content/docs/text/typing-text.mdx +++ b/content/docs/text/typing-text.mdx @@ -4,7 +4,7 @@ description: Creates a typing effect for given text author: harimanok_ --- -<ComponentPreview name="text-typing-text--docs" /> +<ComponentPreview name="text-typing-text--primary" /> ## Installation diff --git a/content/docs/text/underline-hover-text.mdx b/content/docs/text/underline-hover-text.mdx index a7453196..5b56da66 100644 --- a/content/docs/text/underline-hover-text.mdx +++ b/content/docs/text/underline-hover-text.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: RBChiranjibi --- -<ComponentPreview name="text-underline-hover-text--docs" /> +<ComponentPreview name="text-underline-hover-text--primary" /> ## Installation diff --git a/content/docs/text/wave-reveal.mdx b/content/docs/text/wave-reveal.mdx index 3e3d74d9..933fbb00 100644 --- a/content/docs/text/wave-reveal.mdx +++ b/content/docs/text/wave-reveal.mdx @@ -3,35 +3,29 @@ title: Wave Reveal description: Reveal letter or word one by one with a wave effect & optional blur effect. --- -<ComponentPreview name="text-wave-reveal--docs" /> +<ComponentPreview name="text-wave-reveal--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - transitionTimingFunction: { - "minor-spring": "cubic-bezier(0.18,0.89,0.82,1.04)", - }, - keyframes:{ - "reveal-up": { - "0%": { opacity: "0", transform: "translateY(80%)" }, - "100%": { opacity: "1", transform: "translateY(0)" }, - }, - "reveal-down": { - "0%": { opacity: "0", transform: "translateY(-80%)" }, - "100%": { opacity: "1", transform: "translateY(0)" }, - }, - "content-blur": { - "0%": { filter: "blur(0.3rem)" }, - "100%": { filter: "blur(0)" }, - }, - } - }, - }, +<Step>Add to your CSS</Step> +```css +@keyframes reveal-up { + 0% { opacity: 0; transform: translateY(80%); } + 100% { opacity: 1; transform: translateY(0); } +} +@keyframes reveal-down { + 0% { opacity: 0; transform: translateY(-80%); } + 100% { opacity: 1; transform: translateY(0); } +} +@keyframes content-blur { + 0% { filter: blur(0.3rem); } + 100% { filter: blur(0); } +} +@theme { + --ease-minor-spring: cubic-bezier(0.18, 0.89, 0.82, 1.04); +} ``` <Step>Run the following command</Step> diff --git a/content/docs/widget/alarm-clock.mdx b/content/docs/widget/alarm-clock.mdx index 1a7c3f9a..88226c14 100644 --- a/content/docs/widget/alarm-clock.mdx +++ b/content/docs/widget/alarm-clock.mdx @@ -5,23 +5,12 @@ labels: ["requires interaction", "toggle"] author: Sumingurung9 --- -<ComponentPreview name="widget-alarm-clock--docs" /> +<ComponentPreview name="widget-alarm-clock--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Install dependencies</Step> ```bash diff --git a/content/docs/widget/battery-level.mdx b/content/docs/widget/battery-level.mdx index a43dd4c7..083fe49f 100644 --- a/content/docs/widget/battery-level.mdx +++ b/content/docs/widget/battery-level.mdx @@ -3,24 +3,12 @@ title: Battery Level description: A widget that shows battery level of different devices --- -<ComponentPreview name="widget-battery-level--docs" /> +<ComponentPreview name="widget-battery-level--primary" /> ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - background: "hsl(var(--background))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `battery-level.tsx` inside the `components/animata/widget` directory. diff --git a/content/docs/widget/battery.mdx b/content/docs/widget/battery.mdx index 7854f587..22de5383 100644 --- a/content/docs/widget/battery.mdx +++ b/content/docs/widget/battery.mdx @@ -4,7 +4,7 @@ description: This is a basic widget that shows battery percentage. author: sanjaya22780 --- -<ComponentPreview name="widget-battery--docs" /> +<ComponentPreview name="widget-battery--primary" /> ## Installation diff --git a/content/docs/widget/calendar-event.mdx b/content/docs/widget/calendar-event.mdx index cf6f39a2..376e0c15 100644 --- a/content/docs/widget/calendar-event.mdx +++ b/content/docs/widget/calendar-event.mdx @@ -4,7 +4,7 @@ description: Calendar event widget author: Sumin Gurung --- -<ComponentPreview name="widget-calendar-event--docs" /> +<ComponentPreview name="widget-calendar-event--primary" /> ## Installation diff --git a/content/docs/widget/calendar-widget.mdx b/content/docs/widget/calendar-widget.mdx index f2efdaeb..a5710acc 100644 --- a/content/docs/widget/calendar-widget.mdx +++ b/content/docs/widget/calendar-widget.mdx @@ -4,7 +4,7 @@ description: calendar widget is calender like widget with smooth animations and author: anshu_code --- -<ComponentPreview name="widget-calendar-widget--docs" /> +<ComponentPreview name="widget-calendar-widget--primary" /> ## Installation diff --git a/content/docs/widget/calorie-counter.mdx b/content/docs/widget/calorie-counter.mdx index 93b12ea9..ce33e21a 100644 --- a/content/docs/widget/calorie-counter.mdx +++ b/content/docs/widget/calorie-counter.mdx @@ -3,7 +3,7 @@ title: Calorie Counter description: A calorie counter for your app --- -<ComponentPreview name="widget-calorie-counter--docs" /> +<ComponentPreview name="widget-calorie-counter--primary" /> ## Installation diff --git a/content/docs/widget/clock-with-photo.mdx b/content/docs/widget/clock-with-photo.mdx index 1580c997..1f107781 100644 --- a/content/docs/widget/clock-with-photo.mdx +++ b/content/docs/widget/clock-with-photo.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="widget-clock-with-photo--docs" /> +<ComponentPreview name="widget-clock-with-photo--primary" /> ## Installation diff --git a/content/docs/widget/cycling.mdx b/content/docs/widget/cycling.mdx index 5aeb8ea5..9adb79fb 100644 --- a/content/docs/widget/cycling.mdx +++ b/content/docs/widget/cycling.mdx @@ -3,7 +3,7 @@ title: Cycling description: A widget that shows the distance covered and heart-rate of cyclist --- -<ComponentPreview name="widget-cycling--docs" /> +<ComponentPreview name="widget-cycling--primary" /> ## Installation diff --git a/content/docs/widget/delivery-card.mdx b/content/docs/widget/delivery-card.mdx index 615bf195..fb4fda04 100644 --- a/content/docs/widget/delivery-card.mdx +++ b/content/docs/widget/delivery-card.mdx @@ -4,7 +4,7 @@ description: This card helps user to track their orders. author: sanjaya22780 --- -<ComponentPreview name="widget-delivery-card--docs" /> +<ComponentPreview name="widget-delivery-card--primary" /> ## Installation diff --git a/content/docs/widget/direction-card.mdx b/content/docs/widget/direction-card.mdx index d9b38ed7..308aabb8 100644 --- a/content/docs/widget/direction-card.mdx +++ b/content/docs/widget/direction-card.mdx @@ -4,7 +4,7 @@ description: A direction card which adapts itself on directions and distance author: AdashBaral --- -<ComponentPreview name="widget-direction-card--docs" /> +<ComponentPreview name="widget-direction-card--primary" /> ## Installation diff --git a/content/docs/widget/expense-tracker.mdx b/content/docs/widget/expense-tracker.mdx index 8270a4ff..f738ed2c 100644 --- a/content/docs/widget/expense-tracker.mdx +++ b/content/docs/widget/expense-tracker.mdx @@ -4,7 +4,7 @@ description: Tracks your weekly spending or expenses author: Sumingurung9 --- -<ComponentPreview name="widget-expense-tracker--docs" /> +<ComponentPreview name="widget-expense-tracker--primary" /> ## Installation diff --git a/content/docs/widget/flight-widget.mdx b/content/docs/widget/flight-widget.mdx index 1fbc2b8c..f22912c7 100644 --- a/content/docs/widget/flight-widget.mdx +++ b/content/docs/widget/flight-widget.mdx @@ -4,7 +4,7 @@ description: A widget that shows flight detail author: AashishKatila --- -<ComponentPreview name="widget-flight-widget--docs" /> +<ComponentPreview name="widget-flight-widget--primary" /> ## Installation diff --git a/content/docs/widget/fund-widget.mdx b/content/docs/widget/fund-widget.mdx index 1eedc78c..87af6fed 100644 --- a/content/docs/widget/fund-widget.mdx +++ b/content/docs/widget/fund-widget.mdx @@ -4,7 +4,7 @@ description: This component is a financial dashboard-like UI element for showing author: i_v1shal_ --- -<ComponentPreview name="widget-fund-widget--docs" /> +<ComponentPreview name="widget-fund-widget--primary" /> ## Installation diff --git a/content/docs/widget/live-score.mdx b/content/docs/widget/live-score.mdx index d2e03f80..b83b42b1 100644 --- a/content/docs/widget/live-score.mdx +++ b/content/docs/widget/live-score.mdx @@ -4,7 +4,7 @@ description: Live score widget that displays the score of a match. author: AashishKatila --- -<ComponentPreview name="widget-live-score--docs" /> +<ComponentPreview name="widget-live-score--primary" /> ## Installation diff --git a/content/docs/widget/mobile-detail.mdx b/content/docs/widget/mobile-detail.mdx index e3228cb9..609b7a18 100644 --- a/content/docs/widget/mobile-detail.mdx +++ b/content/docs/widget/mobile-detail.mdx @@ -4,7 +4,7 @@ description: Mobile widget author: Sumin Gurung --- -<ComponentPreview name="widget-mobile-detail--docs" /> +<ComponentPreview name="widget-mobile-detail--primary" /> ## Installation diff --git a/content/docs/widget/music-stack-interaction.mdx b/content/docs/widget/music-stack-interaction.mdx index 0f406e84..01210359 100644 --- a/content/docs/widget/music-stack-interaction.mdx +++ b/content/docs/widget/music-stack-interaction.mdx @@ -4,7 +4,7 @@ description: widget for Music stack and unstacking author: Mahlawat2001 --- -<ComponentPreview name="widget-music-stack-interaction--docs" /> +<ComponentPreview name="widget-music-stack-interaction--primary" /> ## Installation diff --git a/content/docs/widget/music-widget.mdx b/content/docs/widget/music-widget.mdx index a42ed11f..ec7eb682 100644 --- a/content/docs/widget/music-widget.mdx +++ b/content/docs/widget/music-widget.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click"] author: AashishKatila --- -<ComponentPreview name="widget-music-widget--docs" /> +<ComponentPreview name="widget-music-widget--primary" /> ## Installation diff --git a/content/docs/widget/notes.mdx b/content/docs/widget/notes.mdx index 268ee6a8..29f1e586 100644 --- a/content/docs/widget/notes.mdx +++ b/content/docs/widget/notes.mdx @@ -4,7 +4,7 @@ description: A notes widget author: sudha_shrestha --- -<ComponentPreview name="widget-notes--docs" /> +<ComponentPreview name="widget-notes--primary" /> ## Installation diff --git a/content/docs/widget/profile.mdx b/content/docs/widget/profile.mdx index b4bbae46..ffb643a5 100644 --- a/content/docs/widget/profile.mdx +++ b/content/docs/widget/profile.mdx @@ -4,7 +4,7 @@ description: A widget that shows user profile author: ll4xmii --- -<ComponentPreview name="widget-profile--docs" /> +<ComponentPreview name="widget-profile--primary" /> ## Installation diff --git a/content/docs/widget/reminder-widget.mdx b/content/docs/widget/reminder-widget.mdx index 7e7a310c..f644d398 100644 --- a/content/docs/widget/reminder-widget.mdx +++ b/content/docs/widget/reminder-widget.mdx @@ -4,7 +4,7 @@ description: Reminder widget author: Sumingurung9 --- -<ComponentPreview name="widget-reminder-widget--docs" /> +<ComponentPreview name="widget-reminder-widget--primary" /> ## Installation diff --git a/content/docs/widget/reminder.mdx b/content/docs/widget/reminder.mdx index 121b5a6a..4f6b0bfb 100644 --- a/content/docs/widget/reminder.mdx +++ b/content/docs/widget/reminder.mdx @@ -4,7 +4,7 @@ description: A reminder widget shows notifications for important tasks author: ll4xmii --- -<ComponentPreview name="widget-reminder--docs" /> +<ComponentPreview name="widget-reminder--primary" /> ## Installation diff --git a/content/docs/widget/score-board.mdx b/content/docs/widget/score-board.mdx index 0ae28e0d..3b2e2140 100644 --- a/content/docs/widget/score-board.mdx +++ b/content/docs/widget/score-board.mdx @@ -4,7 +4,7 @@ description: A widget that shows progress and score author: ll4xmii --- -<ComponentPreview name="widget-score-board--docs" /> +<ComponentPreview name="widget-score-board--primary" /> ## Installation diff --git a/content/docs/widget/security-alert.mdx b/content/docs/widget/security-alert.mdx index cdc5d0b0..3f650875 100644 --- a/content/docs/widget/security-alert.mdx +++ b/content/docs/widget/security-alert.mdx @@ -4,7 +4,7 @@ description: This widget notifies the user about a security alert in the system. author: sanjaya22780 --- -<ComponentPreview name="widget-security-alert--docs" /> +<ComponentPreview name="widget-security-alert--primary" /> ## Installation diff --git a/content/docs/widget/shopping-list.mdx b/content/docs/widget/shopping-list.mdx index 653c599d..00fb8aa6 100644 --- a/content/docs/widget/shopping-list.mdx +++ b/content/docs/widget/shopping-list.mdx @@ -4,7 +4,7 @@ description: A shopping list widget author: sudha_shrestha --- -<ComponentPreview name="widget-shopping-list--docs" /> +<ComponentPreview name="widget-shopping-list--primary" /> ## Installation diff --git a/content/docs/widget/sleep-tracker.mdx b/content/docs/widget/sleep-tracker.mdx index eaa6648b..cfa699a8 100644 --- a/content/docs/widget/sleep-tracker.mdx +++ b/content/docs/widget/sleep-tracker.mdx @@ -4,7 +4,7 @@ description: An elegant sleep tracker for your use author: AdashBaral --- -<ComponentPreview name="widget-sleep-tracker--docs" /> +<ComponentPreview name="widget-sleep-tracker--primary" /> ## Installation diff --git a/content/docs/widget/storage-status.mdx b/content/docs/widget/storage-status.mdx index e3b73223..e105928e 100644 --- a/content/docs/widget/storage-status.mdx +++ b/content/docs/widget/storage-status.mdx @@ -4,7 +4,7 @@ description: This widget shows storage occupied by different file. author: sanjaya22780 --- -<ComponentPreview name="widget-storage-status--docs" /> +<ComponentPreview name="widget-storage-status--primary" /> ## Installation diff --git a/content/docs/widget/storage-widget.mdx b/content/docs/widget/storage-widget.mdx index 357f3edc..ed962a66 100644 --- a/content/docs/widget/storage-widget.mdx +++ b/content/docs/widget/storage-widget.mdx @@ -3,7 +3,7 @@ title: Storage Widget description: A widget to display storage --- -<ComponentPreview name="widget-storage-widget--docs" /> +<ComponentPreview name="widget-storage-widget--primary" /> ## Installation diff --git a/content/docs/widget/study-timer.mdx b/content/docs/widget/study-timer.mdx index 9fabc066..7a70de87 100644 --- a/content/docs/widget/study-timer.mdx +++ b/content/docs/widget/study-timer.mdx @@ -3,7 +3,7 @@ title: Study Timer description: Displays a study timer with segmented time tracking. --- -<ComponentPreview name="widget-study-timer--docs" /> +<ComponentPreview name="widget-study-timer--primary" /> ## Installation diff --git a/content/docs/widget/team-clock.mdx b/content/docs/widget/team-clock.mdx index c463c802..4a3f149d 100644 --- a/content/docs/widget/team-clock.mdx +++ b/content/docs/widget/team-clock.mdx @@ -4,7 +4,7 @@ description: A customizable, animated clock displaying multiple time zones for r author: arjuncodess --- -<ComponentPreview name="widget-team-clock--docs" /> +<ComponentPreview name="widget-team-clock--primary" /> ## Installation diff --git a/content/docs/widget/video-chat.mdx b/content/docs/widget/video-chat.mdx index fb2b03cc..d52c03f2 100644 --- a/content/docs/widget/video-chat.mdx +++ b/content/docs/widget/video-chat.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click"] author: AashishKatila --- -<ComponentPreview name="widget-video-chat--docs" /> +<ComponentPreview name="widget-video-chat--primary" /> ## Installation diff --git a/content/docs/widget/vpn-widget.mdx b/content/docs/widget/vpn-widget.mdx index db2b5f74..8faa65d1 100644 --- a/content/docs/widget/vpn-widget.mdx +++ b/content/docs/widget/vpn-widget.mdx @@ -4,7 +4,7 @@ description: Shows the Vpn Connectivity labels: ["requires interaction", "click"] --- -<ComponentPreview name="widget-vpn-widget--docs" /> +<ComponentPreview name="widget-vpn-widget--primary" /> ## Installation diff --git a/content/docs/widget/water-tracker.mdx b/content/docs/widget/water-tracker.mdx index 655f045d..e0b176c0 100644 --- a/content/docs/widget/water-tracker.mdx +++ b/content/docs/widget/water-tracker.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click"] author: Sumingurung9 --- -<ComponentPreview name="widget-water-tracker--docs" /> +<ComponentPreview name="widget-water-tracker--primary" /> ## Installation diff --git a/content/docs/widget/weather-card.mdx b/content/docs/widget/weather-card.mdx index 715c2d9f..7af12f9e 100644 --- a/content/docs/widget/weather-card.mdx +++ b/content/docs/widget/weather-card.mdx @@ -4,7 +4,7 @@ description: A cool weather widget author: AdashBaral --- -<ComponentPreview name="widget-weather-card--docs" /> +<ComponentPreview name="widget-weather-card--primary" /> ## Installation diff --git a/content/docs/widget/weekly-progress.mdx b/content/docs/widget/weekly-progress.mdx index 22accf5b..dae56d09 100644 --- a/content/docs/widget/weekly-progress.mdx +++ b/content/docs/widget/weekly-progress.mdx @@ -4,7 +4,7 @@ description: A widget that shows weekly progress author: Sumingurung9 --- -<ComponentPreview name="widget-weekly-progress--docs" /> +<ComponentPreview name="widget-weekly-progress--primary" /> ## Installation diff --git a/contentlayer.config.ts b/contentlayer.config.ts deleted file mode 100644 index d3cd607e..00000000 --- a/contentlayer.config.ts +++ /dev/null @@ -1,252 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -// contentlayer.config.ts -import { - ComputedFields, - defineDocumentType, - defineNestedType, - makeSource, -} from "contentlayer/source-files"; -import fs from "node:fs"; -import rehypeAutolinkHeadings from "rehype-autolink-headings"; -import rehypePrettyCode from "rehype-pretty-code"; -import rehypeSlug from "rehype-slug"; -import { codeImport } from "remark-code-import"; -import remarkGfm from "remark-gfm"; -import { BlogPosting, WithContext } from "schema-dts"; -import { visit } from "unist-util-visit"; - -const computedFields: ComputedFields = { - url: { - type: "string", - resolve: (post: any) => `/${post._raw.flattenedPath}`, - }, - image: { - type: "string", - resolve: (post: any) => `/api/og?title=${encodeURI(post.title)}`, - }, - slug: { - type: "string", - resolve: (doc: any) => `/${doc._raw.flattenedPath}`, - }, - slugAsParams: { - type: "string", - resolve: (doc: any) => doc._raw.flattenedPath.split("/").slice(1).join("/"), - }, - dateModified: { - type: "date", - resolve: (doc: any) => doc.date ?? fs.statSync("content/" + doc._raw.sourceFilePath).mtime, - }, - structuredData: { - type: "json", - resolve: (doc: any) => - ({ - "@context": "https://schema.org", - "@type": "BlogPosting", - headline: doc.title, - datePublished: doc.date, - dateModified: doc.date, - description: doc.summary || doc.description, - image: doc.image, - url: `https://animata.design/${doc._raw.flattenedPath}`, - author: { - "@type": "Person", - name: doc.author, - url: `https://twitter.com/${doc.author}`, - }, - }) as WithContext<BlogPosting>, - }, -}; - -const LinksProperties = defineNestedType(() => ({ - name: "LinksProperties", - fields: { - doc: { - type: "string", - }, - api: { - type: "string", - }, - }, -})); - -export const Doc = defineDocumentType(() => ({ - name: "Doc", - filePathPattern: "docs/**/*.mdx", - contentType: "mdx", - fields: { - title: { - type: "string", - required: true, - }, - description: { - type: "string", - required: true, - }, - date: { type: "date", required: false }, - published: { - type: "boolean", - default: true, - }, - links: { - type: "nested", - of: LinksProperties, - }, - featured: { - type: "boolean", - default: false, - required: false, - }, - toc: { type: "boolean", default: true, required: false }, - author: { type: "string", required: false }, - video: { type: "string", required: false }, - labels: { type: "list", of: { type: "string" }, required: false }, - dateModified: { type: "date", required: false }, - }, - computedFields, -})); - -export const Blog = defineDocumentType(() => ({ - name: "Blog", - filePathPattern: "blog/**/*.mdx", - contentType: "mdx", - fields: { - title: { - type: "string", - required: true, - }, - description: { - type: "string", - required: true, - }, - date: { type: "date", required: false }, - published: { - type: "boolean", - default: true, - }, - links: { - type: "nested", - of: LinksProperties, - }, - featured: { - type: "boolean", - default: false, - required: false, - }, - toc: { type: "boolean", default: true, required: false }, - author: { type: "string", required: false }, - video: { type: "string", required: false }, - labels: { type: "list", of: { type: "string" }, required: false }, - dateModified: { type: "date", required: false }, - }, - computedFields, -})); - -const setupCodeSnippet = () => (tree: any) => { - visit(tree, (node) => { - if (node?.type === "element" && node?.tagName === "pre") { - const [codeEl] = node.children; - if (codeEl.tagName !== "code") { - return; - } - - if (codeEl.data?.meta) { - // Extract event from meta and pass it down the tree. - const regex = /event="([^"]*)"/; - const match = codeEl.data?.meta.match(regex); - if (match) { - node.__event__ = match ? match[1] : null; - codeEl.data.meta = codeEl.data.meta.replace(regex, ""); - } - - const copyId = codeEl.data?.meta.match(/copyId="([^"]*)"/); - if (copyId) { - node.__copyId__ = copyId[1]; - } - } - - node.__rawString__ = codeEl.children?.[0].value; - } - }); -}; - -const postProcess = () => (tree: any) => { - visit(tree, "element", (node) => { - if (node.__rawString__) { - if (node.tagName !== "pre") { - const [pre] = node.children; - if (pre.tagName !== "pre") { - return; - } - pre.properties.__copyId__ = node.__copyId__; - pre.properties.__rawString__ = node.__rawString__; - Reflect.deleteProperty(node, "__rawString__"); - Reflect.deleteProperty(node, "__copyId__"); - - if (pre.properties?.["__rawString__"]?.startsWith("mkdir")) { - const path = pre.properties?.["__rawString__"].split(" ").pop(); - if (!path) { - return; - } - - const filename = path.split("/").pop() ?? ""; - const dir = path.replace("/" + filename, ""); - pre.properties["__windows__"] = `mkdir "${dir}" && type null > ${path}`; - pre.properties["__unix__"] = `mkdir -p ${dir} && touch ${path}`; - } - - if (pre.properties?.["__rawString__"]?.startsWith("npm install")) { - const npmCommand = pre.properties?.["__rawString__"]; - pre.properties["__npmCommand__"] = npmCommand; - pre.properties["__yarnCommand__"] = npmCommand.replace("npm install", "yarn add"); - pre.properties["__pnpmCommand__"] = npmCommand.replace("npm install", "pnpm add"); - pre.properties["__bunCommand__"] = npmCommand.replace("npm install", "bun add"); - } - } - } - }); -}; - -export default makeSource({ - contentDirPath: "./content", - documentTypes: [Doc, Blog], - mdx: { - remarkPlugins: [remarkGfm, codeImport], - rehypePlugins: [ - setupCodeSnippet, - rehypeSlug, - [ - // @ts-expect-error - `rehypePrettyCode` is not typed - rehypePrettyCode, - { - theme: "github-dark", - onVisitLine(node: any) { - // Prevent lines from collapsing in `display: grid` mode, and allow empty - // lines to be copy/pasted - if (node.children.length === 0) { - node.children = [{ type: "text", value: " " }]; - } - if (!node.properties.className) { - node.properties.className = ["line"]; - } - }, - onVisitHighlightedLine(node: any) { - node.properties.className.push("line--highlighted"); - }, - onVisitHighlightedWord(node: any) { - node.properties.className = ["word--highlighted"]; - }, - }, - ], - [ - rehypeAutolinkHeadings, - { - properties: { - className: ["anchor"], - ariaLabel: "Link to section", - }, - }, - ], - postProcess, - ], - }, -}); diff --git a/hooks/use-lock-body.ts b/hooks/use-lock-body.ts index 3544a1b7..a5990691 100644 --- a/hooks/use-lock-body.ts +++ b/hooks/use-lock-body.ts @@ -1,12 +1,10 @@ -import * as React from "react" +import * as React from "react"; // @see https://usehooks.com/useLockBodyScroll. export function useLockBody() { React.useLayoutEffect((): (() => void) => { - const originalStyle: string = window.getComputedStyle( - document.body - ).overflow - document.body.style.overflow = "hidden" - return () => (document.body.style.overflow = originalStyle) - }, []) + const originalStyle: string = window.getComputedStyle(document.body).overflow; + document.body.style.overflow = "hidden"; + return () => (document.body.style.overflow = originalStyle); + }, []); } diff --git a/hooks/use-media-query.ts b/hooks/use-media-query.ts index 95e552cd..7ac3915a 100644 --- a/hooks/use-media-query.ts +++ b/hooks/use-media-query.ts @@ -1,19 +1,19 @@ -import * as React from "react" +import * as React from "react"; export function useMediaQuery(query: string) { - const [value, setValue] = React.useState(false) + const [value, setValue] = React.useState(false); React.useEffect(() => { function onChange(event: MediaQueryListEvent) { - setValue(event.matches) + setValue(event.matches); } - const result = matchMedia(query) - result.addEventListener("change", onChange) - setValue(result.matches) + const result = matchMedia(query); + result.addEventListener("change", onChange); + setValue(result.matches); - return () => result.removeEventListener("change", onChange) - }, [query]) + return () => result.removeEventListener("change", onChange); + }, [query]); - return value + return value; } diff --git a/hooks/use-mounted.ts b/hooks/use-mounted.ts index 3a20c62a..57bb851e 100644 --- a/hooks/use-mounted.ts +++ b/hooks/use-mounted.ts @@ -1,11 +1,11 @@ -import * as React from "react" +import * as React from "react"; export function useMounted() { - const [mounted, setMounted] = React.useState(false) + const [mounted, setMounted] = React.useState(false); React.useEffect(() => { - setMounted(true) - }, []) + setMounted(true); + }, []); - return mounted + return mounted; } diff --git a/hooks/use-mouse-position.ts b/hooks/use-mouse-position.ts index 187c063f..179d8a2f 100644 --- a/hooks/use-mouse-position.ts +++ b/hooks/use-mouse-position.ts @@ -1,7 +1,7 @@ import { useEffect } from "react"; export function useMousePosition( - ref: React.RefObject<HTMLElement>, + ref: React.RefObject<HTMLElement | null>, callback?: ({ x, y }: { x: number; y: number }) => void, ) { useEffect(() => { diff --git a/hooks/use-mutation-observer.ts b/hooks/use-mutation-observer.ts index ad9b7ec7..a29ebf1a 100644 --- a/hooks/use-mutation-observer.ts +++ b/hooks/use-mutation-observer.ts @@ -1,20 +1,20 @@ -import * as React from "react" +import * as React from "react"; export const useMutationObserver = ( - ref: React.MutableRefObject<HTMLElement | null>, + ref: React.RefObject<HTMLElement | null>, callback: MutationCallback, options = { attributes: true, characterData: true, childList: true, subtree: true, - } + }, ) => { React.useEffect(() => { if (ref.current) { - const observer = new MutationObserver(callback) - observer.observe(ref.current, options) - return () => observer.disconnect() + const observer = new MutationObserver(callback); + observer.observe(ref.current, options); + return () => observer.disconnect(); } - }, [ref, callback, options]) -} + }, [ref, callback, options]); +}; diff --git a/lib/toc.ts b/lib/toc.ts index 6b567b4b..22e5f79d 100644 --- a/lib/toc.ts +++ b/lib/toc.ts @@ -71,5 +71,5 @@ export type TableOfContents = Items; export async function getTableOfContents(content: string): Promise<TableOfContents> { const result = await remark().use(getToc).process(content); - return result.data; + return result.data as unknown as Items; } diff --git a/next.config.mjs b/next.config.mjs index 0965033c..bd6942b0 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,13 +1,30 @@ -import { withContentlayer } from "next-contentlayer"; - /** @type {import('next').NextConfig} */ const nextConfig = { - output: "export", // Enable static exports + output: "export", reactStrictMode: true, - swcMinify: true, images: { unoptimized: true, }, + // Turbopack config (Next.js 16 default) + turbopack: {}, + // Webpack config (velite plugin) + webpack: (config) => { + config.plugins.push(new VeliteWebpackPlugin()); + return config; + }, }; -export default withContentlayer(nextConfig); +class VeliteWebpackPlugin { + static started = false; + apply(/** @type {import('webpack').Compiler} */ compiler) { + compiler.hooks.beforeCompile.tapPromise("VeliteWebpackPlugin", async () => { + if (VeliteWebpackPlugin.started) return; + VeliteWebpackPlugin.started = true; + const dev = compiler.options.mode === "development"; + const { build } = await import("velite"); + await build({ watch: dev, clean: !dev }); + }); + } +} + +export default nextConfig; diff --git a/package.json b/package.json index 3fb0b1ec..1750234e 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,17 @@ { "name": "animata", - "version": "0.1.0", + "version": "4.0.0", "private": true, "type": "module", "scripts": { - "dev": "concurrently \"next dev\" \"yarn storybook\"", - "build": "yarn storybook:build && next build", + "dev": "velite --watch & next dev & storybook dev -p 6006 --no-open & wait", + "prebuild": "velite && storybook build -o public/preview", + "build": "next build --webpack", "start": "next start", - "lint": "npx eslint .", - "storybook": "storybook dev -p 6006 --no-open", + "lint": "biome check .", + "lint:fix": "biome check --fix .", + "format": "biome format --write .", + "storybook": "storybook dev -p 6006", "storybook:build": "storybook build -o public/preview", "animata:new": "node ./scripts/create-new.js", "postinstall": "yarn prepare", @@ -17,111 +20,89 @@ }, "dependencies": { "@emotion/is-prop-valid": "^1.2.2", - "@radix-ui/react-accordion": "^1.1.2", - "@radix-ui/react-alert-dialog": "^1.0.5", - "@radix-ui/react-aspect-ratio": "^1.0.3", - "@radix-ui/react-collapsible": "^1.0.3", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/react-scroll-area": "^1.0.5", - "@radix-ui/react-select": "^2.0.0", - "@radix-ui/react-separator": "^1.0.3", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-tooltip": "^1.0.7", + "@radix-ui/react-accordion": "^1.2.3", + "@radix-ui/react-alert-dialog": "^1.1.6", + "@radix-ui/react-aspect-ratio": "^1.1.2", + "@radix-ui/react-collapsible": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-icons": "^1.3.2", + "@radix-ui/react-scroll-area": "^1.2.3", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-tabs": "^1.1.3", + "@radix-ui/react-tooltip": "^1.1.8", "@rehype-pretty/transformers": "^0.13.2", + "@tailwindcss/typography": "^0.5.19", "@tsparticles/engine": "^3.5.0", "@tsparticles/react": "^3.0.0", + "@xyflow/react": "^12.10.1", "chalk": "^5.3.0", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "cmdk": "^1.0.0", "commander": "^12.1.0", - "contentlayer": "^0.3.4", "date-fns": "^3.6.0", - "framer-motion": "^11.2.10", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.startcase": "^4.4.0", - "lucide-react": "^0.390.0", + "lucide-react": "^0.475.0", "mdast-util-toc": "^7.1.0", - "next": "16.1.5", - "next-contentlayer": "^0.3.4", - "next-themes": "^0.3.0", + "motion": "^12.0.0", + "next": "^16.1.5", + "next-mdx-remote": "^6.0.0", + "next-themes": "^0.4.6", "ora": "^8.0.1", - "posthog-js": "^1.141.4", + "posthog-js": "^1.225.0", "prompts": "^2.4.2", - "react": "^18", - "react-dom": "^18", + "react": "^19", + "react-dom": "^19", "react-wrap-balancer": "^1.1.1", "rehype-autolink-headings": "^7.1.0", - "rehype-pretty-code": "^0.13.2", + "rehype-pretty-code": "^0.14.0", "rehype-slug": "^6.0.0", "remark": "^15.0.1", "remark-code-import": "^1.2.0", - "remark-gfm": "3", + "remark-gfm": "^4.0.0", "schema-dts": "^1.1.2", - "shiki": "^1.6.2", - "tailwind-merge": "^2.3.0", - "tailwindcss-animate": "^1.0.7", + "shiki": "^3.0.0", + "sonner": "^2.0.7", + "tailwind-merge": "^3.0.0", "tsparticles": "^3.5.0", + "tw-animate-css": "^1.4.0", "unist-builder": "^4.0.0", - "vaul": "^0.9.1", - "zod": "^3.23.8" + "vaul": "^1.1.2", + "velite": "^0.2.3", + "zod": "^3.24.0" }, "devDependencies": { - "@chromatic-com/storybook": "^1.5.0", + "@biomejs/biome": "^2.4.6", "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", - "@storybook/addon-essentials": "^8.1.6", - "@storybook/addon-interactions": "^8.1.6", - "@storybook/addon-links": "^8.1.6", - "@storybook/addon-onboarding": "^8.1.6", - "@storybook/addon-styling-webpack": "^1.0.0", - "@storybook/addon-themes": "^8.1.6", - "@storybook/blocks": "^8.1.6", - "@storybook/manager-api": "^8.1.6", - "@storybook/nextjs": "^8.1.6", - "@storybook/react": "^8.1.6", - "@storybook/test": "^8.1.6", + "@storybook/addon-docs": "^10.2.15", + "@storybook/addon-themes": "^10.2.15", + "@storybook/nextjs": "^10.2.15", + "@storybook/react": "^10.2.15", + "@tailwindcss/postcss": "^4.1.0", "@types/lodash.camelcase": "^4", "@types/lodash.kebabcase": "^4", "@types/lodash.startcase": "^4", - "@types/node": "^20", + "@types/node": "^22", "@types/prompts": "^2", - "@types/react": "^18", - "@types/react-dom": "^18", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "concurrently": "^8.2.2", - "eslint": "^8", - "eslint-config-next": "14.2.3", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.3", - "eslint-plugin-simple-import-sort": "^12.1.0", - "eslint-plugin-storybook": "^0.8.0", - "eslint-plugin-unused-imports": "^4.0.0", + "@types/react": "^19", + "@types/react-dom": "^19", "husky": "^9.0.11", "lint-staged": "^15.2.7", - "postcss": "^8", - "prettier": "^3.3.2", - "prettier-plugin-tailwindcss": "^0.6.5", - "react-docgen": "^7.0.3", - "storybook": "^8.6.15", - "storybook-dark-mode": "^4.0.1", - "tailwindcss": "^3.4.1", + "storybook": "^10.2.15", + "tailwindcss": "^4.1.0", "typescript": "^5", "wrangler": "^3.114.17" }, "packageManager": "yarn@4.2.2", "lint-staged": { - "**/*.{js,jsx,ts,tsx}": [ - "eslint --max-warnings=0", - "prettier --write" - ], - "**/*.{html,json,css,scss,md,mdx}": [ - "prettier -w" + "**/*.{js,jsx,ts,tsx,json,css,md,mdx}": [ + "biome check --fix --no-errors-on-unmatched" ] } } diff --git a/postcss.config.mjs b/postcss.config.mjs index 1a69fd2a..79bcf135 100644 --- a/postcss.config.mjs +++ b/postcss.config.mjs @@ -1,7 +1,7 @@ /** @type {import('postcss-load-config').Config} */ const config = { plugins: { - tailwindcss: {}, + "@tailwindcss/postcss": {}, }, }; diff --git a/public/site.webmanifest b/public/site.webmanifest index ab96c350..949b350a 100644 --- a/public/site.webmanifest +++ b/public/site.webmanifest @@ -23,4 +23,4 @@ "short_name": "animata", "start_url": "https://animata.design", "scope": "https://animata.design" -} \ No newline at end of file +} diff --git a/scripts/create-new.js b/scripts/create-new.js index e583c7b5..41450450 100644 --- a/scripts/create-new.js +++ b/scripts/create-new.js @@ -1,5 +1,5 @@ +import fs from "node:fs"; import chalk from "chalk"; -import fs from "fs"; import camelCase from "lodash.camelcase"; import kebabCase from "lodash.kebabcase"; import startCase from "lodash.startcase"; diff --git a/styles/globals.css b/styles/globals.css index 04193dd4..af343ea7 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -1,8 +1,390 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import "tailwindcss"; +@import "tw-animate-css"; + +@custom-variant dark (&:where(.dark, .dark *)); + +@utility container { + width: 100%; + margin-inline: auto; + padding-inline: 1rem; + @media (width >= 640px) { + max-width: 640px; + } + @media (width >= 768px) { + max-width: 768px; + } + @media (width >= 1024px) { + max-width: 1024px; + } + @media (width >= 1280px) { + max-width: 1280px; + } +} + +@theme { + --color-border: hsl(var(--border)); + --color-input: hsl(var(--input)); + --color-ring: hsl(var(--ring)); + --color-background: hsl(var(--background)); + --color-foreground: hsl(var(--foreground)); + + --color-primary: hsl(var(--primary)); + --color-primary-foreground: hsl(var(--primary-foreground)); + + --color-secondary: hsl(var(--secondary)); + --color-secondary-foreground: hsl(var(--secondary-foreground)); + + --color-destructive: hsl(var(--destructive)); + --color-destructive-foreground: hsl(var(--destructive-foreground)); + + --color-muted: hsl(var(--muted)); + --color-muted-foreground: hsl(var(--muted-foreground)); + + --color-accent: hsl(var(--accent)); + --color-accent-foreground: hsl(var(--accent-foreground)); + + --color-popover: hsl(var(--popover)); + --color-popover-foreground: hsl(var(--popover-foreground)); + + --color-card: hsl(var(--card)); + --color-card-foreground: hsl(var(--card-foreground)); + + --radius-lg: var(--radius); + --radius-md: calc(var(--radius) - 2px); + --radius-sm: calc(var(--radius) - 4px); + + --shadow-glow: + 0 0 20px rgba(255, 204, 112, 0.7), 0 0 40px rgba(200, 80, 192, 0.5), + 0 0 60px rgba(65, 88, 208, 0.3); + --shadow-glow2: + 0 0 20px rgba(50, 255, 50, 0.7), 0 0 40px rgba(20, 200, 20, 0.5), 0 0 60px rgba(5, 150, 5, 0.3); + + --background-image-striped: repeating-linear-gradient( + 45deg, + #3b3a3d 0px, + #3b3a3d 5px, + transparent 5px, + transparent 20px + ); + --background-image-custom-gradient: linear-gradient( + to left, + rgba(136, 127, 242, 0.7) 0%, + transparent 100% + ); + + --transition-timing-function-slow: cubic-bezier(0.405, 0, 0.025, 1); + --transition-timing-function-minor-spring: cubic-bezier(0.76, 0.34, 0.38, 1.64); + + --transition-duration-mid: 3s; + --transition-duration-long: 10s; + + --cursor-sword: url("/cursor.png"), default; + + --animate-fill: fill 1s forwards; + --animate-accordion-down: accordion-down 0.2s ease-out; + --animate-accordion-up: accordion-up 0.2s ease-out; + --animate-marquee-horizontal: marquee-x var(--duration) infinite linear; + --animate-marquee-vertical: marquee-y var(--duration) linear infinite; + --animate-bg-position: bg-position 3s infinite alternate; + --animate-pop-blob: pop-blob 4s infinite; + --animate-flip-words: flip-words 8s infinite; + --animate-fadeIn: fadeIn 0.5s ease-in; + --animate-blink-red: blink-red 2s infinite linear; + --animate-sparkle: sparkle 2s ease-in-out infinite; + --animate-meteor: meteor var(--duration) var(--delay) ease-in-out infinite; + --animate-led: led 100ms ease-in-out; + --animate-float: float 3s ease-in-out infinite; + --animate-rotate-full: rotate-full 45s linear infinite; + + @keyframes fill { + 0% { + height: 0%; + } + 100% { + height: var(--progress-height); + } + } + + @keyframes accordion-down { + from { + height: 0; + } + to { + height: var(--radix-accordion-content-height); + } + } + + @keyframes accordion-up { + from { + height: var(--radix-accordion-content-height); + } + to { + height: 0; + } + } + + @keyframes reveal-up { + 0% { + opacity: 0; + transform: translateY(80%); + } + 100% { + opacity: 1; + transform: translateY(0); + } + } + + @keyframes reveal-down { + 0% { + opacity: 0; + transform: translateY(-80%); + } + 100% { + opacity: 1; + transform: translateY(0); + } + } + + @keyframes marquee-x { + from { + transform: translateX(0); + } + to { + transform: translateX(calc(-100% - var(--gap))); + } + } + + @keyframes marquee-y { + from { + transform: translateY(0); + } + to { + transform: translateY(calc(-100% - var(--gap))); + } + } + + @keyframes bg-position { + 0% { + background-position: 0% 50%; + } + 100% { + background-position: 100% 50%; + } + } + + @keyframes shape-shift { + 0% { + width: 40px; + height: 20px; + } + 20% { + width: 240px; + height: 128px; + } + 40% { + width: 80px; + height: 80px; + } + 80% { + width: 128px; + height: 240px; + } + 100% { + width: 80px; + height: 80px; + } + } + + @keyframes swing { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(-30deg); + } + } + + @keyframes content-blur { + 0% { + filter: blur(0.3rem); + } + 100% { + filter: blur(0); + } + } + + @keyframes pop-blob { + 0% { + transform: scale(1); + } + 33% { + transform: scale(1.2); + } + 66% { + transform: scale(0.8); + } + 100% { + transform: scale(1); + } + } + + @keyframes flip-words { + 10% { + transform: translateY(-112%); + } + 25% { + transform: translateY(-100%); + } + 35% { + transform: translateY(-212%); + } + 50% { + transform: translateY(-200%); + } + 60% { + transform: translateY(-312%); + } + 75% { + transform: translateY(-300%); + } + 85% { + transform: translateY(-412%); + } + 100% { + transform: translateY(-400%); + } + } + + @keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + + @keyframes blink-red { + 0%, + 100% { + background-color: rgba(239, 68, 68, 0.7); + box-shadow: 0 0 30px 10px rgba(239, 68, 68, 0.5); + } + 50% { + background-color: rgba(239, 68, 68, 0.5); + box-shadow: 0 0 30px 10px rgba(239, 68, 68, 1); + } + } + + @keyframes rotate-full { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + + @keyframes sparkle { + 0%, + 100% { + opacity: 0.75; + scale: 0.9; + } + 50% { + opacity: 1; + scale: 1; + } + } + + @keyframes meteor { + 0% { + transform: translateY(-20%) translateX(-50%); + } + 100% { + transform: translateY(300%) translateX(-50%); + } + } + + @keyframes led { + 0% { + fill: currentColor; + brightness: 1; + } + 50% { + fill: #a855f7; + brightness: 500%; + } + 100% { + fill: currentColor; + brightness: 1; + } + } + + @keyframes glitch { + 0% { + color: #fff; + text-shadow: + 2px 2px 0px #00ffff, + -2px -2px 0px #ff00ff; + } + 25% { + color: #00ffff; + text-shadow: + -2px -2px 0px #fff, + 2px 2px 0px #ff00ff; + } + 50% { + color: #ff00ff; + text-shadow: + 2px -2px 0px #00ffff, + -2px 2px 0px #fff; + } + 75% { + color: #eee; + text-shadow: + -2px 2px 0px #ff00ff, + 2px -2px 0px #00ffff; + } + 100% { + color: #fff; + text-shadow: + 2px 2px 0px #00ffff, + -2px -2px 0px #ff00ff; + } + } + + @keyframes twinkle { + 0% { + opacity: 0; + } + 50% { + opacity: 1; + } + 100% { + opacity: 0; + } + } + + @keyframes float { + 0%, + 100% { + transform: translateY(0); + } + 50% { + transform: translateY(-40px); + } + } +} @layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } + :root { --background: 0 0% 98%; --foreground: 240 10% 3.9%; @@ -50,8 +432,8 @@ } .preview-light { - background-image: radial-gradient(#efefef 1px, transparent 1px), - radial-gradient(#efefef 1px, transparent 1px); + background-image: + radial-gradient(#efefef 1px, transparent 1px), radial-gradient(#efefef 1px, transparent 1px); background-size: 20px 20px; background-position: 0 0, @@ -60,8 +442,8 @@ } .preview-dark { - background-image: radial-gradient(#6a6a6a 1px, transparent 1px), - radial-gradient(#6a6a6a 1px, transparent 1px); + background-image: + radial-gradient(#6a6a6a 1px, transparent 1px), radial-gradient(#6a6a6a 1px, transparent 1px); background-size: 20px 20px; background-position: 0 0, @@ -69,56 +451,54 @@ } .component-list-item { - @apply preview-light border-zinc-200; + @apply border-zinc-200; + background-image: + radial-gradient(#efefef 1px, transparent 1px), radial-gradient(#efefef 1px, transparent 1px); + background-size: 20px 20px; + background-position: + 0 0, + 10px 10px; + background-color: #fefefe; } .dark .component-list-item { - @apply preview-dark border-zinc-700 bg-zinc-950; -} - -.embedded:not(.dark) { - .sbdocs-preview { - @apply preview-light; - } -} - -.dark { - .sbdocs-preview { - @apply preview-dark; - } + @apply border-zinc-700 bg-zinc-950; + background-image: + radial-gradient(#6a6a6a 1px, transparent 1px), radial-gradient(#6a6a6a 1px, transparent 1px); + background-size: 20px 20px; + background-position: + 0 0, + 10px 10px; } -@layer utilities { - .step { - counter-increment: step; - } +@utility step { + counter-increment: step; - .step:before { + &:before { @apply absolute inline-flex h-9 w-9 items-center justify-center rounded-full border-4 border-background bg-muted text-center -indent-px font-mono text-base font-medium; @apply ml-[-50px] mt-[-4px]; content: counter(step); } +} - .chunk-container { - @apply shadow-none; - } +@utility bg-dot-pattern { + background-image: radial-gradient(hsl(var(--foreground) / 0.15) 1px, transparent 1px); + background-size: 12px 12px; +} + +@utility chunk-container { + @apply shadow-none; - .chunk-container::after { + &::after { content: ""; @apply absolute -inset-4 rounded-xl border shadow-xl; } } -@property --angle { - syntax: "<angle>"; - initial-value: 0deg; - inherits: false; -} - -.scroll-baby[style*="opacity: 1"] { +[style*="opacity: 1"] > .scroll-baby { @apply text-yellow-300 dark:text-yellow-500; } -.scroll-file[style*="opacity: 1"] { +[style*="opacity: 1"] > .scroll-file { @apply text-blue-300 dark:text-blue-500; } diff --git a/styles/mdx.css b/styles/mdx.css index 83a10682..582394b5 100644 --- a/styles/mdx.css +++ b/styles/mdx.css @@ -1,3 +1,5 @@ +@reference "./globals.css"; + [data-theme="light"] { display: block; } diff --git a/styles/storybook.css b/styles/storybook.css index 5e43cfe7..cc99afb8 100644 --- a/styles/storybook.css +++ b/styles/storybook.css @@ -1,67 +1,38 @@ -/** Fix/improve storybook styles for embedding */ +@reference "tailwindcss"; + +/** Fix/improve storybook styles for embedding — !important overrides Storybook's own inline styles */ + +/* biome-ignore lint/complexity/noImportantStyles: override Storybook inline styles */ .sbdocs-wrapper { - @apply !p-0 font-sans; + @apply p-0! font-sans; + /* biome-ignore lint/complexity/noImportantStyles: override Storybook inline styles */ display: block !important; + /* biome-ignore lint/complexity/noImportantStyles: override Storybook inline styles */ min-height: unset !important; .sbdocs-content { - @apply !p-0; + @apply p-0!; } } .sb-preparing-docs { - @apply !p-0; + @apply p-0!; } .sb-previewBlock, .sb-argstableBlock { - @apply !mx-auto; + @apply mx-auto!; + /* biome-ignore lint/complexity/noImportantStyles: override Storybook inline styles */ max-width: calc(100% - 4px) !important; } -.embedded { - .sbdocs { - @apply !m-0; - } - - .innerZoomElementWrapper { - @apply max-w-full; - } - - .sb-anchor:not(:first-child) { - @apply mt-4; - } - - .docs-story { - @apply flex items-center justify-center; - - > div > div { - min-width: 90vw; - @apply flex max-w-full items-center justify-center; - } - - .innerZoomElementWrapper:has(.storybook-fix) { - @apply flow-root w-full; - > div { - @apply mx-auto my-3; - } - } - } - - .docblock-argstable { - @apply !mb-0; - max-width: calc(100% - 2px); - - tr:not(:first-child), - tr td:nth-child(3) { - /* Fix responsive issue border-right: 1px solid hsla(203, 50%, 30%, 0.15); */ - } - - tr td:last-child, - tr th:last-child { - /* Fix responsive issue @apply hidden sm:visible; */ - } - } +#storybook-root { + width: 100%; + /* biome-ignore lint/complexity/noImportantStyles: override Storybook inline styles */ + padding: 0 !important; + display: flex; + justify-content: center; + align-items: center; } .sbdocs-preview > div > div { diff --git a/tailwind.config.ts b/tailwind.config.ts deleted file mode 100644 index 930d8ab5..00000000 --- a/tailwind.config.ts +++ /dev/null @@ -1,240 +0,0 @@ -import type { Config } from "tailwindcss"; - -const config = { - darkMode: ["class"], - content: ["./animata/**/*.{ts,tsx}", "./app/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}"], - prefix: "", - theme: { - container: { - center: true, - padding: "2rem", - screens: { - "2xl": "1400px", - }, - }, - extend: { - backgroundImage: { - striped: - "repeating-linear-gradient(45deg, #3B3A3D 0px, #3B3A3D 5px, transparent 5px, transparent 20px)", - "custom-gradient": "linear-gradient(to left, rgba(136,127,242,0.7) 0%, transparent 100%)", - }, - colors: { - border: "hsl(var(--border))", - input: "hsl(var(--input))", - ring: "hsl(var(--ring))", - background: "hsl(var(--background))", - foreground: "hsl(var(--foreground))", - primary: { - DEFAULT: "hsl(var(--primary))", - foreground: "hsl(var(--primary-foreground))", - }, - secondary: { - DEFAULT: "hsl(var(--secondary))", - foreground: "hsl(var(--secondary-foreground))", - }, - destructive: { - DEFAULT: "hsl(var(--destructive))", - foreground: "hsl(var(--destructive-foreground))", - }, - muted: { - DEFAULT: "hsl(var(--muted))", - foreground: "hsl(var(--muted-foreground))", - }, - accent: { - DEFAULT: "hsl(var(--accent))", - foreground: "hsl(var(--accent-foreground))", - }, - popover: { - DEFAULT: "hsl(var(--popover))", - foreground: "hsl(var(--popover-foreground))", - }, - card: { - DEFAULT: "hsl(var(--card))", - foreground: "hsl(var(--card-foreground))", - }, - }, - borderRadius: { - lg: "var(--radius)", - md: "calc(var(--radius) - 2px)", - sm: "calc(var(--radius) - 4px)", - }, - boxShadow: { - glow: "0 0 20px rgba(255, 204, 112, 0.7), 0 0 40px rgba(200, 80, 192, 0.5), 0 0 60px rgba(65, 88, 208, 0.3)", - glow2: - "0 0 20px rgba(50, 255, 50, 0.7), 0 0 40px rgba(20, 200, 20, 0.5), 0 0 60px rgba(5, 150, 5, 0.3)", - }, - filter: { - "blur-20": "blur(20px)", - "blur-25": "blur(25px)", - }, - brightness: { - 150: "1.5", - }, - keyframes: { - fill: { - "0%": { height: "0%" }, - "100%": { height: "var(--progress-height)" }, - }, - "accordion-down": { - from: { height: "0" }, - to: { height: "var(--radix-accordion-content-height)" }, - }, - "accordion-up": { - from: { height: "var(--radix-accordion-content-height)" }, - to: { height: "0" }, - }, - "reveal-up": { - "0%": { opacity: "0", transform: "translateY(80%)" }, - "100%": { opacity: "1", transform: "translateY(0)" }, - }, - "reveal-down": { - "0%": { opacity: "0", transform: "translateY(-80%)" }, - "100%": { opacity: "1", transform: "translateY(0)" }, - }, - "marquee-x": { - from: { transform: "translateX(0)" }, - to: { transform: "translateX(calc(-100% - var(--gap)))" }, - }, - "marquee-y": { - from: { transform: "translateY(0)" }, - to: { transform: "translateY(calc(-100% - var(--gap)))" }, - }, - "bg-position": { - "0%": { backgroundPosition: "0% 50%" }, - "100%": { backgroundPosition: "100% 50%" }, - }, - "shape-shift": { - "0%": { - width: "40px", - height: "20px", - }, - "20%": { width: "240px", height: "128px" }, - "40%": { width: "80px", height: "80px" }, - "80%": { width: "128px", height: "240px" }, - "100%": { width: "80px", height: "80px" }, - }, - swing: { - "0%": { transform: "rotate(0deg)" }, - "100%": { transform: "rotate(-30deg)" }, - }, - "content-blur": { - "0%": { filter: "blur(0.3rem)" }, - "100%": { filter: "blur(0)" }, - }, - "pop-blob": { - "0%": { transform: "scale(1)" }, - "33%": { transform: "scale(1.2)" }, - "66%": { transform: "scale(0.8)" }, - "100%": { transform: "scale(1)" }, - }, - "flip-words": { - "10%": { transform: "translateY(-112%)" }, - "25%": { transform: "translateY(-100%)" }, - "35%": { transform: "translateY(-212%)" }, - "50%": { transform: "translateY(-200%)" }, - "60%": { transform: "translateY(-312%)" }, - "75%": { transform: "translateY(-300%)" }, - "85%": { transform: "translateY(-412%)" }, - "100%": { transform: "translateY(-400%)" }, - }, - fadeIn: { - from: { opacity: "0" }, - to: { opacity: "1" }, - }, - "blink-red": { - "0%, 100%": { - backgroundColor: "rgba(239, 68, 68, 0.7)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 0.5)", - }, - "50%": { - backgroundColor: "rgba(239, 68, 68, 0.5)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 1)", - }, - }, - "rotate-full": { - "0%": { transform: "rotate(0deg)" }, - "100%": { transform: "rotate(360deg)" }, - }, - sparkle: { - "0%, 100%": { opacity: "0.75", scale: "0.9" }, - "50%": { opacity: "1", scale: "1" }, - }, - meteor: { - "0%": { transform: "translateY(-20%) translateX(-50%)" }, - "100%": { transform: "translateY(300%) translateX(-50%)" }, - }, - trail: { - "0%": { "--angle": "0deg" }, - "100%": { "--angle": "360deg" }, - }, - led: { - "0%": { fill: "currentColor", brightness: "1" }, - "50%": { fill: "#a855f7", brightness: "500%" }, - "100%": { fill: "currentColor", brightness: "1" }, - }, - glitch: { - "0%": { - color: "#fff", - textShadow: "2px 2px 0px #00ffff, -2px -2px 0px #ff00ff", - }, - "25%": { - color: "#00ffff", - textShadow: "-2px -2px 0px #fff, 2px 2px 0px #ff00ff", - }, - "50%": { - color: "#ff00ff", - textShadow: "2px -2px 0px #00ffff, -2px 2px 0px #fff", - }, - "75%": { - color: "#eee", - textShadow: "-2px 2px 0px #ff00ff, 2px -2px 0px #00ffff", - }, - "100%": { - color: "#fff", - textShadow: "2px 2px 0px #00ffff, -2px -2px 0px #ff00ff", - }, - }, - twinkle: { - "0%": { opacity: "0" }, - "50%": { opacity: "1" }, - "100%": { opacity: "0" }, - }, - float: { - "0%, 100%": { transform: "translateY(0)" }, - "50%": { transform: "translateY(-40px)" }, - }, - }, - animation: { - fill: "fill 1s forwards", - "accordion-down": "accordion-down 0.2s ease-out", - "accordion-up": "accordion-up 0.2s ease-out", - "marquee-horizontal": "marquee-x var(--duration) infinite linear", - "marquee-vertical": "marquee-y var(--duration) linear infinite", - "bg-position": "bg-position 3s infinite alternate", - "pop-blob": "pop-blob 4s infinite", - "flip-words": "flip-words 8s infinite", - fadeIn: "fadeIn 0.5s ease-in", - "blink-red": "blink-red 2s infinite linear", - sparkle: "sparkle 2s ease-in-out infinite", - meteor: "meteor var(--duration) var(--delay) ease-in-out infinite", - trail: "trail var(--duration) linear infinite", - led: "led 100ms ease-in-out", - float: "float 3s ease-in-out infinite", - }, - transitionTimingFunction: { - slow: "cubic-bezier(.405, 0, .025, 1)", - "minor-spring": "cubic-bezier(0.76,0.34,0.38,1.64)", - }, - transitionDuration: { - mid: "3s", - long: "10s", - }, - cursor: { - sword: "url('/cursor.png'), default", - }, - }, - }, - plugins: [require("tailwindcss-animate")], -} satisfies Config; - -export default config; diff --git a/tsconfig.json b/tsconfig.json index 2957d983..aa189eaa 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "target": "ESNext", "plugins": [ @@ -21,7 +21,7 @@ ], "paths": { "@/*": ["./*"], - "contentlayer/generated": ["./.contentlayer/generated"] + "#site/content": ["./.velite"] } }, "include": [ @@ -29,7 +29,8 @@ "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", - ".contentlayer/generated" + ".velite", + ".next/dev/types/**/*.ts" ], "exclude": ["node_modules"] } diff --git a/types/unist.ts b/types/unist.ts index 88327ac6..dc3267b6 100644 --- a/types/unist.ts +++ b/types/unist.ts @@ -1,4 +1,4 @@ -import { Node } from "unist"; +import type { Node } from "unist"; export interface UnistNode extends Node { type: string; diff --git a/velite.config.ts b/velite.config.ts new file mode 100644 index 00000000..e064cec8 --- /dev/null +++ b/velite.config.ts @@ -0,0 +1,110 @@ +import fs from "node:fs"; +import type { BlogPosting, WithContext } from "schema-dts"; +import { defineCollection, defineConfig, s } from "velite"; + +function getDateModified(data: { dateModified?: string; date?: string; path: string }) { + return ( + data.dateModified ?? + data.date ?? + (() => { + try { + return fs.statSync(`content/${data.path}.mdx`).mtime.toISOString(); + } catch { + return new Date().toISOString(); + } + })() + ); +} + +function buildStructuredData(data: { + title: string; + date?: string; + description: string; + author?: string; + path: string; + dateModified: string; +}) { + return { + "@context": "https://schema.org", + "@type": "BlogPosting", + headline: data.title, + datePublished: data.date, + dateModified: data.dateModified, + description: data.description, + image: `/api/og?title=${encodeURI(data.title)}`, + url: `https://animata.design/${data.path}`, + author: { + "@type": "Person", + name: data.author, + url: `https://twitter.com/${data.author}`, + }, + } as WithContext<BlogPosting>; +} + +const contentSchema = s.object({ + title: s.string(), + description: s.string(), + date: s.isodate().optional(), + published: s.boolean().default(true), + links: s + .object({ + doc: s.string().optional(), + api: s.string().optional(), + }) + .optional(), + featured: s.boolean().default(false), + toc: s.boolean().default(true), + author: s.string().optional(), + video: s.string().optional(), + labels: s.array(s.string()).optional(), + dateModified: s.isodate().optional(), + path: s.path(), + content: s.markdown(), + body: s.raw(), +}); + +const docs = defineCollection({ + name: "Doc", + pattern: "docs/**/*.mdx", + schema: contentSchema.transform((data) => { + const dateModified = getDateModified(data); + return { + ...data, + url: `/${data.path}`, + image: `/api/og?title=${encodeURI(data.title)}`, + slug: `/${data.path}`, + slugAsParams: data.path.split("/").slice(1).join("/"), + dateModified, + structuredData: buildStructuredData({ ...data, dateModified }), + }; + }), +}); + +const blogs = defineCollection({ + name: "Blog", + pattern: "blog/**/*.mdx", + schema: contentSchema.transform((data) => { + const dateModified = getDateModified(data); + return { + ...data, + url: `/${data.path}`, + image: `/api/og?title=${encodeURI(data.title)}`, + slug: `/${data.path}`, + slugAsParams: data.path.split("/").slice(1).join("/"), + dateModified, + structuredData: buildStructuredData({ ...data, dateModified }), + }; + }), +}); + +export default defineConfig({ + root: "content", + output: { + data: ".velite", + assets: "public/static", + base: "/static/", + name: "[name]-[hash:6].[ext]", + clean: true, + }, + collections: { docs, blogs }, +}); diff --git a/yarn.lock b/yarn.lock index 3e2a55bd..e02a8549 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,10 +5,10 @@ __metadata: version: 8 cacheKey: 10c0 -"@adobe/css-tools@npm:^4.3.2": - version: 4.4.0 - resolution: "@adobe/css-tools@npm:4.4.0" - checksum: 10c0/d65ddc719389bf469097df80fb16a8af48a973dea4b57565789d70ac8e7ab4987e6dc0095da3ed5dc16c1b6f8960214a7590312eeda8abd543d91fd0f59e6c94 +"@adobe/css-tools@npm:^4.4.0": + version: 4.4.4 + resolution: "@adobe/css-tools@npm:4.4.4" + checksum: 10c0/8f3e6cfaa5e6286e6f05de01d91d060425be2ebaef490881f5fe6da8bbdb336835c5d373ea337b0c3b0a1af4be048ba18780f0f6021d30809b4545922a7e13d9 languageName: node linkType: hard @@ -29,7 +29,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.24.7": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.24.7": version: 7.24.7 resolution: "@babel/code-frame@npm:7.24.7" dependencies: @@ -39,14 +39,32 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.7": +"@babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/code-frame@npm:7.29.0" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.28.5" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/d34cc504e7765dfb576a663d97067afb614525806b5cad1a5cc1a7183b916fec8ff57fa233585e3926fd5a9e6b31aae6df91aa81ae9775fb7a28f658d3346f0d + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.24.7": version: 7.24.7 resolution: "@babel/compat-data@npm:7.24.7" checksum: 10c0/dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f languageName: node linkType: hard -"@babel/core@npm:^7.18.9, @babel/core@npm:^7.24.4": +"@babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/compat-data@npm:7.29.0" + checksum: 10c0/08f348554989d23aa801bf1405aa34b15e841c0d52d79da7e524285c77a5f9d298e70e11d91cc578d8e2c9542efc586d50c5f5cf8e1915b254a9dcf786913a94 + languageName: node + linkType: hard + +"@babel/core@npm:^7.18.9": version: 7.24.7 resolution: "@babel/core@npm:7.24.7" dependencies: @@ -69,7 +87,30 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.24.4, @babel/generator@npm:^7.24.7": +"@babel/core@npm:^7.28.0, @babel/core@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/core@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/5127d2e8e842ae409e11bcbb5c2dff9874abf5415e8026925af7308e903f4f43397341467a130490d1a39884f461bc2b67f3063bce0be44340db89687fd852aa + languageName: node + linkType: hard + +"@babel/generator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/generator@npm:7.24.7" dependencies: @@ -81,6 +122,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.29.0": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" + dependencies: + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/349086e6876258ef3fb2823030fee0f6c0eb9c3ebe35fc572e16997f8c030d765f636ddc6299edae63e760ea6658f8ee9a2edfa6d6b24c9a80c917916b973551 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" @@ -90,17 +144,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/0ed84abf848c79fb1cd4c1ddac12c771d32c1904d87fc3087f33cfdeb0c2e0db4e7892b74b407d9d8d0c000044f3645a7391a781f788da8410c290bb123a1f13 + "@babel/types": "npm:^7.27.3" + checksum: 10c0/94996ce0a05b7229f956033e6dcd69393db2b0886d0db6aff41e704390402b8cdcca11f61449cb4f86cfd9e61b5ad3a73e4fa661eeed7846b125bd1c33dbc633 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7": +"@babel/helper-compilation-targets@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-compilation-targets@npm:7.24.7" dependencies: @@ -113,26 +166,37 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.7" +"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.7" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/6b7b47d70b41c00f39f86790cff67acf2bce0289d52a7c182b28e797f4e0e6d69027e3d06eccf1d54dddc2e5dde1df663bb1932437e5f447aeb8635d8d64a6ab + checksum: 10c0/0b62b46717891f4366006b88c9b7f277980d4f578c4c3789b7a4f5a2e09e121de4cda9a414ab403986745cd3ad1af3fe2d948c9f78ab80d4dc085afc9602af50 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7": +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": version: 7.24.7 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.7" dependencies: @@ -145,18 +209,31 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2": - version: 0.6.2 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" +"@babel/helper-create-regexp-features-plugin@npm:^7.27.1, @babel/helper-create-regexp-features-plugin@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + regexpu-core: "npm:^6.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7af3d604cadecdb2b0d2cedd696507f02a53a58be0523281c2d6766211443b55161dde1e6c0d96ab16ddfd82a2607a2f792390caa24797e9733631f8aa86859f + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.5, @babel/helper-define-polyfill-provider@npm:^0.6.6": + version: 0.6.6 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.6" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + debug: "npm:^4.4.3" lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" + resolve: "npm:^1.22.11" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/f777fe0ee1e467fdaaac059c39ed203bdc94ef2465fb873316e9e1acfc511a276263724b061e3b0af2f6d7ad3ff174f2bb368fde236a860e0f650fda43d7e022 + checksum: 10c0/1293d6f54d4ebb10c9e947e54de1aaa23b00233e19aca9790072f1893bf143af01442613f7b413300be7016d8e41b550af77acab28e7fa5fb796b2a175c528a1 languageName: node linkType: hard @@ -179,6 +256,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-hoist-variables@npm:7.24.7" @@ -188,13 +272,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.7" +"@babel/helper-member-expression-to-functions@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/9638c1d33cf6aba028461ccd3db6061c76ff863ca0d5013dd9a088bf841f2f77c46956493f9da18355c16759449d23b74cc1de4da357ade5c5c34c858f840f0a + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + checksum: 10c0/4e6e05fbf4dffd0bc3e55e28fcaab008850be6de5a7013994ce874ec2beb90619cda4744b11607a60f8aae0227694502908add6188ceb1b5223596e765b44814 languageName: node linkType: hard @@ -208,6 +292,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-transforms@npm:7.24.7" @@ -223,45 +317,65 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.24.7 resolution: "@babel/helper-plugin-utils@npm:7.24.7" checksum: 10c0/c3d38cd9b3520757bb4a279255cc3f956fc0ac1c193964bd0816ebd5c86e30710be8e35252227e0c9d9e0f4f56d9b5f916537f2bc588084b0988b4787a967d31 languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.24.7" +"@babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-plugin-utils@npm:7.28.6" + checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-wrap-function": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/4e7fa2cdcbc488e41c27066c16e562857ef3c5c2bfe70d2f1e32e9ee7546b17c3fc1c20d05bf2a7f1c291bd9e7a0a219f6a9fa387209013294be79a26fcfe64d + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-replace-supers@npm:7.24.7" +"@babel/helper-replace-supers@npm:^7.27.1, @babel/helper-replace-supers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-replace-supers@npm:7.28.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.7" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/0e133bb03371dee78e519c334a09c08e1493103a239d9628db0132dfaac3fc16380479ca3c590d278a9b71b624030a338c18ebbfe6d430ebb2e4653775c4b3e3 + checksum: 10c0/04663c6389551b99b8c3e7ba4e2638b8ca2a156418c26771516124c53083aa8e74b6a45abe5dd46360af79709a0e9c6b72c076d0eab9efecdd5aaf836e79d8d5 languageName: node linkType: hard @@ -275,13 +389,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 languageName: node linkType: hard @@ -301,6 +415,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-identifier@npm:7.24.7" @@ -308,6 +429,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-option@npm:7.24.7" @@ -315,15 +443,21 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-wrap-function@npm:7.24.7" +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/helper-wrap-function@npm:7.28.6" dependencies: - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/d5689f031bf0eb38c0d7fad6b7e320ddef4bfbdf08d12d7d76ef41b7ca365a32721e74cb5ed5a9a9ec634bc20f9b7a27314fa6fb08f1576b8f6d8330fcea6f47 + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/110674c7aa705dd8cc34f278628f540b37a4cb35e81fcaf557772e026a6fd95f571feb51a8efb146e4e91bbf567dc9dd7f534f78da80f55f4be2ec842f36b678 languageName: node linkType: hard @@ -337,6 +471,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helpers@npm:7.28.6" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/c4a779c66396bb0cf619402d92f1610601ff3832db2d3b86b9c9dd10983bf79502270e97ac6d5280cea1b1a37de2f06ecbac561bd2271545270407fbe64027cb + languageName: node + linkType: hard + "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -349,7 +493,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.24.7": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7": version: 7.24.7 resolution: "@babel/parser@npm:7.24.7" bin: @@ -358,51 +502,73 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.7" +"@babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/parser@npm:7.29.0" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/333b2aa761264b91577a74bee86141ef733f9f9f6d4fc52548e4847dc35dfbf821f58c46832c637bfa761a6d9909d6a68f7d1ed59e17e4ffbb958dc510c17b62 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/394c30e2b708ad385fa1219528e039066a1f1cb40f47986f283878848fd354c745e6397f588b4e5a046ee8d64bfdf4c208e4c3dfbdcfb2fd34315ec67c64e7af + checksum: 10c0/844b7c7e9eec6d858262b2f3d5af75d3a6bbd9d3ecc740d95271fbdd84985731674536f5d8ac98f2dc0e8872698b516e406636e4d0cb04b50afe471172095a53 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.7" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/a36307428ecc1a01b00cf90812335eed1575d13f211ab24fe4d0c55c28a2fcbd4135f142efabc3b277b2a8e09ee05df594a1272353f061b63829495b5dcfdb96 + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/aeb6e7aa363a47f815cf956ea1053c5dd8b786a17799f065c9688ba4b0051fe7565d258bbe9400bfcbfb3114cb9fda66983e10afe4d750bc70ff75403e15dd36 + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.7" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/2b52a73e444f6adc73f927b623e53a4cf64397170dd1071268536df1b3db1e02131418c8dc91351af48837a6298212118f4a72d5407f8005cf9a732370a315b0 + checksum: 10c0/f1a9194e8d1742081def7af748e9249eb5082c25d0ced292720a1f054895f99041c764a05f45af669a2c8898aeb79266058aedb0d3e1038963ad49be8288918a languageName: node linkType: hard @@ -415,1104 +581,1076 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" dependencies: "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde languageName: node linkType: hard -"@babel/plugin-syntax-bigint@npm:^7.8.3": +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" dependencies: "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" +"@babel/plugin-syntax-import-assertions@npm:^7.27.1, @babel/plugin-syntax-import-assertions@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + checksum: 10c0/f3b8bdccb9b4d3e3b9226684ca518e055399d05579da97dfe0160a38d65198cfe7dce809e73179d6463a863a040f980de32425a876d88efe4eda933d0d95982c languageName: node linkType: hard -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" +"@babel/plugin-syntax-import-attributes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + checksum: 10c0/1be160e2c426faa74e5be2e30e39e8d0d8c543063bd5d06cd804f8751b8fbcb82ce824ca7f9ce4b09c003693f6c06a11ce503b7e34d85e1a259631e4c3f72ad2 languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" +"@babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + checksum: 10c0/b98fc3cd75e4ca3d5ca1162f610c286e14ede1486e0d297c13a5eb0ac85680ac9656d17d348bddd9160a54d797a08cea5eaac02b9330ddebb7b26732b7b99fb5 languageName: node linkType: hard -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" +"@babel/plugin-syntax-typescript@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 + checksum: 10c0/b0c392a35624883ac480277401ac7d92d8646b66e33639f5d350de7a6723924265985ae11ab9ebd551740ded261c443eaa9a87ea19def9763ca1e0d78c97dea8 languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.24.1, @babel/plugin-syntax-import-assertions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.7" +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/b82c53e095274ee71c248551352d73441cf65b3b3fc0107258ba4e9aef7090772a425442b3ed1c396fa207d0efafde8929c87a17d3c885b3ca2021316e87e246 + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.7" +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eccc54d0f03c96d0eec7a6e2fa124dadbc7298345b62ffc4238f173308c4325b5598f139695ff05a95cf78412ef6903599e4b814496612bf39aad4715a16375b + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" +"@babel/plugin-transform-async-generator-functions@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.29.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + checksum: 10c0/4080fc5e7dad7761bfebbb4fbe06bdfeb3a8bf0c027bcb4373e59e6b3dc7c5002eca7cbb1afba801d6439df8f92f7bcb3fb862e8fbbe43a9e59bb5653dcc0568 languageName: node linkType: hard -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" +"@babel/plugin-transform-async-to-generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + checksum: 10c0/2eb0826248587df6e50038f36194a138771a7df22581020451c7779edeaf9ef39bf47c5b7a20ae2645af6416e8c896feeca273317329652e84abd79a4ab920ad languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" +"@babel/plugin-transform-block-scoping@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + checksum: 10c0/2e3e09e1f9770b56cef4dcbffddf262508fd03416072f815ac66b2b224a3a12cd285cfec12fc067f1add414e7db5ce6dafb5164a6e0fb1a728e6a97d0c6f6e9d languageName: node linkType: hard -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" +"@babel/plugin-transform-class-properties@npm:^7.27.1, @babel/plugin-transform-class-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-properties@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + checksum: 10c0/c4327fcd730c239d9f173f9b695b57b801729e273b4848aef1f75818069dfd31d985d75175db188d947b9b1bbe5353dae298849042026a5e4fcf07582ff3f9f1 languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" +"@babel/plugin-transform-class-static-block@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + "@babel/core": ^7.12.0 + checksum: 10c0/dbe9b1fd302ae41b73186e17ac8d8ecf625ebc2416a91f2dc8013977a1bdf21e6ea288a83f084752b412242f3866e789d4fddeb428af323fe35b60e0fae4f98c languageName: node linkType: hard -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" +"@babel/plugin-transform-classes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-classes@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + checksum: 10c0/dc22f1f6eadab17305128fbf9cc5f30e87a51a77dd0a6d5498097994e8a9b9a90ab298c11edf2342acbeaac9edc9c601cad72eedcf4b592cd465a787d7f41490 languageName: node linkType: hard -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" +"@babel/plugin-transform-computed-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + checksum: 10c0/1e9893503ae6d651125701cc29450e87c0b873c8febebff19da75da9c40cfb7968c52c28bf948244e461110aeb7b3591f2cc199b7406ff74a24c50c7a5729f39 languageName: node linkType: hard -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" +"@babel/plugin-transform-destructuring@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + checksum: 10c0/288207f488412b23bb206c7c01ba143714e2506b72a9ec09e993f28366cc8188d121bde714659b3437984a86d2881d9b1b06de3089d5582823ccf2f3b3eaa2c4 languageName: node linkType: hard -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" +"@babel/plugin-transform-dotall-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + checksum: 10c0/e2fb76b7ae99087cf4212013a3ca9dee07048f90f98fd6264855080fb6c3f169be11c9b8c9d8b26cf9a407e4d0a5fa6e103f7cef433a542b75cf7127c99d4f97 languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/cdabd2e8010fb0ad15b49c2c270efc97c4bfe109ead36c7bbcf22da7a74bc3e49702fc4f22f12d2d6049e8e22a5769258df1fd05f0420ae45e11bdd5bc07805a + "@babel/core": ^7.0.0 + checksum: 10c0/6f03d9e5e31a05b28555541be6e283407e08447a36be6ddf8068b3efa970411d832e04b1282e2b894baf89a3864ff7e7f1e36346652a8d983170c6d548555167 languageName: node linkType: hard -"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" - "@babel/helper-plugin-utils": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + "@babel/core": ^7.0.0-0 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.7" +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6ac05a54e5582f34ac6d5dc26499e227227ec1c7fa6fc8de1f3d40c275f140d3907f79bbbd49304da2d7008a5ecafb219d0b71d78ee3290ca22020d878041245 + checksum: 10c0/e6ea28c26e058fe61ada3e70b0def1992dd5a44f5fc14d8e2c6a3a512fb4d4c6dc96a3e1d0b466d83db32a9101e0b02df94051e48d3140da115b8ea9f8a31f37 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.7" +"@babel/plugin-transform-exponentiation-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-remap-async-to-generator": "npm:^7.24.7" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6b5e33ae66dce0afce9b06d8dace6fa052528e60f7622aa6cfd3e71bd372ca5079d426e78336ca564bc0d5f37acbcda1b21f4fe656fcb642f1a93a697ab39742 + checksum: 10c0/4572d955a50dbc9a652a19431b4bb822cb479ee6045f4e6df72659c499c13036da0a2adf650b07ca995f2781e80aa868943bea1e7bff1de3169ec3f0a73a902e languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-remap-async-to-generator": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/83c82e243898875af8457972a26ab29baf8a2078768ee9f35141eb3edff0f84b165582a2ff73e90a9e08f5922bf813dbf15a85c1213654385198f4591c0dc45d + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/113e86de4612ae91773ff5cb6b980f01e1da7e26ae6f6012127415d7ae144e74987bc23feb97f63ba4bc699331490ddea36eac004d76a20d5369e4cc6a7f61cd + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.7" +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dcbc5e385c0ca5fb5736b1c720c90755cffe9f91d8c854f82e61e59217dd3f6c91b3633eeee4b55a89d3f59e5275d0f5b0b1b1363d4fa70c49c468b55aa87700 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.24.1, @babel/plugin-transform-class-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" +"@babel/plugin-transform-json-strings@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-json-strings@npm:7.28.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/75018a466c7ede3d2397e158891c224ba7fca72864506ce067ddbc02fc65191d44da4d6379c996d0c7f09019e26b5c3f5f1d3a639cd98366519723886f0689d0 + checksum: 10c0/ab1091798c58e6c0bb8a864ee2b727c400924592c6ed69797a26b4c205f850a935de77ad516570be0419c279a3d9f7740c2aa448762eb8364ea77a6a357a9653 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/b0ade39a3d09dce886f79dbd5907c3d99b48167eddb6b9bbde24a0598129654d7017e611c20494cdbea48b07ac14397cd97ea34e3754bbb2abae4e698128eccb + "@babel/core": ^7.0.0-0 + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-classes@npm:7.24.7" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - globals: "npm:^11.1.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e51dba7ce8b770d1eee929e098d5a3be3efc3e8b941e22dda7d0097dc4e7be5feabd2da7b707ac06fcac5661b31223c541941dec08ce76c1faa55544d87d06ec + checksum: 10c0/4632a35453d2131f0be466681d0a33e3db44d868ff51ec46cd87e0ebd1e47c6a39b894f7d1c9b06f931addf6efa9d30e60c4cdedeb4f69d426f683e11f8490cf languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/25636dbc1f605c0b8bc60aa58628a916b689473d11551c9864a855142e36742fe62d4a70400ba3b74902338e77fb3d940376c0a0ba154b6b7ec5367175233b49 + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.7" +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/929f07a807fb62230bfbf881cfcedf187ac5daf2f1b01da94a75c7a0f6f72400268cf4bcfee534479e43260af8193e42c31ee03c8b0278ba77d0036ed6709c27 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1, @babel/plugin-transform-modules-commonjs@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/793f14c9494972d294b7e7b97b747f47874b6d57d7804d3443c701becf5db192c9311be6a1835c07664486df1f5c60d33196c36fb7e11a53015e476b4c145b33 + checksum: 10c0/7c45992797c6150644c8552feff4a016ba7bd6d59ff2b039ed969a9c5b20a6804cd9d21db5045fc8cca8ca7f08262497e354e93f8f2be6a1cdf3fbfa8c31a9b6 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.29.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/75ff7ec1117ac500e77bf20a144411d39c0fdd038f108eec061724123ce6d1bb8d5bd27968e466573ee70014f8be0043361cdb0ef388f8a182d1d97ad67e51b9 + checksum: 10c0/44ea502f2c990398b7d9adc5b44d9e1810a0a5e86eebc05c92d039458f0b3994fe243efa9353b90f8a648d8a91b79845fb353d8679d7324cc9de0162d732771d languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eeda48372efd0a5103cb22dadb13563c975bce18ae85daafbb47d57bb9665d187da9d4fe8d07ac0a6e1288afcfcb73e4e5618bf75ff63fddf9736bfbf225203b + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.0" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ace3e11c94041b88848552ba8feb39ae4d6cad3696d439ff51445bd2882d8b8775d85a26c2c0edb9b5e38c9e6013cc11b0dea89ec8f93c7d9d7ee95e3645078c + "@babel/core": ^7.0.0 + checksum: 10c0/1904db22da7f2bc3e380cd2c0786bda330ee1b1b3efa3f5203d980708c4bfeb5daa4dff48d01692193040bcc5f275dbdc0c2eadc8b1eb1b6dfe363564ad6e898 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.1, @babel/plugin-transform-export-namespace-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4e144d7f1c57bc63b4899dbbbdfed0880f2daa75ea9c7251c7997f106e4b390dc362175ab7830f11358cb21f6b972ca10a43a2e56cd789065f7606b082674c0c + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-for-of@npm:7.24.7" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/77629b1173e55d07416f05ba7353caa09d2c2149da2ca26721ab812209b63689d1be45116b68eadc011c49ced59daf5320835b15245eb7ae93ae0c5e8277cfc0 + checksum: 10c0/6607f2201d66ccb688f0b1db09475ef995837df19f14705da41f693b669f834c206147a854864ab107913d7b4f4748878b0cd9fe9ca8bfd1bee0c206fc027b49 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-function-name@npm:7.24.7" +"@babel/plugin-transform-numeric-separator@npm:^7.27.1, @babel/plugin-transform-numeric-separator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6" dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3e9642428d6952851850d89ea9307d55946528d18973784d0e2f04a651b23bd9924dd8a2641c824b483bd4ab1223bab1d2f6a1106a939998f7ced512cb60ac5b + checksum: 10c0/191097d8d2753cdd16d1acca65a945d1645ab20b65655c2f5b030a9e38967a52e093dcb21ebf391e342222705c6ffe5dea15dafd6257f7b51b77fb64a830b637 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" +"@babel/plugin-transform-object-rest-spread@npm:^7.28.4, @babel/plugin-transform-object-rest-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/17c72cd5bf3e90e722aabd333559275f3309e3fa0b9cea8c2944ab83ae01502c71a2be05da5101edc02b3fc8df15a8dbb9b861cbfcc8a52bf5e797cf01d3a40a + checksum: 10c0/f55334352d4fcde385f2e8a58836687e71ff668c9b6e4c34d52575bf2789cdde92d9d3116edba13647ac0bc3e51fb2a6d1e8fb822dce7e8123334b82600bc4c3 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-literals@npm:7.24.7" +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9f3f6f3831929cd2a977748c07addf9944d5cccb50bd3a24a58beb54f91f00d6cacd3d7831d13ffe1ad6f8aba0aefd7bca5aec65d63b77f39c62ad1f2d484a3e + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" +"@babel/plugin-transform-optional-catch-binding@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dbe882eb9053931f2ab332c50fc7c2a10ef507d6421bd9831adbb4cb7c9f8e1e5fbac4fbd2e007f6a1bf1df1843547559434012f118084dc0bf42cda3b106272 + checksum: 10c0/36e8face000ee65e478a55febf687ce9be7513ad498c60dfe585851555565e0c28e7cb891b3c59709318539ce46f7697d5f42130eb18f385cd47e47cfa297446 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" +"@babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e789ae359bdf2d20e90bedef18dfdbd965c9ebae1cee398474a0c349590fda7c8b874e1a2ceee62e47e5e6ec1730e76b0f24e502164357571854271fc12cc684 + checksum: 10c0/c159cc74115c2266be21791f192dd079e2aeb65c8731157e53b80fcefa41e8e28ad370021d4dfbdb31f25e5afa0322669a8eb2d032cd96e65ac37e020324c763 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" +"@babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6df7de7fce34117ca4b2fa07949b12274c03668cbfe21481c4037b6300796d50ae40f4f170527b61b70a67f26db906747797e30dbd0d9809a441b6e220b5728f + checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7" +"@babel/plugin-transform-private-methods@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9442292b3daf6a5076cdc3c4c32bf423bda824ccaeb0dd0dc8b3effaa1fecfcb0130ae6e647fef12a5d5ff25bcc99a0d6bfc6d24a7525345e1bcf46fcdf81752 + checksum: 10c0/fb504e2bfdcf3f734d2a90ab20d61427c58385f57f950d3de6ff4e6d12dd4aa7d552147312d218367e129b7920dccfc3230ba554de861986cda38921bad84067 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.7" +"@babel/plugin-transform-private-property-in-object@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6" dependencies: - "@babel/helper-hoist-variables": "npm:^7.24.7" - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e2a795e0a6baafe26f4a74010622212ddd873170742d673f450e0097f8d984f6e6a95eb8ce41b05071ee9790c4be088b33801aaab3f78ee202c567634e52a331 + checksum: 10c0/0f6bbc6ec3f93b556d3de7d56bf49335255fc4c43488e51a5025d6ee0286183fd3cf950ffcac1bbeed8a45777f860a49996455c8d3b4a04c3b1a5f28e697fe31 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7791d290121db210e4338b94b4a069a1a79e4c7a8d7638d8159a97b281851bbed3048dac87a4ae718ad963005e6c14a5d28e6db2eeb2b04e031cee92fb312f85 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" +"@babel/plugin-transform-react-display-name@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-react-display-name@npm:7.28.0" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/41a0b0f2d0886318237440aa3b489f6d0305361d8671121777d9ff89f9f6de9d0c02ce93625049061426c8994064ef64deae8b819d1b14c00374a6a2336fb5d9 + "@babel/core": ^7.0.0-0 + checksum: 10c0/f5f86d2ad92be3e962158f344c2e385e23e2dfae7c8c7dc32138fb2cc46f63f5e50386c9f6c6fc16dbf1792c7bb650ad92c18203d0c2c0bd875bc28b0b80ef30 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-new-target@npm:7.24.7" +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2540808a35e1a978e537334c43dab439cf24c93e7beb213a2e71902f6710e60e0184316643790c0a6644e7a8021e52f7ab8165e6b3e2d6651be07bdf517b67df + checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" +"@babel/plugin-transform-react-jsx@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-transform-react-jsx@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-jsx": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7243c8ff734ed5ef759dd8768773c4b443c12e792727e759a1aec2c7fa2bfdd24f1ecb42e292a7b3d8bd3d7f7b861cf256a8eb4ba144fc9cc463892c303083d9 + checksum: 10c0/cc75b9bb3997751df6cf7e86afe1b3fa33130b5031a412f6f12cc5faec083650fe852de0af5ec8f88d3588cc3428a3f514d3bc1f423d26f8b014cc5dff9f15a7 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.1, @babel/plugin-transform-numeric-separator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e18e09ca5a6342645d00ede477731aa6e8714ff357efc9d7cda5934f1703b3b6fb7d3298dce3ce3ba53e9ff1158eab8f1aadc68874cc21a6099d33a1ca457789 + checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.1, @babel/plugin-transform-object-rest-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" +"@babel/plugin-transform-regenerator@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.29.0" dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9ad64bc003f583030f9da50614b485852f8edac93f8faf5d1cd855201a4852f37c5255ae4daf70dd4375bdd4874e16e39b91f680d4668ec219ba05441ce286eb + checksum: 10c0/86c7db9b97f85ee47c0fae0528802cbc06e5775e61580ee905335c16bb971270086764a3859873d9adcd7d0f913a5b93eb0dc271aec8fb9e93e090e4ac95e29e languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-super@npm:7.24.7" +"@babel/plugin-transform-regexp-modifiers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/770cebb4b4e1872c216b17069db9a13b87dfee747d359dc56d9fcdd66e7544f92dc6ab1861a4e7e0528196aaff2444e4f17dc84efd8eaf162d542b4ba0943869 + "@babel/core": ^7.0.0 + checksum: 10c0/97e36b086800f71694fa406abc00192e3833662f2bdd5f51c018bd0c95eef247c4ae187417c207d03a9c5374342eac0bb65a39112c431a9b23b09b1eda1562e5 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1e2f10a018f7d03b3bde6c0b70d063df8d5dd5209861d4467726cf834f5e3d354e2276079dc226aa8e6ece35f5c9b264d64b8229a8bb232829c01e561bcfb07a + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.7" +"@babel/plugin-transform-runtime@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/plugin-transform-runtime@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" + semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b9e3649b299e103b0d1767bbdba56574d065ff776e5350403b7bfd4e3982743c0cdb373d33bdbf94fa3c322d155e45d0aad946acf0aa741b870aed22dfec8b8e + checksum: 10c0/05a451cb96a1e6ccfdd1a123773208615cd14cb156aa0aa99a448d86e4326b36b9ab2be8267037bd27644a5918dac88378b791d020b3c08a4fd8f3415621a006 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-parameters@npm:7.24.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/53bf190d6926771545d5184f1f5f3f5144d0f04f170799ad46a43f683a01fab8d5fe4d2196cf246774530990c31fe1f2b9f0def39f0a5ddbb2340b924f5edf01 + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" +"@babel/plugin-transform-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-spread@npm:7.28.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5b7bf923b738fbe3ad6c33b260e0a7451be288edfe4ef516303fa787a1870cd87533bfbf61abb779c22ed003c2fc484dec2436fe75a48756f686c0241173d364 + checksum: 10c0/bcac50e558d6f0c501cbce19ec197af558cef51fe3b3a6eba27276e323e57a5be28109b4264a5425ac12a67bf95d6af9c2a42b05e79c522ce913fb9529259d76 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c6fa7defb90b1b0ed46f24ff94ff2e77f44c1f478d1090e81712f33cf992dda5ba347016f030082a2f770138bac6f4a9c2c1565e9f767a125901c77dd9c239ba + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/52564b58f3d111dc02d241d5892a4b01512e98dfdf6ef11b0ed62f8b11b0acacccef0fc229b44114fe8d1a57a8b70780b11bdd18b807d3754a781a07d8f57433 + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c14a07a9e75723c96f1a0a306b8a8e899ff1c6a0cc3d62bcda79bb1b54e4319127b258651c513a1a47da152cdc22e16525525a30ae5933a2980c7036fd0b4d24 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.7" +"@babel/plugin-transform-typescript@npm:^7.28.5": + version: 7.28.6 + resolution: "@babel/plugin-transform-typescript@npm:7.28.6" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fce647db50f90a5291681f0f97865d9dc76981262dff71d6d0332e724b85343de5860c26f9e9a79e448d61e1d70916b07ce91e8c7f2b80dceb4b16aee41794d8 + checksum: 10c0/72dbfd3e5f71c4e30445e610758ec0eef65347fafd72bd46f4903733df0d537663a72a81c1626f213a0feab7afc68ba83f1648ffece888dd0868115c9cb748f6 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx@npm:7.24.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5c46d2c1c06a30e6bde084839df9cc689bf9c9cb0292105d61c225ca731f64247990724caee7dfc7f817dc964c062e8319e7f05394209590c476b65d75373435 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fae517d293d9c93b7b920458c3e4b91cb0400513889af41ba184a5f3acc8bfef27242cc262741bb8f87870df376f1733a0d0f52b966d342e2aaaf5607af8f73d + checksum: 10c0/b25f8cde643f4f47e0fa4f7b5c552e2dfbb6ad0ce07cf40f7e8ae40daa9855ad855d76d4d6d010153b74e48c8794685955c92ca637c0da152ce5f0fa9e7c90fa languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - regenerator-transform: "npm:^0.15.2" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d2dc2c788fdae9d97217e70d46ba8ca9db0035c398dc3e161552b0c437113719a75c04f201f9c91ddc8d28a1da60d0b0853f616dead98a396abb9c845c44892b + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2229de2768615e7f5dc0bbc55bc121b5678fd6d2febd46c74a58e42bb894d74cd5955c805880f4e02d0e1cf94f6886270eda7fafc1be9305a1ec3b9fd1d063f5 + "@babel/core": ^7.0.0 + checksum: 10c0/c03c8818736b138db73d1f7a96fbfa22d1994639164d743f0f00e6383d3b7b3144d333de960ff4afad0bddd0baaac257295e3316969eba995b1b6a1b4dec933e languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:^7.24.3": - version: 7.24.7 - resolution: "@babel/plugin-transform-runtime@npm:7.24.7" +"@babel/preset-env@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/preset-env@npm:7.29.0" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.1" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" + "@babel/compat-data": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.28.5" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.6" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.28.6" + "@babel/plugin-syntax-import-attributes": "npm:^7.28.6" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.29.0" + "@babel/plugin-transform-async-to-generator": "npm:^7.28.6" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.28.6" + "@babel/plugin-transform-class-properties": "npm:^7.28.6" + "@babel/plugin-transform-class-static-block": "npm:^7.28.6" + "@babel/plugin-transform-classes": "npm:^7.28.6" + "@babel/plugin-transform-computed-properties": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-dotall-regex": "npm:^7.28.6" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.29.0" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.6" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.6" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.28.6" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.6" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.28.6" + "@babel/plugin-transform-modules-systemjs": "npm:^7.29.0" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.29.0" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.28.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.28.6" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.6" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.28.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.28.6" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/plugin-transform-private-methods": "npm:^7.28.6" + "@babel/plugin-transform-private-property-in-object": "npm:^7.28.6" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.29.0" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.28.6" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.28.6" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.28.6" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.28.6" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.15" + babel-plugin-polyfill-corejs3: "npm:^0.14.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.6" + core-js-compat: "npm:^3.48.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a33f5095872bbba00b8ee553dfe6941477e69a017a2e65e9dd86e80dab5c627635093b796eb1eb22aaaf2f874704f63ad1d99b952b83b59ef6b368ae04e5bb41 + checksum: 10c0/08737e333a538703ba20e9e93b5bfbc01abbb9d3b2519b5b62ad05d3b6b92d79445b1dac91229b8cfcfb0b681b22b7c6fa88d7c1cc15df1690a23b21287f55b6 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.7" +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/41b155bdbb3be66618358488bf7731b3b2e8fff2de3dbfd541847720a9debfcec14db06a117abedd03c9cd786db20a79e2a86509a4f19513f6e1b610520905cf + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-spread@npm:7.24.7" +"@babel/preset-react@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/preset-react@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-react-display-name": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/facba1553035f76b0d2930d4ada89a8cd0f45b79579afd35baefbfaf12e3b86096995f4b0c402cf9ee23b3f2ea0a4460c3b1ec0c192d340962c948bb223d4e66 + checksum: 10c0/0d785e708ff301f4102bd4738b77e550e32f981e54dfd3de1191b4d68306bbb934d2d465fc78a6bc22fff0a6b3ce3195a53984f52755c4349e7264c7e01e8c7c languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" +"@babel/preset-typescript@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/preset-typescript@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5a74ed2ed0a3ab51c3d15fcaf09d9e2fe915823535c7a4d7b019813177d559b69677090e189ec3d5d08b619483eb5ad371fbcfbbff5ace2a76ba33ee566a1109 + checksum: 10c0/b3d55548854c105085dd80f638147aa8295bc186d70492289242d6c857cb03a6c61ec15186440ea10ed4a71cdde7d495f5eb3feda46273f36b0ac926e8409629 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3630f966257bcace122f04d3157416a09d40768c44c3a800855da81146b009187daa21859d1c3b7d13f4e19e8888e60613964b175b2275d451200fb6d8d6cfe6 +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.7" +"@babel/runtime@npm:^7.13.10": + version: 7.27.0 + resolution: "@babel/runtime@npm:7.27.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5649e7260a138681e68b296ab5931e2b1f132f287d6b4131d49b24f9dc20d62902b7e9d63c4d2decd5683b41df35ef4b9b03f58c7f9f65e4c25a6d8bbf04e9e9 + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/35091ea9de48bd7fd26fb177693d64f4d195eb58ab2b142b893b7f3fa0f1d7c677604d36499ae0621a3703f35ba0c6a8f6c572cc8f7dc0317213841e493cf663 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typescript@npm:7.24.7" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-typescript": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e8dacdc153a4c4599014b66eb01b94e3dc933d58d4f0cc3039c1a8f432e77b9df14f34a61964e014b975bf466f3fefd8c4768b3e887d3da1be9dc942799bdfdf +"@babel/runtime@npm:^7.28.4": + version: 7.28.6 + resolution: "@babel/runtime@npm:7.28.6" + checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": +"@babel/template@npm:^7.24.7": version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" + resolution: "@babel/template@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8b18e2e66af33471a6971289492beff5c240e56727331db1d34c4338a6a368a82a7ed6d57ec911001b6d65643aed76531e1e7cac93265fb3fb2717f54d845e69 + "@babel/code-frame": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" +"@babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bc57656eb94584d1b74a385d378818ac2b3fca642e3f649fead8da5fb3f9de22f8461185936915dfb33d5a9104e62e7a47828331248b09d28bb2d59e9276de3e + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7": +"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.24.7": version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" + resolution: "@babel/traverse@npm:7.24.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/83f72a345b751566b601dc4d07e9f2c8f1bc0e0c6f7abb56ceb3095b3c9d304de73f85f2f477a09f8cc7edd5e65afd0ff9e376cdbcbea33bc0c28f3705b38fd9 + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.7" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-function-name": "npm:^7.24.7" + "@babel/helper-hoist-variables": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.7" +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/traverse@npm:7.29.0" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/7457c0ee8e80a80cb6fdc1fe54ab115b52815627616ce9151be8ef292fc99d04a910ec24f11382b4f124b89374264396892b086886bd2a9c2317904d87c9b21b + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + debug: "npm:^4.3.1" + checksum: 10c0/f63ef6e58d02a9fbf3c0e2e5f1c877da3e0bc57f91a19d2223d53e356a76859cbaf51171c9211c71816d94a0e69efa2732fd27ffc0e1bbc84b636e60932333eb languageName: node linkType: hard -"@babel/preset-env@npm:^7.24.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.24.7 - resolution: "@babel/preset-env@npm:7.24.7" + resolution: "@babel/types@npm:7.24.7" dependencies: - "@babel/compat-data": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.24.7" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.7" - "@babel/plugin-transform-block-scoping": "npm:^7.24.7" - "@babel/plugin-transform-class-properties": "npm:^7.24.7" - "@babel/plugin-transform-class-static-block": "npm:^7.24.7" - "@babel/plugin-transform-classes": "npm:^7.24.7" - "@babel/plugin-transform-computed-properties": "npm:^7.24.7" - "@babel/plugin-transform-destructuring": "npm:^7.24.7" - "@babel/plugin-transform-dotall-regex": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.24.7" - "@babel/plugin-transform-dynamic-import": "npm:^7.24.7" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.7" - "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-function-name": "npm:^7.24.7" - "@babel/plugin-transform-json-strings": "npm:^7.24.7" - "@babel/plugin-transform-literals": "npm:^7.24.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" - "@babel/plugin-transform-member-expression-literals": "npm:^7.24.7" - "@babel/plugin-transform-modules-amd": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-modules-systemjs": "npm:^7.24.7" - "@babel/plugin-transform-modules-umd": "npm:^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" - "@babel/plugin-transform-new-target": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" - "@babel/plugin-transform-object-super": "npm:^7.24.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.7" - "@babel/plugin-transform-parameters": "npm:^7.24.7" - "@babel/plugin-transform-private-methods": "npm:^7.24.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" - "@babel/plugin-transform-property-literals": "npm:^7.24.7" - "@babel/plugin-transform-regenerator": "npm:^7.24.7" - "@babel/plugin-transform-reserved-words": "npm:^7.24.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" - "@babel/plugin-transform-spread": "npm:^7.24.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" - "@babel/plugin-transform-template-literals": "npm:^7.24.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.24.7" - "@babel/plugin-transform-unicode-escapes": "npm:^7.24.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.24.7" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.4" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.31.0" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c6714346f3ccc1271eaa90051c75b8bb57b20ef57408ab68740e2f3552693ae0ee5a4bcce3a00211d40e4947af1f7b8ab422066b953f0095461937fb72d11274 + "@babel/helper-string-parser": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 languageName: node linkType: hard -"@babel/preset-modules@npm:0.1.6-no-external-plugins": - version: 0.1.6-no-external-plugins - resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" +"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@babel/types": "npm:^7.4.4" - esutils: "npm:^2.0.2" - peerDependencies: - "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f languageName: node linkType: hard -"@babel/preset-react@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/preset-react@npm:7.24.7" +"@biomejs/biome@npm:^2.4.6": + version: 2.4.6 + resolution: "@biomejs/biome@npm:2.4.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-react-display-name": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx-development": "npm:^7.24.7" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9658b685b25cedaadd0b65c4e663fbc7f57394b5036ddb4c99b1a75b0711fb83292c1c625d605c05b73413fc7a6dc20e532627f6a39b6dc8d4e00415479b054c + "@biomejs/cli-darwin-arm64": "npm:2.4.6" + "@biomejs/cli-darwin-x64": "npm:2.4.6" + "@biomejs/cli-linux-arm64": "npm:2.4.6" + "@biomejs/cli-linux-arm64-musl": "npm:2.4.6" + "@biomejs/cli-linux-x64": "npm:2.4.6" + "@biomejs/cli-linux-x64-musl": "npm:2.4.6" + "@biomejs/cli-win32-arm64": "npm:2.4.6" + "@biomejs/cli-win32-x64": "npm:2.4.6" + dependenciesMeta: + "@biomejs/cli-darwin-arm64": + optional: true + "@biomejs/cli-darwin-x64": + optional: true + "@biomejs/cli-linux-arm64": + optional: true + "@biomejs/cli-linux-arm64-musl": + optional: true + "@biomejs/cli-linux-x64": + optional: true + "@biomejs/cli-linux-x64-musl": + optional: true + "@biomejs/cli-win32-arm64": + optional: true + "@biomejs/cli-win32-x64": + optional: true + bin: + biome: bin/biome + checksum: 10c0/3c0aea8069fa4bebde97ff4ef394f0383d2a3a1393a99e0cdea6c1769805cc18c5ea2c02e88779a63327d432c5858522dceae32f6a359d690f5f71f60ea4ca02 languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-typescript": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/986bc0978eedb4da33aba8e1e13a3426dd1829515313b7e8f4ba5d8c18aff1663b468939d471814e7acf4045d326ae6cff37239878d169ac3fe53a8fde71f8ee +"@biomejs/cli-darwin-arm64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-darwin-arm64@npm:2.4.6" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@babel/regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "@babel/regjsgen@npm:0.8.0" - checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a +"@biomejs/cli-darwin-x64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-darwin-x64@npm:2.4.6" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.24.1, @babel/runtime@npm:^7.24.4, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": - version: 7.27.0 - resolution: "@babel/runtime@npm:7.27.0" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/35091ea9de48bd7fd26fb177693d64f4d195eb58ab2b142b893b7f3fa0f1d7c677604d36499ae0621a3703f35ba0c6a8f6c572cc8f7dc0317213841e493cf663 +"@biomejs/cli-linux-arm64-musl@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-arm64-musl@npm:2.4.6" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@babel/template@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/template@npm:7.24.7" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 +"@biomejs/cli-linux-arm64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-arm64@npm:2.4.6" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.24.1, @babel/traverse@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/traverse@npm:7.24.7" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-hoist-variables": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab +"@biomejs/cli-linux-x64-musl@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-x64-musl@npm:2.4.6" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.24.7 - resolution: "@babel/types@npm:7.24.7" - dependencies: - "@babel/helper-string-parser": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 +"@biomejs/cli-linux-x64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-x64@npm:2.4.6" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@base2/pretty-print-object@npm:1.0.1": - version: 1.0.1 - resolution: "@base2/pretty-print-object@npm:1.0.1" - checksum: 10c0/98f77ea185a30c854897feb2a68fe51be8451a1a0b531bac61a5dd67033926a0ba0c9be6e0f819b8cb72ca349b3e7648bf81c12fd21df0b45219c75a3a75784b +"@biomejs/cli-win32-arm64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-win32-arm64@npm:2.4.6" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@chromatic-com/storybook@npm:^1.5.0": - version: 1.5.0 - resolution: "@chromatic-com/storybook@npm:1.5.0" - dependencies: - chromatic: "npm:^11.4.0" - filesize: "npm:^10.0.12" - jsonfile: "npm:^6.1.0" - react-confetti: "npm:^6.1.0" - strip-ansi: "npm:^7.1.0" - checksum: 10c0/e1656e2f73756db0fc1e5dbc5367485f24d5e9d0643ff5259fe32fb42441b3c250250b208cf58cf1aa0a55334e59146b0ff9b8161c2838bd6ee2a8f36ccada58 +"@biomejs/cli-win32-x64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-win32-x64@npm:2.4.6" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1765,120 +1903,6 @@ __metadata: languageName: node linkType: hard -"@contentlayer/cli@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/cli@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - clipanion: "npm:^3.2.1" - typanion: "npm:^3.12.1" - checksum: 10c0/040c738cb19b3d3b410d1880cfa639fe0089d76443421633759761f3c6153f462f56de262b9257a3c714a1d27a31f961dd4b4d5b83a0d3147e037e32868a802b - languageName: node - linkType: hard - -"@contentlayer/client@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/client@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - checksum: 10c0/725b054a54e2fedae88d51ca276097abd753d422d120834be94d4eda23955ddd4daa0d8db840bbb4c974f6470fbe40f842bf47c2167103b0105440f1c561a92a - languageName: node - linkType: hard - -"@contentlayer/core@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/core@npm:0.3.4" - dependencies: - "@contentlayer/utils": "npm:0.3.4" - camel-case: "npm:^4.1.2" - comment-json: "npm:^4.2.3" - esbuild: "npm:0.17.x || 0.18.x" - gray-matter: "npm:^4.0.3" - mdx-bundler: "npm:^9.2.1" - rehype-stringify: "npm:^9.0.3" - remark-frontmatter: "npm:^4.0.1" - remark-parse: "npm:^10.0.2" - remark-rehype: "npm:^10.1.0" - source-map-support: "npm:^0.5.21" - type-fest: "npm:^3.12.0" - unified: "npm:^10.1.2" - peerDependencies: - esbuild: 0.17.x || 0.18.x - markdown-wasm: 1.x - peerDependenciesMeta: - esbuild: - optional: true - markdown-wasm: - optional: true - checksum: 10c0/47ac65f9fe18f30221d33b0168cab8a2ca629e017ffa4f9c1ec97eacc15fce11c2858ee79938be95faf130f57f13792f91533c8660ce8f0686e57729626daffb - languageName: node - linkType: hard - -"@contentlayer/source-files@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/source-files@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - chokidar: "npm:^3.5.3" - fast-glob: "npm:^3.2.12" - gray-matter: "npm:^4.0.3" - imagescript: "npm:^1.2.16" - micromatch: "npm:^4.0.5" - ts-pattern: "npm:^4.3.0" - unified: "npm:^10.1.2" - yaml: "npm:^2.3.1" - zod: "npm:^3.21.4" - checksum: 10c0/da7a17a0e51e30d35cee9bf30c728cc357b3b4fe35e5c533852d90446541052659639868897ade2cd546083b434d4c59e1c352ae9c33dc4d94d2ccc3eca40228 - languageName: node - linkType: hard - -"@contentlayer/source-remote-files@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/source-remote-files@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/source-files": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - checksum: 10c0/433f0bee7201e66cbeb7b6ea555618ff0496d5253b22f974423ee788b628c5cd643a3b9e682361cd794389f87e73b74237b220c7a072c6042c4a6c0b760f8137 - languageName: node - linkType: hard - -"@contentlayer/utils@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/utils@npm:0.3.4" - dependencies: - "@effect-ts/core": "npm:^0.60.5" - "@effect-ts/otel": "npm:^0.15.1" - "@effect-ts/otel-exporter-trace-otlp-grpc": "npm:^0.15.1" - "@effect-ts/otel-sdk-trace-node": "npm:^0.15.1" - "@js-temporal/polyfill": "npm:^0.4.4" - "@opentelemetry/api": "npm:^1.4.1" - "@opentelemetry/core": "npm:^1.13.0" - "@opentelemetry/exporter-trace-otlp-grpc": "npm:^0.39.1" - "@opentelemetry/resources": "npm:^1.13.0" - "@opentelemetry/sdk-trace-base": "npm:^1.13.0" - "@opentelemetry/sdk-trace-node": "npm:^1.13.0" - "@opentelemetry/semantic-conventions": "npm:^1.13.0" - chokidar: "npm:^3.5.3" - hash-wasm: "npm:^4.9.0" - inflection: "npm:^2.0.1" - memfs: "npm:^3.5.1" - oo-ascii-tree: "npm:^1.84.0" - ts-pattern: "npm:^4.3.0" - type-fest: "npm:^3.12.0" - peerDependenciesMeta: - "@effect-ts/core": - optional: true - "@effect-ts/otel": - optional: true - "@effect-ts/otel-node": - optional: true - checksum: 10c0/30a24ccce9c0baeb37b12320f44d3c44c9801dd83f1a960bca54854e97ac1d1ef075e548b892c91c98ac1bd3a4d8a84b3046403046b2e4728c877f984b3d1ece - languageName: node - linkType: hard - "@cspotcode/source-map-support@npm:0.8.1": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -1888,79 +1912,31 @@ __metadata: languageName: node linkType: hard -"@effect-ts/core@npm:^0.60.5": - version: 0.60.5 - resolution: "@effect-ts/core@npm:0.60.5" - dependencies: - "@effect-ts/system": "npm:^0.57.5" - checksum: 10c0/8adec447e336b317c64d9410e47690f53267cee4a06a049f41b367bbdbe5e738508c43fed766d1500210d0b0ed256b60eb1ba815305582a7fee8183f885f8cc4 - languageName: node - linkType: hard - -"@effect-ts/otel-exporter-trace-otlp-grpc@npm:^0.15.1": - version: 0.15.1 - resolution: "@effect-ts/otel-exporter-trace-otlp-grpc@npm:0.15.1" - dependencies: - "@effect-ts/otel": "npm:^0.15.1" - peerDependencies: - "@effect-ts/core": ^0.60.2 - "@opentelemetry/api": ^1.4.0 - "@opentelemetry/core": ^1.13.0 - "@opentelemetry/exporter-trace-otlp-grpc": ^0.39.0 - "@opentelemetry/sdk-trace-base": ^1.13.0 - checksum: 10c0/c780e2855acf71b8a459f6d0a70183671887a5751a3510904150aa81549239be3f33cf70139a362e9c73fff08c7ef0e5036ce6401e428af95bd1fd1086eae1d3 - languageName: node - linkType: hard - -"@effect-ts/otel-sdk-trace-node@npm:^0.15.1": - version: 0.15.1 - resolution: "@effect-ts/otel-sdk-trace-node@npm:0.15.1" +"@emnapi/core@npm:^1.7.1, @emnapi/core@npm:^1.8.1": + version: 1.8.1 + resolution: "@emnapi/core@npm:1.8.1" dependencies: - "@effect-ts/otel": "npm:^0.15.1" - peerDependencies: - "@effect-ts/core": ^0.60.2 - "@opentelemetry/api": ^1.4.0 - "@opentelemetry/core": ^1.13.0 - "@opentelemetry/sdk-trace-base": ^1.13.0 - "@opentelemetry/sdk-trace-node": ^1.13.0 - checksum: 10c0/70f45edef48e2082c57eaad2267684bcb9b0b830971c62385c7c488747b60d9182b07a346dda8f429b46056eb94cf1918c36a7bfb1bf8e2544c46c7d9187bf86 - languageName: node - linkType: hard - -"@effect-ts/otel@npm:^0.15.1": - version: 0.15.1 - resolution: "@effect-ts/otel@npm:0.15.1" - peerDependencies: - "@effect-ts/core": ^0.60.2 - "@opentelemetry/api": ^1.4.0 - "@opentelemetry/core": ^1.13.0 - "@opentelemetry/sdk-trace-base": ^1.13.0 - checksum: 10c0/e9bc52e9031b5734f7b8d750cec2bc26028e47a55601dd5f48c498d72174f77d6e7114016c273692eb338e775c755ad677e5478230ccd06e0a9f5fc3622f0d40 - languageName: node - linkType: hard - -"@effect-ts/system@npm:^0.57.5": - version: 0.57.5 - resolution: "@effect-ts/system@npm:0.57.5" - checksum: 10c0/406ce8f7004d7b7b40cf1e1bdeba2986cc926bc7c9c7574c568b11f1cc1919bc73f30b588cf083d8a91ca45b6ba9543e485bd7c7b571072b3f810ffa8cb6ef91 + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10c0/2c242f4b49779bac403e1cbcc98edacdb1c8ad36562408ba9a20663824669e930bc8493be46a2522d9dc946b8d96cd7073970bae914928c7671b5221c85b432e languageName: node linkType: hard -"@emnapi/runtime@npm:^1.1.1": - version: 1.2.0 - resolution: "@emnapi/runtime@npm:1.2.0" +"@emnapi/runtime@npm:^1.2.0, @emnapi/runtime@npm:^1.7.0, @emnapi/runtime@npm:^1.7.1, @emnapi/runtime@npm:^1.8.1": + version: 1.8.1 + resolution: "@emnapi/runtime@npm:1.8.1" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57 + checksum: 10c0/f4929d75e37aafb24da77d2f58816761fe3f826aad2e37fa6d4421dac9060cbd5098eea1ac3c9ecc4526b89deb58153852fa432f87021dc57863f2ff726d713f languageName: node linkType: hard -"@emnapi/runtime@npm:^1.2.0, @emnapi/runtime@npm:^1.7.0": - version: 1.8.1 - resolution: "@emnapi/runtime@npm:1.8.1" +"@emnapi/wasi-threads@npm:1.1.0, @emnapi/wasi-threads@npm:^1.1.0": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/f4929d75e37aafb24da77d2f58816761fe3f826aad2e37fa6d4421dac9060cbd5098eea1ac3c9ecc4526b89deb58153852fa432f87021dc57863f2ff726d713f + checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 languageName: node linkType: hard @@ -1980,15 +1956,6 @@ __metadata: languageName: node linkType: hard -"@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.1": - version: 1.0.1 - resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.0.1" - peerDependencies: - react: ">=16.8.0" - checksum: 10c0/a15b2167940e3a908160687b73fc4fcd81e59ab45136b6967f02c7c419d9a149acd22a416b325c389642d4f1c3d33cf4196cad6b618128b55b7c74f6807a240b - languageName: node - linkType: hard - "@esbuild-plugins/node-globals-polyfill@npm:0.2.3": version: 0.2.3 resolution: "@esbuild-plugins/node-globals-polyfill@npm:0.2.3" @@ -2010,30 +1977,16 @@ __metadata: languageName: node linkType: hard -"@esbuild-plugins/node-resolve@npm:^0.1.4": - version: 0.1.4 - resolution: "@esbuild-plugins/node-resolve@npm:0.1.4" - dependencies: - "@types/resolve": "npm:^1.17.1" - debug: "npm:^4.3.1" - escape-string-regexp: "npm:^4.0.0" - resolve: "npm:^1.19.0" - peerDependencies: - esbuild: "*" - checksum: 10c0/724ea83dc8f23402dabad1ebe3b54d4df23f4f937041581af3ecb43fee7918a9786d329de58e35c4292d102371ffe3d13bac92d1ba8545f6a8da4ba68a91789f - languageName: node - linkType: hard - -"@esbuild/aix-ppc64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/aix-ppc64@npm:0.20.2" +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/aix-ppc64@npm:0.25.12" +"@esbuild/aix-ppc64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/aix-ppc64@npm:0.27.3" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2045,23 +1998,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm64@npm:0.18.20" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/android-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm64@npm:0.20.2" +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-arm64@npm:0.25.12" +"@esbuild/android-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-arm64@npm:0.27.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2073,23 +2019,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm@npm:0.18.20" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@esbuild/android-arm@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm@npm:0.20.2" +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-arm@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-arm@npm:0.25.12" +"@esbuild/android-arm@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-arm@npm:0.27.3" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2101,23 +2040,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-x64@npm:0.18.20" +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/android-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-x64@npm:0.20.2" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/android-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-x64@npm:0.25.12" +"@esbuild/android-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-x64@npm:0.27.3" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2129,23 +2061,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-arm64@npm:0.18.20" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/darwin-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-arm64@npm:0.20.2" +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/darwin-arm64@npm:0.25.12" +"@esbuild/darwin-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/darwin-arm64@npm:0.27.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2157,23 +2082,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-x64@npm:0.18.20" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/darwin-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-x64@npm:0.20.2" +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/darwin-x64@npm:0.25.12" +"@esbuild/darwin-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/darwin-x64@npm:0.27.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2185,23 +2103,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-arm64@npm:0.18.20" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/freebsd-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-arm64@npm:0.20.2" +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/freebsd-arm64@npm:0.25.12" +"@esbuild/freebsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/freebsd-arm64@npm:0.27.3" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2213,23 +2124,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-x64@npm:0.18.20" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/freebsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-x64@npm:0.20.2" +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/freebsd-x64@npm:0.25.12" +"@esbuild/freebsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/freebsd-x64@npm:0.27.3" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2241,23 +2145,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm64@npm:0.18.20" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/linux-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm64@npm:0.20.2" +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-arm64@npm:0.25.12" +"@esbuild/linux-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-arm64@npm:0.27.3" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2269,23 +2166,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm@npm:0.18.20" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm@npm:0.20.2" +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-arm@npm:0.25.12" +"@esbuild/linux-arm@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-arm@npm:0.27.3" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2297,23 +2187,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ia32@npm:0.18.20" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/linux-ia32@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ia32@npm:0.20.2" +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-ia32@npm:0.25.12" +"@esbuild/linux-ia32@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-ia32@npm:0.27.3" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2325,23 +2208,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-loong64@npm:0.18.20" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-loong64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-loong64@npm:0.20.2" +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-loong64@npm:0.25.12" +"@esbuild/linux-loong64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-loong64@npm:0.27.3" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2353,23 +2229,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-mips64el@npm:0.18.20" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-mips64el@npm:0.20.2" +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-mips64el@npm:0.25.12" +"@esbuild/linux-mips64el@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-mips64el@npm:0.27.3" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2381,23 +2250,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ppc64@npm:0.18.20" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ppc64@npm:0.20.2" +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-ppc64@npm:0.25.12" +"@esbuild/linux-ppc64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-ppc64@npm:0.27.3" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2409,23 +2271,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-riscv64@npm:0.18.20" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"@esbuild/linux-riscv64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-riscv64@npm:0.20.2" +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-riscv64@npm:0.25.12" +"@esbuild/linux-riscv64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-riscv64@npm:0.27.3" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -2437,23 +2292,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-s390x@npm:0.18.20" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"@esbuild/linux-s390x@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-s390x@npm:0.20.2" +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-s390x@npm:0.25.12" +"@esbuild/linux-s390x@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-s390x@npm:0.27.3" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -2465,30 +2313,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-x64@npm:0.18.20" +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-x64@npm:0.20.2" +"@esbuild/linux-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-x64@npm:0.27.3" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.25.12": +"@esbuild/netbsd-arm64@npm:0.25.12": version: 0.25.12 - resolution: "@esbuild/linux-x64@npm:0.25.12" - conditions: os=linux & cpu=x64 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" + conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/netbsd-arm64@npm:0.25.12" +"@esbuild/netbsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/netbsd-arm64@npm:0.27.3" conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard @@ -2500,30 +2348,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/netbsd-x64@npm:0.18.20" +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/netbsd-x64@npm:0.20.2" +"@esbuild/netbsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/netbsd-x64@npm:0.27.3" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.25.12": +"@esbuild/openbsd-arm64@npm:0.25.12": version: 0.25.12 - resolution: "@esbuild/netbsd-x64@npm:0.25.12" - conditions: os=netbsd & cpu=x64 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" + conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/openbsd-arm64@npm:0.25.12" +"@esbuild/openbsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openbsd-arm64@npm:0.27.3" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -2535,30 +2383,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/openbsd-x64@npm:0.18.20" +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/openbsd-x64@npm:0.20.2" +"@esbuild/openbsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openbsd-x64@npm:0.27.3" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.25.12": +"@esbuild/openharmony-arm64@npm:0.25.12": version: 0.25.12 - resolution: "@esbuild/openbsd-x64@npm:0.25.12" - conditions: os=openbsd & cpu=x64 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" + conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@esbuild/openharmony-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/openharmony-arm64@npm:0.25.12" +"@esbuild/openharmony-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openharmony-arm64@npm:0.27.3" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard @@ -2570,23 +2418,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/sunos-x64@npm:0.18.20" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/sunos-x64@npm:0.20.2" +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/sunos-x64@npm:0.25.12" +"@esbuild/sunos-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/sunos-x64@npm:0.27.3" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -2598,23 +2439,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-arm64@npm:0.18.20" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/win32-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-arm64@npm:0.20.2" +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/win32-arm64@npm:0.25.12" +"@esbuild/win32-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-arm64@npm:0.27.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2626,23 +2460,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-ia32@npm:0.18.20" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-ia32@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-ia32@npm:0.20.2" +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/win32-ia32@npm:0.25.12" +"@esbuild/win32-ia32@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-ia32@npm:0.27.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2654,20 +2481,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-x64@npm:0.18.20" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-x64@npm:0.20.2" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@esbuild/win32-x64@npm:0.25.12": version: 0.25.12 resolution: "@esbuild/win32-x64@npm:0.25.12" @@ -2675,52 +2488,10 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: "npm:^3.3.0" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.1 - resolution: "@eslint-community/regexpp@npm:4.10.1" - checksum: 10c0/f59376025d0c91dd9fdf18d33941df499292a3ecba3e9889c360f3f6590197d30755604588786cdca0f9030be315a26b206014af4b65c0ff85b4ec49043de780 - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 - languageName: node - linkType: hard - -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 - languageName: node - linkType: hard - -"@fal-works/esbuild-plugin-global-externals@npm:^2.1.2": - version: 2.1.2 - resolution: "@fal-works/esbuild-plugin-global-externals@npm:2.1.2" - checksum: 10c0/2c84a8e6121b00ac8e4eb2469ab8f188142db2f1927391758e5d0142cb684b7eb0fad0c9d6caf358616eb2a77af2c067e08b9ec8e05749b415fc4dd0ef96d0fe +"@esbuild/win32-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-x64@npm:0.27.3" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2769,55 +2540,6 @@ __metadata: languageName: node linkType: hard -"@grpc/grpc-js@npm:^1.7.1": - version: 1.10.10 - resolution: "@grpc/grpc-js@npm:1.10.10" - dependencies: - "@grpc/proto-loader": "npm:^0.7.13" - "@js-sdsl/ordered-map": "npm:^4.4.2" - checksum: 10c0/bc55b5d51f2c93af2c0076f3fed92ebcd936ade2c120d33455fc120d8a96197dfe412cff3e452788ab51bff0f9b58eebbafe8403516912693a41324c5cf45862 - languageName: node - linkType: hard - -"@grpc/proto-loader@npm:^0.7.13": - version: 0.7.13 - resolution: "@grpc/proto-loader@npm:0.7.13" - dependencies: - lodash.camelcase: "npm:^4.3.0" - long: "npm:^5.0.0" - protobufjs: "npm:^7.2.5" - yargs: "npm:^17.7.2" - bin: - proto-loader-gen-types: build/bin/proto-loader-gen-types.js - checksum: 10c0/dc8ed7aa1454c15e224707cc53d84a166b98d76f33606a9f334c7a6fb1aedd3e3614dcd2c2b02a6ffaf140587d19494f93b3a56346c6c2e26bc564f6deddbbf3 - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 - languageName: node - linkType: hard - -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c - languageName: node - linkType: hard - "@img/colour@npm:^1.0.0": version: 1.0.0 resolution: "@img/colour@npm:1.0.0" @@ -2825,18 +2547,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-darwin-arm64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-darwin-arm64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-darwin-arm64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-darwin-arm64": - optional: true - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@img/sharp-darwin-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-darwin-arm64@npm:0.33.5" @@ -2861,18 +2571,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-darwin-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-darwin-x64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-darwin-x64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-darwin-x64": - optional: true - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@img/sharp-darwin-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-darwin-x64@npm:0.33.5" @@ -2897,13 +2595,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-darwin-arm64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.2" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@img/sharp-libvips-darwin-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.4" @@ -2918,13 +2609,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-darwin-x64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.2" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@img/sharp-libvips-darwin-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.4" @@ -2939,13 +2623,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-arm64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.2" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.4" @@ -2960,13 +2637,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-arm@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-arm@npm:1.0.2" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-arm@npm:1.0.5": version: 1.0.5 resolution: "@img/sharp-libvips-linux-arm@npm:1.0.5" @@ -2995,13 +2665,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-s390x@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.2" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-s390x@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.4" @@ -3016,13 +2679,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-x64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-x64@npm:1.0.2" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-x64@npm:1.0.4" @@ -3037,13 +2693,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linuxmusl-arm64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.2" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4" @@ -3058,13 +2707,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linuxmusl-x64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.2" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4" @@ -3079,18 +2721,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-arm64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-arm64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-arm64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-arm64": - optional: true - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-arm64@npm:0.33.5" @@ -3115,18 +2745,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-arm@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-arm@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-arm": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-arm": - optional: true - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-arm@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-arm@npm:0.33.5" @@ -3175,18 +2793,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-s390x@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-s390x@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-s390x": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-s390x": - optional: true - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-s390x@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-s390x@npm:0.33.5" @@ -3211,18 +2817,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-x64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-x64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-x64": - optional: true - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-x64@npm:0.33.5" @@ -3247,18 +2841,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linuxmusl-arm64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linuxmusl-arm64": - optional: true - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-linuxmusl-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.5" @@ -3283,18 +2865,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linuxmusl-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linuxmusl-x64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linuxmusl-x64": - optional: true - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-linuxmusl-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linuxmusl-x64@npm:0.33.5" @@ -3319,15 +2889,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-wasm32@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-wasm32@npm:0.33.4" - dependencies: - "@emnapi/runtime": "npm:^1.1.1" - conditions: cpu=wasm32 - languageName: node - linkType: hard - "@img/sharp-wasm32@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-wasm32@npm:0.33.5" @@ -3353,13 +2914,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-win32-ia32@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-win32-ia32@npm:0.33.4" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@img/sharp-win32-ia32@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-ia32@npm:0.33.5" @@ -3374,13 +2928,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-win32-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-win32-x64@npm:0.33.4" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@img/sharp-win32-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-x64@npm:0.33.5" @@ -3409,16 +2956,17 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" +"@jridgewell/gen-mapping@npm:^0.3.12": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: @@ -3429,6 +2977,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -3460,6 +3018,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -3480,172 +3045,135 @@ __metadata: languageName: node linkType: hard -"@js-sdsl/ordered-map@npm:^4.4.2": - version: 4.4.2 - resolution: "@js-sdsl/ordered-map@npm:4.4.2" - checksum: 10c0/cc7e15dc4acf6d9ef663757279600bab70533d847dcc1ab01332e9e680bd30b77cdf9ad885cc774276f51d98b05a013571c940e5b360985af5eb798dc1a2ee2b - languageName: node - linkType: hard - -"@js-temporal/polyfill@npm:^0.4.4": - version: 0.4.4 - resolution: "@js-temporal/polyfill@npm:0.4.4" - dependencies: - jsbi: "npm:^4.3.0" - tslib: "npm:^2.4.1" - checksum: 10c0/9edd8431f38837235c7dc88c48bfb2235ca13ec24f22848cd3ca7ebfdb169a2cb9654e04a7efca1488d2b67b851d84013f0bfa8dc3df207bd496ad13560ec937 - languageName: node - linkType: hard - -"@mdx-js/esbuild@npm:^2.0.0": - version: 2.3.0 - resolution: "@mdx-js/esbuild@npm:2.3.0" +"@jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: - "@mdx-js/mdx": "npm:^2.0.0" - node-fetch: "npm:^3.0.0" - vfile: "npm:^5.0.0" - peerDependencies: - esbuild: ">=0.11.0" - checksum: 10c0/ad6887a68d0751b59d01a5ff03087754e15fb7ff3da6e426ef370bc1745f8ce788c47f65e318ff24527153fa3e50bf1c35ac347b93e42e1b822b1c9346136ede + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 languageName: node linkType: hard -"@mdx-js/mdx@npm:^2.0.0": - version: 2.3.0 - resolution: "@mdx-js/mdx@npm:2.3.0" +"@mdx-js/mdx@npm:^3.0.1, @mdx-js/mdx@npm:^3.1.0": + version: 3.1.1 + resolution: "@mdx-js/mdx@npm:3.1.1" dependencies: + "@types/estree": "npm:^1.0.0" "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" "@types/mdx": "npm:^2.0.0" - estree-util-build-jsx: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - estree-util-to-js: "npm:^1.1.0" + acorn: "npm:^8.0.0" + collapse-white-space: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-util-scope: "npm:^1.0.0" estree-walker: "npm:^3.0.0" - hast-util-to-estree: "npm:^2.0.0" - markdown-extensions: "npm:^1.0.0" - periscopic: "npm:^3.0.0" - remark-mdx: "npm:^2.0.0" - remark-parse: "npm:^10.0.0" - remark-rehype: "npm:^10.0.0" - unified: "npm:^10.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - unist-util-visit: "npm:^4.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/719384d8e72abd3e83aa2fd3010394636e32cc0e5e286b6414427ef03121397586ce97ec816afcc4d2b22ba65939c3801a8198e04cf921dd597c0aa9fd75dbb4 - languageName: node - linkType: hard - -"@mdx-js/react@npm:^3.0.0": - version: 3.0.1 - resolution: "@mdx-js/react@npm:3.0.1" + hast-util-to-jsx-runtime: "npm:^2.0.0" + markdown-extensions: "npm:^2.0.0" + recma-build-jsx: "npm:^1.0.0" + recma-jsx: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + rehype-recma: "npm:^1.0.0" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-rehype: "npm:^11.0.0" + source-map: "npm:^0.7.0" + unified: "npm:^11.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/371ed95e2bee7731f30a7ce57db66383a0b7470e66c38139427174cb456d6a40bf7d259f3652716370c1de64acfba50a1ba27eb8c556e7a431dc7940b04cb1a1 + languageName: node + linkType: hard + +"@mdx-js/react@npm:^3.0.0, @mdx-js/react@npm:^3.0.1": + version: 3.1.1 + resolution: "@mdx-js/react@npm:3.1.1" dependencies: "@types/mdx": "npm:^2.0.0" peerDependencies: "@types/react": ">=16" react: ">=16" - checksum: 10c0/d210d926ef488d39ad65f04d821936b668eadcdde3b6421e94ec4200ca7ad17f17d24c5cbc543882586af9f08b10e2eea715c728ce6277487945e05c5199f532 + checksum: 10c0/34ca98bc2a0f969894ea144dc5c8a5294690505458cd24965cd9be854d779c193ad9192bf9143c4c18438fafd1902e100d99067e045c69319288562d497558c6 languageName: node linkType: hard -"@next/env@npm:16.1.5": - version: 16.1.5 - resolution: "@next/env@npm:16.1.5" - checksum: 10c0/9d6442bee75386593d5da6e952146cf3c4338202e68a0ba9464d70c24ab7abb0c7e4ecd0ab661ca211e544fe7d6bd075270379bee3e97c5da3b6d082f95a04cd +"@napi-rs/wasm-runtime@npm:^1.1.1": + version: 1.1.1 + resolution: "@napi-rs/wasm-runtime@npm:1.1.1" + dependencies: + "@emnapi/core": "npm:^1.7.1" + "@emnapi/runtime": "npm:^1.7.1" + "@tybys/wasm-util": "npm:^0.10.1" + checksum: 10c0/04d57b67e80736e41fe44674a011878db0a8ad893f4d44abb9d3608debb7c174224cba2796ed5b0c1d367368159f3ca6be45f1c59222f70e32ddc880f803d447 languageName: node linkType: hard -"@next/eslint-plugin-next@npm:14.2.3": - version: 14.2.3 - resolution: "@next/eslint-plugin-next@npm:14.2.3" - dependencies: - glob: "npm:10.3.10" - checksum: 10c0/de9af2c7465cce4eb4cb50654aa2548d4d2af788c8992d02e2b863b1bf4f99e3b6604d1f0775f8e50aca6a53cf30d51f4ac56810d1625d401548267ca5f1d883 +"@next/env@npm:16.1.6": + version: 16.1.6 + resolution: "@next/env@npm:16.1.6" + checksum: 10c0/ed7023edb94b9b2e5da3f9c99d08b614da9757c1edd0ecec792fce4d336b4f0c64db1a84955e07cfbd848b9e61c4118fff28f4098cd7b0a7f97814a90565ebe6 languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-darwin-arm64@npm:16.1.5" +"@next/swc-darwin-arm64@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-darwin-arm64@npm:16.1.6" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-darwin-x64@npm:16.1.5" +"@next/swc-darwin-x64@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-darwin-x64@npm:16.1.6" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-arm64-gnu@npm:16.1.5" +"@next/swc-linux-arm64-gnu@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-arm64-gnu@npm:16.1.6" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-arm64-musl@npm:16.1.5" +"@next/swc-linux-arm64-musl@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-arm64-musl@npm:16.1.6" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-x64-gnu@npm:16.1.5" +"@next/swc-linux-x64-gnu@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-x64-gnu@npm:16.1.6" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-x64-musl@npm:16.1.5" +"@next/swc-linux-x64-musl@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-x64-musl@npm:16.1.6" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-win32-arm64-msvc@npm:16.1.5" +"@next/swc-win32-arm64-msvc@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-win32-arm64-msvc@npm:16.1.6" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-win32-x64-msvc@npm:16.1.5" +"@next/swc-win32-x64-msvc@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-win32-x64-msvc@npm:16.1.6" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - "@npmcli/agent@npm:^2.0.0": version: 2.2.2 resolution: "@npmcli/agent@npm:2.2.2" @@ -3668,235 +3196,154 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api-logs@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/api-logs@npm:0.39.1" +"@opentelemetry/api-logs@npm:0.208.0, @opentelemetry/api-logs@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/api-logs@npm:0.208.0" dependencies: - "@opentelemetry/api": "npm:^1.0.0" - checksum: 10c0/b63bec7382662885ef8ad9bfbf4fb847e8fc393b566a5380b389e06c3da99abc511574e28f21b3c90c1bd7430296d2e0d8b8d39117514b6227ed1b4bc756a8f6 + "@opentelemetry/api": "npm:^1.3.0" + checksum: 10c0/dc1fbee6219df4166509f43b74ea936bb18b6d594565b0bcf56b654a1c958b50d6046b8739dc36c98149fe890c02150ff3814e963f5ea439a07ff3c562555b99 languageName: node linkType: hard -"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.4.1": +"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.9.0": version: 1.9.0 resolution: "@opentelemetry/api@npm:1.9.0" checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add languageName: node linkType: hard -"@opentelemetry/context-async-hooks@npm:1.25.0": - version: 1.25.0 - resolution: "@opentelemetry/context-async-hooks@npm:1.25.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/65b769ee31ef18bd4ce4383b270750b9de3ce5570181fcfa0a73aa9dda8a0564c28bbb47bd3340777a2c04b3a813bde2e6f03baf988ec479476696b2b48ca671 - languageName: node - linkType: hard - -"@opentelemetry/core@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/core@npm:1.13.0" - dependencies: - "@opentelemetry/semantic-conventions": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.5.0" - checksum: 10c0/318e0783f328168e463e392ca91ccdcbfe96bf743bbd8c60da9f55cf6a924eebfad730cb47cb23bfe09699567398ab8a3ac0c26324eafd6c9ad8ec582423b0cc - languageName: node - linkType: hard - -"@opentelemetry/core@npm:1.25.0, @opentelemetry/core@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/core@npm:1.25.0" +"@opentelemetry/core@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/core@npm:2.2.0" dependencies: - "@opentelemetry/semantic-conventions": "npm:1.25.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/94c96522e76b210bfb470ad7790fd36e8049ff89ee42f63fd725e542f40ff602d6ee9a349e4ffc2aa4f1df7c8a5c5cead1fb44a77eb2e47664b6692e5673e6d0 - languageName: node - linkType: hard - -"@opentelemetry/exporter-trace-otlp-grpc@npm:^0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/exporter-trace-otlp-grpc@npm:0.39.1" - dependencies: - "@grpc/grpc-js": "npm:^1.7.1" - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/otlp-grpc-exporter-base": "npm:0.39.1" - "@opentelemetry/otlp-transformer": "npm:0.39.1" - "@opentelemetry/resources": "npm:1.13.0" - "@opentelemetry/sdk-trace-base": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/6f167e2f8d84b99f18f916d5b3efdb35d6b1b196679e53f86c6ef15526bd484774d282b7ced6e7828ec3790ed9e74e4fd45e8e0bc38859adf71cfd6592f10cf5 - languageName: node - linkType: hard - -"@opentelemetry/otlp-exporter-base@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/otlp-exporter-base@npm:0.39.1" - dependencies: - "@opentelemetry/core": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/4cfca046f1e3920cd8b348bdd4722ac120d18af5ac1521820305dc5d1758efc31e4deaf0833710858e20b04f7f3132671d1b312a528e30ec68bae422f7a3e919 - languageName: node - linkType: hard - -"@opentelemetry/otlp-grpc-exporter-base@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/otlp-grpc-exporter-base@npm:0.39.1" - dependencies: - "@grpc/grpc-js": "npm:^1.7.1" - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/otlp-exporter-base": "npm:0.39.1" - protobufjs: "npm:^7.2.2" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/5ef441564396806f015113b970e53156a472a86e241e356ffa15d6b350ea7c017ab999203f880d0c3386a254dc215fadeb9d1b1020a9e0160b4e6c0360b4ad65 - languageName: node - linkType: hard - -"@opentelemetry/otlp-transformer@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/otlp-transformer@npm:0.39.1" - dependencies: - "@opentelemetry/api-logs": "npm:0.39.1" - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - "@opentelemetry/sdk-logs": "npm:0.39.1" - "@opentelemetry/sdk-metrics": "npm:1.13.0" - "@opentelemetry/sdk-trace-base": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.5.0" - checksum: 10c0/e81d88ac20f04ed5a3689bd31f307185bb6e9f0c447c9a4ba452d29e0c9fcdc0718e4c76843091f93b5966c63644ff05073ee0aa88cab47eee8a56bbf1cea1bc + checksum: 10c0/f618b63f2f560d052791d2406b1411722aa4b0585031242e6906f869f0a707ffe725c4b29bf18aed1f202e1ab5dfc3a9f769c517ac8521338b33ac8c4265fba9 languageName: node linkType: hard -"@opentelemetry/propagator-b3@npm:1.25.0": - version: 1.25.0 - resolution: "@opentelemetry/propagator-b3@npm:1.25.0" +"@opentelemetry/core@npm:2.6.0": + version: 2.6.0 + resolution: "@opentelemetry/core@npm:2.6.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/ccc2382fb731aa2f437a715426a120752873c0f90ebd5e82a31b9416487a2f40de8b3a14f740cbffb541fcca55b85c307bb971a16092ede15370c618d2354db6 + checksum: 10c0/526854a3d8917c82b41bfea6ed48f2e9ae38705d1758710b86f879e5c4910b9dbe7fa03d36205e98ebebe4854ae781116d8f298a10cd0fe2e51138e75926ec3a languageName: node linkType: hard -"@opentelemetry/propagator-jaeger@npm:1.25.0": - version: 1.25.0 - resolution: "@opentelemetry/propagator-jaeger@npm:1.25.0" +"@opentelemetry/exporter-logs-otlp-http@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/exporter-logs-otlp-http@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/otlp-exporter-base": "npm:0.208.0" + "@opentelemetry/otlp-transformer": "npm:0.208.0" + "@opentelemetry/sdk-logs": "npm:0.208.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/e4df7c3bee5a7adb6c06f0213bc3ee72e88e7e04296b9aa3e460e9966bb3e6d232fe0092c669a71022c278b506281f01fa156712b1231bd41b55e77d66587b6a + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/2b8c649e04bfc7c86ebc49de4afb19ccd2562ebfc15ac30f1689787d9b014392f6d936f43b494729d9723de0588276027f742ba825834c74d8a08cd366c284ab languageName: node linkType: hard -"@opentelemetry/resources@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/resources@npm:1.13.0" +"@opentelemetry/otlp-exporter-base@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-exporter-base@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/semantic-conventions": "npm:1.13.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/otlp-transformer": "npm:0.208.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.5.0" - checksum: 10c0/87180744fdb3b8659a9955b3d93397484d2af12de0e945f1311e2bee7f11b37761141b5db485c6dcaec079523be04d12d56303a35038ac1051f53a1db126f40f + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/c2b2014da16e2a2be0ebe525b1a62b3e64e286fc9c2575444e4c75bbe0060a83762172180dc7a97cdaaaa8c6765076073edea30340459fc1820cd43468ff98b0 languageName: node linkType: hard -"@opentelemetry/resources@npm:1.25.0, @opentelemetry/resources@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/resources@npm:1.25.0" +"@opentelemetry/otlp-transformer@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-transformer@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" - "@opentelemetry/semantic-conventions": "npm:1.25.0" + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + "@opentelemetry/sdk-logs": "npm:0.208.0" + "@opentelemetry/sdk-metrics": "npm:2.2.0" + "@opentelemetry/sdk-trace-base": "npm:2.2.0" + protobufjs: "npm:^7.3.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/e0877e1c6bff81385a112483a0471e530d17ed3b98e0c399595680debf43dd8e48100595414ea3d2f4ac4f911dbea5201da6e6e13cdf07463667c15d35dd774b + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/70c04b2a52f0b2f8aece25ad21401c32ed3136ccd6e82b767d570a24d5456a5ded206ed4cc60ebc09eac08a4aa9c03bc8dcbf10730e491f1af3e7768c361ac12 languageName: node linkType: hard -"@opentelemetry/sdk-logs@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/sdk-logs@npm:0.39.1" +"@opentelemetry/resources@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/resources@npm:2.2.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.4.0 <1.5.0" - "@opentelemetry/api-logs": ">=0.38.0" - checksum: 10c0/9ef3620c8dbd51f8c5ed9b90b10032c048811e04aadcd694374da6c48a1688c073362afb631a69b3d5985e9267fa7bda3e3c111b92812ea13cbce23526e57b05 + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/f08fa69ccccb6d14b6932fabe6f8e097c0dfc41ae8f4c0f6c54fb04bc3d9c04e742da3e22d7240d74b585287101126d97a0da192b493a9724dc07a56ca1b77e0 languageName: node linkType: hard -"@opentelemetry/sdk-metrics@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/sdk-metrics@npm:1.13.0" +"@opentelemetry/resources@npm:^2.2.0": + version: 2.6.0 + resolution: "@opentelemetry/resources@npm:2.6.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - lodash.merge: "npm:4.6.2" + "@opentelemetry/core": "npm:2.6.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.5.0" - checksum: 10c0/f00b402138b12b1fbab1c1f7d9a4f7f6cdfe9d42ff9b585d2dcf46fca9ed44a624b55614a97bea120e3b0b357303bff524c8564145ad0711fba3c89625943a8b + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/9c75654690c0917be948ed18453f3085a54541f0db8c8b728515f5a26b67c5fc1f6acd2644462e17368045e3c3fd65f728e8bd0a19c31fe12cc443fa0f0f058c languageName: node linkType: hard -"@opentelemetry/sdk-trace-base@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/sdk-trace-base@npm:1.13.0" +"@opentelemetry/sdk-logs@npm:0.208.0, @opentelemetry/sdk-logs@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/sdk-logs@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - "@opentelemetry/semantic-conventions": "npm:1.13.0" + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.5.0" - checksum: 10c0/deb370f701b21e49b273716f479be9e5634ce3daa993741cc9500d8d8f11781835f1329398f1296402ad2a8455a159e500b42c6a977d83d6b2f8545517d9cbae + "@opentelemetry/api": ">=1.4.0 <1.10.0" + checksum: 10c0/a167ee7d2818e435ff7480836461f94543e4e39f0e8e8013d462c635def9b960dcf1a29e5536743946b51ef13b764f518d9edb511e89bc1e8995acc96f54241f languageName: node linkType: hard -"@opentelemetry/sdk-trace-base@npm:1.25.0, @opentelemetry/sdk-trace-base@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/sdk-trace-base@npm:1.25.0" +"@opentelemetry/sdk-metrics@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-metrics@npm:2.2.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" - "@opentelemetry/resources": "npm:1.25.0" - "@opentelemetry/semantic-conventions": "npm:1.25.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/9630a306698cc50bdf1606d2c06c550f98dec2e44932b787175e74ecb95826551708206433a612a49ecb6587c4dddbd1491541c9c83fd785e05565d57e21abb3 + "@opentelemetry/api": ">=1.9.0 <1.10.0" + checksum: 10c0/a2668f9ef937123552a5ab96ec23675931ae7d3223ec7a31c8aac95fbbfb0b03a54a873f17f2356b04db7031421e7e3d7e3bf9d96d9069a0b97c680a2c158bc4 languageName: node linkType: hard -"@opentelemetry/sdk-trace-node@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/sdk-trace-node@npm:1.25.0" +"@opentelemetry/sdk-trace-base@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-trace-base@npm:2.2.0" dependencies: - "@opentelemetry/context-async-hooks": "npm:1.25.0" - "@opentelemetry/core": "npm:1.25.0" - "@opentelemetry/propagator-b3": "npm:1.25.0" - "@opentelemetry/propagator-jaeger": "npm:1.25.0" - "@opentelemetry/sdk-trace-base": "npm:1.25.0" - semver: "npm:^7.5.2" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/229932f25280eb52d2f46d6440a200cfbf39e8684986ccb1bd7e3b6e0424e8abd69efc38b432e66b31d037782f13f62eed3bd754cafe0568bf7449b7c5631521 - languageName: node - linkType: hard - -"@opentelemetry/semantic-conventions@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.13.0" - checksum: 10c0/4cce9fea5f706743837e75d539552b2ebb24d0f870f1f5199f2827d4cc68e1bc4d7f54f21aff5051354dda23f6a8f7e6489d3f8c5838069f697bf32aac1fda84 + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/a67715b71d7253cd61ea79954f56491796ac7a660d03d5381fd81defd4546042bb465b27e1b6eee4b1ed32c00305a5349a16d04fd44314c9a1d371a0a638107a languageName: node linkType: hard -"@opentelemetry/semantic-conventions@npm:1.25.0, @opentelemetry/semantic-conventions@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.25.0" - checksum: 10c0/e4add5dff8e80edbae0821cd925203f1403fe38a3159eec7eb395484dd23b79f5b7c7f804829e9a28465be4ec2f0e2a20f307621c395471f9e36a2b07d189e90 +"@opentelemetry/semantic-conventions@npm:^1.29.0": + version: 1.40.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.40.0" + checksum: 10c0/3259de0ea11b52eb70e44c12eba21448392baf9cb74c37b62071c4a5ed7fb89b61e194f3898d40ac6bfa7293617a0e132876cb6e355472b66de0cdb13c50b529 languageName: node linkType: hard @@ -3907,13 +3354,6 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 - languageName: node - linkType: hard - "@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.11": version: 0.5.15 resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.15" @@ -3951,6 +3391,22 @@ __metadata: languageName: node linkType: hard +"@posthog/core@npm:1.23.2": + version: 1.23.2 + resolution: "@posthog/core@npm:1.23.2" + dependencies: + cross-spawn: "npm:^7.0.6" + checksum: 10c0/13d86e63e9a74255e33167c266fc10c3f485221093b235239543ebaaa80c07614e4485e02da3b0850281f9341f4c4014fdfa3998ed96fab8f6bf76bd39116c60 + languageName: node + linkType: hard + +"@posthog/types@npm:1.359.1": + version: 1.359.1 + resolution: "@posthog/types@npm:1.359.1" + checksum: 10c0/2214af79f79de57ef18f575444d8ba990cd1d9a51778702b8a918cb1809ae9a0ce0e2f2047d27f5cb912e1b0b0460d2218f26768d5949b5a8fce9f4167cd232a + languageName: node + linkType: hard + "@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": version: 1.1.2 resolution: "@protobufjs/aspromise@npm:1.1.2" @@ -4024,12 +3480,10 @@ __metadata: languageName: node linkType: hard -"@radix-ui/number@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/number@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/42e4870cd14459da6da03e43c7507dc4c807ed787a87bda52912a0d1d6d5013326b697c18c9625fc6a2cf0af2b45d9c86747985b45358fd92ab646b983978e3c +"@radix-ui/number@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/number@npm:1.1.1" + checksum: 10c0/0570ad92287398e8a7910786d7cee0a998174cdd6637ba61571992897c13204adf70b9ed02d0da2af554119411128e701d9c6b893420612897b438dc91db712b languageName: node linkType: hard @@ -4042,146 +3496,147 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-accordion@npm:^1.1.2": - version: 1.1.2 - resolution: "@radix-ui/react-accordion@npm:1.1.2" +"@radix-ui/primitive@npm:1.1.3": + version: 1.1.3 + resolution: "@radix-ui/primitive@npm:1.1.3" + checksum: 10c0/88860165ee7066fa2c179f32ffcd3ee6d527d9dcdc0e8be85e9cb0e2c84834be8e3c1a976c74ba44b193f709544e12f54455d892b28e32f0708d89deda6b9f1d + languageName: node + linkType: hard + +"@radix-ui/react-accordion@npm:^1.2.3": + version: 1.2.12 + resolution: "@radix-ui/react-accordion@npm:1.2.12" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collapsible": "npm:1.0.3" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collapsible": "npm:1.1.12" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/54fe3642306d62f68ac4d534c6bec1998d00d441663b16119fe267cb085e48761acf3c02b9466245d42b8ab419632a573d35d79d3a5d328906bde121dd1816db + checksum: 10c0/c64a53ce766a1ef529cf6413ed7382598c94f78879b3a83ceda27cb1894ed6eb6e8ad61f6a550ca3c7fa813657045dadfc7328dbf1d736a37e1cf3c446db43de languageName: node linkType: hard -"@radix-ui/react-alert-dialog@npm:^1.0.5": - version: 1.0.5 - resolution: "@radix-ui/react-alert-dialog@npm:1.0.5" +"@radix-ui/react-alert-dialog@npm:^1.1.6": + version: 1.1.15 + resolution: "@radix-ui/react-alert-dialog@npm:1.1.15" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-dialog": "npm:1.0.5" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-dialog": "npm:1.1.15" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/73854a1011b07a50261a12ce33c4b9d6585603e731a2ceffc7a4d2b8c795631716fda8b8006a813648e247d17abbaf290a419a935ae4cd70c83c3c70a34ce9f4 + checksum: 10c0/038de84ad1b36c162e5f5a3b4034de95558698eb6e3f483d2b1a15f4a502c921c4e6a5a723fe6f29e928ed7001ffe38ac6fd16bb720b1e629892ce7beb1da174 languageName: node linkType: hard -"@radix-ui/react-arrow@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-arrow@npm:1.0.3" +"@radix-ui/react-arrow@npm:1.1.7": + version: 1.1.7 + resolution: "@radix-ui/react-arrow@npm:1.1.7" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-primitive": "npm:2.1.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/c931f6d7e0bac50fd1654a0303a303aff74a68a13a33a851a43a7c88677b53a92ca6557920b9105144a3002f899ce888437d20ddd7803a5c716edac99587626d + checksum: 10c0/c3b46766238b3ee2a394d8806a5141432361bf1425110c9f0dcf480bda4ebd304453a53f294b5399c6ee3ccfcae6fd544921fd01ddc379cf5942acdd7168664b languageName: node linkType: hard -"@radix-ui/react-aspect-ratio@npm:^1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-aspect-ratio@npm:1.0.3" +"@radix-ui/react-aspect-ratio@npm:^1.1.2": + version: 1.1.8 + resolution: "@radix-ui/react-aspect-ratio@npm:1.1.8" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-primitive": "npm:2.1.4" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/e4d1ac88aa23b26957992f76f2b991e8e1fa0bd1b8e3bbcf871920b087e576ce0b5a35fe9ee4d477536ab07ff50362d42017e2f12ff6f41cba8ef80ae46b0f29 + checksum: 10c0/2cf162bf59ba555b7afe564b0efd5a1e6ee28b74ef44203ff14d6d575013fad98af9452e4ecef741b278bb7186ae54883376e5b32c3d15ffb92d3dcb02830973 languageName: node linkType: hard -"@radix-ui/react-collapsible@npm:1.0.3, @radix-ui/react-collapsible@npm:^1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-collapsible@npm:1.0.3" +"@radix-ui/react-collapsible@npm:1.1.12, @radix-ui/react-collapsible@npm:^1.1.3": + version: 1.1.12 + resolution: "@radix-ui/react-collapsible@npm:1.1.12" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/7bc3e601e3fa84991bdf46ea1bdb725760942f8facadf42f05808abc7a1399c6ab90a00c70699367026afbd8afba0254ff9634f9d1e05b24ae452d9e0524d328 + checksum: 10c0/777cced73fbbec9cfafe6325aa5605e90f49d889af2778f4c4a6be101c07cacd69ae817d0b41cc27e3181f49392e2c06db7f32d6b084db047a51805ec70729b3 languageName: node linkType: hard -"@radix-ui/react-collection@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-collection@npm:1.0.3" +"@radix-ui/react-collection@npm:1.1.7": + version: 1.1.7 + resolution: "@radix-ui/react-collection@npm:1.1.7" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/cefa56383d7451ca79e4bd5a29aaeef6c205a04297213efd149aaead82fc8cde4fb8298e20e6b3613e5696e43f814fb4489805428f6604834fb31f73c6725fa8 + checksum: 10c0/fa321a7300095508491f75414f02b243f0c3f179dc0728cfd115e2ea9f6f48f1516532b59f526d9ac81bbab63cd98a052074b4703ec0b9428fac945ebabec5fd languageName: node linkType: hard @@ -4200,6 +3655,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-compose-refs@npm:1.1.2": + version: 1.1.2 + resolution: "@radix-ui/react-compose-refs@npm:1.1.2" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/d36a9c589eb75d634b9b139c80f916aadaf8a68a7c1c4b8c6c6b88755af1a92f2e343457042089f04cc3f23073619d08bb65419ced1402e9d4e299576d970771 + languageName: node + linkType: hard + "@radix-ui/react-context@npm:1.0.1": version: 1.0.1 resolution: "@radix-ui/react-context@npm:1.0.1" @@ -4215,7 +3683,20 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-dialog@npm:1.0.5, @radix-ui/react-dialog@npm:^1.0.4, @radix-ui/react-dialog@npm:^1.0.5": +"@radix-ui/react-context@npm:1.1.2": + version: 1.1.2 + resolution: "@radix-ui/react-context@npm:1.1.2" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/cece731f8cc25d494c6589cc681e5c01a93867d895c75889973afa1a255f163c286e390baa7bc028858eaabe9f6b57270d0ca6377356f652c5557c1c7a41ccce + languageName: node + linkType: hard + +"@radix-ui/react-dialog@npm:1.0.5": version: 1.0.5 resolution: "@radix-ui/react-dialog@npm:1.0.5" dependencies: @@ -4248,18 +3729,48 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-direction@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-direction@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" +"@radix-ui/react-dialog@npm:1.1.15, @radix-ui/react-dialog@npm:^1.1.1, @radix-ui/react-dialog@npm:^1.1.6": + version: 1.1.15 + resolution: "@radix-ui/react-dialog@npm:1.1.15" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-focus-guards": "npm:1.1.3" + "@radix-ui/react-focus-scope": "npm:1.1.7" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + aria-hidden: "npm:^1.2.4" + react-remove-scroll: "npm:^2.6.3" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/2f2c88e3c281acaea2fd9b96fa82132d59177d3aa5da2e7c045596fd4028e84e44ac52ac28f4f236910605dd7d9338c2858ba44a9ced2af2e3e523abbfd33014 + languageName: node + linkType: hard + +"@radix-ui/react-direction@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-direction@npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/b1a45b4d1d5070ca3b5864b920f6c6210c962bdb519abb62b38b1baef9d06737dc3d8ecdb61860b7504a735235a539652f5977c7299ec021da84e6b0f64d988a + checksum: 10c0/7a89d9291f846a3105e45f4df98d6b7a08f8d7b30acdcd253005dc9db107ee83cbbebc9e47a9af1e400bcd47697f1511ceab23a399b0da854488fc7220482ac9 languageName: node linkType: hard @@ -4287,29 +3798,51 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-dropdown-menu@npm:^2.0.6": - version: 2.0.6 - resolution: "@radix-ui/react-dropdown-menu@npm:2.0.6" +"@radix-ui/react-dismissable-layer@npm:1.1.11": + version: 1.1.11 + resolution: "@radix-ui/react-dismissable-layer@npm:1.1.11" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-menu": "npm:2.0.6" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-escape-keydown": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/c825572a64073c4d3853702029979f6658770ffd6a98eabc4984e1dee1b226b4078a2a4dc7003f96475b438985e9b21a58e75f51db74dd06848dcae1f2d395dc + languageName: node + linkType: hard + +"@radix-ui/react-dropdown-menu@npm:^2.1.6": + version: 2.1.16 + resolution: "@radix-ui/react-dropdown-menu@npm:2.1.16" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-menu": "npm:2.1.16" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/525cab53547d2ce2904518b1f66b62179d656c57c8d6dd7dbe863cc05025d8bad535f44011e2735b07fc500579c3d64d89a9a39593d4c8f91f31052d75b729e1 + checksum: 10c0/8caaa8dd791ccb284568720adafa59855e13860aa29eb20e10a04ba671cbbfa519a4c5d3a339a4d9fb08009eeb1065f4a8b5c3c8ef45e9753161cc560106b935 languageName: node linkType: hard @@ -4328,6 +3861,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-focus-guards@npm:1.1.3": + version: 1.1.3 + resolution: "@radix-ui/react-focus-guards@npm:1.1.3" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/0bab65eb8d7e4f72f685d63de7fbba2450e3cb15ad6a20a16b42195e9d335c576356f5a47cb58d1ffc115393e46d7b14b12c5d4b10029b0ec090861255866985 + languageName: node + linkType: hard + "@radix-ui/react-focus-scope@npm:1.0.4": version: 1.0.4 resolution: "@radix-ui/react-focus-scope@npm:1.0.4" @@ -4350,12 +3896,33 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-icons@npm:^1.3.0": - version: 1.3.0 - resolution: "@radix-ui/react-icons@npm:1.3.0" +"@radix-ui/react-focus-scope@npm:1.1.7": + version: 1.1.7 + resolution: "@radix-ui/react-focus-scope@npm:1.1.7" + dependencies: + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/8a6071331bdeeb79b223463de75caf759b8ad19339cab838e537b8dbb2db236891a1f4df252445c854d375d43d9d315dfcce0a6b01553a2984ec372bb8f1300e + languageName: node + linkType: hard + +"@radix-ui/react-icons@npm:^1.3.2": + version: 1.3.2 + resolution: "@radix-ui/react-icons@npm:1.3.2" peerDependencies: - react: ^16.x || ^17.x || ^18.x - checksum: 10c0/581657680e43fd13ff06e01f963e3afa94671d4ce6c3fb126e2c70c993ab8650faa55286974032dbccfecca4db57308fb66d53771d765887e03600cddee84ae5 + react: ^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc + checksum: 10c0/3a380c7ae47e330ebd8ab4846729a543b4a0be5ecb1e2a7a571f4394728ff7d428b01f6620128051b6b69d63138a0ab8de77af78221ec364fbc5d126acf55b4a languageName: node linkType: hard @@ -4375,69 +3942,82 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-menu@npm:2.0.6": - version: 2.0.6 - resolution: "@radix-ui/react-menu@npm:2.0.6" +"@radix-ui/react-id@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-id@npm:1.1.1" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-dismissable-layer": "npm:1.0.5" - "@radix-ui/react-focus-guards": "npm:1.0.1" - "@radix-ui/react-focus-scope": "npm:1.0.4" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-popper": "npm:1.1.3" - "@radix-ui/react-portal": "npm:1.0.4" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-roving-focus": "npm:1.0.4" - "@radix-ui/react-slot": "npm:1.0.2" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - aria-hidden: "npm:^1.1.1" - react-remove-scroll: "npm:2.5.5" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/7d12e76818763d592c331277ef62b197e2e64945307e650bd058f0090e5ae48bbd07691b23b7e9e977901ef4eadcb3e2d5eaeb17a13859083384be83fc1292c7 + languageName: node + linkType: hard + +"@radix-ui/react-menu@npm:2.1.16": + version: 2.1.16 + resolution: "@radix-ui/react-menu@npm:2.1.16" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-focus-guards": "npm:1.1.3" + "@radix-ui/react-focus-scope": "npm:1.1.7" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-popper": "npm:1.2.8" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-roving-focus": "npm:1.1.11" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + aria-hidden: "npm:^1.2.4" + react-remove-scroll: "npm:^2.6.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/06926fa59cb8f5614f2e1a085ea1cbf09631ae28fb6e5d6e6d2a0a84d24979e3aca311cdb19dfdb254c1823ff85fd5250c29d4463f8f7622dd523e35df3fce1d + checksum: 10c0/27516b2b987fa9181c4da8645000af8f60691866a349d7a46b9505fa7d2e9d92b9e364db4f7305d08e9e57d0e1afc8df8354f8ee3c12aa05c0100c16b0e76c27 languageName: node linkType: hard -"@radix-ui/react-popper@npm:1.1.3": - version: 1.1.3 - resolution: "@radix-ui/react-popper@npm:1.1.3" +"@radix-ui/react-popper@npm:1.2.8": + version: 1.2.8 + resolution: "@radix-ui/react-popper@npm:1.2.8" dependencies: - "@babel/runtime": "npm:^7.13.10" "@floating-ui/react-dom": "npm:^2.0.0" - "@radix-ui/react-arrow": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - "@radix-ui/react-use-rect": "npm:1.0.1" - "@radix-ui/react-use-size": "npm:1.0.1" - "@radix-ui/rect": "npm:1.0.1" + "@radix-ui/react-arrow": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + "@radix-ui/react-use-rect": "npm:1.1.1" + "@radix-ui/react-use-size": "npm:1.1.1" + "@radix-ui/rect": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/a38c374ec65dd8d7c604af7151e96faec1743828d859dc4892e720c1803a7e1562add26aec2ddf2091defae4e15d989c028032ea481419e38c4693b3f12545c3 + checksum: 10c0/48e3f13eac3b8c13aca8ded37d74db17e1bb294da8d69f142ab6b8719a06c3f90051668bed64520bf9f3abdd77b382ce7ce209d056bb56137cecc949b69b421c languageName: node linkType: hard @@ -4461,6 +4041,26 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-portal@npm:1.1.9": + version: 1.1.9 + resolution: "@radix-ui/react-portal@npm:1.1.9" + dependencies: + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/45b432497c722720c72c493a29ef6085bc84b50eafe79d48b45c553121b63e94f9cdb77a3a74b9c49126f8feb3feee009fe400d48b7759d3552396356b192cd7 + languageName: node + linkType: hard + "@radix-ui/react-presence@npm:1.0.1": version: 1.0.1 resolution: "@radix-ui/react-presence@npm:1.0.1" @@ -4482,40 +4082,32 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-primitive@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-primitive@npm:1.0.3" +"@radix-ui/react-presence@npm:1.1.5": + version: 1.1.5 + resolution: "@radix-ui/react-presence@npm:1.1.5" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-slot": "npm:1.0.2" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/67a66ff8898a5e7739eda228ab6f5ce808858da1dce967014138d87e72b6bbfc93dc1467c706d98d1a2b93bf0b6e09233d1a24d31c78227b078444c1a69c42be + checksum: 10c0/d0e61d314250eeaef5369983cb790701d667f51734bafd98cf759072755562018052c594e6cdc5389789f4543cb0a4d98f03ff4e8f37338d6b5bf51a1700c1d1 languageName: node linkType: hard -"@radix-ui/react-roving-focus@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-roving-focus@npm:1.0.4" +"@radix-ui/react-primitive@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-primitive@npm:1.0.3" dependencies: "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@radix-ui/react-slot": "npm:1.0.2" peerDependencies: "@types/react": "*" "@types/react-dom": "*" @@ -4526,857 +4118,628 @@ __metadata: optional: true "@types/react-dom": optional: true - checksum: 10c0/61e3ddfd1647e64fba855434ff41e8e7ba707244fe8841f78c450fbdce525383b64259279475615d030dbf1625cbffd8eeebee72d91bf6978794f5dbcf887fc0 + checksum: 10c0/67a66ff8898a5e7739eda228ab6f5ce808858da1dce967014138d87e72b6bbfc93dc1467c706d98d1a2b93bf0b6e09233d1a24d31c78227b078444c1a69c42be languageName: node linkType: hard -"@radix-ui/react-scroll-area@npm:^1.0.5": - version: 1.0.5 - resolution: "@radix-ui/react-scroll-area@npm:1.0.5" +"@radix-ui/react-primitive@npm:2.1.3": + version: 2.1.3 + resolution: "@radix-ui/react-primitive@npm:2.1.3" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/number": "npm:1.0.1" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@radix-ui/react-slot": "npm:1.2.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/a08818aeeb15920a02e708699a8bdc85c26eab0579ab741129b464a799b5d9a04f81810a2d200f1cf4aef03452067770e87b0f81593a689350fcd7e51819e4cb + checksum: 10c0/fdff9b84913bb4172ef6d3af7442fca5f9bba5f2709cba08950071f819d7057aec3a4a2d9ef44cf9cbfb8014d02573c6884a04cff175895823aaef809ebdb034 languageName: node linkType: hard -"@radix-ui/react-select@npm:^2.0.0": - version: 2.0.0 - resolution: "@radix-ui/react-select@npm:2.0.0" +"@radix-ui/react-primitive@npm:2.1.4": + version: 2.1.4 + resolution: "@radix-ui/react-primitive@npm:2.1.4" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/number": "npm:1.0.1" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-dismissable-layer": "npm:1.0.5" - "@radix-ui/react-focus-guards": "npm:1.0.1" - "@radix-ui/react-focus-scope": "npm:1.0.4" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-popper": "npm:1.1.3" - "@radix-ui/react-portal": "npm:1.0.4" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - "@radix-ui/react-use-previous": "npm:1.0.1" - "@radix-ui/react-visually-hidden": "npm:1.0.3" - aria-hidden: "npm:^1.1.1" - react-remove-scroll: "npm:2.5.5" + "@radix-ui/react-slot": "npm:1.2.4" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/63aa4d119c5273035a2fce5a05739729abb8995ead00e810b86acfba05835fda655d962d3553b1f2011ed4f84e328f1e7e171cd9eaa7e3433b3d65c58cf3394a + checksum: 10c0/90d687b222a25975371ed1f9f08648d75237214b8dec4cbaf09ec9ac951339b17421278f1aff2fb7c5672ba8bd03774a94904efdba73805dd5cc947ce5be8c4a languageName: node linkType: hard -"@radix-ui/react-separator@npm:^1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-separator@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" +"@radix-ui/react-roving-focus@npm:1.1.11": + version: 1.1.11 + resolution: "@radix-ui/react-roving-focus@npm:1.1.11" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/87bcde47343f2bc4439a0dc34381f557905d9b3c1e8c5a0d32ceea62a8ef84f3abf671c5cb29309fc87759ad41d39af619ba546cf54109d64c8746e3ca683de3 + checksum: 10c0/2cd43339c36e89a3bf1db8aab34b939113dfbde56bf3a33df2d74757c78c9489b847b1962f1e2441c67e41817d120cb6177943e0f655f47bc1ff8e44fd55b1a2 languageName: node linkType: hard -"@radix-ui/react-slot@npm:1.0.2, @radix-ui/react-slot@npm:^1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-slot@npm:1.0.2" +"@radix-ui/react-scroll-area@npm:^1.2.3": + version: 1.2.10 + resolution: "@radix-ui/react-scroll-area@npm:1.2.10" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "npm:1.0.1" + "@radix-ui/number": "npm:1.1.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347 - languageName: node - linkType: hard - -"@radix-ui/react-tabs@npm:^1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-tabs@npm:1.0.4" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-roving-focus": "npm:1.0.4" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@types/react-dom": + optional: true + checksum: 10c0/8acdacd255fdfcefe4f72028a13dc554df73327db94c250f54a85b9608aa0313284dbb6c417f28a48e7b7b7bcaa76ddf3297e91ba07d833604d428f869259622 + languageName: node + linkType: hard + +"@radix-ui/react-select@npm:^2.1.6": + version: 2.2.6 + resolution: "@radix-ui/react-select@npm:2.2.6" + dependencies: + "@radix-ui/number": "npm:1.1.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-focus-guards": "npm:1.1.3" + "@radix-ui/react-focus-scope": "npm:1.1.7" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-popper": "npm:1.2.8" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + "@radix-ui/react-use-previous": "npm:1.1.1" + "@radix-ui/react-visually-hidden": "npm:1.2.3" + aria-hidden: "npm:^1.2.4" + react-remove-scroll: "npm:^2.6.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/79699a921f5c2e890e0e496a751d9c2a7c4017eff8e52f094389e993263332881353bdd27b8cc123c906b36743e803eec7f32fdbb4d413328cba0a37d6413339 + checksum: 10c0/34b2492589c3a4b118a03900d622640033630f30ac93c4a69b3701513117607f4ac3a0d9dd3cad39caa8b6495660f71f3aa9d0074d4eb4dac6804dc0b8408deb languageName: node linkType: hard -"@radix-ui/react-tooltip@npm:^1.0.7": - version: 1.0.7 - resolution: "@radix-ui/react-tooltip@npm:1.0.7" +"@radix-ui/react-separator@npm:^1.1.2": + version: 1.1.8 + resolution: "@radix-ui/react-separator@npm:1.1.8" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-dismissable-layer": "npm:1.0.5" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-popper": "npm:1.1.3" - "@radix-ui/react-portal": "npm:1.0.4" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - "@radix-ui/react-visually-hidden": "npm:1.0.3" + "@radix-ui/react-primitive": "npm:2.1.4" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/915524ea9d102eb26e656c550a084ca460219041c0e7cec0e72b522ee52a43b4d725f4ad3352212f4ae88b3672ef7b23bad07844275cafea075ada590678d873 + checksum: 10c0/92e1353f696a22167c90f2c610b440be1fae3c05128287560914f124eef83d74c06ad25431923f3595032e6d89c23d479c95434390f4c0d9d4a68ec8d563ae0c languageName: node linkType: hard -"@radix-ui/react-use-callback-ref@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1" +"@radix-ui/react-slot@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-slot@npm:1.0.2" dependencies: "@babel/runtime": "npm:^7.13.10" + "@radix-ui/react-compose-refs": "npm:1.0.1" peerDependencies: "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/331b432be1edc960ca148637ae6087220873ee828ceb13bd155926ef8f49e862812de5b379129f6aaefcd11be53715f3237e6caa9a33d9c0abfff43f3ba58938 + checksum: 10c0/3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347 languageName: node linkType: hard -"@radix-ui/react-use-controllable-state@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1" +"@radix-ui/react-slot@npm:1.2.3": + version: 1.2.3 + resolution: "@radix-ui/react-slot@npm:1.2.3" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" + "@radix-ui/react-compose-refs": "npm:1.1.2" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/29b069dbf09e48bca321af6272574ad0fc7283174e7d092731a10663fe00c0e6b4bde5e1b5ea67725fe48dcbe8026e7ff0d69d42891c62cbb9ca408498171fbe + checksum: 10c0/5913aa0d760f505905779515e4b1f0f71a422350f077cc8d26d1aafe53c97f177fec0e6d7fbbb50d8b5e498aa9df9f707ca75ae3801540c283b26b0136138eef languageName: node linkType: hard -"@radix-ui/react-use-escape-keydown@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3" +"@radix-ui/react-slot@npm:1.2.4, @radix-ui/react-slot@npm:^1.1.2": + version: 1.2.4 + resolution: "@radix-ui/react-slot@npm:1.2.4" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" + "@radix-ui/react-compose-refs": "npm:1.1.2" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/3c94c78902dcb40b60083ee2184614f45c95a189178f52d89323b467bd04bcf5fdb1bc4d43debecd7f0b572c3843c7e04edbcb56f40a4b4b43936fb2770fb8ad + checksum: 10c0/8b719bb934f1ae5ac0e37214783085c17c2f1080217caf514c1c6cc3d9ca56c7e19d25470b26da79aa6e605ab36589edaade149b76f5fc0666f1063e2fc0a0dc languageName: node linkType: hard -"@radix-ui/react-use-layout-effect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1" +"@radix-ui/react-tabs@npm:^1.1.3": + version: 1.1.13 + resolution: "@radix-ui/react-tabs@npm:1.1.13" dependencies: - "@babel/runtime": "npm:^7.13.10" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-roving-focus": "npm:1.1.11" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/13cd0c38395c5838bc9a18238020d3bcf67fb340039e6d1cbf438be1b91d64cf6900b78121f3dc9219faeb40dcc7b523ce0f17e4a41631655690e5a30a40886a + "@types/react-dom": + optional: true + checksum: 10c0/a3c78cd8c30dcb95faf1605a8424a1a71dab121dfa6e9c0019bb30d0f36d882762c925b17596d4977990005a255d8ddc0b7454e4f83337fe557b45570a2d8058 languageName: node linkType: hard -"@radix-ui/react-use-previous@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-previous@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" +"@radix-ui/react-tooltip@npm:^1.1.8": + version: 1.2.8 + resolution: "@radix-ui/react-tooltip@npm:1.2.8" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-popper": "npm:1.2.8" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + "@radix-ui/react-visually-hidden": "npm:1.2.3" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/f5fbc602108668484a4ed506b7842482222d1d03094362e26abb7fdd593eee8794fc47d85b3524fb9d00884801c89a6eefd0bed0971eba1ec189c637b6afd398 + "@types/react-dom": + optional: true + checksum: 10c0/de0cbae9c571a00671f160928d819e59502f59be8749f536ab4b180181d9d70aee3925a5b2555f8f32d0bea622bc35f65b70ca7ff0449e4844f891302310cc48 languageName: node linkType: hard -"@radix-ui/react-use-rect@npm:1.0.1": +"@radix-ui/react-use-callback-ref@npm:1.0.1": version: 1.0.1 - resolution: "@radix-ui/react-use-rect@npm:1.0.1" + resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1" dependencies: "@babel/runtime": "npm:^7.13.10" - "@radix-ui/rect": "npm:1.0.1" peerDependencies: "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/94c5ab31dfd3678c0cb77a30025e82b3a287577c1a8674b0d703a36d27434bc9c59790e0bebf57ed153f0b8e0d8c3b9675fc9787b9eac525a09abcda8fa9e7eb + checksum: 10c0/331b432be1edc960ca148637ae6087220873ee828ceb13bd155926ef8f49e862812de5b379129f6aaefcd11be53715f3237e6caa9a33d9c0abfff43f3ba58938 languageName: node linkType: hard -"@radix-ui/react-use-size@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-size@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" +"@radix-ui/react-use-callback-ref@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-callback-ref@npm:1.1.1" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/b109a4b3781781c4dc641a1173f0a6fcb0b0f7b2d7cdba5848a46070c9fb4e518909a46c20a3c2efbc78737c64859c59ead837f2940e8c8394d1c503ef58773b + checksum: 10c0/5f6aff8592dea6a7e46589808912aba3fb3b626cf6edd2b14f01638b61dbbe49eeb9f67cd5601f4c15b2fb547b9a7e825f7c4961acd4dd70176c969ae405f8d8 languageName: node linkType: hard -"@radix-ui/react-visually-hidden@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-visually-hidden@npm:1.0.3" +"@radix-ui/react-use-controllable-state@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1" dependencies: "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-use-callback-ref": "npm:1.0.1" peerDependencies: "@types/react": "*" - "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: "@types/react": optional: true - "@types/react-dom": - optional: true - checksum: 10c0/0cbc12c2156b3fa0e40090cafd8525ce84c16a6b5a038a8e8fc7cbb16ed6da9ab369593962c57a18c41a16ec8713e0195c68ea34072ef1ca254ed4d4c0770bb4 - languageName: node - linkType: hard - -"@radix-ui/rect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/rect@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/4c5159661340acc31b11e1f2ebd87a1521d39bfa287544dd2cd75b399539a4b625d38a1501c90ceae21fcca18ed164b0c3735817ff140ae334098192c110e571 - languageName: node - linkType: hard - -"@rehype-pretty/transformers@npm:^0.13.2": - version: 0.13.2 - resolution: "@rehype-pretty/transformers@npm:0.13.2" - checksum: 10c0/4b9e8b21c7ea2ff90c17b9968744d730a362f6fe501230e983fdcd95fcee37b639c2604b73196edebcea771f641e7a0c66fcc2728dd641cdaefcfa10d2f18226 - languageName: node - linkType: hard - -"@rushstack/eslint-patch@npm:^1.3.3": - version: 1.10.3 - resolution: "@rushstack/eslint-patch@npm:1.10.3" - checksum: 10c0/ec75d23fba30fc5f3303109181ce81a686f7b5660b6e06d454cd7b74a635bd68d5b28300ddd6e2a53b6cb10a876246e952e12fa058af32b2fa29b73744f00521 - languageName: node - linkType: hard - -"@shikijs/core@npm:1.6.2": - version: 1.6.2 - resolution: "@shikijs/core@npm:1.6.2" - checksum: 10c0/011068de5299c3f8508ccb6cb0432b573bedd521a9d66e4ba1b8ed28960d7a7a7c813a566452ca0959aab159793bec658c2c1f06cb0b4eff2885794dea72cfb6 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@storybook/addon-actions@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-actions@npm:8.1.6" - dependencies: - "@storybook/core-events": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@types/uuid": "npm:^9.0.1" - dequal: "npm:^2.0.2" - polished: "npm:^4.2.2" - uuid: "npm:^9.0.0" - checksum: 10c0/f5c79d27d6959edf32eee33a9d077efe45942ab76455b827597646d2d4724d96ba0ecf191ebd419ff8ef2e529751ea7c364ce79374b428cd7b94d4b312c9804e - languageName: node - linkType: hard - -"@storybook/addon-backgrounds@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-backgrounds@npm:8.1.6" - dependencies: - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/f801a85ba5e5250e519180c42b2886bd4b0ba4bf94854e5a2831daa0feb7c928490a86b305b9bb03decef4e76fad285f0b2fcef86e497fe2d2d8c1a98d5128cb - languageName: node - linkType: hard - -"@storybook/addon-controls@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-controls@npm:8.1.6" - dependencies: - "@storybook/blocks": "npm:8.1.6" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/449ad5737c8bf3f88716dd59a2af8c0e777313a4b2c0232729bc49b1b078bcaae012132151c0f6cd1e4fcd7a375e8fb6cd484f801b21c5ddbc385fc5558d10ca - languageName: node - linkType: hard - -"@storybook/addon-docs@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-docs@npm:8.1.6" - dependencies: - "@babel/core": "npm:^7.24.4" - "@mdx-js/react": "npm:^3.0.0" - "@storybook/blocks": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/components": "npm:8.1.6" - "@storybook/csf-plugin": "npm:8.1.6" - "@storybook/csf-tools": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/react-dom-shim": "npm:8.1.6" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/react": "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - fs-extra: "npm:^11.1.0" - react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - rehype-external-links: "npm:^3.0.0" - rehype-slug: "npm:^6.0.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/3c117d0b8d2fb3280412af7fb7140dca7b8e489f0b3540159eeb6a590ddcf2831a3351a61002e02316508257d7412d43441418c69adf8ab0984f1d14a88afe15 - languageName: node - linkType: hard - -"@storybook/addon-essentials@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-essentials@npm:8.1.6" - dependencies: - "@storybook/addon-actions": "npm:8.1.6" - "@storybook/addon-backgrounds": "npm:8.1.6" - "@storybook/addon-controls": "npm:8.1.6" - "@storybook/addon-docs": "npm:8.1.6" - "@storybook/addon-highlight": "npm:8.1.6" - "@storybook/addon-measure": "npm:8.1.6" - "@storybook/addon-outline": "npm:8.1.6" - "@storybook/addon-toolbars": "npm:8.1.6" - "@storybook/addon-viewport": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/manager-api": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/d3f922df82985455f9c7da93861b65d85d94414469825d4a1cdd70087c05e1bf526c285cd34496aa86171ef26ac051aaba9f4bbdc500ee7f3f7a33e4ef8c135a + checksum: 10c0/29b069dbf09e48bca321af6272574ad0fc7283174e7d092731a10663fe00c0e6b4bde5e1b5ea67725fe48dcbe8026e7ff0d69d42891c62cbb9ca408498171fbe languageName: node linkType: hard -"@storybook/addon-highlight@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-highlight@npm:8.1.6" +"@radix-ui/react-use-controllable-state@npm:1.2.2": + version: 1.2.2 + resolution: "@radix-ui/react-use-controllable-state@npm:1.2.2" dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/fe36b22c5d754fd437fd194f6679e826e847265bf83cefa1bf453a9b853976871873d5533ad0764d1ea18c4acb5c7ff7be5902a6127a8c956f8aba7fbe27fee5 + "@radix-ui/react-use-effect-event": "npm:0.0.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/f55c4b06e895293aed4b44c9ef26fb24432539f5346fcd6519c7745800535b571058685314e83486a45bf61dc83887e24826490d3068acc317fb0a9010516e63 languageName: node linkType: hard -"@storybook/addon-interactions@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-interactions@npm:8.1.6" +"@radix-ui/react-use-effect-event@npm:0.0.2": + version: 0.0.2 + resolution: "@radix-ui/react-use-effect-event@npm:0.0.2" dependencies: - "@storybook/global": "npm:^5.0.0" - "@storybook/instrumenter": "npm:8.1.6" - "@storybook/test": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - polished: "npm:^4.2.2" - ts-dedent: "npm:^2.2.0" - checksum: 10c0/d776d7c96d15a4e8969ca6bd0e03325048f222e6998bca52710cef21fa2d883f630d469dbedef0ed284f04dfa6dc8d09ff6226d4893539971aa72cc56c6b5fc0 + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/e84ff72a3e76c5ae9c94941028bb4b6472f17d4104481b9eab773deab3da640ecea035e54da9d6f4df8d84c18ef6913baf92b7511bee06930dc58bd0c0add417 languageName: node linkType: hard -"@storybook/addon-links@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-links@npm:8.1.6" +"@radix-ui/react-use-escape-keydown@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3" dependencies: - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" + "@babel/runtime": "npm:^7.13.10" + "@radix-ui/react-use-callback-ref": "npm:1.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: - react: + "@types/react": optional: true - checksum: 10c0/3f687e5f3baabf3d0a316721ae96fde35b52b99ec69b69095bbbc62b0398e755640682d683b89154866882275b2c4ffba9514660bee49e95a718631fc322375a + checksum: 10c0/3c94c78902dcb40b60083ee2184614f45c95a189178f52d89323b467bd04bcf5fdb1bc4d43debecd7f0b572c3843c7e04edbcb56f40a4b4b43936fb2770fb8ad languageName: node linkType: hard -"@storybook/addon-measure@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-measure@npm:8.1.6" +"@radix-ui/react-use-escape-keydown@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-escape-keydown@npm:1.1.1" dependencies: - "@storybook/global": "npm:^5.0.0" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/b3b7306e69ed57d6868c4a1ad146138162a5a6098c6c8620a46ca7332fb21efeba7c6882447efcfcc10dd555a4ccc2ac4386a635cb683d81aa9db0a600b609b1 + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/bff53be99e940fef1d3c4df7d560e1d9133182e5a98336255d3063327d1d3dd4ec54a95dc5afe15cca4fb6c184f0a956c70de2815578c318cf995a7f9beabaa1 languageName: node linkType: hard -"@storybook/addon-onboarding@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-onboarding@npm:8.1.6" +"@radix-ui/react-use-layout-effect@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1" dependencies: - react-confetti: "npm:^6.1.0" - checksum: 10c0/9b5e6baa3a684bcccc88204524b7d5483029c1cbb7062ba49b7303403dc1eae15a660f473e196210e6523b4f2a7802d8c96f9bfe99577e8d6fff6a6b430f3b8d + "@babel/runtime": "npm:^7.13.10" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/13cd0c38395c5838bc9a18238020d3bcf67fb340039e6d1cbf438be1b91d64cf6900b78121f3dc9219faeb40dcc7b523ce0f17e4a41631655690e5a30a40886a languageName: node linkType: hard -"@storybook/addon-outline@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-outline@npm:8.1.6" - dependencies: - "@storybook/global": "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/452e94fc198c2b0633ca15edbd6e1aa3ce5b964f105e556b146153c3a802b92708281b37add48783e786a3f8016018e03f4d040c42188caebd16b628ca3d3736 +"@radix-ui/react-use-layout-effect@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-layout-effect@npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/9f98fdaba008dfc58050de60a77670b885792df473cf82c1cef8daee919a5dd5a77d270209f5f0b0abfaac78cb1627396e3ff56c81b735be550409426fe8b040 languageName: node linkType: hard -"@storybook/addon-styling-webpack@npm:^1.0.0": - version: 1.0.0 - resolution: "@storybook/addon-styling-webpack@npm:1.0.0" - dependencies: - "@storybook/node-logger": "npm:^8.0.0-alpha.10" +"@radix-ui/react-use-previous@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-previous@npm:1.1.1" peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/34f29998305bfc9778f19d349b3237053e5661e4bbb5b7aadc6cad52b355a1123210445eca839087b3921e0a1a0057d09054adeb2d2114db6ea978f5afc4e5c7 + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/52f1089d941491cd59b7f52a5679a14e9381711419a0557ce0f3bc9a4c117078224efec54dcced41a3653a13a386a7b6ec75435d61a273e8b9f5d00235f2b182 languageName: node linkType: hard -"@storybook/addon-themes@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-themes@npm:8.1.6" +"@radix-ui/react-use-rect@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-rect@npm:1.1.1" dependencies: - ts-dedent: "npm:^2.0.0" - checksum: 10c0/9ac9b29eabdce73d9938838bf297a21397cc099e29c53e322e7bc7f7e1df7fd6954383905ac6ffd441322fe10c33e8fd8ded38fae0fc48e1082885d78e3f2cb6 - languageName: node - linkType: hard - -"@storybook/addon-toolbars@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-toolbars@npm:8.1.6" - checksum: 10c0/3b3fab9ab3187f4be9484b993c612eea52f8f3d0d9b688f5f2607230342fda51e0e6a50a7ad1bd353392ec651e8bed683118504f0fb20aaa721a4c32469b1c1e + "@radix-ui/rect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/271711404c05c589c8dbdaa748749e7daf44bcc6bffc9ecd910821c3ebca0ee245616cf5b39653ce690f53f875c3836fd3f36f51ab1c628273b6db599eee4864 languageName: node linkType: hard -"@storybook/addon-viewport@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-viewport@npm:8.1.6" +"@radix-ui/react-use-size@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-size@npm:1.1.1" dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10c0/4d9b9a19c48e03d4a57e1421ad3819e0dfa038829adef4045309916283e4ac9b159e0610fc38ac8204abe549956f0760089e80fc01a05eaf455407829a6b13c5 + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/851d09a816f44282e0e9e2147b1b571410174cc048703a50c4fa54d672de994fd1dfff1da9d480ecfd12c77ae8f48d74f01adaf668f074156b8cd0043c6c21d8 languageName: node linkType: hard -"@storybook/blocks@npm:8.1.6, @storybook/blocks@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/blocks@npm:8.1.6" +"@radix-ui/react-visually-hidden@npm:1.2.3": + version: 1.2.3 + resolution: "@radix-ui/react-visually-hidden@npm:1.2.3" dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/components": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/docs-tools": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/manager-api": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/lodash": "npm:^4.14.167" - color-convert: "npm:^2.0.1" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - markdown-to-jsx: "npm:7.3.2" - memoizerific: "npm:^1.11.3" - polished: "npm:^4.2.2" - react-colorful: "npm:^5.1.2" - telejson: "npm:^7.2.0" - tocbot: "npm:^4.20.1" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" + "@radix-ui/react-primitive": "npm:2.1.3" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - react: + "@types/react": optional: true - react-dom: + "@types/react-dom": optional: true - checksum: 10c0/5140a3241a0d67ebe40451a276fe7720c4c6b865c5379f82cc12cae0b85e00f6030953e8919c6f3d288c1d0f017f7b8c7a0dccc6b66e8c91f0e4d99a2ee1cb8b + checksum: 10c0/cf86a37f1cbee50a964056f3dc4f6bb1ee79c76daa321f913aa20ff3e1ccdfafbf2b114d7bb616aeefc7c4b895e6ca898523fdb67710d89bd5d8edb739a0d9b6 languageName: node linkType: hard -"@storybook/builder-webpack5@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/builder-webpack5@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/core-webpack": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preview": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@types/node": "npm:^18.0.0" - "@types/semver": "npm:^7.3.4" - browser-assert: "npm:^1.2.1" - case-sensitive-paths-webpack-plugin: "npm:^2.4.0" - cjs-module-lexer: "npm:^1.2.3" - constants-browserify: "npm:^1.0.0" - css-loader: "npm:^6.7.1" - es-module-lexer: "npm:^1.5.0" - express: "npm:^4.17.3" - fork-ts-checker-webpack-plugin: "npm:^8.0.0" - fs-extra: "npm:^11.1.0" - html-webpack-plugin: "npm:^5.5.0" - magic-string: "npm:^0.30.5" - path-browserify: "npm:^1.0.1" - process: "npm:^0.11.10" - semver: "npm:^7.3.7" - style-loader: "npm:^3.3.1" - terser-webpack-plugin: "npm:^5.3.1" - ts-dedent: "npm:^2.0.0" - url: "npm:^0.11.0" - util: "npm:^0.12.4" - util-deprecate: "npm:^1.0.2" - webpack: "npm:5" - webpack-dev-middleware: "npm:^6.1.2" - webpack-hot-middleware: "npm:^2.25.1" - webpack-virtual-modules: "npm:^0.5.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0e109b532fe5ad75abdf762693ffb0c9db5af2331d2de4852153fcbbb32aaee2f03ddca3a1bf6c764e6a31d53058ff521d1dd5e55bbab5896cf4650ab49ffa97 +"@radix-ui/rect@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/rect@npm:1.1.1" + checksum: 10c0/0dac4f0f15691199abe6a0e067821ddd9d0349c0c05f39834e4eafc8403caf724106884035ae91bbc826e10367e6a5672e7bec4d4243860fa7649de246b1f60b languageName: node linkType: hard -"@storybook/channels@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/channels@npm:8.1.6" - dependencies: - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - telejson: "npm:^7.2.0" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/57304d9091b24104bb8cb0d8a87cc4c0096772cea5542da8f9cf58454fe83c480f06c33ff4489e2530b8f75f576c9d4237fffde106a72663859a9d58666a257d +"@rehype-pretty/transformers@npm:^0.13.2": + version: 0.13.2 + resolution: "@rehype-pretty/transformers@npm:0.13.2" + checksum: 10c0/4b9e8b21c7ea2ff90c17b9968744d730a362f6fe501230e983fdcd95fcee37b639c2604b73196edebcea771f641e7a0c66fcc2728dd641cdaefcfa10d2f18226 languageName: node linkType: hard -"@storybook/channels@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/channels@npm:8.1.9" +"@shikijs/core@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/core@npm:3.23.0" dependencies: - "@storybook/client-logger": "npm:8.1.9" - "@storybook/core-events": "npm:8.1.9" - "@storybook/global": "npm:^5.0.0" - telejson: "npm:^7.2.0" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/9b21a03faa860e10bc00c0152cc6b59dad9042fa7529cc9804d15a18c522c43de1822b90821a209af5c05a05b83608b7ba2f15d775ee392f0b24a765feac4a90 + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + hast-util-to-html: "npm:^9.0.5" + checksum: 10c0/c595f1f2ec09cab102d2b3e03a3c64bfaace5fe52760cfbcced961d3e16571aa646c7e6f85b3d2d0242efd2c832ce4d150b5f1b7332982c17cfbe72f32bd0850 languageName: node linkType: hard -"@storybook/client-logger@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/client-logger@npm:8.1.6" +"@shikijs/engine-javascript@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/engine-javascript@npm:3.23.0" dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/09de69bb2526a7c717b7a522bc984dd4913372e2b9a75d321222af9675201eff32213aaf18b7ced1baf2e9c93b944a841207895f293842fa8aac313e18caa182 + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + oniguruma-to-es: "npm:^4.3.4" + checksum: 10c0/884ebb7f66312c9f43e71fb33a3ac0e52f925fc6932de9f68f1bf171019c011c988a4bc0217212589985b1e1bc49452ed67eacbf3d74200b4a3725f11fd8ad98 languageName: node linkType: hard -"@storybook/client-logger@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/client-logger@npm:8.1.9" +"@shikijs/engine-oniguruma@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/engine-oniguruma@npm:3.23.0" dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/bcc1363f6d3234120710b6c9a4cc0335a0aa9b150fe702888736168422b9f049e3e88f41b1eb65524fe863b587cba160f8bda57b055124c49ee88ba8516c6b2d + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + checksum: 10c0/40dbda7aef55d5946c45b8cfe56f484eadb611f9f7c9eb77ff21f0dfce2bcc775686a61eda9e06401ddd71195945a522293f51d6522fce49244b1a6b9c0f61f7 languageName: node linkType: hard -"@storybook/components@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/components@npm:8.1.6" +"@shikijs/langs@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/langs@npm:3.23.0" dependencies: - "@radix-ui/react-dialog": "npm:^1.0.5" - "@radix-ui/react-slot": "npm:^1.0.2" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - memoizerific: "npm:^1.11.3" - util-deprecate: "npm:^1.0.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - checksum: 10c0/0218fb0e124f7ab5d3557e988ef7bcfcf84ce098fff699f99f879f3cb04d73e8471f6261ae6001b6d553df0eea8a819d185140b905079a69dfb3cb75b0ae6986 + "@shikijs/types": "npm:3.23.0" + checksum: 10c0/513b90cfee0fa167d2063b7fbc2318b303a604f2e1fa156aa8b4659b49792401531a74acf68de622ecfff15738e1947a46cfe92a32fcd6a4ee5e70bcf1d06c66 languageName: node linkType: hard -"@storybook/components@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/components@npm:8.1.9" +"@shikijs/themes@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/themes@npm:3.23.0" dependencies: - "@radix-ui/react-dialog": "npm:^1.0.5" - "@radix-ui/react-slot": "npm:^1.0.2" - "@storybook/client-logger": "npm:8.1.9" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/theming": "npm:8.1.9" - "@storybook/types": "npm:8.1.9" - memoizerific: "npm:^1.11.3" - util-deprecate: "npm:^1.0.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - checksum: 10c0/a678a54e6333ee783fa379ec5eb28e6e37b89b17e39487d76c3b00d86b69619abfdb8b731c778e0a2d1d57fd68790be6b2acff5b6cb6416e4f7197dd5151727d + "@shikijs/types": "npm:3.23.0" + checksum: 10c0/5c99036d4a765765018f9106a354ebe5ccac204c69f00e3cda265828d493f005412659213f6574fa0e187c7d4437b3327bd6dad2e2146b2c472d2bf493d790dd languageName: node linkType: hard -"@storybook/core-common@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-common@npm:8.1.6" +"@shikijs/types@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/types@npm:3.23.0" dependencies: - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf-tools": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@yarnpkg/fslib": "npm:2.10.3" - "@yarnpkg/libzip": "npm:2.3.0" - chalk: "npm:^4.1.0" - cross-spawn: "npm:^7.0.3" - esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0" - esbuild-register: "npm:^3.5.0" - execa: "npm:^5.0.0" - file-system-cache: "npm:2.3.0" - find-cache-dir: "npm:^3.0.0" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" - glob: "npm:^10.0.0" - handlebars: "npm:^4.7.7" - lazy-universal-dotenv: "npm:^4.0.0" - node-fetch: "npm:^2.0.0" - picomatch: "npm:^2.3.0" - pkg-dir: "npm:^5.0.0" - prettier-fallback: "npm:prettier@^3" - pretty-hrtime: "npm:^1.0.3" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.3.7" - tempy: "npm:^3.1.0" - tiny-invariant: "npm:^1.3.1" - ts-dedent: "npm:^2.0.0" - util: "npm:^0.12.4" - peerDependencies: - prettier: ^2 || ^3 - peerDependenciesMeta: - prettier: - optional: true - checksum: 10c0/4179b7de1d0aa446dc45f5c005dd182df3cdaf7487b3dda3e419b4cd3c7ccda61729573a9beb668ea4cc1271d079a2609c0a8695b3c06ebbb1987b628be7ba9b + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/bd0d1593f830a6b4e55c77871ec1b95cc44855d6e0e26282a948a3c58827237826e4110af27eb4d3231361f1e182c4410434a1dc15ec40aea988dc92dc97e9d6 languageName: node linkType: hard -"@storybook/core-events@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-events@npm:8.1.6" - dependencies: - "@storybook/csf": "npm:^0.1.7" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/3bf5d43040c66eb6af7048f87ae925605ed4914f9776eaeb2dae4713995ef6a0838c5bae72333d1f3457081fad438c3dbc72cb723f1c08896599c5290004f3b5 +"@shikijs/vscode-textmate@npm:^10.0.2": + version: 10.0.2 + resolution: "@shikijs/vscode-textmate@npm:10.0.2" + checksum: 10c0/36b682d691088ec244de292dc8f91b808f95c89466af421cf84cbab92230f03c8348649c14b3251991b10ce632b0c715e416e992dd5f28ff3221dc2693fd9462 languageName: node linkType: hard -"@storybook/core-events@npm:8.1.9, @storybook/core-events@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/core-events@npm:8.1.9" +"@storybook/addon-docs@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/addon-docs@npm:10.2.15" dependencies: - "@storybook/csf": "npm:^0.1.7" + "@mdx-js/react": "npm:^3.0.0" + "@storybook/csf-plugin": "npm:10.2.15" + "@storybook/icons": "npm:^2.0.1" + "@storybook/react-dom-shim": "npm:10.2.15" + react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" ts-dedent: "npm:^2.0.0" - checksum: 10c0/27886c18892e0292f56a218c8b11b253f560d62f5621907eceae91ac01f6571eccd95068ebb9d0bbc6fc94afb951004d882942680d1afc7a170f3ae5be490a2b + peerDependencies: + storybook: ^10.2.15 + checksum: 10c0/924958446d85716b4df48b790453048bc88d75b803aae95fa9c8026c02293ab49eb7cecc8d2ab1041ad26e157c33e0d878619074bad64efe362e75e40ebbec1f languageName: node linkType: hard -"@storybook/core-webpack@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-webpack@npm:8.1.6" +"@storybook/addon-themes@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/addon-themes@npm:10.2.15" dependencies: - "@storybook/core-common": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/node": "npm:^18.0.0" ts-dedent: "npm:^2.0.0" - checksum: 10c0/5f1a39e25c7060d2ec6e69a9486551cc9a70c31b64ca48b697d4fd590904e7d144b9495e047531fd898af661aca32de620e9749385a45449403cdb12eae55aa8 + peerDependencies: + storybook: ^10.2.15 + checksum: 10c0/f12e07d1267c2bee32fbe519a0ba48477512b9242a9a857feae1a74b2e57f9b3e33c806c39d7f2b0f8baa344865442a5aa15e376f34cb6d17ded73ce5c02162c languageName: node linkType: hard -"@storybook/core@npm:8.6.15": - version: 8.6.15 - resolution: "@storybook/core@npm:8.6.15" +"@storybook/builder-webpack5@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/builder-webpack5@npm:10.2.15" dependencies: - "@storybook/theming": "npm:8.6.15" - better-opn: "npm:^3.0.2" - browser-assert: "npm:^1.2.1" - esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0" - esbuild-register: "npm:^3.5.0" - jsdoc-type-pratt-parser: "npm:^4.0.0" - process: "npm:^0.11.10" - recast: "npm:^0.23.5" - semver: "npm:^7.6.2" - util: "npm:^0.12.5" - ws: "npm:^8.2.3" + "@storybook/core-webpack": "npm:10.2.15" + case-sensitive-paths-webpack-plugin: "npm:^2.4.0" + cjs-module-lexer: "npm:^1.2.3" + css-loader: "npm:^7.1.2" + es-module-lexer: "npm:^1.5.0" + fork-ts-checker-webpack-plugin: "npm:^9.1.0" + html-webpack-plugin: "npm:^5.5.0" + magic-string: "npm:^0.30.5" + style-loader: "npm:^4.0.0" + terser-webpack-plugin: "npm:^5.3.14" + ts-dedent: "npm:^2.0.0" + webpack: "npm:5" + webpack-dev-middleware: "npm:^6.1.2" + webpack-hot-middleware: "npm:^2.25.1" + webpack-virtual-modules: "npm:^0.6.0" peerDependencies: - prettier: ^2 || ^3 + storybook: ^10.2.15 peerDependenciesMeta: - prettier: + typescript: optional: true - checksum: 10c0/34f1f3927d605119c80d2a3dbd8efa69d7bcf419877c09da2fc1e091fcf6bdb09d9a114c0c51651d7058425375689865435f7e6ec2be911d4dd437629d7e31e1 + checksum: 10c0/9c679133f25b76b7a49b881ad3c6a11305fb09da9887c662c08fdd9bf281433a09f8fc4b9f530e6ce2330b6222ca9e68c9ab0dd438c197227fc1de56d02c96a2 languageName: node linkType: hard -"@storybook/csf-plugin@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/csf-plugin@npm:8.1.6" +"@storybook/core-webpack@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/core-webpack@npm:10.2.15" dependencies: - "@storybook/csf-tools": "npm:8.1.6" - unplugin: "npm:^1.3.1" - checksum: 10c0/9f2888c88d09939ecf6a7f7ce7226a792382db7626993a243fd689d72369734abddaa4cdd6bf7a6cd3d456c55880a058579162fa5e2da46a43f8f71bfb070180 - languageName: node - linkType: hard - -"@storybook/csf-tools@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/csf-tools@npm:8.1.6" - dependencies: - "@babel/generator": "npm:^7.24.4" - "@babel/parser": "npm:^7.24.4" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" - "@storybook/csf": "npm:^0.1.7" - "@storybook/types": "npm:8.1.6" - fs-extra: "npm:^11.1.0" - recast: "npm:^0.23.5" ts-dedent: "npm:^2.0.0" - checksum: 10c0/d793112c4dd68b1f170adb9a6d441cb217ba30739876161ecb6ddd62841307e32dbbba51cb92d1dbe1a5785c27058d82c98125235c5977ceb51fdf9db4bb5d43 - languageName: node - linkType: hard - -"@storybook/csf@npm:^0.0.1": - version: 0.0.1 - resolution: "@storybook/csf@npm:0.0.1" - dependencies: - lodash: "npm:^4.17.15" - checksum: 10c0/7b0f75763415f9147692a460b44417ee56ea9639433716a1fd4d1df4c8b0221cbc71b8da0fbed4dcecb3ccd6c7ed64be39f5c255c713539a6088a1d6488aaa24 - languageName: node - linkType: hard - -"@storybook/csf@npm:^0.1.7": - version: 0.1.8 - resolution: "@storybook/csf@npm:0.1.8" - dependencies: - type-fest: "npm:^2.19.0" - checksum: 10c0/4fd08bd65205395aba693f053706d5c880db5102543744c4e13768902a615df9a479ac03f80fe33297bd5457a0d0ef655cd33d41a0e379764dd6f0c6b9a7d88c + peerDependencies: + storybook: ^10.2.15 + checksum: 10c0/4b8e03e9b81a14b2abc5f0738fd88d0d8127bbfffd2b8397af92b215c60bd2b6bbe7fab14e5719110ba4a0e328dd39a1dfc3e0b5d2f5ffb354aedfae3bdbf248 languageName: node linkType: hard -"@storybook/docs-tools@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/docs-tools@npm:8.1.6" +"@storybook/csf-plugin@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/csf-plugin@npm:10.2.15" dependencies: - "@storybook/core-common": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/doctrine": "npm:^0.0.3" - assert: "npm:^2.1.0" - doctrine: "npm:^3.0.0" - lodash: "npm:^4.17.21" - checksum: 10c0/5e7e4c1e7e05acdbe74153fcd8eca0dd35eaa1b147e5b47db8a9b663457826505bb11407b0c7f7a0a73f3b4487ed2ba08a8eb9c42cf9ecd7792c162266360f7a + unplugin: "npm:^2.3.5" + peerDependencies: + esbuild: "*" + rollup: "*" + storybook: ^10.2.15 + vite: "*" + webpack: "*" + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + checksum: 10c0/301ebda3a0a282f8e1ed485aecd96576b7319f5e76125e31091c0fb2b984bc30bb520faf4569e2c9b13a58dbf350acff166f2afd26f145578d96e6c0bcc2274f languageName: node linkType: hard @@ -5387,205 +4750,89 @@ __metadata: languageName: node linkType: hard -"@storybook/icons@npm:^1.2.5": - version: 1.2.9 - resolution: "@storybook/icons@npm:1.2.9" +"@storybook/icons@npm:^2.0.1": + version: 2.0.1 + resolution: "@storybook/icons@npm:2.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/37513dbf526bf827941ee274e0f8358c6db41c963ffd0c408a674d794fa9af8d835e0dc4e58fd589106c4f33da5552aa8315ae45745f0c107ade0f6299cbf710 - languageName: node - linkType: hard - -"@storybook/instrumenter@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/instrumenter@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@storybook/preview-api": "npm:8.1.6" - "@vitest/utils": "npm:^1.3.1" - util: "npm:^0.12.4" - checksum: 10c0/eaed4ddf9b4e854532a7622626d5880bca9cf86822b072739aa9c42043b99bb11c3efe8f2653eadf3048759c82949f4d88e9e56c27ea14bcef93fd592e4577aa - languageName: node - linkType: hard - -"@storybook/manager-api@npm:8.1.6, @storybook/manager-api@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/manager-api@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/router": "npm:8.1.6" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - store2: "npm:^2.14.2" - telejson: "npm:^7.2.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/4967126179d71cb3eae490e6bc7c05a616d561302d6d9970ea4af44c7a2e64f6fdf41d0b050073344a24dee07201ea9aef012b70dc623cc56777a8a2204af4ca - languageName: node - linkType: hard - -"@storybook/manager-api@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/manager-api@npm:8.1.9" - dependencies: - "@storybook/channels": "npm:8.1.9" - "@storybook/client-logger": "npm:8.1.9" - "@storybook/core-events": "npm:8.1.9" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/router": "npm:8.1.9" - "@storybook/theming": "npm:8.1.9" - "@storybook/types": "npm:8.1.9" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - store2: "npm:^2.14.2" - telejson: "npm:^7.2.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/279f066c53da7374766aa1f174914a54aa2b5a3151f7c67ccfe3f4b493f1329ba156cf968811bd5e22853e4a84ee40c32ade66e235ec1908b9ac162096450cbe + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/df2bbf1a5b50f12ab1bf78cae6de4dbf7c49df0e3a5f845553b51b20adbe8386a09fd172ea60342379f9284bb528cba2d0e2659cae6eb8d015cf92c8b32f1222 languageName: node linkType: hard -"@storybook/nextjs@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/nextjs@npm:8.1.6" +"@storybook/nextjs@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/nextjs@npm:10.2.15" dependencies: - "@babel/core": "npm:^7.24.4" + "@babel/core": "npm:^7.28.5" "@babel/plugin-syntax-bigint": "npm:^7.8.3" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.1" - "@babel/plugin-transform-class-properties": "npm:^7.24.1" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.1" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.1" - "@babel/plugin-transform-runtime": "npm:^7.24.3" - "@babel/preset-env": "npm:^7.24.4" - "@babel/preset-react": "npm:^7.24.1" - "@babel/preset-typescript": "npm:^7.24.1" - "@babel/runtime": "npm:^7.24.4" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.4" + "@babel/plugin-transform-runtime": "npm:^7.28.5" + "@babel/preset-env": "npm:^7.28.5" + "@babel/preset-react": "npm:^7.28.5" + "@babel/preset-typescript": "npm:^7.28.5" + "@babel/runtime": "npm:^7.28.4" "@pmmmwh/react-refresh-webpack-plugin": "npm:^0.5.11" - "@storybook/builder-webpack5": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preset-react-webpack": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/react": "npm:8.1.6" - "@storybook/test": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/node": "npm:^18.0.0" - "@types/semver": "npm:^7.3.4" + "@storybook/builder-webpack5": "npm:10.2.15" + "@storybook/preset-react-webpack": "npm:10.2.15" + "@storybook/react": "npm:10.2.15" + "@types/semver": "npm:^7.7.1" babel-loader: "npm:^9.1.3" css-loader: "npm:^6.7.3" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" - image-size: "npm:^1.0.0" + image-size: "npm:^2.0.2" loader-utils: "npm:^3.2.1" node-polyfill-webpack-plugin: "npm:^2.0.1" - pnp-webpack-plugin: "npm:^1.7.0" postcss: "npm:^8.4.38" postcss-loader: "npm:^8.1.1" react-refresh: "npm:^0.14.0" resolve-url-loader: "npm:^5.0.0" - sass-loader: "npm:^12.4.0" - semver: "npm:^7.3.5" - sharp: "npm:^0.33.3" + sass-loader: "npm:^16.0.5" + semver: "npm:^7.7.3" style-loader: "npm:^3.3.1" - styled-jsx: "npm:5.1.1" - ts-dedent: "npm:^2.0.0" + styled-jsx: "npm:^5.1.6" tsconfig-paths: "npm:^4.0.0" tsconfig-paths-webpack-plugin: "npm:^4.0.1" peerDependencies: - next: ^13.5.0 || ^14.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + next: ^14.1.0 || ^15.0.0 || ^16.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 webpack: ^5.0.0 - dependenciesMeta: - sharp: - optional: true peerDependenciesMeta: typescript: optional: true webpack: optional: true - checksum: 10c0/90e74c370ef5be94b402c8d8b09916e8ab433d4352b3f008246f4eb23d68400b172fcfaf1391373907f571760c396131e38df4c30c8efa81a1afb67891411cd9 - languageName: node - linkType: hard - -"@storybook/node-logger@npm:8.1.6, @storybook/node-logger@npm:^8.0.0-alpha.10": - version: 8.1.6 - resolution: "@storybook/node-logger@npm:8.1.6" - checksum: 10c0/db35dc1cfff3f716c8c8ddb0e7ccf6ae6369d42642038387547f8056e227c9747800d1937d9452b079ec350c2d7421f3ddb89f812582be9c9bf83b6d50811d02 + checksum: 10c0/403a93a4b4018300a612b439c0c4b489eb339937eb15393be79b6c86237839066b489472fa01f1d929b4f20bb145619f932b1e1ba2b73572eeea82fc197aa5aa languageName: node linkType: hard -"@storybook/preset-react-webpack@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/preset-react-webpack@npm:8.1.6" +"@storybook/preset-react-webpack@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/preset-react-webpack@npm:10.2.15" dependencies: - "@storybook/core-webpack": "npm:8.1.6" - "@storybook/docs-tools": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/react": "npm:8.1.6" + "@storybook/core-webpack": "npm:10.2.15" "@storybook/react-docgen-typescript-plugin": "npm:1.0.6--canary.9.0c3f3b7.0" - "@types/node": "npm:^18.0.0" - "@types/semver": "npm:^7.3.4" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" + "@types/semver": "npm:^7.7.1" magic-string: "npm:^0.30.5" - react-docgen: "npm:^7.0.0" + react-docgen: "npm:^7.1.1" resolve: "npm:^1.22.8" - semver: "npm:^7.3.7" + semver: "npm:^7.7.3" tsconfig-paths: "npm:^4.2.0" webpack: "npm:5" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/50164ed24db61a505f5c6c3842af8c9b2350463e2d31b53ce193e701a4a61f813a2d1175394af3423d38424aba34ef38993b0629c2e9ebb1f00f4481a8696565 - languageName: node - linkType: hard - -"@storybook/preview-api@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/preview-api@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/types": "npm:8.1.6" - "@types/qs": "npm:^6.9.5" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - tiny-invariant: "npm:^1.3.1" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/7402944ac2179c0abc4205796ebd20387ae850e1a2495223eb1fa3245d4bfd3743fdeaa1d8c7bbd1a4b84c0456a42aa5ae8f619f0966e882d25b231eb2b9af14 - languageName: node - linkType: hard - -"@storybook/preview@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/preview@npm:8.1.6" - checksum: 10c0/662f4fb7b20ce5d90c9fa584f68f75d005fb70ef727c44e300fa88acd3376b1f620718a29294cea4909261dcdb6366888c29cd1231ed3048804a3342d863a56c + checksum: 10c0/9f72c8fdbfd9f926bee2486c11390124217477d1970355a43fa1a3611f4bd67105a63050976b440b33a280cc39c8f6d1b0c37d4bf50723182f75947c9d96f46b languageName: node linkType: hard @@ -5607,227 +4854,240 @@ __metadata: languageName: node linkType: hard -"@storybook/react-dom-shim@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/react-dom-shim@npm:8.1.6" +"@storybook/react-dom-shim@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/react-dom-shim@npm:10.2.15" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - checksum: 10c0/d7da2db42dd06c949693bbba7595659a801912374cdf91bd485587bb4980b7e4e6249ed5f06d5088a62882d28eba937cb6d415a6f806688a2ba87d6e6856dfbd + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 + checksum: 10c0/238653cf2e8ab47d386d1ff3b8a35ad591779362920532d33fe88224713edfcd279a69c32daae8a2e8762a8a9b32836ee3c5a3c9cbf1d75e93d00f72503f82d0 languageName: node linkType: hard -"@storybook/react@npm:8.1.6, @storybook/react@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/react@npm:8.1.6" +"@storybook/react@npm:10.2.15, @storybook/react@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/react@npm:10.2.15" dependencies: - "@storybook/client-logger": "npm:8.1.6" - "@storybook/docs-tools": "npm:8.1.6" "@storybook/global": "npm:^5.0.0" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/react-dom-shim": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/escodegen": "npm:^0.0.6" - "@types/estree": "npm:^0.0.51" - "@types/node": "npm:^18.0.0" - acorn: "npm:^7.4.1" - acorn-jsx: "npm:^5.3.1" - acorn-walk: "npm:^7.2.0" - escodegen: "npm:^2.1.0" - html-tags: "npm:^3.1.0" - lodash: "npm:^4.17.21" - prop-types: "npm:^15.7.2" - react-element-to-jsx-string: "npm:^15.0.0" - semver: "npm:^7.3.7" - ts-dedent: "npm:^2.0.0" - type-fest: "npm:~2.19" - util-deprecate: "npm:^1.0.2" + "@storybook/react-dom-shim": "npm:10.2.15" + react-docgen: "npm:^8.0.2" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - typescript: ">= 4.2.x" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 + typescript: ">= 4.9.x" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/adf5b694496cc2ab144b634bed774499d200b05d59844a52e6d8a7daeb43569077c0ab1da8c8ca27b1822c495e456223bd0e1d93ddff29bf1c387c394cba24b3 + checksum: 10c0/09fc7636e28d2392518adbef71f5d556f247e99a0102e9d8916990be44e5a987e03a52c085f3d0006bbad56172344cb9ad8fb3b0bd9de7abf378eb4d341af4a3 languageName: node linkType: hard -"@storybook/router@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/router@npm:8.1.6" +"@swc/helpers@npm:0.5.15": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" dependencies: - "@storybook/client-logger": "npm:8.1.6" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - checksum: 10c0/426d14cc7905e7bf0f6e784cb02002205bd2b054c3df13d85d59551ceaf1d1409f071170a0283f3d395b58e8e690c06df95961e3a94fc15a7772f24e9f19829b + tslib: "npm:^2.8.0" + checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 languageName: node linkType: hard -"@storybook/router@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/router@npm:8.1.9" +"@tailwindcss/node@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/node@npm:4.2.1" dependencies: - "@storybook/client-logger": "npm:8.1.9" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - checksum: 10c0/386ff4052441d1e5076b818fd888aeee33babd7da1c667dee40a8fd61109f3f2275abe7f06c6b6e0143ef2fb098f0b304091141cee8db7d7f447972554423e63 + "@jridgewell/remapping": "npm:^2.3.5" + enhanced-resolve: "npm:^5.19.0" + jiti: "npm:^2.6.1" + lightningcss: "npm:1.31.1" + magic-string: "npm:^0.30.21" + source-map-js: "npm:^1.2.1" + tailwindcss: "npm:4.2.1" + checksum: 10c0/7b1bf77d2d714df98201cc2f308bee8edfebaf2ef520ec15cb9515e2aadabb28b4d2ecb165dd278716b3f6767da10e4d9a445de34ee8f7ec056fc9c1d8e275a1 languageName: node linkType: hard -"@storybook/test@npm:8.1.6, @storybook/test@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/test@npm:8.1.6" - dependencies: - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/instrumenter": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@testing-library/dom": "npm:^9.3.4" - "@testing-library/jest-dom": "npm:^6.4.2" - "@testing-library/user-event": "npm:^14.5.2" - "@vitest/expect": "npm:1.3.1" - "@vitest/spy": "npm:^1.3.1" - util: "npm:^0.12.4" - checksum: 10c0/a3db0ef52c3614868886fff54f0dda61d83a5593877536d195af631564c81fd4c1bf09f84d85289c81aab693d0d1d97244784ff5479c58ac4adcc5a4eeae5d81 +"@tailwindcss/oxide-android-arm64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-android-arm64@npm:4.2.1" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@storybook/theming@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/theming@npm:8.1.6" - dependencies: - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 10c0/13bf3c940ce2ff27088d9147d22cd45f53de5251e8d41cc170d2f569cd6ba30aa1a4574494a15774c82f501889709accff370b9131a5d973243528160d7a0d50 +"@tailwindcss/oxide-darwin-arm64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.2.1" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@storybook/theming@npm:8.1.9, @storybook/theming@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/theming@npm:8.1.9" - dependencies: - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1" - "@storybook/client-logger": "npm:8.1.9" - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 10c0/c340d53086527a5bd8ea8af7a8961679eecdefe5ce23c12d05127180a460e1824b667c27dfe42106d1812d75e8c754ca890c928b39e6947ef7ad8228a305188c +"@tailwindcss/oxide-darwin-x64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-darwin-x64@npm:4.2.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-freebsd-x64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.2.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-musl@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.2.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-x64-gnu@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.2.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-x64-musl@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.2.1" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@storybook/theming@npm:8.6.15": - version: 8.6.15 - resolution: "@storybook/theming@npm:8.6.15" - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - checksum: 10c0/b5ef8fb7e987f7b416c986e110e4d7191bb27df3e10c4e62130f6299f0cf5cf7f1b345493b221383ca103d85e09d03a879918a5de5df1ff8916713995f1ad501 +"@tailwindcss/oxide-wasm32-wasi@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.2.1" + dependencies: + "@emnapi/core": "npm:^1.8.1" + "@emnapi/runtime": "npm:^1.8.1" + "@emnapi/wasi-threads": "npm:^1.1.0" + "@napi-rs/wasm-runtime": "npm:^1.1.1" + "@tybys/wasm-util": "npm:^0.10.1" + tslib: "npm:^2.8.1" + conditions: cpu=wasm32 languageName: node linkType: hard -"@storybook/types@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/types@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@types/express": "npm:^4.7.0" - file-system-cache: "npm:2.3.0" - checksum: 10c0/f6ccfe58e921cbe533b33d8bcfab2e0289f7018f9baa5052f0997f46ade3e0c5fc150819e1ced4bf6dc384de0964564c4dbd3383a380e9786906739574cd82b7 +"@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.1" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@storybook/types@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/types@npm:8.1.9" - dependencies: - "@storybook/channels": "npm:8.1.9" - "@types/express": "npm:^4.7.0" - file-system-cache: "npm:2.3.0" - checksum: 10c0/e046651fdab5bcd64a4f91345ff79065bfd6b67fe5d88ccf9e19509906df484dbca59254e2ff7c8cc9bdd556e8cc0cf2e9f6cf5d7c529289583b5ebe8443dcb6 +"@tailwindcss/oxide-win32-x64-msvc@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.2.1" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/helpers@npm:0.5.15": - version: 0.5.15 - resolution: "@swc/helpers@npm:0.5.15" +"@tailwindcss/oxide@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide@npm:4.2.1" + dependencies: + "@tailwindcss/oxide-android-arm64": "npm:4.2.1" + "@tailwindcss/oxide-darwin-arm64": "npm:4.2.1" + "@tailwindcss/oxide-darwin-x64": "npm:4.2.1" + "@tailwindcss/oxide-freebsd-x64": "npm:4.2.1" + "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.2.1" + "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.2.1" + "@tailwindcss/oxide-linux-arm64-musl": "npm:4.2.1" + "@tailwindcss/oxide-linux-x64-gnu": "npm:4.2.1" + "@tailwindcss/oxide-linux-x64-musl": "npm:4.2.1" + "@tailwindcss/oxide-wasm32-wasi": "npm:4.2.1" + "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.2.1" + "@tailwindcss/oxide-win32-x64-msvc": "npm:4.2.1" + dependenciesMeta: + "@tailwindcss/oxide-android-arm64": + optional: true + "@tailwindcss/oxide-darwin-arm64": + optional: true + "@tailwindcss/oxide-darwin-x64": + optional: true + "@tailwindcss/oxide-freebsd-x64": + optional: true + "@tailwindcss/oxide-linux-arm-gnueabihf": + optional: true + "@tailwindcss/oxide-linux-arm64-gnu": + optional: true + "@tailwindcss/oxide-linux-arm64-musl": + optional: true + "@tailwindcss/oxide-linux-x64-gnu": + optional: true + "@tailwindcss/oxide-linux-x64-musl": + optional: true + "@tailwindcss/oxide-wasm32-wasi": + optional: true + "@tailwindcss/oxide-win32-arm64-msvc": + optional: true + "@tailwindcss/oxide-win32-x64-msvc": + optional: true + checksum: 10c0/4f9bfa40cde6925eed1759caf857831779a834a1b8776cc7df5bb48a279b7dcd2e761a31ffbd297d135a64b58f25e092d7c781c06cf44667746f7e5a5a3e0183 + languageName: node + linkType: hard + +"@tailwindcss/postcss@npm:^4.1.0": + version: 4.2.1 + resolution: "@tailwindcss/postcss@npm:4.2.1" dependencies: - tslib: "npm:^2.8.0" - checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 + "@alloc/quick-lru": "npm:^5.2.0" + "@tailwindcss/node": "npm:4.2.1" + "@tailwindcss/oxide": "npm:4.2.1" + postcss: "npm:^8.5.6" + tailwindcss: "npm:4.2.1" + checksum: 10c0/c9869a10c284241b2e51ba25750ae711d1ac3187356093c3a047eb8139124e73412036de7a11ad5c145360a312dcdebde59849f6d65e6296cba525186a8243f6 languageName: node linkType: hard -"@testing-library/dom@npm:^9.3.4": - version: 9.3.4 - resolution: "@testing-library/dom@npm:9.3.4" +"@tailwindcss/typography@npm:^0.5.19": + version: 0.5.19 + resolution: "@tailwindcss/typography@npm:0.5.19" dependencies: - "@babel/code-frame": "npm:^7.10.4" - "@babel/runtime": "npm:^7.12.5" - "@types/aria-query": "npm:^5.0.1" - aria-query: "npm:5.1.3" - chalk: "npm:^4.1.0" - dom-accessibility-api: "npm:^0.5.9" - lz-string: "npm:^1.5.0" - pretty-format: "npm:^27.0.2" - checksum: 10c0/147da340e8199d7f98f3a4ad8aa22ed55b914b83957efa5eb22bfea021a979ebe5a5182afa9c1e5b7a5f99a7f6744a5a4d9325ae46ec3b33b5a15aed8750d794 + postcss-selector-parser: "npm:6.0.10" + peerDependencies: + tailwindcss: "*" + checksum: 10c0/b9eb38e9c7adca59b55d7321275f59ea62c7d65a0c3d324c18c1c5864c69ec6e15b838e7df61e531cda62cfea08627b4343bc419bb0996182321891e5171e4d6 languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.4.2": - version: 6.4.5 - resolution: "@testing-library/jest-dom@npm:6.4.5" +"@testing-library/jest-dom@npm:^6.6.3": + version: 6.9.1 + resolution: "@testing-library/jest-dom@npm:6.9.1" dependencies: - "@adobe/css-tools": "npm:^4.3.2" - "@babel/runtime": "npm:^7.9.2" + "@adobe/css-tools": "npm:^4.4.0" aria-query: "npm:^5.0.0" - chalk: "npm:^3.0.0" css.escape: "npm:^1.5.1" dom-accessibility-api: "npm:^0.6.3" - lodash: "npm:^4.17.21" + picocolors: "npm:^1.1.1" redent: "npm:^3.0.0" - peerDependencies: - "@jest/globals": ">= 28" - "@types/bun": "*" - "@types/jest": ">= 28" - jest: ">= 28" - vitest: ">= 0.32" - peerDependenciesMeta: - "@jest/globals": - optional: true - "@types/bun": - optional: true - "@types/jest": - optional: true - jest: - optional: true - vitest: - optional: true - checksum: 10c0/4cfdd44e2abab2b9d399c47cbfe686729bb65160d7df0f9e2329aaaea7702f6e852a9eefb29b468f00c1e5a5274b684f8cac76959d33299dfa909ba007ea191d + checksum: 10c0/4291ebd2f0f38d14cefac142c56c337941775a5807e2a3d6f1a14c2fbd6be76a18e498ed189e95bedc97d9e8cf1738049bc76c85b5bc5e23fae7c9e10f7b3a12 languageName: node linkType: hard -"@testing-library/user-event@npm:^14.5.2": - version: 14.5.2 - resolution: "@testing-library/user-event@npm:14.5.2" +"@testing-library/user-event@npm:^14.6.1": + version: 14.6.1 + resolution: "@testing-library/user-event@npm:14.6.1" peerDependencies: "@testing-library/dom": ">=7.21.4" - checksum: 10c0/68a0c2aa28a3c8e6eb05cafee29705438d7d8a9427423ce5064d44f19c29e89b5636de46dd2f28620fb10abba75c67130185bbc3aa23ac1163a227a5f36641e1 + checksum: 10c0/75fea130a52bf320d35d46ed54f3eec77e71a56911b8b69a3fe29497b0b9947b2dc80d30f04054ad4ce7f577856ae3e5397ea7dff0ef14944d3909784c7a93fe languageName: node linkType: hard @@ -6269,23 +5529,16 @@ __metadata: languageName: node linkType: hard -"@types/acorn@npm:^4.0.0": - version: 4.0.6 - resolution: "@types/acorn@npm:4.0.6" +"@tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" dependencies: - "@types/estree": "npm:*" - checksum: 10c0/5a65a1d7e91fc95703f0a717897be60fa7ccd34b17f5462056274a246e6690259fe0a1baabc86fd3260354f87245cb3dc483346d7faad2b78fc199763978ede9 - languageName: node - linkType: hard - -"@types/aria-query@npm:^5.0.1": - version: 5.0.4 - resolution: "@types/aria-query@npm:5.0.4" - checksum: 10c0/dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 languageName: node linkType: hard -"@types/babel__core@npm:^7.18.0": +"@types/babel__core@npm:^7.18.0, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -6326,22 +5579,22 @@ __metadata: languageName: node linkType: hard -"@types/body-parser@npm:*": - version: 1.19.5 - resolution: "@types/body-parser@npm:1.19.5" +"@types/babel__traverse@npm:^7.20.7": + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@types/connect": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 languageName: node linkType: hard -"@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f languageName: node linkType: hard @@ -6354,96 +5607,93 @@ __metadata: languageName: node linkType: hard -"@types/debug@npm:^4.0.0": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" - dependencies: - "@types/ms": "npm:*" - checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f +"@types/d3-color@npm:*": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 10c0/65eb0487de606eb5ad81735a9a5b3142d30bc5ea801ed9b14b77cb14c9b909f718c059f13af341264ee189acf171508053342142bdf99338667cea26a2d8d6ae languageName: node linkType: hard -"@types/doctrine@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/doctrine@npm:0.0.3" - checksum: 10c0/566dcdc988c97ff01d14493ceb2223643347f07cf0a88c86cd7cb7c2821cfc837fd39295e6809a29614fdfdc6c4e981408155ca909b2e5da5d947af939b6c966 +"@types/d3-drag@npm:^3.0.7": + version: 3.0.7 + resolution: "@types/d3-drag@npm:3.0.7" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/65e29fa32a87c72d26c44b5e2df3bf15af21cd128386bcc05bcacca255927c0397d0cd7e6062aed5f0abd623490544a9d061c195f5ed9f018fe0b698d99c079d languageName: node linkType: hard -"@types/doctrine@npm:^0.0.9": - version: 0.0.9 - resolution: "@types/doctrine@npm:0.0.9" - checksum: 10c0/cdaca493f13c321cf0cacd1973efc0ae74569633145d9e6fc1128f32217a6968c33bea1f858275239fe90c98f3be57ec8f452b416a9ff48b8e8c1098b20fa51c +"@types/d3-interpolate@npm:*, @types/d3-interpolate@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/d3-interpolate@npm:3.0.4" + dependencies: + "@types/d3-color": "npm:*" + checksum: 10c0/066ebb8da570b518dd332df6b12ae3b1eaa0a7f4f0c702e3c57f812cf529cc3500ec2aac8dc094f31897790346c6b1ebd8cd7a077176727f4860c2b181a65ca4 languageName: node linkType: hard -"@types/emscripten@npm:^1.39.6": - version: 1.39.13 - resolution: "@types/emscripten@npm:1.39.13" - checksum: 10c0/99c314418b6fbe113c4c81dc89501bdf723020d1de262a36a4e45236b268dcec3deab104e3a7d3569e6d7c5c942de30c9c6d77b93170c1bcaa85620c7ee4c2ba +"@types/d3-selection@npm:*, @types/d3-selection@npm:^3.0.10": + version: 3.0.11 + resolution: "@types/d3-selection@npm:3.0.11" + checksum: 10c0/0c512956c7503ff5def4bb32e0c568cc757b9a2cc400a104fc0f4cfe5e56d83ebde2a97821b6f2cb26a7148079d3b86a2f28e11d68324ed311cf35c2ed980d1d languageName: node linkType: hard -"@types/escodegen@npm:^0.0.6": - version: 0.0.6 - resolution: "@types/escodegen@npm:0.0.6" - checksum: 10c0/bbef189319c7b0386486bc7224369f118c7aedf35cc13e40ae5879b9ab4f848936f31e8eea50e71d4de72d4b7a77d9e6e9e5ceec4406c648fbc0077ede634ed5 +"@types/d3-transition@npm:^3.0.8": + version: 3.0.9 + resolution: "@types/d3-transition@npm:3.0.9" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/4f68b9df7ac745b3491216c54203cbbfa0f117ae4c60e2609cdef2db963582152035407fdff995b10ee383bae2f05b7743493f48e1b8e46df54faa836a8fb7b5 languageName: node linkType: hard -"@types/estree-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree-jsx@npm:1.0.5" +"@types/d3-zoom@npm:^3.0.8": + version: 3.0.8 + resolution: "@types/d3-zoom@npm:3.0.8" dependencies: - "@types/estree": "npm:*" - checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + "@types/d3-interpolate": "npm:*" + "@types/d3-selection": "npm:*" + checksum: 10c0/1dbdbcafddcae12efb5beb6948546963f29599e18bc7f2a91fb69cc617c2299a65354f2d47e282dfb86fec0968406cd4fb7f76ba2d2fb67baa8e8d146eb4a547 languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d +"@types/debug@npm:^4.0.0": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f languageName: node linkType: hard -"@types/estree@npm:^0.0.51": - version: 0.0.51 - resolution: "@types/estree@npm:0.0.51" - checksum: 10c0/a70c60d5e634e752fcd45b58c9c046ef22ad59ede4bc93ad5193c7e3b736ebd6bcd788ade59d9c3b7da6eeb0939235f011d4c59bb4fc04d8c346b76035099dd1 +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 languageName: node linkType: hard -"@types/express-serve-static-core@npm:^4.17.33": - version: 4.19.3 - resolution: "@types/express-serve-static-core@npm:4.19.3" - dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/5d2a1fb96a17a8e0e8c59325dfeb6d454bbc5c9b9b6796eec0397ddf9dbd262892040d5da3d72b5d7148f34bb3fcd438faf1b37fcba8c5a03e75fae491ad1edf +"@types/doctrine@npm:^0.0.9": + version: 0.0.9 + resolution: "@types/doctrine@npm:0.0.9" + checksum: 10c0/cdaca493f13c321cf0cacd1973efc0ae74569633145d9e6fc1128f32217a6968c33bea1f858275239fe90c98f3be57ec8f452b416a9ff48b8e8c1098b20fa51c languageName: node linkType: hard -"@types/express@npm:^4.7.0": - version: 4.17.21 - resolution: "@types/express@npm:4.17.21" +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.33" - "@types/qs": "npm:*" - "@types/serve-static": "npm:*" - checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d languageName: node linkType: hard -"@types/hast@npm:^2.0.0": - version: 2.3.10 - resolution: "@types/hast@npm:2.3.10" - dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/16daac35d032e656defe1f103f9c09c341a6dc553c7ec17b388274076fa26e904a71ea5ea41fd368a6d5f1e9e53be275c80af7942b9c466d8511d261c9529c7e +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d languageName: node linkType: hard @@ -6463,13 +5713,6 @@ __metadata: languageName: node linkType: hard -"@types/http-errors@npm:*": - version: 2.0.4 - resolution: "@types/http-errors@npm:2.0.4" - checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -6477,13 +5720,6 @@ __metadata: languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - "@types/lodash.camelcase@npm:^4": version: 4.3.9 resolution: "@types/lodash.camelcase@npm:4.3.9" @@ -6511,481 +5747,170 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:*, @types/lodash@npm:^4.14.167": - version: 4.17.5 - resolution: "@types/lodash@npm:4.17.5" - checksum: 10c0/55924803ed853e72261512bd3eaf2c5b16558c3817feb0a3125ef757afe46e54b86f33d1960e40b7606c0ddab91a96f47966bf5e6006b7abfd8994c13b04b19b - languageName: node - linkType: hard - -"@types/mdast@npm:^3.0.0": - version: 3.0.15 - resolution: "@types/mdast@npm:3.0.15" - dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/fcbf716c03d1ed5465deca60862e9691414f9c43597c288c7d2aefbe274552e1bbd7aeee91b88a02597e88a28c139c57863d0126fcf8416a95fdc681d054ee3d - languageName: node - linkType: hard - -"@types/mdast@npm:^4.0.0": - version: 4.0.4 - resolution: "@types/mdast@npm:4.0.4" - dependencies: - "@types/unist": "npm:*" - checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 - languageName: node - linkType: hard - -"@types/mdx@npm:^2.0.0": - version: 2.0.13 - resolution: "@types/mdx@npm:2.0.13" - checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 - languageName: node - linkType: hard - -"@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc - languageName: node - linkType: hard - -"@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: 10c0/ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc - languageName: node - linkType: hard - -"@types/node@npm:*, @types/node@npm:>=13.7.0, @types/node@npm:^20": - version: 20.14.2 - resolution: "@types/node@npm:20.14.2" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/2d86e5f2227aaa42212e82ea0affe72799111b888ff900916376450b02b09b963ca888b20d9c332d8d2b833ed4781987867a38eaa2e4863fa8439071468b0a6f - languageName: node - linkType: hard - -"@types/node@npm:^18.0.0": - version: 18.19.34 - resolution: "@types/node@npm:18.19.34" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/e985f50684def801801069e236165ee511f9195fc04ad4a2af7642d86aeaeaf7bfe34c147f894a48618a5c71c15b388ca91341a244792149543a712e38351988 - languageName: node - linkType: hard - -"@types/parse-json@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/parse-json@npm:4.0.2" - checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 - languageName: node - linkType: hard - -"@types/parse5@npm:^6.0.0": - version: 6.0.3 - resolution: "@types/parse5@npm:6.0.3" - checksum: 10c0/a7c7ef6625974b74b93c1105953003a2291897e453369efcadc569b907de2784d61d4e6905de3ef959fa07f3278f41ed0c22ead0173776023fc43b6ed31042d0 - languageName: node - linkType: hard - -"@types/prompts@npm:^2": - version: 2.4.9 - resolution: "@types/prompts@npm:2.4.9" - dependencies: - "@types/node": "npm:*" - kleur: "npm:^3.0.3" - checksum: 10c0/22fe0da6807681c85e88ba283184f4be4c8a95c744ea12a638865c98c4e0c22e7f733542f6b0f1fbca02245cdc3fe84feacf9c9adf4ddd8bc98a337fd679d8d2 - languageName: node - linkType: hard - -"@types/prop-types@npm:*": - version: 15.7.12 - resolution: "@types/prop-types@npm:15.7.12" - checksum: 10c0/1babcc7db6a1177779f8fde0ccc78d64d459906e6ef69a4ed4dd6339c920c2e05b074ee5a92120fe4e9d9f1a01c952f843ebd550bee2332fc2ef81d1706878f8 - languageName: node - linkType: hard - -"@types/qs@npm:*, @types/qs@npm:^6.9.5": - version: 6.9.15 - resolution: "@types/qs@npm:6.9.15" - checksum: 10c0/49c5ff75ca3adb18a1939310042d273c9fc55920861bd8e5100c8a923b3cda90d759e1a95e18334092da1c8f7b820084687770c83a1ccef04fb2c6908117c823 - languageName: node - linkType: hard - -"@types/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c - languageName: node - linkType: hard - -"@types/react-dom@npm:^18": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/6c90d2ed72c5a0e440d2c75d99287e4b5df3e7b011838cdc03ae5cd518ab52164d86990e73246b9d812eaf02ec351d74e3b4f5bd325bf341e13bf980392fd53b - languageName: node - linkType: hard - -"@types/react@npm:*, @types/react@npm:^16.8.0 || ^17.0.0 || ^18.0.0, @types/react@npm:^18": - version: 18.3.3 - resolution: "@types/react@npm:18.3.3" - dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10c0/fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114 - languageName: node - linkType: hard - -"@types/resolve@npm:^1.17.1, @types/resolve@npm:^1.20.2": - version: 1.20.6 - resolution: "@types/resolve@npm:1.20.6" - checksum: 10c0/a9b0549d816ff2c353077365d865a33655a141d066d0f5a3ba6fd4b28bc2f4188a510079f7c1f715b3e7af505a27374adce2a5140a3ece2a059aab3d6e1a4244 - languageName: node - linkType: hard - -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.3.4": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa - languageName: node - linkType: hard - -"@types/send@npm:*": - version: 0.17.4 - resolution: "@types/send@npm:0.17.4" - dependencies: - "@types/mime": "npm:^1" - "@types/node": "npm:*" - checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c - languageName: node - linkType: hard - -"@types/serve-static@npm:*": - version: 1.15.7 - resolution: "@types/serve-static@npm:1.15.7" - dependencies: - "@types/http-errors": "npm:*" - "@types/node": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae - languageName: node - linkType: hard - -"@types/ungap__structured-clone@npm:^1.0.0": - version: 1.2.0 - resolution: "@types/ungap__structured-clone@npm:1.2.0" - checksum: 10c0/52f341ded16708603e5631769b26acf0e9ed7c556ce81abb4e55962110b30442576c631c8f7e298b561b8ff77c7823f0edc9f5e313e1c5e1441825a590e5b0f3 - languageName: node - linkType: hard - -"@types/unist@npm:*, @types/unist@npm:^3.0.0": - version: 3.0.2 - resolution: "@types/unist@npm:3.0.2" - checksum: 10c0/39f220ce184a773c55c18a127062bfc4d0d30c987250cd59bab544d97be6cfec93717a49ef96e81f024b575718f798d4d329eb81c452fc57d6d051af8b043ebf - languageName: node - linkType: hard - -"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": - version: 2.0.10 - resolution: "@types/unist@npm:2.0.10" - checksum: 10c0/5f247dc2229944355209ad5c8e83cfe29419fa7f0a6d557421b1985a1500444719cc9efcc42c652b55aab63c931813c88033e0202c1ac684bcd4829d66e44731 - languageName: node - linkType: hard - -"@types/uuid@npm:^9.0.1": - version: 9.0.8 - resolution: "@types/uuid@npm:9.0.8" - checksum: 10c0/b411b93054cb1d4361919579ef3508a1f12bf15b5fdd97337d3d351bece6c921b52b6daeef89b62340fd73fd60da407878432a1af777f40648cbe53a01723489 - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/eslint-plugin@npm:7.13.1" - dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.13.1" - "@typescript-eslint/type-utils": "npm:7.13.1" - "@typescript-eslint/utils": "npm:7.13.1" - "@typescript-eslint/visitor-keys": "npm:7.13.1" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/6677f9c090a25978e4e20c24d67365ad89ca1208ebd2bb103d3f1e15a7deea22dea538e9f61f3a3d4f03a741179acf58c02ad7d03f805aceabb78929a8dc1908 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/parser@npm:7.2.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:7.2.0" - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/typescript-estree": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/11ce36c68212fdbf98fc6fd32ba0977d46b645fd669a3f4fdb8be2036225f86ad005b31a66f97097e90517c44c92cf9cc5fb1d6e9647ee2fa125c4af21cdb477 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f +"@types/lodash@npm:*": + version: 4.17.5 + resolution: "@types/lodash@npm:4.17.5" + checksum: 10c0/55924803ed853e72261512bd3eaf2c5b16558c3817feb0a3125ef757afe46e54b86f33d1960e40b7606c0ddab91a96f47966bf5e6006b7abfd8994c13b04b19b languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/scope-manager@npm:7.13.1" +"@types/mdast@npm:^4.0.0": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" dependencies: - "@typescript-eslint/types": "npm:7.13.1" - "@typescript-eslint/visitor-keys": "npm:7.13.1" - checksum: 10c0/3d8770bf9c89e7a07e54efbc3dac6df02c0ce49d49575076111ac663566c90cbb852f06c94a311db7c0aec1fab0417f3ef6e601b3852aa30bed75c65f4f076f4 + "@types/unist": "npm:*" + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/scope-manager@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - checksum: 10c0/4d088c127e6ba1a7de8567f70684779083be24b48746c3b4a86a0ec7062bca58693ee08482349ad6572a17ada8aa6f26b74d1c7139c8fcf7101fa09a572e0ea6 +"@types/mdx@npm:^2.0.0": + version: 2.0.13 + resolution: "@types/mdx@npm:2.0.13" + checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/type-utils@npm:7.13.1" - dependencies: - "@typescript-eslint/typescript-estree": "npm:7.13.1" - "@typescript-eslint/utils": "npm:7.13.1" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/c02305dccb0b2c7dcc9249230078c83e851ee589f93e08eb6cdc0b4c38d78d85ef4996631ac427836ee9d0a868ac031417feb74a6e4d0600096f41ca3c0e99a0 +"@types/ms@npm:*": + version: 0.7.34 + resolution: "@types/ms@npm:0.7.34" + checksum: 10c0/ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc languageName: node linkType: hard -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf +"@types/node@npm:*, @types/node@npm:>=13.7.0": + version: 20.14.2 + resolution: "@types/node@npm:20.14.2" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/2d86e5f2227aaa42212e82ea0affe72799111b888ff900916376450b02b09b963ca888b20d9c332d8d2b833ed4781987867a38eaa2e4863fa8439071468b0a6f languageName: node linkType: hard -"@typescript-eslint/types@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/types@npm:7.13.1" - checksum: 10c0/38a01004e11259e457ae2fd02300ef362a3268a8fc70addfbf1508e2edcaca72da2f0f8771e42c1cb9f191c1f754af583cdcaebd830c8e3c3f796dcf30d3c3a8 +"@types/node@npm:^22": + version: 22.19.15 + resolution: "@types/node@npm:22.19.15" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/f17eaf3d0d1da5e93ad9e287efb78201f8a5282973c004c5f70d91675c5c6b926a23acaa7b158a42b3d7e27e36b349d65a531710c91c308fca53dd7fa280ef98 languageName: node linkType: hard -"@typescript-eslint/types@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/types@npm:7.2.0" - checksum: 10c0/135aae061720185855bea61ea6cfd33f4801d2de57f65e50079bbdb505100f844632aa4e4bdeec9e9e79d29aaddad949178d0e918e41867da6ab4b1390820e33 +"@types/prompts@npm:^2": + version: 2.4.9 + resolution: "@types/prompts@npm:2.4.9" + dependencies: + "@types/node": "npm:*" + kleur: "npm:^3.0.3" + checksum: 10c0/22fe0da6807681c85e88ba283184f4be4c8a95c744ea12a638865c98c4e0c22e7f733542f6b0f1fbca02245cdc3fe84feacf9c9adf4ddd8bc98a337fd679d8d2 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf +"@types/react-dom@npm:^19": + version: 19.2.3 + resolution: "@types/react-dom@npm:19.2.3" + peerDependencies: + "@types/react": ^19.2.0 + checksum: 10c0/b486ebe0f4e2fb35e2e108df1d8fc0927ca5d6002d5771e8a739de11239fe62d0e207c50886185253c99eb9dedfeeb956ea7429e5ba17f6693c7acb4c02f8cd1 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/typescript-estree@npm:7.13.1" +"@types/react@npm:^19": + version: 19.2.14 + resolution: "@types/react@npm:19.2.14" dependencies: - "@typescript-eslint/types": "npm:7.13.1" - "@typescript-eslint/visitor-keys": "npm:7.13.1" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/bd5c8951ae79e8eacd05ff100def02926c633045a1a54426f98f20b4ca31c485968af3226dd7939934dfaf36a6b5fcb3386948e2a7d763ddee2db905ac187ebc + csstype: "npm:^3.2.2" + checksum: 10c0/7d25bf41b57719452d86d2ac0570b659210402707313a36ee612666bf11275a1c69824f8c3ee1fdca077ccfe15452f6da8f1224529b917050eb2d861e52b59b7 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2730bb17730e6f3ca4061f00688a70386a808f5d174fdeb757c3cfa92c455373f69080df33237c1a8970e818af0cea0ae5a083970ed8ba493f3b04458c6f9271 +"@types/resolve@npm:^1.20.2": + version: 1.20.6 + resolution: "@types/resolve@npm:1.20.6" + checksum: 10c0/a9b0549d816ff2c353077365d865a33655a141d066d0f5a3ba6fd4b28bc2f4188a510079f7c1f715b3e7af505a27374adce2a5140a3ece2a059aab3d6e1a4244 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/utils@npm:7.13.1" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.13.1" - "@typescript-eslint/types": "npm:7.13.1" - "@typescript-eslint/typescript-estree": "npm:7.13.1" - peerDependencies: - eslint: ^8.56.0 - checksum: 10c0/d2f6be42a80608ed265b34a5f6a0c97dc0b627d53b91e83d87c7d67541cb5b3c038e7320026b4ad8dfafe1ac07a0554efa8fe7673f54d74b68c253d6f9519bb6 +"@types/semver@npm:^7.7.1": + version: 7.7.1 + resolution: "@types/semver@npm:7.7.1" + checksum: 10c0/c938aef3bf79a73f0f3f6037c16e2e759ff40c54122ddf0b2583703393d8d3127130823facb880e694caa324eb6845628186aac1997ee8b31dc2d18fafe26268 languageName: node linkType: hard -"@typescript-eslint/utils@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@types/json-schema": "npm:^7.0.9" - "@types/semver": "npm:^7.3.12" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" - eslint-scope: "npm:^5.1.1" - semver: "npm:^7.3.7" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1 +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 10c0/4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - eslint-visitor-keys: "npm:^3.3.0" - checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d +"@types/ungap__structured-clone@npm:^1.0.0": + version: 1.2.0 + resolution: "@types/ungap__structured-clone@npm:1.2.0" + checksum: 10c0/52f341ded16708603e5631769b26acf0e9ed7c556ce81abb4e55962110b30442576c631c8f7e298b561b8ff77c7823f0edc9f5e313e1c5e1441825a590e5b0f3 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/visitor-keys@npm:7.13.1" - dependencies: - "@typescript-eslint/types": "npm:7.13.1" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/23c1bb896173cadfb33e3801420a70aa2f0481384caa3b534b04f7920acdb9d8f7d635fcaf1f8c7fc78ebce71b8f2435391608d120091761ad2e2c00eb870832 +"@types/unist@npm:*, @types/unist@npm:^3.0.0": + version: 3.0.2 + resolution: "@types/unist@npm:3.0.2" + checksum: 10c0/39f220ce184a773c55c18a127062bfc4d0d30c987250cd59bab544d97be6cfec93717a49ef96e81f024b575718f798d4d329eb81c452fc57d6d051af8b043ebf languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/2d7467495b2b76f3edb1b3047e97076c2242e7eca6d50bbbdd88219f9ff754dbcb9334a0568fe0ceb4c562823980938bd278aa2ba53da6343e7d99a167924f24 +"@types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": + version: 2.0.10 + resolution: "@types/unist@npm:2.0.10" + checksum: 10c0/5f247dc2229944355209ad5c8e83cfe29419fa7f0a6d557421b1985a1500444719cc9efcc42c652b55aab63c931813c88033e0202c1ac684bcd4829d66e44731 languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d languageName: node linkType: hard -"@vitest/expect@npm:1.3.1": - version: 1.3.1 - resolution: "@vitest/expect@npm:1.3.1" - dependencies: - "@vitest/spy": "npm:1.3.1" - "@vitest/utils": "npm:1.3.1" - chai: "npm:^4.3.10" - checksum: 10c0/ea66a1e912d896a481a27631b68089b885af7e8ed62ba8aaa119c37a9beafe6c094fd672775a20e6e23460af66e294f9ca259e6e0562708d1b7724eaaf53c7bb - languageName: node - linkType: hard - -"@vitest/spy@npm:1.3.1": - version: 1.3.1 - resolution: "@vitest/spy@npm:1.3.1" +"@vitest/expect@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/expect@npm:3.2.4" dependencies: - tinyspy: "npm:^2.2.0" - checksum: 10c0/efc42f679d2a51fc6583ca3136ccd47581cb27c923ed3cb0500f5dee9aac99b681bfdd400c16ef108f2e0761daa642bc190816a6411931a2aba99ebf8b213dd4 + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:3.2.4" + "@vitest/utils": "npm:3.2.4" + chai: "npm:^5.2.0" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/7586104e3fd31dbe1e6ecaafb9a70131e4197dce2940f727b6a84131eee3decac7b10f9c7c72fa5edbdb68b6f854353bd4c0fa84779e274207fb7379563b10db languageName: node linkType: hard -"@vitest/spy@npm:^1.3.1": - version: 1.6.0 - resolution: "@vitest/spy@npm:1.6.0" +"@vitest/pretty-format@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/pretty-format@npm:3.2.4" dependencies: - tinyspy: "npm:^2.2.0" - checksum: 10c0/df66ea6632b44fb76ef6a65c1abbace13d883703aff37cd6d062add6dcd1b883f19ce733af8e0f7feb185b61600c6eb4042a518e4fb66323d0690ec357f9401c + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/5ad7d4278e067390d7d633e307fee8103958806a419ca380aec0e33fae71b44a64415f7a9b4bc11635d3c13d4a9186111c581d3cef9c65cc317e68f077456887 languageName: node linkType: hard -"@vitest/utils@npm:1.3.1": - version: 1.3.1 - resolution: "@vitest/utils@npm:1.3.1" +"@vitest/spy@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/spy@npm:3.2.4" dependencies: - diff-sequences: "npm:^29.6.3" - estree-walker: "npm:^3.0.3" - loupe: "npm:^2.3.7" - pretty-format: "npm:^29.7.0" - checksum: 10c0/d604c8ad3b1aee30d4dcd889098f591407bfe18547ff96485b1d1ed54eff58219c756a9544a7fbd4e37886863abacd7a89a76334cb3ea7f84c3d496bb757db23 + tinyspy: "npm:^4.0.3" + checksum: 10c0/6ebf0b4697dc238476d6b6a60c76ba9eb1dd8167a307e30f08f64149612fd50227682b876420e4c2e09a76334e73f72e3ebf0e350714dc22474258292e202024 languageName: node linkType: hard -"@vitest/utils@npm:^1.3.1": - version: 1.6.0 - resolution: "@vitest/utils@npm:1.6.0" +"@vitest/utils@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/utils@npm:3.2.4" dependencies: - diff-sequences: "npm:^29.6.3" - estree-walker: "npm:^3.0.3" - loupe: "npm:^2.3.7" - pretty-format: "npm:^29.7.0" - checksum: 10c0/8b0d19835866455eb0b02b31c5ca3d8ad45f41a24e4c7e1f064b480f6b2804dc895a70af332f14c11ed89581011b92b179718523f55f5b14787285a0321b1301 + "@vitest/pretty-format": "npm:3.2.4" + loupe: "npm:^3.1.4" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/024a9b8c8bcc12cf40183c246c244b52ecff861c6deb3477cbf487ac8781ad44c68a9c5fd69f8c1361878e55b97c10d99d511f2597f1f7244b5e5101d028ba64 languageName: node linkType: hard @@ -7154,23 +6079,34 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/fslib@npm:2.10.3": - version: 2.10.3 - resolution: "@yarnpkg/fslib@npm:2.10.3" +"@xyflow/react@npm:^12.10.1": + version: 12.10.1 + resolution: "@xyflow/react@npm:12.10.1" dependencies: - "@yarnpkg/libzip": "npm:^2.3.0" - tslib: "npm:^1.13.0" - checksum: 10c0/c4fbbed99e801f17c381204e9699d9ea4fb51b14e99968985f477bdbc7b02b61e026860173f3f46bd60d9f46ae6a06f420a3edb3c02c3a45ae83779095928094 + "@xyflow/system": "npm:0.0.75" + classcat: "npm:^5.0.3" + zustand: "npm:^4.4.0" + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: 10c0/7fbcbb99a67f2a74a30408d070dba5dab006658add73949773e7475d91563f3762dd40ac2ece4007fc2e7c2918c3448615048875f0dd634e56e1b3b513a6fc39 languageName: node linkType: hard -"@yarnpkg/libzip@npm:2.3.0, @yarnpkg/libzip@npm:^2.3.0": - version: 2.3.0 - resolution: "@yarnpkg/libzip@npm:2.3.0" +"@xyflow/system@npm:0.0.75": + version: 0.0.75 + resolution: "@xyflow/system@npm:0.0.75" dependencies: - "@types/emscripten": "npm:^1.39.6" - tslib: "npm:^1.13.0" - checksum: 10c0/0c2361ccb002e28463ed98541f3bdaab54f52aad6a2080666c2a9ea605ebd9cdfb7b0340b1db6f105820d05bcb803cdfb3ce755a8f6034657298c291bf884f81 + "@types/d3-drag": "npm:^3.0.7" + "@types/d3-interpolate": "npm:^3.0.4" + "@types/d3-selection": "npm:^3.0.10" + "@types/d3-transition": "npm:^3.0.8" + "@types/d3-zoom": "npm:^3.0.8" + d3-drag: "npm:^3.0.0" + d3-interpolate: "npm:^3.0.1" + d3-selection: "npm:^3.0.0" + d3-zoom: "npm:^3.0.0" + checksum: 10c0/d7d838465825e6267bd43b169b97ff11b08b313397dde5e249634c2526e1728e0f5bc4b092650d0c970eb13950f1415677926d46dc371faf79a2f46ea1e91ede languageName: node linkType: hard @@ -7202,16 +6138,6 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: "npm:~2.1.34" - negotiator: "npm:0.6.3" - checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 - languageName: node - linkType: hard - "acorn-import-attributes@npm:^1.9.5": version: 1.9.5 resolution: "acorn-import-attributes@npm:1.9.5" @@ -7221,7 +6147,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2": +"acorn-jsx@npm:^5.0.0": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -7237,13 +6163,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.2.0": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 10c0/ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c - languageName: node - linkType: hard - "acorn@npm:8.14.0": version: 8.14.0 resolution: "acorn@npm:8.14.0" @@ -7253,16 +6172,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.4.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" - bin: - acorn: bin/acorn - checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 - languageName: node - linkType: hard - -"acorn@npm:^8.0.0, acorn@npm:^8.11.3, acorn@npm:^8.7.1, acorn@npm:^8.8.2": +"acorn@npm:^8.0.0, acorn@npm:^8.7.1, acorn@npm:^8.8.2": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -7271,12 +6181,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": - version: 8.12.0 - resolution: "acorn@npm:8.12.0" +"acorn@npm:^8.15.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" bin: acorn: bin/acorn - checksum: 10c0/a19f9dead009d3b430fa3c253710b47778cdaace15b316de6de93a68c355507bc1072a9956372b6c990cbeeb167d4a929249d0faeb8ae4bb6911d68d53299549 + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e languageName: node linkType: hard @@ -7343,7 +6253,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -7371,101 +6281,83 @@ __metadata: version: 0.0.0-use.local resolution: "animata@workspace:." dependencies: - "@chromatic-com/storybook": "npm:^1.5.0" + "@biomejs/biome": "npm:^2.4.6" "@commitlint/cli": "npm:^19.3.0" "@commitlint/config-conventional": "npm:^19.2.2" "@emotion/is-prop-valid": "npm:^1.2.2" - "@radix-ui/react-accordion": "npm:^1.1.2" - "@radix-ui/react-alert-dialog": "npm:^1.0.5" - "@radix-ui/react-aspect-ratio": "npm:^1.0.3" - "@radix-ui/react-collapsible": "npm:^1.0.3" - "@radix-ui/react-dialog": "npm:^1.0.5" - "@radix-ui/react-dropdown-menu": "npm:^2.0.6" - "@radix-ui/react-icons": "npm:^1.3.0" - "@radix-ui/react-scroll-area": "npm:^1.0.5" - "@radix-ui/react-select": "npm:^2.0.0" - "@radix-ui/react-separator": "npm:^1.0.3" - "@radix-ui/react-slot": "npm:^1.0.2" - "@radix-ui/react-tabs": "npm:^1.0.4" - "@radix-ui/react-tooltip": "npm:^1.0.7" + "@radix-ui/react-accordion": "npm:^1.2.3" + "@radix-ui/react-alert-dialog": "npm:^1.1.6" + "@radix-ui/react-aspect-ratio": "npm:^1.1.2" + "@radix-ui/react-collapsible": "npm:^1.1.3" + "@radix-ui/react-dialog": "npm:^1.1.6" + "@radix-ui/react-dropdown-menu": "npm:^2.1.6" + "@radix-ui/react-icons": "npm:^1.3.2" + "@radix-ui/react-scroll-area": "npm:^1.2.3" + "@radix-ui/react-select": "npm:^2.1.6" + "@radix-ui/react-separator": "npm:^1.1.2" + "@radix-ui/react-slot": "npm:^1.1.2" + "@radix-ui/react-tabs": "npm:^1.1.3" + "@radix-ui/react-tooltip": "npm:^1.1.8" "@rehype-pretty/transformers": "npm:^0.13.2" - "@storybook/addon-essentials": "npm:^8.1.6" - "@storybook/addon-interactions": "npm:^8.1.6" - "@storybook/addon-links": "npm:^8.1.6" - "@storybook/addon-onboarding": "npm:^8.1.6" - "@storybook/addon-styling-webpack": "npm:^1.0.0" - "@storybook/addon-themes": "npm:^8.1.6" - "@storybook/blocks": "npm:^8.1.6" - "@storybook/manager-api": "npm:^8.1.6" - "@storybook/nextjs": "npm:^8.1.6" - "@storybook/react": "npm:^8.1.6" - "@storybook/test": "npm:^8.1.6" + "@storybook/addon-docs": "npm:^10.2.15" + "@storybook/addon-themes": "npm:^10.2.15" + "@storybook/nextjs": "npm:^10.2.15" + "@storybook/react": "npm:^10.2.15" + "@tailwindcss/postcss": "npm:^4.1.0" + "@tailwindcss/typography": "npm:^0.5.19" "@tsparticles/engine": "npm:^3.5.0" "@tsparticles/react": "npm:^3.0.0" "@types/lodash.camelcase": "npm:^4" "@types/lodash.kebabcase": "npm:^4" "@types/lodash.startcase": "npm:^4" - "@types/node": "npm:^20" + "@types/node": "npm:^22" "@types/prompts": "npm:^2" - "@types/react": "npm:^18" - "@types/react-dom": "npm:^18" - "@typescript-eslint/eslint-plugin": "npm:^7.13.1" + "@types/react": "npm:^19" + "@types/react-dom": "npm:^19" + "@xyflow/react": "npm:^12.10.1" chalk: "npm:^5.3.0" class-variance-authority: "npm:^0.7.0" clsx: "npm:^2.1.1" cmdk: "npm:^1.0.0" commander: "npm:^12.1.0" - concurrently: "npm:^8.2.2" - contentlayer: "npm:^0.3.4" date-fns: "npm:^3.6.0" - eslint: "npm:^8" - eslint-config-next: "npm:14.2.3" - eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-prettier: "npm:^5.1.3" - eslint-plugin-react: "npm:^7.34.3" - eslint-plugin-simple-import-sort: "npm:^12.1.0" - eslint-plugin-storybook: "npm:^0.8.0" - eslint-plugin-unused-imports: "npm:^4.0.0" - framer-motion: "npm:^11.2.10" husky: "npm:^9.0.11" lint-staged: "npm:^15.2.7" lodash.camelcase: "npm:^4.3.0" lodash.kebabcase: "npm:^4.1.1" lodash.startcase: "npm:^4.4.0" - lucide-react: "npm:^0.390.0" + lucide-react: "npm:^0.475.0" mdast-util-toc: "npm:^7.1.0" - next: "npm:16.1.5" - next-contentlayer: "npm:^0.3.4" - next-themes: "npm:^0.3.0" + motion: "npm:^12.0.0" + next: "npm:^16.1.5" + next-mdx-remote: "npm:^6.0.0" + next-themes: "npm:^0.4.6" ora: "npm:^8.0.1" - postcss: "npm:^8" - posthog-js: "npm:^1.141.4" - prettier: "npm:^3.3.2" - prettier-plugin-tailwindcss: "npm:^0.6.5" + posthog-js: "npm:^1.225.0" prompts: "npm:^2.4.2" - react: "npm:^18" - react-docgen: "npm:^7.0.3" - react-dom: "npm:^18" + react: "npm:^19" + react-dom: "npm:^19" react-wrap-balancer: "npm:^1.1.1" rehype-autolink-headings: "npm:^7.1.0" - rehype-pretty-code: "npm:^0.13.2" + rehype-pretty-code: "npm:^0.14.0" rehype-slug: "npm:^6.0.0" remark: "npm:^15.0.1" remark-code-import: "npm:^1.2.0" - remark-gfm: "npm:3" + remark-gfm: "npm:^4.0.0" schema-dts: "npm:^1.1.2" - shiki: "npm:^1.6.2" - storybook: "npm:^8.6.15" - storybook-dark-mode: "npm:^4.0.1" - tailwind-merge: "npm:^2.3.0" - tailwindcss: "npm:^3.4.1" - tailwindcss-animate: "npm:^1.0.7" + shiki: "npm:^3.0.0" + sonner: "npm:^2.0.7" + storybook: "npm:^10.2.15" + tailwind-merge: "npm:^3.0.0" + tailwindcss: "npm:^4.1.0" tsparticles: "npm:^3.5.0" + tw-animate-css: "npm:^1.4.0" typescript: "npm:^5" unist-builder: "npm:^4.0.0" - vaul: "npm:^0.9.1" + vaul: "npm:^1.1.2" + velite: "npm:^0.2.3" wrangler: "npm:^3.114.17" - zod: "npm:^3.23.8" + zod: "npm:^3.24.0" languageName: unknown linkType: soft @@ -7526,13 +6418,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - "ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": version: 6.2.1 resolution: "ansi-styles@npm:6.2.1" @@ -7540,46 +6425,6 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"app-root-dir@npm:^1.0.2": - version: 1.0.2 - resolution: "app-root-dir@npm:1.0.2" - checksum: 10c0/0225e4be7788968a82bb76df9b14b0d7f212a5c12e8c625cdc34f80548780bcbfc5f3287d0806dddd83bf9dbf9ce302e76b2887cd3a6f4be52b79df7f3aa9e7c - languageName: node - linkType: hard - -"arg@npm:^5.0.2": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -7596,16 +6441,16 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.1.3": - version: 5.1.3 - resolution: "aria-query@npm:5.1.3" +"aria-hidden@npm:^1.2.4": + version: 1.2.6 + resolution: "aria-hidden@npm:1.2.6" dependencies: - deep-equal: "npm:^2.0.5" - checksum: 10c0/edcbc8044c4663d6f88f785e983e6784f98cb62b4ba1e9dd8d61b725d0203e4cfca38d676aee984c31f354103461102a3d583aa4fbe4fd0a89b679744f4e5faf + tslib: "npm:^2.0.0" + checksum: 10c0/7720cb539497a9f760f68f98a4b30f22c6767aa0e72fa7d58279f7c164e258fc38b2699828f8de881aab0fc8e9c56d1313a3f1a965046fc0381a554dbc72b54a languageName: node linkType: hard -"aria-query@npm:^5.0.0, aria-query@npm:^5.3.0": +"aria-query@npm:^5.0.0": version: 5.3.0 resolution: "aria-query@npm:5.3.0" dependencies: @@ -7614,23 +6459,6 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.4" - checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917 - languageName: node - linkType: hard - -"array-flatten@npm:1.1.1": - version: 1.1.1 - resolution: "array-flatten@npm:1.1.1" - checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 - languageName: node - linkType: hard - "array-ify@npm:^1.0.0": version: 1.0.0 resolution: "array-ify@npm:1.0.0" @@ -7638,127 +6466,6 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7, array-includes@npm:^3.1.8": - version: 3.1.8 - resolution: "array-includes@npm:3.1.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - is-string: "npm:^1.0.7" - checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 - languageName: node - linkType: hard - -"array-timsort@npm:^1.0.3": - version: 1.0.3 - resolution: "array-timsort@npm:1.0.3" - checksum: 10c0/bd3a1707b621947265c89867e67c9102b9b9f4c50f5b3974220112290d8b60d26ce60595edec5deed3325207b759d70b758bed3cd310b5ddadb835657ffb6d12 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"array.prototype.findlast@npm:^1.2.5": - version: 1.2.5 - resolution: "array.prototype.findlast@npm:1.2.5" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775 - languageName: node - linkType: hard - -"array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.5 - resolution: "array.prototype.findlastindex@npm:1.2.5" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/962189487728b034f3134802b421b5f39e42ee2356d13b42d2ddb0e52057ffdcc170b9524867f4f0611a6f638f4c19b31e14606e8bcbda67799e26685b195aa3 - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b - languageName: node - linkType: hard - -"array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 - languageName: node - linkType: hard - -"array.prototype.toreversed@npm:^1.1.2": - version: 1.1.2 - resolution: "array.prototype.toreversed@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/2b7627ea85eae1e80ecce665a500cc0f3355ac83ee4a1a727562c7c2a1d5f1c0b4dd7b65c468ec6867207e452ba01256910a2c0b41486bfdd11acf875a7a3435 - languageName: node - linkType: hard - -"array.prototype.tosorted@npm:^1.1.3, array.prototype.tosorted@npm:^1.1.4": - version: 1.1.4 - resolution: "array.prototype.tosorted@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - es-errors: "npm:^1.3.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943 - languageName: node - linkType: hard - -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.3" - is-array-buffer: "npm:^3.0.4" - is-shared-array-buffer: "npm:^1.0.2" - checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36 - languageName: node - linkType: hard - "as-table@npm:^1.0.36": version: 1.0.55 resolution: "as-table@npm:1.0.55" @@ -7779,7 +6486,7 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.0.0, assert@npm:^2.1.0": +"assert@npm:^2.0.0": version: 2.1.0 resolution: "assert@npm:2.1.0" dependencies: @@ -7792,17 +6499,10 @@ __metadata: languageName: node linkType: hard -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"ast-types-flow@npm:^0.0.8": - version: 0.0.8 - resolution: "ast-types-flow@npm:0.0.8" - checksum: 10c0/f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 languageName: node linkType: hard @@ -7833,22 +6533,6 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:=4.7.0": - version: 4.7.0 - resolution: "axe-core@npm:4.7.0" - checksum: 10c0/89ac5712b5932ac7d23398b4cb5ba081c394a086e343acc68ba49c83472706e18e0799804e8388c779dcdacc465377deb29f2714241d3fbb389cf3a6b275c9ba - languageName: node - linkType: hard - -"axobject-query@npm:^3.2.1": - version: 3.2.1 - resolution: "axobject-query@npm:3.2.1" - dependencies: - dequal: "npm:^2.0.3" - checksum: 10c0/f7debc2012e456139b57d888c223f6d3cb4b61eb104164a85e3d346273dd6ef0bc9a04b6660ca9407704a14a8e05fa6b6eb9d55f44f348c7210de7ffb350c3a7 - languageName: node - linkType: hard - "babel-loader@npm:^9.1.3": version: 9.1.3 resolution: "babel-loader@npm:9.1.3" @@ -7862,39 +6546,51 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.11 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" +"babel-plugin-polyfill-corejs2@npm:^0.4.14, babel-plugin-polyfill-corejs2@npm:^0.4.15": + version: 0.4.15 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.15" dependencies: - "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.6" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/b2217bc8d5976cf8142453ed44daabf0b2e0e75518f24eac83b54a8892e87a88f1bd9089daa92fd25df979ecd0acfd29b6bc28c4182c1c46344cee15ef9bce84 + checksum: 10c0/5e3ff853a5056bdc0816320523057b45d52c9ea01c847fd07886a4202b0c1324dc97eda4b777c98387927ff02d913fedbe9ba9943c0d4030714048e0b9e61682 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.1, babel-plugin-polyfill-corejs3@npm:^0.10.4": - version: 0.10.4 - resolution: "babel-plugin-polyfill-corejs3@npm:0.10.4" +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.1" - core-js-compat: "npm:^3.36.1" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/31b92cd3dfb5b417da8dfcf0deaa4b8b032b476d7bb31ca51c66127cf25d41e89260e89d17bc004b2520faa38aa9515fafabf81d89f9d4976e9dc1163e4a7c41 + checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.2 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" +"babel-plugin-polyfill-corejs3@npm:^0.14.0": + version: 0.14.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.14.0" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.6" + core-js-compat: "npm:^3.48.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/db7f530752a2bcb891c0dc80c3d025a48d49c78d41b0ad91cc853669460cd9e3107857a3667f645f0e25c2af9fc3d1e38d5b1c4e3e60aa22e7df9d68550712a4 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.5, babel-plugin-polyfill-regenerator@npm:^0.6.6": + version: 0.6.6 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.6" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + "@babel/helper-define-polyfill-provider": "npm:^0.6.6" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/bc541037cf7620bc84ddb75a1c0ce3288f90e7d2799c070a53f8a495c8c8ae0316447becb06f958dd25dcce2a2fce855d318ecfa48036a1ddb218d55aa38a744 + checksum: 10c0/0ef91d8361c118e7b16d8592c053707325b8168638ea4636b76530c8bc6a1b5aac5c6ca5140e8f3fcdb634a7a2e636133e6b9ef70a75e6417a258a7fddc04bd7 languageName: node linkType: hard @@ -7928,12 +6624,12 @@ __metadata: languageName: node linkType: hard -"better-opn@npm:^3.0.2": - version: 3.0.2 - resolution: "better-opn@npm:3.0.2" - dependencies: - open: "npm:^8.0.4" - checksum: 10c0/911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5 +"baseline-browser-mapping@npm:^2.9.0": + version: 2.10.0 + resolution: "baseline-browser-mapping@npm:2.10.0" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/da9c3ec0fcd7f325226a47d2142794d41706b6e0a405718a2c15410bbdb72aacadd65738bedef558c6f1b106ed19458cb25b06f63b66df2c284799905dbbd003 languageName: node linkType: hard @@ -7944,13 +6640,6 @@ __metadata: languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - "blake3-wasm@npm:2.1.5": version: 2.1.5 resolution: "blake3-wasm@npm:2.1.5" @@ -7972,26 +6661,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.13.0" - raw-body: "npm:2.5.2" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 - languageName: node - linkType: hard - "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -8018,7 +6687,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -8034,13 +6703,6 @@ __metadata: languageName: node linkType: hard -"browser-assert@npm:^1.2.1": - version: 1.2.1 - resolution: "browser-assert@npm:1.2.1" - checksum: 10c0/902abf999f92c9c951fdb6d7352c09eea9a84706258699655f7e7906e42daa06a1ae286398a755872740e05a6a71c43c5d1a0c0431d67a8cdb66e5d859a3fc0c - languageName: node - linkType: hard - "browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": version: 1.2.0 resolution: "browserify-aes@npm:1.2.0" @@ -8115,7 +6777,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.10, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": +"browserslist@npm:^4.21.10, browserslist@npm:^4.22.2": version: 4.23.0 resolution: "browserslist@npm:4.23.0" dependencies: @@ -8129,6 +6791,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.24.0, browserslist@npm:^4.28.1": + version: 4.28.1 + resolution: "browserslist@npm:4.28.1" + dependencies: + baseline-browser-mapping: "npm:^2.9.0" + caniuse-lite: "npm:^1.0.30001759" + electron-to-chromium: "npm:^1.5.263" + node-releases: "npm:^2.0.27" + update-browserslist-db: "npm:^1.2.0" + bin: + browserslist: cli.js + checksum: 10c0/545a5fa9d7234e3777a7177ec1e9134bb2ba60a69e6b95683f6982b1473aad347c77c1264ccf2ac5dea609a9731fbfbda6b85782bdca70f80f86e28a402504bd + languageName: node + linkType: hard + "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -8160,10 +6837,12 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" + dependencies: + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 languageName: node linkType: hard @@ -8197,7 +6876,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" dependencies: @@ -8249,13 +6928,6 @@ __metadata: languageName: node linkType: hard -"camelcase-css@npm:^2.0.1": - version: 2.0.1 - resolution: "camelcase-css@npm:2.0.1" - checksum: 10c0/1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001587": version: 1.0.30001629 resolution: "caniuse-lite@npm:1.0.30001629" @@ -8263,6 +6935,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001759": + version: 1.0.30001777 + resolution: "caniuse-lite@npm:1.0.30001777" + checksum: 10c0/e35443fa7c470edc06e315297cca706790840e96983fff12dfe502a4b123d6e4a64b9b4e8e35fb2f5bb60c31b24fbda93d76b2f700ce183df474671236fa7a4a + languageName: node + linkType: hard + "case-sensitive-paths-webpack-plugin@npm:^2.4.0": version: 2.4.0 resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" @@ -8277,18 +6956,16 @@ __metadata: languageName: node linkType: hard -"chai@npm:^4.3.10": - version: 4.4.1 - resolution: "chai@npm:4.4.1" +"chai@npm:^5.2.0": + version: 5.3.3 + resolution: "chai@npm:5.3.3" dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.0.8" - checksum: 10c0/91590a8fe18bd6235dece04ccb2d5b4ecec49984b50924499bdcd7a95c02cb1fd2a689407c19bb854497bde534ef57525cfad6c7fdd2507100fd802fbc2aefbd + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/b360fd4d38861622e5010c2f709736988b05c7f31042305fa3f4e9911f6adb80ccfb4e302068bf8ed10e835c2e2520cba0f5edc13d878b886987e5aa62483f53 languageName: node linkType: hard @@ -8303,17 +6980,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": +"chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -8358,31 +7025,19 @@ __metadata: languageName: node linkType: hard -"check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 +"check-error@npm:^2.1.1": + version: 2.1.3 + resolution: "check-error@npm:2.1.3" + checksum: 10c0/878e99038fb6476316b74668cd6a498c7e66df3efe48158fa40db80a06ba4258742ac3ee2229c4a2a98c5e73f5dff84eb3e50ceb6b65bbd8f831eafc8338607d languageName: node linkType: hard -"chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" +"chokidar@npm:^4.0.1": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad languageName: node linkType: hard @@ -8393,25 +7048,6 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^11.4.0": - version: 11.5.3 - resolution: "chromatic@npm:11.5.3" - peerDependencies: - "@chromatic-com/cypress": ^0.*.* || ^1.0.0 - "@chromatic-com/playwright": ^0.*.* || ^1.0.0 - peerDependenciesMeta: - "@chromatic-com/cypress": - optional: true - "@chromatic-com/playwright": - optional: true - bin: - chroma: dist/bin.js - chromatic: dist/bin.js - chromatic-cli: dist/bin.js - checksum: 10c0/9cbac2061158956a444e27cfdd0a94654c5cb3cb09dca6a0482b06160597b2ae2a5570f72cbc86894b1f486fe02bad9cddc3eabc7e3678d615f44683d35acdaa - languageName: node - linkType: hard - "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -8446,6 +7082,13 @@ __metadata: languageName: node linkType: hard +"classcat@npm:^5.0.3": + version: 5.0.5 + resolution: "classcat@npm:5.0.5" + checksum: 10c0/ff8d273055ef9b518529cfe80fd0486f7057a9917373807ff802d75ceb46e8f8e148f41fa094ee7625c8f34642cfaa98395ff182d9519898da7cbf383d4a210d + languageName: node + linkType: hard + "clean-css@npm:^5.2.2": version: 5.3.3 resolution: "clean-css@npm:5.3.3" @@ -8495,17 +7138,6 @@ __metadata: languageName: node linkType: hard -"clipanion@npm:^3.2.1": - version: 3.2.1 - resolution: "clipanion@npm:3.2.1" - dependencies: - typanion: "npm:^3.8.0" - peerDependencies: - typanion: "*" - checksum: 10c0/6c148bd01ae645031aeb6e9a1a16f3ce07eb754cd9981c91edcab82b09e063b805ac41e4f36039d07602334b6dbba036b030d1807c12acd7f90778a696b7ac6e - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -8544,6 +7176,13 @@ __metadata: languageName: node linkType: hard +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: 10c0/b2e2800f4ab261e62eb27a1fbe853378296e3a726d6695117ed033e82d61fb6abeae4ffc1465d5454499e237005de9cfc52c9562dc7ca4ac759b9a222ef14453 + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -8624,13 +7263,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^4.0.0": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab - languageName: node - linkType: hard - "commander@npm:^8.3.0": version: 8.3.0 resolution: "commander@npm:8.3.0" @@ -8638,19 +7270,6 @@ __metadata: languageName: node linkType: hard -"comment-json@npm:^4.2.3": - version: 4.2.3 - resolution: "comment-json@npm:4.2.3" - dependencies: - array-timsort: "npm:^1.0.3" - core-util-is: "npm:^1.0.3" - esprima: "npm:^4.0.1" - has-own-prop: "npm:^2.0.0" - repeat-string: "npm:^1.6.1" - checksum: 10c0/e8a0d3a6d75d92551f9a7e6fefa31f3d831dc33117b0b9432f061f45a571c85c16143e4110693d450f6eca20841db43f5429ac0d801673bcf03e9973ab1c31af - languageName: node - linkType: hard - "common-path-prefix@npm:^3.0.0": version: 3.0.0 resolution: "common-path-prefix@npm:3.0.0" @@ -8682,26 +7301,6 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^8.2.2": - version: 8.2.2 - resolution: "concurrently@npm:8.2.2" - dependencies: - chalk: "npm:^4.1.2" - date-fns: "npm:^2.30.0" - lodash: "npm:^4.17.21" - rxjs: "npm:^7.8.1" - shell-quote: "npm:^1.8.1" - spawn-command: "npm:0.0.2" - supports-color: "npm:^8.1.1" - tree-kill: "npm:^1.2.2" - yargs: "npm:^17.7.2" - bin: - conc: dist/bin/concurrently.js - concurrently: dist/bin/concurrently.js - checksum: 10c0/0e9683196fe9c071d944345d21d8f34aa6c0cc50c0dd897e95619f2f1c9eb4871dca851b2569da17888235b7335b4c821ca19deed35bebcd9a131ee5d247f34c - languageName: node - linkType: hard - "console-browserify@npm:^1.2.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -8716,38 +7315,6 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb - languageName: node - linkType: hard - -"content-type@npm:~1.0.4, content-type@npm:~1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af - languageName: node - linkType: hard - -"contentlayer@npm:^0.3.4": - version: 0.3.4 - resolution: "contentlayer@npm:0.3.4" - dependencies: - "@contentlayer/cli": "npm:0.3.4" - "@contentlayer/client": "npm:0.3.4" - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/source-files": "npm:0.3.4" - "@contentlayer/source-remote-files": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - bin: - contentlayer: ./bin/cli.cjs - checksum: 10c0/d9d46d4ab0550ba0a93e693997cfb3c68ab79b0d375f265c44141c1cf1d7fe7bc94f15567dcdef48c2ff2fb6c98c2154f98b3432ebc765297fd77d018584f0fb - languageName: node - linkType: hard - "conventional-changelog-angular@npm:^7.0.0": version: 7.0.0 resolution: "conventional-changelog-angular@npm:7.0.0" @@ -8794,20 +7361,6 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:1.0.6": - version: 1.0.6 - resolution: "cookie-signature@npm:1.0.6" - checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 - languageName: node - linkType: hard - -"cookie@npm:0.6.0": - version: 0.6.0 - resolution: "cookie@npm:0.6.0" - checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 - languageName: node - linkType: hard - "cookie@npm:^0.7.1": version: 0.7.2 resolution: "cookie@npm:0.7.2" @@ -8815,12 +7368,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": - version: 3.37.1 - resolution: "core-js-compat@npm:3.37.1" +"core-js-compat@npm:^3.43.0, core-js-compat@npm:^3.48.0": + version: 3.48.0 + resolution: "core-js-compat@npm:3.48.0" dependencies: - browserslist: "npm:^4.23.0" - checksum: 10c0/4e2da9c900f2951a57947af7aeef4d16f2c75d7f7e966c0d0b62953f65225003ade5e84d3ae98847f65b24c109c606821d9dc925db8ca418fb761e7c81963c2a + browserslist: "npm:^4.28.1" + checksum: 10c0/7bb6522127928fff5d56c7050f379a034de85fe2d5c6e6925308090d4b51fb0cb88e0db99619c932ee84d8756d531bf851232948fe1ad18598cb1e7278e8db13 languageName: node linkType: hard @@ -8831,7 +7384,14 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:^1.0.3, core-util-is@npm:~1.0.0": +"core-js@npm:^3.38.1": + version: 3.48.0 + resolution: "core-js@npm:3.48.0" + checksum: 10c0/6c3115900dd7cce9fab74c07cb262b3517fc250d02e8fd2ff34f80bda5f43a28482a909dbc4491dc6e1ddd9807f57a7df4c3eeecd1f202b7d9c8bfe25f9d680c + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 @@ -8851,16 +7411,20 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^7.0.1": - version: 7.1.0 - resolution: "cosmiconfig@npm:7.1.0" +"cosmiconfig@npm:^8.2.0": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" dependencies: - "@types/parse-json": "npm:^4.0.0" - import-fresh: "npm:^3.2.1" - parse-json: "npm:^5.0.0" + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" path-type: "npm:^4.0.0" - yaml: "npm:^1.10.0" - checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a languageName: node linkType: hard @@ -8930,7 +7494,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -8941,6 +7505,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + "crypto-browserify@npm:^3.12.0": version: 3.12.0 resolution: "crypto-browserify@npm:3.12.0" @@ -8960,16 +7535,7 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^4.0.0": - version: 4.0.0 - resolution: "crypto-random-string@npm:4.0.0" - dependencies: - type-fest: "npm:^1.0.1" - checksum: 10c0/16e11a3c8140398f5408b7fded35a961b9423c5dac39a60cbbd08bd3f0e07d7de130e87262adea7db03ec1a7a4b7551054e0db07ee5408b012bac5400cfc07a5 - languageName: node - linkType: hard - -"css-loader@npm:^6.7.1, css-loader@npm:^6.7.3": +"css-loader@npm:^6.7.3": version: 6.11.0 resolution: "css-loader@npm:6.11.0" dependencies: @@ -8993,6 +7559,30 @@ __metadata: languageName: node linkType: hard +"css-loader@npm:^7.1.2": + version: 7.1.4 + resolution: "css-loader@npm:7.1.4" + dependencies: + icss-utils: "npm:^5.1.0" + postcss: "npm:^8.4.40" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + postcss-value-parser: "npm:^4.2.0" + semver: "npm:^7.6.3" + peerDependencies: + "@rspack/core": 0.x || ^1.0.0 || ^2.0.0-0 + webpack: ^5.27.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10c0/a3a3a6b564d4fcf978961be8bc6ca06fb3836fc8fbd729ddae4b0b94166a0f5ccf119fb3301a6fecbe90608a8edbfd418bdc644cf053615e6271aa65b3fdc00b + languageName: node + linkType: hard + "css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" @@ -9029,80 +7619,106 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.2": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 +"d3-color@npm:1 - 3": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 10c0/a4e20e1115fa696fce041fbe13fbc80dc4c19150fa72027a7c128ade980bc0eeeba4bcf28c9e21f0bce0e0dbfe7ca5869ef67746541dcfda053e4802ad19783c languageName: node linkType: hard -"dargs@npm:^8.0.0": - version: 8.1.0 - resolution: "dargs@npm:8.1.0" - checksum: 10c0/08cbd1ee4ac1a16fb7700e761af2e3e22d1bdc04ac4f851926f552dde8f9e57714c0d04013c2cca1cda0cba8fb637e0f93ad15d5285547a939dd1989ee06a82d +"d3-dispatch@npm:1 - 3": + version: 3.0.1 + resolution: "d3-dispatch@npm:3.0.1" + checksum: 10c0/6eca77008ce2dc33380e45d4410c67d150941df7ab45b91d116dbe6d0a3092c0f6ac184dd4602c796dc9e790222bad3ff7142025f5fd22694efe088d1d941753 languageName: node linkType: hard -"data-uri-to-buffer@npm:^2.0.0": - version: 2.0.2 - resolution: "data-uri-to-buffer@npm:2.0.2" - checksum: 10c0/341b6191ed65fa453e97a6d44db06082121ebc2ef3e6e096dfb6a1ebbc75e8be39d4199a5b4dba0f0efc43f2a3b2bcc276d85cf1407eba880eb09ebf17c3c31e +"d3-drag@npm:2 - 3, d3-drag@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-drag@npm:3.0.0" + dependencies: + d3-dispatch: "npm:1 - 3" + d3-selection: "npm:3" + checksum: 10c0/d2556e8dc720741a443b595a30af403dd60642dfd938d44d6e9bfc4c71a962142f9a028c56b61f8b4790b65a34acad177d1263d66f103c3c527767b0926ef5aa languageName: node linkType: hard -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b +"d3-ease@npm:1 - 3": + version: 3.0.1 + resolution: "d3-ease@npm:3.0.1" + checksum: 10c0/fec8ef826c0cc35cda3092c6841e07672868b1839fcaf556e19266a3a37e6bc7977d8298c0fcb9885e7799bfdcef7db1baaba9cd4dcf4bc5e952cf78574a88b0 languageName: node linkType: hard -"data-view-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-buffer@npm:1.0.1" +"d3-interpolate@npm:1 - 3, d3-interpolate@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583 + d3-color: "npm:1 - 3" + checksum: 10c0/19f4b4daa8d733906671afff7767c19488f51a43d251f8b7f484d5d3cfc36c663f0a66c38fe91eee30f40327443d799be17169f55a293a3ba949e84e57a33e6a languageName: node linkType: hard -"data-view-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.7" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2 +"d3-selection@npm:2 - 3, d3-selection@npm:3, d3-selection@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-selection@npm:3.0.0" + checksum: 10c0/e59096bbe8f0cb0daa1001d9bdd6dbc93a688019abc97d1d8b37f85cd3c286a6875b22adea0931b0c88410d025563e1643019161a883c516acf50c190a11b56b languageName: node linkType: hard -"data-view-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "data-view-byte-offset@npm:1.0.0" +"d3-timer@npm:1 - 3": + version: 3.0.1 + resolution: "d3-timer@npm:3.0.1" + checksum: 10c0/d4c63cb4bb5461d7038aac561b097cd1c5673969b27cbdd0e87fa48d9300a538b9e6f39b4a7f0e3592ef4f963d858c8a9f0e92754db73116770856f2fc04561a + languageName: node + linkType: hard + +"d3-transition@npm:2 - 3": + version: 3.0.1 + resolution: "d3-transition@npm:3.0.1" dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f + d3-color: "npm:1 - 3" + d3-dispatch: "npm:1 - 3" + d3-ease: "npm:1 - 3" + d3-interpolate: "npm:1 - 3" + d3-timer: "npm:1 - 3" + peerDependencies: + d3-selection: 2 - 3 + checksum: 10c0/4e74535dda7024aa43e141635b7522bb70cf9d3dfefed975eb643b36b864762eca67f88fafc2ca798174f83ca7c8a65e892624f824b3f65b8145c6a1a88dbbad languageName: node linkType: hard -"date-fns@npm:^2.30.0": - version: 2.30.0 - resolution: "date-fns@npm:2.30.0" +"d3-zoom@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-zoom@npm:3.0.0" dependencies: - "@babel/runtime": "npm:^7.21.0" - checksum: 10c0/e4b521fbf22bc8c3db332bbfb7b094fd3e7627de0259a9d17c7551e2d2702608a7307a449206065916538e384f37b181565447ce2637ae09828427aed9cb5581 + d3-dispatch: "npm:1 - 3" + d3-drag: "npm:2 - 3" + d3-interpolate: "npm:1 - 3" + d3-selection: "npm:2 - 3" + d3-transition: "npm:2 - 3" + checksum: 10c0/ee2036479049e70d8c783d594c444fe00e398246048e3f11a59755cd0e21de62ece3126181b0d7a31bf37bcf32fd726f83ae7dea4495ff86ec7736ce5ad36fd3 + languageName: node + linkType: hard + +"dargs@npm:^8.0.0": + version: 8.1.0 + resolution: "dargs@npm:8.1.0" + checksum: 10c0/08cbd1ee4ac1a16fb7700e761af2e3e22d1bdc04ac4f851926f552dde8f9e57714c0d04013c2cca1cda0cba8fb637e0f93ad15d5285547a939dd1989ee06a82d + languageName: node + linkType: hard + +"data-uri-to-buffer@npm:^2.0.0": + version: 2.0.2 + resolution: "data-uri-to-buffer@npm:2.0.2" + checksum: 10c0/341b6191ed65fa453e97a6d44db06082121ebc2ef3e6e096dfb6a1ebbc75e8be39d4199a5b4dba0f0efc43f2a3b2bcc276d85cf1407eba880eb09ebf17c3c31e languageName: node linkType: hard @@ -9113,16 +7729,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:~4.3.4": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:~4.3.4": version: 4.3.5 resolution: "debug@npm:4.3.5" dependencies: @@ -9134,12 +7741,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" +"debug@npm:^4.4.3": + version: 4.4.3 + resolution: "debug@npm:4.4.3" dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 languageName: node linkType: hard @@ -9159,52 +7769,34 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^4.1.3": - version: 4.1.4 - resolution: "deep-eql@npm:4.1.4" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 languageName: node linkType: hard -"deep-equal@npm:^2.0.5": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.5" - es-get-iterator: "npm:^1.1.3" - get-intrinsic: "npm:^1.2.2" - is-arguments: "npm:^1.1.1" - is-array-buffer: "npm:^3.0.2" - is-date-object: "npm:^1.0.5" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - isarray: "npm:^2.0.5" - object-is: "npm:^1.1.5" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" - side-channel: "npm:^1.0.4" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.13" - checksum: 10c0/a48244f90fa989f63ff5ef0cc6de1e4916b48ea0220a9c89a378561960814794a5800c600254482a2c8fd2e49d6c2e196131dc983976adb024c94a42dfe4949f +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 languageName: node linkType: hard -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c +"default-browser-id@npm:^5.0.0": + version: 5.0.1 + resolution: "default-browser-id@npm:5.0.1" + checksum: 10c0/5288b3094c740ef3a86df9b999b04ff5ba4dee6b64e7b355c0fff5217752c8c86908d67f32f6cba9bb4f9b7b61a1b640c0a4f9e34c57e0ff3493559a625245ee languageName: node linkType: hard -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 +"default-browser@npm:^5.2.1": + version: 5.5.0 + resolution: "default-browser@npm:5.5.0" + dependencies: + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/576593b617b17a7223014b4571bfe1c06a2581a4eb8b130985d90d253afa3f40999caec70eb0e5776e80d4af6a41cce91018cd3f86e57ad578bf59e46fb19abe languageName: node linkType: hard @@ -9219,14 +7811,14 @@ __metadata: languageName: node linkType: hard -"define-lazy-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "define-lazy-prop@npm:2.0.0" - checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49 languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -9244,14 +7836,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"dequal@npm:^2.0.0, dequal@npm:^2.0.2, dequal@npm:^2.0.3": +"dequal@npm:^2.0.0, dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 @@ -9268,13 +7853,6 @@ __metadata: languageName: node linkType: hard -"destroy@npm:1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 - languageName: node - linkType: hard - "detect-libc@npm:^2.0.3": version: 2.0.3 resolution: "detect-libc@npm:2.0.3" @@ -9305,27 +7883,6 @@ __metadata: languageName: node linkType: hard -"didyoumean@npm:^1.2.2": - version: 1.2.2 - resolution: "didyoumean@npm:1.2.2" - checksum: 10c0/95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^5.0.0": - version: 5.2.2 - resolution: "diff@npm:5.2.2" - checksum: 10c0/52da594c54e9033423da26984b1449ae6accd782d5afc4431c9a192a8507ddc83120fe8f925d7220b9da5b5963c7b6f5e46add3660a00cb36df7a13420a09d4b - languageName: node - linkType: hard - "diffie-hellman@npm:^5.0.0": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" @@ -9337,31 +7894,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dlv@npm:^1.1.3": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 - languageName: node - linkType: hard - -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac - languageName: node - linkType: hard - "doctrine@npm:^3.0.0": version: 3.0.0 resolution: "doctrine@npm:3.0.0" @@ -9371,13 +7903,6 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.9": - version: 0.5.16 - resolution: "dom-accessibility-api@npm:0.5.16" - checksum: 10c0/b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 - languageName: node - linkType: hard - "dom-accessibility-api@npm:^0.6.3": version: 0.6.3 resolution: "dom-accessibility-api@npm:0.6.3" @@ -9428,6 +7953,18 @@ __metadata: languageName: node linkType: hard +"dompurify@npm:^3.3.2": + version: 3.3.2 + resolution: "dompurify@npm:3.3.2" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10c0/8989525f003dd062e829137982b5412143421342991b2732bd621a1efd98b2c3cdc4f37547601d0727d3bc20f1d0eb2a0ecca287d3688f168cdb54ced867ca8f + languageName: node + linkType: hard + "domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -9454,21 +7991,7 @@ __metadata: resolution: "dot-prop@npm:5.3.0" dependencies: is-obj: "npm:^2.0.0" - checksum: 10c0/93f0d343ef87fe8869320e62f2459f7e70f49c6098d948cc47e060f4a3f827d0ad61e83cb82f2bd90cd5b9571b8d334289978a43c0f98fea4f0e99ee8faa0599 - languageName: node - linkType: hard - -"dotenv-expand@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv-expand@npm:10.0.0" - checksum: 10c0/298f5018e29cfdcb0b5f463ba8e8627749103fbcf6cf81c561119115754ed582deee37b49dfc7253028aaba875ab7aea5fa90e5dac88e511d009ab0e6677924e - languageName: node - linkType: hard - -"dotenv@npm:^16.0.0": - version: 16.4.5 - resolution: "dotenv@npm:16.4.5" - checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f + checksum: 10c0/93f0d343ef87fe8869320e62f2459f7e70f49c6098d948cc47e060f4a3f827d0ad61e83cb82f2bd90cd5b9571b8d334289978a43c0f98fea4f0e99ee8faa0599 languageName: node linkType: hard @@ -9490,13 +8013,6 @@ __metadata: languageName: node linkType: hard -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.668": version: 1.4.796 resolution: "electron-to-chromium@npm:1.4.796" @@ -9504,6 +8020,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.263": + version: 1.5.307 + resolution: "electron-to-chromium@npm:1.5.307" + checksum: 10c0/eb773a28af0dd7b3717b9bc2b31f332bcb42b43019866e039276db75c8c14063f96e29d19bea47231b4335a319d8518997b2d577dec6b5b237b768c7afdc5588 + languageName: node + linkType: hard + "elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": version: 6.6.1 resolution: "elliptic@npm:6.6.1" @@ -9547,20 +8070,6 @@ __metadata: languageName: node linkType: hard -"encodeurl@npm:~1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec - languageName: node - linkType: hard - -"encodeurl@npm:~2.0.0": - version: 2.0.0 - resolution: "encodeurl@npm:2.0.0" - checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb - languageName: node - linkType: hard - "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -9581,23 +8090,33 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.12.0, enhanced-resolve@npm:^5.7.0": - version: 5.17.0 - resolution: "enhanced-resolve@npm:5.17.0" +"enhanced-resolve@npm:^5.17.1": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10c0/90065e58e4fd08e77ba47f827eaa17d60c335e01e4859f6e644bb3b8d0e32b203d33894aee92adfa5121fa262f912b48bdf0d0475e98b4a0a1132eea1169ad37 + checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370 languageName: node linkType: hard -"enhanced-resolve@npm:^5.17.1": - version: 5.17.1 - resolution: "enhanced-resolve@npm:5.17.1" +"enhanced-resolve@npm:^5.19.0": + version: 5.20.0 + resolution: "enhanced-resolve@npm:5.20.0" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.3.0" + checksum: 10c0/4ed5f38406fc9ad74c58a3d63b8215862243ab0ed6b0efc51ccdb72cdcedd3ac8638abe298680b279d7a83c3cb140e5eea7a5f8bd99696c74588f07ad89a95a7 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.7.0": + version: 5.17.0 + resolution: "enhanced-resolve@npm:5.17.0" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370 + checksum: 10c0/90065e58e4fd08e77ba47f827eaa17d60c335e01e4859f6e644bb3b8d0e32b203d33894aee92adfa5121fa262f912b48bdf0d0475e98b4a0a1132eea1169ad37 languageName: node linkType: hard @@ -9647,60 +8166,6 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - arraybuffer.prototype.slice: "npm:^1.0.3" - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - data-view-buffer: "npm:^1.0.1" - data-view-byte-length: "npm:^1.0.1" - data-view-byte-offset: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-set-tostringtag: "npm:^2.0.3" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.4" - get-symbol-description: "npm:^1.0.2" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.2" - internal-slot: "npm:^1.0.7" - is-array-buffer: "npm:^3.0.4" - is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.1" - is-negative-zero: "npm:^2.0.3" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.3" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.13" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.5" - regexp.prototype.flags: "npm:^1.5.2" - safe-array-concat: "npm:^1.1.2" - safe-regex-test: "npm:^1.0.3" - string.prototype.trim: "npm:^1.2.9" - string.prototype.trimend: "npm:^1.0.8" - string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.2" - typed-array-byte-length: "npm:^1.0.1" - typed-array-byte-offset: "npm:^1.0.2" - typed-array-length: "npm:^1.0.6" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666 - languageName: node - linkType: hard - "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -9717,52 +8182,13 @@ __metadata: languageName: node linkType: hard -"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 languageName: node linkType: hard -"es-get-iterator@npm:^1.1.3": - version: 1.1.3 - resolution: "es-get-iterator@npm:1.1.3" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.3" - has-symbols: "npm:^1.0.3" - is-arguments: "npm:^1.1.1" - is-map: "npm:^2.0.2" - is-set: "npm:^2.0.2" - is-string: "npm:^1.0.7" - isarray: "npm:^2.0.5" - stop-iteration-iterator: "npm:^1.0.0" - checksum: 10c0/ebd11effa79851ea75d7f079405f9d0dc185559fd65d986c6afea59a0ff2d46c2ed8675f19f03dce7429d7f6c14ff9aede8d121fbab78d75cfda6a263030bac0 - languageName: node - linkType: hard - -"es-iterator-helpers@npm:^1.0.15, es-iterator-helpers@npm:^1.0.19": - version: 1.0.19 - resolution: "es-iterator-helpers@npm:1.0.19" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.3" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.2" - safe-array-concat: "npm:^1.1.2" - checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5 - languageName: node - linkType: hard - "es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.5.0": version: 1.5.3 resolution: "es-module-lexer@npm:1.5.3" @@ -9788,45 +8214,27 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" - dependencies: - get-intrinsic: "npm:^1.2.4" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.1" - checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": - version: 1.0.2 - resolution: "es-shim-unscopables@npm:1.0.2" - dependencies: - hasown: "npm:^2.0.0" - checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"esast-util-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "esast-util-from-estree@npm:2.0.0" dependencies: - is-callable: "npm:^1.1.4" - is-date-object: "npm:^1.0.1" - is-symbol: "npm:^1.0.2" - checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + checksum: 10c0/6c619bc6963314f8f64b32e3b101b321bf121f659e62b11e70f425619c2db6f1d25f4c594a57fd00908da96c67d9bfbf876eb5172abf9e13f47a71796f6630ff languageName: node linkType: hard -"esbuild-register@npm:^3.5.0": - version: 3.5.0 - resolution: "esbuild-register@npm:3.5.0" +"esast-util-from-js@npm:^2.0.0": + version: 2.0.1 + resolution: "esast-util-from-js@npm:2.0.1" dependencies: - debug: "npm:^4.3.4" - peerDependencies: - esbuild: ">=0.12 <1" - checksum: 10c0/9ccd0573cb66018e4cce3c1416eed0f5f3794c7026ce469a94e2f8761335abed8e363fc8e8bb036ab9ad7e579bb4296b8568a04ae5626596c123576b0d9c9bde + "@types/estree-jsx": "npm:^1.0.0" + acorn: "npm:^8.0.0" + esast-util-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3a446fb0b0d7bcd7e0157aa44b3b692802a08c93edbea81cc0f7fe4437bfdfb4b72e4563fe63b4e36d390086b71185dba4ac921f4180cc6349985c263cc74421 languageName: node linkType: hard @@ -9907,110 +8315,36 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:0.17.x || 0.18.x": - version: 0.18.20 - resolution: "esbuild@npm:0.18.20" - dependencies: - "@esbuild/android-arm": "npm:0.18.20" - "@esbuild/android-arm64": "npm:0.18.20" - "@esbuild/android-x64": "npm:0.18.20" - "@esbuild/darwin-arm64": "npm:0.18.20" - "@esbuild/darwin-x64": "npm:0.18.20" - "@esbuild/freebsd-arm64": "npm:0.18.20" - "@esbuild/freebsd-x64": "npm:0.18.20" - "@esbuild/linux-arm": "npm:0.18.20" - "@esbuild/linux-arm64": "npm:0.18.20" - "@esbuild/linux-ia32": "npm:0.18.20" - "@esbuild/linux-loong64": "npm:0.18.20" - "@esbuild/linux-mips64el": "npm:0.18.20" - "@esbuild/linux-ppc64": "npm:0.18.20" - "@esbuild/linux-riscv64": "npm:0.18.20" - "@esbuild/linux-s390x": "npm:0.18.20" - "@esbuild/linux-x64": "npm:0.18.20" - "@esbuild/netbsd-x64": "npm:0.18.20" - "@esbuild/openbsd-x64": "npm:0.18.20" - "@esbuild/sunos-x64": "npm:0.18.20" - "@esbuild/win32-arm64": "npm:0.18.20" - "@esbuild/win32-ia32": "npm:0.18.20" - "@esbuild/win32-x64": "npm:0.18.20" - dependenciesMeta: - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88 - languageName: node - linkType: hard - -"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0": - version: 0.20.2 - resolution: "esbuild@npm:0.20.2" - dependencies: - "@esbuild/aix-ppc64": "npm:0.20.2" - "@esbuild/android-arm": "npm:0.20.2" - "@esbuild/android-arm64": "npm:0.20.2" - "@esbuild/android-x64": "npm:0.20.2" - "@esbuild/darwin-arm64": "npm:0.20.2" - "@esbuild/darwin-x64": "npm:0.20.2" - "@esbuild/freebsd-arm64": "npm:0.20.2" - "@esbuild/freebsd-x64": "npm:0.20.2" - "@esbuild/linux-arm": "npm:0.20.2" - "@esbuild/linux-arm64": "npm:0.20.2" - "@esbuild/linux-ia32": "npm:0.20.2" - "@esbuild/linux-loong64": "npm:0.20.2" - "@esbuild/linux-mips64el": "npm:0.20.2" - "@esbuild/linux-ppc64": "npm:0.20.2" - "@esbuild/linux-riscv64": "npm:0.20.2" - "@esbuild/linux-s390x": "npm:0.20.2" - "@esbuild/linux-x64": "npm:0.20.2" - "@esbuild/netbsd-x64": "npm:0.20.2" - "@esbuild/openbsd-x64": "npm:0.20.2" - "@esbuild/sunos-x64": "npm:0.20.2" - "@esbuild/win32-arm64": "npm:0.20.2" - "@esbuild/win32-ia32": "npm:0.20.2" - "@esbuild/win32-x64": "npm:0.20.2" +"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0": + version: 0.27.3 + resolution: "esbuild@npm:0.27.3" + dependencies: + "@esbuild/aix-ppc64": "npm:0.27.3" + "@esbuild/android-arm": "npm:0.27.3" + "@esbuild/android-arm64": "npm:0.27.3" + "@esbuild/android-x64": "npm:0.27.3" + "@esbuild/darwin-arm64": "npm:0.27.3" + "@esbuild/darwin-x64": "npm:0.27.3" + "@esbuild/freebsd-arm64": "npm:0.27.3" + "@esbuild/freebsd-x64": "npm:0.27.3" + "@esbuild/linux-arm": "npm:0.27.3" + "@esbuild/linux-arm64": "npm:0.27.3" + "@esbuild/linux-ia32": "npm:0.27.3" + "@esbuild/linux-loong64": "npm:0.27.3" + "@esbuild/linux-mips64el": "npm:0.27.3" + "@esbuild/linux-ppc64": "npm:0.27.3" + "@esbuild/linux-riscv64": "npm:0.27.3" + "@esbuild/linux-s390x": "npm:0.27.3" + "@esbuild/linux-x64": "npm:0.27.3" + "@esbuild/netbsd-arm64": "npm:0.27.3" + "@esbuild/netbsd-x64": "npm:0.27.3" + "@esbuild/openbsd-arm64": "npm:0.27.3" + "@esbuild/openbsd-x64": "npm:0.27.3" + "@esbuild/openharmony-arm64": "npm:0.27.3" + "@esbuild/sunos-x64": "npm:0.27.3" + "@esbuild/win32-arm64": "npm:0.27.3" + "@esbuild/win32-ia32": "npm:0.27.3" + "@esbuild/win32-x64": "npm:0.27.3" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -10046,10 +8380,16 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true + "@esbuild/openharmony-arm64": + optional: true "@esbuild/sunos-x64": optional: true "@esbuild/win32-arm64": @@ -10060,11 +8400,11 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/66398f9fb2c65e456a3e649747b39af8a001e47963b25e86d9c09d2a48d61aa641b27da0ce5cad63df95ad246105e1d83e7fee0e1e22a0663def73b1c5101112 + checksum: 10c0/fdc3f87a3f08b3ef98362f37377136c389a0d180fda4b8d073b26ba930cf245521db0a368f119cc7624bc619248fff1439f5811f062d853576f8ffa3df8ee5f1 languageName: node linkType: hard -"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0": +"esbuild@npm:^0.25.4": version: 0.25.12 resolution: "esbuild@npm:0.25.12" dependencies: @@ -10119,352 +8459,76 @@ __metadata: optional: true "@esbuild/linux-loong64": optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-arm64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-arm64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/openharmony-arm64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b - languageName: node - linkType: hard - -"escalade@npm:^3.1.1, escalade@npm:^3.1.2": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 - languageName: node - linkType: hard - -"escape-html@npm:~1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 - languageName: node - linkType: hard - -"escodegen@npm:^2.1.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 - languageName: node - linkType: hard - -"eslint-config-next@npm:14.2.3": - version: 14.2.3 - resolution: "eslint-config-next@npm:14.2.3" - dependencies: - "@next/eslint-plugin-next": "npm:14.2.3" - "@rushstack/eslint-patch": "npm:^1.3.3" - "@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0" - eslint-import-resolver-node: "npm:^0.3.6" - eslint-import-resolver-typescript: "npm:^3.5.2" - eslint-plugin-import: "npm:^2.28.1" - eslint-plugin-jsx-a11y: "npm:^6.7.1" - eslint-plugin-react: "npm:^7.33.2" - eslint-plugin-react-hooks: "npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: ">=3.3.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/52a3d48bb783d3e8d76a571a3636f658e4789e1a4a51ebbd14d184b7f6f5dd91281b71d99e49a7bb7e3ab32a2dddd321285110005ca0969a471be5ab2e579887 - languageName: node - linkType: hard - -"eslint-config-prettier@npm:^9.1.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d - languageName: node - linkType: hard - -"eslint-import-resolver-node@npm:^0.3.6, eslint-import-resolver-node@npm:^0.3.9": - version: 0.3.9 - resolution: "eslint-import-resolver-node@npm:0.3.9" - dependencies: - debug: "npm:^3.2.7" - is-core-module: "npm:^2.13.0" - resolve: "npm:^1.22.4" - checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 - languageName: node - linkType: hard - -"eslint-import-resolver-typescript@npm:^3.5.2": - version: 3.6.1 - resolution: "eslint-import-resolver-typescript@npm:3.6.1" - dependencies: - debug: "npm:^4.3.4" - enhanced-resolve: "npm:^5.12.0" - eslint-module-utils: "npm:^2.7.4" - fast-glob: "npm:^3.3.1" - get-tsconfig: "npm:^4.5.0" - is-core-module: "npm:^2.11.0" - is-glob: "npm:^4.0.3" - peerDependencies: - eslint: "*" - eslint-plugin-import: "*" - checksum: 10c0/cb1cb4389916fe78bf8c8567aae2f69243dbfe624bfe21078c56ad46fa1ebf0634fa7239dd3b2055ab5c27359e4b4c28b69b11fcb3a5df8a9e6f7add8e034d86 - languageName: node - linkType: hard - -"eslint-module-utils@npm:^2.7.4, eslint-module-utils@npm:^2.8.0": - version: 2.8.1 - resolution: "eslint-module-utils@npm:2.8.1" - dependencies: - debug: "npm:^3.2.7" - peerDependenciesMeta: - eslint: - optional: true - checksum: 10c0/1aeeb97bf4b688d28de136ee57c824480c37691b40fa825c711a4caf85954e94b99c06ac639d7f1f6c1d69223bd21bcb991155b3e589488e958d5b83dfd0f882 - languageName: node - linkType: hard - -"eslint-plugin-import@npm:^2.28.1": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" - dependencies: - array-includes: "npm:^3.1.7" - array.prototype.findlastindex: "npm:^1.2.3" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.8.0" - hasown: "npm:^2.0.0" - is-core-module: "npm:^2.13.1" - is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.7" - object.groupby: "npm:^1.0.1" - object.values: "npm:^1.1.7" - semver: "npm:^6.3.1" - tsconfig-paths: "npm:^3.15.0" - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 10c0/5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 - languageName: node - linkType: hard - -"eslint-plugin-jsx-a11y@npm:^6.7.1": - version: 6.8.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" - dependencies: - "@babel/runtime": "npm:^7.23.2" - aria-query: "npm:^5.3.0" - array-includes: "npm:^3.1.7" - array.prototype.flatmap: "npm:^1.3.2" - ast-types-flow: "npm:^0.0.8" - axe-core: "npm:=4.7.0" - axobject-query: "npm:^3.2.1" - damerau-levenshtein: "npm:^1.0.8" - emoji-regex: "npm:^9.2.2" - es-iterator-helpers: "npm:^1.0.15" - hasown: "npm:^2.0.0" - jsx-ast-utils: "npm:^3.3.5" - language-tags: "npm:^1.0.9" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.7" - object.fromentries: "npm:^2.0.7" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/199b883e526e6f9d7c54cb3f094abc54f11a1ec816db5fb6cae3b938eb0e503acc10ccba91ca7451633a9d0b9abc0ea03601844a8aba5fe88c5e8897c9ac8f49 - languageName: node - linkType: hard - -"eslint-plugin-prettier@npm:^5.1.3": - version: 5.1.3 - resolution: "eslint-plugin-prettier@npm:5.1.3" - dependencies: - prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.8.6" - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": optional: true - eslint-config-prettier: + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": optional: true - checksum: 10c0/f45d5fc1fcfec6b0cf038a7a65ddd10a25df4fe3f9e1f6b7f0d5100e66f046a26a2492e69ee765dddf461b93c114cf2e1eb18d4970aafa6f385448985c136e09 + bin: + esbuild: bin/esbuild + checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc - languageName: node - linkType: hard - -"eslint-plugin-react@npm:^7.33.2": - version: 7.34.2 - resolution: "eslint-plugin-react@npm:7.34.2" - dependencies: - array-includes: "npm:^3.1.8" - array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" - array.prototype.toreversed: "npm:^1.1.2" - array.prototype.tosorted: "npm:^1.1.3" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" - estraverse: "npm:^5.3.0" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" - object.fromentries: "npm:^2.0.8" - object.hasown: "npm:^1.1.4" - object.values: "npm:^1.2.0" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.5" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/37dc04424da8626f20a071466e7238d53ed111c53e5e5398d813ac2cf76a2078f00d91f7833fe5b2f0fc98f2688a75b36e78e9ada9f1068705d23c7031094316 - languageName: node - linkType: hard - -"eslint-plugin-react@npm:^7.34.3": - version: 7.34.3 - resolution: "eslint-plugin-react@npm:7.34.3" - dependencies: - array-includes: "npm:^3.1.8" - array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" - array.prototype.toreversed: "npm:^1.1.2" - array.prototype.tosorted: "npm:^1.1.4" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" - estraverse: "npm:^5.3.0" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" - object.fromentries: "npm:^2.0.8" - object.hasown: "npm:^1.1.4" - object.values: "npm:^1.2.0" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.5" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/60717e32c9948e2b4ddc53dac7c4b62c68fc7129c3249079191c941c08ebe7d1f4793d65182922d19427c2a6634e05231a7b74ceee34169afdfd0e43d4a43d26 +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 languageName: node linkType: hard -"eslint-plugin-simple-import-sort@npm:^12.1.0": - version: 12.1.0 - resolution: "eslint-plugin-simple-import-sort@npm:12.1.0" - peerDependencies: - eslint: ">=5.0.0" - checksum: 10c0/11e963683216e190b09bb6834b6978ca71d438d9413c52495e92493b0a68fc10268d7fd5815814496ab02fe7c018e4d5fd82866bf3ed5f95cff69628ca741102 +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 languageName: node linkType: hard -"eslint-plugin-storybook@npm:^0.8.0": - version: 0.8.0 - resolution: "eslint-plugin-storybook@npm:0.8.0" - dependencies: - "@storybook/csf": "npm:^0.0.1" - "@typescript-eslint/utils": "npm:^5.62.0" - requireindex: "npm:^1.2.0" - ts-dedent: "npm:^2.2.0" - peerDependencies: - eslint: ">=6" - checksum: 10c0/c76f6decdd4c826cd6a8bb613085e0cde804f4648093a0464a39867cc0ba4e1d34be15ff91eed827730da5efbbf55ae5e71af648bb0b461946d5e41384669ab8 +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 languageName: node linkType: hard -"eslint-plugin-unused-imports@npm:^4.0.0": +"escape-string-regexp@npm:^4.0.0": version: 4.0.0 - resolution: "eslint-plugin-unused-imports@npm:4.0.0" - dependencies: - eslint-rule-composer: "npm:^0.3.0" - peerDependencies: - "@typescript-eslint/eslint-plugin": 8 - eslint: 9 - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - checksum: 10c0/0ed81fc64279d01d2e207fdb7a4482af127a37c4889fcbdf4237664567ecce0f0b9bfaec90f2041b876a2a50f7ab321ff91bb5afdebe718a0dd0b120f587fd74 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 languageName: node linkType: hard -"eslint-rule-composer@npm:^0.3.0": - version: 0.3.0 - resolution: "eslint-rule-composer@npm:0.3.0" - checksum: 10c0/1f0c40d209e1503a955101a0dbba37e7fc67c8aaa47a5b9ae0b0fcbae7022c86e52b3df2b1b9ffd658e16cd80f31fff92e7222460a44d8251e61d49e0af79a07 +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 languageName: node linkType: hard -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": +"eslint-scope@npm:5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -10474,83 +8538,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 - languageName: node - linkType: hard - -"eslint@npm:^8": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" - debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - bin: - eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 - languageName: node - linkType: hard - -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0": +"esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -10560,15 +8548,6 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 - languageName: node - linkType: hard - "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -10585,74 +8564,69 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": +"estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 languageName: node linkType: hard -"estree-util-attach-comments@npm:^2.0.0": - version: 2.1.1 - resolution: "estree-util-attach-comments@npm:2.1.1" +"estree-util-attach-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-attach-comments@npm:3.0.0" dependencies: "@types/estree": "npm:^1.0.0" - checksum: 10c0/cdb5fdb5809b376ca4a96afbcd916c3570b4bbf5d0115b8a9e1e8a10885d8d9fb549df0a16c077abb42ee35fa33192b69714bac25d4f3c43a36092288c9a64fd + checksum: 10c0/ee69bb5c45e2ad074725b90ed181c1c934b29d81bce4b0c7761431e83c4c6ab1b223a6a3d6a4fbeb92128bc5d5ee201d5dd36cf1770aa5e16a40b0cf36e8a1f1 languageName: node linkType: hard -"estree-util-build-jsx@npm:^2.0.0": - version: 2.2.2 - resolution: "estree-util-build-jsx@npm:2.2.2" +"estree-util-build-jsx@npm:^3.0.0": + version: 3.0.1 + resolution: "estree-util-build-jsx@npm:3.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" estree-walker: "npm:^3.0.0" - checksum: 10c0/2cef6ad6747f51934eba0601c3477ba08c98331cfe616635e08dfc89d06b9bbd370c4d80e87fe7d42d82776fa7840868201f48491b0ef9c808039f15fe4667e1 + checksum: 10c0/274c119817b8e7caa14a9778f1e497fea56cdd2b01df1a1ed037f843178992d3afe85e0d364d485e1e2e239255763553d1b647b15e4a7ba50851bcb43dc6bf80 languageName: node linkType: hard -"estree-util-is-identifier-name@npm:^1.0.0": - version: 1.1.0 - resolution: "estree-util-is-identifier-name@npm:1.1.0" - checksum: 10c0/4984c705638594d651ea090b3da8c0726da67790cea661dd56540e0f16e1bb07fb0c3a96b8f8cd625d5d28da3184340ffd815fea82cb130dc3d558db023b508c +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b languageName: node linkType: hard -"estree-util-is-identifier-name@npm:^2.0.0": - version: 2.1.0 - resolution: "estree-util-is-identifier-name@npm:2.1.0" - checksum: 10c0/cc241a6998d30f4e8775ec34b042ef93e0085cd1bdf692a01f22e9b748f0866c76679475ff87935be1d8d5b1a7648be8cba366dc60866b372269f35feec756fe +"estree-util-scope@npm:^1.0.0": + version: 1.0.0 + resolution: "estree-util-scope@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + checksum: 10c0/ef8a573cc899277c613623a1722f630e2163abbc6e9e2f49e758c59b81b484e248b585df6df09a38c00fbfb6390117997cc80c1347b7a86bc1525d9e462b60d5 languageName: node linkType: hard -"estree-util-to-js@npm:^1.1.0": - version: 1.2.0 - resolution: "estree-util-to-js@npm:1.2.0" +"estree-util-to-js@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-to-js@npm:2.0.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" astring: "npm:^1.8.0" source-map: "npm:^0.7.0" - checksum: 10c0/ad9c99dc34b0510ab813b485251acbf0abd06361c07b13c08da5d1611c279bee02ec09f2c269ae30b8d2da587115fc1fad4fa9f2f5ba69e094e758a3a4de7069 - languageName: node - linkType: hard - -"estree-util-value-to-estree@npm:^1.0.0": - version: 1.3.0 - resolution: "estree-util-value-to-estree@npm:1.3.0" - dependencies: - is-plain-obj: "npm:^3.0.0" - checksum: 10c0/8bf46c4629f55a6ad3a6c523277cd34591cf57dfcab01cf4f218a8780cd23d21901c393693484c449a46bad7b9cb6fbf24c3dd1c1b057e10fd6a076f24fd5f3f + checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 languageName: node linkType: hard -"estree-util-visit@npm:^1.0.0": - version: 1.2.1 - resolution: "estree-util-visit@npm:1.2.1" +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - checksum: 10c0/3c47086ab25947a889fca9f58a842e0d27edadcad24dc393fdd7c9ad3419fe05b3c63b6fc9d6c9d8f50d32bca615cd0a3fe8d0e6b300fb94f74c91210b55ea5d + "@types/unist": "npm:^3.0.0" + checksum: 10c0/acda8b03cc8f890d79c7c7361f6c95331ba84b7ccc0c32b49f447fc30206b20002b37ffdfc97b6ad16e6fe065c63ecbae1622492e2b6b4775c15966606217f39 languageName: node linkType: hard @@ -10663,7 +8637,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^3.0.0, estree-walker@npm:^3.0.3": +"estree-walker@npm:^3.0.0": version: 3.0.3 resolution: "estree-walker@npm:3.0.3" dependencies: @@ -10679,13 +8653,6 @@ __metadata: languageName: node linkType: hard -"etag@npm:~1.8.1": - version: 1.8.1 - resolution: "etag@npm:1.8.1" - checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 - languageName: node - linkType: hard - "event-target-shim@npm:^5.0.0": version: 5.0.1 resolution: "event-target-shim@npm:5.0.1" @@ -10718,23 +8685,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - "execa@npm:^8.0.1, execa@npm:~8.0.1": version: 8.0.1 resolution: "execa@npm:8.0.1" @@ -10766,45 +8716,6 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.17.3": - version: 4.21.0 - resolution: "express@npm:4.21.0" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.3" - content-disposition: "npm:0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:0.6.0" - cookie-signature: "npm:1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:1.3.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - merge-descriptors: "npm:1.0.3" - methods: "npm:~1.1.2" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.10" - proxy-addr: "npm:~2.0.7" - qs: "npm:6.13.0" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:0.19.0" - serve-static: "npm:1.16.2" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 10c0/4cf7ca328f3fdeb720f30ccb2ea7708bfa7d345f9cc460b64a82bf1b2c91e5b5852ba15a9a11b2a165d6089acf83457fc477dc904d59cd71ed34c7a91762c6cc - languageName: node - linkType: hard - "exsolve@npm:^1.0.1": version: 1.0.8 resolution: "exsolve@npm:1.0.8" @@ -10812,15 +8723,6 @@ __metadata: languageName: node linkType: hard -"extend-shallow@npm:^2.0.1": - version: 2.0.1 - resolution: "extend-shallow@npm:2.0.1" - dependencies: - is-extendable: "npm:^0.1.0" - checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 - languageName: node - linkType: hard - "extend@npm:^3.0.0": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -10835,26 +8737,6 @@ __metadata: languageName: node linkType: hard -"fast-diff@npm:^1.1.2": - version: 1.3.0 - resolution: "fast-diff@npm:1.3.0" - checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - "fast-json-parse@npm:^1.0.3": version: 1.0.3 resolution: "fast-json-parse@npm:1.0.3" @@ -10869,41 +8751,6 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 - languageName: node - linkType: hard - -"fault@npm:^2.0.0": - version: 2.0.1 - resolution: "fault@npm:2.0.1" - dependencies: - format: "npm:^0.2.0" - checksum: 10c0/b80fbf1019b9ce8b08ee09ce86e02b028563e13a32ac3be34e42bfac00a97b96d8dee6d31e26578ffc16224eb6729e01ff1f97ddfeee00494f4f56c0aeed4bdd - languageName: node - linkType: hard - -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" - dependencies: - node-domexception: "npm:^1.0.0" - web-streams-polyfill: "npm:^3.0.3" - checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 - languageName: node - linkType: hard - "fflate@npm:^0.4.8": version: 0.4.8 resolution: "fflate@npm:0.4.8" @@ -10911,32 +8758,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd - languageName: node - linkType: hard - -"file-system-cache@npm:2.3.0": - version: 2.3.0 - resolution: "file-system-cache@npm:2.3.0" - dependencies: - fs-extra: "npm:11.1.1" - ramda: "npm:0.29.0" - checksum: 10c0/43de19f0db32e6546bb7abeecb1d6ea83c1eca23b38905c9415a29f6219cc9d6d87b0c1a6aca92c46a0f1bc276241a339f2f68b8aa0ca5c2eb64b6e1e3e4da01 - languageName: node - linkType: hard - -"filesize@npm:^10.0.12": - version: 10.1.2 - resolution: "filesize@npm:10.1.2" - checksum: 10c0/1f3a81231047924e3c6181ef1596bf56c83cc65e407130d9b83a3c6a603894261dce89013d15c6e3e4d636845128360c21c64c4700a243f0d8662e168c2fd781 - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -10953,22 +8774,7 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.3.1": - version: 1.3.1 - resolution: "finalhandler@npm:1.3.1" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:2.0.1" - unpipe: "npm:~1.0.0" - checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f - languageName: node - linkType: hard - -"find-cache-dir@npm:^3.0.0, find-cache-dir@npm:^3.3.1": +"find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" dependencies: @@ -10999,16 +8805,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - "find-up@npm:^6.3.0": version: 6.3.0 resolution: "find-up@npm:6.3.0" @@ -11076,14 +8872,14 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:^8.0.0": - version: 8.0.0 - resolution: "fork-ts-checker-webpack-plugin@npm:8.0.0" +"fork-ts-checker-webpack-plugin@npm:^9.1.0": + version: 9.1.0 + resolution: "fork-ts-checker-webpack-plugin@npm:9.1.0" dependencies: "@babel/code-frame": "npm:^7.16.7" chalk: "npm:^4.1.2" - chokidar: "npm:^3.5.3" - cosmiconfig: "npm:^7.0.1" + chokidar: "npm:^4.0.1" + cosmiconfig: "npm:^8.2.0" deepmerge: "npm:^4.2.2" fs-extra: "npm:^10.0.0" memfs: "npm:^3.4.1" @@ -11095,42 +8891,21 @@ __metadata: peerDependencies: typescript: ">3.6.0" webpack: ^5.11.0 - checksum: 10c0/1a2bb9bbd3e943e3b3a45d7fa9e8383698f5fea1ba28f7d18c8372c804460c2f13af53f791360b973fddafd3e88de7af59082c3cb3375f4e7c3365cd85accedc - languageName: node - linkType: hard - -"format@npm:^0.2.0": - version: 0.2.2 - resolution: "format@npm:0.2.2" - checksum: 10c0/6032ba747541a43abf3e37b402b2f72ee08ebcb58bf84d816443dd228959837f1cddf1e8775b29fa27ff133f4bd146d041bfca5f9cf27f048edf3d493cf8fee6 - languageName: node - linkType: hard - -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" - dependencies: - fetch-blob: "npm:^3.1.2" - checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 - languageName: node - linkType: hard - -"forwarded@npm:0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + checksum: 10c0/b4acdf400862af5f57d3e159b3a444e7f9f73e9f4609d54604c3810f75f8adcea0165a8b17ee856ed3c65591d058ffd73cd08d273e289d4952844e75f6efa85d languageName: node linkType: hard -"framer-motion@npm:^11.2.10": - version: 11.2.10 - resolution: "framer-motion@npm:11.2.10" +"framer-motion@npm:^12.35.0": + version: 12.35.0 + resolution: "framer-motion@npm:12.35.0" dependencies: + motion-dom: "npm:^12.35.0" + motion-utils: "npm:^12.29.2" tslib: "npm:^2.4.0" peerDependencies: "@emotion/is-prop-valid": "*" - react: ^18.0.0 - react-dom: ^18.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@emotion/is-prop-valid": optional: true @@ -11138,25 +8913,7 @@ __metadata: optional: true react-dom: optional: true - checksum: 10c0/b28a906f16c23b2ae14aedcee5a292364fa4ccab129efd86a163da8fd95533bcc6604e9636a4d3727278a7ad0866a69fba3c8884554e67d15722abe1f3c05744 - languageName: node - linkType: hard - -"fresh@npm:0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a - languageName: node - linkType: hard - -"fs-extra@npm:11.1.1": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/a2480243d7dcfa7d723c5f5b24cf4eba02a6ccece208f1524a2fbde1c629492cfb9a59e4b6d04faff6fbdf71db9fdc8ef7f396417a02884195a625f5d8dc9427 + checksum: 10c0/f79e2877d28f8f467bd7e936f2d67a53398c13adce5ac110bd4364da25b8e11b6c3daee7ea533df5d9624bef881ae2b7dd11a8805960bcdffaaee9d2438426f5 languageName: node linkType: hard @@ -11171,17 +8928,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^11.1.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -11240,25 +8986,6 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - functions-have-names: "npm:^1.2.3" - checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.3": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -11280,14 +9007,7 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" dependencies: @@ -11345,13 +9065,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - "get-stream@npm:^8.0.1": version: 8.0.1 resolution: "get-stream@npm:8.0.1" @@ -11359,26 +9072,6 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.5" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.5.0": - version: 4.7.5 - resolution: "get-tsconfig@npm:4.7.5" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/a917dff2ba9ee187c41945736bf9bbab65de31ce5bc1effd76267be483a7340915cff232199406379f26517d2d0a4edcdbcda8cca599c2480a0f2cf1e1de3efa - languageName: node - linkType: hard - "git-raw-commits@npm:^4.0.0": version: 4.0.0 resolution: "git-raw-commits@npm:4.0.0" @@ -11399,24 +9092,6 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - "glob-to-regexp@npm:0.4.1, glob-to-regexp@npm:^0.4.1": version: 0.4.1 resolution: "glob-to-regexp@npm:0.4.1" @@ -11424,22 +9099,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:10.3.10": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d - languageName: node - linkType: hard - -"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10": version: 10.4.1 resolution: "glob@npm:10.4.1" dependencies: @@ -11484,39 +9144,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd - languageName: node - linkType: hard - -"globalthis@npm:^1.0.3": - version: 1.0.4 - resolution: "globalthis@npm:1.0.4" - dependencies: - define-properties: "npm:^1.2.1" - gopd: "npm:^1.0.1" - checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 - languageName: node - linkType: hard - -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -11540,50 +9167,6 @@ __metadata: languageName: node linkType: hard -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - -"gray-matter@npm:^4.0.3": - version: 4.0.3 - resolution: "gray-matter@npm:4.0.3" - dependencies: - js-yaml: "npm:^3.13.1" - kind-of: "npm:^6.0.2" - section-matter: "npm:^1.0.0" - strip-bom-string: "npm:^1.0.0" - checksum: 10c0/e38489906dad4f162ca01e0dcbdbed96d1a53740cef446b9bf76d80bec66fa799af07776a18077aee642346c5e1365ed95e4c91854a12bf40ba0d4fb43a625a6 - languageName: node - linkType: hard - -"handlebars@npm:^4.7.7": - version: 4.7.8 - resolution: "handlebars@npm:4.7.8" - dependencies: - minimist: "npm:^1.2.5" - neo-async: "npm:^2.6.2" - source-map: "npm:^0.6.1" - uglify-js: "npm:^3.1.4" - wordwrap: "npm:^1.0.0" - dependenciesMeta: - uglify-js: - optional: true - bin: - handlebars: bin/handlebars - checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d - languageName: node - linkType: hard - -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b - languageName: node - linkType: hard - "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -11598,13 +9181,6 @@ __metadata: languageName: node linkType: hard -"has-own-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "has-own-prop@npm:2.0.0" - checksum: 10c0/2745497283d80228b5c5fbb8c63ab1029e604bce7db8d4b36255e427b3695b2153dc978b176674d0dd2a23f132809e04d7ef41fefc0ab85870a5caa918c5c0d9 - languageName: node - linkType: hard - "has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" @@ -11614,14 +9190,14 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": +"has-proto@npm:^1.0.1": version: 1.0.3 resolution: "has-proto@npm:1.0.3" checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": +"has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 @@ -11674,13 +9250,6 @@ __metadata: languageName: node linkType: hard -"hash-wasm@npm:^4.9.0": - version: 4.11.0 - resolution: "hash-wasm@npm:4.11.0" - checksum: 10c0/ddf87ed2319fc7c9ba745fffccbf008a80e931b5913b4eef42b038efc10705e48458e2bf528601f78142774108dd7b151341721ce05aca9c431179fe5cefbb72 - languageName: node - linkType: hard - "hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": version: 1.1.7 resolution: "hash.js@npm:1.1.7" @@ -11691,7 +9260,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.0, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -11714,21 +9283,6 @@ __metadata: languageName: node linkType: hard -"hast-util-from-parse5@npm:^7.0.0": - version: 7.1.2 - resolution: "hast-util-from-parse5@npm:7.1.2" - dependencies: - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" - hastscript: "npm:^7.0.0" - property-information: "npm:^6.0.0" - vfile: "npm:^5.0.0" - vfile-location: "npm:^4.0.0" - web-namespaces: "npm:^2.0.0" - checksum: 10c0/c1002816d0235ff0a1e888d71c191d3ecfbaba510aaef86eec00edcba8803a3e0ad901bb0e5430a9d2aee2d52c31aabacae8282394dc519c333017a46c68d1c8 - languageName: node - linkType: hard - "hast-util-from-parse5@npm:^8.0.0": version: 8.0.1 resolution: "hast-util-from-parse5@npm:8.0.1" @@ -11763,15 +9317,6 @@ __metadata: languageName: node linkType: hard -"hast-util-parse-selector@npm:^3.0.0": - version: 3.1.1 - resolution: "hast-util-parse-selector@npm:3.1.1" - dependencies: - "@types/hast": "npm:^2.0.0" - checksum: 10c0/34ac1707a477fd9764e328087163f1f21857bdb0f8d425bf41f6def7baf840e50e4bca2eb03072e3da4e39856de28893c4b688dcba0cc305160d53afcece4df4 - languageName: node - linkType: hard - "hast-util-parse-selector@npm:^4.0.0": version: 4.0.0 resolution: "hast-util-parse-selector@npm:4.0.0" @@ -11781,78 +9326,69 @@ __metadata: languageName: node linkType: hard -"hast-util-raw@npm:^7.0.0": - version: 7.2.3 - resolution: "hast-util-raw@npm:7.2.3" - dependencies: - "@types/hast": "npm:^2.0.0" - "@types/parse5": "npm:^6.0.0" - hast-util-from-parse5: "npm:^7.0.0" - hast-util-to-parse5: "npm:^7.0.0" - html-void-elements: "npm:^2.0.0" - parse5: "npm:^6.0.0" - unist-util-position: "npm:^4.0.0" - unist-util-visit: "npm:^4.0.0" - vfile: "npm:^5.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/c7bf994938cbc1acaaeb337f99773773b51ad77695b559c6352cba5c35b26610e6de2936b5086ef8bc53b436dd8032a3860e7357f28b6bb0365f751919745398 - languageName: node - linkType: hard - -"hast-util-to-estree@npm:^2.0.0": - version: 2.3.3 - resolution: "hast-util-to-estree@npm:2.3.3" +"hast-util-to-estree@npm:^3.0.0": + version: 3.1.3 + resolution: "hast-util-to-estree@npm:3.1.3" dependencies: "@types/estree": "npm:^1.0.0" "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" - estree-util-attach-comments: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - hast-util-whitespace: "npm:^2.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - property-information: "npm:^6.0.0" + devlop: "npm:^1.0.0" + estree-util-attach-comments: "npm:^3.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" - style-to-object: "npm:^0.4.1" - unist-util-position: "npm:^4.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/5947b5030a6d20c193f5ea576cc751507e0b30d00f91e40a5208ca3a7add03a3862795a83600c0fdadf19c8b051917c7904715fa7dd358f04603d67a36341c38 + checksum: 10c0/8e86c075319082c8a6304c5bcdf24ec02466074571e993f58bfa2cfd70850ef46d33b5c402208597a87fe0f02f1e620bda5958217efb1b7396c81c486373b75f languageName: node linkType: hard -"hast-util-to-html@npm:^8.0.0": - version: 8.0.4 - resolution: "hast-util-to-html@npm:8.0.4" +"hast-util-to-html@npm:^9.0.5": + version: 9.0.5 + resolution: "hast-util-to-html@npm:9.0.5" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" ccount: "npm:^2.0.0" comma-separated-tokens: "npm:^2.0.0" - hast-util-raw: "npm:^7.0.0" - hast-util-whitespace: "npm:^2.0.0" - html-void-elements: "npm:^2.0.0" - property-information: "npm:^6.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" stringify-entities: "npm:^4.0.0" zwitch: "npm:^2.0.4" - checksum: 10c0/a9dd87cdd710dcd151d144152ec6d2c6d20377b8258b31776e1387868fab8e3e0552d237c337d84dc94407b935a47e2e344b1cf8bd3ce16541c934004879c33f + checksum: 10c0/b7a08c30bab4371fc9b4a620965c40b270e5ae7a8e94cf885f43b21705179e28c8e43b39c72885d1647965fb3738654e6962eb8b58b0c2a84271655b4d748836 languageName: node linkType: hard -"hast-util-to-parse5@npm:^7.0.0": - version: 7.1.0 - resolution: "hast-util-to-parse5@npm:7.1.0" +"hast-util-to-jsx-runtime@npm:^2.0.0": + version: 2.3.6 + resolution: "hast-util-to-jsx-runtime@npm:2.3.6" dependencies: - "@types/hast": "npm:^2.0.0" + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" - property-information: "npm:^6.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/2a96302b8f25fa2d5b657a94bb20a3d9a1a81e66c2f81582a242c5634dd850e3bd95313a7471eef8282b597f2129551fef5a1631f4ce14c41aab646281b339a0 + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/27297e02848fe37ef219be04a26ce708d17278a175a807689e94a821dcffc88aa506d62c3a85beed1f9a8544f7211bdcbcde0528b7b456a57c2e342c3fd11056 languageName: node linkType: hard @@ -11865,23 +9401,12 @@ __metadata: languageName: node linkType: hard -"hast-util-whitespace@npm:^2.0.0": - version: 2.0.1 - resolution: "hast-util-whitespace@npm:2.0.1" - checksum: 10c0/dcf6ebab091c802ffa7bb3112305c7631c15adb6c07a258f5528aefbddf82b4e162c8310ef426c48dc1dc623982cc33920e6dde5a50015d307f2778dcf6c2487 - languageName: node - linkType: hard - -"hastscript@npm:^7.0.0": - version: 7.2.0 - resolution: "hastscript@npm:7.2.0" +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" dependencies: - "@types/hast": "npm:^2.0.0" - comma-separated-tokens: "npm:^2.0.0" - hast-util-parse-selector: "npm:^3.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - checksum: 10c0/579912b03ff4a5b19eb609df7403c6dba2505ef1a1e2bc47cbf467cbd7cffcd51df40e74d882de1ccdda40aaf18487f82619eb9cb9f2077cba778017e95e868e + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 languageName: node linkType: hard @@ -11942,17 +9467,10 @@ __metadata: languageName: node linkType: hard -"html-tags@npm:^3.1.0": - version: 3.3.1 - resolution: "html-tags@npm:3.3.1" - checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 - languageName: node - linkType: hard - -"html-void-elements@npm:^2.0.0": - version: 2.0.1 - resolution: "html-void-elements@npm:2.0.1" - checksum: 10c0/1079c9e9fdb3b6a2481f2a282098a0183f3d45bf2b9d76c7dfc1671ee1857d7bacdd04fd8c6e2418f5ff550c30cabf97a010fe31ec402d0c89189807b48e6d79 +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 languageName: node linkType: hard @@ -11996,19 +9514,6 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - "http-proxy-agent@npm:^7.0.0": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" @@ -12036,13 +9541,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - "human-signals@npm:^5.0.0": version: 5.0.0 resolution: "human-signals@npm:5.0.0" @@ -12059,15 +9557,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -12093,32 +9582,16 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.3.1": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd - languageName: node - linkType: hard - -"image-size@npm:^1.0.0": - version: 1.1.1 - resolution: "image-size@npm:1.1.1" - dependencies: - queue: "npm:6.0.2" +"image-size@npm:^2.0.2": + version: 2.0.2 + resolution: "image-size@npm:2.0.2" bin: image-size: bin/image-size.js - checksum: 10c0/2660470096d12be82195f7e80fe03274689fbd14184afb78eaf66ade7cd06352518325814f88af4bde4b26647889fe49e573129f6e7ba8f5ff5b85cc7f559000 - languageName: node - linkType: hard - -"imagescript@npm:^1.2.16": - version: 1.3.0 - resolution: "imagescript@npm:1.3.0" - checksum: 10c0/26f6ef39b75bee8a7009edf72de2d2e9ead6f66bdc2e3bdaa42ae05b9b8eb13c4059ca6902dca7f82fff19a74e5ec82898e6c4a95b909b418c2fe2a803322308 + checksum: 10c0/f09dd0f7cf8511cd20e4f756bdb5a7cb6d2240de3323f41bde266bed8373392a293892bf12e907e2995f52833fd88dd27cf6b1a52ab93968afc716cb78cd7b79 languageName: node linkType: hard -"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -12149,13 +9622,6 @@ __metadata: languageName: node linkType: hard -"inflection@npm:^2.0.1": - version: 2.0.1 - resolution: "inflection@npm:2.0.1" - checksum: 10c0/1aee299618b24ae4f36eed41b2e9d3390f2a015b854bad558d7dc42c13e5c9638c403b9540736670a38647c33d99089a44f26e9c6e474bb68ebecab23de3f55b - languageName: node - linkType: hard - "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -12166,7 +9632,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -12180,21 +9646,10 @@ __metadata: languageName: node linkType: hard -"inline-style-parser@npm:0.1.1": - version: 0.1.1 - resolution: "inline-style-parser@npm:0.1.1" - checksum: 10c0/08832a533f51a1e17619f2eabf2f5ec5e956d6dcba1896351285c65df022c9420de61d73256e1dca8015a52abf96cc84ddc3b73b898b22de6589d3962b5e501b - languageName: node - linkType: hard - -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" - dependencies: - es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c +"inline-style-parser@npm:0.2.7": + version: 0.2.7 + resolution: "inline-style-parser@npm:0.2.7" + checksum: 10c0/d884d76f84959517430ae6c22f0bda59bb3f58f539f99aac75a8d786199ec594ed648c6ab4640531f9fc244b0ed5cd8c458078e592d016ef06de793beb1debff languageName: node linkType: hard @@ -12217,20 +9672,6 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a - languageName: node - linkType: hard - -"is-absolute-url@npm:^4.0.0": - version: 4.0.1 - resolution: "is-absolute-url@npm:4.0.1" - checksum: 10c0/6f8f603945bd9f2c6031758bbc12352fc647bd5d807cad10d96cc6300fd0e15240cc091521a61db767e4ec0bacff257b4f1015fd5249c147bbb4a4497356c72e - languageName: node - linkType: hard - "is-alphabetical@npm:^2.0.0": version: 2.0.1 resolution: "is-alphabetical@npm:2.0.1" @@ -12248,7 +9689,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": +"is-arguments@npm:^1.0.4": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" dependencies: @@ -12258,16 +9699,6 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -12282,43 +9713,6 @@ __metadata: languageName: node linkType: hard -"is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668 - languageName: node - linkType: hard - -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" - dependencies: - has-bigints: "npm:^1.0.1" - checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 - languageName: node - linkType: hard - "is-buffer@npm:^2.0.0": version: 2.0.5 resolution: "is-buffer@npm:2.0.5" @@ -12326,14 +9720,14 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": +"is-core-module@npm:^2.13.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -12342,21 +9736,12 @@ __metadata: languageName: node linkType: hard -"is-data-view@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-view@npm:1.0.1" - dependencies: - is-typed-array: "npm:^1.1.13" - checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d - languageName: node - linkType: hard - -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-core-module@npm:^2.16.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd languageName: node linkType: hard @@ -12367,35 +9752,12 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" bin: is-docker: cli.js - checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc - languageName: node - linkType: hard - -"is-extendable@npm:^0.1.0": - version: 0.1.1 - resolution: "is-extendable@npm:0.1.1" - checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86 + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 languageName: node linkType: hard @@ -12422,7 +9784,7 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": +"is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" dependencies: @@ -12431,15 +9793,6 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - "is-hexadecimal@npm:^2.0.0": version: 2.0.1 resolution: "is-hexadecimal@npm:2.0.1" @@ -12447,6 +9800,17 @@ __metadata: languageName: node linkType: hard +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd + languageName: node + linkType: hard + "is-interactive@npm:^2.0.0": version: 2.0.0 resolution: "is-interactive@npm:2.0.0" @@ -12457,40 +9821,17 @@ __metadata: "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d - languageName: node - linkType: hard - -"is-map@npm:^2.0.2, is-map@npm:^2.0.3": - version: 2.0.3 - resolution: "is-map@npm:2.0.3" - checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc - languageName: node - linkType: hard - -"is-nan@npm:^1.3.2": - version: 1.3.2 - resolution: "is-nan@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.0" - define-properties: "npm:^1.1.3" - checksum: 10c0/8bfb286f85763f9c2e28ea32e9127702fe980ffd15fa5d63ade3be7786559e6e21355d3625dd364c769c033c5aedf0a2ed3d4025d336abf1b9241e3d9eddc5b0 - languageName: node - linkType: hard - -"is-negative-zero@npm:^2.0.3": - version: 2.0.3 - resolution: "is-negative-zero@npm:2.0.3" - checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d languageName: node linkType: hard -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" +"is-nan@npm:^1.3.2": + version: 1.3.2 + resolution: "is-nan@npm:1.3.2" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + call-bind: "npm:^1.0.0" + define-properties: "npm:^1.1.3" + checksum: 10c0/8bfb286f85763f9c2e28ea32e9127702fe980ffd15fa5d63ade3be7786559e6e21355d3625dd364c769c033c5aedf0a2ed3d4025d336abf1b9241e3d9eddc5b0 languageName: node linkType: hard @@ -12508,20 +9849,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-plain-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-plain-obj@npm:3.0.0" - checksum: 10c0/8e6483bfb051d42ec9c704c0ede051a821c6b6f9a6c7a3e3b55aa855e00981b0580c8f3b1f5e2e62649b39179b1abfee35d6f8086d999bfaa32c1908d29b07bc - languageName: node - linkType: hard - "is-plain-obj@npm:^4.0.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" @@ -12529,55 +9856,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c - languageName: node - linkType: hard - -"is-reference@npm:^3.0.0": - version: 3.0.2 - resolution: "is-reference@npm:3.0.2" - dependencies: - "@types/estree": "npm:*" - checksum: 10c0/652d31b405e8e8269071cee78fe874b072745012eba202c6dc86880fd603a65ae043e3160990ab4a0a4b33567cbf662eecf3bc6b3c2c1550e6c2b6cf885ce5aa - languageName: node - linkType: hard - -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 - languageName: node - linkType: hard - -"is-set@npm:^2.0.2, is-set@npm:^2.0.3": - version: 2.0.3 - resolution: "is-set@npm:2.0.3" - checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - "is-stream@npm:^3.0.0": version: 3.0.0 resolution: "is-stream@npm:3.0.0" @@ -12585,24 +9863,6 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" - dependencies: - has-symbols: "npm:^1.0.2" - checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 - languageName: node - linkType: hard - "is-text-path@npm:^2.0.0": version: 2.0.0 resolution: "is-text-path@npm:2.0.0" @@ -12612,15 +9872,6 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" - dependencies: - which-typed-array: "npm:^1.1.14" - checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca - languageName: node - linkType: hard - "is-typed-array@npm:^1.1.14": version: 1.1.15 resolution: "is-typed-array@npm:1.1.15" @@ -12630,6 +9881,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.3": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: "npm:^1.1.14" + checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + languageName: node + linkType: hard + "is-unicode-supported@npm:^1.3.0": version: 1.3.0 resolution: "is-unicode-supported@npm:1.3.0" @@ -12644,38 +9904,12 @@ __metadata: languageName: node linkType: hard -"is-weakmap@npm:^2.0.2": - version: 2.0.2 - resolution: "is-weakmap@npm:2.0.2" - checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 - languageName: node - linkType: hard - -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 - languageName: node - linkType: hard - -"is-weakset@npm:^2.0.3": - version: 2.0.3 - resolution: "is-weakset@npm:2.0.3" - dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/8ad6141b6a400e7ce7c7442a13928c676d07b1f315ab77d9912920bf5f4170622f43126f111615788f26c3b1871158a6797c862233124507db0bcc33a9537d1a - languageName: node - linkType: hard - -"is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" +"is-wsl@npm:^3.1.0": + version: 3.1.1 + resolution: "is-wsl@npm:3.1.1" dependencies: - is-docker: "npm:^2.0.0" - checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + is-inside-container: "npm:^1.0.0" + checksum: 10c0/7e5023522bfb8f27de4de960b0d82c4a8146c0bddb186529a3616d78b5bbbfc19ef0c5fc60d0b3a3cc0bf95a415fbdedc18454310ea3049587c879b07ace5107 languageName: node linkType: hard @@ -12707,32 +9941,6 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" - dependencies: - define-properties: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - reflect.getprototypeof: "npm:^1.0.4" - set-function-name: "npm:^2.0.1" - checksum: 10c0/a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 - languageName: node - linkType: hard - -"jackspeak@npm:^2.3.5": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 - languageName: node - linkType: hard - "jackspeak@npm:^3.1.2": version: 3.4.0 resolution: "jackspeak@npm:3.4.0" @@ -12766,7 +9974,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.20.0, jiti@npm:^1.21.0": +"jiti@npm:^1.20.0": version: 1.21.3 resolution: "jiti@npm:1.21.3" bin: @@ -12775,6 +9983,15 @@ __metadata: languageName: node linkType: hard +"jiti@npm:^2.6.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -12782,19 +9999,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1": - version: 3.14.2 - resolution: "js-yaml@npm:3.14.2" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/3261f25912f5dd76605e5993d0a126c2b6c346311885d3c483706cd722efe34f697ea0331f654ce27c00a42b426e524518ec89d65ed02ea47df8ad26dcc8ce69 - languageName: node - linkType: hard - -"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -12805,13 +10010,6 @@ __metadata: languageName: node linkType: hard -"jsbi@npm:^4.3.0": - version: 4.3.0 - resolution: "jsbi@npm:4.3.0" - checksum: 10c0/1817ac1b50ea3f4438bcd84cadc9aee7a8657829f65b55ea6f151f401dbbd3babedbfdd3e4f481bd7b5472abb7823efa640fd7e5eee7c30cea6431f7a8b74696 - languageName: node - linkType: hard - "jsbn@npm:1.1.0": version: 1.1.0 resolution: "jsbn@npm:1.1.0" @@ -12819,13 +10017,6 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:^4.0.0": - version: 4.8.0 - resolution: "jsdoc-type-pratt-parser@npm:4.8.0" - checksum: 10c0/c2b77751d35e3931db9da96720b544b215830722b748b58ee8ce51ec72092006a4a03c5a59c86a4552d0094975c8d3bcc21a7241a0e47860e127d3fba5b55f33 - languageName: node - linkType: hard - "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -12835,6 +10026,15 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + "jsesc@npm:~0.5.0": version: 0.5.0 resolution: "jsesc@npm:0.5.0" @@ -12872,24 +10072,6 @@ __metadata: languageName: node linkType: hard -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - "json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -12899,7 +10081,7 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0": +"jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" dependencies: @@ -12919,18 +10101,6 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": - version: 3.3.5 - resolution: "jsx-ast-utils@npm:3.3.5" - dependencies: - array-includes: "npm:^3.1.6" - array.prototype.flat: "npm:^1.3.1" - object.assign: "npm:^4.1.4" - object.values: "npm:^1.1.6" - checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 - languageName: node - linkType: hard - "keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -12940,13 +10110,6 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 - languageName: node - linkType: hard - "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -12954,68 +10117,123 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.0.3": - version: 4.1.5 - resolution: "kleur@npm:4.1.5" - checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a +"lightningcss-android-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-android-arm64@npm:1.31.1" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"klona@npm:^2.0.4": - version: 2.0.6 - resolution: "klona@npm:2.0.6" - checksum: 10c0/94eed2c6c2ce99f409df9186a96340558897b3e62a85afdc1ee39103954d2ebe1c1c4e9fe2b0952771771fa96d70055ede8b27962a7021406374fdb695fd4d01 +"lightningcss-darwin-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-arm64@npm:1.31.1" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"language-subtag-registry@npm:^0.3.20": - version: 0.3.23 - resolution: "language-subtag-registry@npm:0.3.23" - checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c +"lightningcss-darwin-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-x64@npm:1.31.1" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"language-tags@npm:^1.0.9": - version: 1.0.9 - resolution: "language-tags@npm:1.0.9" - dependencies: - language-subtag-registry: "npm:^0.3.20" - checksum: 10c0/9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff +"lightningcss-freebsd-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-freebsd-x64@npm:1.31.1" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"lazy-universal-dotenv@npm:^4.0.0": - version: 4.0.0 - resolution: "lazy-universal-dotenv@npm:4.0.0" - dependencies: - app-root-dir: "npm:^1.0.2" - dotenv: "npm:^16.0.0" - dotenv-expand: "npm:^10.0.0" - checksum: 10c0/3bc4fe649c46c4a20561ca1fd10cd1df641d2c6c42c61af6c65a5fe0546cb548f449e13e6c7440be445c9fe5b4973c25f499e7d899b8704b7b9bd0ec85bbfe2d +"lightningcss-linux-arm-gnueabihf@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.31.1" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e +"lightningcss-linux-arm64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-gnu@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"lilconfig@npm:^2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 +"lightningcss-linux-arm64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-musl@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"lilconfig@npm:^3.0.0": - version: 3.1.1 - resolution: "lilconfig@npm:3.1.1" - checksum: 10c0/311b559794546894e3fe176663427326026c1c644145be9e8041c58e268aa9328799b8dfe7e4dd8c6a4ae305feae95a1c9e007db3569f35b42b6e1bc8274754c +"lightningcss-linux-x64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-gnu@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-musl@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-arm64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-x64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss@npm:1.31.1" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.31.1" + lightningcss-darwin-arm64: "npm:1.31.1" + lightningcss-darwin-x64: "npm:1.31.1" + lightningcss-freebsd-x64: "npm:1.31.1" + lightningcss-linux-arm-gnueabihf: "npm:1.31.1" + lightningcss-linux-arm64-gnu: "npm:1.31.1" + lightningcss-linux-arm64-musl: "npm:1.31.1" + lightningcss-linux-x64-gnu: "npm:1.31.1" + lightningcss-linux-x64-musl: "npm:1.31.1" + lightningcss-win32-arm64-msvc: "npm:1.31.1" + lightningcss-win32-x64-msvc: "npm:1.31.1" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/c6754b305d4a73652e472fc0d7d65384a6e16c336ea61068eca60de2a45bd5c30abbf012358b82eac56ee98b5d88028932cda5268ff61967cffa400b9e7ee2ba languageName: node linkType: hard @@ -13101,15 +10319,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - "locate-path@npm:^7.1.0, locate-path@npm:^7.2.0": version: 7.2.0 resolution: "locate-path@npm:7.2.0" @@ -13147,7 +10356,7 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:4.6.2, lodash.merge@npm:^4.6.2": +"lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 @@ -13189,7 +10398,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21": +"lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.23 resolution: "lodash@npm:4.17.23" checksum: 10c0/1264a90469f5bb95d4739c43eb6277d15b6d9e186df4ac68c3620443160fc669e2f14c11e7d8b2ccf078b81d06147c01a8ccced9aab9f9f63d50dcf8cace6bf6 @@ -13233,7 +10442,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -13244,12 +10453,10 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^2.3.6, loupe@npm:^2.3.7": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 +"loupe@npm:^3.1.0, loupe@npm:^3.1.4": + version: 3.2.1 + resolution: "loupe@npm:3.2.1" + checksum: 10c0/910c872cba291309664c2d094368d31a68907b6f5913e989d301b5c25f30e97d76d77f23ab3bf3b46d0f601ff0b6af8810c10c31b91d2c6b2f132809ca2cc705 languageName: node linkType: hard @@ -13278,21 +10485,12 @@ __metadata: languageName: node linkType: hard -"lucide-react@npm:^0.390.0": - version: 0.390.0 - resolution: "lucide-react@npm:0.390.0" +"lucide-react@npm:^0.475.0": + version: 0.475.0 + resolution: "lucide-react@npm:0.475.0" peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - checksum: 10c0/d8062c311e703c592c0704d624855b965ba2caa3260f7158f65eb6a63c0826150ac67d35df210d58830bc6d85f8ad0e98e62c7e02e6f9e37690909aa046f64d0 - languageName: node - linkType: hard - -"lz-string@npm:^1.5.0": - version: 1.5.0 - resolution: "lz-string@npm:1.5.0" - bin: - lz-string: bin/bin.js - checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/9cb17bd4e70da4db104874b6b2e9d9c7e2be9438e9d1c0b2565df0c4d0bdd1add41b7dff3cb60840699ecbd29870c453878b42b69a7c46480def0c9370a852a9 languageName: node linkType: hard @@ -13305,6 +10503,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.21": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a + languageName: node + linkType: hard + "magic-string@npm:^0.30.5": version: 0.30.10 resolution: "magic-string@npm:0.30.10" @@ -13343,17 +10550,10 @@ __metadata: languageName: node linkType: hard -"map-or-similar@npm:^1.5.0": - version: 1.5.0 - resolution: "map-or-similar@npm:1.5.0" - checksum: 10c0/33c6ccfdc272992e33e4e99a69541a3e7faed9de3ac5bc732feb2500a9ee71d3f9d098980a70b7746e7eeb7f859ff7dfb8aa9b5ecc4e34170a32ab78cfb18def - languageName: node - linkType: hard - -"markdown-extensions@npm:^1.0.0": - version: 1.1.1 - resolution: "markdown-extensions@npm:1.1.1" - checksum: 10c0/eb9154016502ad1fb4477683ddb5cae8ba3ca06451b381b04dc4c34e91d8d168129d50d404b717d6bf7d458e13088c109303fc72d57cee7151a6082b0e7bba71 +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: 10c0/406139da2aa0d5ebad86195c8e8c02412f873c452b4c087ae7bc767af37956141be449998223bb379eea179b5fd38dfa610602b6f29c22ddab5d51e627a7e41d languageName: node linkType: hard @@ -13364,15 +10564,6 @@ __metadata: languageName: node linkType: hard -"markdown-to-jsx@npm:7.3.2": - version: 7.3.2 - resolution: "markdown-to-jsx@npm:7.3.2" - peerDependencies: - react: ">= 0.14.0" - checksum: 10c0/191b9a9defeed02e12dd340cebf279f577266dac7b34574fa44ce4d64ee8536f9967d455b8303c853f84413feb473118290a6160d8221eeaf3b9e4961b8980e3 - languageName: node - linkType: hard - "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -13391,46 +10582,15 @@ __metadata: languageName: node linkType: hard -"mdast-util-definitions@npm:^5.0.0": - version: 5.1.2 - resolution: "mdast-util-definitions@npm:5.1.2" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/da9049c15562e44ee4ea4a36113d98c6c9eaa3d8a17d6da2aef6a0626376dcd01d9ec007d77a8dfcad6d0cbd5c32a4abbad72a3f48c3172a55934c7d9a916480 - languageName: node - linkType: hard - -"mdast-util-find-and-replace@npm:^2.0.0": - version: 2.2.2 - resolution: "mdast-util-find-and-replace@npm:2.2.2" +"mdast-util-find-and-replace@npm:^3.0.0": + version: 3.0.2 + resolution: "mdast-util-find-and-replace@npm:3.0.2" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" escape-string-regexp: "npm:^5.0.0" - unist-util-is: "npm:^5.0.0" - unist-util-visit-parents: "npm:^5.0.0" - checksum: 10c0/ce935f4bd4aeab47f91531a7f09dfab89aaeea62ad31029b43185c5b626921357703d8e5093c13073c097fdabfc57cb2f884d7dfad83dbe7239e351375d6797c - languageName: node - linkType: hard - -"mdast-util-from-markdown@npm:^1.0.0, mdast-util-from-markdown@npm:^1.1.0": - version: 1.3.1 - resolution: "mdast-util-from-markdown@npm:1.3.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - decode-named-character-reference: "npm:^1.0.0" - mdast-util-to-string: "npm:^3.1.0" - micromark: "npm:^3.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-decode-string: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f4e901bf2a2e93fe35a339e0cff581efacce2f7117cd5652e9a270847bd7e2508b3e717b7b4156af54d4f896d63033e06ff9fafbf59a1d46fe17dd5e2a3f7846 + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/c8417a35605d567772ff5c1aa08363ff3010b0d60c8ea68c53cba09bf25492e3dd261560425c1756535f3b7107f62e7ff3857cdd8fb1e62d1b2cc2ea6e074ca2 languageName: node linkType: hard @@ -13454,153 +10614,141 @@ __metadata: languageName: node linkType: hard -"mdast-util-frontmatter@npm:^1.0.0": - version: 1.0.1 - resolution: "mdast-util-frontmatter@npm:1.0.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - micromark-extension-frontmatter: "npm:^1.0.0" - checksum: 10c0/53d5c66f1f1ce3a8aa0732e52c9b8bc8b136ae8ca4cc0d945d543ced39d0e322cb1343710600ec94283cb066a026ddf2407d1dca911cc34be001b2c88336339e - languageName: node - linkType: hard - -"mdast-util-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-autolink-literal@npm:1.0.3" +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" ccount: "npm:^2.0.0" - mdast-util-find-and-replace: "npm:^2.0.0" - micromark-util-character: "npm:^1.0.0" - checksum: 10c0/750e312eae73c3f2e8aa0e8c5232cb1b905357ff37ac236927f1af50cdbee7c2cfe2379b148ac32fa4137eeb3b24601e1bb6135084af926c7cd808867804193f + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 languageName: node linkType: hard -"mdast-util-gfm-footnote@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-footnote@npm:1.0.2" +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "mdast-util-gfm-footnote@npm:2.1.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - checksum: 10c0/767973e46b9e2ae44e80e51a5e38ad0b032fc7f06a1a3095aa96c2886ba333941c764474a56b82e7db05efc56242a4789bc7fbbcc753d61512750e86a4192fe8 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/8ab965ee6be3670d76ec0e95b2ba3101fc7444eec47564943ab483d96ac17d29da2a4e6146a2a288be30c21b48c4f3938a1e54b9a46fbdd321d49a5bc0077ed0 languageName: node linkType: hard -"mdast-util-gfm-strikethrough@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-strikethrough@npm:1.0.3" +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/29616b3dfdd33d3cd13f9b3181a8562fa2fbacfcb04a37dba3c690ba6829f0231b145444de984726d9277b2bc90dd7d96fb9df9f6292d5e77d65a8659ee2f52b + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 languageName: node linkType: hard -"mdast-util-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "mdast-util-gfm-table@npm:1.0.7" +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" markdown-table: "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/a37a05a936292c4f48394123332d3c034a6e1b15bb3e7f3b94e6bce3260c9184fd388abbc4100827edd5485a6563098306994d15a729bde3c96de7a62ed5720b + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e languageName: node linkType: hard -"mdast-util-gfm-task-list-item@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-task-list-item@npm:1.0.2" +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/91fa91f7d1a8797bf129008dab12d23917015ad12df00044e275b4459e8b383fbec6234338953a0089ef9c3a114d0a360c3e652eb0ebf6ece7e7a8fd3b5977c6 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 languageName: node linkType: hard -"mdast-util-gfm@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-gfm@npm:2.0.2" +"mdast-util-gfm@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-gfm@npm:3.1.0" dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-gfm-autolink-literal: "npm:^1.0.0" - mdast-util-gfm-footnote: "npm:^1.0.0" - mdast-util-gfm-strikethrough: "npm:^1.0.0" - mdast-util-gfm-table: "npm:^1.0.0" - mdast-util-gfm-task-list-item: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/5b7f7f98a90a2962d7e0787e080c4e55b70119100c7685bbdb772d8d7865524aeffd1757edba5afba434250e0246b987c0617c2c635baaf51c26dbbb3b72dbec + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4bedcfb6a20e39901c8772f0d2bb2d7a64ae87a54c13cbd92eec062cf470fbb68c2ad754e149af5b30794e2de61c978ab1de1ace03c0c40f443ca9b9b8044f81 languageName: node linkType: hard -"mdast-util-mdx-expression@npm:^1.0.0": - version: 1.3.2 - resolution: "mdast-util-mdx-expression@npm:1.3.2" +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdx-expression@npm:2.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/01f306ee809d28825cbec23b3c80376a0fbe69601b6b2843d23beb5662a31ec7560995f52b96b13093cc03de1130404a47f139d16f58c3f54e91e88f4bdd82d2 + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/9a1e57940f66431f10312fa239096efa7627f375e7933b5d3162c0b5c1712a72ac87447aff2b6838d2bbd5c1311b188718cc90b33b67dc67a88550e0a6ef6183 languageName: node linkType: hard -"mdast-util-mdx-jsx@npm:^2.0.0": - version: 2.1.4 - resolution: "mdast-util-mdx-jsx@npm:2.1.4" +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.2.0 + resolution: "mdast-util-mdx-jsx@npm:3.2.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" ccount: "npm:^2.0.0" - mdast-util-from-markdown: "npm:^1.1.0" - mdast-util-to-markdown: "npm:^1.3.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" parse-entities: "npm:^4.0.0" stringify-entities: "npm:^4.0.0" - unist-util-remove-position: "npm:^4.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b0c16e56a99c5167e60c98dbdbe82645549630fb529688642c4664ca5557ff0b3029c75146f5657cadb7908d5fa99810eacc5dcc51676d0877c8b4dcebb11cbe + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3acadaf3b962254f7ad2990fed4729961dc0217ca31fde9917986e880843f3ecf3392b1f22d569235cacd180d50894ad266db7af598aedca69d330d33c7ac613 languageName: node linkType: hard -"mdast-util-mdx@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdx@npm:2.0.1" +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdx-jsx: "npm:^2.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/3b5e55781a7b7b4b7e71728a84afbec63516f251b3556efec52dbb4824c0733f5ebaa907d21211d008e5cb1a8265e6704bc062ee605f4c09e90fbfa2c6fbba3b + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4faea13f77d6bc9aa64ee41a5e4779110b73444a17fda363df6ebe880ecfa58b321155b71f8801c3faa6d70d6222a32a00cbd6dbf5fad8db417f4688bc9c74e1 languageName: node linkType: hard -"mdast-util-mdxjs-esm@npm:^1.0.0": - version: 1.3.1 - resolution: "mdast-util-mdxjs-esm@npm:1.3.1" +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/2ff0af34ea62004d39f15bd45b79e3008e68cae7e2510c9281e24a17e2c3f55d004524796166ef5aa3378798ca7f6c5f88883238f413577619bbaf41026b7e62 - languageName: node - linkType: hard - -"mdast-util-phrasing@npm:^3.0.0": - version: 3.0.1 - resolution: "mdast-util-phrasing@npm:3.0.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - unist-util-is: "npm:^5.0.0" - checksum: 10c0/5e00e303652a7581593549dbce20dfb69d687d79a972f7928f6ca1920ef5385bceb737a3d5292ab6d937ed8c67bb59771e80e88f530b78734fe7d155f833e32b + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc languageName: node linkType: hard @@ -13614,35 +10762,20 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^12.1.0": - version: 12.3.0 - resolution: "mdast-util-to-hast@npm:12.3.0" +"mdast-util-to-hast@npm:^13.0.0": + version: 13.2.1 + resolution: "mdast-util-to-hast@npm:13.2.1" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-definitions: "npm:^5.0.0" - micromark-util-sanitize-uri: "npm:^1.1.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" trim-lines: "npm:^3.0.0" - unist-util-generated: "npm:^2.0.0" - unist-util-position: "npm:^4.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/0753e45bfcce423f7a13979ac720a23ed8d6bafed174c387f43bbe8baf3838f3a043cd8006975b71e5c4068b7948f83f1348acea79801101af31eaec4e7a499a - languageName: node - linkType: hard - -"mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0": - version: 1.5.0 - resolution: "mdast-util-to-markdown@npm:1.5.0" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - longest-streak: "npm:^3.0.0" - mdast-util-phrasing: "npm:^3.0.0" - mdast-util-to-string: "npm:^3.0.0" - micromark-util-decode-string: "npm:^1.0.0" - unist-util-visit: "npm:^4.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/9831d14aa6c097750a90c7b87b4e814b040731c30606a794c9b136dc746633dd9ec07154ca97d4fec4eaf732cf89d14643424e2581732d6ee18c9b0e51ff7664 + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/3eeaf28a5e84e1e08e6d54a1a8a06c0fca88cb5d36f4cf8086f0177248d1ce6e4e751f4ad0da19a3dea1c6ea61bd80784acc3ae021e44ceeb21aa5413a375e43 languageName: node linkType: hard @@ -13662,15 +10795,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0": - version: 3.2.0 - resolution: "mdast-util-to-string@npm:3.2.0" - dependencies: - "@types/mdast": "npm:^3.0.0" - checksum: 10c0/112f4bf0f6758dcb95deffdcf37afba7eaecdfe2ee13252de031723094d4d55220e147326690a8b91244758e2d678e7aeb1fdd0fa6ef3317c979bc42effd9a21 - languageName: node - linkType: hard - "mdast-util-to-string@npm:^4.0.0": version: 4.0.0 resolution: "mdast-util-to-string@npm:4.0.0" @@ -13695,33 +10819,7 @@ __metadata: languageName: node linkType: hard -"mdx-bundler@npm:^9.2.1": - version: 9.2.1 - resolution: "mdx-bundler@npm:9.2.1" - dependencies: - "@babel/runtime": "npm:^7.16.3" - "@esbuild-plugins/node-resolve": "npm:^0.1.4" - "@fal-works/esbuild-plugin-global-externals": "npm:^2.1.2" - "@mdx-js/esbuild": "npm:^2.0.0" - gray-matter: "npm:^4.0.3" - remark-frontmatter: "npm:^4.0.1" - remark-mdx-frontmatter: "npm:^1.1.1" - uuid: "npm:^8.3.2" - vfile: "npm:^5.3.2" - peerDependencies: - esbuild: 0.* - checksum: 10c0/351e82bb819d5c99d376821ce6c8bc22070eba492a7a151569816b545bd203de93dcb5a8f608005c57b088012c0dab89afb106e67e1d7a228e5e6f6df6c20929 - languageName: node - linkType: hard - -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 - languageName: node - linkType: hard - -"memfs@npm:^3.4.1, memfs@npm:^3.4.12, memfs@npm:^3.5.1": +"memfs@npm:^3.4.1, memfs@npm:^3.4.12": version: 3.5.3 resolution: "memfs@npm:3.5.3" dependencies: @@ -13730,15 +10828,6 @@ __metadata: languageName: node linkType: hard -"memoizerific@npm:^1.11.3": - version: 1.11.3 - resolution: "memoizerific@npm:1.11.3" - dependencies: - map-or-similar: "npm:^1.5.0" - checksum: 10c0/661bf69b7afbfad57f0208f0c63324f4c96087b480708115b78ee3f0237d86c7f91347f6db31528740b2776c2e34c709bcb034e1e910edee2270c9603a0a469e - languageName: node - linkType: hard - "meow@npm:^12.0.1": version: 12.1.1 resolution: "meow@npm:12.1.1" @@ -13746,13 +10835,6 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 - languageName: node - linkType: hard - "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -13760,44 +10842,6 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"methods@npm:~1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 - languageName: node - linkType: hard - -"micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-core-commonmark@npm:1.1.0" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-factory-destination: "npm:^1.0.0" - micromark-factory-label: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-factory-title: "npm:^1.0.0" - micromark-factory-whitespace: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-html-tag-name: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/b3bf7b7004ce7dbb3ae151dcca4db1d12546f1b943affb2418da4b90b9ce59357373c433ee2eea4c868aee0791dafa355aeed19f5ef2b0acaf271f32f1ecbe6a - languageName: node - linkType: hard - "micromark-core-commonmark@npm:^2.0.0": version: 2.0.1 resolution: "micromark-core-commonmark@npm:2.0.1" @@ -13822,195 +10866,172 @@ __metadata: languageName: node linkType: hard -"micromark-extension-frontmatter@npm:^1.0.0": - version: 1.1.1 - resolution: "micromark-extension-frontmatter@npm:1.1.1" - dependencies: - fault: "npm:^2.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/b64e056f6f9eaef470491b2e7ebf70249dfad59d46700399aef24130bfa8eb943b65873ee0412fc10a274066309722be6bf86a779e54ac20cede6d2f05be5cdf - languageName: node - linkType: hard - -"micromark-extension-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.5" +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/4964a52605ac36d24501d427e2d173fa39b5e0402275cb45068eba4898f4cb9cc57f7007b21b7514f0ab5f7b371b1701a5156a10b6ac8e77a7f36e830cf481d4 + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe languageName: node linkType: hard -"micromark-extension-gfm-footnote@npm:^1.0.0": - version: 1.1.2 - resolution: "micromark-extension-gfm-footnote@npm:1.1.2" +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" dependencies: - micromark-core-commonmark: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b8090876cc3da5436c6253b0b40e39ceaa470c2429f699c19ee4163cef3102c4cd16c4ac2ec8caf916037fad310cfb52a9ef182c75d50fca7419ba08faad9b39 + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc languageName: node linkType: hard -"micromark-extension-gfm-strikethrough@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-strikethrough@npm:1.0.7" +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b45fe93a7a412fc44bae7a183b92a988e17b49ed9d683bd80ee4dde96d462e1ca6b316dd64bda7759e4086d6d8686790a711e53c244f1f4d2b37e1cfe852884d + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb languageName: node linkType: hard -"micromark-extension-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-table@npm:1.0.7" +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.1 + resolution: "micromark-extension-gfm-table@npm:2.1.1" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/38b5af80ecab8206845a057338235bee6f47fb6cb904208be4b76e87906765821683e25bef85dfa485809f931eaf8cd55f16cd2f4d6e33b84f56edfaf1dfb129 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/04bc00e19b435fa0add62cd029d8b7eb6137522f77832186b1d5ef34544a9bd030c9cf85e92ddfcc5c31f6f0a58a43d4b96dba4fc21316037c734630ee12c912 languageName: node linkType: hard -"micromark-extension-gfm-tagfilter@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-extension-gfm-tagfilter@npm:1.0.2" +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7e1bf278255cf2a8d2dda9de84bc238b39c53100e25ba8d7168220d5b00dc74869a6cb038fbf2e76b8ae89efc66906762311797a906d7d9cdd71e07bfe1ed505 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d languageName: node linkType: hard -"micromark-extension-gfm-task-list-item@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-task-list-item@npm:1.0.5" +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/2179742fa2cbb243cc06bd9e43fbb94cd98e4814c9d368ddf8b4b5afa0348023f335626ae955e89d679e2c2662a7f82c315117a3b060c87bdb4420fee5a219d1 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f languageName: node linkType: hard -"micromark-extension-gfm@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-extension-gfm@npm:2.0.3" - dependencies: - micromark-extension-gfm-autolink-literal: "npm:^1.0.0" - micromark-extension-gfm-footnote: "npm:^1.0.0" - micromark-extension-gfm-strikethrough: "npm:^1.0.0" - micromark-extension-gfm-table: "npm:^1.0.0" - micromark-extension-gfm-tagfilter: "npm:^1.0.0" - micromark-extension-gfm-task-list-item: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/53056376d14caf3fab2cc44881c1ad49d975776cc2267bca74abda2cb31f2a77ec0fb2bdb2dd97565f0d9943ad915ff192b89c1cee5d9d727569a5e38505799b +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 languageName: node linkType: hard -"micromark-extension-mdx-expression@npm:^1.0.0": - version: 1.0.8 - resolution: "micromark-extension-mdx-expression@npm:1.0.8" +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.1 + resolution: "micromark-extension-mdx-expression@npm:3.0.1" dependencies: "@types/estree": "npm:^1.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/99e2997a54caafc4258979c0591b3fe8e31018079df833d559768092fec41e57a71225d423f4179cea4e8bc1af2f52f5c9ae640673619d8fe142ded875240da3 + devlop: "npm:^1.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/4d8cc5353b083b06bd51c98389de9c198261a5b2b440b75e85000a18d10511f21ba77538d6dfde0e0589df9de3fba9a1d14c2448d30c92d6b461c26d86e397f4 languageName: node linkType: hard -"micromark-extension-mdx-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdx-jsx@npm:1.0.5" +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.2 + resolution: "micromark-extension-mdx-jsx@npm:3.0.2" dependencies: - "@types/acorn": "npm:^4.0.0" "@types/estree": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/1b4bfbe60b9cabfabfb870f70ded8da0caacbaa3be6bdf07f6db25cc5a14c6bc970c34c60e5c80da1e97766064a117feb8160b6d661d69e530a4cc7ec97305de + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/5693b2e51934ac29a6aab521eaa2151f891d1fe092550bbd4ce24e4dd7567c1421a54f5e585a57dfa1769a79570f6df57ddd7a98bf0889dd11d495847a266dd7 languageName: node linkType: hard -"micromark-extension-mdx-md@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdx-md@npm:1.0.1" +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/9ad70b3a5e842fd7ebd93c8c48a32fd3d05fe77be06a08ef32462ea53e97d8f297e2c1c4b30a6929dbd05125279fe98bb04e9cc0bb686c691bdcf7d36c6e51b0 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bae91c61273de0e5ba80a980c03470e6cd9d7924aa936f46fbda15d780704d9386e945b99eda200e087b96254fbb4271a9545d5ce02676cd6ae67886a8bf82df languageName: node linkType: hard -"micromark-extension-mdxjs-esm@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdxjs-esm@npm:1.0.5" +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" dependencies: "@types/estree": "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.1.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/612028bced78e882641a43c78fc4813a573b383dc0a7b90db75ed88b37bf5b5997dc7ead4a1011315b34f17bc76b7f4419de6ad9532a088102ab1eea0245d380 + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/13e3f726495a960650cdedcba39198ace5bdc953ccb12c14d71fc9ed9bb88e40cc3ba9231e973f6984da3b3573e7ddb23ce409f7c16f52a8d57b608bf46c748d languageName: node linkType: hard -"micromark-extension-mdxjs@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdxjs@npm:1.0.1" +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" dependencies: acorn: "npm:^8.0.0" acorn-jsx: "npm:^5.0.0" - micromark-extension-mdx-expression: "npm:^1.0.0" - micromark-extension-mdx-jsx: "npm:^1.0.0" - micromark-extension-mdx-md: "npm:^1.0.0" - micromark-extension-mdxjs-esm: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3f123e4afea9674c96934c9ea6a057ec9e5584992c50c36c173a2e331d272b1f4e2a8552364a0e2cb50703d0218831fdae1a17b563f0009aac6a35350e6a7b77 - languageName: node - linkType: hard - -"micromark-factory-destination@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-destination@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/71ebd9089bf0c9689b98ef42215c04032ae2701ae08c3546b663628553255dca18e5310dbdacddad3acd8de4f12a789835fff30dadc4da3c4e30387a75e6b488 + micromark-extension-mdx-expression: "npm:^3.0.0" + micromark-extension-mdx-jsx: "npm:^3.0.0" + micromark-extension-mdx-md: "npm:^2.0.0" + micromark-extension-mdxjs-esm: "npm:^3.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fd84f036ddad0aabbc12e7f1b3e9dcfe31573bbc413c5ae903779ef0366d7a4c08193547e7ba75718c9f45654e45f52e575cfc2f23a5f89205a8a70d9a506aea languageName: node linkType: hard @@ -14025,18 +11046,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-label@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-label@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/5e2cd2d8214bb92a34dfcedf9c7aecf565e3648650a3a6a0495ededf15f2318dd214dc069e3026402792cd5839d395313f8ef9c2e86ca34a8facaa0f75a77753 - languageName: node - linkType: hard - "micromark-factory-label@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-label@npm:2.0.0" @@ -14049,29 +11058,20 @@ __metadata: languageName: node linkType: hard -"micromark-factory-mdx-expression@npm:^1.0.0": - version: 1.0.9 - resolution: "micromark-factory-mdx-expression@npm:1.0.9" +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-factory-mdx-expression@npm:2.0.3" dependencies: "@types/estree": "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b28bd8e072f37ca91446fe8d113e4ae64baaef013b0cde4aa224add0ee40963ce3584b9709f7662d30491f875ae7104b897d37efa26cdaecf25082ed5bac7b8c - languageName: node - linkType: hard - -"micromark-factory-space@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-space@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a6004ef6272dd01a5d718f2affd7bfb5e08f0849340f5fd96ac823fbc5e9d3b3343acedda50805873ccda5e3b8af4d5fbb302abc874544044ac90c217345cf97 languageName: node linkType: hard @@ -14085,18 +11085,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-title@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-title@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/cf8c687d1d5c3928846a4791d4a7e2f1d7bdd2397051e20d60f06b7565a48bf85198ab6f85735e997ab3f0cbb80b8b6391f4f7ebc0aae2f2f8c3a08541257bf6 - languageName: node - linkType: hard - "micromark-factory-title@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-title@npm:2.0.0" @@ -14109,18 +11097,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-whitespace@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-whitespace@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7248cc4534f9befb38c6f398b6e38efd3199f1428fc214c9cb7ed5b6e9fa7a82c0d8cdfa9bcacde62887c9a7c8c46baf5c318b2ae8f701afbccc8ad702e92dce - languageName: node - linkType: hard - "micromark-factory-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-whitespace@npm:2.0.0" @@ -14133,16 +11109,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-character@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-character@npm:1.2.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 - languageName: node - linkType: hard - "micromark-util-character@npm:^2.0.0": version: 2.1.0 resolution: "micromark-util-character@npm:2.1.0" @@ -14153,15 +11119,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-chunked@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-chunked@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/59534cf4aaf481ed58d65478d00eae0080df9b5816673f79b5ddb0cea263e5a9ee9cbb6cc565daf1eb3c8c4ff86fc4e25d38a0577539655cda823a4249efd358 - languageName: node - linkType: hard - "micromark-util-chunked@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-chunked@npm:2.0.0" @@ -14171,17 +11128,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-classify-character@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-classify-character@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3266453dc0fdaf584e24c9b3c91d1ed180f76b5856699c51fd2549305814fcab7ec52afb4d3e83d002a9115cd2d2b2ffdc9c0b38ed85120822bf515cc00636ec - languageName: node - linkType: hard - "micromark-util-classify-character@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-classify-character@npm:2.0.0" @@ -14193,16 +11139,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-combine-extensions@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-combine-extensions@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/0bc572fab3fe77f533c29aa1b75cb847b9fc9455f67a98623ef9740b925c0b0426ad9f09bbb56f1e844ea9ebada7873d1f06d27f7c979a917692b273c4b69e31 - languageName: node - linkType: hard - "micromark-util-combine-extensions@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-combine-extensions@npm:2.0.0" @@ -14213,33 +11149,12 @@ __metadata: languageName: node linkType: hard -"micromark-util-decode-numeric-character-reference@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-numeric-character-reference@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/64ef2575e3fc2426976c19e16973348f20b59ddd5543f1467ac2e251f29e0a91f12089703d29ae985b0b9a408ee0d72f06d04ed3920811aa2402aabca3bdf9e4 - languageName: node - linkType: hard - "micromark-util-decode-numeric-character-reference@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" - dependencies: - micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/3f6d684ee8f317c67806e19b3e761956256cb936a2e0533aad6d49ac5604c6536b2041769c6febdd387ab7175b7b7e551851bf2c1f78da943e7a3671ca7635ac - languageName: node - linkType: hard - -"micromark-util-decode-string@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-decode-string@npm:1.1.0" + version: 2.0.1 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/757a0aaa5ad6c50c7480bd75371d407ac75f5022cd4404aba07adadf1448189502aea9bb7b2d09d25e18745e0abf72b95506b6beb184bcccabe919e48e3a5df7 + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/3f6d684ee8f317c67806e19b3e761956256cb936a2e0533aad6d49ac5604c6536b2041769c6febdd387ab7175b7b7e551851bf2c1f78da943e7a3671ca7635ac languageName: node linkType: hard @@ -14255,13 +11170,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-encode@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-encode@npm:1.1.0" - checksum: 10c0/9878c9bc96999d45626a7597fffac85348ea842dce75d2417345cbf070a9941c62477bd0963bef37d4f0fd29f2982be6ddf416d62806f00ccb334af9d6ee87e7 - languageName: node - linkType: hard - "micromark-util-encode@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-encode@npm:2.0.0" @@ -14269,26 +11177,18 @@ __metadata: languageName: node linkType: hard -"micromark-util-events-to-acorn@npm:^1.0.0": - version: 1.2.3 - resolution: "micromark-util-events-to-acorn@npm:1.2.3" +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-util-events-to-acorn@npm:2.0.3" dependencies: - "@types/acorn": "npm:^4.0.0" "@types/estree": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - estree-util-visit: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/cd3af7365806a0b22efb83cb7726cb835725c0bc22e04f7ea83f2f38a09e7132413eff6ab6d53652b969a7ec30e442731c3abbbe8a74dc2081c51fd10223c269 - languageName: node - linkType: hard - -"micromark-util-html-tag-name@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-html-tag-name@npm:1.2.0" - checksum: 10c0/15421869678d36b4fe51df453921e8186bff514a14e9f79f32b7e1cdd67874e22a66ad34a7f048dd132cbbbfc7c382ae2f777a2bfd1f245a47705dc1c6d4f199 + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a4e0716e943ffdd16a918edf51d4f8291ec2692f5c4d04693dbef3358716fba891f288197afd102c14f4d98dac09d52351046ab7aad1d50b74677bdd5fa683c0 languageName: node linkType: hard @@ -14299,15 +11199,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-normalize-identifier@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-normalize-identifier@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/a9657321a2392584e4d978061882117a84db7d2c2c1c052c0f5d25da089d463edb9f956d5beaf7f5768984b6f72d046d59b5972951ec7bf25397687a62b8278a - languageName: node - linkType: hard - "micromark-util-normalize-identifier@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-normalize-identifier@npm:2.0.0" @@ -14317,15 +11208,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-resolve-all@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-resolve-all@npm:1.1.0" - dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/b5c95484c06e87bbbb60d8430eb030a458733a5270409f4c67892d1274737087ca6a7ca888987430e57cf1dcd44bb16390d3b3936a2bf07f7534ec8f52ce43c9 - languageName: node - linkType: hard - "micromark-util-resolve-all@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-resolve-all@npm:2.0.0" @@ -14335,17 +11217,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-sanitize-uri@npm:^1.0.0, micromark-util-sanitize-uri@npm:^1.1.0": - version: 1.2.0 - resolution: "micromark-util-sanitize-uri@npm:1.2.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/dbdb98248e9f0408c7a00f1c1cd805775b41d213defd659533835f34b38da38e8f990bf7b3f782e96bffbc549aec9c3ecdab197d4ad5adbfe08f814a70327b6e - languageName: node - linkType: hard - "micromark-util-sanitize-uri@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-sanitize-uri@npm:2.0.0" @@ -14357,18 +11228,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-subtokenize@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-subtokenize@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f292b1b162845db50d36255c9d4c4c6d47931fbca3ac98a80c7e536d2163233fd662f8ca0479ee2b80f145c66a1394c7ed17dfce801439741211015e77e3901e - languageName: node - linkType: hard - "micromark-util-subtokenize@npm:^2.0.0": version: 2.0.1 resolution: "micromark-util-subtokenize@npm:2.0.1" @@ -14381,13 +11240,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-symbol@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-symbol@npm:1.1.0" - checksum: 10c0/10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 - languageName: node - linkType: hard - "micromark-util-symbol@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-symbol@npm:2.0.0" @@ -14395,13 +11247,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-util-types@npm:1.1.0" - checksum: 10c0/a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 - languageName: node - linkType: hard - "micromark-util-types@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-types@npm:2.0.0" @@ -14409,31 +11254,6 @@ __metadata: languageName: node linkType: hard -"micromark@npm:^3.0.0": - version: 3.2.0 - resolution: "micromark@npm:3.2.0" - dependencies: - "@types/debug": "npm:^4.0.0" - debug: "npm:^4.0.0" - decode-named-character-reference: "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.1" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/f243e805d1b3cc699fddae2de0b1492bc82462f1a709d7ae5c82039f88b1e009c959100184717e748be057b5f88603289d5681679a4e6fbabcd037beb34bc744 - languageName: node - linkType: hard - "micromark@npm:^4.0.0": version: 4.0.0 resolution: "micromark@npm:4.0.0" @@ -14459,7 +11279,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:~4.0.7": +"micromatch@npm:^4.0.2, micromatch@npm:~4.0.7": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -14488,7 +11308,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -14497,15 +11317,6 @@ __metadata: languageName: node linkType: hard -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 - languageName: node - linkType: hard - "mime@npm:^3.0.0": version: 3.0.0 resolution: "mime@npm:3.0.0" @@ -14571,16 +11382,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:9.0.3": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -14589,7 +11391,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" dependencies: @@ -14598,7 +11400,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": +"minimist@npm:^1.2.6, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -14698,17 +11500,40 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.1.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 +"motion-dom@npm:^12.35.0": + version: 12.35.0 + resolution: "motion-dom@npm:12.35.0" + dependencies: + motion-utils: "npm:^12.29.2" + checksum: 10c0/0f9491bae66baf2d09c02b57208a45f9bd2bc9292726c8115b8196d2bf65c56f1dd97ac36d5be3f40a581dee815fb2a745ff06c559cee9d5d6d6929fb70b9856 languageName: node linkType: hard -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d +"motion-utils@npm:^12.29.2": + version: 12.29.2 + resolution: "motion-utils@npm:12.29.2" + checksum: 10c0/8058fbb3467602e8263a8a6df0e5d318d00d30d7148415d2ebc13c78a3c7a1b0cbec0808bb62e82c34714979ecbed15b9fffb91bde654dbf3602c84b7d66a5b6 + languageName: node + linkType: hard + +"motion@npm:^12.0.0": + version: 12.35.0 + resolution: "motion@npm:12.35.0" + dependencies: + framer-motion: "npm:^12.35.0" + tslib: "npm:^2.4.0" + peerDependencies: + "@emotion/is-prop-valid": "*" + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/is-prop-valid": + optional: true + react: + optional: true + react-dom: + optional: true + checksum: 10c0/e43a0a6ea94ce755f53c4fd9906d3f230a7d3c1d572fe93b11a6b3adfe566df6f2fa1dfb2f84d8b39c42881abb66b0fc8fcd3742b6f3e63eecb7e33f4ba52fd7 languageName: node linkType: hard @@ -14719,7 +11544,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.1": +"ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -14735,14 +11560,12 @@ __metadata: languageName: node linkType: hard -"mz@npm:^2.7.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 +"nanoid@npm:^3.3.11": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b languageName: node linkType: hard @@ -14755,14 +11578,7 @@ __metadata: languageName: node linkType: hard -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 @@ -14776,44 +11592,46 @@ __metadata: languageName: node linkType: hard -"next-contentlayer@npm:^0.3.4": - version: 0.3.4 - resolution: "next-contentlayer@npm:0.3.4" +"next-mdx-remote@npm:^6.0.0": + version: 6.0.0 + resolution: "next-mdx-remote@npm:6.0.0" dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" + "@babel/code-frame": "npm:^7.23.5" + "@mdx-js/mdx": "npm:^3.0.1" + "@mdx-js/react": "npm:^3.0.1" + unist-util-remove: "npm:^4.0.0" + unist-util-visit: "npm:^5.1.0" + vfile: "npm:^6.0.1" + vfile-matter: "npm:^5.0.0" peerDependencies: - contentlayer: 0.3.4 - next: ^12 || ^13 - react: "*" - react-dom: "*" - checksum: 10c0/8432ec69a98a5c5a46ce9cf4623f2655aa2ed6d511f7af6fa5ab553d2d72387cbe36f8137ab0ea18d23521732fd1cf5c44a5917dd964f0cf948f5fc1867421e3 + react: ">=16" + checksum: 10c0/b85c24034ab6139d8fc6696c66b614d7707a46814739b3e050b4878973ce7ceabf196e8e4cf3a420790811daa763a5678dbbe00d74cce5bf1c4ab6b064407a82 languageName: node linkType: hard -"next-themes@npm:^0.3.0": - version: 0.3.0 - resolution: "next-themes@npm:0.3.0" +"next-themes@npm:^0.4.6": + version: 0.4.6 + resolution: "next-themes@npm:0.4.6" peerDependencies: - react: ^16.8 || ^17 || ^18 - react-dom: ^16.8 || ^17 || ^18 - checksum: 10c0/72bd670ad6b9f547dc18cece340dfd1ac41e3e7b37eb321d4767db90bfa2c239f937011cd0efe35ca0081f1ea260051bc0868808ef39b0fbff2ddefd7146cec6 + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + checksum: 10c0/83590c11d359ce7e4ced14f6ea9dd7a691d5ce6843fe2dc520fc27e29ae1c535118478d03e7f172609c41b1ef1b8da6b8dd2d2acd6cd79cac1abbdbd5b99f2c4 languageName: node linkType: hard -"next@npm:16.1.5": - version: 16.1.5 - resolution: "next@npm:16.1.5" +"next@npm:^16.1.5": + version: 16.1.6 + resolution: "next@npm:16.1.6" dependencies: - "@next/env": "npm:16.1.5" - "@next/swc-darwin-arm64": "npm:16.1.5" - "@next/swc-darwin-x64": "npm:16.1.5" - "@next/swc-linux-arm64-gnu": "npm:16.1.5" - "@next/swc-linux-arm64-musl": "npm:16.1.5" - "@next/swc-linux-x64-gnu": "npm:16.1.5" - "@next/swc-linux-x64-musl": "npm:16.1.5" - "@next/swc-win32-arm64-msvc": "npm:16.1.5" - "@next/swc-win32-x64-msvc": "npm:16.1.5" + "@next/env": "npm:16.1.6" + "@next/swc-darwin-arm64": "npm:16.1.6" + "@next/swc-darwin-x64": "npm:16.1.6" + "@next/swc-linux-arm64-gnu": "npm:16.1.6" + "@next/swc-linux-arm64-musl": "npm:16.1.6" + "@next/swc-linux-x64-gnu": "npm:16.1.6" + "@next/swc-linux-x64-musl": "npm:16.1.6" + "@next/swc-win32-arm64-msvc": "npm:16.1.6" + "@next/swc-win32-x64-msvc": "npm:16.1.6" "@swc/helpers": "npm:0.5.15" baseline-browser-mapping: "npm:^2.8.3" caniuse-lite: "npm:^1.0.30001579" @@ -14857,7 +11675,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 10c0/ff9f7dd0cae79f7ba2a64ac0d29ca77c94921dfc37b36899f4f997b948242f72585f4bb75829aaf8704d46c6f7d1a9796b8ff30688a3467c04c738b3a4247a9f + checksum: 10c0/543766bf879bb5a5d454dc18cb302953270a92efba1d01dd028ea83c64b69573ce7d6e6c3759ecbaabec0a84131b0237263c24d1ccd7c8a97205e776dcd34e0b languageName: node linkType: hard @@ -14878,38 +11696,6 @@ __metadata: languageName: node linkType: hard -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b - languageName: node - linkType: hard - -"node-fetch@npm:^2.0.0": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-fetch@npm:^3.0.0": - version: 3.3.2 - resolution: "node-fetch@npm:3.3.2" - dependencies: - data-uri-to-buffer: "npm:^4.0.0" - fetch-blob: "npm:^3.1.4" - formdata-polyfill: "npm:^4.0.10" - checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 - languageName: node - linkType: hard - "node-gyp@npm:latest": version: 10.1.0 resolution: "node-gyp@npm:10.1.0" @@ -14972,6 +11758,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.27": + version: 2.0.36 + resolution: "node-releases@npm:2.0.36" + checksum: 10c0/85d8d7f4b6248c8372831cbcc3829ce634cb2b01dbd85e55705cefc8a9eda4ce8121bd218b9629cf2579aef8a360541bad409f3925a35675c825b9471a49d7e9 + languageName: node + linkType: hard + "nopt@npm:^7.0.0": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -14983,22 +11776,6 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - "npm-run-path@npm:^5.1.0": version: 5.3.0 resolution: "npm-run-path@npm:5.3.0" @@ -15017,20 +11794,6 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 - languageName: node - linkType: hard - -"object-hash@npm:^3.0.0": - version: 3.0.0 - resolution: "object-hash@npm:3.0.0" - checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 - languageName: node - linkType: hard - "object-inspect@npm:^1.13.1": version: 1.13.1 resolution: "object-inspect@npm:1.13.1" @@ -15055,7 +11818,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": +"object.assign@npm:^4.1.4": version: 4.1.5 resolution: "object.assign@npm:4.1.5" dependencies: @@ -15067,62 +11830,6 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.7, object.entries@npm:^1.1.8": - version: 1.1.8 - resolution: "object.entries@npm:1.1.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3 - languageName: node - linkType: hard - -"object.fromentries@npm:^2.0.7, object.fromentries@npm:^2.0.8": - version: 2.0.8 - resolution: "object.fromentries@npm:2.0.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b - languageName: node - linkType: hard - -"object.groupby@npm:^1.0.1": - version: 1.0.3 - resolution: "object.groupby@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c - languageName: node - linkType: hard - -"object.hasown@npm:^1.1.4": - version: 1.1.4 - resolution: "object.hasown@npm:1.1.4" - dependencies: - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/f23187b08d874ef1aea060118c8259eb7f99f93c15a50771d710569534119062b90e087b92952b2d0fb1bb8914d61fb0b43c57fb06f622aaad538fe6868ab987 - languageName: node - linkType: hard - -"object.values@npm:^1.1.6, object.values@npm:^1.1.7, object.values@npm:^1.2.0": - version: 1.2.0 - resolution: "object.values@npm:1.2.0" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 - languageName: node - linkType: hard - "objectorarray@npm:^1.0.5": version: 1.0.5 resolution: "objectorarray@npm:1.0.5" @@ -15137,15 +11844,6 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" - dependencies: - ee-first: "npm:1.1.1" - checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 - languageName: node - linkType: hard - "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -15155,7 +11853,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": +"onetime@npm:^5.1.0": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -15173,35 +11871,33 @@ __metadata: languageName: node linkType: hard -"oo-ascii-tree@npm:^1.84.0": - version: 1.99.0 - resolution: "oo-ascii-tree@npm:1.99.0" - checksum: 10c0/4d391003549a72baf63f55b27f6b1aa2f361e7f2d86871b8c9c30f6b2c87ac20f83eaea10ef20e8dd69b0dd27c18975cd829b648fbe5b8f9be95e8e03b289b3c +"oniguruma-parser@npm:^0.12.1": + version: 0.12.1 + resolution: "oniguruma-parser@npm:0.12.1" + checksum: 10c0/b843ea54cda833efb19f856314afcbd43e903ece3de489ab78c527ddec84859208052557daa9fad4bdba89ebdd15b0cc250de86b3daf8c7cbe37bac5a6a185d3 languageName: node linkType: hard -"open@npm:^8.0.4": - version: 8.4.2 - resolution: "open@npm:8.4.2" +"oniguruma-to-es@npm:^4.3.4": + version: 4.3.4 + resolution: "oniguruma-to-es@npm:4.3.4" dependencies: - define-lazy-prop: "npm:^2.0.0" - is-docker: "npm:^2.1.1" - is-wsl: "npm:^2.2.0" - checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + oniguruma-parser: "npm:^0.12.1" + regex: "npm:^6.0.1" + regex-recursion: "npm:^6.0.2" + checksum: 10c0/fb58459f50db71c2c4785205636186bfbb125b094c4275512a8f41f123ed3fbf61f37c455f4360ef14a56c693981aecd7da3ae2c05614a222e872c4643b463fc languageName: node linkType: hard -"optionator@npm:^0.9.3": - version: 0.9.4 - resolution: "optionator@npm:0.9.4" +"open@npm:^10.2.0": + version: 10.2.0 + resolution: "open@npm:10.2.0" dependencies: - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - word-wrap: "npm:^1.2.5" - checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + wsl-utils: "npm:^0.1.0" + checksum: 10c0/5a36d0c1fd2f74ce553beb427ca8b8494b623fc22c6132d0c1688f246a375e24584ea0b44c67133d9ab774fa69be8e12fbe1ff12504b1142bd960fb09671948f languageName: node linkType: hard @@ -15238,15 +11934,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - "p-limit@npm:^4.0.0": version: 4.0.0 resolution: "p-limit@npm:4.0.0" @@ -15265,15 +11952,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - "p-locate@npm:^6.0.0": version: 6.0.0 resolution: "p-locate@npm:6.0.0" @@ -15355,7 +12033,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -15374,13 +12052,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^6.0.0": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 10c0/595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb - languageName: node - linkType: hard - "parse5@npm:^7.0.0": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -15390,13 +12061,6 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 - languageName: node - linkType: hard - "pascal-case@npm:^3.1.2": version: 3.1.2 resolution: "pascal-case@npm:3.1.2" @@ -15435,7 +12099,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": +"path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c @@ -15456,7 +12120,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.1, path-scurry@npm:^1.11.1": +"path-scurry@npm:^1.11.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" dependencies: @@ -15466,13 +12130,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.10": - version: 0.1.10 - resolution: "path-to-regexp@npm:0.1.10" - checksum: 10c0/34196775b9113ca6df88e94c8d83ba82c0e1a2063dd33bfe2803a980da8d49b91db8104f49d5191b44ea780d46b8670ce2b7f4a5e349b0c48c6779b653f1afe4 - languageName: node - linkType: hard - "path-to-regexp@npm:6.3.0": version: 6.3.0 resolution: "path-to-regexp@npm:6.3.0" @@ -15494,10 +12151,10 @@ __metadata: languageName: node linkType: hard -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc +"pathval@npm:^2.0.0": + version: 2.0.1 + resolution: "pathval@npm:2.0.1" + checksum: 10c0/460f4709479fbf2c45903a65655fc8f0a5f6d808f989173aeef5fdea4ff4f303dc13f7870303999add60ec49d4c14733895c0a869392e9866f1091fa64fd7581 languageName: node linkType: hard @@ -15515,17 +12172,6 @@ __metadata: languageName: node linkType: hard -"periscopic@npm:^3.0.0": - version: 3.1.0 - resolution: "periscopic@npm:3.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^3.0.0" - is-reference: "npm:^3.0.0" - checksum: 10c0/fb5ce7cd810c49254cdf1cd3892811e6dd1a1dfbdf5f10a0a33fb7141baac36443c4cad4f0e2b30abd4eac613f6ab845c2bc1b7ce66ae9694c7321e6ada5bd96 - languageName: node - linkType: hard - "picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": version: 1.0.1 resolution: "picocolors@npm:1.0.1" @@ -15533,13 +12179,27 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.0, picomatch@npm:^2.3.1": +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 + languageName: node + linkType: hard + "pidtree@npm:~0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -15549,20 +12209,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc - languageName: node - linkType: hard - -"pirates@npm:^4.0.1": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 - languageName: node - linkType: hard - "pkg-dir@npm:^4.1.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -15572,15 +12218,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^5.0.0": - version: 5.0.0 - resolution: "pkg-dir@npm:5.0.0" - dependencies: - find-up: "npm:^5.0.0" - checksum: 10c0/793a496d685dc55bbbdbbb22d884535c3b29241e48e3e8d37e448113a71b9e42f5481a61fdc672d7322de12fbb2c584dd3a68bf89b18fffce5c48a390f911bc5 - languageName: node - linkType: hard - "pkg-dir@npm:^7.0.0": version: 7.0.0 resolution: "pkg-dir@npm:7.0.0" @@ -15590,24 +12227,6 @@ __metadata: languageName: node linkType: hard -"pnp-webpack-plugin@npm:^1.7.0": - version: 1.7.0 - resolution: "pnp-webpack-plugin@npm:1.7.0" - dependencies: - ts-pnp: "npm:^1.1.6" - checksum: 10c0/79d1973ec0b04be6d44f15d5625991701a010dae28f2798d974d3aa164e8c60dc7fa22fd01a47fb6af369c4ba6585c3030d4deb775ccfecd7156594bc223d086 - languageName: node - linkType: hard - -"polished@npm:^4.2.2": - version: 4.3.1 - resolution: "polished@npm:4.3.1" - dependencies: - "@babel/runtime": "npm:^7.17.8" - checksum: 10c0/45480d4c7281a134281cef092f6ecc202a868475ff66a390fee6e9261386e16f3047b4de46a2f2e1cf7fb7aa8f52d30b4ed631a1e3bcd6f303ca31161d4f07fe - languageName: node - linkType: hard - "possible-typed-array-names@npm:^1.0.0": version: 1.0.0 resolution: "possible-typed-array-names@npm:1.0.0" @@ -15615,48 +12234,6 @@ __metadata: languageName: node linkType: hard -"postcss-import@npm:^15.1.0": - version: 15.1.0 - resolution: "postcss-import@npm:15.1.0" - dependencies: - postcss-value-parser: "npm:^4.0.0" - read-cache: "npm:^1.0.0" - resolve: "npm:^1.1.7" - peerDependencies: - postcss: ^8.0.0 - checksum: 10c0/518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b - languageName: node - linkType: hard - -"postcss-js@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-js@npm:4.0.1" - dependencies: - camelcase-css: "npm:^2.0.1" - peerDependencies: - postcss: ^8.4.21 - checksum: 10c0/af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e - languageName: node - linkType: hard - -"postcss-load-config@npm:^4.0.1": - version: 4.0.2 - resolution: "postcss-load-config@npm:4.0.2" - dependencies: - lilconfig: "npm:^3.0.0" - yaml: "npm:^2.3.4" - peerDependencies: - postcss: ">=8.0.9" - ts-node: ">=9.0.0" - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - checksum: 10c0/3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 - languageName: node - linkType: hard - "postcss-loader@npm:^8.1.1": version: 8.1.1 resolution: "postcss-loader@npm:8.1.1" @@ -15721,18 +12298,17 @@ __metadata: languageName: node linkType: hard -"postcss-nested@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-nested@npm:6.0.1" +"postcss-selector-parser@npm:6.0.10": + version: 6.0.10 + resolution: "postcss-selector-parser@npm:6.0.10" dependencies: - postcss-selector-parser: "npm:^6.0.11" - peerDependencies: - postcss: ^8.2.14 - checksum: 10c0/2a50aa36d5d103c2e471954830489f4c024deed94fa066169101db55171368d5f80b32446b584029e0471feee409293d0b6b1d8ede361f6675ba097e477b3cbd + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/a0b27c5e3f7604c8dc7cd83f145fdd7b21448e0d86072da99e0d78e536ba27aa9db2d42024c50aa530408ee517c4bdc0260529e1afb56608f9a82e839c207e82 languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": +"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": version: 6.1.0 resolution: "postcss-selector-parser@npm:6.1.0" dependencies: @@ -15742,7 +12318,7 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": +"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 @@ -15760,7 +12336,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8, postcss@npm:^8.2.14, postcss@npm:^8.4.23, postcss@npm:^8.4.33, postcss@npm:^8.4.38": +"postcss@npm:^8.2.14, postcss@npm:^8.4.33, postcss@npm:^8.4.38": version: 8.4.38 resolution: "postcss@npm:8.4.38" dependencies: @@ -15771,110 +12347,42 @@ __metadata: languageName: node linkType: hard -"posthog-js@npm:^1.141.4": - version: 1.141.4 - resolution: "posthog-js@npm:1.141.4" +"postcss@npm:^8.4.40, postcss@npm:^8.5.6": + version: 8.5.8 + resolution: "postcss@npm:8.5.8" dependencies: - fflate: "npm:^0.4.8" - preact: "npm:^10.19.3" - web-vitals: "npm:^4.0.1" - checksum: 10c0/504b7b6304527854453fb4ee07894dd7374d467eb8c4e0db7d2c812d18f115a9959c2bd30c690d24b10c7b6aa2aec4511bff3719102166261632049c400e461c - languageName: node - linkType: hard - -"preact@npm:^10.19.3": - version: 10.22.0 - resolution: "preact@npm:10.22.0" - checksum: 10c0/dc5466c5968c56997e917580c00983cec2f6486a89ea9ba29f1bb88dcfd2f9ff67c8d561a69a1b3acdab17f2bb36b311fef0c348b62e89c332d00c674f7871f0 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - -"prettier-fallback@npm:prettier@^3": - version: 3.3.1 - resolution: "prettier@npm:3.3.1" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/c25a709c9f0be670dc6bcb190b622347e1dbeb6c3e7df8b0711724cb64d8647c60b839937a4df4df18e9cfb556c2b08ca9d24d9645eb5488a7fc032a2c4d5cb3 + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/dd918f7127ee7c60a0295bae2e72b3787892296e1d1c3c564d7a2a00c68d8df83cadc3178491259daa19ccc54804fb71ed8c937c6787e08d8bd4bedf8d17044c languageName: node linkType: hard -"prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" +"posthog-js@npm:^1.225.0": + version: 1.359.1 + resolution: "posthog-js@npm:1.359.1" dependencies: - fast-diff: "npm:^1.1.2" - checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab - languageName: node - linkType: hard - -"prettier-plugin-tailwindcss@npm:^0.6.5": - version: 0.6.5 - resolution: "prettier-plugin-tailwindcss@npm:0.6.5" - peerDependencies: - "@ianvs/prettier-plugin-sort-imports": "*" - "@prettier/plugin-pug": "*" - "@shopify/prettier-plugin-liquid": "*" - "@trivago/prettier-plugin-sort-imports": "*" - "@zackad/prettier-plugin-twig-melody": "*" - prettier: ^3.0 - prettier-plugin-astro: "*" - prettier-plugin-css-order: "*" - prettier-plugin-import-sort: "*" - prettier-plugin-jsdoc: "*" - prettier-plugin-marko: "*" - prettier-plugin-organize-attributes: "*" - prettier-plugin-organize-imports: "*" - prettier-plugin-sort-imports: "*" - prettier-plugin-style-order: "*" - prettier-plugin-svelte: "*" - peerDependenciesMeta: - "@ianvs/prettier-plugin-sort-imports": - optional: true - "@prettier/plugin-pug": - optional: true - "@shopify/prettier-plugin-liquid": - optional: true - "@trivago/prettier-plugin-sort-imports": - optional: true - "@zackad/prettier-plugin-twig-melody": - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-sort-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - checksum: 10c0/30d62928592b48cab03c46ff63edd35d4a33c4e7c40e583f12bff7223eba8b6f780fd394965b0250160bcf39688f6fb602420374b2055bcbb6a69560b818ca4e + "@opentelemetry/api": "npm:^1.9.0" + "@opentelemetry/api-logs": "npm:^0.208.0" + "@opentelemetry/exporter-logs-otlp-http": "npm:^0.208.0" + "@opentelemetry/resources": "npm:^2.2.0" + "@opentelemetry/sdk-logs": "npm:^0.208.0" + "@posthog/core": "npm:1.23.2" + "@posthog/types": "npm:1.359.1" + core-js: "npm:^3.38.1" + dompurify: "npm:^3.3.2" + fflate: "npm:^0.4.8" + preact: "npm:^10.28.2" + query-selector-shadow-dom: "npm:^1.0.1" + web-vitals: "npm:^5.1.0" + checksum: 10c0/acf02bf639ade26343e68b51eabc3b88f7dcddfd685f85d560a05280f797bc998470b21ffe59f5fcb43540a2caaf299f109a480da0892af00f75fa02e0a94a4b languageName: node linkType: hard -"prettier@npm:^3.3.2": - version: 3.3.2 - resolution: "prettier@npm:3.3.2" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/39ed27d17f0238da6dd6571d63026566bd790d3d0edac57c285fbab525982060c8f1e01955fe38134ab10f0951a6076da37f015db8173c02f14bc7f0803a384c +"preact@npm:^10.28.2": + version: 10.28.4 + resolution: "preact@npm:10.28.4" + checksum: 10c0/712384e92d6c676c8f4c230eab81329a66acfecf700390aebfe5fc46168fa3686345d47f2292068dcc0a6d86425a3d9a3d743730e356e867a8402442afb989db languageName: node linkType: hard @@ -15888,35 +12396,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.0.2": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: "npm:^5.0.1" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^17.0.1" - checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed - languageName: node - linkType: hard - -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"pretty-hrtime@npm:^1.0.3": - version: 1.0.3 - resolution: "pretty-hrtime@npm:1.0.3" - checksum: 10c0/67cb3fc283a72252b49ac488647e6a01b78b7aa1b8f2061834aa1650691229081518ef3ca940f77f41cc8a8f02ba9eeb74b843481596670209e493062f2e89e0 - languageName: node - linkType: hard - "printable-characters@npm:^1.0.42": version: 1.0.42 resolution: "printable-characters@npm:1.0.42" @@ -15972,17 +12451,6 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 - languageName: node - linkType: hard - "property-information@npm:^6.0.0": version: 6.5.0 resolution: "property-information@npm:6.5.0" @@ -15990,9 +12458,16 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:^7.2.2, protobufjs@npm:^7.2.5": - version: 7.3.0 - resolution: "protobufjs@npm:7.3.0" +"property-information@npm:^7.0.0": + version: 7.1.0 + resolution: "property-information@npm:7.1.0" + checksum: 10c0/e0fe22cff26103260ad0e82959229106563fa115a54c4d6c183f49d88054e489cc9f23452d3ad584179dc13a8b7b37411a5df873746b5e4086c865874bfa968e + languageName: node + linkType: hard + +"protobufjs@npm:^7.3.0": + version: 7.5.4 + resolution: "protobufjs@npm:7.5.4" dependencies: "@protobufjs/aspromise": "npm:^1.1.2" "@protobufjs/base64": "npm:^1.1.2" @@ -16006,17 +12481,7 @@ __metadata: "@protobufjs/utf8": "npm:^1.1.0" "@types/node": "npm:>=13.7.0" long: "npm:^5.0.0" - checksum: 10c0/fdcd17a783a4d71dd46463419cdfb5a5e3ad07cf4d9460abb5bdeb2547b0fa77c55955ac26c38e5557f5169dc3909456c675a08c56268c0e79b34d348c05dcab - languageName: node - linkType: hard - -"proxy-addr@npm:~2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + checksum: 10c0/913b676109ffb3c05d3d31e03a684e569be91f3bba8613da4a683d69d9dba948daa2afd7d2e7944d1aa6c417890c35d9d9a8883c1160affafb0f9670d59ef722 languageName: node linkType: hard @@ -16048,7 +12513,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.0, qs@npm:^6.10.0, qs@npm:^6.11.2": +"qs@npm:^6.11.2": version: 6.13.0 resolution: "qs@npm:6.13.0" dependencies: @@ -16057,6 +12522,13 @@ __metadata: languageName: node linkType: hard +"query-selector-shadow-dom@npm:^1.0.1": + version: 1.0.1 + resolution: "query-selector-shadow-dom@npm:1.0.1" + checksum: 10c0/f36de03f170ff1da69c3eecfa7f8b01e450a46dd266c921e17f36076ec59862eee00179489f30cb17c118bb56e868436578c01ea66f671fb358750d6ae474125 + languageName: node + linkType: hard + "querystring-es3@npm:^0.2.1": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -16064,29 +12536,6 @@ __metadata: languageName: node linkType: hard -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"queue@npm:6.0.2": - version: 6.0.2 - resolution: "queue@npm:6.0.2" - dependencies: - inherits: "npm:~2.0.3" - checksum: 10c0/cf987476cc72e7d3aaabe23ccefaab1cd757a2b5e0c8d80b67c9575a6b5e1198807ffd4f0948a3f118b149d1111d810ee773473530b77a5c606673cac2c9c996 - languageName: node - linkType: hard - -"ramda@npm:0.29.0": - version: 0.29.0 - resolution: "ramda@npm:0.29.0" - checksum: 10c0/b00eaaf1c62b06a99affa1d583e256bd65ad27ab9d0ef512f55d7d93b842e7cd244a4a09179f61fdd8548362e409323867a2b0477cbd0626b5644eb6ac7c53da - languageName: node - linkType: hard - "randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -16106,46 +12555,13 @@ __metadata: languageName: node linkType: hard -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": +"range-parser@npm:^1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 languageName: node linkType: hard -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 - languageName: node - linkType: hard - -"react-colorful@npm:^5.1.2": - version: 5.6.1 - resolution: "react-colorful@npm:5.6.1" - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10c0/48eb73cf71e10841c2a61b6b06ab81da9fffa9876134c239bfdebcf348ce2a47e56b146338e35dfb03512c85966bfc9a53844fc56bc50154e71f8daee59ff6f0 - languageName: node - linkType: hard - -"react-confetti@npm:^6.1.0": - version: 6.1.0 - resolution: "react-confetti@npm:6.1.0" - dependencies: - tween-functions: "npm:^1.2.0" - peerDependencies: - react: ^16.3.0 || ^17.0.1 || ^18.0.0 - checksum: 10c0/5b4eb23eef564695f6db1d25b294ed31d5fa21ff4092c6a38e641f85cd10e3e0b50014366e3ac0f7cf772e73faaecd14614e5b11a5531336fa769dda8068ab59 - languageName: node - linkType: hard - "react-docgen-typescript@npm:^2.2.2": version: 2.2.2 resolution: "react-docgen-typescript@npm:2.2.2" @@ -16155,9 +12571,9 @@ __metadata: languageName: node linkType: hard -"react-docgen@npm:^7.0.0, react-docgen@npm:^7.0.3": - version: 7.0.3 - resolution: "react-docgen@npm:7.0.3" +"react-docgen@npm:^7.1.1": + version: 7.1.1 + resolution: "react-docgen@npm:7.1.1" dependencies: "@babel/core": "npm:^7.18.9" "@babel/traverse": "npm:^7.18.9" @@ -16169,61 +12585,36 @@ __metadata: doctrine: "npm:^3.0.0" resolve: "npm:^1.22.1" strip-indent: "npm:^4.0.0" - checksum: 10c0/74622750e60b287d2897a6887a2bd88303fadd84540247e162e9e970430864ae7b49152de043233d873a0aa7cffa406e5cd8fc1e8e2c277b8da73198b570f16b + checksum: 10c0/961e69487f6acbd9110afbda31f5a0c7fa7ab8b1ebe09fc0138c17efd297fa0b69518df873e937cac108732cd8125433bf939115d23ff99c1c171844140705a7 languageName: node linkType: hard -"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react-dom@npm:^18": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" +"react-docgen@npm:^8.0.2": + version: 8.0.2 + resolution: "react-docgen@npm:8.0.2" dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" - peerDependencies: - react: ^18.3.1 - checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + "@babel/core": "npm:^7.28.0" + "@babel/traverse": "npm:^7.28.0" + "@babel/types": "npm:^7.28.2" + "@types/babel__core": "npm:^7.20.5" + "@types/babel__traverse": "npm:^7.20.7" + "@types/doctrine": "npm:^0.0.9" + "@types/resolve": "npm:^1.20.2" + doctrine: "npm:^3.0.0" + resolve: "npm:^1.22.1" + strip-indent: "npm:^4.0.0" + checksum: 10c0/25e2dd48957c52749cf44bdcf172f3b47d42d8bb8c51000bceb136ff018cbe0a78610d04f12d8bbb882df0d86884e8d05b1d7a1cc39586de356ef5bb9fceab71 languageName: node linkType: hard -"react-element-to-jsx-string@npm:^15.0.0": - version: 15.0.0 - resolution: "react-element-to-jsx-string@npm:15.0.0" +"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0, react-dom@npm:^19": + version: 19.2.4 + resolution: "react-dom@npm:19.2.4" dependencies: - "@base2/pretty-print-object": "npm:1.0.1" - is-plain-object: "npm:5.0.0" - react-is: "npm:18.1.0" + scheduler: "npm:^0.27.0" peerDependencies: - react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - checksum: 10c0/0d60a0ea758529c32a706d0c69d70b69fb94de3c46442fffdee34f08f51ffceddbb5395b41dfd1565895653e9f60f98ca525835be9d5db1f16d6b22be12f4cd4 - languageName: node - linkType: hard - -"react-is@npm:18.1.0": - version: 18.1.0 - resolution: "react-is@npm:18.1.0" - checksum: 10c0/558874e4c3bd9805a9294426e090919ee6901be3ab07f80b997c36b5a01a8d691112802e7438d146f6c82fd6495d8c030f276ef05ec3410057f8740a8d723f8c - languageName: node - linkType: hard - -"react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 - languageName: node - linkType: hard - -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + react: ^19.2.4 + checksum: 10c0/f0c63f1794dedb154136d4d0f59af00b41907f4859571c155940296808f4b94bf9c0c20633db75b5b2112ec13d8d7dd4f9bf57362ed48782f317b11d05a44f35 languageName: node linkType: hard @@ -16250,6 +12641,22 @@ __metadata: languageName: node linkType: hard +"react-remove-scroll-bar@npm:^2.3.7": + version: 2.3.8 + resolution: "react-remove-scroll-bar@npm:2.3.8" + dependencies: + react-style-singleton: "npm:^2.2.2" + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/9a0675c66cbb52c325bdbfaed80987a829c4504cefd8ff2dd3b6b3afc9a1500b8ec57b212e92c1fb654396d07bbe18830a8146fe77677d2a29ce40b5e1f78654 + languageName: node + linkType: hard + "react-remove-scroll@npm:2.5.5": version: 2.5.5 resolution: "react-remove-scroll@npm:2.5.5" @@ -16269,6 +12676,25 @@ __metadata: languageName: node linkType: hard +"react-remove-scroll@npm:^2.6.3": + version: 2.7.2 + resolution: "react-remove-scroll@npm:2.7.2" + dependencies: + react-remove-scroll-bar: "npm:^2.3.7" + react-style-singleton: "npm:^2.2.3" + tslib: "npm:^2.1.0" + use-callback-ref: "npm:^1.3.3" + use-sidecar: "npm:^1.1.3" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/b5f3315bead75e72853f492c0b51ba8fb4fa09a4534d7fc42d6fcd59ca3e047cf213279ffc1e35b337e314ef5a04cb2b12544c85e0078802271731c27c09e5aa + languageName: node + linkType: hard + "react-style-singleton@npm:^2.2.1": version: 2.2.1 resolution: "react-style-singleton@npm:2.2.1" @@ -16286,6 +12712,22 @@ __metadata: languageName: node linkType: hard +"react-style-singleton@npm:^2.2.2, react-style-singleton@npm:^2.2.3": + version: 2.2.3 + resolution: "react-style-singleton@npm:2.2.3" + dependencies: + get-nonce: "npm:^1.0.0" + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/841938ff16d16a6b76895f4cb2e1fea957e5fe3b30febbf03a54892dae1c9153f2383e231dea0b3ba41192ad2f2849448fa859caccd288943bce32639e971bee + languageName: node + linkType: hard + "react-wrap-balancer@npm:^1.1.1": version: 1.1.1 resolution: "react-wrap-balancer@npm:1.1.1" @@ -16295,21 +12737,10 @@ __metadata: languageName: node linkType: hard -"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react@npm:^18": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 - languageName: node - linkType: hard - -"read-cache@npm:^1.0.0": - version: 1.0.0 - resolution: "read-cache@npm:1.0.0" - dependencies: - pify: "npm:^2.3.0" - checksum: 10c0/90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 +"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0, react@npm:^19": + version: 19.2.4 + resolution: "react@npm:19.2.4" + checksum: 10c0/cd2c9ff67a720799cc3b38a516009986f7fc4cb8d3e15716c6211cf098d1357ee3e348ab05ad0600042bbb0fd888530ba92e329198c92eafa0994f5213396596 languageName: node linkType: hard @@ -16352,12 +12783,10 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 languageName: node linkType: hard @@ -16374,6 +12803,56 @@ __metadata: languageName: node linkType: hard +"recma-build-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-build-jsx@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-build-jsx: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/ca30f5163887b44c74682355da2625f7b49f33267699d22247913e513e043650cbdd6a7497cf13c60f09ad9e7bc2bd35bd20853672773c19188569814b56bb04 + languageName: node + linkType: hard + +"recma-jsx@npm:^1.0.0": + version: 1.0.1 + resolution: "recma-jsx@npm:1.0.1" + dependencies: + acorn-jsx: "npm:^5.0.0" + estree-util-to-js: "npm:^2.0.0" + recma-parse: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + unified: "npm:^11.0.0" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/9921b1270581ff133b94678868e665ba0fb6285ee60a6936106bac4899196c2ffb02dde894d9bc088fbf3deacb3e2426a3452e72066bf1203cbefebd7809d93f + languageName: node + linkType: hard + +"recma-parse@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-parse@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + esast-util-from-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/37c0990859a562d082e02d475ca5f4c8ef0840d285270f6699fe888cbb06260f97eb098585eda4aae416182c207fd19cf05e4f0b2dcf55cbf81dde4406d95545 + languageName: node + linkType: hard + +"recma-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-stringify@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-to-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/c2ed4c0e8cf8a09aedcd47c5d016d47f6e1ff6c2d4b220e2abaf1b77713bf404756af2ea3ea7999aec5862e8825aff035edceb370c7fd8603a7e9da03bd6987e + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -16384,21 +12863,6 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.6 - resolution: "reflect.getprototypeof@npm:1.0.6" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.1" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" - which-builtin-type: "npm:^1.1.3" - checksum: 10c0/baf4ef8ee6ff341600f4720b251cf5a6cb552d6a6ab0fdc036988c451bf16f920e5feb0d46bd4f530a5cce568f1f7aca2d77447ca798920749cfc52783c39b55 - languageName: node - linkType: hard - "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.1 resolution: "regenerate-unicode-properties@npm:10.1.1" @@ -16408,6 +12872,15 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/66a1d6a1dbacdfc49afd88f20b2319a4c33cee56d245163e4d8f5f283e0f45d1085a78f7f7406dd19ea3a5dd7a7799cd020cd817c97464a7507f9d10fbdce87c + languageName: node + linkType: hard + "regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -16422,31 +12895,35 @@ __metadata: languageName: node linkType: hard -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" +"regex-parser@npm:^2.2.11": + version: 2.3.0 + resolution: "regex-parser@npm:2.3.0" + checksum: 10c0/de31c40e9d982735fdf5934c822cc5cafbe6a0f0909d9fef52e2bd4cc2198933c89fd5e7a17697f25591fdb5df386a088296612b45f0f8e194222070fc5b5cc7 + languageName: node + linkType: hard + +"regex-recursion@npm:^6.0.2": + version: 6.0.2 + resolution: "regex-recursion@npm:6.0.2" dependencies: - "@babel/runtime": "npm:^7.8.4" - checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 + regex-utilities: "npm:^2.3.0" + checksum: 10c0/68e8b6889680e904b75d7f26edaf70a1a4dc1087406bff53face4c2929d918fd77c72223843fe816ac8ed9964f96b4160650e8d5909e26a998c6e9de324dadb1 languageName: node linkType: hard -"regex-parser@npm:^2.2.11": +"regex-utilities@npm:^2.3.0": version: 2.3.0 - resolution: "regex-parser@npm:2.3.0" - checksum: 10c0/de31c40e9d982735fdf5934c822cc5cafbe6a0f0909d9fef52e2bd4cc2198933c89fd5e7a17697f25591fdb5df386a088296612b45f0f8e194222070fc5b5cc7 + resolution: "regex-utilities@npm:2.3.0" + checksum: 10c0/78c550a80a0af75223244fff006743922591bd8f61d91fef7c86b9b56cf9bbf8ee5d7adb6d8991b5e304c57c90103fc4818cf1e357b11c6c669b782839bd7893 languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" +"regex@npm:^6.0.1": + version: 6.1.0 + resolution: "regex@npm:6.1.0" dependencies: - call-bind: "npm:^1.0.6" - define-properties: "npm:^1.2.1" - es-errors: "npm:^1.3.0" - set-function-name: "npm:^2.0.1" - checksum: 10c0/0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 + regex-utilities: "npm:^2.3.0" + checksum: 10c0/6e0ee2a1c17d5a66dc1120dfc51899dedf6677857e83a0df4d5a822ebb8645a54a079772efc1ade382b67aad35e4e22b5bd2d33c05ed28b0e000f8f57eb0aec1 languageName: node linkType: hard @@ -16464,42 +12941,60 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.9.1": - version: 0.9.1 - resolution: "regjsparser@npm:0.9.1" +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" dependencies: - jsesc: "npm:~0.5.0" + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.2" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.13.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.2.1" + checksum: 10c0/1eed9783c023dd06fb1f3ce4b6e3fdf0bc1e30cb036f30aeb2019b351e5e0b74355b40462282ea5db092c79a79331c374c7e9897e44a5ca4509e9f0b570263de + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.13.0": + version: 0.13.0 + resolution: "regjsparser@npm:0.13.0" + dependencies: + jsesc: "npm:~3.1.0" bin: regjsparser: bin/parser - checksum: 10c0/fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 + checksum: 10c0/4702f85cda09f67747c1b2fb673a0f0e5d1ba39d55f177632265a0be471ba59e3f320623f411649141f752b126b8126eac3ff4c62d317921e430b0472bfc6071 languageName: node linkType: hard -"rehype-autolink-headings@npm:^7.1.0": - version: 7.1.0 - resolution: "rehype-autolink-headings@npm:7.1.0" +"regjsparser@npm:^0.9.1": + version: 0.9.1 + resolution: "regjsparser@npm:0.9.1" dependencies: - "@types/hast": "npm:^3.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - hast-util-heading-rank: "npm:^3.0.0" - hast-util-is-element: "npm:^3.0.0" - unified: "npm:^11.0.0" - unist-util-visit: "npm:^5.0.0" - checksum: 10c0/3d6653047c83cf7f9455bc0f5483a40170aee211cc057b7541b491d31e54b08fda72ab5ec4caeacea63e8af130584f0e14d5c63f6ddb86b7f34584b9e3f92dcf + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: 10c0/fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 languageName: node linkType: hard -"rehype-external-links@npm:^3.0.0": - version: 3.0.0 - resolution: "rehype-external-links@npm:3.0.0" +"rehype-autolink-headings@npm:^7.1.0": + version: 7.1.0 + resolution: "rehype-autolink-headings@npm:7.1.0" dependencies: "@types/hast": "npm:^3.0.0" "@ungap/structured-clone": "npm:^1.0.0" + hast-util-heading-rank: "npm:^3.0.0" hast-util-is-element: "npm:^3.0.0" - is-absolute-url: "npm:^4.0.0" - space-separated-tokens: "npm:^2.0.0" + unified: "npm:^11.0.0" unist-util-visit: "npm:^5.0.0" - checksum: 10c0/486b5db73d8fe72611d62b4eb0b56ec71025ea32bba764ad54473f714ca627be75e057ac29243763f85a77c3810f31727ce3e03c975b3803c1c98643d038e9ae + checksum: 10c0/3d6653047c83cf7f9455bc0f5483a40170aee211cc057b7541b491d31e54b08fda72ab5ec4caeacea63e8af130584f0e14d5c63f6ddb86b7f34584b9e3f92dcf languageName: node linkType: hard @@ -16514,19 +13009,30 @@ __metadata: languageName: node linkType: hard -"rehype-pretty-code@npm:^0.13.2": - version: 0.13.2 - resolution: "rehype-pretty-code@npm:0.13.2" +"rehype-pretty-code@npm:^0.14.0": + version: 0.14.3 + resolution: "rehype-pretty-code@npm:0.14.3" dependencies: "@types/hast": "npm:^3.0.4" hast-util-to-string: "npm:^3.0.0" parse-numeric-range: "npm:^1.3.0" rehype-parse: "npm:^9.0.0" - unified: "npm:^11.0.4" + unified: "npm:^11.0.5" unist-util-visit: "npm:^5.0.0" peerDependencies: - shiki: ^1.3.0 - checksum: 10c0/7a79519f422fa6cff24317124f212b47ab68ac8d5593e73a5756d06c2bd5be0b30c1a83d860cc393f59d6d6c27289d1855b6bcc7a490895f076f49e3255e10cc + shiki: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + checksum: 10c0/dcdfacf476fe3f6186b62f79332bdf3739185dedaf185125efa944653032d9c7c2cfd769cd3f686f46cfbdc7088b5601ee1e3b70847ecd94d5fe9b9fa61fdb97 + languageName: node + linkType: hard + +"rehype-recma@npm:^1.0.0": + version: 1.0.0 + resolution: "rehype-recma@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + hast-util-to-estree: "npm:^3.0.0" + checksum: 10c0/be60d7433a7f788a14f41da3e93ba9d9272c908ddef47757026cc4bbcc912f6301d56810349adf876d294a8d048626a0dbf6988aaa574afbfc29eac1ddc1eb74 languageName: node linkType: hard @@ -16543,17 +13049,6 @@ __metadata: languageName: node linkType: hard -"rehype-stringify@npm:^9.0.3": - version: 9.0.4 - resolution: "rehype-stringify@npm:9.0.4" - dependencies: - "@types/hast": "npm:^2.0.0" - hast-util-to-html: "npm:^8.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/8c8bc118c3e3242a6126456c35af5f902a168ec8daab7b97f6bfeafa5ced2c23fbe2807776908ecec8ed17a9ef67c6f6d473ff54c28c1d6a711624505a551078 - languageName: node - linkType: hard - "relateurl@npm:^0.2.7": version: 0.2.7 resolution: "relateurl@npm:0.2.7" @@ -16572,60 +13067,27 @@ __metadata: languageName: node linkType: hard -"remark-frontmatter@npm:^4.0.1": +"remark-gfm@npm:^4.0.0": version: 4.0.1 - resolution: "remark-frontmatter@npm:4.0.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-frontmatter: "npm:^1.0.0" - micromark-extension-frontmatter: "npm:^1.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/ec8386ba0fae654a69abbb130dfb8837cadc6844edb9d98700175deb4091d2f2611db58ccaf6dab354f72727573b6838147fe879962b655a426ba75ef19a99db - languageName: node - linkType: hard - -"remark-gfm@npm:3": - version: 3.0.1 - resolution: "remark-gfm@npm:3.0.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-gfm: "npm:^2.0.0" - micromark-extension-gfm: "npm:^2.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/53c4e82204f82f81949a170efdeb49d3c45137b7bca06a7ff857a483aac1a44b55ef0de8fb1bbe4f1292f2a378058e2e42e644f2c61f3e0cdc3e56afa4ec2a2c - languageName: node - linkType: hard - -"remark-mdx-frontmatter@npm:^1.1.1": - version: 1.1.1 - resolution: "remark-mdx-frontmatter@npm:1.1.1" + resolution: "remark-gfm@npm:4.0.1" dependencies: - estree-util-is-identifier-name: "npm:^1.0.0" - estree-util-value-to-estree: "npm:^1.0.0" - js-yaml: "npm:^4.0.0" - toml: "npm:^3.0.0" - checksum: 10c0/3831b117730b64235e4cb5d4f5a479903a786aab4ec1f460c45620fff3014301a14a69ec1e4f092e7d552c6643c62932a164cbd521c823d255ef6c201dbff822 - languageName: node - linkType: hard - -"remark-mdx@npm:^2.0.0": - version: 2.3.0 - resolution: "remark-mdx@npm:2.3.0" - dependencies: - mdast-util-mdx: "npm:^2.0.0" - micromark-extension-mdxjs: "npm:^1.0.0" - checksum: 10c0/2688bbf03094a9cd17cc86afb6cf0270e86ffc696a2fe25ccb1befb84eb0864d281388dc560b585e05e20f94a994c9fa88492430d2ba703a2fef6918bca4c36b + "@types/mdast": "npm:^4.0.0" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/427ecc6af3e76222662061a5f670a3e4e33ec5fffe2cabf04034da6a3f9a1bda1fc023e838a636385ba314e66e2bebbf017ca61ebea357eb0f5200fe0625a4b7 languageName: node linkType: hard -"remark-parse@npm:^10.0.0, remark-parse@npm:^10.0.2": - version: 10.0.2 - resolution: "remark-parse@npm:10.0.2" +"remark-mdx@npm:^3.0.0": + version: 3.1.1 + resolution: "remark-mdx@npm:3.1.1" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/30cb8f2790380b1c7370a1c66cda41f33a7dc196b9e440a00e2675037bca55aea868165a8204e0cdbacc27ef4a3bdb7d45879826bd6efa07d9fdf328cb67a332 + mdast-util-mdx: "npm:^3.0.0" + micromark-extension-mdxjs: "npm:^3.0.0" + checksum: 10c0/3e5585d4c2448d8ac7548b1d148f04b89251ff47fbfc80be1428cecec2fc2530abe30a5da53bb031283f8a78933259df6120c1cd4cc7cc1d43978d508798ba88 languageName: node linkType: hard @@ -16641,15 +13103,16 @@ __metadata: languageName: node linkType: hard -"remark-rehype@npm:^10.0.0, remark-rehype@npm:^10.1.0": - version: 10.1.0 - resolution: "remark-rehype@npm:10.1.0" +"remark-rehype@npm:^11.0.0": + version: 11.1.2 + resolution: "remark-rehype@npm:11.1.2" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-to-hast: "npm:^12.1.0" - unified: "npm:^10.0.0" - checksum: 10c0/803e658c9b51a9b53ee2ada42ff82e8e570444bb97c873e0d602c2d8dcb69a774fd22bd6f26643dfd5ab4c181059ea6c9fb9a99a2d7f9665f3f11bef1a1489bd + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/f9eccacfb596d9605581dc05bfad28635d6ded5dd0a18e88af5fd4df0d3fcf9612e1501d4513bc2164d833cfe9636dab20400080b09e53f155c6e1442a1231fb languageName: node linkType: hard @@ -16689,13 +13152,6 @@ __metadata: languageName: node linkType: hard -"repeat-string@npm:^1.6.1": - version: 1.6.1 - resolution: "repeat-string@npm:1.6.1" - checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -16710,13 +13166,6 @@ __metadata: languageName: node linkType: hard -"requireindex@npm:^1.2.0": - version: 1.2.0 - resolution: "requireindex@npm:1.2.0" - checksum: 10c0/7fb42aed73bf8de9acc4d6716cf07acc7fbe180e58729433bafcf702e76e7bb10e54f8266c06bfec62d752e0ac14d50e8758833de539e6f4e2cd642077866153 - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -16731,13 +13180,6 @@ __metadata: languageName: node linkType: hard -"resolve-pkg-maps@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-pkg-maps@npm:1.0.0" - checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab - languageName: node - linkType: hard - "resolve-url-loader@npm:^5.0.0": version: 5.0.0 resolution: "resolve-url-loader@npm:5.0.0" @@ -16751,7 +13193,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4, resolve@npm:^1.22.8": +"resolve@npm:^1.22.1, resolve@npm:^1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -16764,20 +13206,20 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.5": - version: 2.0.0-next.5 - resolution: "resolve@npm:2.0.0-next.5" +"resolve@npm:^1.22.11": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + checksum: 10c0/f657191507530f2cbecb5815b1ee99b20741ea6ee02a59c57028e9ec4c2c8d7681afcc35febbd554ac0ded459db6f2d8153382c53a2f266cee2575e512674409 languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>": +"resolve@patch:resolve@npm%3A^1.22.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin<compat/resolve>::version=1.22.8&hash=c3c19d" dependencies: @@ -16790,16 +13232,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin<compat/resolve>": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin<compat/resolve>::version=2.0.0-next.5&hash=c3c19d" +"resolve@patch:resolve@npm%3A^1.22.11#optional!builtin<compat/resolve>": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin<compat/resolve>::version=1.22.11&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + checksum: 10c0/ee5b182f2e37cb1165465e58c6abc797fec0a80b5ba3231607beb4677db0c9291ac010c47cf092b6daa2b7f518d69a0e21888e7e2b633f68d501a874212a8c63 languageName: node linkType: hard @@ -16820,13 +13262,6 @@ __metadata: languageName: node linkType: hard -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 - languageName: node - linkType: hard - "rfdc@npm:^1.4.1": version: 1.4.1 resolution: "rfdc@npm:1.4.1" @@ -16894,46 +13329,14 @@ __metadata: languageName: node linkType: hard -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"rxjs@npm:^7.8.1": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" - dependencies: - tslib: "npm:^2.1.0" - checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68 - languageName: node - linkType: hard - -"sade@npm:^1.7.3": - version: 1.8.1 - resolution: "sade@npm:1.8.1" - dependencies: - mri: "npm:^1.1.0" - checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 - languageName: node - linkType: hard - -"safe-array-concat@npm:^1.1.2": - version: 1.1.2 - resolution: "safe-array-concat@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - has-symbols: "npm:^1.0.3" - isarray: "npm:^2.0.5" - checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9 +"run-applescript@npm:^7.0.0": + version: 7.1.0 + resolution: "run-applescript@npm:7.1.0" + checksum: 10c0/ab826c57c20f244b2ee807704b1ef4ba7f566aa766481ae5922aac785e2570809e297c69afcccc3593095b538a8a77d26f2b2e9a1d9dffee24e0e039502d1a03 languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 @@ -16947,38 +13350,26 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-regex: "npm:^1.1.4" - checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 languageName: node linkType: hard -"sass-loader@npm:^12.4.0": - version: 12.6.0 - resolution: "sass-loader@npm:12.6.0" +"sass-loader@npm:^16.0.5": + version: 16.0.7 + resolution: "sass-loader@npm:16.0.7" dependencies: - klona: "npm:^2.0.4" neo-async: "npm:^2.6.2" peerDependencies: - fibers: ">= 3.1.0" - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + "@rspack/core": 0.x || ^1.0.0 || ^2.0.0-0 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: "*" webpack: ^5.0.0 peerDependenciesMeta: - fibers: + "@rspack/core": optional: true node-sass: optional: true @@ -16986,16 +13377,16 @@ __metadata: optional: true sass-embedded: optional: true - checksum: 10c0/e1ef655f3898cc4c45f02b3c627f8baf998139993a9a79c524153a80814282bfe20d8d8d703b8cf1d05457c1930940b65e2156d11285ed0861f9a1016f993e53 + webpack: + optional: true + checksum: 10c0/eb352777cb3aff4bf0029c88e276a37ca10f415de0765eb1276f742455ebb152faffc2417770bf4a26da389d6115e27dd6c8e66c8b71396b21811f6e4d1b4eea languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 +"scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 languageName: node linkType: hard @@ -17031,13 +13422,15 @@ __metadata: languageName: node linkType: hard -"section-matter@npm:^1.0.0": - version: 1.0.0 - resolution: "section-matter@npm:1.0.0" +"schema-utils@npm:^4.3.0": + version: 4.3.3 + resolution: "schema-utils@npm:4.3.3" dependencies: - extend-shallow: "npm:^2.0.1" - kind-of: "npm:^6.0.0" - checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d + "@types/json-schema": "npm:^7.0.9" + ajv: "npm:^8.9.0" + ajv-formats: "npm:^2.1.1" + ajv-keywords: "npm:^5.1.0" + checksum: 10c0/1c8d2c480a026d7c02ab2ecbe5919133a096d6a721a3f201fa50663e4f30f6d6ba020dfddd93cb828b66b922e76b342e103edd19a62c95c8f60e9079cc403202 languageName: node linkType: hard @@ -17050,7 +13443,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.2 resolution: "semver@npm:7.6.2" bin: @@ -17059,7 +13452,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.3": +"semver@npm:^7.6.3, semver@npm:^7.7.3": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -17068,27 +13461,6 @@ __metadata: languageName: node linkType: hard -"send@npm:0.19.0": - version: 0.19.0 - resolution: "send@npm:0.19.0" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:2.0.1" - checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.1": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" @@ -17098,18 +13470,6 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.16.2": - version: 1.16.2 - resolution: "serve-static@npm:1.16.2" - dependencies: - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - parseurl: "npm:~1.3.3" - send: "npm:0.19.0" - checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f - languageName: node - linkType: hard - "set-function-length@npm:^1.2.1, set-function-length@npm:^1.2.2": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -17124,18 +13484,6 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": - version: 2.0.2 - resolution: "set-function-name@npm:2.0.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - functions-have-names: "npm:^1.2.3" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 - languageName: node - linkType: hard - "setimmediate@npm:^1.0.4": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -17143,13 +13491,6 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - "sha.js@npm:^2.4.0, sha.js@npm:^2.4.11, sha.js@npm:^2.4.8": version: 2.4.12 resolution: "sha.js@npm:2.4.12" @@ -17163,75 +13504,6 @@ __metadata: languageName: node linkType: hard -"sharp@npm:^0.33.3": - version: 0.33.4 - resolution: "sharp@npm:0.33.4" - dependencies: - "@img/sharp-darwin-arm64": "npm:0.33.4" - "@img/sharp-darwin-x64": "npm:0.33.4" - "@img/sharp-libvips-darwin-arm64": "npm:1.0.2" - "@img/sharp-libvips-darwin-x64": "npm:1.0.2" - "@img/sharp-libvips-linux-arm": "npm:1.0.2" - "@img/sharp-libvips-linux-arm64": "npm:1.0.2" - "@img/sharp-libvips-linux-s390x": "npm:1.0.2" - "@img/sharp-libvips-linux-x64": "npm:1.0.2" - "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.2" - "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.2" - "@img/sharp-linux-arm": "npm:0.33.4" - "@img/sharp-linux-arm64": "npm:0.33.4" - "@img/sharp-linux-s390x": "npm:0.33.4" - "@img/sharp-linux-x64": "npm:0.33.4" - "@img/sharp-linuxmusl-arm64": "npm:0.33.4" - "@img/sharp-linuxmusl-x64": "npm:0.33.4" - "@img/sharp-wasm32": "npm:0.33.4" - "@img/sharp-win32-ia32": "npm:0.33.4" - "@img/sharp-win32-x64": "npm:0.33.4" - color: "npm:^4.2.3" - detect-libc: "npm:^2.0.3" - semver: "npm:^7.6.0" - dependenciesMeta: - "@img/sharp-darwin-arm64": - optional: true - "@img/sharp-darwin-x64": - optional: true - "@img/sharp-libvips-darwin-arm64": - optional: true - "@img/sharp-libvips-darwin-x64": - optional: true - "@img/sharp-libvips-linux-arm": - optional: true - "@img/sharp-libvips-linux-arm64": - optional: true - "@img/sharp-libvips-linux-s390x": - optional: true - "@img/sharp-libvips-linux-x64": - optional: true - "@img/sharp-libvips-linuxmusl-arm64": - optional: true - "@img/sharp-libvips-linuxmusl-x64": - optional: true - "@img/sharp-linux-arm": - optional: true - "@img/sharp-linux-arm64": - optional: true - "@img/sharp-linux-s390x": - optional: true - "@img/sharp-linux-x64": - optional: true - "@img/sharp-linuxmusl-arm64": - optional: true - "@img/sharp-linuxmusl-x64": - optional: true - "@img/sharp-wasm32": - optional: true - "@img/sharp-win32-ia32": - optional: true - "@img/sharp-win32-x64": - optional: true - checksum: 10c0/428c5c6a84ff8968effe50c2de931002f5f30b9f263e1c026d0384e581673c13088a49322f7748114d3d9be4ae9476a74bf003a3af34743e97ef2f880d1cfe45 - languageName: node - linkType: hard - "sharp@npm:^0.33.5": version: 0.33.5 resolution: "sharp@npm:0.33.5" @@ -17301,7 +13573,7 @@ __metadata: languageName: node linkType: hard -"sharp@npm:^0.34.4": +"sharp@npm:^0.34.1, sharp@npm:^0.34.4": version: 0.34.5 resolution: "sharp@npm:0.34.5" dependencies: @@ -17401,23 +13673,23 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.8.1": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a - languageName: node - linkType: hard - -"shiki@npm:^1.6.2": - version: 1.6.2 - resolution: "shiki@npm:1.6.2" +"shiki@npm:^3.0.0": + version: 3.23.0 + resolution: "shiki@npm:3.23.0" dependencies: - "@shikijs/core": "npm:1.6.2" - checksum: 10c0/c563a22f47890d46626822b50635217f95ce5d4a28f4a62cabe689c3786602a41f0bba58f13ae36399ff24525cd9eadc034022a4be57226ffd8ed4a9aeec946d + "@shikijs/core": "npm:3.23.0" + "@shikijs/engine-javascript": "npm:3.23.0" + "@shikijs/engine-oniguruma": "npm:3.23.0" + "@shikijs/langs": "npm:3.23.0" + "@shikijs/themes": "npm:3.23.0" + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/b06a3eddac4bd0a838f9bd79bea70b0a01195570cb11d70fd2ff7ab0a42c33a8c4980ee52174173aae0476cc152b4c1a68c081a82d94ee340cb3ef9d772ae4ba languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": +"side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" dependencies: @@ -17429,7 +13701,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": +"signal-exit@npm:^3.0.2": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 @@ -17459,13 +13731,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - "slice-ansi@npm:^5.0.0": version: 5.0.0 resolution: "slice-ansi@npm:5.0.0" @@ -17514,6 +13779,16 @@ __metadata: languageName: node linkType: hard +"sonner@npm:^2.0.7": + version: 2.0.7 + resolution: "sonner@npm:2.0.7" + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + checksum: 10c0/6966ab5e892ed6aab579a175e4a24f3b48747f0fc21cb68c3e33cb41caa7a0eebeb098c210545395e47a18d585eb8734ae7dd12d2bd18c8a3294a1ee73f997d9 + languageName: node + linkType: hard + "source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0": version: 1.2.0 resolution: "source-map-js@npm:1.2.0" @@ -17521,7 +13796,14 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -17559,13 +13841,6 @@ __metadata: languageName: node linkType: hard -"spawn-command@npm:0.0.2": - version: 0.0.2 - resolution: "spawn-command@npm:0.0.2" - checksum: 10c0/b22f2d71239e6e628a400831861ba747750bbb40c0a53323754cf7b84330b73d81e40ff1f9055e6d1971818679510208a9302e13d9ff3b32feb67e74d7a1b3ef - languageName: node - linkType: hard - "split2@npm:^4.0.0": version: 4.2.0 resolution: "split2@npm:4.2.0" @@ -17580,13 +13855,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - "ssri@npm:^10.0.0": version: 10.0.6 resolution: "ssri@npm:10.0.6" @@ -17613,13 +13881,6 @@ __metadata: languageName: node linkType: hard -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - "stdin-discarder@npm:^0.2.1": version: 0.2.2 resolution: "stdin-discarder@npm:0.2.2" @@ -17627,15 +13888,6 @@ __metadata: languageName: node linkType: hard -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" - dependencies: - internal-slot: "npm:^1.0.4" - checksum: 10c0/c4158d6188aac510d9e92925b58709207bd94699e9c31186a040c80932a687f84a51356b5895e6dc72710aad83addb9411c22171832c9ae0e6e11b7d61b0dfb9 - languageName: node - linkType: hard - "stoppable@npm:1.1.0": version: 1.1.0 resolution: "stoppable@npm:1.1.0" @@ -17643,44 +13895,30 @@ __metadata: languageName: node linkType: hard -"store2@npm:^2.14.2": - version: 2.14.4 - resolution: "store2@npm:2.14.4" - checksum: 10c0/3453c9c8c153c760e6290395a7bc23669df5dc8a6e8a49f9b3187dbb9f86d14b58705aa4f17fad6b536d4b04fe3e66ea5bde12c1352abd52c6b303bbf5757ab6 - languageName: node - linkType: hard - -"storybook-dark-mode@npm:^4.0.1": - version: 4.0.1 - resolution: "storybook-dark-mode@npm:4.0.1" +"storybook@npm:^10.2.15": + version: 10.2.15 + resolution: "storybook@npm:10.2.15" dependencies: - "@storybook/components": "npm:^8.0.0" - "@storybook/core-events": "npm:^8.0.0" "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/manager-api": "npm:^8.0.0" - "@storybook/theming": "npm:^8.0.0" - fast-deep-equal: "npm:^3.1.3" - memoizerific: "npm:^1.11.3" - checksum: 10c0/201e13e7bbed85ad7a52d65984da9347b0ecaf1458ec569a6645a5e6dc04638b8aa61ed52a56a775321f801f1a035444b6d0d715624aa217f7d6ea7671060d3e - languageName: node - linkType: hard - -"storybook@npm:^8.6.15": - version: 8.6.15 - resolution: "storybook@npm:8.6.15" - dependencies: - "@storybook/core": "npm:8.6.15" + "@storybook/icons": "npm:^2.0.1" + "@testing-library/jest-dom": "npm:^6.6.3" + "@testing-library/user-event": "npm:^14.6.1" + "@vitest/expect": "npm:3.2.4" + "@vitest/spy": "npm:3.2.4" + esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0" + open: "npm:^10.2.0" + recast: "npm:^0.23.5" + semver: "npm:^7.7.3" + use-sync-external-store: "npm:^1.5.0" + ws: "npm:^8.18.0" peerDependencies: prettier: ^2 || ^3 peerDependenciesMeta: prettier: optional: true bin: - getstorybook: ./bin/index.cjs - sb: ./bin/index.cjs - storybook: ./bin/index.cjs - checksum: 10c0/8d54dd81811fa3299c85667c55f7627e6f1010e86ab56babcd853987dedab4e711a2b0ee4ff545b091030a92e12becd84e4e2e7b99cd8a1c1d30697757af2545 + storybook: ./dist/bin/dispatcher.js + checksum: 10c0/eeab16bb284332c1a43865bf3ed77cf2a09cae096eabcd705dcb5333b5cb1b378dae2f028a2753f1edb65b4ea5bba9f3724a7682e74a46663e53fc1aed09eaa1 languageName: node linkType: hard @@ -17724,79 +13962,25 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string-width@npm:^7.0.0": - version: 7.1.0 - resolution: "string-width@npm:7.1.0" - dependencies: - emoji-regex: "npm:^10.3.0" - get-east-asian-width: "npm:^1.0.0" - strip-ansi: "npm:^7.1.0" - checksum: 10c0/68a99fbc3bd3d8eb42886ff38dce819767dee55f606f74dfa4687a07dfd21262745d9683df0aa53bf81a5dd47c13da921a501925b974bec66a7ddd634fef0634 - languageName: node - linkType: hard - -"string.prototype.matchall@npm:^4.0.11": - version: 4.0.11 - resolution: "string.prototype.matchall@npm:4.0.11" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - regexp.prototype.flags: "npm:^1.5.2" - set-function-name: "npm:^2.0.2" - side-channel: "npm:^1.0.6" - checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.9": - version: 1.2.9 - resolution: "string.prototype.trim@npm:1.2.9" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2 - languageName: node - linkType: hard - -"string.prototype.trimend@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimend@npm:1.0.8" +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimstart@npm:1.0.8" +"string-width@npm:^7.0.0": + version: 7.1.0 + resolution: "string-width@npm:7.1.0" dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + emoji-regex: "npm:^10.3.0" + get-east-asian-width: "npm:^1.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/68a99fbc3bd3d8eb42886ff38dce819767dee55f606f74dfa4687a07dfd21262745d9683df0aa53bf81a5dd47c13da921a501925b974bec66a7ddd634fef0634 languageName: node linkType: hard @@ -17846,13 +14030,6 @@ __metadata: languageName: node linkType: hard -"strip-bom-string@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-bom-string@npm:1.0.0" - checksum: 10c0/5c5717e2643225aa6a6d659d34176ab2657037f1fe2423ac6fcdb488f135e14fef1022030e426d8b4d0989e09adbd5c3288d5d3b9c632abeefd2358dfc512bca - languageName: node - linkType: hard - "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -17860,13 +14037,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - "strip-final-newline@npm:^3.0.0": version: 3.0.0 resolution: "strip-final-newline@npm:3.0.0" @@ -17892,13 +14062,6 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - "style-loader@npm:^3.3.1": version: 3.3.4 resolution: "style-loader@npm:3.3.4" @@ -17908,28 +14071,30 @@ __metadata: languageName: node linkType: hard -"style-to-object@npm:^0.4.1": - version: 0.4.4 - resolution: "style-to-object@npm:0.4.4" +"style-loader@npm:^4.0.0": + version: 4.0.0 + resolution: "style-loader@npm:4.0.0" + peerDependencies: + webpack: ^5.27.0 + checksum: 10c0/214bc0f3b018f8c374f79b9fa16da43df78c7fef2261e9a99e36c2f8387601fad10ac75a171aa8edba75903db214bc46952ae08b94a1f8544bd146c2c8d07d27 + languageName: node + linkType: hard + +"style-to-js@npm:^1.0.0": + version: 1.1.21 + resolution: "style-to-js@npm:1.1.21" dependencies: - inline-style-parser: "npm:0.1.1" - checksum: 10c0/3a733080da66952881175b17d65f92985cf94c1ca358a92cf21b114b1260d49b94a404ed79476047fb95698d64c7e366ca7443f0225939e2fb34c38bbc9c7639 + style-to-object: "npm:1.0.14" + checksum: 10c0/94231aa80f58f442c3a5ae01a21d10701e5d62f96b4b3e52eab3499077ee52df203cc0df4a1a870707f5e99470859136ea8657b782a5f4ca7934e0ffe662a588 languageName: node linkType: hard -"styled-jsx@npm:5.1.1": - version: 5.1.1 - resolution: "styled-jsx@npm:5.1.1" +"style-to-object@npm:1.0.14": + version: 1.0.14 + resolution: "style-to-object@npm:1.0.14" dependencies: - client-only: "npm:0.0.1" - peerDependencies: - react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" - peerDependenciesMeta: - "@babel/core": - optional: true - babel-plugin-macros: - optional: true - checksum: 10c0/42655cdadfa5388f8a48bb282d6b450df7d7b8cf066ac37038bd0499d3c9f084815ebd9ff9dfa12a218fd4441338851db79603498d7557207009c1cf4d609835 + inline-style-parser: "npm:0.2.7" + checksum: 10c0/854d9e9b77afc336e6d7b09348e7939f2617b34eb0895824b066d8cd1790284cb6d8b2ba36be88025b2595d715dba14b299ae76e4628a366541106f639e13679 languageName: node linkType: hard @@ -17949,21 +14114,19 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.32.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" +"styled-jsx@npm:^5.1.6": + version: 5.1.7 + resolution: "styled-jsx@npm:5.1.7" dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.2" - commander: "npm:^4.0.0" - glob: "npm:^10.3.10" - lines-and-columns: "npm:^1.1.6" - mz: "npm:^2.7.0" - pirates: "npm:^4.0.1" - ts-interface-checker: "npm:^0.1.9" - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + client-only: "npm:0.0.1" + peerDependencies: + react: ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + peerDependenciesMeta: + "@babel/core": + optional: true + babel-plugin-macros: + optional: true + checksum: 10c0/7a2544664f74dbd940c96017f81c7066b6c1e88df6e2062fd1ffcada66cfb22eb3367438b4f0ec47de7ba37f7359d153f25da2bf9593a6f3e35af44c7bbaeb48 languageName: node linkType: hard @@ -17985,7 +14148,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": +"supports-color@npm:^8.0.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -18001,64 +14164,17 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.8.6": - version: 0.8.8 - resolution: "synckit@npm:0.8.8" - dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 - languageName: node - linkType: hard - -"tailwind-merge@npm:^2.3.0": - version: 2.3.0 - resolution: "tailwind-merge@npm:2.3.0" - dependencies: - "@babel/runtime": "npm:^7.24.1" - checksum: 10c0/5ea308e23c3ab1cf4c3f35f0a471753f4d3ed232d63dd7c09151a74428737321902203d90e9f0cb76ea5c3978e71b0adbc503dc455e56cda967a7674ae4b94b5 - languageName: node - linkType: hard - -"tailwindcss-animate@npm:^1.0.7": - version: 1.0.7 - resolution: "tailwindcss-animate@npm:1.0.7" - peerDependencies: - tailwindcss: "*" - checksum: 10c0/ec7dbd1631076b97d66a1fbaaa06e0725fccfa63119221e8d87a997b02dcede98ad88bb1ef6665b968f5d260fcefb10592e0299ca70208d365b37761edf5e19a +"tailwind-merge@npm:^3.0.0": + version: 3.5.0 + resolution: "tailwind-merge@npm:3.5.0" + checksum: 10c0/4dc588f5b5296ba3f38e1ebb41f02b6d24a8c5bb45e44b33748c118fb4b5767dd0efc464431ca3e75404056b618b5f67bec3708158baa65fed8a2fc9201e0c53 languageName: node linkType: hard -"tailwindcss@npm:^3.4.1": - version: 3.4.4 - resolution: "tailwindcss@npm:3.4.4" - dependencies: - "@alloc/quick-lru": "npm:^5.2.0" - arg: "npm:^5.0.2" - chokidar: "npm:^3.5.3" - didyoumean: "npm:^1.2.2" - dlv: "npm:^1.1.3" - fast-glob: "npm:^3.3.0" - glob-parent: "npm:^6.0.2" - is-glob: "npm:^4.0.3" - jiti: "npm:^1.21.0" - lilconfig: "npm:^2.1.0" - micromatch: "npm:^4.0.5" - normalize-path: "npm:^3.0.0" - object-hash: "npm:^3.0.0" - picocolors: "npm:^1.0.0" - postcss: "npm:^8.4.23" - postcss-import: "npm:^15.1.0" - postcss-js: "npm:^4.0.1" - postcss-load-config: "npm:^4.0.1" - postcss-nested: "npm:^6.0.1" - postcss-selector-parser: "npm:^6.0.11" - resolve: "npm:^1.22.2" - sucrase: "npm:^3.32.0" - bin: - tailwind: lib/cli.js - tailwindcss: lib/cli.js - checksum: 10c0/e4f7e1a2e1897871a4744f421ccb5639e8d51012e3644b0c35cf723527fdc8f9cddd3fa3b0fc28c198b0ea6ce44ead21c89cfec549d80bad9b1f3dd9d8bf2d54 +"tailwindcss@npm:4.2.1, tailwindcss@npm:^4.1.0": + version: 4.2.1 + resolution: "tailwindcss@npm:4.2.1" + checksum: 10c0/482d734b582e9da509042ff59c1d7564d99e39e238c50ae907c20fa56177a8a00c3902f6971329971bd6a1c5357026ac76a849b8f2c69c94f0f59be99530ba54 languageName: node linkType: hard @@ -18069,6 +14185,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.3.0": + version: 2.3.0 + resolution: "tapable@npm:2.3.0" + checksum: 10c0/cb9d67cc2c6a74dedc812ef3085d9d681edd2c1fa18e4aef57a3c0605fdbe44e6b8ea00bd9ef21bc74dd45314e39d31227aa031ebf2f5e38164df514136f2681 + languageName: node + linkType: hard + "tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -18083,35 +14206,7 @@ __metadata: languageName: node linkType: hard -"telejson@npm:^7.2.0": - version: 7.2.0 - resolution: "telejson@npm:7.2.0" - dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10c0/d26e6cc93e54bfdcdb207b49905508c5db45862e811a2e2193a735409e47b14530e1c19351618a3e03ad2fd4ffc3759364fcd72851aba2df0300fab574b6151c - languageName: node - linkType: hard - -"temp-dir@npm:^3.0.0": - version: 3.0.0 - resolution: "temp-dir@npm:3.0.0" - checksum: 10c0/a86978a400984cd5f315b77ebf3fe53bb58c61f192278cafcb1f3fb32d584a21dc8e08b93171d7874b7cc972234d3455c467306cc1bfc4524b622e5ad3bfd671 - languageName: node - linkType: hard - -"tempy@npm:^3.1.0": - version: 3.1.0 - resolution: "tempy@npm:3.1.0" - dependencies: - is-stream: "npm:^3.0.0" - temp-dir: "npm:^3.0.0" - type-fest: "npm:^2.12.2" - unique-string: "npm:^3.0.0" - checksum: 10c0/b88e70baa8d935ba8f0e0372b59ad1a961121f098da5fb4a6e05bec98ec32a49026b553532fb75c1c102ec782fd4c6a6bde0d46cbe87013fa324451ce476fb76 - languageName: node - linkType: hard - -"terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.10": +"terser-webpack-plugin@npm:^5.3.10": version: 5.3.10 resolution: "terser-webpack-plugin@npm:5.3.10" dependencies: @@ -18133,6 +14228,27 @@ __metadata: languageName: node linkType: hard +"terser-webpack-plugin@npm:^5.3.14": + version: 5.3.17 + resolution: "terser-webpack-plugin@npm:5.3.17" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.25" + jest-worker: "npm:^27.4.5" + schema-utils: "npm:^4.3.0" + terser: "npm:^5.31.1" + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 10c0/bfe08fbb3e5e5a8b2525dcc1705c370ca67f218051f0df241f86531ab0f1a93d5b290176ba09cff28cd5f774836684a7e436421d0641c0f4dfd07110d8d907bf + languageName: node + linkType: hard + "terser@npm:^5.10.0, terser@npm:^5.26.0": version: 5.31.1 resolution: "terser@npm:5.31.1" @@ -18147,35 +14263,24 @@ __metadata: languageName: node linkType: hard -"text-extensions@npm:^2.0.0": - version: 2.4.0 - resolution: "text-extensions@npm:2.4.0" - checksum: 10c0/6790e7ee72ad4d54f2e96c50a13e158bb57ce840dddc770e80960ed1550115c57bdc2cee45d5354d7b4f269636f5ca06aab4d6e0281556c841389aa837b23fcb - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" +"terser@npm:^5.31.1, terser@npm:^5.39.2": + version: 5.46.0 + resolution: "terser@npm:5.46.0" dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.15.0" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/93ad468f13187c4f66b609bbfc00a6aee752007779ca3157f2c1ee063697815748d6010fd449a16c30be33213748431d5f54cc0224ba6a3fbbf5acd3582a4356 languageName: node linkType: hard -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: "npm:^1.0.0" - checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 +"text-extensions@npm:^2.0.0": + version: 2.4.0 + resolution: "text-extensions@npm:2.4.0" + checksum: 10c0/6790e7ee72ad4d54f2e96c50a13e158bb57ce840dddc770e80960ed1550115c57bdc2cee45d5354d7b4f269636f5ca06aab4d6e0281556c841389aa837b23fcb languageName: node linkType: hard @@ -18195,17 +14300,24 @@ __metadata: languageName: node linkType: hard -"tiny-invariant@npm:^1.3.1, tiny-invariant@npm:^1.3.3": +"tiny-invariant@npm:^1.3.3": version: 1.3.3 resolution: "tiny-invariant@npm:1.3.3" checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a languageName: node linkType: hard -"tinyspy@npm:^2.2.0": - version: 2.2.1 - resolution: "tinyspy@npm:2.2.1" - checksum: 10c0/0b4cfd07c09871e12c592dfa7b91528124dc49a4766a0b23350638c62e6a483d5a2a667de7e6282246c0d4f09996482ddaacbd01f0c05b7ed7e0f79d32409bdc +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 10c0/c83c52bef4e0ae7fb8ec6a722f70b5b6fa8d8be1c85792e829f56c0e1be94ab70b293c032dc5048d4d37cfe678f1f5babb04bdc65fd123098800148ca989184f + languageName: node + linkType: hard + +"tinyspy@npm:^4.0.3": + version: 4.0.4 + resolution: "tinyspy@npm:4.0.4" + checksum: 10c0/a8020fc17799251e06a8398dcc352601d2770aa91c556b9531ecd7a12581161fd1c14e81cbdaff0c1306c93bfdde8ff6d1c1a3f9bbe6d91604f0fd4e01e2f1eb languageName: node linkType: hard @@ -18266,43 +14378,6 @@ __metadata: languageName: node linkType: hard -"tocbot@npm:^4.20.1": - version: 4.28.2 - resolution: "tocbot@npm:4.28.2" - checksum: 10c0/effc2cd35b5e8e2928e97d1b5347e68d89b386e177c0cdedd92c401f972175a1502cf9f399c19a47707c2d5e58b344dc27f9a437597cb8e6ee3ed7bc27ec6463 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"toml@npm:^3.0.0": - version: 3.0.0 - resolution: "toml@npm:3.0.0" - checksum: 10c0/8d7ed3e700ca602e5419fca343e1c595eb7aa177745141f0761a5b20874b58ee5c878cd045c408da9d130cb2b611c639912210ba96ce2f78e443569aa8060c18 - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"tree-kill@npm:^1.2.2": - version: 1.2.2 - resolution: "tree-kill@npm:1.2.2" - bin: - tree-kill: cli.js - checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 - languageName: node - linkType: hard - "trim-lines@npm:^3.0.0": version: 3.0.1 resolution: "trim-lines@npm:3.0.1" @@ -18317,46 +14392,13 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1, ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" - peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c - languageName: node - linkType: hard - -"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0": +"ts-dedent@npm:^2.0.0": version: 2.2.0 resolution: "ts-dedent@npm:2.2.0" checksum: 10c0/175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303 languageName: node linkType: hard -"ts-interface-checker@npm:^0.1.9": - version: 0.1.13 - resolution: "ts-interface-checker@npm:0.1.13" - checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 - languageName: node - linkType: hard - -"ts-pattern@npm:^4.3.0": - version: 4.3.0 - resolution: "ts-pattern@npm:4.3.0" - checksum: 10c0/e83d370feeda3657f5b9d49b119840e4c4f7cbee9797233078cbf1ad8f82dbd44935e8120ee3293d7626fed542b230827fdb87fcbdcaf37fd0f1d22345d05594 - languageName: node - linkType: hard - -"ts-pnp@npm:^1.1.6": - version: 1.2.0 - resolution: "ts-pnp@npm:1.2.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/ff32b4f810f9d99f676d70fe2c0e327cb6c812214bd4fc7135870b039f9e85a85b2c20f8fe030d9bd36e9598a12faa391f10aecb95df624b92f1af6bd47dc397 - languageName: node - linkType: hard - "tsconfig-paths-webpack-plugin@npm:^4.0.1": version: 4.1.0 resolution: "tsconfig-paths-webpack-plugin@npm:4.1.0" @@ -18368,18 +14410,6 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.15.0": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 - languageName: node - linkType: hard - "tsconfig-paths@npm:^4.0.0, tsconfig-paths@npm:^4.1.2, tsconfig-paths@npm:^4.2.0": version: 4.2.0 resolution: "tsconfig-paths@npm:4.2.0" @@ -18391,21 +14421,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.6.2": +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0": version: 2.6.3 resolution: "tslib@npm:2.6.3" checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a languageName: node linkType: hard -"tslib@npm:^2.8.0": +"tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -18433,17 +14456,6 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: "npm:^1.8.1" - peerDependencies: - typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 - languageName: node - linkType: hard - "tty-browserify@npm:^0.0.1": version: 0.0.1 resolution: "tty-browserify@npm:0.0.1" @@ -18451,134 +14463,28 @@ __metadata: languageName: node linkType: hard -"tween-functions@npm:^1.2.0": - version: 1.2.0 - resolution: "tween-functions@npm:1.2.0" - checksum: 10c0/7e59295b8b0ee4132ed2fe335f56a9db5c87056dad6b6fd3011be72239fd20398003ddb4403bc98ad9f5c94468890830f64016edbbde35581faf95b32cda8305 - languageName: node - linkType: hard - -"typanion@npm:^3.12.1, typanion@npm:^3.8.0": - version: 3.14.0 - resolution: "typanion@npm:3.14.0" - checksum: 10c0/8b03b19844e6955bfd906c31dc781bae6d7f1fb3ce4fe24b7501557013d4889ae5cefe671dafe98d87ead0adceb8afcb8bc16df7dc0bd2b7331bac96f3a7cae2 - languageName: node - linkType: hard - -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^1.0.1": +"tw-animate-css@npm:^1.4.0": version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 - languageName: node - linkType: hard - -"type-fest@npm:^2.12.2, type-fest@npm:^2.14.0, type-fest@npm:^2.19.0, type-fest@npm:~2.19": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb - languageName: node - linkType: hard - -"type-fest@npm:^3.12.0": - version: 3.13.1 - resolution: "type-fest@npm:3.13.1" - checksum: 10c0/547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629 - languageName: node - linkType: hard - -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + resolution: "tw-animate-css@npm:1.4.0" + checksum: 10c0/6cfbc19ccc73883ec80ef1f9147f43e736cb01ee99c8172968b37eb81b720523d30e38b1a96aef92db3c586d864204db5510b51744ddacbbf0ad8e3c7fb56ec7 languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.7" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da - languageName: node - linkType: hard - -"typed-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "typed-array-buffer@npm:1.0.3" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.14" - checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 - languageName: node - linkType: hard - -"typed-array-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 - languageName: node - linkType: hard - -"typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f +"type-fest@npm:^2.14.0": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb languageName: node linkType: hard -"typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/74253d7dc488eb28b6b2711cf31f5a9dcefc9c41b0681fd1c178ed0a1681b4468581a3626d39cd4df7aee3d3927ab62be06aa9ca74e5baf81827f61641445b77 + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 languageName: node linkType: hard @@ -18609,27 +14515,6 @@ __metadata: languageName: node linkType: hard -"uglify-js@npm:^3.1.4": - version: 3.17.4 - resolution: "uglify-js@npm:3.17.4" - bin: - uglifyjs: bin/uglifyjs - checksum: 10c0/8b7fcdca69deb284fed7d2025b73eb747ce37f9aca6af53422844f46427152d5440601b6e2a033e77856a2f0591e4167153d5a21b68674ad11f662034ec13ced - languageName: node - linkType: hard - -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 - languageName: node - linkType: hard - "undici-types@npm:~5.26.4": version: 5.26.5 resolution: "undici-types@npm:5.26.5" @@ -18637,6 +14522,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + "undici@npm:^5.28.5": version: 5.29.0 resolution: "undici@npm:5.29.0" @@ -18683,6 +14575,13 @@ __metadata: languageName: node linkType: hard +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: 10c0/93acd1ad9496b600e5379d1aaca154cf551c5d6d4a0aefaf0984fc2e6288e99220adbeb82c935cde461457fb6af0264a1774b8dfd4d9a9e31548df3352a4194d + languageName: node + linkType: hard + "unicode-property-aliases-ecmascript@npm:^2.0.0": version: 2.1.0 resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" @@ -18697,24 +14596,24 @@ __metadata: languageName: node linkType: hard -"unified@npm:^10.0.0, unified@npm:^10.1.2": - version: 10.1.2 - resolution: "unified@npm:10.1.2" +"unified@npm:^11.0.0": + version: 11.0.4 + resolution: "unified@npm:11.0.4" dependencies: - "@types/unist": "npm:^2.0.0" + "@types/unist": "npm:^3.0.0" bail: "npm:^2.0.0" + devlop: "npm:^1.0.0" extend: "npm:^3.0.0" - is-buffer: "npm:^2.0.0" is-plain-obj: "npm:^4.0.0" trough: "npm:^2.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/da9195e3375a74ab861a65e1d7b0454225d17a61646697911eb6b3e97de41091930ed3d167eb11881d4097c51deac407091d39ddd1ee8bf1fde3f946844a17a7 + vfile: "npm:^6.0.0" + checksum: 10c0/b550cdc994d54c84e2e098eb02cfa53535cbc140c148aa3296f235cb43082b499d239110f342fa65eb37ad919472a93cc62f062a83541485a69498084cc87ba1 languageName: node linkType: hard -"unified@npm:^11.0.0, unified@npm:^11.0.4": - version: 11.0.4 - resolution: "unified@npm:11.0.4" +"unified@npm:^11.0.5": + version: 11.0.5 + resolution: "unified@npm:11.0.5" dependencies: "@types/unist": "npm:^3.0.0" bail: "npm:^2.0.0" @@ -18723,7 +14622,7 @@ __metadata: is-plain-obj: "npm:^4.0.0" trough: "npm:^2.0.0" vfile: "npm:^6.0.0" - checksum: 10c0/b550cdc994d54c84e2e098eb02cfa53535cbc140c148aa3296f235cb43082b499d239110f342fa65eb37ad919472a93cc62f062a83541485a69498084cc87ba1 + checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 languageName: node linkType: hard @@ -18745,15 +14644,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-string@npm:3.0.0" - dependencies: - crypto-random-string: "npm:^4.0.0" - checksum: 10c0/b35ea034b161b2a573666ec16c93076b4b6106b8b16c2415808d747ab3a0566b5db0c4be231d4b11cfbc16d7fd915c9d8a45884bff0e2db11b799775b2e1e017 - languageName: node - linkType: hard - "unist-builder@npm:^4.0.0": version: 4.0.0 resolution: "unist-builder@npm:4.0.0" @@ -18763,13 +14653,6 @@ __metadata: languageName: node linkType: hard -"unist-util-generated@npm:^2.0.0": - version: 2.0.1 - resolution: "unist-util-generated@npm:2.0.1" - checksum: 10c0/6f052dd47a7280785f3787f52cdfe8819e1de50317a1bcf7c9346c63268cf2cebc61a5980e7ca734a54735e27dbb73091aa0361a98504ab7f9409fb75f1b16bb - languageName: node - linkType: hard - "unist-util-is@npm:^5.0.0": version: 5.2.1 resolution: "unist-util-is@npm:5.2.1" @@ -18788,31 +14671,32 @@ __metadata: languageName: node linkType: hard -"unist-util-position-from-estree@npm:^1.0.0, unist-util-position-from-estree@npm:^1.1.0": - version: 1.1.2 - resolution: "unist-util-position-from-estree@npm:1.1.2" +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/1d95d0b2b05efcec07a4e6745a6950cd498f6100fb900615b252937baed5140df1c6319b9a67364c8a6bd891c58b3c9a52a22e8e1d3422c50bb785d7e3ad7484 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/39127bf5f0594e0a76d9241dec4f7aa26323517120ce1edd5ed91c8c1b9df7d6fb18af556e4b6250f1c7368825720ed892e2b6923be5cdc08a9bb16536dc37b3 languageName: node linkType: hard -"unist-util-position@npm:^4.0.0": - version: 4.0.4 - resolution: "unist-util-position@npm:4.0.4" +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/e506d702e25a0fb47a64502054f709a6ff5db98993bf139eec868cd11eb7de34392b781c6c2002e2c24d97aa398c14b32a47076129f36e4b894a2c1351200888 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 languageName: node linkType: hard -"unist-util-remove-position@npm:^4.0.0": - version: 4.0.2 - resolution: "unist-util-remove-position@npm:4.0.2" +"unist-util-remove@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-remove@npm:4.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/17371b1e53c52d1b00656c9c6fe1bb044846e7067022195823ed3d1a8d8b965d4f9a79b286b8a841e68731b4ec93afd563b81ae92151f80c28534ba51e9dc18f + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/30f3ed31095dd7f3109266d39c514fab5f2da3fb656d5f78a0e3e7700f219760f2f4d8286c810ae43c241fee3f0a8dd40f8d1e5ebeee3cb810581d5e7e8d4f7d languageName: node linkType: hard @@ -18825,15 +14709,6 @@ __metadata: languageName: node linkType: hard -"unist-util-stringify-position@npm:^3.0.0": - version: 3.0.3 - resolution: "unist-util-stringify-position@npm:3.0.3" - dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/14550027825230528f6437dad7f2579a841780318569851291be6c8a970bae6f65a7feb24dabbcfce0e5e68cacae85bf12cbda3f360f7c873b4db602bdf7bb21 - languageName: node - linkType: hard - "unist-util-stringify-position@npm:^4.0.0": version: 4.0.0 resolution: "unist-util-stringify-position@npm:4.0.0" @@ -18843,7 +14718,7 @@ __metadata: languageName: node linkType: hard -"unist-util-visit-parents@npm:^5.0.0, unist-util-visit-parents@npm:^5.1.1": +"unist-util-visit-parents@npm:^5.1.1": version: 5.1.3 resolution: "unist-util-visit-parents@npm:5.1.3" dependencies: @@ -18863,7 +14738,7 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^4.0.0, unist-util-visit@npm:^4.1.0": +"unist-util-visit@npm:^4.1.0": version: 4.1.2 resolution: "unist-util-visit@npm:4.1.2" dependencies: @@ -18885,6 +14760,17 @@ __metadata: languageName: node linkType: hard +"unist-util-visit@npm:^5.1.0": + version: 5.1.0 + resolution: "unist-util-visit@npm:5.1.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/a56e1bbbf63fcb55abe379e660b9a3367787e8be1e2473bdb7e86cfa6f32b6c1fa0092432d7040b8a30b2fc674bbbe024ffe6d03c3d6bf4839b064f584463a4e + languageName: node + linkType: hard + "universalify@npm:^2.0.0": version: 2.0.1 resolution: "universalify@npm:2.0.1" @@ -18892,22 +14778,15 @@ __metadata: languageName: node linkType: hard -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c - languageName: node - linkType: hard - -"unplugin@npm:^1.3.1": - version: 1.10.1 - resolution: "unplugin@npm:1.10.1" +"unplugin@npm:^2.3.5": + version: 2.3.11 + resolution: "unplugin@npm:2.3.11" dependencies: - acorn: "npm:^8.11.3" - chokidar: "npm:^3.6.0" - webpack-sources: "npm:^3.2.3" - webpack-virtual-modules: "npm:^0.6.1" - checksum: 10c0/6fe469785a46ff2a2d5c077db8b8b8d2c5429016f2561cffed4eb0068ea085c50b8c503891a4ea028f8226da0b9a8b878118a0b9eeded511b53adec4edbb38d3 + "@jridgewell/remapping": "npm:^2.3.5" + acorn: "npm:^8.15.0" + picomatch: "npm:^4.0.3" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10c0/273c1eab0eca4470c7317428689295c31dbe8ab0b306504de9f03cd20c156debb4131bef24b27ac615862958c5dd950a3951d26c0723ea774652ab3624149cff languageName: node linkType: hard @@ -18925,6 +14804,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.2.0": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec + languageName: node + linkType: hard + "uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -18959,6 +14852,21 @@ __metadata: languageName: node linkType: hard +"use-callback-ref@npm:^1.3.3": + version: 1.3.3 + resolution: "use-callback-ref@npm:1.3.3" + dependencies: + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/f887488c6e6075cdad4962979da1714b217bcb1ee009a9e57ce9a844bcfc4c3a99e93983dfc2e5af9e0913824d24e730090ff255e902c516dcb58d2d3837e01c + languageName: node + linkType: hard + "use-sidecar@npm:^1.1.2": version: 1.1.2 resolution: "use-sidecar@npm:1.1.2" @@ -18975,6 +14883,31 @@ __metadata: languageName: node linkType: hard +"use-sidecar@npm:^1.1.3": + version: 1.1.3 + resolution: "use-sidecar@npm:1.1.3" + dependencies: + detect-node-es: "npm:^1.1.0" + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/161599bf921cfaa41c85d2b01c871975ee99260f3e874c2d41c05890d41170297bdcf314bc5185e7a700de2034ac5b888e3efc8e9f35724f4918f53538d717c9 + languageName: node + linkType: hard + +"use-sync-external-store@npm:^1.2.2, use-sync-external-store@npm:^1.5.0": + version: 1.6.0 + resolution: "use-sync-external-store@npm:1.6.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/35e1179f872a53227bdf8a827f7911da4c37c0f4091c29b76b1e32473d1670ebe7bcd880b808b7549ba9a5605c233350f800ffab963ee4a4ee346ee983b6019b + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -19002,71 +14935,29 @@ __metadata: languageName: node linkType: hard -"utils-merge@npm:1.0.1": - version: 1.0.1 - resolution: "utils-merge@npm:1.0.1" - checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"uuid@npm:^9.0.0": - version: 9.0.1 - resolution: "uuid@npm:9.0.1" - bin: - uuid: dist/bin/uuid - checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b - languageName: node - linkType: hard - -"uvu@npm:^0.5.0": - version: 0.5.6 - resolution: "uvu@npm:0.5.6" - dependencies: - dequal: "npm:^2.0.0" - diff: "npm:^5.0.0" - kleur: "npm:^4.0.3" - sade: "npm:^1.7.3" - bin: - uvu: bin.js - checksum: 10c0/ad32eb5f7d94bdeb71f80d073003f0138e24f61ed68cecc8e15d2f30838f44c9670577bb1775c8fac894bf93d1bc1583d470a9195e49bfa6efa14cc6f4942bff - languageName: node - linkType: hard - -"vary@npm:~1.1.2": +"vaul@npm:^1.1.2": version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - -"vaul@npm:^0.9.1": - version: 0.9.1 - resolution: "vaul@npm:0.9.1" + resolution: "vaul@npm:1.1.2" dependencies: - "@radix-ui/react-dialog": "npm:^1.0.4" + "@radix-ui/react-dialog": "npm:^1.1.1" peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 10c0/33fc4ab9554acdcb218fb5048f270607aaa3eb58909cf2e4300c1bca8ba8b989845500b9f116e62fde8d3f56a26e42bdd722a1e7fcd5a074a480b86d11612005 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + checksum: 10c0/a6da539eb5576c0004a6b17e3673ea1db2c34e80355860131183abf53279ce025bbd016d542c345d1cc8464ad12f9dc9860949c751055d8a84961e8472a53707 languageName: node linkType: hard -"vfile-location@npm:^4.0.0": - version: 4.1.0 - resolution: "vfile-location@npm:4.1.0" +"velite@npm:^0.2.3": + version: 0.2.4 + resolution: "velite@npm:0.2.4" dependencies: - "@types/unist": "npm:^2.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/77097e819579214d3346aaa2b06e4d23e2413221ac4914679d312cf64973011b76f0e2424fa8f18987befcd6ed60f4f6c4c6ebd5d5326062173a95f6b4445a96 + "@mdx-js/mdx": "npm:^3.1.0" + esbuild: "npm:^0.25.4" + sharp: "npm:^0.34.1" + terser: "npm:^5.39.2" + bin: + velite: bin/velite.js + checksum: 10c0/3c50ccaff3587db701eaf046e50eef77088dfa0158ae4810a14427023f3ca56e24bdc5d7619ec8dc66cfcaaec4e78150078e5b1e2899f9d08455b1f140df1ef0 languageName: node linkType: hard @@ -19080,6 +14971,16 @@ __metadata: languageName: node linkType: hard +"vfile-matter@npm:^5.0.0": + version: 5.0.1 + resolution: "vfile-matter@npm:5.0.1" + dependencies: + vfile: "npm:^6.0.0" + yaml: "npm:^2.0.0" + checksum: 10c0/0032ebd359e322392ee6ce513f51db8576ae56fff70a6e2eedb3a62116711e3898d5fef49e2b09d23829620b0f35899a88746af195f61e48b8ec26b5d9a50ec3 + languageName: node + linkType: hard + "vfile-message@npm:^2.0.0": version: 2.0.4 resolution: "vfile-message@npm:2.0.4" @@ -19090,16 +14991,6 @@ __metadata: languageName: node linkType: hard -"vfile-message@npm:^3.0.0": - version: 3.1.4 - resolution: "vfile-message@npm:3.1.4" - dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - checksum: 10c0/c4ccf9c0ced92d657846fd067fefcf91c5832cdbe2ecc431bb67886e8c959bf7fc05a9dbbca5551bc34c9c87a0a73854b4249f65c64ddfebc4d59ea24a18b996 - languageName: node - linkType: hard - "vfile-message@npm:^4.0.0": version: 4.0.2 resolution: "vfile-message@npm:4.0.2" @@ -19122,18 +15013,6 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^5.0.0, vfile@npm:^5.3.2": - version: 5.3.7 - resolution: "vfile@npm:5.3.7" - dependencies: - "@types/unist": "npm:^2.0.0" - is-buffer: "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/c36bd4c3f16ec0c6cbad0711ca99200316bbf849d6b07aa4cb5d9062cc18ae89249fe62af9521926e9659c0e6bc5c2c1da0fe26b41fb71e757438297e1a41da4 - languageName: node - linkType: hard - "vfile@npm:^6.0.0": version: 6.0.1 resolution: "vfile@npm:6.0.1" @@ -19145,6 +15024,16 @@ __metadata: languageName: node linkType: hard +"vfile@npm:^6.0.1": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef + languageName: node + linkType: hard + "vm-browserify@npm:^1.1.2": version: 1.1.2 resolution: "vm-browserify@npm:1.1.2" @@ -19169,24 +15058,10 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.0.3": - version: 3.3.3 - resolution: "web-streams-polyfill@npm:3.3.3" - checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f - languageName: node - linkType: hard - -"web-vitals@npm:^4.0.1": - version: 4.2.0 - resolution: "web-vitals@npm:4.2.0" - checksum: 10c0/a591cd77a70da934109ffa6738c0382a232685d658f76317c47a2d3445f7ef12a62f7b7fa3931a85b181607854e16248b993926f5af115c47f12982cd4dbc443 - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db +"web-vitals@npm:^5.1.0": + version: 5.1.0 + resolution: "web-vitals@npm:5.1.0" + checksum: 10c0/1af22ddbe2836ba880fcb492cfba24c3349f4760ebb5e92f38324ea67bca3c4dbb9c86f1a32af4795b6115cdaf98b90000cf3a7402bffef6e8c503f0d1b2e706 languageName: node linkType: hard @@ -19226,14 +15101,7 @@ __metadata: languageName: node linkType: hard -"webpack-virtual-modules@npm:^0.5.0": - version: 0.5.0 - resolution: "webpack-virtual-modules@npm:0.5.0" - checksum: 10c0/0742e069cd49d91ccd0b59431b3666903d321582c1b1062fa6bdae005c3538af55ff8787ea5eafbf72662f3496d3a879e2c705d55ca0af8283548a925be18484 - languageName: node - linkType: hard - -"webpack-virtual-modules@npm:^0.6.1": +"webpack-virtual-modules@npm:^0.6.0, webpack-virtual-modules@npm:^0.6.2": version: 0.6.2 resolution: "webpack-virtual-modules@npm:0.6.2" checksum: 10c0/5ffbddf0e84bf1562ff86cf6fcf039c74edf09d78358a6904a09bbd4484e8bb6812dc385fe14330b715031892dcd8423f7a88278b57c9f5002c84c2860179add @@ -19276,62 +15144,7 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" - dependencies: - is-bigint: "npm:^1.0.1" - is-boolean-object: "npm:^1.1.0" - is-number-object: "npm:^1.0.4" - is-string: "npm:^1.0.5" - is-symbol: "npm:^1.0.3" - checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e - languageName: node - linkType: hard - -"which-builtin-type@npm:^1.1.3": - version: 1.1.3 - resolution: "which-builtin-type@npm:1.1.3" - dependencies: - function.prototype.name: "npm:^1.1.5" - has-tostringtag: "npm:^1.0.0" - is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.0.5" - is-finalizationregistry: "npm:^1.0.2" - is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.1.4" - is-weakref: "npm:^1.0.2" - isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.9" - checksum: 10c0/2b7b234df3443b52f4fbd2b65b731804de8d30bcc4210ec84107ef377a81923cea7f2763b7fb78b394175cea59118bf3c41b9ffd2d643cb1d748ef93b33b6bd4 - languageName: node - linkType: hard - -"which-collection@npm:^1.0.1": - version: 1.0.2 - resolution: "which-collection@npm:1.0.2" - dependencies: - is-map: "npm:^2.0.3" - is-set: "npm:^2.0.3" - is-weakmap: "npm:^2.0.2" - is-weakset: "npm:^2.0.3" - checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: @@ -19381,20 +15194,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.5": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - -"wordwrap@npm:^1.0.0": - version: 1.0.0 - resolution: "wordwrap@npm:1.0.0" - checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 - languageName: node - linkType: hard - "workerd@npm:1.20250718.0": version: 1.20250718.0 resolution: "workerd@npm:1.20250718.0" @@ -19494,7 +15293,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.18.0, ws@npm:^8.2.3": +"ws@npm:8.18.0": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -19509,6 +15308,30 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.0": + version: 8.19.0 + resolution: "ws@npm:8.19.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4741d9b9bc3f9c791880882414f96e36b8b254e34d4b503279d6400d9a4b87a033834856dbdd94ee4b637944df17ea8afc4bce0ff4a1560d2166be8855da5b04 + languageName: node + linkType: hard + +"wsl-utils@npm:^0.1.0": + version: 0.1.0 + resolution: "wsl-utils@npm:0.1.0" + dependencies: + is-wsl: "npm:^3.1.0" + checksum: 10c0/44318f3585eb97be994fc21a20ddab2649feaf1fbe893f1f866d936eea3d5f8c743bec6dc02e49fbdd3c0e69e9b36f449d90a0b165a4f47dd089747af4cf2377 + languageName: node + linkType: hard + "xtend@npm:^4.0.2": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -19537,14 +15360,16 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0": - version: 1.10.2 - resolution: "yaml@npm:1.10.2" - checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f +"yaml@npm:^2.0.0": + version: 2.8.2 + resolution: "yaml@npm:2.8.2" + bin: + yaml: bin.mjs + checksum: 10c0/703e4dc1e34b324aa66876d63618dcacb9ed49f7e7fe9b70f1e703645be8d640f68ab84f12b86df8ac960bac37acf5513e115de7c970940617ce0343c8c9cd96 languageName: node linkType: hard -"yaml@npm:^2.3.1, yaml@npm:~2.4.2": +"yaml@npm:~2.4.2": version: 2.4.5 resolution: "yaml@npm:2.4.5" bin: @@ -19553,15 +15378,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.3.4": - version: 2.4.3 - resolution: "yaml@npm:2.4.3" - bin: - yaml: bin.mjs - checksum: 10c0/b4a9dea34265f000402c909144ac310be42c4526dfd16dff1aee2b04a0d94051713651c0cd2b0a3d8109266997422120f16a7934629d12f22dc215839ebbeccf - languageName: node - linkType: hard - "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -19569,7 +15385,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.7.2": +"yargs@npm:^17.0.0": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -19584,13 +15400,6 @@ __metadata: languageName: node linkType: hard -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - "yocto-queue@npm:^1.0.0": version: 1.0.0 resolution: "yocto-queue@npm:1.0.0" @@ -19616,10 +15425,30 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.21.4, zod@npm:^3.23.8": - version: 3.23.8 - resolution: "zod@npm:3.23.8" - checksum: 10c0/8f14c87d6b1b53c944c25ce7a28616896319d95bc46a9660fe441adc0ed0a81253b02b5abdaeffedbeb23bdd25a0bf1c29d2c12dd919aef6447652dd295e3e69 +"zod@npm:^3.24.0": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c + languageName: node + linkType: hard + +"zustand@npm:^4.4.0": + version: 4.5.7 + resolution: "zustand@npm:4.5.7" + dependencies: + use-sync-external-store: "npm:^1.2.2" + peerDependencies: + "@types/react": ">=16.8" + immer: ">=9.0.6" + react: ">=16.8" + peerDependenciesMeta: + "@types/react": + optional: true + immer: + optional: true + react: + optional: true + checksum: 10c0/55559e37a82f0c06cadc61cb08f08314c0fe05d6a93815e41e3376130c13db22a5017cbb0cd1f018c82f2dad0051afe3592561d40f980bd4082e32005e8a950c languageName: node linkType: hard