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/.env.production b/.env.production new file mode 100644 index 00000000..83613afb --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +NEXT_PUBLIC_APP_URL=https://animata.design 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..03d1a72f 100644 --- a/.gitignore +++ b/.gitignore @@ -35,8 +35,13 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts -.contentlayer +.velite *storybook.log public/preview +public/r +public/docs +public/llms.txt +public/llms-full.txt _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..11c450c1 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,8 +179,8 @@ function FeatureEight() { export default function Eight() { return ( - <div className="storybook-fix w-full"> - <div className="grid grid-cols-1 gap-3 sm:grid-cols-4 sm:grid-rows-3"> + <div className="full-content w-full min-w-0"> + <div className="grid w-full min-w-0 grid-cols-1 gap-3 sm:grid-cols-4 sm:grid-rows-3"> <FeatureOne /> <FeatureTwo /> <FeatureThree /> 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..d4fa0b5d 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> @@ -126,7 +126,7 @@ function ConicGradient() { export default function Gradient() { return ( <div className="bg-zinc-950 p-4"> - <div className="grid grid-cols-1 gap-4 text-black sm:grid-cols-3 lg:grid-cols-3"> + <div className="grid w-full min-w-0 grid-cols-1 gap-4 text-black sm:grid-cols-3"> <GetGradient /> <LinearGradient /> <RadialGradient /> 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/bento-grid/three.tsx b/animata/bento-grid/three.tsx index fb548cc5..5318f428 100644 --- a/animata/bento-grid/three.tsx +++ b/animata/bento-grid/three.tsx @@ -48,7 +48,7 @@ function FeatureThree() { export default function Three() { return ( - <div className="grid grid-cols-1 grid-rows-1 gap-3 sm:grid-cols-2 sm:grid-rows-2"> + <div className="grid w-full min-w-0 grid-cols-1 grid-rows-1 gap-3 sm:grid-cols-2 sm:grid-rows-2"> <FeatureOne /> <FeatureTwo /> <FeatureThree /> 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/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..7e02f0e7 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", @@ -20,10 +20,10 @@ export const Primary: Story = { "https://images.unsplash.com/photo-1537498425277-c283d32ef9db?q=80&w=878&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", secondImage: "https://images.unsplash.com/photo-1531297484001-80022131f5a1?q=80&w=1120&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", - firsttitle: "First", - secondtitle: "second", - firstdescription: "This is first image", - seconddescritpion: "This is second image", + firstTitle: "First", + secondTitle: "second", + firstDescription: "This is first image", + secondDescription: "This is second image", story: "This component allows users to toggle between two different views by clicking a button. It displays a card that flips to show either the first or second set of images, titles, and descriptions.", }, diff --git a/animata/card/swap-card.tsx b/animata/card/swap-card.tsx index 65b87efb..953238d9 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"; @@ -11,10 +11,10 @@ interface SwapCardProps { secondImage?: string; firstImageClass?: string; secondImageClass?: string; - firsttitle?: string; - secondtitle?: string; - firstdescription?: string; - seconddescritpion?: string; + firstTitle?: string; + secondTitle?: string; + firstDescription?: string; + secondDescription?: string; story?: string; } @@ -23,10 +23,10 @@ export default function SwapCard({ secondImage = "", firstImageClass, secondImageClass, - firstdescription = "first description", - seconddescritpion = "second description", - firsttitle = "first title", - secondtitle = "second title", + firstDescription = "first description", + secondDescription = "second description", + firstTitle = "first title", + secondTitle = "second title", story = "Story", }: SwapCardProps) { const [isFirstBoxVisible, setIsFirstBoxVisible] = useState(true); @@ -38,7 +38,7 @@ export default function SwapCard({ return ( <div className="h-[50%] w-96 rounded-md bg-gray-100 p-4"> <div className="flex h-full w-full gap-4 overflow-hidden"> - <button onClick={handleSwap} className="m-auto h-12 w-14 border-2 p-3"> + <button onClick={handleSwap} type="button" className="m-auto h-12 w-14 border-2 p-3"> {isFirstBoxVisible ? <LaptopMinimal color="black" /> : <LocateOff color="black" />} </button> <div className="relative h-80 w-80 overflow-hidden bg-none transition-transform duration-700 ease-in-out"> @@ -51,8 +51,8 @@ export default function SwapCard({ > <FlipCard className="h-72" - title={firsttitle} - description={firstdescription} + title={firstTitle} + description={firstDescription} image={firstImage} /> </div> @@ -65,15 +65,20 @@ export default function SwapCard({ > <FlipCard className="h-72" - title={secondtitle} - description={seconddescritpion} + title={secondTitle} + description={secondDescription} image={secondImage} /> </div> </div> </div> <div className="mt-4 font-bold text-black"> - <WaveReveal text={story} className="md:text-md text-md" /> + <WaveReveal + mode="word" + duration="300ms" + text={story} + className="md:text-md text-md font-medium" + /> </div> </div> ); 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..7945b710 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,34 @@ 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; + } + .group\\/marquee:hover .marquee-pause-on-hover { + animation-play-state: paused; + } + `}</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, + "marquee-pause-on-hover": pauseOnHover, + "marquee-horizontal flex-row": !vertical, + "marquee-vertical flex-col": vertical, })} + style={reverse ? { animationDirection: "reverse" } : undefined} > {children} </div> @@ -72,8 +91,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/list/flower-menu.stories.tsx b/animata/fabs/flower-menu.stories.tsx similarity index 87% rename from animata/list/flower-menu.stories.tsx rename to animata/fabs/flower-menu.stories.tsx index ace2b1fc..6a5d6574 100644 --- a/animata/list/flower-menu.stories.tsx +++ b/animata/fabs/flower-menu.stories.tsx @@ -1,3 +1,4 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { Codepen, Facebook, @@ -8,12 +9,10 @@ import { Twitter, Youtube, } from "lucide-react"; - -import FlowerMenu from "@/animata/list/flower-menu"; -import { Meta, StoryObj } from "@storybook/react"; +import FlowerMenu from "@/animata/fabs/flower-menu"; const meta = { - title: "List/Flower Menu", + title: "Fabs/Flower Menu", component: FlowerMenu, parameters: { layout: "centered", diff --git a/animata/list/flower-menu.tsx b/animata/fabs/flower-menu.tsx similarity index 94% rename from animata/list/flower-menu.tsx rename to animata/fabs/flower-menu.tsx index 865150d4..dc51bd03 100644 --- a/animata/list/flower-menu.tsx +++ b/animata/fabs/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/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..561dbf92 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", @@ -50,7 +50,7 @@ export const Primary: Story = { }, render: (args) => { return ( - <> + <div className="flex flex-col gap-2"> <strong className="text-blue-500">Bar chart</strong> <div className="group rounded border border-blue-100 bg-white p-2"> {/** The height & width are important */} @@ -58,7 +58,7 @@ export const Primary: Story = { <BarChart {...args} /> </div> </div> - </> + </div> ); }, }; @@ -167,7 +167,7 @@ export const WithFilledBackground: Story = { }, render: (args) => { return ( - <> + <div className="flex flex-col gap-2"> <strong className="text-blue-500">Bar chart</strong> <div className="group rounded border border-blue-100 bg-white p-2"> {/** The height & width are important */} @@ -175,7 +175,7 @@ export const WithFilledBackground: Story = { <BarChart {...args} /> </div> </div> - </> + </div> ); }, }; 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..f0be6d97 100644 --- a/animata/list/avatar-list.tsx +++ b/animata/list/avatar-list.tsx @@ -39,13 +39,22 @@ const data = [ }, ]; +interface AvatarData { + name: string; + position: string; + image: string; +} + export default function AvatarList({ size = "md", className, + items, }: { size?: "sm" | "md" | "lg"; className?: string; + items?: AvatarData[]; }) { + const avatars = items ?? data; const sizes: Record<"sm" | "md" | "lg", string> = { lg: "m-3 size-6", md: "m-2 size-12", @@ -54,13 +63,16 @@ export default function AvatarList({ return ( <div className={cn("flex py-12", className)}> - {data.map((item) => ( + {avatars.map((item, index) => ( <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" + key={`${item.name}-${index}`} + className={cn( + "group/avatar relative z-0 flex scale-100 items-center transition duration-200 ease-in-out hover:z-10 hover:scale-110", + index > 0 && "-ml-3", + )} > <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 +80,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/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..aa90064e 100644 --- a/animata/progress/animatedtimeline.tsx +++ b/animata/progress/animatedtimeline.tsx @@ -1,7 +1,7 @@ "use client"; -import React, { useState } from "react"; -import { motion } from "framer-motion"; +import type React from "react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; @@ -13,18 +13,6 @@ export interface TimelineEvent { [key: string]: unknown; // Allow additional custom fields } -interface TimelineItemProps { - event: TimelineEvent; - isActive: boolean; - isFirst: boolean; - isLast: boolean; - onHover: (index: number | null) => void; - index: number; - activeIndex: number | null; - styles: TimelineStyles; - customRender?: (event: TimelineEvent) => React.ReactNode; -} - interface TimelineStyles { lineColor: string; activeLineColor: string; @@ -32,67 +20,138 @@ interface TimelineStyles { activeDotColor: string; dotSize: string; titleColor: string; + activeTitleColor: string; descriptionColor: string; dateColor: string; } +const DOT_DURATION = 0.12; +const LINE_DURATION = 0.15; +const STAGGER = 0.08; +const LINE_OFFSET = 0.04; + +function computeDelays( + index: number, + active: number | null, + prev: number | null, +): { dotDelay: number; lineDelay: number } { + const a = active ?? -1; + const p = prev ?? -1; + + // Extending: top-to-bottom cascade from the previous frontier + if (a > p) { + if (p < 0) { + return { dotDelay: index * STAGGER, lineDelay: index * STAGGER + LINE_OFFSET }; + } + return { + dotDelay: index > p ? (index - p) * STAGGER : 0, + lineDelay: index === p ? 0 : index > p ? (index - p) * STAGGER + LINE_OFFSET : 0, + }; + } + + // Retracting: bottom-to-top reverse cascade + if (a < p) { + return { + dotDelay: index <= p && index > a ? (p - index) * STAGGER : 0, + lineDelay: index >= Math.max(a, 0) && index < p ? (p - 1 - index) * STAGGER + LINE_OFFSET : 0, + }; + } + + return { dotDelay: 0, lineDelay: 0 }; +} + +interface TimelineItemProps { + event: TimelineEvent; + index: number; + isDotActive: boolean; + isLineActive: boolean; + isLast: boolean; + dotDelay: number; + lineDelay: number; + onEnter: () => void; + onClick?: () => void; + styles: TimelineStyles; + customRender?: (event: TimelineEvent) => React.ReactNode; +} + const TimelineItem: React.FC<TimelineItemProps> = ({ event, - isActive, + isDotActive, + isLineActive, isLast, - onHover, - index, - activeIndex, + dotDelay, + lineDelay, + onEnter, + onClick, styles, customRender, }) => { - const fillDelay = activeIndex !== null ? Math.max(0, (index - 1) * 0.1) : 0; - const fillDuration = activeIndex !== null ? Math.max(0.2, 0.5 - index * 0.1) : 0.5; + const dotStyle: React.CSSProperties = { + width: styles.dotSize, + height: styles.dotSize, + borderColor: isDotActive ? styles.activeDotColor : styles.dotColor, + backgroundColor: isDotActive ? styles.activeDotColor : "hsl(var(--background))", + transform: isDotActive ? "scale(1.2)" : "scale(1)", + transitionProperty: "background-color, border-color, transform", + transitionDuration: `${DOT_DURATION}s`, + transitionDelay: `${dotDelay}s`, + transitionTimingFunction: "ease", + }; + + const lineFillStyle: React.CSSProperties = { + backgroundColor: styles.activeLineColor, + transform: isLineActive ? "scaleY(1)" : "scaleY(0)", + transformOrigin: "top", + transitionProperty: "transform", + transitionDuration: `${LINE_DURATION}s`, + transitionDelay: `${lineDelay}s`, + transitionTimingFunction: "ease-in-out", + }; + + const titleStyle: React.CSSProperties = { + color: isDotActive ? styles.activeTitleColor : styles.titleColor, + transitionProperty: "color", + transitionDuration: `${DOT_DURATION}s`, + transitionDelay: `${dotDelay}s`, + }; + + const clickable = Boolean(onClick); return ( - <motion.div + // biome-ignore lint/a11y/noStaticElementInteractions: hover drives visual state; click is optional and handled with keyboard support when present + <div className="flex last:mb-0" - onHoverStart={() => onHover(index)} - onHoverEnd={() => onHover(null)} - initial={{ opacity: 0, y: 50 }} - animate={{ opacity: 1, y: 0 }} - transition={{ duration: 0.5 }} + onMouseEnter={onEnter} + onFocus={onEnter} + onClick={onClick} + onKeyDown={ + clickable + ? (e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + onClick?.(); + } + } + : undefined + } + role={clickable ? "button" : undefined} + tabIndex={clickable ? 0 : undefined} > <div className="relative mr-4 flex flex-col items-center"> <div - className={`absolute ${isLast ? "hidden" : "block"} bottom-0 top-0 w-1`} + className={cn("absolute bottom-0 top-0 w-1", isLast ? "hidden" : "block")} style={{ backgroundColor: styles.lineColor }} > - <motion.div - className="w-full origin-top" - initial={{ scaleY: 0 }} - animate={{ scaleY: isActive ? 1 : 0 }} - transition={{ duration: fillDuration, delay: fillDelay }} - style={{ height: "100%", backgroundColor: styles.activeLineColor }} - /> + <div className="h-full w-full" style={lineFillStyle} /> </div> - <motion.div - className="relative z-10 rounded-full border-4" - style={{ - width: styles.dotSize, - height: styles.dotSize, - borderColor: isActive ? styles.activeDotColor : styles.dotColor, - backgroundColor: isActive ? styles.activeDotColor : "Background", - }} - animate={{ - scale: isActive ? 1.2 : 1, - backgroundColor: isActive ? styles.activeDotColor : "Background", - borderColor: isActive ? styles.activeDotColor : styles.dotColor, - }} - transition={{ duration: fillDuration, delay: fillDelay }} - /> + <div className="relative z-10 rounded-full border-4" style={dotStyle} /> </div> - <div className={cn("flex-grow leading-5", !isLast && "mb-3")}> + <div className={cn("grow leading-5", !isLast && "mb-3")}> {customRender ? ( customRender(event) ) : ( <> - <h3 className="text-lg font-semibold" style={{ color: styles.titleColor }}> + <h3 className="text-lg font-semibold" style={titleStyle}> {event.title} </h3> <p style={{ color: styles.descriptionColor }}>{event.description}</p> @@ -102,7 +161,7 @@ const TimelineItem: React.FC<TimelineItemProps> = ({ </> )} </div> - </motion.div> + </div> ); }; @@ -123,6 +182,7 @@ const defaultStyles: TimelineStyles = { activeDotColor: "#22c55e", dotSize: "1.5rem", titleColor: "inherit", + activeTitleColor: "#22c55e", descriptionColor: "inherit", dateColor: "inherit", }; @@ -136,31 +196,41 @@ export function AnimatedTimeline({ onEventClick, initialActiveIndex, }: AnimatedTimelineProps) { - const [activeIndex, setActiveIndex] = useState<number | null>(initialActiveIndex ?? null); + const [state, setState] = useState<{ active: number | null; prev: number | null }>({ + active: initialActiveIndex ?? null, + prev: null, + }); const styles = { ...defaultStyles, ...customStyles }; - const handleHover = (index: number | null) => { - setActiveIndex(index); + const setActive = (index: number | null) => { + setState((s) => (s.active === index ? s : { active: index, prev: s.active })); onEventHover?.(index !== null ? events[index] : null); }; return ( - <div className={`relative py-4 ${className}`}> - {events.map((event, index) => ( - <div key={event.id} onClick={() => onEventClick?.(event)}> + // biome-ignore lint/a11y/noStaticElementInteractions: mouseLeave only clears hover state on the list container + <div className={`relative py-4 ${className}`} onMouseLeave={() => setActive(null)}> + {events.map((event, index) => { + const isDotActive = state.active !== null && index <= state.active; + const isLineActive = state.active !== null && index < state.active; + const { dotDelay, lineDelay } = computeDelays(index, state.active, state.prev); + return ( <TimelineItem + key={event.id} event={event} - isActive={activeIndex !== null && index <= activeIndex} - isFirst={index === 0} - isLast={index === events.length - 1} - onHover={handleHover} index={index} - activeIndex={activeIndex} + isDotActive={isDotActive} + isLineActive={isLineActive} + isLast={index === events.length - 1} + dotDelay={dotDelay} + lineDelay={lineDelay} + onEnter={() => setActive(index)} + onClick={onEventClick ? () => onEventClick(event) : undefined} styles={styles} customRender={customEventRender} /> - </div> - ))} + ); + })} </div> ); } 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/card/fluid-tabs.stories.tsx b/animata/tabs/fluid-tabs.stories.tsx similarity index 73% rename from animata/card/fluid-tabs.stories.tsx rename to animata/tabs/fluid-tabs.stories.tsx index 6f814c98..89257d22 100644 --- a/animata/card/fluid-tabs.stories.tsx +++ b/animata/tabs/fluid-tabs.stories.tsx @@ -1,5 +1,5 @@ -import FluidTabs from "@/animata/card/fluid-tabs"; -import { Meta, StoryObj } from "@storybook/react"; +import type { Meta, StoryObj } from "@storybook/react"; +import FluidTabs from "@/animata/tabs/fluid-tabs"; const meta = { title: "Tabs/Fluid Tabs", diff --git a/animata/card/fluid-tabs.tsx b/animata/tabs/fluid-tabs.tsx similarity index 97% rename from animata/card/fluid-tabs.tsx rename to animata/tabs/fluid-tabs.tsx index b4b03b99..4b004349 100644 --- a/animata/card/fluid-tabs.tsx +++ b/animata/tabs/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/container/shift-tabs.stories.tsx b/animata/tabs/shift-tabs.stories.tsx similarity index 70% rename from animata/container/shift-tabs.stories.tsx rename to animata/tabs/shift-tabs.stories.tsx index ab918e8b..0649ba41 100644 --- a/animata/container/shift-tabs.stories.tsx +++ b/animata/tabs/shift-tabs.stories.tsx @@ -1,8 +1,8 @@ -import ShiftTabs from "@/animata/container/shift-tabs"; -import { Meta, StoryObj } from "@storybook/react"; +import type { Meta, StoryObj } from "@storybook/react"; +import ShiftTabs from "@/animata/tabs/shift-tabs"; const meta = { - title: "Container/Shift Tabs", + title: "Tabs/Shift Tabs", component: ShiftTabs, parameters: { layout: "centered", diff --git a/animata/container/shift-tabs.tsx b/animata/tabs/shift-tabs.tsx similarity index 79% rename from animata/container/shift-tabs.tsx rename to animata/tabs/shift-tabs.tsx index b4aa1d8b..1dd21ff6 100644 --- a/animata/container/shift-tabs.tsx +++ b/animata/tabs/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/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 new file mode 100644 index 00000000..9d92bf1c --- /dev/null +++ b/animata/text/circular-text.stories.tsx @@ -0,0 +1,23 @@ +import type { Meta, StoryObj } from "@storybook/react"; +import CircularText from "@/animata/text/circular-text"; + +const meta = { + title: "Text/Circular Text", + component: CircularText, + parameters: { + layout: "centered", + }, + tags: ["autodocs"], + argTypes: {}, +} satisfies Meta<typeof CircularText>; + +export default meta; +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 new file mode 100644 index 00000000..04ec4ed7 --- /dev/null +++ b/animata/text/circular-text.tsx @@ -0,0 +1,48 @@ +import { motion } from "motion/react"; +import { useMemo } from "react"; + +import { cn } from "@/lib/utils"; + +export default function CircularText({ + text, + spinDuration = 30, + radius = 5, + className = "", +}: { + text: string; + spinDuration?: number; + radius?: number; + className?: string; +}) { + const characters = useMemo(() => [...text], [text]); + return ( + <motion.div + key={spinDuration} + className={cn( + "relative mx-auto flex h-[200px] w-[200px] origin-center cursor-pointer items-center justify-center rounded-full text-center font-bold text-foreground", + className, + )} + initial={{ rotate: 0 }} + animate={{ rotate: 360 }} + transition={{ + ease: "linear", + duration: spinDuration, + repeat: Infinity, + }} + > + {characters.map((char, index) => { + const angle = (360 / characters.length) * index; + const transform = `rotate(${angle}deg) translateY(-${radius}px)`; + return ( + <span + key={`${char}-${index}`} + style={{ transform, WebkitTransform: transform }} + className="absolute inset-0 inline-block font-medium" + > + {char} + </span> + ); + })} + </motion.div> + ); +} 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..9e02c201 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,10 +71,18 @@ 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]); - return <span ref={ref} className={cn("text-4xl font-bold text-foreground", className)} />; + const initialDisplay = format + ? format(isGoingUp ? 0 : targetValue) + : String(isGoingUp ? 0 : targetValue); + + return ( + <span ref={ref} className={cn("text-4xl font-bold text-foreground", className)}> + {initialDisplay} + </span> + ); } 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..f72adfb4 100644 --- a/animata/text/gibberish-text.tsx +++ b/animata/text/gibberish-text.tsx @@ -32,16 +32,14 @@ const Letter = ({ letter, className }: { letter: string; className?: string }) = }, [letter]); return ( - <span className={cn("whitespace-pre text-foreground", className)}> + <span + className={cn("inline-block w-[1ch] text-center whitespace-pre text-foreground", className)} + > {String.fromCharCode(code)} </span> ); }; -/** - * 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..bcb75aad 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"; @@ -9,7 +9,7 @@ interface JitteryTextProps { } export default function JitterText({ text, duration, className }: JitteryTextProps) { - const animationDuration = 0.6 || duration; + const animationDuration = duration || 0.6; return ( <div> <motion.span 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..7fdaeb9c 100644 --- a/animata/text/ticker.tsx +++ b/animata/text/ticker.tsx @@ -1,7 +1,7 @@ "use client"; +import { motion, useInView, useMotionValue, useSpring } from "motion/react"; import { useCallback, useEffect, useRef } from "react"; -import { motion, useMotionValue, useSpring } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -12,6 +12,7 @@ function Number({ delay, className, getHeight, + isInView, }: { value: string; index: number; @@ -19,6 +20,7 @@ function Number({ className?: string; total: number; delay?: number; + isInView: boolean; }) { const numberRef = useRef<HTMLDivElement>(null); const motionValue = useMotionValue(0); @@ -30,7 +32,7 @@ function Number({ const isRaw = String(+value) !== value; useEffect(() => { - if (isRaw || !numberRef.current) { + if (!isInView || isRaw || !numberRef.current) { return; } @@ -48,7 +50,7 @@ function Number({ const timer = setTimeout(update, (total - index) * Math.floor(Math.random() * delay)); return () => clearTimeout(timer); - }, [value, isRaw, springValue, getHeight, index, total, delay]); + }, [value, isRaw, isInView, springValue, getHeight, index, total, delay]); if (isRaw) { return <span>{value}</span>; @@ -83,6 +85,7 @@ export default function Ticker({ }) { const parts = String(value).trim().split(""); const divRef = useRef<HTMLDivElement>(null); + const isInView = useInView(divRef, { once: true }); const getHeight = useCallback(() => divRef.current?.getBoundingClientRect().height ?? 0, []); return ( @@ -102,6 +105,7 @@ export default function Ticker({ total={parts.length} className={numberClassName} delay={delay} + isInView={isInView} /> ))} </div> 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..89c73a5e 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"; @@ -92,7 +92,7 @@ const Word = ({ }), }} > - {letter} + {letter === " " ? "\u00A0" : letter} </span> ); })} @@ -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, ); @@ -158,7 +158,7 @@ const createAnimatedNodes = (args: ReducedValue, word: string, index: number): R length={length} delay={delay} /> - {!isLast && " "} + {!isLast && "\u00A0"} </span> ); 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..871a3cf2 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"> - {spending.map((item) => ( + <div className="group/expense flex flex-1 items-end justify-between"> + {spending.map((item, index) => ( <div - key={item.day} - className="flex cursor-pointer flex-col items-center transition-opacity hover:!opacity-100 group-hover:opacity-50" + key={index} + 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/(main)/_landing/beam-cta.tsx b/app/(main)/_landing/beam-cta.tsx new file mode 100644 index 00000000..6a929005 --- /dev/null +++ b/app/(main)/_landing/beam-cta.tsx @@ -0,0 +1,43 @@ +"use client"; + +import Link from "next/link"; + +import AnimatedBeam from "@/animata/background/animated-beam"; +import { Icons } from "@/components/icons"; +import { siteConfig } from "@/config/site"; + +export default function BeamCta() { + return ( + <section> + <AnimatedBeam className="rounded-none"> + <div className="flex min-h-[360px] items-center justify-center px-4 py-16"> + <div className="flex max-w-xl flex-col items-center text-center"> + <h2 className="text-[clamp(32px,5vw,56px)] font-bold leading-tight tracking-tight text-white"> + Free & Open Source + </h2> + <p className="mt-4 text-[17px] leading-[1.47] text-white/70"> + 194+ components, MIT licensed. Copy, paste, ship. + </p> + <div className="mt-10 flex flex-col items-center gap-4 sm:flex-row"> + <Link + href="/docs" + className="inline-flex items-center justify-center rounded-full bg-white px-8 py-3.5 text-[17px] font-medium text-zinc-950 transition-opacity hover:opacity-90" + > + Browse Components + </Link> + <Link + href={siteConfig.links.github} + target="_blank" + rel="noreferrer" + className="inline-flex items-center gap-2 text-[17px] font-medium text-white/80 transition-colors hover:text-white" + > + <Icons.gitHub className="size-4" /> + View on GitHub → + </Link> + </div> + </div> + </div> + </AnimatedBeam> + </section> + ); +} diff --git a/app/(main)/_landing/call-to-action.tsx b/app/(main)/_landing/call-to-action.tsx new file mode 100644 index 00000000..32f3b4e9 --- /dev/null +++ b/app/(main)/_landing/call-to-action.tsx @@ -0,0 +1,63 @@ +"use client"; + +import { useInView } from "motion/react"; +import Link from "next/link"; +import { useEffect, useRef, useState } from "react"; + +import GibberishText from "@/animata/text/gibberish-text"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; +import { Icons } from "@/components/icons"; +import RemountOnMouseIn from "@/components/remount-on-mouse-in"; +import { siteConfig } from "@/config/site"; + +export default function CallToActionSection() { + const headerRef = useRef<HTMLHeadingElement>(null); + const isInView = useInView(headerRef); + const [key, setKey] = useState(0); + + useEffect(() => { + if (isInView) { + setKey((prev) => prev + 1); + } + }, [isInView]); + + return ( + <section className="border-t border-border py-20 sm:py-24 lg:py-32"> + <div className="mx-auto flex max-w-2xl flex-col items-center px-6 text-center"> + <ComponentLinkWrapper link="/docs/text/gibberish-text" className="mx-auto"> + <h2 + ref={headerRef} + className="px-0 py-2 text-center text-[clamp(22px,4vw,32px)] font-semibold tracking-tight text-foreground" + > + <RemountOnMouseIn> + <GibberishText key={`in_${key}`} text="Start building now" /> + </RemountOnMouseIn> + </h2> + </ComponentLinkWrapper> + + <p className="mt-4 max-w-md text-balance text-[15px] leading-relaxed text-muted-foreground"> + Free forever. One command to add any component. The polish your users notice — without the + weeks of work. + </p> + + <div className="mt-8 flex flex-col items-center gap-4 sm:flex-row"> + <Link + href="/docs" + className="inline-flex items-center justify-center rounded-full bg-[hsl(var(--accent))] px-8 py-3.5 text-[16px] font-semibold text-white transition-opacity hover:opacity-90" + > + Get started now + </Link> + <Link + href={siteConfig.links.github} + target="_blank" + rel="noreferrer" + className="inline-flex items-center gap-2 text-[15px] font-medium text-muted-foreground transition-colors hover:text-foreground" + > + <Icons.gitHub className="size-4" /> + View on GitHub → + </Link> + </div> + </div> + </section> + ); +} diff --git a/app/(main)/_landing/component-gallery.tsx b/app/(main)/_landing/component-gallery.tsx new file mode 100644 index 00000000..141ca334 --- /dev/null +++ b/app/(main)/_landing/component-gallery.tsx @@ -0,0 +1,76 @@ +"use client"; + +import Link from "next/link"; + +import { cn } from "@/lib/utils"; + +interface GalleryCard { + name: string; + href: string; + children: React.ReactNode; +} + +function GalleryItem({ card }: { card: GalleryCard }) { + return ( + <div + className={cn( + "w-[340px] flex-shrink-0 snap-start sm:w-[380px]", + "overflow-hidden rounded-[18px] bg-[hsl(var(--surface-card))] shadow-[0_1px_3px_rgba(0,0,0,0.04),0_4px_12px_rgba(0,0,0,0.06)] transition-shadow duration-300", + "hover:shadow-[0_2px_8px_rgba(0,0,0,0.06),0_8px_24px_rgba(0,0,0,0.10)]", + )} + > + <div className="flex h-[240px] items-center justify-center overflow-hidden border-b border-border bg-foreground/[0.02] p-4"> + {card.children} + </div> + <div className="p-4"> + <Link + href={card.href} + className="text-sm font-semibold text-foreground hover:text-[hsl(var(--link))]" + > + {card.name} + </Link> + </div> + </div> + ); +} + +export default function ComponentGallery({ + eyebrow, + title, + seeAllHref, + cards, + className, +}: { + eyebrow: string; + title: string; + seeAllHref: string; + cards: GalleryCard[]; + className?: string; +}) { + return ( + <div className={cn("container mx-auto px-4", className)}> + <div className="mb-10 flex items-end justify-between"> + <div> + <p className="text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground"> + {eyebrow} + </p> + <h2 className="mt-2 text-[clamp(28px,5vw,44px)] font-semibold tracking-tight text-foreground"> + {title} + </h2> + </div> + <Link + href={seeAllHref} + className="text-sm font-medium text-[hsl(var(--link))] transition-colors hover:text-[hsl(var(--link-hover))]" + > + See all → + </Link> + </div> + + <div className="flex snap-x snap-mandatory gap-5 overflow-x-auto pb-4 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden"> + {cards.map((card) => ( + <GalleryItem key={card.href} card={card} /> + ))} + </div> + </div> + ); +} diff --git a/app/(main)/_landing/exit-intent-modal.tsx b/app/(main)/_landing/exit-intent-modal.tsx new file mode 100644 index 00000000..8bff4602 --- /dev/null +++ b/app/(main)/_landing/exit-intent-modal.tsx @@ -0,0 +1,110 @@ +"use client"; + +import * as DialogPrimitive from "@radix-ui/react-dialog"; +import { Cross2Icon } from "@radix-ui/react-icons"; +import { ArrowUpRight, Loader2, Mail } from "lucide-react"; +import type React from "react"; + +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { siteConfig } from "@/config/site"; +import useExitIntent from "@/hooks/use-exit-intent"; +import useNewsletterSubscription from "@/hooks/use-newsletter-subscription"; + +function NewsletterInline() { + const { isLoading, error, success, addSubscriber, setEmail, email } = useNewsletterSubscription(); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + addSubscriber(); + }; + + if (success) { + return ( + <p className="py-2 text-center text-sm font-medium text-emerald-600"> + Subscribed. We'll keep it short. + </p> + ); + } + + return ( + <form onSubmit={handleSubmit} className="flex gap-2"> + <Input + type="email" + placeholder="you@company.com" + value={email} + onChange={(e) => setEmail(e.target.value)} + className="flex-1 border-border bg-background text-sm" + /> + <Button + type="submit" + disabled={isLoading} + size="sm" + className="shrink-0 bg-[hsl(var(--accent))] text-white hover:bg-[hsl(var(--accent))]/90" + > + {isLoading ? <Loader2 className="h-4 w-4 animate-spin" /> : "Sign up"} + </Button> + {error && <p className="absolute -bottom-5 left-0 text-xs text-red-500">{error}</p>} + </form> + ); +} + +export default function ExitIntentModal() { + const { showModal, setShowModal } = useExitIntent(); + + return ( + <DialogPrimitive.Root open={showModal} onOpenChange={setShowModal}> + <DialogPrimitive.Portal> + <DialogPrimitive.Overlay className="fixed inset-0 z-50 bg-black/80" /> + <DialogPrimitive.Content className="fixed left-1/2 top-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-2xl border border-border bg-[hsl(var(--surface-card))] p-0 shadow-lg sm:max-w-md"> + {/* Header */} + <div className="border-b border-border bg-foreground/[0.03] px-6 pb-5 pt-6"> + <DialogPrimitive.Title className="font-[family-name:var(--font-display)] text-[22px] leading-tight text-foreground"> + Didn't find the right component? + </DialogPrimitive.Title> + <DialogPrimitive.Description className="mt-1 text-[15px] text-[hsl(var(--text-secondary))]"> + Tell us what to build next. + </DialogPrimitive.Description> + </div> + + <div className="space-y-0 divide-y divide-border"> + {/* Request a component */} + <div className="px-6 py-5"> + <p className="text-[15px] font-medium text-foreground">Missing something?</p> + <p className="mt-1 text-[13px] leading-relaxed text-muted-foreground"> + Open an issue and we'll build it. + </p> + <a + href={`${siteConfig.links.github}/issues/new?labels=component-request&title=Component+request%3A+`} + target="_blank" + rel="noreferrer" + className="mt-3 inline-flex items-center gap-1.5 text-[14px] font-medium text-[hsl(var(--link))] transition-colors hover:text-[hsl(var(--link-hover))]" + > + Request on GitHub + <ArrowUpRight className="h-3.5 w-3.5" /> + </a> + </div> + + {/* Newsletter signup */} + <div className="relative px-6 py-5"> + <p className="flex items-center gap-1.5 text-[15px] font-medium text-foreground"> + <Mail className="h-4 w-4 text-muted-foreground" /> + Or just follow along + </p> + <p className="mb-3 mt-1 text-[13px] leading-relaxed text-muted-foreground"> + We send new components when they're ready. That's it. + </p> + <NewsletterInline /> + </div> + </div> + + {/* Close button */} + <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"> + <Cross2Icon className="h-4 w-4" /> + <span className="sr-only">Close</span> + </DialogPrimitive.Close> + </DialogPrimitive.Content> + </DialogPrimitive.Portal> + </DialogPrimitive.Root> + ); +} diff --git a/app/(main)/_landing/faq-section.tsx b/app/(main)/_landing/faq-section.tsx new file mode 100644 index 00000000..cf545f5c --- /dev/null +++ b/app/(main)/_landing/faq-section.tsx @@ -0,0 +1,78 @@ +import Link from "next/link"; + +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; + +const faq = [ + { + question: "Is it really free?", + answer: + "Yes. Every component is MIT licensed. Use them in personal projects, client work, SaaS products — whatever you're building. No catch.", + }, + { + question: "Do I need to install a package?", + answer: + "No. You copy the component code directly into your project. No npm install, no dependency to maintain, no version conflicts down the road.", + }, + { + question: "Does it work with my stack?", + answer: + "If you're using React, yes. Next.js, Remix, Vite, Astro, Gatsby — anywhere React runs. Components use Tailwind CSS and Framer Motion, which you likely already have.", + }, + { + question: "Can I customize the components?", + answer: + "You own the code. Change colors, timing, sizes, behavior — it's just React and Tailwind in your project. No abstractions to fight.", + }, + { + question: "How do I get started?", + answer: ( + <span> + Browse the{" "} + <Link className="text-[hsl(var(--link))] hover:text-[hsl(var(--link-hover))]" href="/docs"> + component library + </Link> + , find one you like, and copy the code. Takes about 30 seconds. + </span> + ), + }, +]; + +function FaqItem({ index }: { index: number }) { + const item = faq[index]; + return ( + <AccordionItem value={`question-${index}`} className="w-full px-4 md:px-0"> + <AccordionTrigger className="w-full"> + <span className="inline-block text-sm font-medium md:text-base">{item.question}</span> + </AccordionTrigger> + <AccordionContent> + <div className="text-[hsl(var(--text-secondary))]">{item.answer}</div> + </AccordionContent> + </AccordionItem> + ); +} + +export default function FAQSection() { + return ( + <section className="border-t border-border bg-background py-20 sm:py-24 lg:py-32 max-md:py-16"> + <div className="mx-auto flex max-w-2xl flex-col gap-4 px-6"> + <div className="mb-6"> + <h2 className="font-[family-name:var(--font-display)] text-[clamp(28px,5vw,40px)] leading-[1] text-foreground"> + Questions? + <br /> + <span className="text-muted-foreground">We've got answers.</span> + </h2> + </div> + <Accordion collapsible type="single" className="relative"> + {faq.map((_, index) => { + return <FaqItem key={`item-${index}`} index={index} />; + })} + </Accordion> + </div> + </section> + ); +} 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/(main)/_landing/hero-showcase.tsx b/app/(main)/_landing/hero-showcase.tsx new file mode 100644 index 00000000..94864ae4 --- /dev/null +++ b/app/(main)/_landing/hero-showcase.tsx @@ -0,0 +1,12 @@ +"use client"; + +import Expandable from "@/animata/carousel/expandable"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; + +export default function HeroShowcase() { + return ( + <ComponentLinkWrapper link="/docs/carousel/expandable" className="block w-full"> + <Expandable className="h-[360px] overflow-hidden rounded-2xl sm:h-[420px]" autoPlay /> + </ComponentLinkWrapper> + ); +} diff --git a/app/(main)/_landing/hero-title.tsx b/app/(main)/_landing/hero-title.tsx new file mode 100644 index 00000000..d0c63860 --- /dev/null +++ b/app/(main)/_landing/hero-title.tsx @@ -0,0 +1,12 @@ +export default function HeroTitle() { + return ( + <div className="relative z-10"> + <p className="mb-4 text-xs font-bold uppercase tracking-[0.2em] text-muted-foreground"> + Free & Open Source + </p> + <h1 className="font-[family-name:var(--font-display)] text-[clamp(2.5rem,5vw,3.75rem)] leading-[1] tracking-[-0.03em] text-foreground"> + Copy. Paste. Ship. + </h1> + </div> + ); +} diff --git a/app/(main)/_landing/hero-variants.tsx b/app/(main)/_landing/hero-variants.tsx new file mode 100644 index 00000000..7d128a66 --- /dev/null +++ b/app/(main)/_landing/hero-variants.tsx @@ -0,0 +1,252 @@ +"use client"; + +import Link from "next/link"; + +import Duolingo from "@/animata/button/duolingo"; +import ShiningButton from "@/animata/button/shining-button"; +import FluidTabs from "@/animata/tabs/fluid-tabs"; +import TextExplodeIMessage from "@/animata/text/text-explode-imessage"; +import TypingText from "@/animata/text/typing-text"; +import CarbonAds from "@/components/ads"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; +import { Icons } from "@/components/icons"; +import { siteConfig } from "@/config/site"; + +function HeroCTAs() { + return ( + <div className="mt-8 flex flex-wrap items-center gap-3"> + <Link + href="/docs/setup" + className="inline-flex items-center justify-center rounded-full bg-[hsl(var(--accent))] px-7 py-3 text-[15px] font-semibold text-white shadow-[0_0_20px_rgba(139,92,246,0.3)] transition-all hover:shadow-[0_0_30px_rgba(139,92,246,0.5)]" + > + Browse components + </Link> + <Link + target="_blank" + rel="noreferrer" + href={siteConfig.links.github} + className="inline-flex items-center justify-center gap-1.5 rounded-full border border-border px-6 py-3 text-[15px] font-medium text-foreground transition-colors hover:bg-foreground/5" + > + <Icons.gitHub className="h-4 w-4" /> + GitHub + </Link> + </div> + ); +} + +function HeroShell({ children }: { children: React.ReactNode }) { + return ( + <section className="relative overflow-clip"> + <div className="relative z-10 mx-auto max-w-5xl px-6 pb-20 pt-14"> + {children} + <div className="mt-6 flex justify-center border-t border-border pt-5 lg:hidden"> + <CarbonAds /> + </div> + </div> + </section> + ); +} + +/** + * Variant A — "The components your design deserves" + * Hypothesis: Aspirational + product demo wins. + * Angle: You already have a great design — your components should match. + */ +export function HeroVariantA() { + return ( + <HeroShell> + <div className="flex flex-col gap-10 lg:flex-row lg:items-center lg:gap-16"> + <div className="flex flex-col lg:max-w-[48%]"> + <p className="mb-4 text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground"> + Free & Open Source + </p> + <h1 className="font-[family-name:var(--font-display)] text-[clamp(2.5rem,5vw,3.75rem)] leading-[1] tracking-[-0.03em] text-foreground"> + Components with personality. For sites with personality. + </h1> + <p className="mt-5 max-w-[400px] text-[16px] leading-[1.6] text-[hsl(var(--text-secondary))]"> + 194+ animated React components. Copy the code, drop it in your project. Every + interaction feels intentional. + </p> + <HeroCTAs /> + <div className="mt-7 hidden lg:block"> + <CarbonAds /> + </div> + </div> + + <div className="w-full lg:max-w-[50%]" role="region" aria-label="Live component preview"> + <div className="overflow-hidden rounded-2xl border border-border bg-[hsl(var(--surface-card))]"> + {/* Terminal */} + <div className="px-5 py-3"> + <div className="flex items-center gap-1.5"> + <div aria-hidden="true" className="h-2 w-2 rounded-full bg-red-500/40" /> + <div aria-hidden="true" className="h-2 w-2 rounded-full bg-yellow-500/40" /> + <div aria-hidden="true" className="h-2 w-2 rounded-full bg-green-500/40" /> + </div> + </div> + <div className="px-5 pb-4 font-mono text-sm text-foreground/60"> + <span className="text-emerald-400">$</span>{" "} + <TypingText + text="npx animata add shining-button" + delay={48} + repeat + waitTime={3000} + className="inline" + smooth + /> + </div> + {/* Live demos */} + <div className="flex flex-wrap items-center justify-center gap-4 border-t border-border px-6 py-8"> + <ComponentLinkWrapper link="/docs/button/shining-button" aria-label="Shining Button"> + <ShiningButton /> + </ComponentLinkWrapper> + <ComponentLinkWrapper link="/docs/button/duolingo" aria-label="Duolingo Button"> + <Duolingo /> + </ComponentLinkWrapper> + </div> + </div> + </div> + </div> + </HeroShell> + ); +} + +/** + * Variant B — "Ship interfaces people remember" + * Hypothesis: Outcome-focused + immediate visual proof converts best. + * Angle: Focus on the result, not the tool. + */ +export function HeroVariantB() { + return ( + <HeroShell> + <div className="mx-auto max-w-3xl text-center"> + <p className="mb-4 text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground"> + 194+ animated components + </p> + <h1 className="font-[family-name:var(--font-display)] text-[clamp(2.5rem,6vw,4.5rem)] leading-[1] tracking-[-0.03em] text-foreground"> + Make every click feel like something. + </h1> + <p className="mx-auto mt-5 max-w-lg text-[17px] leading-[1.6] text-[hsl(var(--text-secondary))]"> + 194+ animated React components. Copy the code, paste into your project. Every interaction + delights. + </p> + <div className="mt-8 flex flex-wrap items-center justify-center gap-3"> + <Link + href="/docs/setup" + className="inline-flex items-center justify-center rounded-full bg-foreground px-8 py-3.5 text-[16px] font-semibold text-background transition-opacity hover:opacity-85" + > + Browse components + </Link> + <Link + target="_blank" + rel="noreferrer" + href={siteConfig.links.github} + className="inline-flex items-center justify-center gap-1.5 rounded-full bg-foreground px-7 py-3.5 text-[16px] font-medium text-background transition-opacity hover:opacity-85" + > + <Icons.gitHub className="h-4 w-4" /> + Star on GitHub + </Link> + </div> + </div> + + {/* Live component strip */} + <div className="mx-auto mt-10 grid max-w-4xl grid-cols-1 gap-3 sm:grid-cols-3 sm:gap-4"> + <ComponentLinkWrapper + link="/docs/button/shining-button" + aria-label="Shining Button" + className="group flex flex-col overflow-hidden rounded-2xl bg-[hsl(var(--surface-dark))] shadow-[var(--shadow-lg)]" + > + <div className="flex flex-1 items-center justify-center px-4 py-8"> + <ShiningButton /> + </div> + <div className="flex items-center justify-between px-4 py-2.5 text-primary-foreground/50"> + <span className="text-[12px] font-semibold">Shining Button</span> + <span className="text-[11px] opacity-0 transition-opacity group-hover:opacity-100"> + View → + </span> + </div> + </ComponentLinkWrapper> + <ComponentLinkWrapper + link="/docs/tabs/fluid-tabs" + aria-label="Fluid Tabs" + className="group flex flex-col overflow-hidden rounded-2xl bg-[hsl(var(--surface-card))] shadow-[var(--shadow-md)]" + > + <div className="flex flex-1 items-center justify-center px-4 py-8"> + <FluidTabs /> + </div> + <div className="flex items-center justify-between px-4 py-2.5"> + <span className="text-[12px] font-semibold text-foreground/50">Fluid Tabs</span> + <span className="text-[11px] text-foreground/30 opacity-0 transition-opacity group-hover:opacity-100"> + View → + </span> + </div> + </ComponentLinkWrapper> + <ComponentLinkWrapper + link="/docs/button/duolingo" + aria-label="Duolingo Button" + className="group flex flex-col overflow-hidden rounded-2xl bg-[hsl(var(--surface-card))] shadow-[var(--shadow-md)]" + > + <div className="flex flex-1 items-center justify-center px-4 py-8"> + <Duolingo /> + </div> + <div className="flex items-center justify-between px-4 py-2.5"> + <span className="text-[12px] font-semibold text-foreground/50">Duolingo Button</span> + <span className="text-[11px] text-foreground/30 opacity-0 transition-opacity group-hover:opacity-100"> + View → + </span> + </div> + </ComponentLinkWrapper> + </div> + + <div className="mt-6 flex justify-center"> + <CarbonAds /> + </div> + </HeroShell> + ); +} + +/** + * Variant C — "Same components, every site. Yours doesn't have to." + * Hypothesis: Tension + resolution with product-as-proof converts best. + * Angle: Name the enemy (sameness), offer the cure. + */ +export function HeroVariantC() { + return ( + <HeroShell> + <div className="flex flex-col gap-10 lg:flex-row lg:items-center lg:gap-16"> + <div className="flex flex-col lg:max-w-[50%]"> + <p className="mb-4 text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground"> + Free & Open Source + </p> + <h1 className="font-[family-name:var(--font-display)] text-[clamp(2.25rem,4.5vw,3.5rem)] leading-[1.05] tracking-[-0.02em] text-foreground"> + Every site uses the same components.{" "} + <span className="text-[hsl(var(--accent))]">Yours won't.</span> + </h1> + <p className="mt-5 max-w-[420px] text-[16px] leading-[1.6] text-[hsl(var(--text-secondary))]"> + 194+ animated React components that feel hand-crafted. Copy the code, paste it in. Ship + something people notice. + </p> + <HeroCTAs /> + <div className="mt-7 hidden lg:block"> + <CarbonAds /> + </div> + </div> + + {/* Single hero component — hover to trigger */} + <div className="w-full lg:max-w-[46%]" role="region" aria-label="Component showcase"> + <ComponentLinkWrapper link="/docs/text/text-explode-imessage"> + <div className="flex h-[300px] items-center justify-center overflow-hidden rounded-3xl bg-[hsl(var(--surface-dark))] p-8 shadow-[var(--shadow-lg)]"> + <TextExplodeIMessage + text="animata" + mode="hover" + className="select-none text-5xl font-black text-primary-foreground md:text-7xl" + /> + </div> + </ComponentLinkWrapper> + <p className="mt-3 text-center text-[12px] text-muted-foreground"> + Hover to see the magic + </p> + </div> + </div> + </HeroShell> + ); +} diff --git a/app/(main)/_landing/hero.tsx b/app/(main)/_landing/hero.tsx new file mode 100644 index 00000000..0a0be8df --- /dev/null +++ b/app/(main)/_landing/hero.tsx @@ -0,0 +1,136 @@ +"use client"; + +import Link from "next/link"; +import Duolingo from "@/animata/button/duolingo"; +import ShiningButton from "@/animata/button/shining-button"; +import Counter, { Formatter } from "@/animata/text/counter"; +import TypingText from "@/animata/text/typing-text"; +import CarbonAds from "@/components/ads"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; +import { Icons } from "@/components/icons"; +import { siteConfig } from "@/config/site"; + +import HeroTitle from "./hero-title"; + +function Stat({ value, label, delay }: { value: number; label: string; delay: number }) { + return ( + <div className="flex items-baseline gap-1"> + <Counter + targetValue={value} + direction="up" + delay={delay} + format={Formatter.number} + className="tabular-nums text-lg font-semibold text-foreground" + /> + <span className="text-sm text-muted-foreground">+</span> + <span className="text-sm text-muted-foreground">{label}</span> + </div> + ); +} + +export default function Hero() { + return ( + <section className="relative overflow-clip"> + <div className="relative z-10 mx-auto max-w-7xl px-4 pb-16 pt-12 lg:px-[67px]"> + <div className="flex flex-col gap-10 lg:flex-row lg:items-center lg:gap-16"> + {/* Left — copy */} + <div className="pointer-events-auto flex flex-col lg:max-w-[48%]"> + <HeroTitle /> + + <p className="mt-5 max-w-[400px] text-[16px] leading-[1.6] text-[hsl(var(--text-secondary))]"> + Animated React components you can drop into any project. No dependencies. No lock-in. + Just code. + </p> + + <div className="mt-7 flex flex-wrap items-center gap-3"> + <Link + href="/docs/setup" + className="inline-flex items-center justify-center rounded-full bg-[hsl(var(--accent))] px-7 py-3 text-[15px] font-semibold text-white shadow-[var(--shadow-md)] transition-all hover:brightness-110" + > + Browse components + </Link> + <Link + target="_blank" + rel="noreferrer" + href={siteConfig.links.github} + className="inline-flex items-center justify-center gap-1.5 rounded-full bg-foreground px-6 py-3 text-[15px] font-medium text-background transition-opacity hover:opacity-85" + > + <Icons.gitHub className="h-4 w-4" /> + GitHub + </Link> + </div> + + <div className="mt-7 flex flex-wrap items-center gap-5 border-t border-border pt-4"> + <Stat value={194} label="Components" delay={200} /> + <span className="hidden h-4 w-px bg-border sm:block" /> + <Stat value={22} label="Categories" delay={400} /> + <span className="hidden h-4 w-px bg-border sm:block" /> + <Stat value={1000} label="Stars" delay={600} /> + </div> + + <div className="mt-5 hidden lg:block"> + <CarbonAds /> + </div> + </div> + + {/* Right — live component showcase */} + <div + className="pointer-events-auto w-full lg:max-w-[50%]" + role="region" + aria-label="Live component preview" + > + <div className="overflow-hidden rounded-3xl bg-[hsl(var(--surface-dark))] shadow-[var(--shadow-lg)]"> + {/* Terminal bar */} + <div className="border-b border-foreground/10 px-5 py-3"> + <div className="flex items-center gap-1.5"> + <div aria-hidden="true" className="h-2.5 w-2.5 rounded-full bg-red-500/70" /> + <div aria-hidden="true" className="h-2.5 w-2.5 rounded-full bg-yellow-500/70" /> + <div aria-hidden="true" className="h-2.5 w-2.5 rounded-full bg-green-500/70" /> + <span className="ml-3 text-[11px] font-medium text-muted-foreground"> + Terminal + </span> + </div> + </div> + {/* Code area */} + <div className="px-5 py-4 font-mono text-sm text-primary-foreground/70"> + <span className="text-emerald-400">$</span>{" "} + <TypingText + text="npx animata add shining-button" + delay={48} + repeat + waitTime={3000} + className="inline" + smooth + /> + </div> + {/* Live demo area */} + <div className="border-t border-foreground/10 bg-foreground/5 px-6 py-12"> + <p className="mb-5 text-center text-[11px] font-medium uppercase tracking-widest text-muted-foreground"> + Live preview + </p> + <div className="flex flex-wrap items-center justify-center gap-4"> + <ComponentLinkWrapper + link="/docs/button/shining-button" + aria-label="Shining Button component" + > + <ShiningButton /> + </ComponentLinkWrapper> + <ComponentLinkWrapper + link="/docs/button/duolingo" + aria-label="Duolingo Button component" + > + <Duolingo /> + </ComponentLinkWrapper> + </div> + </div> + </div> + </div> + </div> + + <div className="mt-6 flex justify-center border-t border-border pt-5 lg:hidden"> + <CarbonAds /> + </div> + </div> + </section> + ); +} 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 65% rename from app/_landing/newsletter.tsx rename to app/(main)/_landing/newsletter.tsx index d1f70cb8..30a02842 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"; @@ -17,26 +17,26 @@ function NewsletterInput(): React.JSX.Element { return ( <> <form - className="flex flex-col space-y-2 sm:flex-row sm:space-x-2 sm:space-y-0" + className="flex flex-col space-y-2 sm:flex-row sm:items-center sm:space-x-2 sm:space-y-0" onSubmit={handleSubmit} > <Input type="email" placeholder="Enter your email" - className="flex-1 border-gray-200 bg-gray-50 dark:border-zinc-600 dark:bg-zinc-800" + className="flex-1 border-border bg-background" value={email} onChange={(e) => setEmail(e.target.value)} /> <Button type="submit" disabled={isLoading} - className="mt-1 w-full bg-blue-500 text-white hover:bg-blue-600 sm:w-auto" + className="w-full bg-[hsl(var(--accent))] text-white hover:opacity-90 sm:w-auto" > {isLoading && <Loader2 className="mr-2 h-4 w-4 animate-spin" />} {isLoading ? "Please wait" : "Join now"} </Button> </form> - <p className="mt-4 text-center text-xs text-gray-500 dark:text-gray-400"> + <p className="mt-4 text-center text-xs text-muted-foreground"> {success ? ( <span className="text-green-500">Thank you for subscribing!</span> ) : error ? ( @@ -52,16 +52,16 @@ function NewsletterInput(): React.JSX.Element { export default function NewsletterSection() { return ( <Card - className="mx-auto mt-16 w-full max-w-2xl rounded-xl border border-border bg-gray-50 shadow-none dark:border-zinc-600 dark:bg-zinc-800" + className="mx-auto mt-16 w-full max-w-2xl rounded-2xl border border-border bg-[hsl(var(--surface-card))] shadow-none" id="join" > - <CardHeader className="rounded-t-xl border-b bg-gray-100 dark:border-b-zinc-700 dark:bg-zinc-700"> - <CardTitle className="flex items-center justify-center text-2xl font-bold text-gray-600 dark:text-gray-100"> - <Mail className="mr-2 h-6 w-6" /> - Join our Newsletter + <CardHeader className="rounded-t-2xl border-b border-border bg-foreground/[0.03]"> + <CardTitle className="flex items-center justify-center text-lg font-semibold text-foreground"> + <Mail className="mr-2 h-5 w-5" /> + Stay in the loop </CardTitle> - <CardDescription className="text-center text-gray-600 dark:text-gray-300"> - Get the latest updates from animata. + <CardDescription className="text-center text-muted-foreground"> + New components, tips, and updates. No spam. </CardDescription> </CardHeader> <CardContent className="mx-4 mb-1 mt-6"> diff --git a/app/(main)/_landing/open-source-section.tsx b/app/(main)/_landing/open-source-section.tsx new file mode 100644 index 00000000..257ee8a0 --- /dev/null +++ b/app/(main)/_landing/open-source-section.tsx @@ -0,0 +1,142 @@ +"use client"; + +import Marquee from "@/animata/container/marquee"; +import Counter, { Formatter } from "@/animata/text/counter"; + +// All 44 contributors +const avatars = [ + "17984567", + "61934354", + "23572874", + "61041540", + "49699333", + "68807624", + "77476239", + "92267442", + "62237284", + "69517192", + "133476557", + "112865144", + "145477397", + "139417149", + "93651229", + "107368860", + "137415649", + "32596297", + "71210624", + "65100859", + "34545177", + "128136597", + "25669767", + "96635567", + "47138518", + "72538480", + "42187710", + "91338035", + "46356108", + "129254413", + "52288761", + "136047863", + "145032457", + "115262737", + "153370098", + "101992909", + "161845983", + "16984453", + "59354376", + "59029978", + "112597601", + "121259738", + "104253746", + "39653112", +]; + +function Avatar({ id }: { id: string }) { + return ( + <img + src={`https://avatars.githubusercontent.com/u/${id}?v=4&s=64`} + alt="" + loading="lazy" + className="h-8 w-8 border border-border sm:h-10 sm:w-10" + style={{ + clipPath: "url(#squircle)", + }} + /> + ); +} + +/* Inline SVG squircle clip path — iOS-style superellipse */ +function SquircleClipDef() { + return ( + <svg width="0" height="0" className="absolute"> + <defs> + <clipPath id="squircle" clipPathUnits="objectBoundingBox"> + <path d="M 0.5 0 C 0.83 0, 1 0.17, 1 0.5 C 1 0.83, 0.83 1, 0.5 1 C 0.17 1, 0 0.83, 0 0.5 C 0 0.17, 0.17 0, 0.5 0 Z" /> + </clipPath> + </defs> + </svg> + ); +} + +function Stat({ value, label, delay }: { value: number; label: string; delay: number }) { + return ( + <div className="text-center"> + <div className="font-(family-name:--font-mono) text-2xl font-bold tabular-nums text-foreground sm:text-3xl lg:text-4xl"> + <Counter + targetValue={value} + direction="up" + delay={delay} + format={Formatter.number} + className="font-(family-name:--font-mono) font-bold tabular-nums" + /> + </div> + <p className="mt-1 text-[13px] text-muted-foreground">{label}</p> + </div> + ); +} + +export default function OpenSourceSection() { + return ( + <section className="border-t border-border py-20 sm:py-24 lg:py-32"> + <SquircleClipDef /> + <div className="mx-auto max-w-6xl px-6"> + <div className="text-center"> + <h2 className="font-(family-name:--font-display) text-[clamp(28px,5vw,44px)] leading-[1] text-foreground"> + Open source. + <br /> + <span className="text-muted-foreground">Community driven.</span> + </h2> + <p className="mx-auto mt-4 text-balance max-w-md text-[15px] leading-relaxed text-muted-foreground"> + Built by a growing community of developers who believe interfaces should feel alive. + </p> + </div> + </div> + + {/* Marquee row 1 — all contributors, forward */} + <div className="mt-12 sm:mt-14"> + <Marquee pauseOnHover applyMask={false} className="[--duration:60s]"> + {avatars.map((id) => ( + <Avatar key={id} id={id} /> + ))} + </Marquee> + </div> + + {/* Stats */} + <div className="mx-auto grid max-w-3xl grid-cols-2 gap-8 px-6 py-10 sm:grid-cols-4 sm:py-12"> + <Stat value={2392} label="Stars" delay={0} /> + <Stat value={196} label="Forks" delay={100} /> + <Stat value={44} label="Contributors" delay={200} /> + <Stat value={194} label="Components" delay={300} /> + </div> + + {/* Marquee row 2 — all contributors, reversed order + direction */} + <div> + <Marquee reverse pauseOnHover applyMask={false} className="[--duration:65s]"> + {[...avatars].reverse().map((id) => ( + <Avatar key={id} id={id} /> + ))} + </Marquee> + </div> + </section> + ); +} diff --git a/app/(main)/_landing/reveal.tsx b/app/(main)/_landing/reveal.tsx new file mode 100644 index 00000000..2b0438b5 --- /dev/null +++ b/app/(main)/_landing/reveal.tsx @@ -0,0 +1,37 @@ +"use client"; + +import { useInView } from "motion/react"; +import { useEffect, useRef, useState } from "react"; + +import { cn } from "@/lib/utils"; + +export default function Reveal({ + children, + className, +}: { + children: React.ReactNode; + className?: string; +}) { + const ref = useRef<HTMLDivElement>(null); + const isInView = useInView(ref, { once: true, margin: "-40px" }); + const [mounted, setMounted] = useState(false); + + useEffect(() => { + const reduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches; + if (!reduced) setMounted(true); + }, []); + + return ( + <div + ref={ref} + className={cn( + "translate-y-6 opacity-0", + mounted && "transition-all duration-700", + mounted && isInView && "translate-y-0 opacity-100", + className, + )} + > + {children} + </div> + ); +} diff --git a/app/(main)/_landing/section-one.tsx b/app/(main)/_landing/section-one.tsx new file mode 100644 index 00000000..ab7e51c5 --- /dev/null +++ b/app/(main)/_landing/section-one.tsx @@ -0,0 +1,30 @@ +"use client"; + +import Expandable from "@/animata/carousel/expandable"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; + +export default function SectionOne() { + return ( + <section className="pt-[48px] max-md:pt-8"> + <div className="mx-auto max-w-7xl px-4 lg:px-[67px]"> + <div className="mb-8"> + <p className="text-xs font-bold uppercase tracking-[0.2em] text-[hsl(var(--accent))]"> + 194+ components + </p> + <h2 className="mt-2 font-[family-name:var(--font-display)] text-[clamp(24px,4vw,36px)] leading-tight tracking-[-0.02em] text-foreground"> + Every one is live. Every one is free. + </h2> + </div> + <ComponentLinkWrapper + link="/docs/carousel/expandable" + className="block w-full overflow-hidden rounded-2xl" + > + <Expandable + autoPlay + className="h-[280px] w-full gap-1 sm:h-[400px] md:h-[480px] lg:h-[540px]" + /> + </ComponentLinkWrapper> + </div> + </section> + ); +} diff --git a/app/(main)/_landing/section-three.tsx b/app/(main)/_landing/section-three.tsx new file mode 100644 index 00000000..2a15aa8a --- /dev/null +++ b/app/(main)/_landing/section-three.tsx @@ -0,0 +1,64 @@ +"use client"; + +import AnimatedGradientText from "@/animata/text/animated-gradient-text"; +import GlitchText from "@/animata/text/glitch-text"; +import SplitText from "@/animata/text/split-text"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; +import { cn } from "@/lib/utils"; + +function DarkCard({ + children, + href, + label, + className, +}: { + children: React.ReactNode; + href: string; + label: string; + className?: string; +}) { + return ( + <ComponentLinkWrapper + link={href} + className={cn( + "block w-full overflow-hidden rounded-2xl border border-foreground/10 bg-foreground/5", + className, + )} + > + <div className="flex min-h-[180px] items-center justify-center p-6">{children}</div> + <div className="flex items-center justify-between border-t border-foreground/10 px-5 py-3"> + <span className="text-sm font-semibold text-primary-foreground/80">{label}</span> + <span className="text-xs font-medium text-[hsl(var(--accent))]">View →</span> + </div> + </ComponentLinkWrapper> + ); +} + +export default function SectionThree() { + return ( + <section className="bg-[hsl(var(--surface-dark))] pb-0 pt-[80px] max-md:pt-12"> + <div className="mx-auto max-w-7xl px-4 lg:px-[67px]"> + {/* GlitchText — the star. Full-width, un-carded. */} + <ComponentLinkWrapper + link="/docs/text/glitch-text" + className="mx-auto mb-10 block max-w-2xl overflow-hidden rounded-2xl" + > + <GlitchText text="animata" starCount={100} /> + </ComponentLinkWrapper> + + {/* Supporting cast — in cards */} + <div className="grid gap-4 md:grid-cols-2"> + <DarkCard href="/docs/text/animated-gradient-text" label="Gradient Text"> + <AnimatedGradientText className="text-4xl font-black uppercase md:text-5xl lg:text-7xl"> + HELLO + </AnimatedGradientText> + </DarkCard> + + <DarkCard href="/docs/text/split-text" label="Split Text"> + <SplitText text="HOVER" /> + </DarkCard> + </div> + </div> + </section> + ); +} diff --git a/app/(main)/_landing/section-two.tsx b/app/(main)/_landing/section-two.tsx new file mode 100644 index 00000000..e5d1a20f --- /dev/null +++ b/app/(main)/_landing/section-two.tsx @@ -0,0 +1,95 @@ +"use client"; + +import Link from "next/link"; +import LEDBoard from "@/animata/card/led-board"; +import FluidTabs from "@/animata/tabs/fluid-tabs"; +import StaggeredLetter from "@/animata/text/staggered-letter"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; +import { cn } from "@/lib/utils"; + +function DemoCard({ + children, + href, + label, + dark, + className, +}: { + children: React.ReactNode; + href: string; + label: string; + dark?: boolean; + className?: string; +}) { + return ( + <ComponentLinkWrapper + link={href} + className={cn( + "block w-full overflow-hidden rounded-2xl transition-shadow duration-300", + dark + ? "bg-[hsl(var(--surface-dark))] shadow-[var(--shadow-lg)]" + : "bg-[hsl(var(--surface-card))] shadow-[var(--shadow-md)] hover:shadow-[var(--shadow-lg)]", + className, + )} + > + <div className="flex min-h-[180px] items-center justify-center p-5">{children}</div> + <div + className={cn( + "flex items-center justify-between px-5 py-3", + dark ? "border-t border-foreground/10" : "", + )} + > + <span + className={cn( + "text-sm font-semibold", + dark ? "text-primary-foreground/80" : "text-foreground", + )} + > + {label} + </span> + <span + className={cn( + "text-xs font-medium", + dark ? "text-[hsl(var(--accent))]" : "text-[hsl(var(--link))]", + )} + > + View → + </span> + </div> + </ComponentLinkWrapper> + ); +} + +export default function SectionTwo() { + return ( + <section className="pb-[64px] pt-6 max-md:pb-10"> + <div className="mx-auto max-w-7xl px-4 lg:px-[67px]"> + <div className="grid gap-4 sm:grid-cols-3"> + <DemoCard href="/docs/text/staggered-letter" label="Staggered Letter"> + <div className="overflow-hidden py-2"> + <StaggeredLetter text="Animata" direction="drop" /> + </div> + </DemoCard> + + <DemoCard href="/docs/tabs/fluid-tabs" label="Fluid Tabs"> + <div className="scale-110"> + <FluidTabs /> + </div> + </DemoCard> + + <DemoCard href="/docs/card/led-board" label="LED Board" dark> + <LEDBoard word="COPY" /> + </DemoCard> + </div> + + <div className="mt-8 text-center"> + <Link + href="/docs" + className="inline-flex items-center justify-center rounded-full border border-border px-6 py-2.5 text-[14px] font-semibold text-foreground transition-colors hover:bg-foreground/5" + > + Browse all 194+ components → + </Link> + </div> + </div> + </section> + ); +} 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/(main)/_landing/stats-bento.tsx b/app/(main)/_landing/stats-bento.tsx new file mode 100644 index 00000000..2b2508f4 --- /dev/null +++ b/app/(main)/_landing/stats-bento.tsx @@ -0,0 +1,354 @@ +"use client"; + +import Link from "next/link"; +import { useEffect, useState } from "react"; + +import AnimatedBorderTrail from "@/animata/container/animated-border-trail"; +import Marquee from "@/animata/container/marquee"; +import AvatarList from "@/animata/list/avatar-list"; +import Counter, { Formatter } from "@/animata/text/counter"; +import Ticker from "@/animata/text/ticker"; +import TypingText from "@/animata/text/typing-text"; +import ComponentLinkWrapper from "@/components/component-link-wrapper"; +import { Icons } from "@/components/icons"; +import RemountOnMouseIn from "@/components/remount-on-mouse-in"; +import { docsConfig } from "@/config/docs"; +import { cn } from "@/lib/utils"; + +// Get component categories from the sidebar nav (skip Getting Started + Contributing) +const categories = docsConfig.sidebarNav + .filter((item) => item.title !== "Getting Started" && item.title !== "Contributing") + .map((item) => ({ + label: item.title, + href: item.items?.[0]?.href ?? item.href ?? "/docs", + count: item.items?.length ?? 0, + })); + +const stargazers = [ + { + name: "@jattinmanhas", + position: "India", + image: "https://avatars.githubusercontent.com/u/63615545?v=4&s=64", + }, + { + name: "@flywhale", + position: "Germany", + image: "https://avatars.githubusercontent.com/u/620640?v=4&s=64", + }, + { + name: "@boyuan-chen", + position: "USA", + image: "https://avatars.githubusercontent.com/u/46272347?v=4&s=64", + }, + { + name: "@Faizanahmedsy", + position: "India", + image: "https://avatars.githubusercontent.com/u/119733178?v=4&s=64", + }, + { + name: "@abdellatif-laghjaj", + position: "Morocco", + image: "https://avatars.githubusercontent.com/u/79521157?v=4&s=64", + }, + { + name: "@hyhan", + position: "China", + image: "https://avatars.githubusercontent.com/u/20774397?v=4&s=64", + }, +]; + +const frameworkItems = [ + { icon: <Icons.nextJS className="h-4 w-4 sm:h-5 sm:w-5" />, key: "next" }, + { icon: <Icons.reactJS className="h-4 w-4 text-sky-500 sm:h-5 sm:w-5" />, key: "react" }, + { icon: <Icons.tailwind className="h-4 w-4 text-cyan-500 sm:h-5 sm:w-5" />, key: "tw" }, + { icon: <Icons.framerMotion className="h-4 w-4 text-pink-500 sm:h-5 sm:w-5" />, key: "motion" }, + { + icon: <span className="text-[10px] font-bold text-amber-500 sm:text-[11px]">Vite</span>, + key: "vite", + }, + { + icon: <span className="text-[10px] font-bold text-orange-500 sm:text-[11px]">Astro</span>, + key: "astro", + }, +]; + +function OrbitItem({ + index, + total, + duration, + children, +}: { + index: number; + total: number; + duration: number; + children: React.ReactNode; +}) { + const startAngle = Math.round((index / total) * 360); + const [angle, setAngle] = useState(startAngle); + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + const id = setInterval(() => setAngle((a) => (a + 1) % 360), duration); + return () => clearInterval(id); + }, [duration]); + + const rad = (angle * Math.PI) / 180; + const x = 35 * Math.cos(rad); + const y = 15 * Math.sin(rad); + const tilt = (-30 * Math.PI) / 180; + const xT = x * Math.cos(tilt) - y * Math.sin(tilt); + const yT = x * Math.sin(tilt) + y * Math.cos(tilt); + const depth = (Math.sin(rad) + 1) / 2; + + // Round to 2 decimals to prevent hydration mismatch + const left = Math.round((50 + xT) * 100) / 100; + const top = Math.round((50 + yT) * 100) / 100; + const scale = Math.round((0.7 + depth * 0.5) * 100) / 100; + const op = Math.round((0.35 + depth * 0.65) * 100) / 100; + + return ( + <div + className="absolute flex h-8 w-8 items-center justify-center rounded-full border border-border bg-[hsl(var(--surface-card))] sm:h-10 sm:w-10" + style={{ + left: `${left}%`, + top: `${top}%`, + transform: `translate(-50%, -50%) scale(${scale})`, + zIndex: Math.round(depth * 10), + opacity: op, + }} + > + {children} + </div> + ); +} + +function FrameworkOrbit() { + return ( + <div className="relative flex h-40 w-full items-center justify-center overflow-hidden rounded-xl border border-border bg-[hsl(var(--surface-alt))] sm:h-48"> + <Icons.logo className="z-10 h-8 w-8 rounded-full bg-linear-to-br from-violet-500 to-indigo-600 p-1.5 shadow-lg sm:h-10 sm:w-10 sm:p-2" /> + {frameworkItems.map((item, i) => ( + <OrbitItem key={item.key} index={i} total={frameworkItems.length} duration={35}> + {item.icon} + </OrbitItem> + ))} + </div> + ); +} + +function BentoCard({ children, className }: { children: React.ReactNode; className?: string }) { + return ( + <div + className={cn( + "relative h-full w-full overflow-hidden rounded-2xl border border-border bg-[hsl(var(--surface-card))] p-4 sm:rounded-[20px] sm:p-5 lg:p-6", + className, + )} + > + {children} + </div> + ); +} + +export default function StatsBento() { + return ( + <section className="border-t border-border py-16 sm:py-20 lg:py-24"> + <div className="mx-auto max-w-6xl px-4 sm:px-6"> + {/* 1 col mobile → 2 col tablet → 3 col desktop */} + <div className="grid grid-cols-1 gap-3 sm:grid-cols-2 sm:gap-4 lg:grid-cols-3"> + {/* Card 1: Stars + Border Trail */} + <BentoCard className="flex flex-col overflow-visible"> + <span className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground sm:text-xs"> + Loved by developers worldwide + </span> + <div className="mt-3"> + <strong className="font-(family-name:--font-mono) text-2xl font-bold tabular-nums text-foreground sm:text-3xl lg:text-4xl"> + <RemountOnMouseIn> + <Ticker + value="2,392+" + className="font-(family-name:--font-mono) font-bold tabular-nums" + /> + </RemountOnMouseIn> + </strong> + <p className="mt-1 text-[12px] font-medium text-muted-foreground sm:text-[13px]"> + GitHub stars + </p> + </div> + <div className="mt-2"> + <AvatarList size="sm" className="py-0" items={stargazers} /> + </div> + + <div className="mt-auto pt-4 sm:pt-5"> + <ComponentLinkWrapper link="/docs/text/typing-text" className="block w-full"> + <AnimatedBorderTrail + trailColor="hsl(262 83% 58% / 0.5)" + trailSize="md" + duration="10s" + className="w-full rounded-xl" + contentClassName="bg-[hsl(var(--surface-alt))] rounded-xl" + > + <div className="overflow-hidden rounded-xl border border-border"> + {/* Traffic light dots */} + <div className="flex gap-1.5 border-b border-border px-3 py-2.5"> + <span className="h-2.5 w-2.5 rounded-full bg-red-500/70" /> + <span className="h-2.5 w-2.5 rounded-full bg-yellow-500/70" /> + <span className="h-2.5 w-2.5 rounded-full bg-green-500/70" /> + </div> + {/* Code content */} + <div className="p-3 font-mono text-[12px] leading-relaxed sm:p-4 sm:text-[13px]"> + <div> + <span className="text-[hsl(var(--accent))]">import</span> + <span className="text-foreground"> BorderTrail </span> + <span className="text-[hsl(var(--accent))]">from</span> + <span className="text-muted-foreground"> "animata"</span> + </div> + <TypingText + text='<BorderTrail color="purple" />' + delay={40} + repeat + waitTime={3000} + className="text-foreground" + /> + </div> + </div> + </AnimatedBorderTrail> + </ComponentLinkWrapper> + </div> + </BentoCard> + + {/* Card 2: 194+ Components + Categories */} + <BentoCard className="flex flex-col"> + <div className="flex-1"> + <span className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground sm:text-xs"> + Components + </span> + <div className="mt-2 flex items-baseline gap-1"> + <RemountOnMouseIn> + <Counter + targetValue={194} + direction="up" + delay={0} + format={Formatter.number} + className="font-(family-name:--font-mono) text-5xl font-bold leading-none tabular-nums tracking-[-0.03em] text-foreground sm:text-6xl lg:text-7xl" + /> + </RemountOnMouseIn> + <span className="font-(family-name:--font-mono) text-2xl font-bold text-muted-foreground sm:text-3xl"> + + + </span> + </div> + {/* Category marquees */} + <div className="-mx-4 mt-3 mb-2 space-y-0.5 sm:-mx-5 sm:mb-0 lg:-mx-6"> + <Marquee + pauseOnHover + applyMask={false} + className="[--duration:50s] [--gap:0.15rem]" + > + {categories.map((cat, i) => ( + <Link + key={`fwd-${i}`} + href={cat.href} + className="rounded-full border border-border bg-foreground/5 px-2 py-0.5 text-[10px] font-semibold text-foreground transition-colors hover:border-foreground/30 sm:px-2.5 sm:py-1 sm:text-[11px]" + > + {cat.label} + </Link> + ))} + </Marquee> + <Marquee + reverse + pauseOnHover + applyMask={false} + className="[--duration:55s] [--gap:0.15rem]" + > + {[...categories].reverse().map((cat, i) => ( + <Link + key={`rev-${i}`} + href={cat.href} + className="rounded-full border border-border bg-foreground/5 px-2 py-0.5 text-[10px] font-semibold text-foreground transition-colors hover:border-foreground/30 sm:px-2.5 sm:py-1 sm:text-[11px]" + > + {cat.label} + </Link> + ))} + </Marquee> + </div> + </div> + <div className="-mx-4 -mb-4 mt-auto flex items-center justify-between border-t border-border bg-foreground/3 px-4 py-3 sm:-mx-5 sm:-mb-5 sm:px-5 sm:py-4 lg:-mx-6 lg:-mb-6 lg:px-6"> + <p className="text-[10px] font-semibold uppercase tracking-wide text-muted-foreground sm:text-[11px]"> + Categories + </p> + <span className="font-(family-name:--font-mono) text-2xl font-bold tabular-nums text-foreground sm:text-3xl"> + {categories.length} + </span> + </div> + </BentoCard> + + {/* Card 3: Works everywhere + Orbit */} + <BentoCard className="flex flex-col sm:col-span-2 lg:col-span-1"> + <span className="text-[11px] font-semibold uppercase tracking-wide text-muted-foreground sm:text-xs"> + Works everywhere + </span> + + <div className="mt-3 flex flex-wrap gap-1.5 sm:mt-4 sm:gap-2"> + {["Next.js", "Remix", "Vite", "Astro", "Gatsby", "TanStack"].map((fw) => ( + <span + key={fw} + className="rounded-full bg-foreground/5 px-2.5 py-1 text-[11px] font-bold text-foreground sm:px-3 sm:py-1.5 sm:text-[13px]" + > + {fw} + </span> + ))} + </div> + + <div className="mt-auto pt-3 sm:pt-4"> + <FrameworkOrbit /> + </div> + + <div className="mt-3 inline-block self-start rounded-full bg-foreground px-3 py-1 text-[11px] font-bold text-background sm:px-4 sm:py-1.5 sm:text-[12px]"> + MIT Licensed — free forever + </div> + </BentoCard> + </div> + + {/* Built with care — full width */} + <div className="mt-3 sm:mt-4"> + <BentoCard className=""> + <div className="flex flex-col gap-6 sm:flex-row sm:items-end sm:justify-between"> + {/* Left — statement */} + <div> + <h2 className="font-(family-name:--font-display) text-[clamp(1.5rem,4vw,2.25rem)] leading-[1.1] text-foreground"> + We did the hard part. + </h2> + <p className="mt-1 text-[clamp(1.5rem,4vw,2.25rem)] leading-[1.1] text-muted-foreground font-(family-name:--font-display)"> + So you don't have to. + </p> + </div> + {/* Right — numbers */} + <div className="flex gap-8 sm:gap-10"> + <div> + <div className="flex items-baseline gap-0.5"> + <span className="font-(family-name:--font-mono) text-3xl font-bold leading-none tabular-nums text-foreground sm:text-4xl"> + 1,100 + </span> + <span className="text-lg text-muted-foreground">+</span> + </div> + <p className="mt-1 text-[12px] text-muted-foreground sm:text-[13px]"> + hours of dev + </p> + </div> + <div> + <div className="flex items-baseline gap-0.5"> + <span className="font-(family-name:--font-mono) text-3xl font-bold leading-none tabular-nums text-foreground sm:text-4xl"> + 300 + </span> + <span className="text-lg text-muted-foreground">+</span> + </div> + <p className="mt-1 text-[12px] text-muted-foreground sm:text-[13px]"> + hours of research + </p> + </div> + </div> + </div> + </BentoCard> + </div> + </div> + </section> + ); +} diff --git a/app/(main)/_landing/tech-stack.tsx b/app/(main)/_landing/tech-stack.tsx new file mode 100644 index 00000000..d7a1f713 --- /dev/null +++ b/app/(main)/_landing/tech-stack.tsx @@ -0,0 +1,20 @@ +"use client"; + +const technologies = ["React", "Next.js", "Tailwind CSS", "Motion"]; + +export default function TechStack() { + return ( + <div className="flex flex-col items-center gap-4 py-12"> + <p className="text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground"> + Built for modern React + </p> + <div className="flex flex-wrap items-center justify-center gap-6"> + {technologies.map((tech) => ( + <span key={tech} className="text-sm font-medium text-[hsl(var(--text-secondary))]"> + {tech} + </span> + ))} + </div> + </div> + ); +} diff --git a/app/(main)/_landing/testimonials.tsx b/app/(main)/_landing/testimonials.tsx new file mode 100644 index 00000000..05578734 --- /dev/null +++ b/app/(main)/_landing/testimonials.tsx @@ -0,0 +1,80 @@ +"use client"; + +import { Quote } from "lucide-react"; + +const testimonials: { + comment: string; + author: string; +}[] = [ + { + comment: + "Animata looks amazing! The collection of animations and ease of customization are impressive. Kudos to the team for delivering such a fresh and useful resource! \u{1F31F}", + author: "Nik Italiya", + }, + { + comment: "Finally, something fresh and not either a clone of shadcn or aceternity ui", + author: "jack", + }, + { + comment: "This is so cool \u{1F60D}\u{1F64C}", + author: "Sabin Baniya", + }, + { + comment: "Added to the favorites \u{1F60D}", + author: "Diego Ramiro", + }, + { + comment: + "I have to be honest, the UI is delivering the widgets and components very nicely. I really like it \u{2014} kudos from me \u{1F44D}\u{1F3FB}", + author: "Shriansh Agarwal", + }, + { + comment: "I will use Animata library from now in my all next projects.", + author: "Raja Junaid", + }, + { + comment: "I love it !!", + author: "Guillaume Robert", + }, + { + comment: "Great animations, super easy to integrate. Bookmarked for all future projects.", + author: "Aman Raj", + }, + { + comment: "Exactly what I was looking for — copy paste components that don't look generic.", + author: "Sara K.", + }, +]; + +function Testimonial({ comment, author }: { comment: string; author: string }) { + return ( + <div className="flex w-full gap-3 rounded-2xl border border-border bg-[hsl(var(--surface-card))] p-5 text-[14px] leading-relaxed transition-colors duration-300 hover:border-foreground/20 sm:p-6"> + <div className="flex-1"> + {comment} + <div className="mt-3 text-[13px] font-medium text-muted-foreground">— {author}</div> + </div> + <Quote aria-hidden="true" className="size-5 flex-shrink-0 text-foreground/5" /> + </div> + ); +} + +export default function Testimonials() { + return ( + <div className="border-t border-border py-20 sm:py-24 lg:py-32"> + <div className="mx-auto max-w-6xl px-6"> + <div className="mb-12 sm:mb-14"> + <h2 className="font-[family-name:var(--font-display)] text-[clamp(28px,5vw,44px)] leading-[1] text-foreground"> + Loved by developers + <br /> + <span className="text-muted-foreground">worldwide.</span> + </h2> + </div> + <div className="grid auto-rows-fr grid-cols-1 gap-3 sm:grid-cols-2 sm:gap-4 lg:grid-cols-3"> + {testimonials.map(({ comment, author }, index) => ( + <Testimonial key={index} comment={comment} author={author} /> + ))} + </div> + </div> + </div> + ); +} 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/(main)/_landing/why-animata.tsx b/app/(main)/_landing/why-animata.tsx new file mode 100644 index 00000000..0a478f86 --- /dev/null +++ b/app/(main)/_landing/why-animata.tsx @@ -0,0 +1,47 @@ +"use client"; + +const cards = [ + { + title: "Copy & Paste", + description: "Grab any component in seconds. No npm install, no dependencies to manage.", + }, + { + title: "Fully Customizable", + description: "Built with Tailwind CSS. Every prop, every style is yours to change.", + }, + { + title: "Free & Open Source", + description: "MIT licensed, community-driven. 194+ components and growing.", + }, +]; + +export default function WhyAnimata() { + return ( + <section className="bg-[hsl(var(--surface-alt))] py-[100px] max-md:py-16"> + <div className="container mx-auto px-4"> + <div className="mx-auto mb-12 max-w-xl text-center"> + <p className="text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground"> + Why Animata + </p> + <h2 className="mt-2 text-[clamp(28px,4vw,40px)] font-semibold tracking-tight text-foreground"> + Everything you need, nothing you don't + </h2> + </div> + + <div className="mx-auto grid max-w-4xl gap-5 md:grid-cols-3"> + {cards.map((card) => ( + <div + key={card.title} + className="rounded-[18px] bg-[hsl(var(--surface-card))] p-8 shadow-[0_1px_3px_rgba(0,0,0,0.04),0_4px_12px_rgba(0,0,0,0.06)] transition-shadow duration-300 hover:shadow-[0_2px_8px_rgba(0,0,0,0.06),0_8px_24px_rgba(0,0,0,0.10)]" + > + <h3 className="text-lg font-semibold text-foreground">{card.title}</h3> + <p className="mt-2 text-[15px] leading-relaxed text-[hsl(var(--text-secondary))]"> + {card.description} + </p> + </div> + ))} + </div> + </div> + </section> + ); +} 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/(main)/_landing/wound-and-promise.tsx b/app/(main)/_landing/wound-and-promise.tsx new file mode 100644 index 00000000..7ad1e28c --- /dev/null +++ b/app/(main)/_landing/wound-and-promise.tsx @@ -0,0 +1,52 @@ +const steps = [ + { + number: "1", + title: "Browse", + description: "Pick any component from 194+ options", + }, + { + number: "2", + title: "Copy", + description: "One click copies the code. No npm install.", + }, + { + number: "3", + title: "Ship", + description: "Paste into your project. It just works.", + }, +]; + +export default function WoundAndPromise() { + return ( + <section className="py-[100px] max-md:py-16"> + <div className="mx-auto max-w-5xl px-6"> + <div className="flex flex-col gap-12 lg:flex-row lg:items-start lg:gap-20"> + {/* Left — heading */} + <div className="lg:max-w-[280px] lg:pt-2"> + <h2 className="font-[family-name:var(--font-display)] text-[clamp(2rem,5vw,2.75rem)] leading-[1] tracking-[-0.02em] text-foreground"> + How it works + </h2> + <p className="mt-3 text-[15px] leading-[1.5] text-[hsl(var(--text-secondary))]"> + No packages. No config. No breaking changes. + </p> + </div> + + {/* Right — numbered steps, no cards */} + <div className="flex flex-1 flex-col gap-8 sm:flex-row sm:gap-12"> + {steps.map((step) => ( + <div key={step.number} className="flex-1"> + <span className="text-[13px] font-bold text-[hsl(var(--accent))]"> + 0{step.number} + </span> + <h3 className="mt-1 text-[17px] font-bold text-foreground">{step.title}</h3> + <p className="mt-1.5 text-[14px] leading-relaxed text-[hsl(var(--text-secondary))]"> + {step.description} + </p> + </div> + ))} + </div> + </div> + </div> + </section> + ); +} 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 85% rename from app/docs/[[...slug]]/page.tsx rename to app/(main)/docs/[[...slug]]/page.tsx index d344b1de..b6c31e98 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,23 +69,27 @@ 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]"> + <main + id="main-content" + className="relative py-6 lg:gap-10 lg:py-8 xl:grid xl:grid-cols-[1fr_150px]" + > <div className="mx-auto w-full min-w-0"> <div className="mb-4 flex items-center space-x-1 text-sm text-muted-foreground"> <div className="overflow-hidden text-ellipsis whitespace-nowrap">Docs</div> @@ -100,7 +103,7 @@ export default async function DocPage({ params }: DocPageProps) { <div className="space-y-2"> <h1 className={cn("scroll-m-20 text-4xl font-bold tracking-tight")}>{doc.title}</h1> {doc.description && ( - <p className="text-lg text-muted-foreground"> + <p className="w-full text-muted-foreground"> <Balancer>{doc.description}</Balancer> </p> )} @@ -144,11 +147,11 @@ export default async function DocPage({ params }: DocPageProps) { )} </div> ) : null} - <div className="relative w-fit overflow-y-hidden rounded-xl"> + <div className="relative w-fit overflow-y-hidden"> <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 79% rename from app/docs/layout.tsx rename to app/(main)/docs/layout.tsx index b3f90dbb..a1dc5cf1 100644 --- a/app/docs/layout.tsx +++ b/app/(main)/docs/layout.tsx @@ -9,7 +9,7 @@ interface DocsLayoutProps { export default function DocsLayout({ children }: DocsLayoutProps) { return ( <div className="border-b border-border"> - <div className="container flex-1 items-start md:grid md:grid-cols-[220px_minmax(0,1fr)] md:gap-4 lg:grid-cols-[240px_minmax(0,1fr)] lg:gap-6"> + <div className="mx-auto w-full max-w-6xl flex-1 items-start px-4 sm:px-6 md:grid md:grid-cols-[220px_minmax(0,1fr)] md:gap-4 lg:grid-cols-[240px_minmax(0,1fr)] lg:gap-6"> <aside className="fixed top-14 z-30 -ml-2 hidden h-[calc(100vh-3.5rem)] w-full shrink-0 md:sticky md:block"> <ScrollArea className="h-full py-6 pr-6 lg:py-8"> <DocsSidebarNav items={docsConfig.sidebarNav} /> 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/(main)/page.tsx b/app/(main)/page.tsx new file mode 100644 index 00000000..8da25466 --- /dev/null +++ b/app/(main)/page.tsx @@ -0,0 +1,191 @@ +"use client"; + +import Link from "next/link"; +import React, { Suspense } from "react"; + +import CarbonAds from "@/components/ads"; +import { Icons } from "@/components/icons"; +import { docsConfig } from "@/config/docs"; +import { siteConfig } from "@/config/site"; +import { cn } from "@/lib/utils"; + +import ExitIntentModal from "./_landing/exit-intent-modal"; +import OpenSourceSection from "./_landing/open-source-section"; +import Reveal from "./_landing/reveal"; +import StatsBento from "./_landing/stats-bento"; + +const Testimonials = React.lazy(() => import("./_landing/testimonials")); +const FAQSection = React.lazy(() => import("./_landing/faq-section")); +const CallToActionSection = React.lazy(() => import("./_landing/call-to-action")); + +const componentsHref = + docsConfig.mainNav.find((item) => item.title === "Components")?.href ?? "/docs"; + +function LazySection({ + component: Component, + className, +}: { + className?: string; + component: React.LazyExoticComponent<() => React.JSX.Element>; +}) { + return ( + <div className="w-full"> + <Suspense + fallback={ + <div className={cn("h-full min-h-32 w-full animate-pulse bg-foreground/5", className)} /> + } + > + <Component /> + </Suspense> + </div> + ); +} + +/* ─── Hero ─── */ +function Hero() { + return ( + <section className="px-6 pb-12 pt-16 sm:pb-16 sm:pt-20"> + <div className="mx-auto max-w-3xl text-center"> + <h1 className="font-[family-name:var(--font-display)] text-[clamp(2.75rem,7vw,4.5rem)] leading-[1.05] tracking-[-0.01em] text-foreground"> + Ship faster. + <br /> + Look better. + </h1> + <p className="mx-auto mt-6 max-w-md text-balance text-[clamp(15px,2vw,18px)] leading-[1.6] text-[hsl(var(--text-secondary))]"> + 194+ animated React components you can copy into any project. Free, open source, and ready + to use. + </p> + + <div className="mt-8 flex flex-col items-center gap-3 sm:mt-10 sm:flex-row sm:justify-center"> + <Link + href={componentsHref} + className="inline-flex w-full items-center justify-center rounded-full bg-[hsl(var(--accent))] px-8 py-3.5 text-[15px] font-semibold text-white transition-opacity hover:opacity-90 sm:w-auto" + > + Explore components + </Link> + <Link + href={siteConfig.links.github} + target="_blank" + rel="noreferrer" + className="inline-flex items-center justify-center gap-2 text-[14px] font-medium text-muted-foreground transition-colors hover:text-foreground sm:rounded-full sm:border sm:border-border sm:px-6 sm:py-3.5 sm:text-[15px] sm:text-foreground/70" + > + <Icons.gitHub className="h-4 w-4" /> + Star on GitHub + </Link> + </div> + + <p className="mt-5 text-center text-[13px] text-muted-foreground"> + <span className="mr-1.5 inline-block h-1.5 w-1.5 rounded-full bg-emerald-500" /> + 2,300+ stars · Trusted by shipping teams + </p> + + <div className="mt-8 flex justify-center"> + <CarbonAds /> + </div> + </div> + </section> + ); +} + +/* ─── Why Section ─── */ +function WhySection() { + const reasons = [ + { + title: "Skip the build step", + description: + "No npm install, nothing to update. Copy the file into your repo and you own it from there.", + }, + { + title: "Used in real apps first", + description: + "Every component came out of a real product before it reached the library. If it's in here, it already had a user.", + }, + { + title: "Accessibility, already in", + description: + "Keyboard focus, screen reader labels, reduced-motion fallbacks. All wired in before you copy anything.", + }, + ]; + + return ( + <section className="border-t border-border bg-[hsl(var(--surface-alt))] py-20 sm:py-24 lg:py-32"> + <div className="mx-auto max-w-6xl px-6"> + <h2 className="font-[family-name:var(--font-display)] text-[clamp(28px,5vw,44px)] leading-[1] text-foreground"> + Why teams + <br /> + <span className="text-muted-foreground">choose animata.</span> + </h2> + + <div className="mt-14 grid gap-10 sm:mt-16 sm:grid-cols-3 sm:gap-8"> + {reasons.map((reason, i) => ( + <div key={reason.title} className="border-t border-border pt-6"> + <span className="font-[family-name:var(--font-mono)] text-[13px] text-muted-foreground"> + 0{i + 1} + </span> + <h3 className="mt-2 text-[18px] font-semibold text-foreground sm:text-[20px]"> + {reason.title} + </h3> + <p className="mt-3 text-[15px] leading-[1.6] text-muted-foreground"> + {reason.description} + </p> + </div> + ))} + </div> + + <div className="mt-12 sm:mt-14"> + <Link + href={componentsHref} + className="text-[15px] font-medium text-[hsl(var(--link))] transition-colors hover:text-[hsl(var(--link-hover))]" + > + See all 194+ components → + </Link> + </div> + </div> + </section> + ); +} + +/* ─── Page ─── */ +export default function IndexPage() { + return ( + <div id="main-content" className="relative overflow-x-clip bg-background"> + <ExitIntentModal /> + + {/* 1. Hook — "Components that feel alive" + one demo */} + <Hero /> + + {/* 2. Proof — numbers + ecosystem */} + <StatsBento /> + + {/* 3. Why — value props */} + <WhySection /> + + {/* 4. Open source — contributors + stats */} + <OpenSourceSection /> + + {/* 5. Trust — testimonials */} + <LazySection component={Testimonials} className="min-h-96" /> + + {/* Mid-page CTA */} + <div className="border-y border-border bg-[hsl(var(--surface-alt))] py-16 text-center sm:py-20"> + <p className="text-[15px] text-muted-foreground"> + Ready to make your interfaces stand out? + </p> + <div className="mt-4"> + <Link + href={componentsHref} + className="inline-flex items-center justify-center rounded-full bg-[hsl(var(--accent))] px-7 py-3 text-[15px] font-semibold text-white transition-opacity hover:opacity-90" + > + Explore components + </Link> + </div> + </div> + + {/* FAQ */} + <LazySection component={FAQSection} className="min-h-96" /> + + {/* CTA */} + <LazySection component={CallToActionSection} className="min-h-48" /> + </div> + ); +} 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/_landing/call-to-action.tsx b/app/_landing/call-to-action.tsx deleted file mode 100644 index 1848ba8b..00000000 --- a/app/_landing/call-to-action.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { useEffect, useRef, useState } from "react"; -import Link from "next/link"; -import { useInView } from "framer-motion"; -import { Navigation } from "lucide-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); - const isInView = useInView(headerRef); - const [key, setKey] = useState(0); - - useEffect(() => { - if (isInView) { - setKey((prev) => prev + 1); - } - }, [isInView]); - - return ( - <section className="flex w-full flex-col gap-4 px-4 py-16 md:py-20"> - <ComponentLinkWrapper link="/docs/text/gibberish-text" className="mx-auto"> - <h1 - ref={headerRef} - className="mx-auto w-fit px-0 py-4 text-center font-mono text-xl font-bold sm:text-3xl md:text-5xl" - > - <RemountOnMouseIn> - <GibberishText key={`in_${key}`} text="Start building today" /> - </RemountOnMouseIn> - </h1> - </ComponentLinkWrapper> - - <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" - > - <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"> - <AnimatedGradientText>Explore Components</AnimatedGradientText> - </div> - </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" - > - <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"> - <AnimatedGradientText>View code on GitHub</AnimatedGradientText> - </div> - </Link> - </div> - </section> - ); -} diff --git a/app/_landing/faq-section.tsx b/app/_landing/faq-section.tsx deleted file mode 100644 index e2b510e1..00000000 --- a/app/_landing/faq-section.tsx +++ /dev/null @@ -1,108 +0,0 @@ -import Link from "next/link"; -import { useTheme } from "next-themes"; - -import BoldCopy from "@/animata/text/bold-copy"; -import ComponentLinkWrapper from "@/components/component-link-wrapper"; -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "@/components/ui/accordion"; - -import Highlight from "./highlight"; - -const faq = [ - { - question: "What is Animata?", - answer: - "Animata is a curated collection of hand-crafted animations, effects, and interactions that you can seamlessly integrate into your project with a simple copy and paste.", - }, - { - question: "Who is this for?", - answer: - "Animata is designed for developers of all skill levels, from beginners to professionals, who want to enhance their websites with animations without spending extensive time on development.", - }, - { - question: "How much does it cost?", - answer: - "Animata is completely free and open-source. You can use it in both personal and commercial projects.", - }, - { - question: "Why should I care?", - answer: ( - <span> - Small animations can significantly enhance the user experience by making websites more - engaging and enjoyable. Animata offers a diverse collection of{" "} - <Highlight>animations</Highlight>, <Highlight>effects</Highlight>, and{" "} - <Highlight>interactions</Highlight> to elevate your projects effortlessly. - </span> - ), - }, - { - question: "I can make these myself. Why should I use this?", - answer: - "While you certainly can create animations yourself, using Animata saves you time and effort. Plus, you can learn from our implementations and even contribute to improving them.", - }, - { - question: "Sounds amazing, how do I use it?", - answer: ( - <span> - Simply copy the code snippets provided on the Animata website and paste them into your - project. It's that easy! Check out the{" "} - <Link className="text-blue-500 hover:text-blue-700" href="/docs"> - documentation - </Link>{" "} - for more details. - </span> - ), - }, -]; - -function FaqItem({ index }: { index: number }) { - const item = faq[index]; - return ( - <AccordionItem value={`question-${index}`} className="w-full px-4 md:px-0"> - <AccordionTrigger className="w-full"> - <span className="inline-block text-sm font-medium md:text-base">{item.question}</span> - </AccordionTrigger> - <AccordionContent> - <div className="text-gray-900 dark:text-slate-50">{item.answer}</div> - </AccordionContent> - </AccordionItem> - ); -} - -export default function FAQSection() { - const { resolvedTheme } = useTheme(); - const color = resolvedTheme === "dark" ? "#ffffff12" : "#444cf710"; - return ( - <div - className="relative border-b border-t border-border pb-4" - style={{ - backgroundImage: `radial-gradient(${color} 1px, transparent 1px)`, - backgroundSize: "calc(10px) calc(10px)", - }} - > - <div className="absolute inset-0 left-1/2 z-0 aspect-square h-[120%] -translate-x-1/2 rounded-full bg-gradient-to-br from-gray-100 to-gray-50 blur-3xl dark:from-zinc-900 dark:to-zinc-800" /> - <section id="faq" className="mx-auto flex max-w-xl flex-col gap-4 py-16"> - <ComponentLinkWrapper className="mx-auto px-4" link="/docs/text/bold-copy"> - <BoldCopy - text="FAQ" - textClassName="leading-none" - backgroundTextClassName="leading-none" - className="bg-transparent" - /> - <div className="relative z-10 -mt-2 block text-center text-xs leading-none text-muted-foreground md:-mt-4 md:text-base"> - You ask. We answer. - </div> - </ComponentLinkWrapper> - <Accordion collapsible type="single" className="relative"> - {faq.map((_, index) => { - return <FaqItem key={`item-${index}`} index={index} />; - })} - </Accordion> - </section> - </div> - ); -} diff --git a/app/_landing/hero-title.tsx b/app/_landing/hero-title.tsx deleted file mode 100644 index c3ea52fb..00000000 --- a/app/_landing/hero-title.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Anaheim } from "next/font/google"; - -import WaveReveal from "@/animata/text/wave-reveal"; -import ComponentLinkWrapper from "@/components/component-link-wrapper"; -import { cn } from "@/lib/utils"; - -const titleFont = Anaheim({ - subsets: ["latin"], - weight: ["400"], -}); - -export default function HeroTitle() { - return ( - <div className="group relative z-10 inline-block"> - <ComponentLinkWrapper link="/docs/text/wave-reveal"> - <WaveReveal - text="animata" - className={cn( - "select-none px-0 text-7xl uppercase text-blue-700 transition-opacity delay-1000 dark:text-blue-500 md:px-0 md:text-8xl", - titleFont.className, - )} - delay={0} - direction="up" - duration="300ms" - /> - </ComponentLinkWrapper> - </div> - ); -} diff --git a/app/_landing/hero.tsx b/app/_landing/hero.tsx deleted file mode 100644 index 23b1264e..00000000 --- a/app/_landing/hero.tsx +++ /dev/null @@ -1,101 +0,0 @@ -import Link from "next/link"; - -import CarbonAds from "@/components/ads"; -import { Icons } from "@/components/icons"; -import { PageHeaderDescription } from "@/components/page-header"; -import { buttonVariants } from "@/components/ui/button"; -import { siteConfig } from "@/config/site"; -import { cn } from "@/lib/utils"; - -import HeroTitle from "./hero-title"; - -function Pill({ children, className }: { children: React.ReactNode; className?: string }) { - return ( - <div - className={cn( - "absolute hidden origin-center items-center justify-center rounded-full border-2 border-border bg-background/90", - "px-4 py-2 text-sm font-semibold text-foreground shadow-lg duration-1000 ease-minor-spring animate-in fade-in-0 zoom-in-150 md:flex", - className, - )} - > - {children} - </div> - ); -} - -export default function Hero() { - return ( - <div className="relative overflow-visible pt-16"> - <div - className="absolute inset-0 hidden aspect-square min-h-full w-[1200%] opacity-25 duration-1000 ease-in-out animate-in fade-in-0 dark:opacity-75 dark:mix-blend-soft-light dark:brightness-150 md:block md:w-[120%]" - style={{ - backgroundImage: `radial-gradient(at 88% 11%, hsla(166,69%,67%,1) 0px, transparent 50%), - radial-gradient(at 56% 93%, hsla(295,72%,68%,1) 0px, transparent 50%), - radial-gradient(at 87% 28%, hsla(210,89%,62%,1) 0px, transparent 50%), - radial-gradient(at 75% 83%, hsla(332,84%,75%,1) 0px, transparent 50%), - radial-gradient(at 33% 39%, hsla(124,65%,76%,1) 0px, transparent 50%), - radial-gradient(at 62% 69%, hsla(133,75%,79%,1) 0px, transparent 50%), - 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="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 /> - - <PageHeaderDescription className="relative mx-auto mb-4 w-fit duration-1000 ease-minor-spring animate-in fade-in-0 slide-in-from-bottom-3"> - Hand-crafted ✍️ interaction animations and effects from around the internet 🛜 to{" "} - <span className="underline decoration-wavy underline-offset-8">copy</span> and{" "} - <span className="underline decoration-wavy underline-offset-8">paste</span> into your - project. - </PageHeaderDescription> - <div className="relative mb-6 mt-3 flex items-start gap-4 duration-1000 ease-minor-spring animate-in fade-in-0 slide-in-from-bottom-3"> - <Link href="/docs/setup" className={cn(buttonVariants())}> - Get started - </Link> - <Link - target="_blank" - rel="noreferrer" - href={siteConfig.links.github} - className={cn(buttonVariants({ variant: "outline" }))} - > - <Icons.gitHub className="mr-2 h-4 w-4" /> - Star us on GitHub - </Link> - </div> - </div> - </div> - - <Pill className="left-12 top-20 rotate-3">80+ components</Pill> - <Pill className="right-12 top-20 -translate-y-1/2 -rotate-6">1000+ stars</Pill> - <Pill className="bottom-12 left-12 -rotate-6">1033+ hours of development</Pill> - <Pill className="right-8 top-1/2 -translate-y-1/2">250+ hours of research</Pill> - - <div className="mt-12 sm:absolute sm:left-12 sm:top-1/2 sm:mt-0 sm:w-32 sm:-translate-y-1/2"> - <CarbonAds /> - </div> - <Pill className="bottom-24 right-12 aspect-square -translate-x-full -translate-y-full p-2"> - <Icons.tailwind className="size-6" /> - </Pill> - <Pill className="bottom-12 right-12 aspect-square translate-x-1/2 translate-y-1/2 p-1"> - <Icons.framerMotion className="size-6" /> - </Pill> - <Pill className="right-12 top-32 aspect-square translate-y-full p-1"> - <Icons.reactJS className="size-8" /> - </Pill> - <svg className="hidden"> - <filter id="noise"> - <feTurbulence - type="fractalNoise" - baseFrequency=".8" - numOctaves="4" - stitchTiles="stitch" - ></feTurbulence> - <feColorMatrix type="saturate" values="0"></feColorMatrix> - </filter> - <rect width="100%" height="100%" filter="url(#noise)"></rect> - </svg> - </div> - </div> - ); -} diff --git a/app/_landing/section-one.tsx b/app/_landing/section-one.tsx deleted file mode 100644 index 53ee4491..00000000 --- a/app/_landing/section-one.tsx +++ /dev/null @@ -1,126 +0,0 @@ -"use client"; - -import React, { Suspense } from "react"; -import { useTheme } from "next-themes"; - -import GithubCardShiny from "@/animata/card/github-card-shiny"; -import GithubCardSkew from "@/animata/card/github-card-skew"; -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 { ComponentCard } from "@/components/component-card"; -const WidgetSection = React.lazy(() => import("./widget-section")); - -export default function SectionOne() { - const { resolvedTheme } = useTheme(); - return ( - <div className="bg-transparent duration-1000 ease-in-out animate-in fade-in-0 slide-in-from-bottom-16"> - <div className="flex flex-col items-center justify-center gap-1 py-12 text-foreground"> - <h4 className="text-4xl font-medium md:text-5xl lg:text-7xl"> - <AnimatedGradientText className="bg-gradient-to-br from-foreground/50 via-foreground/60 to-foreground/80"> - Checkout the demo below - </AnimatedGradientText> - </h4> - <small className="max-w-xs text-balance text-center text-muted-foreground duration-500 md:max-w-md"> - <strong>Tip</strong>: Use the view button to see the source. - </small> - </div> - - <GridView> - <ComponentCard - className="h-full" - name="Border trail" - href="/docs/container/animated-border-trail" - > - <AnimatedBorderTrail - trailColor={resolvedTheme === "dark" ? "#ff0" : "purple"} - className="border border-border bg-gray-100 dark:bg-zinc-500" - contentClassName="bg-gray-100 dark:bg-zinc-700" - > - <div className="flex-1 p-3"> - No longer wasting hours 🕕 looking for the inspiration or trying to write everything - from scratch 📝. - </div> - <div className="m-3 rounded-xl bg-gray-50 px-4 py-3 font-mono text-sm text-black dark:bg-zinc-800 dark:text-white"> - <div> - <span className="font-semibold text-blue-400 dark:text-blue-200">time.</span> - saved = <span className="font-bold text-blue-400">true</span>; - </div> - <span className="block"> - <span className="font-semibold text-blue-400 dark:text-blue-200">frustration</span> - --; - </span> - <span className="block"> - <span className="font-semibold text-blue-400 dark:text-blue-200">happiness</span> - ++; - </span> - - <span className="block"> - <span className="font-semibold text-blue-400 dark:text-blue-200">productivity</span> - ++; - </span> - </div> - </AnimatedBorderTrail> - </ComponentCard> - - <div className="flex w-full flex-1 flex-col gap-4"> - <ComponentCard name="Mirror text" className="w-full" href="/docs/text/mirror-text"> - <div className="mx-auto w-fit rounded-xl border border-border bg-gray-100 shadow-xl dark:border-zinc-600 dark:bg-zinc-700"> - <MirrorText - containerClassName="px-3 py-2" - className="text-xl sm:text-2xl md:text-3xl" - text="Awesomeness" - /> - </div> - </ComponentCard> - - <ComponentCard name="Typing text" href="/docs/text/typing-text"> - <div className="flex flex-col rounded-xl border border-border bg-gray-100 dark:border-zinc-600 dark:bg-zinc-700 lg:col-span-2"> - {/** Window */} - <div className="flex gap-1.5 border-b border-border p-4 dark:border-zinc-600"> - <span className="h-3 w-3 transform rounded-full bg-red-500 transition-transform duration-150 hover:scale-110" /> - <span className="h-3 w-3 transform rounded-full bg-yellow-500 transition-transform duration-150 hover:scale-110" /> - <span className="h-3 w-3 transform rounded-full bg-green-500 transition-transform duration-150 hover:scale-110" /> - </div> - {/** Code */} - <div className="group w-full p-4 font-mono text-sm"> - <div className="mt-2 line-clamp-1"> - <span className="font-medium text-yellow-600 dark:text-yellow-500">import</span>{" "} - <span className="transition-all group-hover:animate-pulse group-hover:text-blue-600 dark:group-hover:text-blue-400"> - BoldCopy - </span>{" "} - <span className="font-medium text-yellow-600 dark:text-yellow-500">from</span>{" "} - "@/animata/text/bold-copy" - </div> - - <TypingText className="my-2 w-full" text='<BoldCopy text="Animata" />' /> - </div> - </div> - </ComponentCard> - </div> - </GridView> - - <GridView> - <ComponentCard name="Shiny card" href="/docs/card/github-card-shiny"> - <GithubCardShiny className="mx-auto max-w-80 rounded-3xl" /> - </ComponentCard> - - <ComponentCard name="Skew card" href="/docs/card/github-card-skew"> - <GithubCardSkew className="mx-auto" /> - </ComponentCard> - </GridView> - - <Suspense - fallback={ - <ComponentCard rounded={false} className="my-4" name="Widgets" href="/docs/widget"> - <div className="h-52 w-full animate-pulse bg-gray-100 dark:bg-zinc-600" /> - </ComponentCard> - } - > - <WidgetSection /> - </Suspense> - </div> - ); -} diff --git a/app/_landing/section-two.tsx b/app/_landing/section-two.tsx deleted file mode 100644 index 106a3026..00000000 --- a/app/_landing/section-two.tsx +++ /dev/null @@ -1,52 +0,0 @@ -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 { ComponentCard } from "@/components/component-card"; -import ComponentLinkWrapper from "@/components/component-link-wrapper"; - -export default function SectionTwo() { - return ( - <> - <GridView> - <ComponentCard name="Gradient text" href="/docs/text/animated-gradient-text"> - <AnimatedGradientText className="text-4xl font-black uppercase md:text-5xl lg:text-9xl"> - HELLO - </AnimatedGradientText> - </ComponentCard> - - <ComponentCard name="Split text" href="/docs/text/split-text"> - <SplitText text="HOVER" /> - </ComponentCard> - </GridView> - - <GridView> - <ComponentCard name="Animated beam" href="/docs/background/animated-beam"> - <AnimatedBeam className="rounded-3xl"> - <ComponentLinkWrapper - link="/docs/background/animated-beam" - className="flex min-h-96 w-full flex-col items-center justify-center text-xl font-bold text-white md:text-3xl" - > - <span> - Free <span className="inline-block rotate-6 text-lg">&</span> - </span> - <span>Open source</span> - </ComponentLinkWrapper> - </AnimatedBeam> - </ComponentCard> - - <ComponentCard name="Interactive grid" href="/docs/background/interactive-grid"> - <InteractiveGrid - className="flex min-h-96 items-center" - contentClassName="pointer-events-none" - > - <div className="pointer-events-none flex h-full max-w-sm items-center text-balance p-3 text-center text-base text-zinc-800 md:text-xl"> - Hover the small squares to see the background effect. - </div> - </InteractiveGrid> - </ComponentCard> - </GridView> - </> - ); -} diff --git a/app/_landing/testimonials.tsx b/app/_landing/testimonials.tsx deleted file mode 100644 index 66dee1a1..00000000 --- a/app/_landing/testimonials.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { useRef } from "react"; -import { useTheme } from "next-themes"; -import { useInView } from "framer-motion"; -import { Quote } from "lucide-react"; - -import { cn } from "@/lib/utils"; - -const testimonials: { - comment: string; - author: string; -}[] = [ - { - comment: - "Animata looks amazing! The collection of animations and ease of customization are impressive. Kudos to the team for delivering such a fresh and useful resource! 🌟", - author: "Nik Italiya", - }, - { - comment: "Finally, something fresh and not either a clone of shadcn or aceternity ui", - author: "jack", - }, - { - comment: "This is so cool 😍🙌", - author: "Sabin Baniya", - }, - { - comment: "Added to the favorites 😍", - author: "Diego Ramiro", - }, - { - comment: - "I have to be honest, the UI is delivering the widgets and components very nicely. I really like it—kudos from me 👍🏻", - author: "Shriansh Agarwal", - }, - { - comment: "I will use Animata library from now in my all next projects.", - author: "Raja Junaid", - }, - { - comment: "I love it !!", - author: "Guillaume Robert", - }, -]; - -function Testimonial({ - comment, - author, - className, -}: { - comment: string; - author: string; - className?: string; -}) { - const divRef = useRef<HTMLDivElement>(null); - const isInView = useInView(divRef, { - once: true, - }); - return ( - <div - ref={divRef} - key={`${isInView}-${author}`} - className={cn( - "flex h-fit w-fit max-w-sm flex-shrink-0 transform gap-2 rounded-xl border-2 border-border bg-background p-3 text-sm transition-all duration-1000 ease-in-out animate-in", - className, - )} - > - <div className="flex-1"> - {comment} - <div className="mt-2 font-semibold">{author}</div> - </div> - <Quote className="size-10 flex-shrink-0 opacity-5 dark:opacity-10" /> - </div> - ); -} - -export default function Testimonials() { - const { theme } = useTheme(); - const lineColor = theme === "dark" ? "#ffffff12" : "#444cf710"; - - return ( - <div - className="relative -mt-4 flex flex-col gap-2 overflow-hidden px-4 py-16" - style={{ - backgroundImage: `linear-gradient(${lineColor} 1px, transparent 1px), linear-gradient(to right, ${lineColor} 1px, transparent 1px)`, - backgroundSize: "80px 30px", - }} - > - <div className="absolute inset-0 left-1/2 z-0 h-[200%] w-3/4 -translate-x-1/2 rounded-full bg-gradient-to-b from-background to-transparent mix-blend-screen blur-3xl dark:mix-blend-darken" /> - - <h3 className="mb-6 text-center text-3xl font-bold leading-none text-foreground md:text-4xl lg:text-5xl"> - wall of love - </h3> - <div className="relative mx-auto flex max-w-3xl flex-wrap items-center justify-center gap-4"> - {testimonials.map(({ comment, author }, index) => ( - <Testimonial - className={cn({ - "slide-in-from-right-full": index % 2 === 0, - "slide-in-from-left-full": index % 2 !== 0, - })} - key={index} - comment={comment} - author={author} - /> - ))} - </div> - </div> - ); -} diff --git a/app/layout.tsx b/app/layout.tsx index c3391775..5663abef 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,15 +1,25 @@ -import { Metadata, Viewport } from "next"; +import type { Metadata, Viewport } from "next"; +import { IBM_Plex_Sans, Young_Serif } from "next/font/google"; -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"; +import "@fontsource-variable/lilex"; import "@/styles/globals.css"; +const ibmPlex = IBM_Plex_Sans({ + subsets: ["latin"], + weight: ["400", "500", "600", "700"], + variable: "--font-sans", +}); + +const youngSerif = Young_Serif({ + subsets: ["latin"], + weight: ["400"], + variable: "--font-display", +}); + export const metadata: Metadata = { title: { default: `Free & Open Source Animated ReactJS Components | ${siteConfig.name}`, @@ -78,29 +88,22 @@ 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 + className={`${ibmPlex.variable} ${youngSerif.variable}`} + > + <head /> + <body className={cn("min-h-screen bg-background antialiased", ibmPlex.className)}> + <ThemeProvider + attribute="class" + defaultTheme="system" + enableSystem + disableTransitionOnChange + > + {children} + </ThemeProvider> + </body> + </html> ); } diff --git a/app/page.tsx b/app/page.tsx deleted file mode 100644 index 26349e90..00000000 --- a/app/page.tsx +++ /dev/null @@ -1,69 +0,0 @@ -"use client"; - -import React, { Suspense } from "react"; -import { useInView } from "framer-motion"; - -import SectionOne from "@/app/_landing/section-one"; -import { cn } from "@/lib/utils"; - -import Hero from "./_landing/hero"; - -const SkeletonSection = React.lazy(() => import("./_landing/skeleton-section")); -const FAQSection = React.lazy(() => import("./_landing/faq-section")); -const CallToActionSection = React.lazy(() => import("./_landing/call-to-action")); -const Testimonials = React.lazy(() => import("./_landing/testimonials")); -const SectionTwo = React.lazy(() => import("./_landing/section-two")); - -function LazySection({ - component: Component, - className, -}: { - className?: string; - component: React.LazyExoticComponent<() => JSX.Element>; -}) { - const divRef = React.useRef<HTMLDivElement>(null); - const isInView = useInView(divRef, { - once: true, - }); - - return ( - <div - className={cn("min-h-52 w-full", { - "duration-1000 ease-in-out animate-in fade-in-0 slide-in-from-bottom-24": isInView, - })} - ref={divRef} - > - <Suspense - fallback={ - <div - className={cn( - "h-full min-h-32 w-full animate-pulse bg-foreground/10 blur-xl", - className, - )} - /> - } - > - <Component /> - </Suspense> - </div> - ); -} - -export default function IndexPage() { - return ( - <div className="relative overflow-x-hidden overflow-y-visible bg-background"> - <Hero /> - - <SectionOne /> - - <LazySection component={SectionTwo} className="container mx-auto min-h-96" /> - - <LazySection component={SkeletonSection} /> - <LazySection component={Testimonials} className="container mx-auto min-h-96" /> - - <LazySection component={FAQSection} className="container mx-auto min-h-96" /> - - <LazySection component={CallToActionSection} className="container mx-auto min-h-96" /> - </div> - ); -} 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..08c26435 100644 --- a/components/ads.tsx +++ b/components/ads.tsx @@ -1,16 +1,18 @@ "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 if ( typeof window !== "undefined" && - (window.location.hostname === "localhost" || window.location.hostname === "127.0.0.1") + (window.location.hostname === "localhost" || + window.location.hostname === "127.0.0.1" || + window.location.hostname.startsWith("100.")) ) { return; } @@ -28,11 +30,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..28c09dcf 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(); @@ -55,13 +54,13 @@ export function CommandMenu({ ...props }: DialogProps) { <Button variant="outline" className={cn( - "relative h-10 w-full justify-start gap-2 rounded-xl border-none bg-zinc-600 px-4 text-sm font-normal text-background/75 shadow-none transition-all duration-300 hover:bg-zinc-600/75 hover:text-background dark:bg-slate-200/75 dark:hover:bg-slate-200", + "relative h-9 justify-start gap-2 rounded-lg border border-border bg-[hsl(var(--surface-alt))] px-3 text-sm font-normal text-muted-foreground shadow-none transition-colors hover:bg-[hsl(var(--surface-alt))] hover:text-foreground sm:h-10 sm:w-48 sm:px-4", )} onClick={() => setOpen(true)} {...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-border bg-background px-1.5 font-mono text-[10px] font-medium text-muted-foreground sm:flex"> <span className="text-xs">⌘</span>K </kbd> </Button> diff --git a/components/component-card.tsx b/components/component-card.tsx index 3188cb8d..3b840c08 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"; @@ -19,18 +19,18 @@ export function ComponentCard({ return ( <section className={cn( - "relative flex h-full flex-col border border-border bg-gray-50 dark:border-zinc-600 dark:bg-zinc-800", + "relative flex h-full flex-col border border-border bg-gray-50 shadow-[var(--shadow-card)] transition-shadow duration-300 hover:shadow-[var(--shadow-card-hover)] dark:border-zinc-600 dark:bg-zinc-800", className, { - "rounded-xl": rounded, + "rounded-[var(--radius-card)]": rounded, }, )} > <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, + "rounded-tl-[var(--radius-card)] rounded-tr-[var(--radius-card)]": 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..7df26587 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -1,103 +1,364 @@ "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", + "tabs", + "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>; +} + +function StoryRender({ + render, + args, +}: { + render: (args: Record<string, unknown>) => React.ReactNode; + args: Record<string, unknown>; +}) { + return <>{render(args)}</>; +} + +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 }; - const { resolvedTheme } = useTheme(); + // Collect other story exports + const primaryKey = mod[exportName] ? exportName : "Primary"; + const otherStories: OtherStory[] = []; + + 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-x-auto overflow-y-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-x-auto overflow-y-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 ? ( + <StoryRender render={storyData.render} args={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-x-auto overflow-y-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-x-auto overflow-y-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:overflow-auto has-[.full-content]:p-0"> + <StoryRender render={story.render} args={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-x-auto overflow-y-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..fc815039 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,14 +21,12 @@ 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 { RegistryInstall } from "@/components/registry-install"; import { Accordion, AccordionContent, @@ -28,11 +36,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 +142,7 @@ const components = { } & NpmCommands & TouchCommands) => { if (__copyId__ && __rawString__) { - return ( - <div - id={`source-${__copyId__}`} - onClick={() => { - copyToClipboardWithMeta(__rawString__); - }} - /> - ); + return <CopyProxy id={`source-${__copyId__}`} value={__rawString__} />; } return ( @@ -131,12 +200,13 @@ const components = { ComponentPreview, ComponentExample, ComponentSource, + RegistryInstall, AspectRatio, CodeBlockWrapper: ({ ...props }) => <CodeBlockWrapper className="rounded-md border" {...props} />, 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 +275,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..a8f0ea95 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"; @@ -20,7 +20,7 @@ export function MobileNav() { <SheetTrigger asChild> <Button variant="ghost" - className="mr-2 px-0 text-base hover:bg-transparent focus-visible:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0 md:hidden" + className="mr-2 px-0 text-base text-foreground hover:bg-transparent hover:text-foreground focus-visible:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0 md:hidden" > <svg strokeWidth="1.5" diff --git a/components/mode-toggle.tsx b/components/mode-toggle.tsx index c84ccc87..23bdc08c 100644 --- a/components/mode-toggle.tsx +++ b/components/mode-toggle.tsx @@ -1,15 +1,14 @@ "use client"; +import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; import { useTheme } from "next-themes"; -import HeaderDockItem from "@/components/header-dock-item"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; export function ModeToggle() { const { setTheme } = useTheme(); @@ -17,12 +16,10 @@ export function ModeToggle() { return ( <DropdownMenu> <DropdownMenuTrigger asChild> - <button className="h-fit w-fit bg-transparent"> - <HeaderDockItem whileTap={{}}> - <SunIcon className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" /> - <MoonIcon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" /> - <span className="sr-only">Toggle theme</span> - </HeaderDockItem> + <button className="inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:h-10 sm:w-10"> + <SunIcon className="h-[18px] w-[18px] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" /> + <MoonIcon className="absolute h-[18px] w-[18px] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" /> + <span className="sr-only">Toggle theme</span> </button> </DropdownMenuTrigger> <DropdownMenuContent align="end"> 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/registry-install.tsx b/components/registry-install.tsx new file mode 100644 index 00000000..f0126d84 --- /dev/null +++ b/components/registry-install.tsx @@ -0,0 +1,52 @@ +"use client"; + +import { CopyNpmCommandButton } from "@/components/copy-button"; +import { siteConfig } from "@/config/site"; +import { cn } from "@/lib/utils"; + +type PackageManager = "pnpm" | "npm" | "yarn" | "bun"; + +const REGISTRY_BASE_URL = (process.env.NEXT_PUBLIC_APP_URL || siteConfig.url).replace(/\/$/, ""); + +interface RegistryInstallProps { + category: string; + name: string; + className?: string; +} + +export function RegistryInstall({ category, name, className }: RegistryInstallProps) { + const url = `${REGISTRY_BASE_URL}/r/${category}/${name}.json`; + const commands: Record<PackageManager, string> = { + pnpm: `pnpm dlx shadcn@latest add ${url}`, + npm: `npx shadcn@latest add ${url}`, + yarn: `yarn dlx shadcn@latest add ${url}`, + bun: `bunx shadcn@latest add ${url}`, + }; + + return ( + <pre + className={cn( + "w-full grid grid-cols-[1fr_auto] mt-4 rounded-lg bg-zinc-800 p-4 [&_code]:bg-transparent", + className, + )} + > + <code + className={cn( + "relative rounded max-w-full overflow-x-auto bg-zinc-800 px-2 py-[0.2rem] font-mono text-sm text-white", + className, + )} + > + {commands.pnpm} + </code> + + <CopyNpmCommandButton + commands={{ + __npmCommand__: commands.npm, + __yarnCommand__: commands.yarn, + __pnpmCommand__: commands.pnpm, + __bunCommand__: commands.bun, + }} + /> + </pre> + ); +} 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..25c6f8a2 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"; @@ -11,7 +11,7 @@ export function SiteFooter() { const pathname = usePathname(); return ( <footer - className={cn("container mb-36 flex flex-col justify-between py-4 md:py-6", { + className={cn("container flex flex-col justify-between pb-12 pt-4 md:pb-16 md:pt-6", { "border-t border-t-border": pathname === "/", })} > diff --git a/components/site-header.tsx b/components/site-header.tsx index 80fa9ac6..bfc0be24 100644 --- a/components/site-header.tsx +++ b/components/site-header.tsx @@ -1,15 +1,10 @@ "use client"; -import { useRef } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; -import { useTheme } from "next-themes"; -import { CodeIcon } from "lucide-react"; +import { useEffect, useState } from "react"; -import AnimatedBorderTrail from "@/animata/container/animated-border-trail"; import { CommandMenu } from "@/components/command-menu"; -import HeaderDockItem from "@/components/header-dock-item"; import { Icons } from "@/components/icons"; -import { MainNav } from "@/components/main-nav"; import { MobileNav } from "@/components/mobile-nav"; import { ModeToggle } from "@/components/mode-toggle"; import { docsConfig } from "@/config/docs"; @@ -17,95 +12,93 @@ import { siteConfig } from "@/config/site"; import { cn } from "@/lib/utils"; export function SiteHeader() { - const { resolvedTheme } = useTheme(); - const headerRef = useRef<HTMLDivElement>(null); const pathname = usePathname(); const isIndexPage = pathname === "/"; + const [scrolled, setScrolled] = useState(false); - const styles = { - // Once the animation ends, use CSS to properly position the header - top: "calc(100dvh - 96px)", - width: "fit-content", - height: "fit-content", - transform: "translateX(-50%)", - }; + useEffect(() => { + const onScroll = () => setScrolled(window.scrollY > 20); + onScroll(); + window.addEventListener("scroll", onScroll, { passive: true }); + return () => window.removeEventListener("scroll", onScroll); + }, []); return ( <> - <div - className={cn("h-fit w-full", { - "absolute left-0 top-2 z-10": isIndexPage, - "py-2": !isIndexPage, - })} + {/* Skip to content — accessibility */} + <a + href="#main-content" + className="sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-[100] focus:rounded-md focus:bg-background focus:px-4 focus:py-2 focus:text-sm focus:font-medium focus:text-foreground focus:shadow-lg" > - <div - className={cn( - "container flex w-full justify-between gap-4 border-b border-foreground/10 bg-background/15 py-2 backdrop-blur", - )} - > - <div className="flex items-center space-x-4"> - <Link href="/"> - <Icons.logo className="h-8 w-8" /> - </Link> - {docsConfig.mainNav.map((item, index) => ( - <Link - key={index} - href={item.href as string} - className="text-sm font-medium text-muted-foreground hover:underline" - > - {item.title} - </Link> - ))} - </div> - <AnimatedBorderTrail - trailColor={resolvedTheme === "dark" ? "white" : "black"} - className="rounded-full bg-foreground/30 p-0.5 transition-all duration-100 hover:scale-105 hover:opacity-95 active:scale-90 active:opacity-100" - contentClassName="rounded-full bg-transparent " - > - <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" - > - Star us <span className="hidden sm:inline">on GitHub</span> - </Link> - </AnimatedBorderTrail> - </div> - </div> + Skip to content + </a> + <header - style={styles} className={cn( - "fixed left-1/2 z-50 mx-auto rounded-2xl border border-muted-foreground bg-zinc-700 text-background shadow-sm shadow-muted-foreground dark:bg-white", + "sticky top-0 z-50 w-full border-b bg-background/80 backdrop-blur-lg backdrop-saturate-150 transition-[background-color,border-color] duration-300", + scrolled ? "border-border/50" : "border-transparent", + isIndexPage && !scrolled && "bg-transparent", )} > - <div ref={headerRef} className="flex h-14 w-fit max-w-fit items-center px-2"> - <MainNav /> - <MobileNav /> - <div className="flex flex-1 items-center justify-between space-x-2"> - <div className="w-full flex-1 md:w-auto md:flex-none"> - <CommandMenu /> - </div> - <nav className="flex items-center gap-2"> - <Link href={docsConfig.mainNav[1].href ?? ""} rel="noreferrer"> - <HeaderDockItem> - <CodeIcon className="h-4 w-4" /> - <span className="sr-only">Components</span> - </HeaderDockItem> - </Link> - <Link href={siteConfig.links.github} target="_blank" rel="noreferrer"> - <HeaderDockItem> - <Icons.gitHub className="h-4 w-4" /> - <span className="sr-only">GitHub</span> - </HeaderDockItem> + <div className="mx-auto flex h-14 max-w-6xl items-center justify-between px-4 sm:px-6"> + {/* Left — mobile nav + logo + nav links */} + <div className="flex items-center gap-4 sm:gap-6"> + <MobileNav /> + <Link + href="/" + className="flex items-center gap-2 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background" + aria-label="animata home" + > + <Icons.logo className="h-6 w-6" /> + <span className="text-sm font-semibold tracking-tight text-foreground">animata</span> + </Link> + <nav aria-label="Main navigation" className="hidden items-center gap-0.5 md:flex"> + {docsConfig.mainNav.map((item, index) => { + const href = item.href as string; + const isActive = href === "/" ? pathname === "/" : pathname.startsWith(href); + return ( + <Link + key={index} + href={href} + className={cn( + "rounded-md px-3 py-1.5 text-[13px] font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", + isActive + ? "bg-foreground/10 text-foreground" + : "text-muted-foreground hover:text-foreground", + )} + aria-current={isActive ? "page" : undefined} + > + {item.title} + </Link> + ); + })} + </nav> + </div> + + {/* Right — search + icons */} + <div className="flex items-center gap-1"> + <CommandMenu /> + <nav aria-label="External links" className="hidden items-center sm:flex"> + <Link + href={siteConfig.links.github} + target="_blank" + rel="noreferrer" + className="inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" + > + <Icons.gitHub className="h-[18px] w-[18px]" /> + <span className="sr-only">GitHub</span> </Link> - <Link href={siteConfig.links.twitter} target="_blank" rel="noreferrer"> - <HeaderDockItem> - <Icons.twitter className="h-3 w-3 fill-current" /> - <span className="sr-only">Twitter</span> - </HeaderDockItem> + <Link + href={siteConfig.links.twitter} + target="_blank" + rel="noreferrer" + className="inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" + > + <Icons.twitter className="h-[15px] w-[15px] fill-current" /> + <span className="sr-only">Twitter</span> </Link> - <ModeToggle /> </nav> + <ModeToggle /> </div> </div> </header> 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..8ec0ca26 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-muted focus:text-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..efb6a60c 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[]; @@ -113,6 +113,10 @@ const sidebarNav: SidebarNavItem[] = [ title: "Card", items: createLinks("card"), }, + { + title: "Tabs", + items: createLinks("tabs"), + }, { title: "Section", items: createLinks("section"), @@ -140,21 +144,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..f8a7404f 100644 --- a/content/docs/accordion/faq.mdx +++ b/content/docs/accordion/faq.mdx @@ -2,17 +2,24 @@ 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 +### CLI + +<RegistryInstall category="accordion" name="faq" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/background/animated-beam.mdx b/content/docs/background/animated-beam.mdx index 1cd73557..4725330c 100644 --- a/content/docs/background/animated-beam.mdx +++ b/content/docs/background/animated-beam.mdx @@ -4,31 +4,27 @@ 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 +### CLI + +<RegistryInstall category="background" name="animated-beam" /> + +### Manual + <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..b9dcc1cd 100644 --- a/content/docs/background/blurry-blob.mdx +++ b/content/docs/background/blurry-blob.mdx @@ -4,34 +4,28 @@ description: Animated blurry blob background author: ll4xmii --- -<ComponentPreview name="background-blurry-blob--docs" /> +<ComponentPreview name="background-blurry-blob--primary" /> ## Installation +### CLI + +<RegistryInstall category="background" name="blurry-blob" /> + +### Manual + <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..bc9a1831 100644 --- a/content/docs/background/diagonal-lines.mdx +++ b/content/docs/background/diagonal-lines.mdx @@ -4,10 +4,16 @@ description: A diagonal line background component author: harimanok_ --- -<ComponentPreview name="background-diagonal-lines--docs" /> +<ComponentPreview name="background-diagonal-lines--primary" /> ## Installation +### CLI + +<RegistryInstall category="background" name="diagonal-lines" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/background/dot.mdx b/content/docs/background/dot.mdx index 4e4dafed..e0c70365 100644 --- a/content/docs/background/dot.mdx +++ b/content/docs/background/dot.mdx @@ -4,10 +4,16 @@ description: A dot background component author: harimanok_ --- -<ComponentPreview name="background-dot--docs" /> +<ComponentPreview name="background-dot--primary" /> ## Installation +### CLI + +<RegistryInstall category="background" name="dot" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/background/grid.mdx b/content/docs/background/grid.mdx index fd3a41aa..1f5171fc 100644 --- a/content/docs/background/grid.mdx +++ b/content/docs/background/grid.mdx @@ -4,10 +4,16 @@ description: A grid background component author: harimanok_ --- -<ComponentPreview name="background-grid--docs" /> +<ComponentPreview name="background-grid--primary" /> ## Installation +### CLI + +<RegistryInstall category="background" name="grid" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/background/interactive-grid.mdx b/content/docs/background/interactive-grid.mdx index b56ea04a..7e1e0e1f 100644 --- a/content/docs/background/interactive-grid.mdx +++ b/content/docs/background/interactive-grid.mdx @@ -5,10 +5,16 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="background-interactive-grid--docs" /> +<ComponentPreview name="background-interactive-grid--primary" /> ## Installation +### CLI + +<RegistryInstall category="background" name="interactive-grid" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/background/moving-gradient.mdx b/content/docs/background/moving-gradient.mdx index c02a44f5..593da117 100644 --- a/content/docs/background/moving-gradient.mdx +++ b/content/docs/background/moving-gradient.mdx @@ -5,27 +5,27 @@ labels: ["requires config"] author: harimanok_ --- -<ComponentPreview name="background-moving-gradient--docs" /> +<ComponentPreview name="background-moving-gradient--primary" /> ## Installation +### CLI + +<RegistryInstall category="background" name="moving-gradient" /> + +### Manual + <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..6f49f8aa 100644 --- a/content/docs/background/zigzag.mdx +++ b/content/docs/background/zigzag.mdx @@ -4,20 +4,15 @@ 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))", - } - }, - }, -``` +### CLI + +<RegistryInstall category="background" name="zigzag" /> + +### Manual <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..eb26e5c9 100644 --- a/content/docs/bento-grid/eight.mdx +++ b/content/docs/bento-grid/eight.mdx @@ -4,10 +4,16 @@ description: Bento grid with eight items author: harimanok_ --- -<ComponentPreview name="bento-grid-eight--docs" /> +<ComponentPreview name="bento-grid-eight--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="eight" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/eleven.mdx b/content/docs/bento-grid/eleven.mdx index a54ceeb7..c2ec84d0 100644 --- a/content/docs/bento-grid/eleven.mdx +++ b/content/docs/bento-grid/eleven.mdx @@ -5,10 +5,16 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-eleven--docs" /> +<ComponentPreview name="bento-grid-eleven--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="eleven" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/five.mdx b/content/docs/bento-grid/five.mdx index 8738f674..fc5dee47 100644 --- a/content/docs/bento-grid/five.mdx +++ b/content/docs/bento-grid/five.mdx @@ -5,10 +5,16 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-five--docs" /> +<ComponentPreview name="bento-grid-five--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="five" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/four.mdx b/content/docs/bento-grid/four.mdx index a3d4c4ef..7ab0f8e9 100644 --- a/content/docs/bento-grid/four.mdx +++ b/content/docs/bento-grid/four.mdx @@ -5,10 +5,16 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-four--docs" /> +<ComponentPreview name="bento-grid-four--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="four" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/gradient.mdx b/content/docs/bento-grid/gradient.mdx index 0778fc5c..4ddb30ba 100644 --- a/content/docs/bento-grid/gradient.mdx +++ b/content/docs/bento-grid/gradient.mdx @@ -4,10 +4,16 @@ description: Bento grid with gradient background cards author: harimanok_ --- -<ComponentPreview name="bento-grid-gradient--docs" /> +<ComponentPreview name="bento-grid-gradient--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="gradient" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/nine.mdx b/content/docs/bento-grid/nine.mdx index 4bea4d6b..d859fb9b 100644 --- a/content/docs/bento-grid/nine.mdx +++ b/content/docs/bento-grid/nine.mdx @@ -5,10 +5,16 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-nine--docs" /> +<ComponentPreview name="bento-grid-nine--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="nine" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/seven.mdx b/content/docs/bento-grid/seven.mdx index c621149d..68360b88 100644 --- a/content/docs/bento-grid/seven.mdx +++ b/content/docs/bento-grid/seven.mdx @@ -5,10 +5,16 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-seven--docs" /> +<ComponentPreview name="bento-grid-seven--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="seven" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/six.mdx b/content/docs/bento-grid/six.mdx index e409ed8b..84447cec 100644 --- a/content/docs/bento-grid/six.mdx +++ b/content/docs/bento-grid/six.mdx @@ -5,10 +5,16 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-six--docs" /> +<ComponentPreview name="bento-grid-six--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="six" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/ten.mdx b/content/docs/bento-grid/ten.mdx index 3839c903..5da850d6 100644 --- a/content/docs/bento-grid/ten.mdx +++ b/content/docs/bento-grid/ten.mdx @@ -5,10 +5,16 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-ten--docs" /> +<ComponentPreview name="bento-grid-ten--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="ten" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/bento-grid/three.mdx b/content/docs/bento-grid/three.mdx index afcb1814..9ebf92c5 100644 --- a/content/docs/bento-grid/three.mdx +++ b/content/docs/bento-grid/three.mdx @@ -4,10 +4,16 @@ description: Bento grid with 3 items author: harimanok_ --- -<ComponentPreview name="bento-grid-three--docs" /> +<ComponentPreview name="bento-grid-three--primary" /> ## Installation +### CLI + +<RegistryInstall category="bento-grid" name="three" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/ai-button.mdx b/content/docs/button/ai-button.mdx index aa1c295e..85c24e81 100644 --- a/content/docs/button/ai-button.mdx +++ b/content/docs/button/ai-button.mdx @@ -5,10 +5,16 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-ai-button--docs" /> +<ComponentPreview name="button-ai-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="ai-button" /> + +### Manual + <Steps> <Step>Install dependencies</Step> @@ -16,25 +22,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..49c55db1 100644 --- a/content/docs/button/algolia-blue-button.mdx +++ b/content/docs/button/algolia-blue-button.mdx @@ -4,10 +4,16 @@ description: Algolia's blue button author: harimanok_ --- -<ComponentPreview name="button-algolia-blue-button--docs" /> +<ComponentPreview name="button-algolia-blue-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="algolia-blue-button" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/algolia-white-button.mdx b/content/docs/button/algolia-white-button.mdx index 0086339f..2be7b6ba 100644 --- a/content/docs/button/algolia-white-button.mdx +++ b/content/docs/button/algolia-white-button.mdx @@ -4,10 +4,16 @@ description: Algolia's white button author: harimanok_ --- -<ComponentPreview name="button-algolia-white-button--docs" /> +<ComponentPreview name="button-algolia-white-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="algolia-white-button" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/animated-follow-button.mdx b/content/docs/button/animated-follow-button.mdx index 063df174..189bc515 100644 --- a/content/docs/button/animated-follow-button.mdx +++ b/content/docs/button/animated-follow-button.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="button" name="animated-follow-button" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/button/duolingo.mdx b/content/docs/button/duolingo.mdx index 91a741bb..548794af 100644 --- a/content/docs/button/duolingo.mdx +++ b/content/docs/button/duolingo.mdx @@ -4,10 +4,16 @@ description: Duolingo's button author: harimanok_ --- -<ComponentPreview name="button-duolingo--docs" /> +<ComponentPreview name="button-duolingo--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="duolingo" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/external-link-button.mdx b/content/docs/button/external-link-button.mdx index 5029d2d8..c7c7b1da 100644 --- a/content/docs/button/external-link-button.mdx +++ b/content/docs/button/external-link-button.mdx @@ -3,12 +3,19 @@ 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 +### CLI + +<RegistryInstall category="button" name="external-link-button" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/button/get-started-button.mdx b/content/docs/button/get-started-button.mdx index cc87e28c..0b29063e 100644 --- a/content/docs/button/get-started-button.mdx +++ b/content/docs/button/get-started-button.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="button" name="get-started-button" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash 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..6d850cca 100644 --- a/content/docs/button/ripple-button.mdx +++ b/content/docs/button/ripple-button.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: Abhi_Hertz --- -<ComponentPreview name="button-ripple-button--docs" /> +<ComponentPreview name="button-ripple-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="ripple-button" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/shining-button.mdx b/content/docs/button/shining-button.mdx index da618ec1..52f4ccd7 100644 --- a/content/docs/button/shining-button.mdx +++ b/content/docs/button/shining-button.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: sanjaya22780 --- -<ComponentPreview name="button-shining-button--docs" /> +<ComponentPreview name="button-shining-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="shining-button" /> + +### Manual + <Steps> <Step>Install dependencies</Step> @@ -16,34 +22,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..04217db7 100644 --- a/content/docs/button/slide-arrow-button.mdx +++ b/content/docs/button/slide-arrow-button.mdx @@ -5,10 +5,16 @@ author: wolfofdalalst labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-slide-arrow-button--docs" /> +<ComponentPreview name="button-slide-arrow-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="slide-arrow-button" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/button/status-button.mdx b/content/docs/button/status-button.mdx index 5b6f45e4..1f8d170e 100644 --- a/content/docs/button/status-button.mdx +++ b/content/docs/button/status-button.mdx @@ -5,16 +5,22 @@ author: harimanok_ labels: ["requires interaction", "click"] --- -<ComponentPreview name="button-status-button--docs" /> +<ComponentPreview name="button-status-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="status-button" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```sh -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/button/swipe-button.mdx b/content/docs/button/swipe-button.mdx index 21e2c859..3398304b 100644 --- a/content/docs/button/swipe-button.mdx +++ b/content/docs/button/swipe-button.mdx @@ -4,10 +4,16 @@ description: Swipe button author: SuminGurung9 --- -<ComponentPreview name="button-swipe-button--docs" /> +<ComponentPreview name="button-swipe-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="swipe-button" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/toggle-switch.mdx b/content/docs/button/toggle-switch.mdx index 23363a28..66812f83 100644 --- a/content/docs/button/toggle-switch.mdx +++ b/content/docs/button/toggle-switch.mdx @@ -5,22 +5,17 @@ labels: ["requires interaction", "toggle"] author: Aadarsh Baral --- -<ComponentPreview name="button-toggle-switch--docs" /> +<ComponentPreview name="button-toggle-switch--primary" /> ## Installation -<Steps> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="button" name="toggle-switch" /> + +### Manual + +<Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/work-button.mdx b/content/docs/button/work-button.mdx index cec48c31..23b562d0 100644 --- a/content/docs/button/work-button.mdx +++ b/content/docs/button/work-button.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: ll4xmii --- -<ComponentPreview name="button-work-button--docs" /> +<ComponentPreview name="button-work-button--primary" /> ## Installation +### CLI + +<RegistryInstall category="button" name="work-button" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/blur-stack-card.mdx b/content/docs/card/blur-stack-card.mdx index 6e1e5707..3727f92f 100644 --- a/content/docs/card/blur-stack-card.mdx +++ b/content/docs/card/blur-stack-card.mdx @@ -6,15 +6,21 @@ labels: ["requires interaction", "click"] published: false --- -<ComponentPreview name="card-blur-stack-card--docs" /> +<ComponentPreview name="card-blur-stack-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="blur-stack-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/card/card-comment.mdx b/content/docs/card/card-comment.mdx index fb569292..5f913d18 100644 --- a/content/docs/card/card-comment.mdx +++ b/content/docs/card/card-comment.mdx @@ -4,10 +4,16 @@ description: A Skeleton of Comment Card author: Abishkardhenga --- -<ComponentPreview name="card-card-comment--docs" /> +<ComponentPreview name="card-card-comment--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="card-comment" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/card-spread.mdx b/content/docs/card/card-spread.mdx index 649073de..c9615d37 100644 --- a/content/docs/card/card-spread.mdx +++ b/content/docs/card/card-spread.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="card" name="card-spread" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/case-study-card.mdx b/content/docs/card/case-study-card.mdx index c707f4c6..98ecb8c0 100644 --- a/content/docs/card/case-study-card.mdx +++ b/content/docs/card/case-study-card.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="card" name="case-study-card" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/comment-reply-card.mdx b/content/docs/card/comment-reply-card.mdx index 6807aa07..01c369e7 100644 --- a/content/docs/card/comment-reply-card.mdx +++ b/content/docs/card/comment-reply-card.mdx @@ -2,17 +2,24 @@ 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 +### CLI + +<RegistryInstall category="card" name="comment-reply-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/card/email-feature-card.mdx b/content/docs/card/email-feature-card.mdx index 10d19b5e..91e95e38 100644 --- a/content/docs/card/email-feature-card.mdx +++ b/content/docs/card/email-feature-card.mdx @@ -2,12 +2,19 @@ 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 +### CLI + +<RegistryInstall category="card" name="email-feature-card" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/flip-card.mdx b/content/docs/card/flip-card.mdx index b445d5f4..4f0a692b 100644 --- a/content/docs/card/flip-card.mdx +++ b/content/docs/card/flip-card.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="card-flip-card--docs" /> +<ComponentPreview name="card-flip-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="flip-card" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/github-card-shiny.mdx b/content/docs/card/github-card-shiny.mdx index 81bb139b..ca4de57d 100644 --- a/content/docs/card/github-card-shiny.mdx +++ b/content/docs/card/github-card-shiny.mdx @@ -5,10 +5,16 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-github-card-shiny--docs" /> +<ComponentPreview name="card-github-card-shiny--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="github-card-shiny" /> + +### Manual + <Steps> <Step>Copy `useMousePosition` hook</Step> ```ts file=<rootDir>/hooks/use-mouse-position.ts diff --git a/content/docs/card/github-card-skew.mdx b/content/docs/card/github-card-skew.mdx index eefe3c1e..b5d469a9 100644 --- a/content/docs/card/github-card-skew.mdx +++ b/content/docs/card/github-card-skew.mdx @@ -5,10 +5,16 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-github-card-skew--docs" /> +<ComponentPreview name="card-github-card-skew--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="github-card-skew" /> + +### Manual + <Steps> <Step>Copy `useMousePosition` hook</Step> ```ts file=<rootDir>/hooks/use-mouse-position.ts diff --git a/content/docs/card/glowing-card.mdx b/content/docs/card/glowing-card.mdx index b816fe71..3fd110e6 100644 --- a/content/docs/card/glowing-card.mdx +++ b/content/docs/card/glowing-card.mdx @@ -5,34 +5,26 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="card-glowing-card--docs" /> +<ComponentPreview name="card-glowing-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="glowing-card" /> + +### Manual + <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..aa1f5d25 100644 --- a/content/docs/card/integration-pills.mdx +++ b/content/docs/card/integration-pills.mdx @@ -2,12 +2,19 @@ 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 +### CLI + +<RegistryInstall category="card" name="integration-pills" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/led-board.mdx b/content/docs/card/led-board.mdx index 18e89c7f..e29d4819 100644 --- a/content/docs/card/led-board.mdx +++ b/content/docs/card/led-board.mdx @@ -5,31 +5,27 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-led-board--docs" /> +<ComponentPreview name="card-led-board--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="led-board" /> + +### Manual + <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..ee2e806e 100644 --- a/content/docs/card/notice-card.mdx +++ b/content/docs/card/notice-card.mdx @@ -1,38 +1,45 @@ ---- -title: Notice Card -description: A card component for displaying important notices with an accept toggle. -labels: ["requires interaction", "toggle"] -author: AE-Hertz ---- - -<ComponentPreview name="card-notice-card--docs" /> - -## Installation - -<Steps> -<Step>Install dependencies</Step> - -```bash -npm install framer-motion -``` - -<Step>Run the following command</Step> - -It will create a new file `notice-card.tsx` inside the `components/animata/card` directory. - -```bash -mkdir -p components/animata/card && touch components/animata/card/notice-card.tsx -``` - -<Step>Paste the code</Step> - -Open the newly created file and paste the following code: - -```tsx file=<rootDir>/animata/card/notice-card.tsx -``` - -</Steps> - -## Credits - -Built by [Abhinandan](https://github.com/AE-Hertz) +--- +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--primary" /> + +## Installation + +### CLI + +<RegistryInstall category="card" name="notice-card" /> + +### Manual + +<Steps> +<Step>Install dependencies</Step> + +```bash +npm install motion +``` + +<Step>Run the following command</Step> + +It will create a new file `notice-card.tsx` inside the `components/animata/card` directory. + +```bash +mkdir -p components/animata/card && touch components/animata/card/notice-card.tsx +``` + +<Step>Paste the code</Step> + +Open the newly created file and paste the following code: + +```tsx file=<rootDir>/animata/card/notice-card.tsx +``` + +</Steps> + +## Credits + +Built by [Abhinandan](https://github.com/AE-Hertz) diff --git a/content/docs/card/notification-card.mdx b/content/docs/card/notification-card.mdx index f333d1ea..56b96627 100644 --- a/content/docs/card/notification-card.mdx +++ b/content/docs/card/notification-card.mdx @@ -2,17 +2,24 @@ 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 +### CLI + +<RegistryInstall category="card" name="notification-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/card/staggered-card.mdx b/content/docs/card/staggered-card.mdx index 6ca2e497..72cc157f 100644 --- a/content/docs/card/staggered-card.mdx +++ b/content/docs/card/staggered-card.mdx @@ -3,17 +3,24 @@ 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 +### CLI + +<RegistryInstall category="card" name="staggered-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/card/swap-text-card.mdx b/content/docs/card/swap-text-card.mdx index 7bc21ae1..bc0ffef5 100644 --- a/content/docs/card/swap-text-card.mdx +++ b/content/docs/card/swap-text-card.mdx @@ -5,10 +5,16 @@ author: SuminGurung9 labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-swap-text-card--docs" /> +<ComponentPreview name="card-swap-text-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="card" name="swap-text-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/card/webhooks-card.mdx b/content/docs/card/webhooks-card.mdx index a3e724f6..fc9908b6 100644 --- a/content/docs/card/webhooks-card.mdx +++ b/content/docs/card/webhooks-card.mdx @@ -3,12 +3,19 @@ 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 +### CLI + +<RegistryInstall category="card" name="webhooks-card" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/carousel/expandable.mdx b/content/docs/carousel/expandable.mdx index 4271e676..cdead823 100644 --- a/content/docs/carousel/expandable.mdx +++ b/content/docs/carousel/expandable.mdx @@ -3,12 +3,19 @@ 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 +### CLI + +<RegistryInstall category="carousel" name="expandable" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/carousel/image-carousel.mdx b/content/docs/carousel/image-carousel.mdx index c80b42dc..45236d78 100644 --- a/content/docs/carousel/image-carousel.mdx +++ b/content/docs/carousel/image-carousel.mdx @@ -3,29 +3,30 @@ 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 +### CLI + +<RegistryInstall category="carousel" name="image-carousel" /> + +### Manual + <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..b0bd2f46 100644 --- a/content/docs/container/animated-border-trail.mdx +++ b/content/docs/container/animated-border-trail.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="container" name="animated-border-trail" /> + +### Manual + <Steps> <Step>Add this CSS for `angle` property</Step> @@ -19,25 +25,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..8715fc8e 100644 --- a/content/docs/container/animated-dock.mdx +++ b/content/docs/container/animated-dock.mdx @@ -2,17 +2,24 @@ 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 +### CLI + +<RegistryInstall category="container" name="animated-dock" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/container/cursor-tracker.mdx b/content/docs/container/cursor-tracker.mdx index b8e463de..39445213 100644 --- a/content/docs/container/cursor-tracker.mdx +++ b/content/docs/container/cursor-tracker.mdx @@ -5,10 +5,16 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="container-cursor-tracker--docs" /> +<ComponentPreview name="container-cursor-tracker--primary" /> ## Installation +### CLI + +<RegistryInstall category="container" name="cursor-tracker" /> + +### Manual + <Steps> <Step>Copy `useMousePosition` hook</Step> ```ts file=<rootDir>/hooks/use-mouse-position.ts diff --git a/content/docs/container/fibonacci-lines.mdx b/content/docs/container/fibonacci-lines.mdx index afbd7a8a..eb875ecd 100644 --- a/content/docs/container/fibonacci-lines.mdx +++ b/content/docs/container/fibonacci-lines.mdx @@ -2,12 +2,19 @@ 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 +### CLI + +<RegistryInstall category="container" name="fibonacci-lines" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/container/marquee.mdx b/content/docs/container/marquee.mdx index 750789a8..ba2607cb 100644 --- a/content/docs/container/marquee.mdx +++ b/content/docs/container/marquee.mdx @@ -5,32 +5,32 @@ labels: ["requires config", "requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="container-marquee--docs" /> +<ComponentPreview name="container-marquee--primary" /> ## Installation +### CLI + +<RegistryInstall category="container" name="marquee" /> + +### Manual + <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..916d313f 100644 --- a/content/docs/container/nav-tabs.mdx +++ b/content/docs/container/nav-tabs.mdx @@ -3,18 +3,25 @@ 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 +### CLI + +<RegistryInstall category="container" name="nav-tabs" /> + +### Manual + <Steps> <Step>Install dependencies.</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/container/scrolling-testimonials.mdx b/content/docs/container/scrolling-testimonials.mdx index 61a40cfc..e4c09782 100644 --- a/content/docs/container/scrolling-testimonials.mdx +++ b/content/docs/container/scrolling-testimonials.mdx @@ -4,22 +4,17 @@ 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> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="container" name="scrolling-testimonials" /> + +### Manual + +<Steps> <Step>Install dependencies</Step> diff --git a/content/docs/contributing/best-practices.mdx b/content/docs/contributing/best-practices.mdx index d58a4315..3632b6a0 100644 --- a/content/docs/contributing/best-practices.mdx +++ b/content/docs/contributing/best-practices.mdx @@ -1,18 +1,196 @@ --- title: Best Practices date: 2024-06-24 -description: Best practices for animation development. +description: Best practices for building animated components. --- <Callout> - This is a work in progress document. If you have any suggestions, feel free to reach out to us. + This is a living document. If something here is wrong or missing, open a PR. </Callout> -1. Prefer CSS animations over JavaScript animations, unless you need to use JavaScript for complex animations. -2. Try to use the `transform` & `opacity` properties for animations. -3. Try to make usefull animations, don't overdo it. -4. Remember, animations should enhance the user experience, not distract from it. -5. Test your animations on different devices and browsers. -6. Use the `prefers-reduced-motion` media query to disable animations for users who prefer reduced motion. -7. Make sure the components look good in both light and dark mode. -8. Make sure the hidden elements are accessible to screen readers. +## Animation performance + +### Animate only `transform` and `opacity` + +Those two properties are composited on the GPU and skip layout and paint. Almost everything else (`width`, `height`, `top`, `left`, `margin`, `padding`, `box-shadow`, `filter`, `background-color`) will force the browser to redo layout or repaint on every frame. That's where jank comes from. + +```tsx +// Good +<div className="transition-[transform,opacity] duration-200 hover:-translate-y-1 hover:opacity-80" /> + +// Bad: animating height triggers layout every frame +<div className="transition-[height] duration-200 hover:h-20" /> +``` + +If you really need a size change, `transform: scale()` is usually what you want. For collapsible content, `grid-template-rows: 0fr` to `1fr` is a newer trick that actually works. + +### Prefer CSS over JavaScript + +CSS transitions and keyframes run on the compositor thread, so they keep going even when the main thread is busy. Reach for JS when CSS genuinely can't express what you need: spring physics, gesture tracking, or animations whose target value depends on a runtime measurement. + +If you find yourself writing a `requestAnimationFrame` loop to animate a value that could be a CSS transition, back up. + +### Use `will-change` sparingly + +Only set `will-change: transform` when you have a measured stutter you're trying to fix. Leaving it on permanently reserves a compositor layer, which is a real memory cost on low-end devices. Remove it once the animation is done. + +### Don't thrash layout + +Batch reads before writes. Reading a layout property (`offsetHeight`, `getBoundingClientRect()`) after writing one forces a synchronous layout, and doing it in a loop is how you get 200 ms hitches. + +```tsx +// Bad: read, write, read forces two layouts +const a = el.offsetHeight; +el.style.transform = "translateY(10px)"; +const b = el.offsetHeight; + +// Good: read all, then write all +const a = el.offsetHeight; +const b = el.offsetHeight; +el.style.transform = "translateY(10px)"; +``` + +### Use `requestAnimationFrame`, not `setTimeout` + +`setInterval` and `setTimeout` aren't synced to the display refresh, so animations driven by them will tear or skip frames. Use `requestAnimationFrame`, and always cancel it on cleanup. + +```tsx +useEffect(() => { + let raf = 0; + const tick = () => { + // update state or DOM + raf = requestAnimationFrame(tick); + }; + raf = requestAnimationFrame(tick); + return () => cancelAnimationFrame(raf); +}, []); +``` + +### Use `IntersectionObserver` for scroll-triggered animations + +A `scroll` listener that runs on every frame is wasteful and usually unnecessary. `IntersectionObserver` is the right tool for "animate when this enters the viewport". Native CSS scroll-linked animations work too where browser support allows. + +## Accessibility + +### Respect `prefers-reduced-motion` + +Some users have this on for a reason. Gate non-essential motion behind it. + +```tsx +<div className="motion-safe:animate-bounce motion-reduce:animate-none" /> +``` + +```css +@media (prefers-reduced-motion: reduce) { + .my-animation { + animation: none; + transition: none; + } +} +``` + +### Don't hide content only via opacity + +A card at `opacity: 0` is still focusable and still read by screen readers. Pair the visual hide with `aria-hidden`, a `visibility: hidden` at the end of the transition, or just unmount the thing. + +### Keyboard parity + +If something responds to `:hover`, it needs to respond to `:focus-visible` too. Otherwise keyboard users can't reach it. This one bites me constantly during reviews. + +### Announce state changes + +When an animation carries meaning (loading finished, an item was added, a toast appeared), assistive tech needs to hear about it. `aria-live` or `role="status"` on the announcement region does the job. + +## Timing & easing + +- Microinteractions like hover, press, ripple: 100 to 200 ms. +- UI transitions like menu open or tab switch: 200 to 300 ms. +- Page or large layout transitions: 300 to 500 ms. Rarely more. +- Easing: `ease-out` for things coming in, `ease-in` for things going away, `ease-in-out` for bidirectional moves. + +Avoid `linear` for UI motion. It feels mechanical. A cubic-bezier that matches the interaction almost always feels better. + +## React patterns + +### Follow the Rules of Hooks + +Hooks have to run in the same order every render. This includes indirect cases: if you call a function inline in JSX and that function uses hooks, those hooks belong to the calling component's hook list. Wrap the call in its own component instead. + +### Clean up effects + +Anything you create in an effect needs a cleanup: timers, listeners, observers, subscriptions. A leaked `setTimeout` will try to set state on an unmounted component and blow up in the console. + +```tsx +useEffect(() => { + const id = setTimeout(() => setOpen(false), 300); + return () => clearTimeout(id); +}, [open]); +``` + +### Use refs for values that don't render + +If you're tracking something that only a callback reads, like the last scroll position or a drag offset, keep it in a ref. Calling `setState` at 60 fps re-renders the whole subtree 60 times per second, which is not what you want. + +### Use stable keys + +`key={index}` is fine for static lists. For anything derived from data, make sure the key is actually unique. A weekday list with `day: "T"` twice (Tuesday, Thursday) will collide on the first render and React won't let you forget it. + +### Memoize on purpose + +`useMemo` and `useCallback` aren't free. Add them when the computation is measurably expensive or when reference identity matters for a downstream `memo` or effect dep. Wrapping `a + b` or `arr.length` is just noise. + +### Guard client-only APIs + +Anything that touches `window`, `matchMedia`, or `IntersectionObserver` has to run after mount. Put it in `useEffect` or behind `useSyncExternalStore`. Top-level access breaks SSR and causes hydration mismatches. + +```tsx +"use client"; +useEffect(() => { + const mq = window.matchMedia("(prefers-reduced-motion: reduce)"); + // ... +}, []); +``` + +### Pipe dynamic values through CSS variables + +If a single number drives an animation (progress, hue, angle), set it as a CSS custom property and let CSS do the interpolation. + +```tsx +<div style={{ "--progress": progress } as React.CSSProperties} /> +``` + +Beats rebuilding a style object on every render, and the browser only recalculates the affected property. + +## Component quality + +### Light and dark mode + +Every component has to look right in both. Use the design tokens (`bg-background`, `text-foreground`, `border-border`) and stay away from hard-coded hex values. Actually toggle the `dark` class while you're building. It catches a lot. + +### Touch targets + +44×44 px is the minimum for anything a finger has to hit. Hover-only affordances don't work on phones, so always add a tap or focus path. + +### Non-interactive overlays + +Decorative animated layers (gradient washes, confetti, background glows) should have `pointer-events: none`. Otherwise they'll eat clicks from the things underneath. + +### Sensible defaults + +A component should render something useful with no props. If your defaults rely on network data, ship placeholder content instead. + +### Test on a slow device + +Chrome DevTools, Performance tab, CPU throttling 4× or 6×. If your animation stutters there, it'll stutter on someone's three-year-old Android. Profile, don't guess. + +## Common traps + +- Animating `height: auto`. It doesn't interpolate. Use `grid-template-rows: 0fr` → `1fr`, or measure and animate to a pixel value. +- Forgetting `AnimatePresence` around a conditionally rendered motion child. Exit animations silently no-op. +- `overflow: hidden` on a parent clipping a child's transform. This is the most common "why is my animation cut off" bug. +- Rebuilding arrays or objects in the render path and passing them into animation props. Reference changes on every render, so transitions restart. +- `whileHover` on touch. Phones don't hover. Add a tap equivalent. + +## When in doubt + +Animation should clarify, not decorate. If the interaction is fine without motion, the motion is extra. That's not a reason to skip it, but it is a reason to make sure it's doing actual work. 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/list/flower-menu.mdx b/content/docs/fabs/flower-menu.mdx similarity index 60% rename from content/docs/list/flower-menu.mdx rename to content/docs/fabs/flower-menu.mdx index c2077a5a..bc004d1f 100644 --- a/content/docs/list/flower-menu.mdx +++ b/content/docs/fabs/flower-menu.mdx @@ -4,25 +4,31 @@ description: A circular flower menu with several icons and a central close butto author: arjuncodess --- -<ComponentPreview name="list-flower-menu--docs" /> +<ComponentPreview name="fabs-flower-menu--primary" /> ## Installation +### CLI + +<RegistryInstall category="fabs" name="flower-menu" /> + +### Manual + <Steps> <Step>Run the following command</Step> -It will create a new file `flower-menu.tsx` inside the `components/animata/list` directory. +It will create a new file `flower-menu.tsx` inside the `components/animata/fabs` directory. ```bash -mkdir -p components/animata/list && touch components/animata/list/flower-menu.tsx +mkdir -p components/animata/fabs && touch components/animata/fabs/flower-menu.tsx ``` <Step>Paste the code</Step> Open the newly created file and paste the following code: -```jsx file=<rootDir>/animata/list/flower-menu.tsx +```jsx file=<rootDir>/animata/fabs/flower-menu.tsx ``` diff --git a/content/docs/fabs/speed-dial.mdx b/content/docs/fabs/speed-dial.mdx index fc1c3be9..9bc77998 100644 --- a/content/docs/fabs/speed-dial.mdx +++ b/content/docs/fabs/speed-dial.mdx @@ -4,10 +4,16 @@ description: Speed Dial author: masabinhok --- -<ComponentPreview name="fabs-speed-dial--docs" /> +<ComponentPreview name="fabs-speed-dial--primary" /> ## Installation +### CLI + +<RegistryInstall category="fabs" name="speed-dial" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/feature-cards/confirmation-message.mdx b/content/docs/feature-cards/confirmation-message.mdx index b8a18247..5f5771a5 100644 --- a/content/docs/feature-cards/confirmation-message.mdx +++ b/content/docs/feature-cards/confirmation-message.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="feature-cards" name="confirmation-message" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/feature-cards/content-scan.mdx b/content/docs/feature-cards/content-scan.mdx index 550c2406..8d93d260 100644 --- a/content/docs/feature-cards/content-scan.mdx +++ b/content/docs/feature-cards/content-scan.mdx @@ -4,30 +4,30 @@ 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 +### CLI + +<RegistryInstall category="feature-cards" name="content-scan" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install 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 80% rename from content/docs/card/notify-user-info.mdx rename to content/docs/feature-cards/notify-user-info.mdx index a893727c..1f399598 100644 --- a/content/docs/card/notify-user-info.mdx +++ b/content/docs/feature-cards/notify-user-info.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="feature-cards" name="notify-user-info" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> 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..cd8df70d 100644 --- a/content/docs/card/reminder-scheduler.mdx +++ b/content/docs/feature-cards/reminder-scheduler.mdx @@ -5,28 +5,27 @@ author: m_jinprince labels: ["requires interaction", "toggle switch"] --- -<ComponentPreview name="card-reminder-scheduler--docs" /> +<ComponentPreview name="card-reminder-scheduler--primary" /> ## Installation +### CLI + +<RegistryInstall category="feature-cards" name="reminder-scheduler" /> + +### Manual + <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 83% rename from content/docs/card/score-card.mdx rename to content/docs/feature-cards/score-card.mdx index 10b29ad1..a320e8ec 100644 --- a/content/docs/card/score-card.mdx +++ b/content/docs/feature-cards/score-card.mdx @@ -5,15 +5,21 @@ author: m_jinprince labels: ["requires interaction", "Click score button"] --- -<ComponentPreview name="card-score-card--docs" /> +<ComponentPreview name="card-score-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="feature-cards" name="score-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/card/subscribe-card.mdx b/content/docs/feature-cards/subscribe-card.mdx similarity index 83% rename from content/docs/card/subscribe-card.mdx rename to content/docs/feature-cards/subscribe-card.mdx index 575414c4..4d3f09d7 100644 --- a/content/docs/card/subscribe-card.mdx +++ b/content/docs/feature-cards/subscribe-card.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="feature-cards" name="subscribe-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/card/survey-card.mdx b/content/docs/feature-cards/survey-card.mdx similarity index 80% rename from content/docs/card/survey-card.mdx rename to content/docs/feature-cards/survey-card.mdx index a5e6aa02..d205df13 100644 --- a/content/docs/card/survey-card.mdx +++ b/content/docs/feature-cards/survey-card.mdx @@ -3,12 +3,19 @@ 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 +### CLI + +<RegistryInstall category="feature-cards" name="survey-card" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/card/swap-card.mdx b/content/docs/feature-cards/swap-card.mdx similarity index 89% rename from content/docs/card/swap-card.mdx rename to content/docs/feature-cards/swap-card.mdx index 148bdaa4..a7daf7a7 100644 --- a/content/docs/card/swap-card.mdx +++ b/content/docs/feature-cards/swap-card.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "toggle"] author: Sumingurung9 --- -<ComponentPreview name="card-swap-card--docs" /> +<ComponentPreview name="card-swap-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="feature-cards" name="swap-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/card/tilted-card.mdx b/content/docs/feature-cards/tilted-card.mdx similarity index 81% rename from content/docs/card/tilted-card.mdx rename to content/docs/feature-cards/tilted-card.mdx index 9f6d67a3..80dede40 100644 --- a/content/docs/card/tilted-card.mdx +++ b/content/docs/feature-cards/tilted-card.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: ll4xmii --- -<ComponentPreview name="card-tilted-card--docs" /> +<ComponentPreview name="card-tilted-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="feature-cards" name="tilted-card" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/graphs/bar-chart.mdx b/content/docs/graphs/bar-chart.mdx index c6ca3bc9..fb7c5466 100644 --- a/content/docs/graphs/bar-chart.mdx +++ b/content/docs/graphs/bar-chart.mdx @@ -4,10 +4,16 @@ description: A sample bar chart for widgets/presentation author: harimanok_ --- -<ComponentPreview name="graphs-bar-chart--docs" /> +<ComponentPreview name="graphs-bar-chart--primary" /> ## Installation +### CLI + +<RegistryInstall category="graphs" name="bar-chart" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/graphs/commit-graph.mdx b/content/docs/graphs/commit-graph.mdx index db96bafd..53bf0d76 100644 --- a/content/docs/graphs/commit-graph.mdx +++ b/content/docs/graphs/commit-graph.mdx @@ -4,10 +4,16 @@ description: A commit graph for your projects author: Aadarsh Baral --- -<ComponentPreview name="graphs-commit-graph--docs" /> +<ComponentPreview name="graphs-commit-graph--primary" /> ## Installation +### CLI + +<RegistryInstall category="graphs" name="commit-graph" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/graphs/donut-chart.mdx b/content/docs/graphs/donut-chart.mdx index 88c1a7e4..a75b894d 100644 --- a/content/docs/graphs/donut-chart.mdx +++ b/content/docs/graphs/donut-chart.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="graphs" name="donut-chart" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/graphs/gauge-chart.mdx b/content/docs/graphs/gauge-chart.mdx index 5c900d82..5e72bab6 100644 --- a/content/docs/graphs/gauge-chart.mdx +++ b/content/docs/graphs/gauge-chart.mdx @@ -4,22 +4,17 @@ 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> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="graphs" name="gauge-chart" /> + +### Manual + +<Steps> <Step>Run the following command</Step> diff --git a/content/docs/graphs/progress.mdx b/content/docs/graphs/progress.mdx index 68c59e6e..d5e937ff 100644 --- a/content/docs/graphs/progress.mdx +++ b/content/docs/graphs/progress.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="graphs" name="progress" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/graphs/ring-chart.mdx b/content/docs/graphs/ring-chart.mdx index acbc92de..42bfb140 100644 --- a/content/docs/graphs/ring-chart.mdx +++ b/content/docs/graphs/ring-chart.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="graphs" name="ring-chart" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/hero/hero-section-text-hover.mdx b/content/docs/hero/hero-section-text-hover.mdx index fdc49d34..b1f1c6d6 100644 --- a/content/docs/hero/hero-section-text-hover.mdx +++ b/content/docs/hero/hero-section-text-hover.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: RBchiranjibi --- -<ComponentPreview name="hero-hero-section-text-hover--docs" /> +<ComponentPreview name="hero-hero-section-text-hover--primary" /> ## Installation +### CLI + +<RegistryInstall category="hero" name="hero-section-text-hover" /> + +### Manual + <Steps> <Step>Run the following command</Step> @@ -31,4 +37,5 @@ Open the newly created file and paste the following code: ## Credits Built by [Chiranjibi Ranabhat](https://github.com/chiranjibi10) + Inspired by [@zeer000\_](https://x.com/zeer000_/status/1804204551089852479) diff --git a/content/docs/hero/hero-section.mdx b/content/docs/hero/hero-section.mdx index efee19c5..da419cbf 100644 --- a/content/docs/hero/hero-section.mdx +++ b/content/docs/hero/hero-section.mdx @@ -3,29 +3,30 @@ 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 +### CLI + +<RegistryInstall category="hero" name="hero-section" /> + +### Manual + <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..306840b1 100644 --- a/content/docs/hero/product-features.mdx +++ b/content/docs/hero/product-features.mdx @@ -4,15 +4,21 @@ description: A hero section showcasing product features author: harimanok_ --- -<ComponentPreview name="hero-product-features--docs" /> +<ComponentPreview name="hero-product-features--primary" /> ## Installation +### CLI + +<RegistryInstall category="hero" name="product-features" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion react-wrap-balancer +npm install motion react-wrap-balancer ``` <Step>Run the following command</Step> diff --git a/content/docs/hero/shape-shifter.mdx b/content/docs/hero/shape-shifter.mdx index ca267c9e..663d7888 100644 --- a/content/docs/hero/shape-shifter.mdx +++ b/content/docs/hero/shape-shifter.mdx @@ -5,25 +5,42 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="hero-shape-shifter--docs" /> +<ComponentPreview name="hero-shape-shifter--primary" /> ## Installation +### CLI + +<RegistryInstall category="hero" name="shape-shifter" /> + +### Manual + <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..23760e8a 100644 --- a/content/docs/hero/slack-intro.mdx +++ b/content/docs/hero/slack-intro.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="hero" name="slack-intro" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/icon/hover-interaction.mdx b/content/docs/icon/hover-interaction.mdx index c966abd9..f4c07e0b 100644 --- a/content/docs/icon/hover-interaction.mdx +++ b/content/docs/icon/hover-interaction.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="icon" name="hover-interaction" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion @radix-ui/react-icons +npm install motion @radix-ui/react-icons ``` <Step>Run the following command</Step> diff --git a/content/docs/icon/icon-ripple.mdx b/content/docs/icon/icon-ripple.mdx index 5f2e4a1a..c232dfd0 100644 --- a/content/docs/icon/icon-ripple.mdx +++ b/content/docs/icon/icon-ripple.mdx @@ -4,10 +4,16 @@ description: Create a ripple animation on an icon author: AashishKatila --- -<ComponentPreview name="icon-icon-ripple--docs" /> +<ComponentPreview name="icon-icon-ripple--primary" /> ## Installation +### CLI + +<RegistryInstall category="icon" name="icon-ripple" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/image/disclose-image.mdx b/content/docs/image/disclose-image.mdx index 9ce2221e..929075d8 100644 --- a/content/docs/image/disclose-image.mdx +++ b/content/docs/image/disclose-image.mdx @@ -5,33 +5,31 @@ labels: ["requires interaction", "hover", "requires config"] author: harimanok_ --- -<ComponentPreview name="image-disclose-image--docs" /> +<ComponentPreview name="image-disclose-image--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="disclose-image" /> + +### Manual + <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..d1826569 100644 --- a/content/docs/image/image-box-shadow.mdx +++ b/content/docs/image/image-box-shadow.mdx @@ -6,10 +6,16 @@ author: Sumin Gurung published: false --- -<ComponentPreview name="image-image-box-shadow--docs" /> +<ComponentPreview name="image-image-box-shadow--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="image-box-shadow" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/image/images-reveal.mdx b/content/docs/image/images-reveal.mdx index b89f9801..f3fc3ea3 100644 --- a/content/docs/image/images-reveal.mdx +++ b/content/docs/image/images-reveal.mdx @@ -5,15 +5,21 @@ author: mansidhamne labels: ["requires interaction", "hover"] --- -<ComponentPreview name="image-images-reveal--docs" /> +<ComponentPreview name="image-images-reveal--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="images-reveal" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/image/photo-booth.mdx b/content/docs/image/photo-booth.mdx index d6983539..ca9d03cb 100644 --- a/content/docs/image/photo-booth.mdx +++ b/content/docs/image/photo-booth.mdx @@ -6,10 +6,16 @@ author: ll4xmii published: false --- -<ComponentPreview name="image-photo-booth--docs" /> +<ComponentPreview name="image-photo-booth--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="photo-booth" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/image/skew-image.mdx b/content/docs/image/skew-image.mdx index 83508030..61ee95e2 100644 --- a/content/docs/image/skew-image.mdx +++ b/content/docs/image/skew-image.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="image-skew-image--docs" /> +<ComponentPreview name="image-skew-image--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="skew-image" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/image/tilted-cover.mdx b/content/docs/image/tilted-cover.mdx index 284409b7..0565a91b 100644 --- a/content/docs/image/tilted-cover.mdx +++ b/content/docs/image/tilted-cover.mdx @@ -5,22 +5,24 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="image-tilted-cover--docs" /> +<ComponentPreview name="image-tilted-cover--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="tilted-cover" /> + +### Manual + <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..6bae80ec 100644 --- a/content/docs/image/trailing-image.mdx +++ b/content/docs/image/trailing-image.mdx @@ -5,15 +5,21 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="image-trailing-image--docs" /> +<ComponentPreview name="image-trailing-image--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="trailing-image" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Copy the `useMousePosition` hook</Step> diff --git a/content/docs/image/zoom-image.mdx b/content/docs/image/zoom-image.mdx index 9b286436..fb005c9d 100644 --- a/content/docs/image/zoom-image.mdx +++ b/content/docs/image/zoom-image.mdx @@ -6,10 +6,16 @@ author: Sumingurung9 published: false --- -<ComponentPreview name="image-zoom-image--docs" /> +<ComponentPreview name="image-zoom-image--primary" /> ## Installation +### CLI + +<RegistryInstall category="image" name="zoom-image" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/list/avatar-list.mdx b/content/docs/list/avatar-list.mdx index de8f9fd5..63cabfc1 100644 --- a/content/docs/list/avatar-list.mdx +++ b/content/docs/list/avatar-list.mdx @@ -4,24 +4,24 @@ 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 +### CLI + +<RegistryInstall category="list" name="avatar-list" /> + +### Manual + <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..898181e3 100644 --- a/content/docs/list/flipping-cards.mdx +++ b/content/docs/list/flipping-cards.mdx @@ -5,17 +5,23 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="list-flipping-cards--docs" /> +<ComponentPreview name="list-flipping-cards--primary" /> ## Installation +### CLI + +<RegistryInstall category="list" name="flipping-cards" /> + +### Manual + <Steps> <Step>Install dependencies</Step> This uses [Marquee](/docs/container/marquee) for the text. Install it by following the instructions [here](/docs/container/marquee#installation). ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/list/menu-animation.mdx b/content/docs/list/menu-animation.mdx index 3ceac857..968321a8 100644 --- a/content/docs/list/menu-animation.mdx +++ b/content/docs/list/menu-animation.mdx @@ -4,10 +4,16 @@ description: Animation for menu list author: Sumin Gurung --- -<ComponentPreview name="list-menu-animation--docs" /> +<ComponentPreview name="list-menu-animation--primary" /> ## Installation +### CLI + +<RegistryInstall category="list" name="menu-animation" /> + +### Manual + <Step>Install dependencies</Step> ```bash diff --git a/content/docs/list/orbiting-items-3-d.mdx b/content/docs/list/orbiting-items-3-d.mdx index f894503c..2c50785d 100644 --- a/content/docs/list/orbiting-items-3-d.mdx +++ b/content/docs/list/orbiting-items-3-d.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="list" name="orbiting-items-3-d" /> + +### Manual + <Steps> <Step>Install dependencies</Step> @@ -15,25 +21,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..e533ef5c 100644 --- a/content/docs/list/orbiting-items.mdx +++ b/content/docs/list/orbiting-items.mdx @@ -4,27 +4,23 @@ 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 +### CLI + +<RegistryInstall category="list" name="orbiting-items" /> + +### Manual + <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..eff80e00 100644 --- a/content/docs/list/reveal-image.mdx +++ b/content/docs/list/reveal-image.mdx @@ -5,22 +5,17 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="list-reveal-image--docs" /> +<ComponentPreview name="list-reveal-image--primary" /> ## Installation -<Steps> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="list" name="reveal-image" /> + +### Manual + +<Steps> <Step>Run the following command</Step> diff --git a/content/docs/list/transaction-list.mdx b/content/docs/list/transaction-list.mdx index b2550b85..ef78e385 100644 --- a/content/docs/list/transaction-list.mdx +++ b/content/docs/list/transaction-list.mdx @@ -5,15 +5,21 @@ author: m_jinprince labels: ["requires interaction", "Click any recent Transaction"] --- -<ComponentPreview name="list-transaction-list--docs" /> +<ComponentPreview name="list-transaction-list--primary" /> ## Installation +### CLI + +<RegistryInstall category="list" name="transaction-list" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/list/transition-list.mdx b/content/docs/list/transition-list.mdx index 8612be38..e3af731e 100644 --- a/content/docs/list/transition-list.mdx +++ b/content/docs/list/transition-list.mdx @@ -2,17 +2,24 @@ 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 +### CLI + +<RegistryInstall category="list" name="transition-list" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/overlay/modal.mdx b/content/docs/overlay/modal.mdx index 07e9dc99..2bd35a1c 100644 --- a/content/docs/overlay/modal.mdx +++ b/content/docs/overlay/modal.mdx @@ -11,11 +11,17 @@ author: morphhyy ## Installation +### CLI + +<RegistryInstall category="overlay" name="modal" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/preloader/vertical-tiles.mdx b/content/docs/preloader/vertical-tiles.mdx index 704cdf66..9095a3a1 100644 --- a/content/docs/preloader/vertical-tiles.mdx +++ b/content/docs/preloader/vertical-tiles.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="preloader" name="vertical-tiles" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/progress/animatedtimeline.mdx b/content/docs/progress/animatedtimeline.mdx index aa9a9930..80d9c670 100644 --- a/content/docs/progress/animatedtimeline.mdx +++ b/content/docs/progress/animatedtimeline.mdx @@ -4,15 +4,21 @@ description: The Animated Timeline component is an interactive, visually appeali author: VishalKumar03__ --- -<ComponentPreview name="progress-animatedtimeline--docs" /> +<ComponentPreview name="progress-animatedtimeline--primary" /> ## Installation +### CLI + +<RegistryInstall category="progress" name="animatedtimeline" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/progress/spinner.mdx b/content/docs/progress/spinner.mdx index c24b5da5..45ae86d1 100644 --- a/content/docs/progress/spinner.mdx +++ b/content/docs/progress/spinner.mdx @@ -4,10 +4,16 @@ description: Just a spinner to check the loading state author: morphhyy --- -<ComponentPreview name="progress-spinner--docs" /> +<ComponentPreview name="progress-spinner--primary" /> ## Installation +### CLI + +<RegistryInstall category="progress" name="spinner" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/section/pricing.mdx b/content/docs/section/pricing.mdx index e063f920..8dce0e45 100644 --- a/content/docs/section/pricing.mdx +++ b/content/docs/section/pricing.mdx @@ -2,17 +2,24 @@ 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 +### CLI + +<RegistryInstall category="section" name="pricing" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> 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/card/fluid-tabs.mdx b/content/docs/tabs/fluid-tabs.mdx similarity index 63% rename from content/docs/card/fluid-tabs.mdx rename to content/docs/tabs/fluid-tabs.mdx index df593bb5..7a35308f 100644 --- a/content/docs/card/fluid-tabs.mdx +++ b/content/docs/tabs/fluid-tabs.mdx @@ -8,39 +8,32 @@ author: RudraSankha ## Installation -<Steps> -<Step>Install dependencies</Step> +### CLI -```bash -npm install framer-motion lucide-react -``` +<RegistryInstall category="tabs" name="fluid-tabs" /> -<Step>Update `tailwind.config.js`</Step> +### Manual -Add the following to your tailwind.config.js file. +<Steps> +<Step>Install dependencies</Step> -```json -module.exports = { - theme: { - extend: { - } - } -} +```bash +npm install motion lucide-react ``` <Step>Run the following command</Step> -It will create a new file `fluid-tabs.tsx` inside the `components/animata/card` directory. +It will create a new file `fluid-tabs.tsx` inside the `components/animata/tabs` directory. ```bash -mkdir -p components/animata/card && touch components/animata/card/fluid-tabs.tsx +mkdir -p components/animata/tabs && touch components/animata/tabs/fluid-tabs.tsx ``` <Step>Paste the code</Step>{" "} Open the newly created file and paste the following code: -```jsx file=<rootDir>/animata/card/fluid-tabs.tsx +```jsx file=<rootDir>/animata/tabs/fluid-tabs.tsx ``` diff --git a/content/docs/container/shift-tabs.mdx b/content/docs/tabs/shift-tabs.mdx similarity index 60% rename from content/docs/container/shift-tabs.mdx rename to content/docs/tabs/shift-tabs.mdx index a50141e1..023d42d3 100644 --- a/content/docs/container/shift-tabs.mdx +++ b/content/docs/tabs/shift-tabs.mdx @@ -5,24 +5,30 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="container-shift-tabs--docs" /> +<ComponentPreview name="tabs-shift-tabs--primary" /> ## Installation +### CLI + +<RegistryInstall category="tabs" name="shift-tabs" /> + +### Manual + <Steps> <Step>Run the following command</Step> -It will create a new file called `shift-tabs.tsx` inside the `components/animata/container` directory. +It will create a new file called `shift-tabs.tsx` inside the `components/animata/tabs` directory. ```bash -mkdir -p components/animata/container && touch components/animata/container/shift-tabs.tsx +mkdir -p components/animata/tabs && touch components/animata/tabs/shift-tabs.tsx ``` <Step>Paste the code</Step> Open the newly created file and paste the following code: -```jsx file=<rootDir>/animata/container/shift-tabs.tsx +```jsx file=<rootDir>/animata/tabs/shift-tabs.tsx ``` diff --git a/content/docs/text/animated-gradient-text.mdx b/content/docs/text/animated-gradient-text.mdx index 489de23c..b4ca78d2 100644 --- a/content/docs/text/animated-gradient-text.mdx +++ b/content/docs/text/animated-gradient-text.mdx @@ -4,27 +4,27 @@ 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 +### CLI + +<RegistryInstall category="text" name="animated-gradient-text" /> + +### Manual + <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..fd020b01 100644 --- a/content/docs/text/bold-copy.mdx +++ b/content/docs/text/bold-copy.mdx @@ -5,23 +5,17 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-bold-copy--docs" /> +<ComponentPreview name="text-bold-copy--primary" /> ## Installation -<Steps> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="text" name="bold-copy" /> + +### Manual + +<Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/circular-text.mdx b/content/docs/text/circular-text.mdx new file mode 100644 index 00000000..628c0f75 --- /dev/null +++ b/content/docs/text/circular-text.mdx @@ -0,0 +1,44 @@ +--- +title: Circular Text +description: Displays text arranged in a rotating circular path with customizable speed. +author: Sanj__P +--- + +<ComponentPreview name="text-circular-text--primary" /> + +## Installation + +### CLI + +<RegistryInstall category="text" name="circular-text" /> + +### Manual + +<Steps> +<Step>Install dependencies</Step> + +```bash +npm install motion +``` + +<Step>Run the following command</Step> + +It will create a new file `circular-text.tsx` inside the `components/animata/text` directory. + +```bash +mkdir -p components/animata/text && touch components/animata/text/circular-text.tsx +``` + +<Step>Paste the code</Step>{" "} + +Open the newly created file and paste the following code: + +```jsx file=<rootDir>/animata/text/circular-text.tsx + +``` + +</Steps> + +## Credits + +Built by [Sanjana Podduturi](https://github.com/P-Sanjana) diff --git a/content/docs/text/counter.mdx b/content/docs/text/counter.mdx index 1178a0cb..3680b170 100644 --- a/content/docs/text/counter.mdx +++ b/content/docs/text/counter.mdx @@ -4,27 +4,22 @@ 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> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - } - }, - }, -``` +<RegistryInstall category="text" name="counter" /> + +### Manual + +<Steps> -<Step>Install `framer-motion`</Step> +<Step>Install `motion`</Step> ```sh -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/text/cycle-text.mdx b/content/docs/text/cycle-text.mdx index 59584e01..18e93881 100644 --- a/content/docs/text/cycle-text.mdx +++ b/content/docs/text/cycle-text.mdx @@ -4,14 +4,20 @@ description: A component that cycles text over certain interval. author: ll4xmii --- -<ComponentPreview name="text-cycle-text--docs" /> +<ComponentPreview name="text-cycle-text--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="cycle-text" /> + +### Manual + <Steps> <Step>Install dependencies.</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/text/double-underline.mdx b/content/docs/text/double-underline.mdx index c578c1fb..a3e56ccf 100644 --- a/content/docs/text/double-underline.mdx +++ b/content/docs/text/double-underline.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-double-underline--docs" /> +<ComponentPreview name="text-double-underline--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="double-underline" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/gibberish-text.mdx b/content/docs/text/gibberish-text.mdx index 66f1c33b..1811b13d 100644 --- a/content/docs/text/gibberish-text.mdx +++ b/content/docs/text/gibberish-text.mdx @@ -4,22 +4,17 @@ 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> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="text" name="gibberish-text" /> + +### Manual + +<Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/glitch-text.mdx b/content/docs/text/glitch-text.mdx index 2ff91ee2..d0874dfa 100644 --- a/content/docs/text/glitch-text.mdx +++ b/content/docs/text/glitch-text.mdx @@ -4,51 +4,32 @@ description: Glitch text effect author: harimanok_ --- -<ComponentPreview name="text-glitch-text--docs" /> +<ComponentPreview name="text-glitch-text--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="glitch-text" /> + +### Manual + <Steps> -<Step>Update `tailwind.config.js`</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" }, - }, - }, - }, - }, +<Step>Add to your CSS</Step> + +```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..cd2327c9 100644 --- a/content/docs/text/jitter-text.mdx +++ b/content/docs/text/jitter-text.mdx @@ -4,15 +4,21 @@ description: Animated Text component that applies a jittery effect author: XDoffu --- -<ComponentPreview name="text-jitter-text--docs" /> +<ComponentPreview name="text-jitter-text--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="jitter-text" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/text/jumping-text-instagram.mdx b/content/docs/text/jumping-text-instagram.mdx index a7771da4..689e1e14 100644 --- a/content/docs/text/jumping-text-instagram.mdx +++ b/content/docs/text/jumping-text-instagram.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="text" name="jumping-text-instagram" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/text/mask-text.mdx b/content/docs/text/mask-text.mdx index 5f2e6671..6e4bc164 100644 --- a/content/docs/text/mask-text.mdx +++ b/content/docs/text/mask-text.mdx @@ -3,12 +3,19 @@ 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 +### CLI + +<RegistryInstall category="text" name="mask-text" /> + +### Manual + <Steps> <Step>Create a hook `use-mouse-postition.ts` and paste the following code</Step> @@ -23,17 +30,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..f429afe9 100644 --- a/content/docs/text/mirror-text.mdx +++ b/content/docs/text/mirror-text.mdx @@ -5,22 +5,17 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-mirror-text--docs" /> +<ComponentPreview name="text-mirror-text--primary" /> ## Installation -<Steps> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="text" name="mirror-text" /> + +### Manual + +<Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/scroll-reveal.mdx b/content/docs/text/scroll-reveal.mdx index e2c44174..f1e86584 100644 --- a/content/docs/text/scroll-reveal.mdx +++ b/content/docs/text/scroll-reveal.mdx @@ -5,10 +5,16 @@ author: harimanok_ labels: ["requires interaction", "scroll"] --- -<ComponentPreview name="text-scroll-reveal--docs" /> +<ComponentPreview name="text-scroll-reveal--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="scroll-reveal" /> + +### Manual + <Steps> <Step>(optional): Update globals.css</Step> diff --git a/content/docs/text/split-text.mdx b/content/docs/text/split-text.mdx index 4125b8a7..aa14bc3e 100644 --- a/content/docs/text/split-text.mdx +++ b/content/docs/text/split-text.mdx @@ -5,10 +5,16 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="text-split-text--docs" /> +<ComponentPreview name="text-split-text--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="split-text" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/staggered-letter.mdx b/content/docs/text/staggered-letter.mdx index b55ee884..cb8e757e 100644 --- a/content/docs/text/staggered-letter.mdx +++ b/content/docs/text/staggered-letter.mdx @@ -4,15 +4,21 @@ description: A staggered up/drop letter animation. author: morphhyy --- -<ComponentPreview name="text-staggered-letter--docs" /> +<ComponentPreview name="text-staggered-letter--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="staggered-letter" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/text/swap-text.mdx b/content/docs/text/swap-text.mdx index e99b11e0..88aa3fd7 100644 --- a/content/docs/text/swap-text.mdx +++ b/content/docs/text/swap-text.mdx @@ -5,25 +5,24 @@ labels: ["requires interaction", "hover", "click"] author: harimanok_ --- -<ComponentPreview name="text-swap-text--docs" /> +<ComponentPreview name="text-swap-text--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="swap-text" /> + +### Manual + <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..f2c54cd9 100644 --- a/content/docs/text/text-border-animation.mdx +++ b/content/docs/text/text-border-animation.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="text-text-border-animation--docs" /> +<ComponentPreview name="text-text-border-animation--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="text-border-animation" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/text-explode-imessage.mdx b/content/docs/text/text-explode-imessage.mdx index 6224b18a..da7e6045 100644 --- a/content/docs/text/text-explode-imessage.mdx +++ b/content/docs/text/text-explode-imessage.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="text" name="text-explode-imessage" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/text/text-flip.mdx b/content/docs/text/text-flip.mdx index 6160107b..d22eda85 100644 --- a/content/docs/text/text-flip.mdx +++ b/content/docs/text/text-flip.mdx @@ -4,41 +4,34 @@ description: Text with flipping effect author: AashishKatila --- -<ComponentPreview name="text-text-flip--docs" /> +<ComponentPreview name="text-text-flip--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="text-flip" /> + +### Manual + <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..12aac7b8 100644 --- a/content/docs/text/ticker.mdx +++ b/content/docs/text/ticker.mdx @@ -4,10 +4,16 @@ description: A ticker component that animates number on change author: harimanok_ --- -<ComponentPreview name="text-ticker--docs" /> +<ComponentPreview name="text-ticker--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="ticker" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/typing-text.mdx b/content/docs/text/typing-text.mdx index c9c2e4c1..cfe854ee 100644 --- a/content/docs/text/typing-text.mdx +++ b/content/docs/text/typing-text.mdx @@ -4,10 +4,16 @@ description: Creates a typing effect for given text author: harimanok_ --- -<ComponentPreview name="text-typing-text--docs" /> +<ComponentPreview name="text-typing-text--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="typing-text" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/underline-hover-text.mdx b/content/docs/text/underline-hover-text.mdx index a7453196..a39ee543 100644 --- a/content/docs/text/underline-hover-text.mdx +++ b/content/docs/text/underline-hover-text.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: RBChiranjibi --- -<ComponentPreview name="text-underline-hover-text--docs" /> +<ComponentPreview name="text-underline-hover-text--primary" /> ## Installation +### CLI + +<RegistryInstall category="text" name="underline-hover-text" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/text/wave-reveal.mdx b/content/docs/text/wave-reveal.mdx index 3e3d74d9..19648f43 100644 --- a/content/docs/text/wave-reveal.mdx +++ b/content/docs/text/wave-reveal.mdx @@ -3,35 +3,35 @@ 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 +### CLI + +<RegistryInstall category="text" name="wave-reveal" /> + +### Manual + <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..71d96111 100644 --- a/content/docs/widget/alarm-clock.mdx +++ b/content/docs/widget/alarm-clock.mdx @@ -5,22 +5,17 @@ labels: ["requires interaction", "toggle"] author: Sumingurung9 --- -<ComponentPreview name="widget-alarm-clock--docs" /> +<ComponentPreview name="widget-alarm-clock--primary" /> ## Installation -<Steps> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` +<RegistryInstall category="widget" name="alarm-clock" /> + +### Manual + +<Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/battery-level.mdx b/content/docs/widget/battery-level.mdx index a43dd4c7..a6a273da 100644 --- a/content/docs/widget/battery-level.mdx +++ b/content/docs/widget/battery-level.mdx @@ -3,23 +3,17 @@ 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> +### CLI -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - background: "hsl(var(--background))", - } - }, - }, -``` +<RegistryInstall category="widget" name="battery-level" /> + +### Manual + +<Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/battery.mdx b/content/docs/widget/battery.mdx index 7854f587..d783cc4f 100644 --- a/content/docs/widget/battery.mdx +++ b/content/docs/widget/battery.mdx @@ -4,10 +4,16 @@ description: This is a basic widget that shows battery percentage. author: sanjaya22780 --- -<ComponentPreview name="widget-battery--docs" /> +<ComponentPreview name="widget-battery--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="battery" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/calendar-event.mdx b/content/docs/widget/calendar-event.mdx index cf6f39a2..4f97a524 100644 --- a/content/docs/widget/calendar-event.mdx +++ b/content/docs/widget/calendar-event.mdx @@ -4,10 +4,16 @@ description: Calendar event widget author: Sumin Gurung --- -<ComponentPreview name="widget-calendar-event--docs" /> +<ComponentPreview name="widget-calendar-event--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="calendar-event" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/calendar-widget.mdx b/content/docs/widget/calendar-widget.mdx index f2efdaeb..b1e34200 100644 --- a/content/docs/widget/calendar-widget.mdx +++ b/content/docs/widget/calendar-widget.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="widget" name="calendar-widget" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/widget/calorie-counter.mdx b/content/docs/widget/calorie-counter.mdx index 93b12ea9..b3fe59b7 100644 --- a/content/docs/widget/calorie-counter.mdx +++ b/content/docs/widget/calorie-counter.mdx @@ -3,10 +3,16 @@ title: Calorie Counter description: A calorie counter for your app --- -<ComponentPreview name="widget-calorie-counter--docs" /> +<ComponentPreview name="widget-calorie-counter--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="calorie-counter" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/clock-with-photo.mdx b/content/docs/widget/clock-with-photo.mdx index 1580c997..6e911e54 100644 --- a/content/docs/widget/clock-with-photo.mdx +++ b/content/docs/widget/clock-with-photo.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="widget-clock-with-photo--docs" /> +<ComponentPreview name="widget-clock-with-photo--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="clock-with-photo" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/cycling.mdx b/content/docs/widget/cycling.mdx index 5aeb8ea5..bbb8a802 100644 --- a/content/docs/widget/cycling.mdx +++ b/content/docs/widget/cycling.mdx @@ -3,10 +3,16 @@ 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 +### CLI + +<RegistryInstall category="widget" name="cycling" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/delivery-card.mdx b/content/docs/widget/delivery-card.mdx index 615bf195..fcf028b0 100644 --- a/content/docs/widget/delivery-card.mdx +++ b/content/docs/widget/delivery-card.mdx @@ -4,10 +4,16 @@ description: This card helps user to track their orders. author: sanjaya22780 --- -<ComponentPreview name="widget-delivery-card--docs" /> +<ComponentPreview name="widget-delivery-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="delivery-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/direction-card.mdx b/content/docs/widget/direction-card.mdx index d9b38ed7..65049b62 100644 --- a/content/docs/widget/direction-card.mdx +++ b/content/docs/widget/direction-card.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="widget" name="direction-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/expense-tracker.mdx b/content/docs/widget/expense-tracker.mdx index 8270a4ff..c775b31d 100644 --- a/content/docs/widget/expense-tracker.mdx +++ b/content/docs/widget/expense-tracker.mdx @@ -4,10 +4,16 @@ description: Tracks your weekly spending or expenses author: Sumingurung9 --- -<ComponentPreview name="widget-expense-tracker--docs" /> +<ComponentPreview name="widget-expense-tracker--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="expense-tracker" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/flight-widget.mdx b/content/docs/widget/flight-widget.mdx index 1fbc2b8c..13ef3358 100644 --- a/content/docs/widget/flight-widget.mdx +++ b/content/docs/widget/flight-widget.mdx @@ -4,10 +4,16 @@ description: A widget that shows flight detail author: AashishKatila --- -<ComponentPreview name="widget-flight-widget--docs" /> +<ComponentPreview name="widget-flight-widget--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="flight-widget" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/fund-widget.mdx b/content/docs/widget/fund-widget.mdx index 1eedc78c..e2fd6ccd 100644 --- a/content/docs/widget/fund-widget.mdx +++ b/content/docs/widget/fund-widget.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="widget" name="fund-widget" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/widget/index.mdx b/content/docs/widget/index.mdx index 64f58750..a438b656 100644 --- a/content/docs/widget/index.mdx +++ b/content/docs/widget/index.mdx @@ -33,11 +33,6 @@ import WaterTracker from "@/animata/widget/water-tracker"; import WeatherCard from "@/animata/widget/weather-card"; import WeeklyProgress from "@/animata/widget/weekly-progress"; -<Callout> - We are still working on some of the widgets to make them interactive and more user-friendly. We - will keep updating this page as we make progress. -</Callout> - ## Square <ComponentList> diff --git a/content/docs/widget/live-score.mdx b/content/docs/widget/live-score.mdx index d2e03f80..338706aa 100644 --- a/content/docs/widget/live-score.mdx +++ b/content/docs/widget/live-score.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="widget" name="live-score" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/mobile-detail.mdx b/content/docs/widget/mobile-detail.mdx index e3228cb9..dae0d76d 100644 --- a/content/docs/widget/mobile-detail.mdx +++ b/content/docs/widget/mobile-detail.mdx @@ -4,10 +4,16 @@ description: Mobile widget author: Sumin Gurung --- -<ComponentPreview name="widget-mobile-detail--docs" /> +<ComponentPreview name="widget-mobile-detail--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="mobile-detail" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/music-stack-interaction.mdx b/content/docs/widget/music-stack-interaction.mdx index 0f406e84..4fbaf5c0 100644 --- a/content/docs/widget/music-stack-interaction.mdx +++ b/content/docs/widget/music-stack-interaction.mdx @@ -4,15 +4,21 @@ description: widget for Music stack and unstacking author: Mahlawat2001 --- -<ComponentPreview name="widget-music-stack-interaction--docs" /> +<ComponentPreview name="widget-music-stack-interaction--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="music-stack-interaction" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install lucide-react framer-motion +npm install lucide-react motion ``` <Step>Run the following command</Step> diff --git a/content/docs/widget/music-widget.mdx b/content/docs/widget/music-widget.mdx index a42ed11f..206f44fb 100644 --- a/content/docs/widget/music-widget.mdx +++ b/content/docs/widget/music-widget.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "click"] author: AashishKatila --- -<ComponentPreview name="widget-music-widget--docs" /> +<ComponentPreview name="widget-music-widget--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="music-widget" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/notes.mdx b/content/docs/widget/notes.mdx index 268ee6a8..751c0ae0 100644 --- a/content/docs/widget/notes.mdx +++ b/content/docs/widget/notes.mdx @@ -4,10 +4,16 @@ description: A notes widget author: sudha_shrestha --- -<ComponentPreview name="widget-notes--docs" /> +<ComponentPreview name="widget-notes--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="notes" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/profile.mdx b/content/docs/widget/profile.mdx index b4bbae46..dd81b413 100644 --- a/content/docs/widget/profile.mdx +++ b/content/docs/widget/profile.mdx @@ -4,10 +4,16 @@ description: A widget that shows user profile author: ll4xmii --- -<ComponentPreview name="widget-profile--docs" /> +<ComponentPreview name="widget-profile--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="profile" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/reminder-widget.mdx b/content/docs/widget/reminder-widget.mdx index 7e7a310c..8c732c1d 100644 --- a/content/docs/widget/reminder-widget.mdx +++ b/content/docs/widget/reminder-widget.mdx @@ -4,10 +4,16 @@ description: Reminder widget author: Sumingurung9 --- -<ComponentPreview name="widget-reminder-widget--docs" /> +<ComponentPreview name="widget-reminder-widget--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="reminder-widget" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/reminder.mdx b/content/docs/widget/reminder.mdx index 121b5a6a..90b9127c 100644 --- a/content/docs/widget/reminder.mdx +++ b/content/docs/widget/reminder.mdx @@ -4,10 +4,16 @@ description: A reminder widget shows notifications for important tasks author: ll4xmii --- -<ComponentPreview name="widget-reminder--docs" /> +<ComponentPreview name="widget-reminder--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="reminder" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/score-board.mdx b/content/docs/widget/score-board.mdx index 0ae28e0d..0759c4db 100644 --- a/content/docs/widget/score-board.mdx +++ b/content/docs/widget/score-board.mdx @@ -4,10 +4,16 @@ description: A widget that shows progress and score author: ll4xmii --- -<ComponentPreview name="widget-score-board--docs" /> +<ComponentPreview name="widget-score-board--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="score-board" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/security-alert.mdx b/content/docs/widget/security-alert.mdx index cdc5d0b0..e611ef7f 100644 --- a/content/docs/widget/security-alert.mdx +++ b/content/docs/widget/security-alert.mdx @@ -4,10 +4,16 @@ 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 +### CLI + +<RegistryInstall category="widget" name="security-alert" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/shopping-list.mdx b/content/docs/widget/shopping-list.mdx index 653c599d..566d8d76 100644 --- a/content/docs/widget/shopping-list.mdx +++ b/content/docs/widget/shopping-list.mdx @@ -4,10 +4,16 @@ description: A shopping list widget author: sudha_shrestha --- -<ComponentPreview name="widget-shopping-list--docs" /> +<ComponentPreview name="widget-shopping-list--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="shopping-list" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/sleep-tracker.mdx b/content/docs/widget/sleep-tracker.mdx index eaa6648b..69b42d12 100644 --- a/content/docs/widget/sleep-tracker.mdx +++ b/content/docs/widget/sleep-tracker.mdx @@ -4,10 +4,16 @@ description: An elegant sleep tracker for your use author: AdashBaral --- -<ComponentPreview name="widget-sleep-tracker--docs" /> +<ComponentPreview name="widget-sleep-tracker--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="sleep-tracker" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/storage-status.mdx b/content/docs/widget/storage-status.mdx index e3b73223..b02ee017 100644 --- a/content/docs/widget/storage-status.mdx +++ b/content/docs/widget/storage-status.mdx @@ -4,10 +4,16 @@ description: This widget shows storage occupied by different file. author: sanjaya22780 --- -<ComponentPreview name="widget-storage-status--docs" /> +<ComponentPreview name="widget-storage-status--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="storage-status" /> + +### Manual + <Steps> <Step>Run the following command</Step> diff --git a/content/docs/widget/storage-widget.mdx b/content/docs/widget/storage-widget.mdx index 357f3edc..91adbd04 100644 --- a/content/docs/widget/storage-widget.mdx +++ b/content/docs/widget/storage-widget.mdx @@ -3,10 +3,16 @@ title: Storage Widget description: A widget to display storage --- -<ComponentPreview name="widget-storage-widget--docs" /> +<ComponentPreview name="widget-storage-widget--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="storage-widget" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/study-timer.mdx b/content/docs/widget/study-timer.mdx index 9fabc066..1b13402f 100644 --- a/content/docs/widget/study-timer.mdx +++ b/content/docs/widget/study-timer.mdx @@ -3,10 +3,16 @@ 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 +### CLI + +<RegistryInstall category="widget" name="study-timer" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash diff --git a/content/docs/widget/team-clock.mdx b/content/docs/widget/team-clock.mdx index c463c802..44f0cdb2 100644 --- a/content/docs/widget/team-clock.mdx +++ b/content/docs/widget/team-clock.mdx @@ -4,15 +4,21 @@ 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 +### CLI + +<RegistryInstall category="widget" name="team-clock" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion +npm install motion ``` <Step>Run the following command</Step> diff --git a/content/docs/widget/video-chat.mdx b/content/docs/widget/video-chat.mdx index fb2b03cc..3409013f 100644 --- a/content/docs/widget/video-chat.mdx +++ b/content/docs/widget/video-chat.mdx @@ -5,15 +5,21 @@ labels: ["requires interaction", "click"] author: AashishKatila --- -<ComponentPreview name="widget-video-chat--docs" /> +<ComponentPreview name="widget-video-chat--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="video-chat" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash -npm install framer-motion lucide-react +npm install motion lucide-react ``` <Step>Run the following command</Step> diff --git a/content/docs/widget/vpn-widget.mdx b/content/docs/widget/vpn-widget.mdx index db2b5f74..ef0a6f27 100644 --- a/content/docs/widget/vpn-widget.mdx +++ b/content/docs/widget/vpn-widget.mdx @@ -4,10 +4,16 @@ description: Shows the Vpn Connectivity labels: ["requires interaction", "click"] --- -<ComponentPreview name="widget-vpn-widget--docs" /> +<ComponentPreview name="widget-vpn-widget--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="vpn-widget" /> + +### Manual + <Steps> <Step>Install dependencies</Step> ```bash diff --git a/content/docs/widget/water-tracker.mdx b/content/docs/widget/water-tracker.mdx index 655f045d..05f59f17 100644 --- a/content/docs/widget/water-tracker.mdx +++ b/content/docs/widget/water-tracker.mdx @@ -5,10 +5,16 @@ labels: ["requires interaction", "click"] author: Sumingurung9 --- -<ComponentPreview name="widget-water-tracker--docs" /> +<ComponentPreview name="widget-water-tracker--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="water-tracker" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/weather-card.mdx b/content/docs/widget/weather-card.mdx index 715c2d9f..1dcf1bff 100644 --- a/content/docs/widget/weather-card.mdx +++ b/content/docs/widget/weather-card.mdx @@ -4,10 +4,16 @@ description: A cool weather widget author: AdashBaral --- -<ComponentPreview name="widget-weather-card--docs" /> +<ComponentPreview name="widget-weather-card--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="weather-card" /> + +### Manual + <Steps> <Step>Install dependencies</Step> diff --git a/content/docs/widget/weekly-progress.mdx b/content/docs/widget/weekly-progress.mdx index 22accf5b..49c2972b 100644 --- a/content/docs/widget/weekly-progress.mdx +++ b/content/docs/widget/weekly-progress.mdx @@ -4,10 +4,16 @@ description: A widget that shows weekly progress author: Sumingurung9 --- -<ComponentPreview name="widget-weekly-progress--docs" /> +<ComponentPreview name="widget-weekly-progress--primary" /> ## Installation +### CLI + +<RegistryInstall category="widget" name="weekly-progress" /> + +### Manual + <Steps> <Step>Install dependencies</Step> 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-exit-intent.ts b/hooks/use-exit-intent.ts new file mode 100644 index 00000000..bf2d4124 --- /dev/null +++ b/hooks/use-exit-intent.ts @@ -0,0 +1,35 @@ +"use client"; + +import { useCallback, useEffect, useRef, useState } from "react"; + +const STORAGE_KEY = "animata-exit-shown"; + +export default function useExitIntent() { + const [showModal, setShowModal] = useState(false); + const shown = useRef(false); + + const show = useCallback(() => { + if (shown.current) return; + if (sessionStorage.getItem(STORAGE_KEY)) return; + shown.current = true; + sessionStorage.setItem(STORAGE_KEY, "1"); + setShowModal(true); + }, []); + + useEffect(() => { + const onMouseLeave = (e: MouseEvent) => { + if (e.clientY <= 0) show(); + }; + + const timer = setTimeout(() => { + document.addEventListener("mouseleave", onMouseLeave); + }, 5000); + + return () => { + clearTimeout(timer); + document.removeEventListener("mouseleave", onMouseLeave); + }; + }, [show]); + + return { showModal, setShowModal }; +} 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..188957c2 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,13 +1,31 @@ -import { withContentlayer } from "next-contentlayer"; - /** @type {import('next').NextConfig} */ const nextConfig = { - output: "export", // Enable static exports + output: process.env.NODE_ENV === "production" ? "export" : undefined, reactStrictMode: true, - swcMinify: true, + allowedDevOrigins: process.env.ALLOWED_DEV_ORIGINS?.split(",") ?? [], 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 c11330cf..170631a3 100644 --- a/package.json +++ b/package.json @@ -1,127 +1,112 @@ { "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 && node ./scripts/build-registry.js && node ./scripts/build-docs-markdown.js && node ./scripts/build-llms-txt.js && 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", + "registry:build": "node ./scripts/build-registry.js && node ./scripts/build-docs-markdown.js && node ./scripts/build-llms-txt.js", "postinstall": "yarn prepare", "shadcn:add": "npx shadcn-ui@latest add", "prepare": "husky" }, "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", + "@fontsource-variable/lilex": "^5.2.1", + "@phosphor-icons/react": "^2.1.10", + "@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": "14.2.26", - "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.1.6", - "storybook-dark-mode": "^4.0.1", - "tailwindcss": "^3.4.1", + "playwright": "^1.59.1", + "storybook": "^10.2.15", + "tailwindcss": "^4.1.0", "typescript": "^5", - "wrangler": "^3.79.0" + "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/_headers b/public/_headers new file mode 100644 index 00000000..a33b9317 --- /dev/null +++ b/public/_headers @@ -0,0 +1,18 @@ +/r/* + Cache-Control: public, max-age=300, s-maxage=86400, stale-while-revalidate=604800 + Access-Control-Allow-Origin: * + +/docs/*.md + Content-Type: text/markdown; charset=utf-8 + Cache-Control: public, max-age=300, s-maxage=86400, stale-while-revalidate=604800 + Access-Control-Allow-Origin: * + +/llms.txt + Content-Type: text/markdown; charset=utf-8 + Cache-Control: public, max-age=300, s-maxage=86400, stale-while-revalidate=604800 + Access-Control-Allow-Origin: * + +/llms-full.txt + Content-Type: text/markdown; charset=utf-8 + Cache-Control: public, max-age=300, s-maxage=86400, stale-while-revalidate=604800 + Access-Control-Allow-Origin: * 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/build-docs-markdown.js b/scripts/build-docs-markdown.js new file mode 100644 index 00000000..f91ec5ba --- /dev/null +++ b/scripts/build-docs-markdown.js @@ -0,0 +1,130 @@ +import fs from "node:fs"; +import path from "node:path"; + +const ROOT = process.cwd(); +const DOCS_DIR = path.join(ROOT, "content", "docs"); +const OUT_DIR = path.join(ROOT, "public", "docs"); +const SITE_URL = (process.env.NEXT_PUBLIC_APP_URL || "https://animata.design").replace(/\/$/, ""); + +const SKIP_FILES = new Set(["index.mdx", "setup.mdx", "changelog.mdx"]); +const SKIP_DIRS = new Set(["contributing"]); + +function walkMdx(dir, acc = []) { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + if (SKIP_DIRS.has(entry.name)) continue; + walkMdx(full, acc); + } else if (entry.isFile() && entry.name.endsWith(".mdx")) { + if (SKIP_FILES.has(entry.name)) continue; + acc.push(full); + } + } + return acc; +} + +function parseFrontmatter(src) { + const normalized = src.replace(/\r\n/g, "\n"); + const match = normalized.match(/^---\n([\s\S]*?)\n---/); + if (!match) return { data: {}, body: normalized }; + const data = {}; + for (const line of match[1].split("\n")) { + const eq = line.indexOf(":"); + if (eq === -1) continue; + const key = line.slice(0, eq).trim(); + let value = line.slice(eq + 1).trim(); + if (value.startsWith("[") && value.endsWith("]")) { + value = value + .slice(1, -1) + .split(",") + .map((s) => s.trim().replace(/^["']|["']$/g, "")) + .filter(Boolean); + } else { + value = value.replace(/^["']|["']$/g, ""); + } + data[key] = value; + } + return { data, body: normalized.slice(match[0].length).replace(/^\n+/, "") }; +} + +function resolveSourceBlocks(mdx) { + return mdx.replace(/```(\w+)\s+file=<rootDir>\/([^\s`]+)\s*\n([\s\S]*?)```/g, (_, lang, ref) => { + const abs = path.join(ROOT, ref); + try { + const src = fs.readFileSync(abs, "utf8"); + return `\`\`\`${lang}\n${src.trimEnd()}\n\`\`\``; + } catch { + return `\`\`\`${lang}\n// source unavailable: ${ref}\n\`\`\``; + } + }); +} + +function stripJsx(mdx, { siteUrl }) { + return mdx + .replace(/<ComponentPreview[^/>]*\/>/g, "") + .replace( + /<RegistryInstall\s+category="([^"]+)"\s+name="([^"]+)"\s*\/>/g, + (_, cat, n) => `\`\`\`bash\npnpm dlx shadcn@latest add ${siteUrl}/r/${cat}/${n}.json\n\`\`\``, + ) + .replace(/<Step>([\s\S]*?)<\/Step>/g, "**$1**") + .replace(/<Steps>\s*/g, "") + .replace(/\s*<\/Steps>/g, "") + .replace(/\{" "\}/g, " ") + .replace(/\n{3,}/g, "\n\n") + .trim(); +} + +function toMarkdown(mdxPath) { + const raw = fs.readFileSync(mdxPath, "utf8"); + const { data, body } = parseFrontmatter(raw); + if (data.published === "false") return null; + + const rel = path.relative(DOCS_DIR, mdxPath); + const parts = rel.split(path.sep); + if (parts.length < 2) return null; + const category = parts[0]; + const name = parts[parts.length - 1].replace(/\.mdx$/, ""); + const slug = `${category}/${name}`; + + const resolved = resolveSourceBlocks(body); + const stripped = stripJsx(resolved, { siteUrl: SITE_URL }); + + const header = [ + `# ${data.title || name}`, + "", + data.description ? `> ${data.description}` : null, + "", + `**URL**: ${SITE_URL}/docs/${slug}`, + `**Registry**: \`${SITE_URL}/r/${slug}.json\``, + data.author ? `**Author**: ${data.author}` : null, + Array.isArray(data.labels) && data.labels.length + ? `**Labels**: ${data.labels.join(", ")}` + : null, + "", + "---", + "", + ] + .filter((l) => l !== null) + .join("\n"); + + return { category, name, slug, data, markdown: `${header}${stripped}\n` }; +} + +function main() { + if (fs.existsSync(OUT_DIR)) fs.rmSync(OUT_DIR, { recursive: true, force: true }); + fs.mkdirSync(OUT_DIR, { recursive: true }); + + const mdxFiles = walkMdx(DOCS_DIR); + let written = 0; + for (const mdxPath of mdxFiles) { + const result = toMarkdown(mdxPath); + if (!result) continue; + const outDir = path.join(OUT_DIR, result.category); + fs.mkdirSync(outDir, { recursive: true }); + fs.writeFileSync(path.join(outDir, `${result.name}.md`), result.markdown); + written++; + } + console.log(`docs markdown: wrote ${written} files to public/docs/`); +} + +main(); diff --git a/scripts/build-llms-txt.js b/scripts/build-llms-txt.js new file mode 100644 index 00000000..8f7b6de9 --- /dev/null +++ b/scripts/build-llms-txt.js @@ -0,0 +1,120 @@ +import fs from "node:fs"; +import path from "node:path"; + +const ROOT = process.cwd(); +const DOCS_MD_DIR = path.join(ROOT, "public", "docs"); +const PUBLIC_DIR = path.join(ROOT, "public"); +const SITE_URL = (process.env.NEXT_PUBLIC_APP_URL || "https://animata.design").replace(/\/$/, ""); + +const CATEGORY_ORDER = [ + { slug: "text", title: "Text" }, + { slug: "background", title: "Background" }, + { slug: "image", title: "Image" }, + { slug: "list", title: "List" }, + { slug: "container", title: "Container" }, + { slug: "accordion", title: "Accordion" }, + { slug: "card", title: "Card" }, + { slug: "tabs", title: "Tabs" }, + { slug: "section", title: "Section" }, + { slug: "icon", title: "Icon" }, + { slug: "preloader", title: "PreLoader" }, + { slug: "progress", title: "Progress" }, + { slug: "graphs", title: "Graphs & Charts" }, + { slug: "overlay", title: "Overlay" }, + { slug: "button", title: "Button" }, + { slug: "widget", title: "Widget" }, + { slug: "bento-grid", title: "Bento Grid" }, + { slug: "hero", title: "Hero" }, + { slug: "carousel", title: "Carousel" }, + { slug: "skeleton", title: "Skeleton" }, + { slug: "feature-cards", title: "Feature Cards" }, + { slug: "fabs", title: "Floating Action Buttons" }, +]; + +function collectDocs() { + const byCategory = new Map(); + if (!fs.existsSync(DOCS_MD_DIR)) return byCategory; + for (const categoryEntry of fs.readdirSync(DOCS_MD_DIR, { withFileTypes: true })) { + if (!categoryEntry.isDirectory()) continue; + const categoryDir = path.join(DOCS_MD_DIR, categoryEntry.name); + const items = []; + for (const file of fs.readdirSync(categoryDir)) { + if (!file.endsWith(".md")) continue; + const name = file.replace(/\.md$/, ""); + const content = fs.readFileSync(path.join(categoryDir, file), "utf8"); + const titleMatch = content.match(/^# (.+)$/m); + const descMatch = content.match(/^> (.+)$/m); + items.push({ + name, + title: titleMatch ? titleMatch[1].trim() : name, + description: descMatch ? descMatch[1].trim() : "", + url: `${SITE_URL}/docs/${categoryEntry.name}/${name}.md`, + docUrl: `${SITE_URL}/docs/${categoryEntry.name}/${name}`, + content, + }); + } + items.sort((a, b) => a.title.localeCompare(b.title)); + byCategory.set(categoryEntry.name, items); + } + return byCategory; +} + +function buildIndex(byCategory) { + const lines = [ + "# Animata", + "", + "> Hand-crafted, animated React components built with Tailwind CSS v4 — free and open source. Install any component with the shadcn CLI or copy/paste the source.", + "", + "Animata is a library of ~130 production-ready animated UI primitives: buttons, cards, widgets, backgrounds, text effects, hero sections, and more. Every component ships with source code, install instructions, and a live preview.", + "", + `- Home: ${SITE_URL}`, + `- Docs: ${SITE_URL}/docs`, + `- GitHub: https://github.com/codse/animata`, + `- Registry (shadcn CLI): ${SITE_URL}/r/{category}/{component}.json`, + "", + `Install any component with: \`pnpm dlx shadcn@latest add ${SITE_URL}/r/{category}/{component}.json\``, + "", + ]; + + for (const { slug, title } of CATEGORY_ORDER) { + const items = byCategory.get(slug); + if (!items || items.length === 0) continue; + lines.push(`## ${title}`); + lines.push(""); + for (const item of items) { + const desc = item.description ? `: ${item.description}` : ""; + lines.push(`- [${item.title}](${item.url})${desc}`); + } + lines.push(""); + } + + return lines.join("\n"); +} + +function buildFull(byCategory, index) { + const parts = [index, "", "---", ""]; + for (const { slug, title } of CATEGORY_ORDER) { + const items = byCategory.get(slug); + if (!items || items.length === 0) continue; + parts.push(`# ${title}`, ""); + for (const item of items) { + parts.push(item.content.trim(), "", "---", ""); + } + } + return parts.join("\n"); +} + +function main() { + const byCategory = collectDocs(); + const index = buildIndex(byCategory); + const full = buildFull(byCategory, index); + + fs.writeFileSync(path.join(PUBLIC_DIR, "llms.txt"), `${index}\n`); + fs.writeFileSync(path.join(PUBLIC_DIR, "llms-full.txt"), `${full}\n`); + + const indexKb = (Buffer.byteLength(index) / 1024).toFixed(1); + const fullKb = (Buffer.byteLength(full) / 1024).toFixed(1); + console.log(`llms: wrote llms.txt (${indexKb} KB) and llms-full.txt (${fullKb} KB)`); +} + +main(); diff --git a/scripts/build-registry.js b/scripts/build-registry.js new file mode 100644 index 00000000..6e05a9f4 --- /dev/null +++ b/scripts/build-registry.js @@ -0,0 +1,336 @@ +import fs from "node:fs"; +import path from "node:path"; + +const ROOT = process.cwd(); +const DOCS_DIR = path.join(ROOT, "content", "docs"); +const HOOKS_DIR = path.join(ROOT, "hooks"); +const OUT_DIR = path.join(ROOT, "public", "r"); +const SITE_URL = (process.env.NEXT_PUBLIC_APP_URL || "https://animata.design").replace(/\/$/, ""); + +const pkg = JSON.parse(fs.readFileSync(path.join(ROOT, "package.json"), "utf8")); +const INSTALLED_VERSIONS = { ...pkg.dependencies, ...pkg.devDependencies }; + +const SKIP_FILES = new Set(["index.mdx", "setup.mdx", "changelog.mdx"]); +const SKIP_DIRS = new Set(["contributing"]); + +function pinVersion(name) { + const version = INSTALLED_VERSIONS[name]; + return version ? `${name}@${version}` : name; +} + +function walkMdx(dir, acc = []) { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + if (SKIP_DIRS.has(entry.name)) continue; + walkMdx(full, acc); + } else if (entry.isFile() && entry.name.endsWith(".mdx")) { + if (SKIP_FILES.has(entry.name)) continue; + acc.push(full); + } + } + return acc; +} + +function parseFrontmatter(src) { + const normalized = src.replace(/\r\n/g, "\n"); + const match = normalized.match(/^---\n([\s\S]*?)\n---/); + if (!match) return {}; + const out = {}; + for (const line of match[1].split("\n")) { + const eq = line.indexOf(":"); + if (eq === -1) continue; + const key = line.slice(0, eq).trim(); + let value = line.slice(eq + 1).trim(); + if (value.startsWith("[") && value.endsWith("]")) { + value = value + .slice(1, -1) + .split(",") + .map((s) => s.trim().replace(/^["']|["']$/g, "")) + .filter(Boolean); + } else { + value = value.replace(/^["']|["']$/g, ""); + } + out[key] = value; + } + return out; +} + +function extractBlocks(src, lang) { + const blocks = []; + // Single-line fences: ```lang <body>``` — opening and closing on the same line. + // Must be tried first so the multi-line regex can't consume ``` as part of a body. + const singleRe = new RegExp(`\`\`\`${lang}[ \\t]+([^\\n\`]*?)\\s*\`\`\``, "g"); + for (const m of src.matchAll(singleRe)) { + blocks.push({ meta: "", body: m[1] }); + } + // Multi-line fences: ```lang<meta>\n<body>``` + const multiRe = new RegExp(`\`\`\`${lang}([^\\n]*)\\n([\\s\\S]*?)\`\`\``, "g"); + for (const m of src.matchAll(multiRe)) { + blocks.push({ meta: m[1].trim(), body: m[2] }); + } + return blocks; +} + +function extractNpmDependencies(src) { + const bash = extractBlocks(src, "bash"); + const deps = new Set(); + for (const block of bash) { + for (const line of block.body.split("\n")) { + const trimmed = line.trim(); + if (!trimmed.startsWith("npm install ")) continue; + for (const token of trimmed.slice("npm install ".length).split(/\s+/)) { + if (token && !token.startsWith("-")) deps.add(token); + } + } + } + return [...deps]; +} + +function parseCssBlocks(css) { + const state = { pos: 0, src: css }; + + function skipWs() { + while (state.pos < state.src.length && /\s/.test(state.src[state.pos])) state.pos++; + } + + function readHead() { + const start = state.pos; + while ( + state.pos < state.src.length && + state.src[state.pos] !== "{" && + state.src[state.pos] !== ";" && + state.src[state.pos] !== "}" + ) { + state.pos++; + } + return state.src.slice(start, state.pos).trim(); + } + + function parseBody() { + const body = {}; + while (state.pos < state.src.length) { + skipWs(); + if (state.pos >= state.src.length || state.src[state.pos] === "}") break; + const head = readHead(); + const ch = state.src[state.pos]; + if (ch === "{") { + state.pos++; + body[head] = parseBody(); + if (state.src[state.pos] === "}") state.pos++; + } else if (ch === ";") { + const colon = head.indexOf(":"); + if (colon !== -1) body[head.slice(0, colon).trim()] = head.slice(colon + 1).trim(); + state.pos++; + } else if (head) { + const colon = head.indexOf(":"); + if (colon !== -1) body[head.slice(0, colon).trim()] = head.slice(colon + 1).trim(); + break; + } else { + break; + } + } + return body; + } + + return parseBody(); +} + +function extractCssAndVars(src) { + const blocks = extractBlocks(src, "css"); + const css = {}; + const themeVars = {}; + for (const block of blocks) { + const parsed = parseCssBlocks(block.body); + for (const [selector, value] of Object.entries(parsed)) { + if (selector === "@theme" && typeof value === "object" && value !== null) { + Object.assign(themeVars, value); + } else { + css[selector] = value; + } + } + } + return { + css: Object.keys(css).length ? css : undefined, + cssVars: Object.keys(themeVars).length ? { theme: themeVars } : undefined, + }; +} + +function extractSourceFileRefs(src) { + const refs = []; + const re = /```[a-z]+\s+file=<rootDir>\/([^\s`]+)/g; + for (const m of src.matchAll(re)) { + refs.push(m[1]); + } + return refs; +} + +function readIfExists(filePath) { + try { + return fs.readFileSync(filePath, "utf8"); + } catch { + return null; + } +} + +function parseImports(source) { + const imports = []; + const re = /import\s+(?:[^'"]*?\s+from\s+)?["']([^"']+)["']/g; + for (const m of source.matchAll(re)) { + imports.push(m[1]); + } + return imports; +} + +function classifyImports(source) { + const animataRefs = new Set(); + const uiRefs = new Set(); + const hookRefs = new Set(); + const libRefs = new Set(); + for (const spec of parseImports(source)) { + if (spec.startsWith("@/animata/")) { + const sub = spec.slice("@/animata/".length); + animataRefs.add(sub); + } else if (spec.startsWith("@/components/ui/")) { + uiRefs.add(spec.slice("@/components/ui/".length)); + } else if (spec.startsWith("@/hooks/")) { + hookRefs.add(spec.slice("@/hooks/".length)); + } else if (spec.startsWith("@/lib/") && !spec.endsWith("/utils")) { + libRefs.add(spec.slice("@/lib/".length)); + } + } + return { animataRefs, uiRefs, hookRefs, libRefs }; +} + +function toRegistryItemName(category, name) { + return `${category}-${name}`; +} + +function toTitle(frontmatterTitle, name) { + if (frontmatterTitle) return frontmatterTitle; + return name + .split("-") + .map((p) => p.charAt(0).toUpperCase() + p.slice(1)) + .join(" "); +} + +function buildItem(mdxPath) { + const rel = path.relative(DOCS_DIR, mdxPath); + const parts = rel.split(path.sep); + if (parts.length < 2) return null; + const docCategory = parts[0]; + const name = parts[parts.length - 1].replace(/\.mdx$/, ""); + + const src = fs.readFileSync(mdxPath, "utf8"); + const frontmatter = parseFrontmatter(src); + if (frontmatter.published === "false") return null; + + const fileRefs = extractSourceFileRefs(src); + const primaryRef = + fileRefs.find((ref) => ref.startsWith("animata/") && ref.endsWith(`/${name}.tsx`)) || + fileRefs.find((ref) => ref.startsWith("animata/")); + + if (!primaryRef) { + console.warn(` skip: no animata source ref in ${rel}`); + return null; + } + + const primaryAbsPath = path.join(ROOT, primaryRef); + const primarySource = readIfExists(primaryAbsPath); + if (!primarySource) { + console.warn(` skip: source missing at ${primaryRef} (referenced by ${rel})`); + return null; + } + + const files = [ + { + path: `components/${primaryRef}`, + type: "registry:component", + target: `~/components/${primaryRef}`, + content: primarySource, + }, + ]; + + const dependencies = new Set(extractNpmDependencies(src)); + const registryDependencies = new Set(); + const processedHooks = new Set(); + + const queue = [primarySource]; + while (queue.length) { + const source = queue.shift(); + const { animataRefs, uiRefs, hookRefs } = classifyImports(source); + + for (const sub of animataRefs) { + const parts = sub.split("/"); + if (parts.length < 2) continue; + const [cat, comp] = parts; + registryDependencies.add(`${SITE_URL}/r/${cat}/${comp}.json`); + } + for (const ui of uiRefs) { + registryDependencies.add(ui); + } + for (const hookName of hookRefs) { + if (processedHooks.has(hookName)) continue; + processedHooks.add(hookName); + const hookSource = + readIfExists(path.join(HOOKS_DIR, `${hookName}.ts`)) || + readIfExists(path.join(HOOKS_DIR, `${hookName}.tsx`)); + if (!hookSource) continue; + const ext = fs.existsSync(path.join(HOOKS_DIR, `${hookName}.ts`)) ? "ts" : "tsx"; + files.push({ + path: `hooks/${hookName}.${ext}`, + type: "registry:hook", + target: `~/hooks/${hookName}.${ext}`, + content: hookSource, + }); + queue.push(hookSource); + } + } + + const { css, cssVars } = extractCssAndVars(src); + + const item = { + $schema: "https://ui.shadcn.com/schema/registry-item.json", + name: toRegistryItemName(docCategory, name), + type: "registry:component", + title: toTitle(frontmatter.title, name), + description: frontmatter.description || "", + categories: [docCategory], + dependencies: [...dependencies].map(pinVersion).sort(), + registryDependencies: [...registryDependencies].sort(), + files, + }; + if (frontmatter.author) item.author = frontmatter.author; + if (cssVars) item.cssVars = cssVars; + if (css) item.css = css; + + return { category: docCategory, name, item }; +} + +function main() { + if (fs.existsSync(OUT_DIR)) { + fs.rmSync(OUT_DIR, { recursive: true, force: true }); + } + fs.mkdirSync(OUT_DIR, { recursive: true }); + + const mdxFiles = walkMdx(DOCS_DIR); + let written = 0; + let skipped = 0; + + for (const mdxPath of mdxFiles) { + const built = buildItem(mdxPath); + if (!built) { + skipped++; + continue; + } + const { category, name, item } = built; + const outDir = path.join(OUT_DIR, category); + fs.mkdirSync(outDir, { recursive: true }); + fs.writeFileSync(path.join(outDir, `${name}.json`), `${JSON.stringify(item, null, 2)}\n`); + written++; + } + + console.log(`registry: generated ${written} items, skipped ${skipped} (no source / unpublished)`); +} + +main(); 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/scripts/inject-registry-install.js b/scripts/inject-registry-install.js new file mode 100644 index 00000000..8149a622 --- /dev/null +++ b/scripts/inject-registry-install.js @@ -0,0 +1,72 @@ +import fs from "node:fs"; +import path from "node:path"; + +const DOCS_DIR = path.join(process.cwd(), "content", "docs"); + +const MARKER = "<RegistryInstall"; +const INSTALL_HEADING = "## Installation"; + +function walkMdx(dir, acc = []) { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) walkMdx(full, acc); + else if (entry.isFile() && entry.name.endsWith(".mdx")) acc.push(full); + } + return acc; +} + +function transform(mdxPath) { + const src = fs.readFileSync(mdxPath, "utf8"); + if (src.includes(MARKER)) return { changed: false, reason: "already has RegistryInstall" }; + + const installIdx = src.indexOf(INSTALL_HEADING); + if (installIdx === -1) return { changed: false, reason: "no Installation section" }; + + if (!src.includes("<Steps>")) return { changed: false, reason: "no Steps block" }; + + const rel = path.relative(DOCS_DIR, mdxPath); + const parts = rel.split(path.sep); + if (parts.length < 2) return { changed: false, reason: "root-level doc" }; + const category = parts[0]; + const name = parts[parts.length - 1].replace(/\.mdx$/, ""); + + const lineEnd = src.indexOf("\n", installIdx); + const before = src.slice(0, lineEnd + 1); + const after = src.slice(lineEnd + 1); + + const leading = after.match(/^\s*/)[0]; + const rest = after.slice(leading.length); + + const insertion = ` +### CLI + +<RegistryInstall category="${category}" name="${name}" /> + +### Manual + +`; + + const next = before + insertion + rest; + fs.writeFileSync(mdxPath, next); + return { changed: true }; +} + +function main() { + const files = walkMdx(DOCS_DIR); + let changed = 0; + const skipped = {}; + for (const f of files) { + const res = transform(f); + if (res.changed) { + changed++; + } else { + skipped[res.reason] = (skipped[res.reason] || 0) + 1; + } + } + console.log(`updated ${changed} files`); + for (const [reason, count] of Object.entries(skipped)) { + console.log(` skipped ${count}: ${reason}`); + } +} + +main(); diff --git a/styles/globals.css b/styles/globals.css index 04193dd4..a5e25a71 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -1,57 +1,500 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import "tailwindcss"; +@import "tw-animate-css"; + +@custom-variant dark (&:where(.dark, .dark *)); + +@theme { + --font-mono: "Lilex Variable", ui-monospace, monospace; +} + +@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-timing-function-apple: cubic-bezier(0.4, 0, 0.6, 1); + + --radius-card: 18px; + --radius-section: 28px; + --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.06); + --shadow-card-hover: 0 2px 8px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.1); + + --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); + } + } + + --animate-section-reveal: section-reveal 0.6s var(--transition-timing-function-apple) both; + + @keyframes section-reveal { + from { + opacity: 0; + transform: translateY(24px); + } + to { + opacity: 1; + transform: translateY(0); + } + } +} @layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } + + /* ─── LIGHT — Apple Podcasts inspired ─── */ :root { - --background: 0 0% 98%; - --foreground: 240 10% 3.9%; + --background: 0 0% 100%; + --foreground: 0 0% 11%; --card: 0 0% 100%; - --card-foreground: 240 10% 3.9%; + --card-foreground: 0 0% 11%; --popover: 0 0% 100%; - --popover-foreground: 240 10% 3.9%; - --primary: 240 5.9% 10%; - --primary-foreground: 0 0% 98%; - --secondary: 240 4.8% 95.9%; - --secondary-foreground: 240 5.9% 10%; - --muted: 240 4.8% 95.9%; - --muted-foreground: 240 3.8% 46.1%; - --accent: 240 4.8% 95.9%; - --accent-foreground: 240 5.9% 10%; - --destructive: 0 84.2% 60.2%; + --popover-foreground: 0 0% 11%; + --primary: 0 0% 11%; + --primary-foreground: 0 0% 100%; + --secondary: 0 0% 96%; + --secondary-foreground: 0 0% 11%; + --muted: 0 0% 96%; + --muted-foreground: 0 0% 43%; + --accent: 262 83% 58%; + --accent-foreground: 0 0% 100%; + --destructive: 0 84% 60%; --destructive-foreground: 0 0% 98%; - --border: 240 5.9% 90%; - --input: 240 5.9% 90%; - --ring: 240 5.9% 10%; - --radius: 0.5rem; + --border: 0 0% 90%; + --input: 0 0% 90%; + --ring: 262 83% 58%; + --radius: 0.75rem; + + /* Surfaces */ + --surface-alt: 0 0% 96%; + --surface-card: 0 0% 100%; + --surface-dark: 0 0% 7%; + + /* Text */ + --text-secondary: 0 0% 43%; + + /* Links */ + --link: 210 100% 40%; + --link-hover: 210 100% 32%; + + /* Elevation */ + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05); + --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.06), 0 4px 16px rgba(0, 0, 0, 0.04); + --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.06), 0 12px 32px rgba(0, 0, 0, 0.08); } + /* ─── DARK — Opal inspired: pure black, minimal, precise ─── */ .dark { - --background: 240 6.7% 10.9%; - --foreground: 0 0% 98%; - --card: 240 10% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 240 10% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 240 5.9% 10%; - --secondary: 240 3.7% 15.9%; - --secondary-foreground: 0 0% 98%; - --muted: 240 3.7% 15.9%; - --muted-foreground: 240 5% 64.9%; - --accent: 240 3.7% 15.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; + --background: 0 0% 0%; + --foreground: 0 0% 96%; + --card: 0 0% 4%; + --card-foreground: 0 0% 96%; + --popover: 0 0% 4%; + --popover-foreground: 0 0% 96%; + --primary: 0 0% 96%; + --primary-foreground: 0 0% 0%; + --secondary: 0 0% 10%; + --secondary-foreground: 0 0% 96%; + --muted: 0 0% 10%; + --muted-foreground: 0 0% 45%; + --accent: 262 83% 65%; + --accent-foreground: 0 0% 100%; + --destructive: 0 62% 30%; --destructive-foreground: 0 0% 98%; - --border: 240 3.7% 15.9%; - --input: 240 3.7% 15.9%; - --ring: 240 4.9% 83.9%; + --border: 0 0% 12%; + --input: 0 0% 12%; + --ring: 262 83% 65%; + + /* Surfaces */ + --surface-alt: 0 0% 4%; + --surface-card: 0 0% 6%; + --surface-dark: 0 0% 2%; + --text-secondary: 0 0% 55%; + + /* Links */ + --link: 262 80% 70%; + --link-hover: 262 80% 80%; + + /* Elevation — Opal uses no shadows, just border contrast */ + --shadow-sm: none; + --shadow-md: none; + --shadow-lg: none; } } +.preview { + @apply mb-4; +} + .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 +503,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 +512,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; +} - .chunk-container::after { +@utility chunk-container { + @apply shadow-none; + + &::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/templates/doc b/templates/doc index 007286d5..b3a3466e 100644 --- a/templates/doc +++ b/templates/doc @@ -8,6 +8,12 @@ author: YourTwitterUsername ## Installation +### CLI + +<RegistryInstall category="{{TypePath}}" name="{{Filename}}" /> + +### Manual + <Steps> <Step>Install dependencies</Step> 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 4306bf16..954860d6 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 @@ -19,401 +19,328 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed - languageName: node - linkType: hard - -"@aw-web-design/x-default-browser@npm:1.4.126": - version: 1.4.126 - resolution: "@aw-web-design/x-default-browser@npm:1.4.126" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.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: - default-browser-id: "npm:3.0.0" - bin: - x-default-browser: bin/x-default-browser.js - checksum: 10c0/634c7fad7a5f4df86e3fcd3a11e50034fcb6f6302281569727574cbda7532850063cb34ec328384a686ab0812f297bf301a5e2450bc7b93b5f80a006b1f2dfd7 - 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": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" - dependencies: - "@babel/highlight": "npm:^7.24.7" - picocolors: "npm:^1.0.0" - checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + "@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.22.6, @babel/compat-data@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/compat-data@npm:7.24.7" - checksum: 10c0/dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f +"@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, @babel/core@npm:^7.23.0, @babel/core@npm:^7.24.4": - version: 7.24.7 - resolution: "@babel/core@npm:7.24.7" +"@babel/core@npm:^7.18.9, @babel/core@npm:^7.28.0, @babel/core@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/core@npm:7.29.0" dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helpers": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" + "@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/4004ba454d3c20a46ea66264e06c15b82e9f6bdc35f88819907d24620da70dbf896abac1cb4cc4b6bb8642969e45f4d808497c9054a1388a386cf8c12e9b9e0d - languageName: node - linkType: hard - -"@babel/generator@npm:^7.24.4, @babel/generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/generator@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/06b1f3350baf527a3309e50ffd7065f7aee04dd06e1e7db794ddfde7fe9d81f28df64edd587173f8f9295496a7ddb74b9a185d4bf4de7bb619e6d4ec45c8fd35 + checksum: 10c0/5127d2e8e842ae409e11bcbb5c2dff9874abf5415e8026925af7308e903f4f43397341467a130490d1a39884f461bc2b67f3063bce0be44340db89687fd852aa 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" +"@babel/generator@npm:^7.29.0": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a + "@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-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": - version: 7.24.7 - resolution: "@babel/helper-compilation-targets@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/compat-data": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - browserslist: "npm:^4.22.2" + "@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/1d580a9bcacefe65e6bf02ba1dafd7ab278269fef45b5e281d8354d95c53031e019890464e7f9351898c01502dd2e633184eb0bcda49ed2ecd538675ce310f51 + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 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-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.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/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": - version: 7.24.7 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.7" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @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-annotate-as-pure": "npm:^7.24.7" - regexpu-core: "npm:^5.3.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/ed611a7eb0c71843f9cdc471eeb38767972229f9225f7aaa90d124d7ee0062cf6908fd53ee9c34f731394c429594f06049a7738a71d342e0191d4047b2fc0ac2 + checksum: 10c0/7af3d604cadecdb2b0d2cedd696507f02a53a58be0523281c2d6766211443b55161dde1e6c0d96ab16ddfd82a2607a2f792390caa24797e9733631f8aa86859f 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-define-polyfill-provider@npm:^0.6.5, @babel/helper-define-polyfill-provider@npm:^0.6.8": + version: 0.6.8 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.8" dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" + "@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 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-environment-visitor@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/36ece78882b5960e2d26abf13cf15ff5689bf7c325b10a2895a74a499e712de0d305f8d78bb382dd3c05cfba7e47ec98fe28aab5674243e0625cd38438dd0b2d - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-function-name@npm:7.24.7" - dependencies: - "@babel/template": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e5e41e6cf86bd0f8bf272cbb6e7c5ee0f3e9660414174435a46653efba4f2479ce03ce04abff2aa2ef9359cf057c79c06cb7b134a565ad9c0e8a50dcdc3b43c4 + checksum: 10c0/306a169f2cb285f368578219ef18ea9702860d3d02d64334f8d45ea38648be0b9e1edad8c8f732fa34bb4206ccbb9883c395570fd57ab7bbcf293bc5964c5b3a 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" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/19ee37563bbd1219f9d98991ad0e9abef77803ee5945fd85aa7aa62a67c69efca9a801696a1b58dda27f211e878b3327789e6fd2a6f6c725ccefe36774b5ce95 +"@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-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 -"@babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" +"@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.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + "@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" +"@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/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" + "@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/4f311755fcc3b4cbdb689386309cdb349cf0575a938f0b9ab5d678e1a81bbb265aa34ad93174838245f2ac7ff6d5ddbd0104638a75e4e961958ed514355687b6 + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b 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-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.24.7" - checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + "@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": - version: 7.24.7 - resolution: "@babel/helper-plugin-utils@npm:7.24.7" - checksum: 10c0/c3d38cd9b3520757bb4a279255cc3f956fc0ac1c193964bd0816ebd5c86e30710be8e35252227e0c9d9e0f4f56d9b5f916537f2bc588084b0988b4787a967d31 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6, @babel/helper-plugin-utils@npm:^7.8.0": + 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.24.7": - version: 7.24.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.24.7" +"@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 -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@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/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 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" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-split-export-declaration@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/0254577d7086bf09b01bbde98f731d4fcf4b7c3fa9634fdb87929801307c1f6202a1352e3faa5492450fa8da4420542d44de604daf540704ff349594a78184f6 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-string-parser@npm:7.24.7" - checksum: 10c0/47840c7004e735f3dc93939c77b099bb41a64bf3dda0cae62f60e6f74a5ff80b63e9b7cf77b5ec25a324516381fc994e1f62f922533236a8e3a6af57decb5e1e +"@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" - checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 +"@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" - checksum: 10c0/21aea2b7bc5cc8ddfb828741d5c8116a84cbc35b4a3184ec53124f08e09746f1f67a6f9217850188995ca86059a7942e36d8965a6730784901def777b7e8a436 +"@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.24.7": - version: 7.24.7 - resolution: "@babel/helper-wrap-function@npm:7.24.7" +"@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 -"@babel/helpers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helpers@npm:7.24.7" +"@babel/helpers@npm:^7.28.6": + version: 7.29.2 + resolution: "@babel/helpers@npm:7.29.2" dependencies: - "@babel/template": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/aa8e230f6668773e17e141dbcab63e935c514b4b0bf1fed04d2eaefda17df68e16b61a56573f7f1d4d1e605ce6cc162b5f7e9fdf159fde1fd9b77c920ae47d27 + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + checksum: 10c0/dab0e65b9318b2502a62c58bc0913572318595eec0482c31f0ad416b72636e6698a1d7c57cd2791d4528eb8c548bca88d338dc4d2a55a108dc1f6702f9bc5512 languageName: node linkType: hard -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": + version: 7.29.2 + resolution: "@babel/parser@npm:7.29.2" dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.7" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/e5a4e69e3ac7acdde995f37cf299a68458cfe7009dff66bd0962fd04920bef287201169006af365af479c08ff216bfefbb595e331f87f6ae7283858aebbc3317 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/parser@npm:7.24.7" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b +"@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/844b7c7e9eec6d858262b2f3d5af75d3a6bbd9d3ecc740d95271fbdd84985731674536f5d8ac98f2dc0e8872698b516e406636e4d0cb04b50afe471172095a53 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/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-environment-visitor": "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/394c30e2b708ad385fa1219528e039066a1f1cb40f47986f283878848fd354c745e6397f588b4e5a046ee8d64bfdf4c208e4c3dfbdcfb2fd34315ec67c64e7af + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd 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-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.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/a36307428ecc1a01b00cf90812335eed1575d13f211ab24fe4d0c55c28a2fcbd4135f142efabc3b277b2a8e09ee05df594a1272353f061b63829495b5dcfdb96 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 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-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 @@ -426,17 +353,6 @@ __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" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 - languageName: node - linkType: hard - "@babel/plugin-syntax-bigint@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" @@ -448,28 +364,6 @@ __metadata: 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" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 - 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" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 - 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" @@ -481,1100 +375,998 @@ __metadata: 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" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 - languageName: node - linkType: hard - -"@babel/plugin-syntax-flow@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-flow@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2f0cb7a78379029707e61f6665634a5b758c8b4ccb602a72d798e41d36b0647c2f2de59f90e0c1d522b026962918e54d82f3aee0c194dc87cd340455aa58562a - 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-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.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b82c53e095274ee71c248551352d73441cf65b3b3fc0107258ba4e9aef7090772a425442b3ed1c396fa207d0efafde8929c87a17d3c885b3ca2021316e87e246 + checksum: 10c0/f3b8bdccb9b4d3e3b9226684ca518e055399d05579da97dfe0160a38d65198cfe7dce809e73179d6463a863a040f980de32425a876d88efe4eda933d0d95982c 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-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.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eccc54d0f03c96d0eec7a6e2fa124dadbc7298345b62ffc4238f173308c4325b5598f139695ff05a95cf78412ef6903599e4b814496612bf39aad4715a16375b + checksum: 10c0/1be160e2c426faa74e5be2e30e39e8d0d8c543063bd5d06cd804f8751b8fbcb82ce824ca7f9ce4b09c003693f6c06a11ce503b7e34d85e1a259631e4c3f72ad2 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-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.10.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + checksum: 10c0/b98fc3cd75e4ca3d5ca1162f610c286e14ede1486e0d297c13a5eb0ac85680ac9656d17d348bddd9160a54d797a08cea5eaac02b9330ddebb7b26732b7b99fb5 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-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.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + checksum: 10c0/b0c392a35624883ac480277401ac7d92d8646b66e33639f5d350de7a6723924265985ae11ab9ebd551740ded261c443eaa9a87ea19def9763ca1e0d78c97dea8 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-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/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 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-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.10.4" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 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-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.8.0" + "@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/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + checksum: 10c0/4080fc5e7dad7761bfebbb4fbe06bdfeb3a8bf0c027bcb4373e59e6b3dc7c5002eca7cbb1afba801d6439df8f92f7bcb3fb862e8fbbe43a9e59bb5653dcc0568 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-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.10.4" + "@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/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + checksum: 10c0/2eb0826248587df6e50038f36194a138771a7df22581020451c7779edeaf9ef39bf47c5b7a20ae2645af6416e8c896feeca273317329652e84abd79a4ab920ad 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-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.8.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde 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-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.8.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + checksum: 10c0/2e3e09e1f9770b56cef4dcbffddf262508fd03416072f815ac66b2b224a3a12cd285cfec12fc067f1add414e7db5ce6dafb5164a6e0fb1a728e6a97d0c6f6e9d 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-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/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + checksum: 10c0/c4327fcd730c239d9f173f9b695b57b801729e273b4848aef1f75818069dfd31d985d75175db188d947b9b1bbe5353dae298849042026a5e4fcf07582ff3f9f1 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-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.14.5" + "@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/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + "@babel/core": ^7.12.0 + checksum: 10c0/dbe9b1fd302ae41b73186e17ac8d8ecf625ebc2416a91f2dc8013977a1bdf21e6ea288a83f084752b412242f3866e789d4fddeb428af323fe35b60e0fae4f98c 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-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.14.5" + "@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/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + checksum: 10c0/dc22f1f6eadab17305128fbf9cc5f30e87a51a77dd0a6d5498097994e8a9b9a90ab298c11edf2342acbeaac9edc9c601cad72eedcf4b592cd465a787d7f41490 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-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.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/cdabd2e8010fb0ad15b49c2c270efc97c4bfe109ead36c7bbcf22da7a74bc3e49702fc4f22f12d2d6049e8e22a5769258df1fd05f0420ae45e11bdd5bc07805a - 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" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" - "@babel/helper-plugin-utils": "npm:^7.18.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + checksum: 10c0/1e9893503ae6d651125701cc29450e87c0b873c8febebff19da75da9c40cfb7968c52c28bf948244e461110aeb7b3591f2cc199b7406ff74a24c50c7a5729f39 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-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.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6ac05a54e5582f34ac6d5dc26499e227227ec1c7fa6fc8de1f3d40c275f140d3907f79bbbd49304da2d7008a5ecafb219d0b71d78ee3290ca22020d878041245 + checksum: 10c0/288207f488412b23bb206c7c01ba143714e2506b72a9ec09e993f28366cc8188d121bde714659b3437984a86d2881d9b1b06de3089d5582823ccf2f3b3eaa2c4 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-dotall-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-dotall-regex@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-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/6b5e33ae66dce0afce9b06d8dace6fa052528e60f7622aa6cfd3e71bd372ca5079d426e78336ca564bc0d5f37acbcda1b21f4fe656fcb642f1a93a697ab39742 + checksum: 10c0/e2fb76b7ae99087cf4212013a3ca9dee07048f90f98fd6264855080fb6c3f169be11c9b8c9d8b26cf9a407e4d0a5fa6e103f7cef433a542b75cf7127c99d4f97 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-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@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/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f 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-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/113e86de4612ae91773ff5cb6b980f01e1da7e26ae6f6012127415d7ae144e74987bc23feb97f63ba4bc699331490ddea36eac004d76a20d5369e4cc6a7f61cd + "@babel/core": ^7.0.0 + checksum: 10c0/6f03d9e5e31a05b28555541be6e283407e08447a36be6ddf8068b3efa970411d832e04b1282e2b894baf89a3864ff7e7f1e36346652a8d983170c6d548555167 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-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@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/dcbc5e385c0ca5fb5736b1c720c90755cffe9f91d8c854f82e61e59217dd3f6c91b3633eeee4b55a89d3f59e5275d0f5b0b1b1363d4fa70c49c468b55aa87700 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.22.5, @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-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-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/plugin-transform-destructuring": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/75018a466c7ede3d2397e158891c224ba7fca72864506ce067ddbc02fc65191d44da4d6379c996d0c7f09019e26b5c3f5f1d3a639cd98366519723886f0689d0 - 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" - 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" - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/b0ade39a3d09dce886f79dbd5907c3d99b48167eddb6b9bbde24a0598129654d7017e611c20494cdbea48b07ac14397cd97ea34e3754bbb2abae4e698128eccb + checksum: 10c0/e6ea28c26e058fe61ada3e70b0def1992dd5a44f5fc14d8e2c6a3a512fb4d4c6dc96a3e1d0b466d83db32a9101e0b02df94051e48d3140da115b8ea9f8a31f37 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-exponentiation-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-exponentiation-operator@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/4572d955a50dbc9a652a19431b4bb822cb479ee6045f4e6df72659c499c13036da0a2adf650b07ca995f2781e80aa868943bea1e7bff1de3169ec3f0a73a902e 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-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-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/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c 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-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/929f07a807fb62230bfbf881cfcedf187ac5daf2f1b01da94a75c7a0f6f72400268cf4bcfee534479e43260af8193e42c31ee03c8b0278ba77d0036ed6709c27 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb 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-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@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/793f14c9494972d294b7e7b97b747f47874b6d57d7804d3443c701becf5db192c9311be6a1835c07664486df1f5c60d33196c36fb7e11a53015e476b4c145b33 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c 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-json-strings@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-json-strings@npm:7.28.6" dependencies: - "@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/75ff7ec1117ac500e77bf20a144411d39c0fdd038f108eec061724123ce6d1bb8d5bd27968e466573ee70014f8be0043361cdb0ef388f8a182d1d97ad67e51b9 + checksum: 10c0/ab1091798c58e6c0bb8a864ee2b727c400924592c6ed69797a26b4c205f850a935de77ad516570be0419c279a3d9f7740c2aa448762eb8364ea77a6a357a9653 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-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eeda48372efd0a5103cb22dadb13563c975bce18ae85daafbb47d57bb9665d187da9d4fe8d07ac0a6e1288afcfcb73e4e5618bf75ff63fddf9736bfbf225203b + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca 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-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-builder-binary-assignment-operator-visitor": "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/ace3e11c94041b88848552ba8feb39ae4d6cad3696d439ff51445bd2882d8b8775d85a26c2c0edb9b5e38c9e6013cc11b0dea89ec8f93c7d9d7ee95e3645078c + checksum: 10c0/4632a35453d2131f0be466681d0a33e3db44d868ff51ec46cd87e0ebd1e47c6a39b894f7d1c9b06f931addf6efa9d30e60c4cdedeb4f69d426f683e11f8490cf 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-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/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/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-flow-strip-types@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/plugin-syntax-flow": "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/9995d52af58ceaa223c6553873bd5a16a94b2abdebb39993d59d9eb0c0c9666636ceb7a80f63ac86fe7ab3cb217f1dac9fb2f448ad5a54f8fb8e41e12716ef9a + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 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-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-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "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/77629b1173e55d07416f05ba7353caa09d2c2149da2ca26721ab812209b63689d1be45116b68eadc011c49ced59daf5320835b15245eb7ae93ae0c5e8277cfc0 + checksum: 10c0/7c45992797c6150644c8552feff4a016ba7bd6d59ff2b039ed969a9c5b20a6804cd9d21db5045fc8cca8ca7f08262497e354e93f8f2be6a1cdf3fbfa8c31a9b6 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-modules-systemjs@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.0" 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-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/3e9642428d6952851850d89ea9307d55946528d18973784d0e2f04a651b23bd9924dd8a2641c824b483bd4ab1223bab1d2f6a1106a939998f7ced512cb60ac5b + checksum: 10c0/44ea502f2c990398b7d9adc5b44d9e1810a0a5e86eebc05c92d039458f0b3994fe243efa9353b90f8a648d8a91b79845fb353d8679d7324cc9de0162d732771d 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-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-json-strings": "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/17c72cd5bf3e90e722aabd333559275f3309e3fa0b9cea8c2944ab83ae01502c71a2be05da5101edc02b3fc8df15a8dbb9b861cbfcc8a52bf5e797cf01d3a40a + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed 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-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-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/9f3f6f3831929cd2a977748c07addf9944d5cccb50bd3a24a58beb54f91f00d6cacd3d7831d13ffe1ad6f8aba0aefd7bca5aec65d63b77f39c62ad1f2d484a3e + "@babel/core": ^7.0.0 + checksum: 10c0/1904db22da7f2bc3e380cd2c0786bda330ee1b1b3efa3f5203d980708c4bfeb5daa4dff48d01692193040bcc5f275dbdc0c2eadc8b1eb1b6dfe363564ad6e898 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-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-logical-assignment-operators": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dbe882eb9053931f2ab332c50fc7c2a10ef507d6421bd9831adbb4cb7c9f8e1e5fbac4fbd2e007f6a1bf1df1843547559434012f118084dc0bf42cda3b106272 + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 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-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-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e789ae359bdf2d20e90bedef18dfdbd965c9ebae1cee398474a0c349590fda7c8b874e1a2ceee62e47e5e6ec1730e76b0f24e502164357571854271fc12cc684 + checksum: 10c0/6607f2201d66ccb688f0b1db09475ef995837df19f14705da41f693b669f834c206147a854864ab107913d7b4f4748878b0cd9fe9ca8bfd1bee0c206fc027b49 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-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-module-transforms": "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/6df7de7fce34117ca4b2fa07949b12274c03668cbfe21481c4037b6300796d50ae40f4f170527b61b70a67f26db906747797e30dbd0d9809a441b6e220b5728f + checksum: 10c0/191097d8d2753cdd16d1acca65a945d1645ab20b65655c2f5b030a9e38967a52e093dcb21ebf391e342222705c6ffe5dea15dafd6257f7b51b77fb64a830b637 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.23.0, @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-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-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" + "@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/9442292b3daf6a5076cdc3c4c32bf423bda824ccaeb0dd0dc8b3effaa1fecfcb0130ae6e647fef12a5d5ff25bcc99a0d6bfc6d24a7525345e1bcf46fcdf81752 + checksum: 10c0/f55334352d4fcde385f2e8a58836687e71ff668c9b6e4c34d52575bf2789cdde92d9d3116edba13647ac0bc3e51fb2a6d1e8fb822dce7e8123334b82600bc4c3 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-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" 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-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e2a795e0a6baafe26f4a74010622212ddd873170742d673f450e0097f8d984f6e6a95eb8ce41b05071ee9790c4be088b33801aaab3f78ee202c567634e52a331 + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c 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-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-module-transforms": "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/7791d290121db210e4338b94b4a069a1a79e4c7a8d7638d8159a97b281851bbed3048dac87a4ae718ad963005e6c14a5d28e6db2eeb2b04e031cee92fb312f85 - 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" - 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/41a0b0f2d0886318237440aa3b489f6d0305361d8671121777d9ff89f9f6de9d0c02ce93625049061426c8994064ef64deae8b819d1b14c00374a6a2336fb5d9 + checksum: 10c0/36e8face000ee65e478a55febf687ce9be7513ad498c60dfe585851555565e0c28e7cb891b3c59709318539ce46f7697d5f42130eb18f385cd47e47cfa297446 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-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/2540808a35e1a978e537334c43dab439cf24c93e7beb213a2e71902f6710e60e0184316643790c0a6644e7a8021e52f7ab8165e6b3e2d6651be07bdf517b67df + checksum: 10c0/c159cc74115c2266be21791f192dd079e2aeb65c8731157e53b80fcefa41e8e28ad370021d4dfbdb31f25e5afa0322669a8eb2d032cd96e65ac37e020324c763 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11, @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-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7243c8ff734ed5ef759dd8768773c4b443c12e792727e759a1aec2c7fa2bfdd24f1ecb42e292a7b3d8bd3d7f7b861cf256a8eb4ba144fc9cc463892c303083d9 + checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f 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-private-methods@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-numeric-separator": "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/e18e09ca5a6342645d00ede477731aa6e8714ff357efc9d7cda5934f1703b3b6fb7d3298dce3ce3ba53e9ff1158eab8f1aadc68874cc21a6099d33a1ca457789 + checksum: 10c0/fb504e2bfdcf3f734d2a90ab20d61427c58385f57f950d3de6ff4e6d12dd4aa7d552147312d218367e129b7920dccfc3230ba554de861986cda38921bad84067 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-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-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-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/9ad64bc003f583030f9da50614b485852f8edac93f8faf5d1cd855201a4852f37c5255ae4daf70dd4375bdd4874e16e39b91f680d4668ec219ba05441ce286eb + checksum: 10c0/0f6bbc6ec3f93b556d3de7d56bf49335255fc4c43488e51a5025d6ee0286183fd3cf950ffcac1bbeed8a45777f860a49996455c8d3b4a04c3b1a5f28e697fe31 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-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/770cebb4b4e1872c216b17069db9a13b87dfee747d359dc56d9fcdd66e7544f92dc6ab1861a4e7e0528196aaff2444e4f17dc84efd8eaf162d542b4ba0943869 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c 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-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-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/f5f86d2ad92be3e962158f344c2e385e23e2dfae7c8c7dc32138fb2cc46f63f5e50386c9f6c6fc16dbf1792c7bb650ad92c18203d0c2c0bd875bc28b0b80ef30 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.23.0, @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-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/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b9e3649b299e103b0d1767bbdba56574d065ff776e5350403b7bfd4e3982743c0cdb373d33bdbf94fa3c322d155e45d0aad946acf0aa741b870aed22dfec8b8e + checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 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-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/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/53bf190d6926771545d5184f1f5f3f5144d0f04f170799ad46a43f683a01fab8d5fe4d2196cf246774530990c31fe1f2b9f0def39f0a5ddbb2340b924f5edf01 + checksum: 10c0/cc75b9bb3997751df6cf7e86afe1b3fa33130b5031a412f6f12cc5faec083650fe852de0af5ec8f88d3588cc3428a3f514d3bc1f423d26f8b014cc5dff9f15a7 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.22.5, @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-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-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@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/5b7bf923b738fbe3ad6c33b260e0a7451be288edfe4ef516303fa787a1870cd87533bfbf61abb779c22ed003c2fc484dec2436fe75a48756f686c0241173d364 + checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 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-regenerator@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.29.0" 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.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c6fa7defb90b1b0ed46f24ff94ff2e77f44c1f478d1090e81712f33cf992dda5ba347016f030082a2f770138bac6f4a9c2c1565e9f767a125901c77dd9c239ba + checksum: 10c0/86c7db9b97f85ee47c0fae0528802cbc06e5775e61580ee905335c16bb971270086764a3859873d9adcd7d0f913a5b93eb0dc271aec8fb9e93e090e4ac95e29e 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-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-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/52564b58f3d111dc02d241d5892a4b01512e98dfdf6ef11b0ed62f8b11b0acacccef0fc229b44114fe8d1a57a8b70780b11bdd18b807d3754a781a07d8f57433 + "@babel/core": ^7.0.0 + checksum: 10c0/97e36b086800f71694fa406abc00192e3833662f2bdd5f51c018bd0c95eef247c4ae187417c207d03a9c5374342eac0bb65a39112c431a9b23b09b1eda1562e5 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-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/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c14a07a9e75723c96f1a0a306b8a8e899ff1c6a0cc3d62bcda79bb1b54e4319127b258651c513a1a47da152cdc22e16525525a30ae5933a2980c7036fd0b4d24 + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 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-runtime@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/plugin-transform-runtime@npm:7.29.0" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" + "@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/fce647db50f90a5291681f0f97865d9dc76981262dff71d6d0332e724b85343de5860c26f9e9a79e448d61e1d70916b07ce91e8c7f2b80dceb4b16aee41794d8 + checksum: 10c0/05a451cb96a1e6ccfdd1a123773208615cd14cb156aa0aa99a448d86e4326b36b9ab2be8267037bd27644a5918dac88378b791d020b3c08a4fd8f3415621a006 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-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@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/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 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-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-spread@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "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/fae517d293d9c93b7b920458c3e4b91cb0400513889af41ba184a5f3acc8bfef27242cc262741bb8f87870df376f1733a0d0f52b966d342e2aaaf5607af8f73d + checksum: 10c0/bcac50e558d6f0c501cbce19ec197af558cef51fe3b3a6eba27276e323e57a5be28109b4264a5425ac12a67bf95d6af9c2a42b05e79c522ce913fb9529259d76 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-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - regenerator-transform: "npm:^0.15.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d2dc2c788fdae9d97217e70d46ba8ca9db0035c398dc3e161552b0c437113719a75c04f201f9c91ddc8d28a1da60d0b0853f616dead98a396abb9c845c44892b + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 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-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/2229de2768615e7f5dc0bbc55bc121b5678fd6d2febd46c74a58e42bb894d74cd5955c805880f4e02d0e1cf94f6886270eda7fafc1be9305a1ec3b9fd1d063f5 + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 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/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-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" - semver: "npm:^6.3.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a33f5095872bbba00b8ee553dfe6941477e69a017a2e65e9dd86e80dab5c627635093b796eb1eb22aaaf2f874704f63ad1d99b952b83b59ef6b368ae04e5bb41 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 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/plugin-transform-typescript@npm:^7.28.5": + version: 7.28.6 + resolution: "@babel/plugin-transform-typescript@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "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/41b155bdbb3be66618358488bf7731b3b2e8fff2de3dbfd541847720a9debfcec14db06a117abedd03c9cd786db20a79e2a86509a4f19513f6e1b610520905cf + checksum: 10c0/72dbfd3e5f71c4e30445e610758ec0eef65347fafd72bd46f4903733df0d537663a72a81c1626f213a0feab7afc68ba83f1648ffece888dd0868115c9cb748f6 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/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-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/facba1553035f76b0d2930d4ada89a8cd0f45b79579afd35baefbfaf12e3b86096995f4b0c402cf9ee23b3f2ea0a4460c3b1ec0c192d340962c948bb223d4e66 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 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/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-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/5a74ed2ed0a3ab51c3d15fcaf09d9e2fe915823535c7a4d7b019813177d559b69677090e189ec3d5d08b619483eb5ad371fbcfbbff5ace2a76ba33ee566a1109 + checksum: 10c0/b25f8cde643f4f47e0fa4f7b5c552e2dfbb6ad0ce07cf40f7e8ae40daa9855ad855d76d4d6d010153b74e48c8794685955c92ca637c0da152ce5f0fa9e7c90fa 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" +"@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" + "@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/3630f966257bcace122f04d3157416a09d40768c44c3a800855da81146b009187daa21859d1c3b7d13f4e19e8888e60613964b175b2275d451200fb6d8d6cfe6 + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a 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/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/5649e7260a138681e68b296ab5931e2b1f132f287d6b4131d49b24f9dc20d62902b7e9d63c4d2decd5683b41df35ef4b9b03f58c7f9f65e4c25a6d8bbf04e9e9 + "@babel/core": ^7.0.0 + checksum: 10c0/c03c8818736b138db73d1f7a96fbfa22d1994639164d743f0f00e6383d3b7b3144d333de960ff4afad0bddd0baaac257295e3316969eba995b1b6a1b4dec933e 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" +"@babel/preset-env@npm:^7.28.5": + version: 7.29.2 + resolution: "@babel/preset-env@npm:7.29.2" 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" + "@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/e8dacdc153a4c4599014b66eb01b94e3dc933d58d4f0cc3039c1a8f432e77b9df14f34a61964e014b975bf466f3fefd8c4768b3e887d3da1be9dc942799bdfdf + checksum: 10c0/d49cb005f2dbc3f2293ab6d80ee8f1380e6215af5518fe26b087c8961c1ea8ebaa554dfce589abe1fbebac25ad7c2515d943dec3859ea2d4981a3f8f4711c580 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-escapes@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/8b18e2e66af33471a6971289492beff5c240e56727331db1d34c4338a6a368a82a7ed6d57ec911001b6d65643aed76531e1e7cac93265fb3fb2717f54d845e69 + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 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/preset-react@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/preset-react@npm:7.28.5" 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" + "@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/bc57656eb94584d1b74a385d378818ac2b3fca642e3f649fead8da5fb3f9de22f8461185936915dfb33d5a9104e62e7a47828331248b09d28bb2d59e9276de3e + checksum: 10c0/0d785e708ff301f4102bd4738b77e550e32f981e54dfd3de1191b4d68306bbb934d2d465fc78a6bc22fff0a6b3ce3195a53984f52755c4349e7264c7e01e8c7c languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-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-create-regexp-features-plugin": "npm:^7.24.7" - "@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/83f72a345b751566b601dc4d07e9f2c8f1bc0e0c6f7abb56ceb3095b3c9d304de73f85f2f477a09f8cc7edd5e65afd0ff9e376cdbcbea33bc0c28f3705b38fd9 - 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" - 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 + checksum: 10c0/b3d55548854c105085dd80f638147aa8295bc186d70492289242d6c857cb03a6c61ec15186440ea10ed4a71cdde7d495f5eb3feda46273f36b0ac926e8409629 languageName: node linkType: hard -"@babel/preset-env@npm:^7.24.4": - version: 7.24.7 - resolution: "@babel/preset-env@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/runtime@npm:^7.28.4": + version: 7.29.2 + resolution: "@babel/runtime@npm:7.29.2" + checksum: 10c0/30b80a0140d16467792e1bbeb06f655b0dab70407da38dfac7fedae9c859f9ae9d846ef14ad77bd3814c064295fe9b1bc551f1541ea14646ae9f22b71a8bc17a languageName: node linkType: hard -"@babel/preset-flow@npm:^7.22.15": - version: 7.24.7 - resolution: "@babel/preset-flow@npm:7.24.7" +"@babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-flow-strip-types": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2a99333b9aac17033cefe17fb9d8c41b20c4f2cd3eab34f56c20d7c1c528cc1cca7e6d909de92fc700739a505b43166c9de62423f8a30b484161ebdf9474e217 + "@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/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/traverse@npm:^7.18.9, @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-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/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-react@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/preset-react@npm:7.24.7" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @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, @babel/types@npm:^7.4.4": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" 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 + "@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-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" +"@biomejs/biome@npm:^2.4.6": + version: 2.4.13 + resolution: "@biomejs/biome@npm:2.4.13" 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.13" + "@biomejs/cli-darwin-x64": "npm:2.4.13" + "@biomejs/cli-linux-arm64": "npm:2.4.13" + "@biomejs/cli-linux-arm64-musl": "npm:2.4.13" + "@biomejs/cli-linux-x64": "npm:2.4.13" + "@biomejs/cli-linux-x64-musl": "npm:2.4.13" + "@biomejs/cli-win32-arm64": "npm:2.4.13" + "@biomejs/cli-win32-x64": "npm:2.4.13" + 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/a8c09d7c05d834243a76704e31bda05346d2a06a75e90e6de2ef0d4edc33bd7d382b380bad9275ddd379e9e44ceaea9907a9c0de2156859b36b057c155f20a0e languageName: node linkType: hard -"@babel/register@npm:^7.22.15": - version: 7.24.6 - resolution: "@babel/register@npm:7.24.6" - dependencies: - clone-deep: "npm:^4.0.1" - find-cache-dir: "npm:^2.0.0" - make-dir: "npm:^2.1.0" - pirates: "npm:^4.0.6" - source-map-support: "npm:^0.5.16" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e0c6d6c8945dd792f83dc7bd6be468246b3aedd62b32620e56a3f3328389b577a6261d4338a9de9519f4eadddfef5aa0fdc1f92082c778dedddcc5854e357f09 +"@biomejs/cli-darwin-arm64@npm:2.4.13": + version: 2.4.13 + resolution: "@biomejs/cli-darwin-arm64@npm:2.4.13" + 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.13": + version: 2.4.13 + resolution: "@biomejs/cli-darwin-x64@npm:2.4.13" + 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.13": + version: 2.4.13 + resolution: "@biomejs/cli-linux-arm64-musl@npm:2.4.13" + 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.13": + version: 2.4.13 + resolution: "@biomejs/cli-linux-arm64@npm:2.4.13" + 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.13": + version: 2.4.13 + resolution: "@biomejs/cli-linux-x64-musl@npm:2.4.13" + 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.13": + version: 2.4.13 + resolution: "@biomejs/cli-linux-x64@npm:2.4.13" + 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.13": + version: 2.4.13 + resolution: "@biomejs/cli-win32-arm64@npm:2.4.13" + 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.13": + version: 2.4.13 + resolution: "@biomejs/cli-win32-x64@npm:2.4.13" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1587,473 +1379,299 @@ __metadata: languageName: node linkType: hard -"@cloudflare/workerd-darwin-64@npm:1.20240925.0": - version: 1.20240925.0 - resolution: "@cloudflare/workerd-darwin-64@npm:1.20240925.0" +"@cloudflare/unenv-preset@npm:2.0.2": + version: 2.0.2 + resolution: "@cloudflare/unenv-preset@npm:2.0.2" + peerDependencies: + unenv: 2.0.0-rc.14 + workerd: ^1.20250124.0 + peerDependenciesMeta: + workerd: + optional: true + checksum: 10c0/8efc49c9c8eec3c03e75bfc65115c54635aef886461f605e4d6e72a594c6e6dd20e05cdedb174feec7c4d7a88ef962eed7380e64c48209f31d56d34ee479a617 + languageName: node + linkType: hard + +"@cloudflare/workerd-darwin-64@npm:1.20250718.0": + version: 1.20250718.0 + resolution: "@cloudflare/workerd-darwin-64@npm:1.20250718.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@cloudflare/workerd-darwin-arm64@npm:1.20240925.0": - version: 1.20240925.0 - resolution: "@cloudflare/workerd-darwin-arm64@npm:1.20240925.0" +"@cloudflare/workerd-darwin-arm64@npm:1.20250718.0": + version: 1.20250718.0 + resolution: "@cloudflare/workerd-darwin-arm64@npm:1.20250718.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@cloudflare/workerd-linux-64@npm:1.20240925.0": - version: 1.20240925.0 - resolution: "@cloudflare/workerd-linux-64@npm:1.20240925.0" +"@cloudflare/workerd-linux-64@npm:1.20250718.0": + version: 1.20250718.0 + resolution: "@cloudflare/workerd-linux-64@npm:1.20250718.0" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@cloudflare/workerd-linux-arm64@npm:1.20240925.0": - version: 1.20240925.0 - resolution: "@cloudflare/workerd-linux-arm64@npm:1.20240925.0" +"@cloudflare/workerd-linux-arm64@npm:1.20250718.0": + version: 1.20250718.0 + resolution: "@cloudflare/workerd-linux-arm64@npm:1.20250718.0" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@cloudflare/workerd-windows-64@npm:1.20240925.0": - version: 1.20240925.0 - resolution: "@cloudflare/workerd-windows-64@npm:1.20240925.0" +"@cloudflare/workerd-windows-64@npm:1.20250718.0": + version: 1.20250718.0 + resolution: "@cloudflare/workerd-windows-64@npm:1.20250718.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@cloudflare/workers-shared@npm:0.5.4": - version: 0.5.4 - resolution: "@cloudflare/workers-shared@npm:0.5.4" - dependencies: - mime: "npm:^3.0.0" - zod: "npm:^3.22.3" - checksum: 10c0/bc439b5ad8264804b8e9a9c39636cadd35d23947d0dfff7daf405e74230ec4716a245771b940bc96c9e10c9cb91d4a487767b44fefccc6caeaa6829fdb19f68c - languageName: node - linkType: hard - -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 - languageName: node - linkType: hard - "@commitlint/cli@npm:^19.3.0": - version: 19.3.0 - resolution: "@commitlint/cli@npm:19.3.0" - dependencies: - "@commitlint/format": "npm:^19.3.0" - "@commitlint/lint": "npm:^19.2.2" - "@commitlint/load": "npm:^19.2.0" - "@commitlint/read": "npm:^19.2.1" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" + version: 19.8.1 + resolution: "@commitlint/cli@npm:19.8.1" + dependencies: + "@commitlint/format": "npm:^19.8.1" + "@commitlint/lint": "npm:^19.8.1" + "@commitlint/load": "npm:^19.8.1" + "@commitlint/read": "npm:^19.8.1" + "@commitlint/types": "npm:^19.8.1" + tinyexec: "npm:^1.0.0" yargs: "npm:^17.0.0" bin: - commitlint: cli.js - checksum: 10c0/12049b6ccb1fd3939c5713fdc9b2aa9054985f3ced465e9494ce7c23b3c69a9e9ea25c84fffa5ba147b6bb5cd086a29000dfac2218a7592494b007bab592e057 + commitlint: ./cli.js + checksum: 10c0/41a5b6aa27aaead8ed400eb212c87d06fdb8fae219ebccd37369a4aab2e3cff25afc4b3c3fa18df9dc19a0ae4ab6599f9adb5c836cad31c2589cb988aefe5515 languageName: node linkType: hard "@commitlint/config-conventional@npm:^19.2.2": - version: 19.2.2 - resolution: "@commitlint/config-conventional@npm:19.2.2" + version: 19.8.1 + resolution: "@commitlint/config-conventional@npm:19.8.1" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.8.1" conventional-changelog-conventionalcommits: "npm:^7.0.2" - checksum: 10c0/2f2a07ee318ac42ffda488521bd84f28268a6d2ea10b332abcad6106559d8a64a765cc58ddea106fd67fce376228cb24059000a584f4986e0e8f972cedd85442 + checksum: 10c0/654786e1acd64756e5c88838c19d9eb5d5ee7a6f314af65585dc18cc4002990e971614e7c69f49e5489be9430671aa5b39af005a2160c5a4f26391258d38febf languageName: node linkType: hard -"@commitlint/config-validator@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/config-validator@npm:19.0.3" +"@commitlint/config-validator@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/config-validator@npm:19.8.1" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.8.1" ajv: "npm:^8.11.0" - checksum: 10c0/7a0d55837fb88b1f05892fed67a9582669331a452de96e4caec0c9a397cd6083701265b066e6e32a259b43737187cd31b15ab02b0459c817ea9e7b75602db3c7 + checksum: 10c0/68f84f47503fb17845512b1da45d632211c07605e5a20ef5b56d8732b81a760fec6c5a41847b59a31628a2d40a44cc5c0cfa33e7e02247b198984bab66b06a5d languageName: node linkType: hard -"@commitlint/ensure@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/ensure@npm:19.0.3" +"@commitlint/ensure@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/ensure@npm:19.8.1" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.8.1" lodash.camelcase: "npm:^4.3.0" lodash.kebabcase: "npm:^4.1.1" lodash.snakecase: "npm:^4.1.1" lodash.startcase: "npm:^4.4.0" lodash.upperfirst: "npm:^4.3.1" - checksum: 10c0/66785aeddec70e26766f6bb11b1f78892cabdb97b0b77fb97ca6457578e663188903933d5f64559205dd54754e8c2c4a902e73e1749e34cbe07a4b296e374d72 + checksum: 10c0/1a2fdf51f333ab21ede58de82243bb53bb13dac91f3d5f1e20db865a6e5a09b51faef692badf4c59e911ad8f761c1e103827b485938b7e9688db389a444a8d7d languageName: node linkType: hard -"@commitlint/execute-rule@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/execute-rule@npm:19.0.0" - checksum: 10c0/70d37f25a9af0a6adcd9ae7cadd4a917e8d219d316798469e2957608288d7cab8a3b03f7b132f1229a5ee545bbba139dc801d0006a7df3b756354b3890b9c1bb +"@commitlint/execute-rule@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/execute-rule@npm:19.8.1" + checksum: 10c0/dfdcec63f16a445c85b4bf540a5abe237f230cf5a357d9bd89142722d6bea6800cccadbd570b78d6799121ed51b0ed47fe12ab69ddd7edb53449b78e9f79a4be languageName: node linkType: hard -"@commitlint/format@npm:^19.3.0": - version: 19.3.0 - resolution: "@commitlint/format@npm:19.3.0" +"@commitlint/format@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/format@npm:19.8.1" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.8.1" chalk: "npm:^5.3.0" - checksum: 10c0/857a1784481edad9013514cbcc9ec93af33acc8bd491f5d23625c53fb93841566ce110e3004ecaab7f4f89c9331940fe63b83922a4a81f419e67b70e0dc90e41 + checksum: 10c0/cd8688b2abd426e2cae2ab752e43198b218cb11a0f4b45fc13655799d7cfe1192eb78c757d28bc7fe11151eabc1fee412a77f3248550b34c36612969eefe59cf languageName: node linkType: hard -"@commitlint/is-ignored@npm:^19.2.2": - version: 19.2.2 - resolution: "@commitlint/is-ignored@npm:19.2.2" +"@commitlint/is-ignored@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/is-ignored@npm:19.8.1" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.8.1" semver: "npm:^7.6.0" - checksum: 10c0/8e416edbf24ec386f6211d4879c002cf82fdebfd1f69556ae2ad62f6ae9b705aa20ea3108529fd44e7d246526c6133851905ee826a83efc81b2f11443a7d03c3 + checksum: 10c0/8b16583a7615f9b2a4fc8882ddd8140bfe3e909cc5d44b536d1b4e7857a90a8b15c27b30bb9b7a712b707f27c58014290a362dd8ecebdb1e8bde90d20c67eea6 languageName: node linkType: hard -"@commitlint/lint@npm:^19.2.2": - version: 19.2.2 - resolution: "@commitlint/lint@npm:19.2.2" +"@commitlint/lint@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/lint@npm:19.8.1" dependencies: - "@commitlint/is-ignored": "npm:^19.2.2" - "@commitlint/parse": "npm:^19.0.3" - "@commitlint/rules": "npm:^19.0.3" - "@commitlint/types": "npm:^19.0.3" - checksum: 10c0/e7b3ca6027fecc1a3eda0ee8c21ecef0071ddddc7711a922cc6eb53a590c7e4f00d550b01134a5ebaaae603a0afbeaf65809b12f8099e08cace9d594cb69ff4b + "@commitlint/is-ignored": "npm:^19.8.1" + "@commitlint/parse": "npm:^19.8.1" + "@commitlint/rules": "npm:^19.8.1" + "@commitlint/types": "npm:^19.8.1" + checksum: 10c0/013ceb3acd7291d0e05e9c77ed160a3e8d04334b90f807f6d4fbc2682c86ba41b434721d229bf90784a59197353d80880d977a92fa6f6f025c4ab1b1773cf2ea languageName: node linkType: hard -"@commitlint/load@npm:^19.2.0": - version: 19.2.0 - resolution: "@commitlint/load@npm:19.2.0" +"@commitlint/load@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/load@npm:19.8.1" dependencies: - "@commitlint/config-validator": "npm:^19.0.3" - "@commitlint/execute-rule": "npm:^19.0.0" - "@commitlint/resolve-extends": "npm:^19.1.0" - "@commitlint/types": "npm:^19.0.3" + "@commitlint/config-validator": "npm:^19.8.1" + "@commitlint/execute-rule": "npm:^19.8.1" + "@commitlint/resolve-extends": "npm:^19.8.1" + "@commitlint/types": "npm:^19.8.1" chalk: "npm:^5.3.0" cosmiconfig: "npm:^9.0.0" - cosmiconfig-typescript-loader: "npm:^5.0.0" + cosmiconfig-typescript-loader: "npm:^6.1.0" lodash.isplainobject: "npm:^4.0.6" lodash.merge: "npm:^4.6.2" lodash.uniq: "npm:^4.5.0" - checksum: 10c0/100ad63e99f59cdad7f48748b77a9a55710a2487971dd2ee503ba003aaf407ab49acf844a45c87a8b5e0a4de3a037cadaed9460ecd6d2e886bbdf943eb344bb2 + checksum: 10c0/a674080552f24c12b3e04f97d9dce515461fc0af6de90fe8ecd1671357361b8ce095f5598e71ca7599f7fd4a9b4d54a7c552769237c9ca6fb56dbd69742b1b4b languageName: node linkType: hard -"@commitlint/message@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/message@npm:19.0.0" - checksum: 10c0/753bf18838ebde4464e8f4b346d04d3367fbb90b542db6a54da08aa241497b4050a6ecd09dba4f37f6348855fa86e6625350d596fe5dea7a8dd4faee49ab76a7 +"@commitlint/message@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/message@npm:19.8.1" + checksum: 10c0/cd0b763d63dfe7a1b47402489fd82abe47e7c4bcc4eb71edfbc7a280f9aa83627ad30ad0cbf558e4694e39d01c523d56b0dd906c4a97629dbda57f9b00e30ccd languageName: node linkType: hard -"@commitlint/parse@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/parse@npm:19.0.3" +"@commitlint/parse@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/parse@npm:19.8.1" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.8.1" conventional-changelog-angular: "npm:^7.0.0" conventional-commits-parser: "npm:^5.0.0" - checksum: 10c0/ede8d5bfb37520337ea7836a68f280cdb4b9788d0586b8be676394b3dd8a7a9626391178c4f94d334c5b8d95ea75c73939c40c8c9d81c372cf7743f5bff3d0e1 + checksum: 10c0/9bad063ee83ba86cdab2e61b7ed3a6fc6e5e3c7ee1c6ae2335a7fa3578fed91fc92397ccfdb7e659d2b7bfea34e837bafbed7283037f0d10f731b099cfa9a03f languageName: node linkType: hard -"@commitlint/read@npm:^19.2.1": - version: 19.2.1 - resolution: "@commitlint/read@npm:19.2.1" +"@commitlint/read@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/read@npm:19.8.1" dependencies: - "@commitlint/top-level": "npm:^19.0.0" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" + "@commitlint/top-level": "npm:^19.8.1" + "@commitlint/types": "npm:^19.8.1" git-raw-commits: "npm:^4.0.0" minimist: "npm:^1.2.8" - checksum: 10c0/9aef7e24164fe502c59b8acb867a9193bff2aab9bcdd74b9c18e2fada27d631360a1e3ce74898104bc8eae45129216d4227d22fa20ca65b59d6ad45b26d71b66 + tinyexec: "npm:^1.0.0" + checksum: 10c0/a32a6d68b0178c1eca3ef58e32d4bbd5b70dc8ddc0b791c1697e5236bea1fac5ed3f97bc5e6e569399673e8341fbedf7e630f1171a40b3d756ac153d022ede68 languageName: node linkType: hard -"@commitlint/resolve-extends@npm:^19.1.0": - version: 19.1.0 - resolution: "@commitlint/resolve-extends@npm:19.1.0" +"@commitlint/resolve-extends@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/resolve-extends@npm:19.8.1" dependencies: - "@commitlint/config-validator": "npm:^19.0.3" - "@commitlint/types": "npm:^19.0.3" + "@commitlint/config-validator": "npm:^19.8.1" + "@commitlint/types": "npm:^19.8.1" global-directory: "npm:^4.0.1" import-meta-resolve: "npm:^4.0.0" lodash.mergewith: "npm:^4.6.2" resolve-from: "npm:^5.0.0" - checksum: 10c0/5b4c69694ddf63f15499a940f99a39bdf0ae1943eb4731c7ea10572e416e44d6d57280faa8011801f4dc64aa70e55eb3b510c86c8e2b76820dcfe88b421afd4a + checksum: 10c0/0172a0c892ae7fb95e3d982db0c559735b76384241ce524bf7257bdafb2aa8239e039894629e777e1f34c28cc7bb0938b24befb494a6b383023c004bd97adb42 languageName: node linkType: hard -"@commitlint/rules@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/rules@npm:19.0.3" +"@commitlint/rules@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/rules@npm:19.8.1" dependencies: - "@commitlint/ensure": "npm:^19.0.3" - "@commitlint/message": "npm:^19.0.0" - "@commitlint/to-lines": "npm:^19.0.0" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" - checksum: 10c0/4a9a3f2fb838949707650a6bf2a016ec2b0ec570cb151d1005d01bdeb2e27adff5e5eab3c06a302c6834a88e2ec39090a5482bb57f2da51e6609c2b89e33d948 + "@commitlint/ensure": "npm:^19.8.1" + "@commitlint/message": "npm:^19.8.1" + "@commitlint/to-lines": "npm:^19.8.1" + "@commitlint/types": "npm:^19.8.1" + checksum: 10c0/fa9d6ca268eec570b948d8c804f97557fd2ae2de1420e326ff387d1234fc1a255bf1ae4185affe307b2856b3b5f6ac9f13fe26b754990987b97d80b2d688076f languageName: node linkType: hard -"@commitlint/to-lines@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/to-lines@npm:19.0.0" - checksum: 10c0/9e8836668d176f4ddfa30bd6619cba9764223c5e0a76473c470b373069785ae2eb7af17db67e0e11ff30d8db997d0dd06a148bd8053c71fea1d03fc2278f0e8b +"@commitlint/to-lines@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/to-lines@npm:19.8.1" + checksum: 10c0/ad6592a550fb15379c454b8e017147dc4cecd5ee347b9a30fce0a19d80a9b5740562ac8f8fe4137864ac8bcc4892b682531c436e81b037bf4b7eb9cfc0aa016e languageName: node linkType: hard -"@commitlint/top-level@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/top-level@npm:19.0.0" +"@commitlint/top-level@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/top-level@npm:19.8.1" dependencies: find-up: "npm:^7.0.0" - checksum: 10c0/27ee2797f8d3d75aec3e9bf151b48fdbe4c362effbc2e7a11e6326342af06a29983fea5ad8756587e285c035b5ec45d4c4bc28cd698b62db31ca326db46efb64 + checksum: 10c0/718723dc68bf72e9cfdeb1ee0188dcd58738b1ae8c7503d8a2b0666ec26f28a9e86ec9e12b432ebf37f14d04eaca2c8c80329228992187f2560b20a97a11f41b languageName: node linkType: hard -"@commitlint/types@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/types@npm:19.0.3" +"@commitlint/types@npm:^19.8.1": + version: 19.8.1 + resolution: "@commitlint/types@npm:19.8.1" dependencies: "@types/conventional-commits-parser": "npm:^5.0.0" chalk: "npm:^5.3.0" - checksum: 10c0/279454409771097432cb3ecd4930b8f10e99e150b9306e931b69e4e80011a4251f326523bfaba59fcf9a9db7978c76073b7c7c07fbad6b90e045cb0fa2b70047 + checksum: 10c0/0507db111d1ffd7b60e7ad979b7f9e674d409fc4c64561dfe30737b2c5bfefca7a1b58116106fa4ecb480059cecb13f04fa18f999d2d4a7d665b5ab13a05a803 languageName: node linkType: hard -"@contentlayer/cli@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/cli@npm:0.3.4" +"@cspotcode/source-map-support@npm:0.8.1": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" 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 + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 languageName: node linkType: hard -"@contentlayer/client@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/client@npm:0.3.4" +"@emnapi/core@npm:^1.8.1": + version: 1.10.0 + resolution: "@emnapi/core@npm:1.10.0" dependencies: - "@contentlayer/core": "npm:0.3.4" - checksum: 10c0/725b054a54e2fedae88d51ca276097abd753d422d120834be94d4eda23955ddd4daa0d8db840bbb4c974f6470fbe40f842bf47c2167103b0105440f1c561a92a + "@emnapi/wasi-threads": "npm:1.2.1" + tslib: "npm:^2.4.0" + checksum: 10c0/f51d08227857b60632de7714d708124f0e100a1462dde6df8221760939aa3204a73193830371830fac0716f3ccd2129f2cac1b17cd7d7958bc4da9018a296edb languageName: node linkType: hard -"@contentlayer/core@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/core@npm:0.3.4" +"@emnapi/runtime@npm:^1.2.0, @emnapi/runtime@npm:^1.7.0, @emnapi/runtime@npm:^1.8.1": + version: 1.10.0 + resolution: "@emnapi/runtime@npm:1.10.0" 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 + tslib: "npm:^2.4.0" + checksum: 10c0/953f14991d1aefb92ee6f8eb27dea725e484791a53a0cb5f47d9e0087b9a2c929ff2e92adf95af15d6ad456db6300c6b761ebf72b50a875b874a83520b3ba093 languageName: node linkType: hard -"@contentlayer/source-files@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/source-files@npm:0.3.4" +"@emnapi/wasi-threads@npm:1.2.1, @emnapi/wasi-threads@npm:^1.1.0": + version: 1.2.1 + resolution: "@emnapi/wasi-threads@npm:1.2.1" 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 + tslib: "npm:^2.4.0" + checksum: 10c0/32fcfa81ab396533b2ec1f4082b1ff779a05d9c836bbbd3f4398405b0e6814c0d9503b7993130e37bc6941dbc1ded49f55e9700ae9ca4e803bab2b5bc5deb331 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" +"@emotion/is-prop-valid@npm:^1.2.2": + version: 1.4.0 + resolution: "@emotion/is-prop-valid@npm:1.4.0" dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/source-files": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - checksum: 10c0/433f0bee7201e66cbeb7b6ea555618ff0496d5253b22f974423ee788b628c5cd643a3b9e682361cd794389f87e73b74237b220c7a072c6042c4a6c0b760f8137 + "@emotion/memoize": "npm:^0.9.0" + checksum: 10c0/5f857814ec7d8c7e727727346dfb001af6b1fb31d621a3ce9c3edf944a484d8b0d619546c30899ae3ade2f317c76390ba4394449728e9bf628312defc2c41ac3 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" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@discoveryjs/json-ext@npm:^0.5.3": - version: 0.5.7 - resolution: "@discoveryjs/json-ext@npm:0.5.7" - checksum: 10c0/e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c - 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" - 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 - languageName: node - linkType: hard - -"@emnapi/runtime@npm:^1.1.1": - version: 1.2.0 - resolution: "@emnapi/runtime@npm:1.2.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57 - languageName: node - linkType: hard - -"@emotion/is-prop-valid@npm:^1.2.2": - version: 1.2.2 - resolution: "@emotion/is-prop-valid@npm:1.2.2" - dependencies: - "@emotion/memoize": "npm:^0.8.1" - checksum: 10c0/bb1530dcb4e0e5a4fabb219279f2d0bc35796baf66f6241f98b0d03db1985c890a8cafbea268e0edefd5eeda143dbd5c09a54b5fba74cee8c69b98b13194af50 - languageName: node - linkType: hard - -"@emotion/memoize@npm:^0.8.1": - version: 0.8.1 - resolution: "@emotion/memoize@npm:0.8.1" - checksum: 10c0/dffed372fc3b9fa2ba411e76af22b6bb686fb0cb07694fdfaa6dd2baeb0d5e4968c1a7caa472bfcf06a5997d5e7c7d16b90e993f9a6ffae79a2c3dbdc76dfe78 - 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 +"@emotion/memoize@npm:^0.9.0": + version: 0.9.0 + resolution: "@emotion/memoize@npm:0.9.0" + checksum: 10c0/13f474a9201c7f88b543e6ea42f55c04fb2fdc05e6c5a3108aced2f7e7aa7eda7794c56bba02985a46d8aaa914fcdde238727a98341a96e2aec750d372dadd15 languageName: node linkType: hard -"@esbuild-plugins/node-globals-polyfill@npm:^0.2.3": +"@esbuild-plugins/node-globals-polyfill@npm:0.2.3": version: 0.2.3 resolution: "@esbuild-plugins/node-globals-polyfill@npm:0.2.3" peerDependencies: @@ -2062,7 +1680,7 @@ __metadata: languageName: node linkType: hard -"@esbuild-plugins/node-modules-polyfill@npm:^0.2.2": +"@esbuild-plugins/node-modules-polyfill@npm:0.2.2": version: 0.2.2 resolution: "@esbuild-plugins/node-modules-polyfill@npm:0.2.2" dependencies: @@ -2074,23 +1692,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 +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/aix-ppc64@npm:0.20.2" +"@esbuild/aix-ppc64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/aix-ppc64@npm:0.27.7" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2102,16 +1713,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm64@npm:0.20.2" +"@esbuild/android-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-arm64@npm:0.27.7" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2123,16 +1734,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm@npm:0.20.2" +"@esbuild/android-arm@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-arm@npm:0.27.7" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2144,16 +1755,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" +"@esbuild/android-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/android-x64@npm:0.27.7" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2165,16 +1776,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-arm64@npm:0.20.2" +"@esbuild/darwin-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/darwin-arm64@npm:0.27.7" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2186,16 +1797,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-x64@npm:0.20.2" +"@esbuild/darwin-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/darwin-x64@npm:0.27.7" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2207,16 +1818,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-arm64@npm:0.20.2" +"@esbuild/freebsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/freebsd-arm64@npm:0.27.7" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2228,16 +1839,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-x64@npm:0.20.2" +"@esbuild/freebsd-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/freebsd-x64@npm:0.27.7" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2249,16 +1860,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm64@npm:0.20.2" +"@esbuild/linux-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-arm64@npm:0.27.7" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2270,16 +1881,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm@npm:0.20.2" +"@esbuild/linux-arm@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-arm@npm:0.27.7" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2291,16 +1902,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ia32@npm:0.20.2" +"@esbuild/linux-ia32@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-ia32@npm:0.27.7" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2312,16 +1923,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-loong64@npm:0.20.2" +"@esbuild/linux-loong64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-loong64@npm:0.27.7" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2333,16 +1944,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-mips64el@npm:0.20.2" +"@esbuild/linux-mips64el@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-mips64el@npm:0.27.7" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2354,16 +1965,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ppc64@npm:0.20.2" +"@esbuild/linux-ppc64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-ppc64@npm:0.27.7" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2375,16 +1986,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-riscv64@npm:0.20.2" +"@esbuild/linux-riscv64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-riscv64@npm:0.27.7" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -2396,16 +2007,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-s390x@npm:0.20.2" +"@esbuild/linux-s390x@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/linux-s390x@npm:0.27.7" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -2417,20 +2028,34 @@ __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.7": + version: 0.27.7 + resolution: "@esbuild/linux-x64@npm:0.27.7" conditions: os=linux & cpu=x64 languageName: node linkType: hard +"@esbuild/netbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/netbsd-arm64@npm:0.27.7" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/netbsd-x64@npm:0.17.19" @@ -2438,20 +2063,34 @@ __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.7": + version: 0.27.7 + resolution: "@esbuild/netbsd-x64@npm:0.27.7" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard +"@esbuild/openbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openbsd-arm64@npm:0.27.7" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/openbsd-x64@npm:0.17.19" @@ -2459,20 +2098,34 @@ __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.7": + version: 0.27.7 + resolution: "@esbuild/openbsd-x64@npm:0.27.7" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard +"@esbuild/openharmony-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/openharmony-arm64@npm:0.27.7" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.17.19": version: 0.17.19 resolution: "@esbuild/sunos-x64@npm:0.17.19" @@ -2480,16 +2133,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/sunos-x64@npm:0.20.2" +"@esbuild/sunos-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/sunos-x64@npm:0.27.7" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -2501,16 +2154,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-arm64@npm:0.20.2" +"@esbuild/win32-arm64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-arm64@npm:0.27.7" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2522,16 +2175,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" +"@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.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-ia32@npm:0.20.2" +"@esbuild/win32-ia32@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-ia32@npm:0.27.7" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2543,69 +2196,20 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-x64@npm:0.18.20" +"@esbuild/win32-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-x64@npm:0.25.12" 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" +"@esbuild/win32-x64@npm:0.27.7": + version: 0.27.7 + resolution: "@esbuild/win32-x64@npm:0.27.7" conditions: os=win32 & cpu=x64 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 - languageName: node - linkType: hard - "@fastify/busboy@npm:^2.0.0": version: 2.1.1 resolution: "@fastify/busboy@npm:2.1.1" @@ -2613,110 +2217,99 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.0.0": - version: 1.6.2 - resolution: "@floating-ui/core@npm:1.6.2" +"@floating-ui/core@npm:^1.7.5": + version: 1.7.5 + resolution: "@floating-ui/core@npm:1.7.5" dependencies: - "@floating-ui/utils": "npm:^0.2.0" - checksum: 10c0/db2621dc682e7f043d6f118d087ae6a6bfdacf40b26ede561760dd53548c16e2e7c59031e013e37283801fa307b55e6de65bf3b316b96a054e4a6a7cb937c59e + "@floating-ui/utils": "npm:^0.2.11" + checksum: 10c0/f9c52205e198b231d63a387b09c659aab08c46a1899e0b0bbe147b8b4f048b546f15ba17cb5d2a471da9534f1883d979425e13e5c4ceee67be63e4b0abd4db5d languageName: node linkType: hard -"@floating-ui/dom@npm:^1.0.0": - version: 1.6.5 - resolution: "@floating-ui/dom@npm:1.6.5" +"@floating-ui/dom@npm:^1.7.6": + version: 1.7.6 + resolution: "@floating-ui/dom@npm:1.7.6" dependencies: - "@floating-ui/core": "npm:^1.0.0" - "@floating-ui/utils": "npm:^0.2.0" - checksum: 10c0/ebdc14806f786e60df8e7cc2c30bf9cd4d75fe734f06d755588bbdef2f60d0a0f21dffb14abdc58dea96e5577e2e366feca6d66ba962018efd1bc91a3ece4526 + "@floating-ui/core": "npm:^1.7.5" + "@floating-ui/utils": "npm:^0.2.11" + checksum: 10c0/5c098e0d7b58c9bc769f276cca1766994c2c9c70c92d091a61bba8b3e9be53c011e0a79a8457fc2fb2f3d91697a26eb52e0a4962ef936dc963b45f58613c212f languageName: node linkType: hard "@floating-ui/react-dom@npm:^2.0.0": - version: 2.1.0 - resolution: "@floating-ui/react-dom@npm:2.1.0" + version: 2.1.8 + resolution: "@floating-ui/react-dom@npm:2.1.8" dependencies: - "@floating-ui/dom": "npm:^1.0.0" + "@floating-ui/dom": "npm:^1.7.6" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 10c0/9ee44dfeb27f585fb1e0114cbe37c72ff5d34149900f4f3013f6b0abf8c3365eab13286c360f97fbe0c44bb91a745e7a4c18b82d111990b45a7a7796dc55e461 + checksum: 10c0/26260ca4bb23b57c73b824062505abf977a008ce6e0463bdacca74f7e49853c4cd1d2bbf1a77c6caa17fa37dfffda2c6c4cd07a8737ebd7474aaff7818401d75 languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.0": - version: 0.2.2 - resolution: "@floating-ui/utils@npm:0.2.2" - checksum: 10c0/b2becdcafdf395af1641348da0031ff1eaad2bc60c22e14bd3abad4acfe2c8401e03097173d89a2f646a99b75819a78ef21ebb2572cab0042a56dd654b0065cd +"@floating-ui/utils@npm:^0.2.11": + version: 0.2.11 + resolution: "@floating-ui/utils@npm:0.2.11" + checksum: 10c0/f4bcea1559bdbb721ecc8e8ead423ac58d6a5b6e70b602cf0810ba6ad4ed1c77211b207faa88b278a9042f0c743133de08a203ed6741c1b6443423332884d5b3 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 +"@fontsource-variable/lilex@npm:^5.2.1": + version: 5.2.1 + resolution: "@fontsource-variable/lilex@npm:5.2.1" + checksum: 10c0/df154f012345dea7e3af4a1238d3de8799986aa34a1d4a59224461ce313d22a0801be7b44bb5cbc981f00c0c675fc8f13e22c6c59b27e619e9ccf73115816c62 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 +"@img/colour@npm:^1.0.0": + version: 1.1.0 + resolution: "@img/colour@npm:1.1.0" + checksum: 10c0/2ebea2c0bbaee73b99badcefa04e1e71d83f36e5369337d3121dca841f4569533c4e2faddda6d62dd247f0d5cca143711f9446c59bcce81e427ba433a7a94a17 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@img/sharp-darwin-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-darwin-arm64@npm:0.33.5" 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 + "@img/sharp-libvips-darwin-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-arm64": + optional: true + conditions: os=darwin & cpu=arm64 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 +"@img/sharp-darwin-arm64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-darwin-arm64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-darwin-arm64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-arm64": + optional: true + conditions: os=darwin & cpu=arm64 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" +"@img/sharp-darwin-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-darwin-x64@npm:0.33.5" dependencies: - "@img/sharp-libvips-darwin-arm64": "npm:1.0.2" + "@img/sharp-libvips-darwin-x64": "npm:1.0.4" dependenciesMeta: - "@img/sharp-libvips-darwin-arm64": + "@img/sharp-libvips-darwin-x64": optional: true - conditions: os=darwin & cpu=arm64 + conditions: os=darwin & cpu=x64 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" +"@img/sharp-darwin-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-darwin-x64@npm:0.34.5" dependencies: - "@img/sharp-libvips-darwin-x64": "npm:1.0.2" + "@img/sharp-libvips-darwin-x64": "npm:1.2.4" dependenciesMeta: "@img/sharp-libvips-darwin-x64": optional: true @@ -2724,67 +2317,149 @@ __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" +"@img/sharp-libvips-darwin-arm64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.4" conditions: os=darwin & cpu=arm64 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" +"@img/sharp-libvips-darwin-arm64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.4" + conditions: os=darwin & cpu=arm64 + 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" conditions: os=darwin & cpu=x64 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" +"@img/sharp-libvips-darwin-x64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.4" + conditions: os=darwin & cpu=x64 + 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" conditions: os=linux & cpu=arm64 & libc=glibc 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" +"@img/sharp-libvips-linux-arm64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.4" + conditions: os=linux & cpu=arm64 & 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" conditions: os=linux & cpu=arm & libc=glibc 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" +"@img/sharp-libvips-linux-arm@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-arm@npm:1.2.4" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-ppc64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.4" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-riscv64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-riscv64@npm:1.2.4" + conditions: os=linux & cpu=riscv64 & 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" conditions: os=linux & cpu=s390x & libc=glibc 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" +"@img/sharp-libvips-linux-s390x@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.4" + conditions: os=linux & cpu=s390x & 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" conditions: os=linux & cpu=x64 & libc=glibc 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" +"@img/sharp-libvips-linux-x64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linux-x64@npm:1.2.4" + conditions: os=linux & cpu=x64 & libc=glibc + 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" conditions: os=linux & cpu=arm64 & libc=musl 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" +"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4" + conditions: os=linux & cpu=arm64 & 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" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-libvips-linuxmusl-x64@npm:1.2.4": + version: 1.2.4 + resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.4" conditions: os=linux & cpu=x64 & libc=musl 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" +"@img/sharp-linux-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-arm64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-arm64": "npm:1.0.4" + 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.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-arm64@npm:0.34.5" dependencies: - "@img/sharp-libvips-linux-arm64": "npm:1.0.2" + "@img/sharp-libvips-linux-arm64": "npm:1.2.4" dependenciesMeta: "@img/sharp-libvips-linux-arm64": optional: true @@ -2792,11 +2467,11 @@ __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" +"@img/sharp-linux-arm@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-arm@npm:0.33.5" dependencies: - "@img/sharp-libvips-linux-arm": "npm:1.0.2" + "@img/sharp-libvips-linux-arm": "npm:1.0.5" dependenciesMeta: "@img/sharp-libvips-linux-arm": optional: true @@ -2804,617 +2479,548 @@ __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" +"@img/sharp-linux-arm@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-arm@npm:0.34.5" dependencies: - "@img/sharp-libvips-linux-s390x": "npm:1.0.2" + "@img/sharp-libvips-linux-arm": "npm:1.2.4" dependenciesMeta: - "@img/sharp-libvips-linux-s390x": + "@img/sharp-libvips-linux-arm": optional: true - conditions: os=linux & cpu=s390x & libc=glibc + conditions: os=linux & cpu=arm & libc=glibc 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" +"@img/sharp-linux-ppc64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-ppc64@npm:0.34.5" dependencies: - "@img/sharp-libvips-linux-x64": "npm:1.0.2" + "@img/sharp-libvips-linux-ppc64": "npm:1.2.4" dependenciesMeta: - "@img/sharp-libvips-linux-x64": + "@img/sharp-libvips-linux-ppc64": optional: true - conditions: os=linux & cpu=x64 & libc=glibc + conditions: os=linux & cpu=ppc64 & libc=glibc 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" +"@img/sharp-linux-riscv64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-riscv64@npm:0.34.5" dependencies: - "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.2" + "@img/sharp-libvips-linux-riscv64": "npm:1.2.4" dependenciesMeta: - "@img/sharp-libvips-linuxmusl-arm64": + "@img/sharp-libvips-linux-riscv64": optional: true - conditions: os=linux & cpu=arm64 & libc=musl + conditions: os=linux & cpu=riscv64 & libc=glibc 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" +"@img/sharp-linux-s390x@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-s390x@npm:0.33.5" dependencies: - "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.2" + "@img/sharp-libvips-linux-s390x": "npm:1.0.4" dependenciesMeta: - "@img/sharp-libvips-linuxmusl-x64": + "@img/sharp-libvips-linux-s390x": optional: true - conditions: os=linux & cpu=x64 & libc=musl + conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@img/sharp-wasm32@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-wasm32@npm:0.33.4" +"@img/sharp-linux-s390x@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-s390x@npm:0.34.5" dependencies: - "@emnapi/runtime": "npm:^1.1.1" - conditions: cpu=wasm32 + "@img/sharp-libvips-linux-s390x": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linux-s390x": + optional: true + conditions: os=linux & cpu=s390x & libc=glibc 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 +"@img/sharp-linux-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-x64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linux-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=glibc 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 +"@img/sharp-linux-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linux-x64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linux-x64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linux-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" +"@img/sharp-linuxmusl-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.5" dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" +"@img/sharp-linuxmusl-arm64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.5" dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" +"@img/sharp-linuxmusl-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linuxmusl-x64@npm:0.33.5" dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=musl 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" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e +"@img/sharp-linuxmusl-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-linuxmusl-x64@npm:0.34.5" + dependencies: + "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 +"@img/sharp-wasm32@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-wasm32@npm:0.33.5" + dependencies: + "@emnapi/runtime": "npm:^1.2.0" + conditions: cpu=wasm32 languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.3": - version: 0.3.6 - resolution: "@jridgewell/source-map@npm:0.3.6" +"@img/sharp-wasm32@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-wasm32@npm:0.34.5" dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + "@emnapi/runtime": "npm:^1.7.0" + conditions: cpu=wasm32 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 +"@img/sharp-win32-arm64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-win32-arm64@npm:0.34.5" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b +"@img/sharp-win32-ia32@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-win32-ia32@npm:0.33.5" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 +"@img/sharp-win32-ia32@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-win32-ia32@npm:0.34.5" + conditions: os=win32 & cpu=ia32 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 +"@img/sharp-win32-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-win32-x64@npm:0.33.5" + conditions: os=win32 & cpu=x64 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 +"@img/sharp-win32-x64@npm:0.34.5": + version: 0.34.5 + resolution: "@img/sharp-win32-x64@npm:0.34.5" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@mdx-js/esbuild@npm:^2.0.0": - version: 2.3.0 - resolution: "@mdx-js/esbuild@npm:2.3.0" +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" 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 + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 languageName: node linkType: hard -"@mdx-js/mdx@npm:^2.0.0": - version: 2.3.0 - resolution: "@mdx-js/mdx@npm:2.3.0" - dependencies: - "@types/estree-jsx": "npm:^1.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" - 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" +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: - "@types/mdx": "npm:^2.0.0" - peerDependencies: - "@types/react": ">=16" - react: ">=16" - checksum: 10c0/d210d926ef488d39ad65f04d821936b668eadcdde3b6421e94ec4200ca7ad17f17d24c5cbc543882586af9f08b10e2eea715c728ce6277487945e05c5199f532 + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b languageName: node linkType: hard -"@ndelangen/get-tarball@npm:^3.0.7": - version: 3.0.9 - resolution: "@ndelangen/get-tarball@npm:3.0.9" +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" dependencies: - gunzip-maybe: "npm:^1.4.2" - pump: "npm:^3.0.0" - tar-fs: "npm:^2.1.1" - checksum: 10c0/d66e76c6c990745d691c85d1dfa7f3dfd181405bb52c295baf4d1838b847d40c686e24602ea0ab1cdeb14d409db59f6bb9e2f96f56fe53da275da9cccf778e27 + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 languageName: node linkType: hard -"@next/env@npm:14.2.26": - version: 14.2.26 - resolution: "@next/env@npm:14.2.26" - checksum: 10c0/e895d5d94f26c52f01c98450e269b10de9b785acf1011feb3ed1d003ac076e776369c32ba183bd603e0dcc8192e545ead59373f6c5e262c38a3659636edd69ca +"@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" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e 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" +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.11 + resolution: "@jridgewell/source-map@npm:0.3.11" dependencies: - glob: "npm:10.3.10" - checksum: 10c0/de9af2c7465cce4eb4cb50654aa2548d4d2af788c8992d02e2b863b1bf4f99e3b6604d1f0775f8e50aca6a53cf30d51f4ac56810d1625d401548267ca5f1d883 - languageName: node - linkType: hard - -"@next/swc-darwin-arm64@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-darwin-arm64@npm:14.2.26" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@next/swc-darwin-x64@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-darwin-x64@npm:14.2.26" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@next/swc-linux-arm64-gnu@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-linux-arm64-gnu@npm:14.2.26" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@next/swc-linux-arm64-musl@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-linux-arm64-musl@npm:14.2.26" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@next/swc-linux-x64-gnu@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-linux-x64-gnu@npm:14.2.26" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@next/swc-linux-x64-musl@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-linux-x64-musl@npm:14.2.26" - conditions: os=linux & cpu=x64 & libc=musl + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + checksum: 10c0/50a4fdafe0b8f655cb2877e59fe81320272eaa4ccdbe6b9b87f10614b2220399ae3e05c16137a59db1f189523b42c7f88bd097ee991dbd7bc0e01113c583e844 languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-win32-arm64-msvc@npm:14.2.26" - conditions: os=win32 & cpu=arm64 +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @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 -"@next/swc-win32-ia32-msvc@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-win32-ia32-msvc@npm:14.2.26" - conditions: os=win32 & cpu=ia32 +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:14.2.26": - version: 14.2.26 - resolution: "@next/swc-win32-x64-msvc@npm:14.2.26" - conditions: os=win32 & cpu=x64 +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" +"@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: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + "@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" + 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-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 -"@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 +"@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/34ca98bc2a0f969894ea144dc5c8a5294690505458cd24965cd9be854d779c193ad9192bf9143c4c18438fafd1902e100d99067e045c69319288562d497558c6 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" +"@napi-rs/wasm-runtime@npm:^1.1.1": + version: 1.1.4 + resolution: "@napi-rs/wasm-runtime@npm:1.1.4" dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + "@tybys/wasm-util": "npm:^0.10.1" + peerDependencies: + "@emnapi/core": ^1.7.1 + "@emnapi/runtime": ^1.7.1 + checksum: 10c0/2e88e1955258949ccf2d18c79975821ad38071b465ef126a5e14110977b97868867b016c1ad046e963cccc42c0bd9db6c8ff5fd1ebb61b87bb3487f339041658 languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.2 - resolution: "@npmcli/agent@npm:2.2.2" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae +"@next/env@npm:16.2.4": + version: 16.2.4 + resolution: "@next/env@npm:16.2.4" + checksum: 10c0/4bf41f0da7cc97ca2a2f2b7f3fc81e14aba2afc280d32163b134b8f642b315fbabb5d9c224a783d8e759bbc73eedfc9acd048e772950395aa1e6290dd386d209 languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": - version: 3.1.1 - resolution: "@npmcli/fs@npm:3.1.1" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 +"@next/swc-darwin-arm64@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-darwin-arm64@npm:16.2.4" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@opentelemetry/api-logs@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/api-logs@npm:0.39.1" - dependencies: - "@opentelemetry/api": "npm:^1.0.0" - checksum: 10c0/b63bec7382662885ef8ad9bfbf4fb847e8fc393b566a5380b389e06c3da99abc511574e28f21b3c90c1bd7430296d2e0d8b8d39117514b6227ed1b4bc756a8f6 +"@next/swc-darwin-x64@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-darwin-x64@npm:16.2.4" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.4.1": - version: 1.9.0 - resolution: "@opentelemetry/api@npm:1.9.0" - checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add +"@next/swc-linux-arm64-gnu@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-linux-arm64-gnu@npm:16.2.4" + conditions: os=linux & cpu=arm64 & libc=glibc 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 +"@next/swc-linux-arm64-musl@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-linux-arm64-musl@npm:16.2.4" + conditions: os=linux & cpu=arm64 & libc=musl 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 +"@next/swc-linux-x64-gnu@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-linux-x64-gnu@npm:16.2.4" + conditions: os=linux & cpu=x64 & libc=glibc 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" - dependencies: - "@opentelemetry/semantic-conventions": "npm:1.25.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/94c96522e76b210bfb470ad7790fd36e8049ff89ee42f63fd725e542f40ff602d6ee9a349e4ffc2aa4f1df7c8a5c5cead1fb44a77eb2e47664b6692e5673e6d0 +"@next/swc-linux-x64-musl@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-linux-x64-musl@npm:16.2.4" + conditions: os=linux & cpu=x64 & libc=musl 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 +"@next/swc-win32-arm64-msvc@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-win32-arm64-msvc@npm:16.2.4" + conditions: os=win32 & cpu=arm64 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 +"@next/swc-win32-x64-msvc@npm:16.2.4": + version: 16.2.4 + resolution: "@next/swc-win32-x64-msvc@npm:16.2.4" + conditions: os=win32 & cpu=x64 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" +"@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: - "@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 + "@opentelemetry/api": "npm:^1.3.0" + checksum: 10c0/dc1fbee6219df4166509f43b74ea936bb18b6d594565b0bcf56b654a1c958b50d6046b8739dc36c98149fe890c02150ff3814e963f5ea439a07ff3c562555b99 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 +"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.9.0": + version: 1.9.1 + resolution: "@opentelemetry/api@npm:1.9.1" + checksum: 10c0/c608485fc8b5a91e1f7e05e843b45b509307456b31cd2ad365933d90813e40ebfedf179f1451c762037e82d7c76aa8500e95d2da3609f640a1206cde5322cd14 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.2.0": + version: 2.2.0 + resolution: "@opentelemetry/core@npm:2.2.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/f618b63f2f560d052791d2406b1411722aa4b0585031242e6906f869f0a707ffe725c4b29bf18aed1f202e1ab5dfc3a9f769c517ac8521338b33ac8c4265fba9 languageName: node linkType: hard -"@opentelemetry/propagator-jaeger@npm:1.25.0": - version: 1.25.0 - resolution: "@opentelemetry/propagator-jaeger@npm:1.25.0" +"@opentelemetry/core@npm:2.7.0": + version: 2.7.0 + resolution: "@opentelemetry/core@npm:2.7.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/e4df7c3bee5a7adb6c06f0213bc3ee72e88e7e04296b9aa3e460e9966bb3e6d232fe0092c669a71022c278b506281f01fa156712b1231bd41b55e77d66587b6a + checksum: 10c0/4e5efc054f42981f7a8bf22705c04d5677a91e0214da08028abcb06d7e4dd19833ddcc61bdd363911832c111f3ffe914745cfd9e6b4c5cb535ee84ea86a7f0fc languageName: node linkType: hard -"@opentelemetry/resources@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/resources@npm:1.13.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.13.0" - "@opentelemetry/semantic-conventions": "npm:1.13.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.5.0" - checksum: 10c0/87180744fdb3b8659a9955b3d93397484d2af12de0e945f1311e2bee7f11b37761141b5db485c6dcaec079523be04d12d56303a35038ac1051f53a1db126f40f + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/2b8c649e04bfc7c86ebc49de4afb19ccd2562ebfc15ac30f1689787d9b014392f6d936f43b494729d9723de0588276027f742ba825834c74d8a08cd366c284ab 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-exporter-base@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-exporter-base@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" - "@opentelemetry/semantic-conventions": "npm:1.25.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/otlp-transformer": "npm:0.208.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/e0877e1c6bff81385a112483a0471e530d17ed3b98e0c399595680debf43dd8e48100595414ea3d2f4ac4f911dbea5201da6e6e13cdf07463667c15d35dd774b + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/c2b2014da16e2a2be0ebe525b1a62b3e64e286fc9c2575444e4c75bbe0060a83762172180dc7a97cdaaaa8c6765076073edea30340459fc1820cd43468ff98b0 languageName: node linkType: hard -"@opentelemetry/sdk-logs@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/sdk-logs@npm:0.39.1" +"@opentelemetry/otlp-transformer@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-transformer@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.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.4.0 <1.5.0" - "@opentelemetry/api-logs": ">=0.38.0" - checksum: 10c0/9ef3620c8dbd51f8c5ed9b90b10032c048811e04aadcd694374da6c48a1688c073362afb631a69b3d5985e9267fa7bda3e3c111b92812ea13cbce23526e57b05 + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/70c04b2a52f0b2f8aece25ad21401c32ed3136ccd6e82b767d570a24d5456a5ded206ed4cc60ebc09eac08a4aa9c03bc8dcbf10730e491f1af3e7768c361ac12 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.2.0 + resolution: "@opentelemetry/resources@npm:2.2.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - lodash.merge: "npm:4.6.2" + "@opentelemetry/core": "npm:2.2.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/f08fa69ccccb6d14b6932fabe6f8e097c0dfc41ae8f4c0f6c54fb04bc3d9c04e742da3e22d7240d74b585287101126d97a0da192b493a9724dc07a56ca1b77e0 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/resources@npm:^2.2.0": + version: 2.7.0 + resolution: "@opentelemetry/resources@npm:2.7.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - "@opentelemetry/semantic-conventions": "npm:1.13.0" + "@opentelemetry/core": "npm:2.7.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.5.0" - checksum: 10c0/deb370f701b21e49b273716f479be9e5634ce3daa993741cc9500d8d8f11781835f1329398f1296402ad2a8455a159e500b42c6a977d83d6b2f8545517d9cbae + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/44b4df76b9429397db9a9b4b223448ae242a7014949693128de604d871cb4c55e6a612dd9a2cbf5069c2441acafcb990474e85445d463de260b223b7bc3f8143 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-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.25.0" - "@opentelemetry/resources": "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" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/9630a306698cc50bdf1606d2c06c550f98dec2e44932b787175e74ecb95826551708206433a612a49ecb6587c4dddbd1491541c9c83fd785e05565d57e21abb3 + "@opentelemetry/api": ">=1.4.0 <1.10.0" + checksum: 10c0/a167ee7d2818e435ff7480836461f94543e4e39f0e8e8013d462c635def9b960dcf1a29e5536743946b51ef13b764f518d9edb511e89bc1e8995acc96f54241f 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-metrics@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-metrics@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" 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.9.0 <1.10.0" + checksum: 10c0/a2668f9ef937123552a5ab96ec23675931ae7d3223ec7a31c8aac95fbbfb0b03a54a873f17f2356b04db7031421e7e3d7e3bf9d96d9069a0b97c680a2c158bc4 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/sdk-trace-base@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-trace-base@npm:2.2.0" + dependencies: + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/a67715b71d7253cd61ea79954f56491796ac7a660d03d5381fd81defd4546042bb465b27e1b6eee4b1ed32c00305a5349a16d04fd44314c9a1d371a0a638107a languageName: node linkType: hard -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd +"@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 -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 +"@phosphor-icons/react@npm:^2.1.10": + version: 2.1.10 + resolution: "@phosphor-icons/react@npm:2.1.10" + peerDependencies: + react: ">= 16.8" + react-dom: ">= 16.8" + checksum: 10c0/9a469e1bdcabcd3db02eda13142d57be250847ebbeb82b33c8900580a6a23ed4f411dbb9b9deacef726ff3fa8ffc960c8868b518e448bd2cee654cedf3fa4bda 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" + version: 0.5.17 + resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.17" dependencies: ansi-html: "npm:^0.0.9" core-js-pure: "npm:^3.23.3" @@ -3445,7 +3051,23 @@ __metadata: optional: true webpack-plugin-serve: optional: true - checksum: 10c0/ba310aa4d53070f59c8a374d1d256c5965c044c0c3fb1ff6b55353fb5e86de08a490a7bd59a31f0d4951f8f29f81864c7df224fe1342543a95d048b7413ff171 + checksum: 10c0/afe7d5d5895f2edc1f4336e57082072736a27d79389eabc6c4e1297dae08da06e01d17f1b3866ed871989e070dbc3ec14ad8a1a88a22b11c1c530db5aa67fa12 + languageName: node + linkType: hard + +"@posthog/core@npm:1.27.2": + version: 1.27.2 + resolution: "@posthog/core@npm:1.27.2" + dependencies: + "@posthog/types": "npm:1.371.3" + checksum: 10c0/46a1276ae62373854ecc0acecde6a7d0b02b60de7559768ff498b04c45becb59b879292cc31452b40458a0d5ebf530786a2735ed2b6b9aaddd68095000a5cda4 + languageName: node + linkType: hard + +"@posthog/types@npm:1.371.3": + version: 1.371.3 + resolution: "@posthog/types@npm:1.371.3" + checksum: 10c0/d48cb42bd39b28b2bc5a423346bb1461ab29169b5ee76a3dd99ea09096137ecf00c7300a846544d856ff2fc2f68ba3ee28b0f8bc080ff5fe5eb279c428acbad1 languageName: node linkType: hard @@ -3522,809 +3144,812 @@ __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 -"@radix-ui/primitive@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/primitive@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/912216455537db3ca77f3e7f70174fb2b454fbd4a37a0acb7cfadad9ab6131abdfb787472242574460a3c301edf45738340cc84f6717982710082840fde7d916 +"@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.1.2": - version: 1.1.2 - resolution: "@radix-ui/react-accordion@npm:1.1.2" - 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/react-accordion@npm:^1.2.3": + version: 1.2.12 + resolution: "@radix-ui/react-accordion@npm:1.2.12" + dependencies: + "@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" - 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/react-alert-dialog@npm:^1.1.6": + version: 1.1.15 + resolution: "@radix-ui/react-alert-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-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" - 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/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: + "@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 -"@radix-ui/react-compose-refs@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-compose-refs@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" +"@radix-ui/react-compose-refs@npm:1.1.2, @radix-ui/react-compose-refs@npm:^1.1.1": + version: 1.1.2 + resolution: "@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/be06f8dab35b5a1bffa7a5982fb26218ddade1acb751288333e3b89d7b4a7dfb5a6371be83876dac0ec2ebe0866d295e8618b778608e1965342986ea448040ec + 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" - dependencies: - "@babel/runtime": "npm:^7.13.10" +"@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 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/3de5761b32cc70cd61715527f29d8c699c01ab28c195ced972ccbc7025763a373a68f18c9f948c7a7b922e469fd2df7fee5f7536e3f7bad44ffc06d959359333 + checksum: 10c0/cece731f8cc25d494c6589cc681e5c01a93867d895c75889973afa1a255f163c286e390baa7bc028858eaabe9f6b57270d0ca6377356f652c5557c1c7a41ccce 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": - version: 1.0.5 - resolution: "@radix-ui/react-dialog@npm:1.0.5" - 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-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-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" - aria-hidden: "npm:^1.1.1" - react-remove-scroll: "npm:2.5.5" +"@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": "*" "@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/c5b3069397379e79857a3203f3ead4d12d87736b59899f02a63e620a07dd1e6704e15523926cdf8e39afe1c945a7ff0f2533c5ea5be1e17c3114820300a51133 + checksum: 10c0/2f2c88e3c281acaea2fd9b96fa82132d59177d3aa5da2e7c045596fd4028e84e44ac52ac28f4f236910605dd7d9338c2858ba44a9ced2af2e3e523abbfd33014 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-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 + 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 -"@radix-ui/react-dismissable-layer@npm:1.0.5": - version: 1.0.5 - resolution: "@radix-ui/react-dismissable-layer@npm:1.0.5" - 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-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-escape-keydown": "npm:1.0.3" +"@radix-ui/react-dismissable-layer@npm:1.1.11": + version: 1.1.11 + resolution: "@radix-ui/react-dismissable-layer@npm:1.1.11" + dependencies: + "@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/7e4308867aecfb07b506330c1964d94a52247ab9453725613cd326762aa13e483423c250f107219c131b0449600eb8d1576ce3159c2b96e8c978f75e46062cb2 + checksum: 10c0/c825572a64073c4d3853702029979f6658770ffd6a98eabc4984e1dee1b226b4078a2a4dc7003f96475b438985e9b21a58e75f51db74dd06848dcae1f2d395dc 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-dropdown-menu@npm:^2.1.6": + version: 2.1.16 + resolution: "@radix-ui/react-dropdown-menu@npm:2.1.16" 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-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 - 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/525cab53547d2ce2904518b1f66b62179d656c57c8d6dd7dbe863cc05025d8bad535f44011e2735b07fc500579c3d64d89a9a39593d4c8f91f31052d75b729e1 + checksum: 10c0/8caaa8dd791ccb284568720adafa59855e13860aa29eb20e10a04ba671cbbfa519a4c5d3a339a4d9fb08009eeb1065f4a8b5c3c8ef45e9753161cc560106b935 languageName: node linkType: hard -"@radix-ui/react-focus-guards@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-focus-guards@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" +"@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 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/d5fd4e5aa9d9a87c8ad490b3b4992d6f1d9eddf18e56df2a2bcf8744c4332b275d73377fd193df3e6ba0ad9608dc497709beca5c64de2b834d5f5350b3c9a272 + 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" +"@radix-ui/react-focus-scope@npm:1.1.7": + version: 1.1.7 + resolution: "@radix-ui/react-focus-scope@npm:1.1.7" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "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-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 - 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/2fce0bafcab4e16cf4ed7560bda40654223f3d0add6b231e1c607433030c14e6249818b444b7b58ee7a6ff6bbf8e192c9c81d22c3a5c88c2daade9d1f881b5be + checksum: 10c0/8a6071331bdeeb79b223463de75caf759b8ad19339cab838e537b8dbb2db236891a1f4df252445c854d375d43d9d315dfcce0a6b01553a2984ec372bb8f1300e 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-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 -"@radix-ui/react-id@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-id@npm:1.0.1" +"@radix-ui/react-id@npm:1.1.1, @radix-ui/react-id@npm:^1.1.0": + version: 1.1.1 + resolution: "@radix-ui/react-id@npm:1.1.1" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@radix-ui/react-use-layout-effect": "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/e2859ca58bea171c956098ace7ecf615cf9432f58a118b779a14720746b3adcf0351c36c75de131548672d3cd290ca238198acbd33b88dc4706f98312e9317ad - 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" - 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" + 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 -"@radix-ui/react-portal@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-portal@npm:1.0.4" +"@radix-ui/react-portal@npm:1.1.9": + version: 1.1.9 + resolution: "@radix-ui/react-portal@npm:1.1.9" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@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 - 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/fed32f8148b833fe852fb5e2f859979ffdf2fb9a9ef46583b9b52915d764ad36ba5c958a64e61d23395628ccc09d678229ee94cd112941e8fe2575021f820c29 + 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" +"@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-compose-refs": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@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/90780618b265fe794a8f1ddaa5bfd3c71a1127fa79330a14d32722e6265b44452a9dd36efe4e769129d33e57f979f6b8713e2cbf2e2755326aa3b0f337185b6e + checksum: 10c0/d0e61d314250eeaef5369983cb790701d667f51734bafd98cf759072755562018052c594e6cdc5389789f4543cb0a4d98f03ff4e8f37338d6b5bf51a1700c1d1 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-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/react-slot": "npm:1.0.2" + "@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/67a66ff8898a5e7739eda228ab6f5ce808858da1dce967014138d87e72b6bbfc93dc1467c706d98d1a2b93bf0b6e09233d1a24d31c78227b078444c1a69c42be + checksum: 10c0/fdff9b84913bb4172ef6d3af7442fca5f9bba5f2709cba08950071f819d7057aec3a4a2d9ef44cf9cbfb8014d02573c6884a04cff175895823aaef809ebdb034 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" - 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-primitive@npm:2.1.4, @radix-ui/react-primitive@npm:^2.0.2": + version: 2.1.4 + resolution: "@radix-ui/react-primitive@npm:2.1.4" + dependencies: + "@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/61e3ddfd1647e64fba855434ff41e8e7ba707244fe8841f78c450fbdce525383b64259279475615d030dbf1625cbffd8eeebee72d91bf6978794f5dbcf887fc0 + checksum: 10c0/90d687b222a25975371ed1f9f08648d75237214b8dec4cbaf09ec9ac951339b17421278f1aff2fb7c5672ba8bd03774a94904efdba73805dd5cc947ce5be8c4a 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" - 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-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/a08818aeeb15920a02e708699a8bdc85c26eab0579ab741129b464a799b5d9a04f81810a2d200f1cf4aef03452067770e87b0f81593a689350fcd7e51819e4cb + checksum: 10c0/2cd43339c36e89a3bf1db8aab34b939113dfbde56bf3a33df2d74757c78c9489b847b1962f1e2441c67e41817d120cb6177943e0f655f47bc1ff8e44fd55b1a2 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" - 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-scroll-area@npm:^1.2.3": + version: 1.2.10 + resolution: "@radix-ui/react-scroll-area@npm:1.2.10" + dependencies: + "@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": "*" + "@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/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/63aa4d119c5273035a2fce5a05739729abb8995ead00e810b86acfba05835fda655d962d3553b1f2011ed4f84e328f1e7e171cd9eaa7e3433b3d65c58cf3394a + checksum: 10c0/34b2492589c3a4b118a03900d622640033630f30ac93c4a69b3701513117607f4ac3a0d9dd3cad39caa8b6495660f71f3aa9d0074d4eb4dac6804dc0b8408deb 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" +"@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/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/87bcde47343f2bc4439a0dc34381f557905d9b3c1e8c5a0d32ceea62a8ef84f3abf671c5cb29309fc87759ad41d39af619ba546cf54109d64c8746e3ca683de3 + checksum: 10c0/92e1353f696a22167c90f2c610b440be1fae3c05128287560914f124eef83d74c06ad25431923f3595032e6d89c23d479c95434390f4c0d9d4a68ec8d563ae0c 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-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-compose-refs": "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/3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347 + checksum: 10c0/5913aa0d760f505905779515e4b1f0f71a422350f077cc8d26d1aafe53c97f177fec0e6d7fbbb50d8b5e498aa9df9f707ca75ae3801540c283b26b0136138eef 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" +"@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: + "@radix-ui/react-compose-refs": "npm:1.1.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 peerDependenciesMeta: "@types/react": optional: true - "@types/react-dom": - optional: true - checksum: 10c0/79699a921f5c2e890e0e496a751d9c2a7c4017eff8e52f094389e993263332881353bdd27b8cc123c906b36743e803eec7f32fdbb4d413328cba0a37d6413339 + checksum: 10c0/8b719bb934f1ae5ac0e37214783085c17c2f1080217caf514c1c6cc3d9ca56c7e19d25470b26da79aa6e605ab36589edaade149b76f5fc0666f1063e2fc0a0dc 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" - 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-tabs@npm:^1.1.3": + version: 1.1.13 + resolution: "@radix-ui/react-tabs@npm:1.1.13" + dependencies: + "@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": "*" "@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/a3c78cd8c30dcb95faf1605a8424a1a71dab121dfa6e9c0019bb30d0f36d882762c925b17596d4977990005a255d8ddc0b7454e4f83337fe557b45570a2d8058 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" - 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/331b432be1edc960ca148637ae6087220873ee828ceb13bd155926ef8f49e862812de5b379129f6aaefcd11be53715f3237e6caa9a33d9c0abfff43f3ba58938 + "@types/react-dom": + optional: true + checksum: 10c0/de0cbae9c571a00671f160928d819e59502f59be8749f536ab4b180181d9d70aee3925a5b2555f8f32d0bea622bc35f65b70ca7ff0449e4844f891302310cc48 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" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "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/29b069dbf09e48bca321af6272574ad0fc7283174e7d092731a10663fe00c0e6b4bde5e1b5ea67725fe48dcbe8026e7ff0d69d42891c62cbb9ca408498171fbe + checksum: 10c0/5f6aff8592dea6a7e46589808912aba3fb3b626cf6edd2b14f01638b61dbbe49eeb9f67cd5601f4c15b2fb547b9a7e825f7c4961acd4dd70176c969ae405f8d8 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-use-controllable-state@npm:1.2.2": + version: 1.2.2 + resolution: "@radix-ui/react-use-controllable-state@npm:1.2.2" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" + "@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 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/3c94c78902dcb40b60083ee2184614f45c95a189178f52d89323b467bd04bcf5fdb1bc4d43debecd7f0b572c3843c7e04edbcb56f40a4b4b43936fb2770fb8ad + checksum: 10c0/f55c4b06e895293aed4b44c9ef26fb24432539f5346fcd6519c7745800535b571058685314e83486a45bf61dc83887e24826490d3068acc317fb0a9010516e63 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-use-effect-event@npm:0.0.2": + version: 0.0.2 + resolution: "@radix-ui/react-use-effect-event@npm:0.0.2" dependencies: - "@babel/runtime": "npm:^7.13.10" + "@radix-ui/react-use-layout-effect": "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/13cd0c38395c5838bc9a18238020d3bcf67fb340039e6d1cbf438be1b91d64cf6900b78121f3dc9219faeb40dcc7b523ce0f17e4a41631655690e5a30a40886a + checksum: 10c0/e84ff72a3e76c5ae9c94941028bb4b6472f17d4104481b9eab773deab3da640ecea035e54da9d6f4df8d84c18ef6913baf92b7511bee06930dc58bd0c0add417 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" +"@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: - "@babel/runtime": "npm:^7.13.10" + "@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/f5fbc602108668484a4ed506b7842482222d1d03094362e26abb7fdd593eee8794fc47d85b3524fb9d00884801c89a6eefd0bed0971eba1ec189c637b6afd398 + checksum: 10c0/bff53be99e940fef1d3c4df7d560e1d9133182e5a98336255d3063327d1d3dd4ec54a95dc5afe15cca4fb6c184f0a956c70de2815578c318cf995a7f9beabaa1 languageName: node linkType: hard -"@radix-ui/react-use-rect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-rect@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/rect": "npm:1.0.1" +"@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 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/94c5ab31dfd3678c0cb77a30025e82b3a287577c1a8674b0d703a36d27434bc9c59790e0bebf57ed153f0b8e0d8c3b9675fc9787b9eac525a09abcda8fa9e7eb + checksum: 10c0/9f98fdaba008dfc58050de60a77670b885792df473cf82c1cef8daee919a5dd5a77d270209f5f0b0abfaac78cb1627396e3ff56c81b735be550409426fe8b040 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" +"@radix-ui/react-use-previous@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-previous@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/52f1089d941491cd59b7f52a5679a14e9381711419a0557ce0f3bc9a4c117078224efec54dcced41a3653a13a386a7b6ec75435d61a273e8b9f5d00235f2b182 + languageName: node + linkType: hard + +"@radix-ui/react-use-rect@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-rect@npm:1.1.1" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@radix-ui/rect": "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/271711404c05c589c8dbdaa748749e7daf44bcc6bffc9ecd910821c3ebca0ee245616cf5b39653ce690f53f875c3836fd3f36f51ab1c628273b6db599eee4864 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-size@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-size@npm:1.1.1" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@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 + +"@radix-ui/react-visually-hidden@npm:1.2.3": + version: 1.2.3 + resolution: "@radix-ui/react-visually-hidden@npm:1.2.3" + dependencies: + "@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/0cbc12c2156b3fa0e40090cafd8525ce84c16a6b5a038a8e8fc7cbb16ed6da9ab369593962c57a18c41a16ec8713e0195c68ea34072ef1ca254ed4d4c0770bb4 + checksum: 10c0/cf86a37f1cbee50a964056f3dc4f6bb1ee79c76daa321f913aa20ff3e1ccdfafbf2b114d7bb616aeefc7c4b895e6ca898523fdb67710d89bd5d8edb739a0d9b6 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 +"@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 @@ -4335,681 +3960,162 @@ __metadata: 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 - -"@sindresorhus/merge-streams@npm:^2.1.0": - version: 2.3.0 - resolution: "@sindresorhus/merge-streams@npm:2.3.0" - checksum: 10c0/69ee906f3125fb2c6bb6ec5cdd84e8827d93b49b3892bce8b62267116cc7e197b5cccf20c160a1d32c26014ecd14470a72a5e3ee37a58f1d6dadc0db1ccf3894 - languageName: node - linkType: hard - -"@storybook/addon-actions@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-actions@npm:8.1.6" +"@shikijs/core@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/core@npm:3.23.0" 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 + "@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/addon-controls@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-controls@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/blocks": "npm:8.1.6" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/449ad5737c8bf3f88716dd59a2af8c0e777313a4b2c0232729bc49b1b078bcaae012132151c0f6cd1e4fcd7a375e8fb6cd484f801b21c5ddbc385fc5558d10ca + "@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/addon-docs@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-docs@npm:8.1.6" +"@shikijs/engine-oniguruma@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/engine-oniguruma@npm:3.23.0" 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 + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + checksum: 10c0/40dbda7aef55d5946c45b8cfe56f484eadb611f9f7c9eb77ff21f0dfce2bcc775686a61eda9e06401ddd71195945a522293f51d6522fce49244b1a6b9c0f61f7 languageName: node linkType: hard -"@storybook/addon-highlight@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-highlight@npm:8.1.6" +"@shikijs/langs@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/langs@npm:3.23.0" dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/fe36b22c5d754fd437fd194f6679e826e847265bf83cefa1bf453a9b853976871873d5533ad0764d1ea18c4acb5c7ff7be5902a6127a8c956f8aba7fbe27fee5 + "@shikijs/types": "npm:3.23.0" + checksum: 10c0/513b90cfee0fa167d2063b7fbc2318b303a604f2e1fa156aa8b4659b49792401531a74acf68de622ecfff15738e1947a46cfe92a32fcd6a4ee5e70bcf1d06c66 languageName: node linkType: hard -"@storybook/addon-interactions@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-interactions@npm:8.1.6" +"@shikijs/themes@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/themes@npm:3.23.0" 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 + "@shikijs/types": "npm:3.23.0" + checksum: 10c0/5c99036d4a765765018f9106a354ebe5ccac204c69f00e3cda265828d493f005412659213f6574fa0e187c7d4437b3327bd6dad2e2146b2c472d2bf493d790dd languageName: node linkType: hard -"@storybook/addon-links@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-links@npm:8.1.6" +"@shikijs/types@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/types@npm:3.23.0" dependencies: - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - peerDependenciesMeta: - react: - optional: true - checksum: 10c0/3f687e5f3baabf3d0a316721ae96fde35b52b99ec69b69095bbbc62b0398e755640682d683b89154866882275b2c4ffba9514660bee49e95a718631fc322375a - languageName: node - linkType: hard - -"@storybook/addon-measure@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-measure@npm:8.1.6" - dependencies: - "@storybook/global": "npm:^5.0.0" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/b3b7306e69ed57d6868c4a1ad146138162a5a6098c6c8620a46ca7332fb21efeba7c6882447efcfcc10dd555a4ccc2ac4386a635cb683d81aa9db0a600b609b1 + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/bd0d1593f830a6b4e55c77871ec1b95cc44855d6e0e26282a948a3c58827237826e4110af27eb4d3231361f1e182c4410434a1dc15ec40aea988dc92dc97e9d6 languageName: node linkType: hard -"@storybook/addon-onboarding@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-onboarding@npm:8.1.6" - dependencies: - react-confetti: "npm:^6.1.0" - checksum: 10c0/9b5e6baa3a684bcccc88204524b7d5483029c1cbb7062ba49b7303403dc1eae15a660f473e196210e6523b4f2a7802d8c96f9bfe99577e8d6fff6a6b430f3b8d +"@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/addon-outline@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-outline@npm:8.1.6" +"@storybook/addon-docs@npm:^10.2.15": + version: 10.3.5 + resolution: "@storybook/addon-docs@npm:10.3.5" dependencies: - "@storybook/global": "npm:^5.0.0" + "@mdx-js/react": "npm:^3.0.0" + "@storybook/csf-plugin": "npm:10.3.5" + "@storybook/icons": "npm:^2.0.1" + "@storybook/react-dom-shim": "npm:10.3.5" + 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/452e94fc198c2b0633ca15edbd6e1aa3ce5b964f105e556b146153c3a802b92708281b37add48783e786a3f8016018e03f4d040c42188caebd16b628ca3d3736 - 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" peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/34f29998305bfc9778f19d349b3237053e5661e4bbb5b7aadc6cad52b355a1123210445eca839087b3921e0a1a0057d09054adeb2d2114db6ea978f5afc4e5c7 + storybook: ^10.3.5 + checksum: 10c0/6f2d7aee8c565df7e16e9d69da1366fc02e9a399a2ad9c5d5b04790955f7b55a1418814cb83eaa7d7210c6496ff2541d2bd05225b36ac266d82b4d9f3caf40c7 languageName: node linkType: hard -"@storybook/addon-themes@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-themes@npm:8.1.6" +"@storybook/addon-themes@npm:^10.2.15": + version: 10.3.5 + resolution: "@storybook/addon-themes@npm:10.3.5" 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 - languageName: node - linkType: hard - -"@storybook/addon-viewport@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-viewport@npm:8.1.6" - dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10c0/4d9b9a19c48e03d4a57e1421ad3819e0dfa038829adef4045309916283e4ac9b159e0610fc38ac8204abe549956f0760089e80fc01a05eaf455407829a6b13c5 - 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" - 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" 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/5140a3241a0d67ebe40451a276fe7720c4c6b865c5379f82cc12cae0b85e00f6030953e8919c6f3d288c1d0f017f7b8c7a0dccc6b66e8c91f0e4d99a2ee1cb8b + storybook: ^10.3.5 + checksum: 10c0/fef56bb9c6d45fea53f4a5f0d209a7ba77a16f2b6665f38526e20bc50b755fbf3976f87848c85955e86828ec1a02762ac9b82c275f7f69b14b22b8fc8913eb60 languageName: node linkType: hard -"@storybook/builder-manager@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/builder-manager@npm:8.1.6" +"@storybook/builder-webpack5@npm:10.3.5": + version: 10.3.5 + resolution: "@storybook/builder-webpack5@npm:10.3.5" dependencies: - "@fal-works/esbuild-plugin-global-externals": "npm:^2.1.2" - "@storybook/core-common": "npm:8.1.6" - "@storybook/manager": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@types/ejs": "npm:^3.1.1" - "@yarnpkg/esbuild-plugin-pnp": "npm:^3.0.0-rc.10" - browser-assert: "npm:^1.2.1" - ejs: "npm:^3.1.10" - esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0" - esbuild-plugin-alias: "npm:^0.2.1" - express: "npm:^4.17.3" - fs-extra: "npm:^11.1.0" - process: "npm:^0.11.10" - util: "npm:^0.12.4" - checksum: 10c0/073edea811338770b0e083591a1e2d4c7894e8364de03179dfb2a84e592bd471527cf7d5c6e19b86cb79e459c13ade197af2bbf1759e9f0ff93fa7dc711aa3c3 - 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" + "@storybook/core-webpack": "npm:10.3.5" 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" + css-loader: "npm:^7.1.2" 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" + fork-ts-checker-webpack-plugin: "npm:^9.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" + style-loader: "npm:^4.0.0" + terser-webpack-plugin: "npm:^5.3.14" 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" + webpack-virtual-modules: "npm:^0.6.0" + peerDependencies: + storybook: ^10.3.5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/0e109b532fe5ad75abdf762693ffb0c9db5af2331d2de4852153fcbbb32aaee2f03ddca3a1bf6c764e6a31d53058ff521d1dd5e55bbab5896cf4650ab49ffa97 + checksum: 10c0/71d3c95acb79c05c14742a74845a3f2a13ef87477ff95a35665709ca7b4399edb79525637eb2b3bf0742d9e88cf46104a8a5ef4308e28b72bdbf91431a79839c languageName: node linkType: hard -"@storybook/channels@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/channels@npm:8.1.6" +"@storybook/core-webpack@npm:10.3.5": + version: 10.3.5 + resolution: "@storybook/core-webpack@npm:10.3.5" 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 - languageName: node - linkType: hard - -"@storybook/channels@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/channels@npm:8.1.9" - 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 - languageName: node - linkType: hard - -"@storybook/cli@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/cli@npm:8.1.6" - dependencies: - "@babel/core": "npm:^7.24.4" - "@babel/types": "npm:^7.24.0" - "@ndelangen/get-tarball": "npm:^3.0.7" - "@storybook/codemod": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/core-server": "npm:8.1.6" - "@storybook/csf-tools": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/telemetry": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/semver": "npm:^7.3.4" - "@yarnpkg/fslib": "npm:2.10.3" - "@yarnpkg/libzip": "npm:2.3.0" - chalk: "npm:^4.1.0" - commander: "npm:^6.2.1" - cross-spawn: "npm:^7.0.3" - detect-indent: "npm:^6.1.0" - envinfo: "npm:^7.7.3" - execa: "npm:^5.0.0" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" - get-npm-tarball-url: "npm:^2.0.3" - giget: "npm:^1.0.0" - globby: "npm:^14.0.1" - jscodeshift: "npm:^0.15.1" - leven: "npm:^3.1.0" - ora: "npm:^5.4.1" - prettier: "npm:^3.1.1" - prompts: "npm:^2.4.0" - read-pkg-up: "npm:^7.0.1" - semver: "npm:^7.3.7" - strip-json-comments: "npm:^3.0.1" - tempy: "npm:^3.1.0" - tiny-invariant: "npm:^1.3.1" ts-dedent: "npm:^2.0.0" - bin: - getstorybook: ./bin/index.js - sb: ./bin/index.js - checksum: 10c0/baab95035c79fe71d9a8f2480d3529144af0f5367f7e79b841c43f1f6074a8bddd56f51dc8b2e29599fb4ade96eece034349219e3ce8157abffee5fcb08b9622 - languageName: node - linkType: hard - -"@storybook/client-logger@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/client-logger@npm:8.1.6" - dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/09de69bb2526a7c717b7a522bc984dd4913372e2b9a75d321222af9675201eff32213aaf18b7ced1baf2e9c93b944a841207895f293842fa8aac313e18caa182 - languageName: node - linkType: hard - -"@storybook/client-logger@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/client-logger@npm:8.1.9" - dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/bcc1363f6d3234120710b6c9a4cc0335a0aa9b150fe702888736168422b9f049e3e88f41b1eb65524fe863b587cba160f8bda57b055124c49ee88ba8516c6b2d - languageName: node - linkType: hard - -"@storybook/codemod@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/codemod@npm:8.1.6" - dependencies: - "@babel/core": "npm:^7.24.4" - "@babel/preset-env": "npm:^7.24.4" - "@babel/types": "npm:^7.24.0" - "@storybook/csf": "npm:^0.1.7" - "@storybook/csf-tools": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/cross-spawn": "npm:^6.0.2" - cross-spawn: "npm:^7.0.3" - globby: "npm:^14.0.1" - jscodeshift: "npm:^0.15.1" - lodash: "npm:^4.17.21" - prettier: "npm:^3.1.1" - recast: "npm:^0.23.5" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/2721b7086aa331252b36c182a0f13f37c3eca8cffb4ec6a35b23a27a518d2f390cd92b525870beee83e42c57a36460195a944f00b062a728b0657e74460e20a2 - languageName: node - linkType: hard - -"@storybook/components@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/components@npm:8.1.6" - 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 - languageName: node - linkType: hard - -"@storybook/components@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/components@npm:8.1.9" - 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 + storybook: ^10.3.5 + checksum: 10c0/384b453c1bdd49fe9c4eef6e8e783ae239cce1c9e4fa6e5f1a9cb46ab50868c3cdb8e66cf993a7cfd925154ff3d1322a0a4c23571fc98ca10f6f5d1272e33768 languageName: node linkType: hard -"@storybook/core-common@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-common@npm:8.1.6" +"@storybook/csf-plugin@npm:10.3.5": + version: 10.3.5 + resolution: "@storybook/csf-plugin@npm:10.3.5" 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" + unplugin: "npm:^2.3.5" peerDependencies: - prettier: ^2 || ^3 + esbuild: "*" + rollup: "*" + storybook: ^10.3.5 + vite: "*" + webpack: "*" peerDependenciesMeta: - prettier: + esbuild: optional: true - checksum: 10c0/4179b7de1d0aa446dc45f5c005dd182df3cdaf7487b3dda3e419b4cd3c7ccda61729573a9beb668ea4cc1271d079a2609c0a8695b3c06ebbb1987b628be7ba9b - 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 - 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" - dependencies: - "@storybook/csf": "npm:^0.1.7" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/27886c18892e0292f56a218c8b11b253f560d62f5621907eceae91ac01f6571eccd95068ebb9d0bbc6fc94afb951004d882942680d1afc7a170f3ae5be490a2b - languageName: node - linkType: hard - -"@storybook/core-server@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-server@npm:8.1.6" - dependencies: - "@aw-web-design/x-default-browser": "npm:1.4.126" - "@babel/core": "npm:^7.24.4" - "@babel/parser": "npm:^7.24.4" - "@discoveryjs/json-ext": "npm:^0.5.3" - "@storybook/builder-manager": "npm:8.1.6" - "@storybook/channels": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/csf-tools": "npm:8.1.6" - "@storybook/docs-mdx": "npm:3.1.0-next.0" - "@storybook/global": "npm:^5.0.0" - "@storybook/manager": "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" - "@storybook/telemetry": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/detect-port": "npm:^1.3.0" - "@types/diff": "npm:^5.0.9" - "@types/node": "npm:^18.0.0" - "@types/pretty-hrtime": "npm:^1.0.0" - "@types/semver": "npm:^7.3.4" - better-opn: "npm:^3.0.2" - chalk: "npm:^4.1.0" - cli-table3: "npm:^0.6.1" - compression: "npm:^1.7.4" - detect-port: "npm:^1.3.0" - diff: "npm:^5.2.0" - express: "npm:^4.17.3" - fs-extra: "npm:^11.1.0" - globby: "npm:^14.0.1" - lodash: "npm:^4.17.21" - open: "npm:^8.4.0" - pretty-hrtime: "npm:^1.0.3" - prompts: "npm:^2.4.0" - read-pkg-up: "npm:^7.0.1" - semver: "npm:^7.3.7" - telejson: "npm:^7.2.0" - tiny-invariant: "npm:^1.3.1" - ts-dedent: "npm:^2.0.0" - util: "npm:^0.12.4" - util-deprecate: "npm:^1.0.2" - watchpack: "npm:^2.2.0" - ws: "npm:^8.2.3" - checksum: 10c0/c4ae246aa48d86524a9b3eab5b42c23cada15f833620a22376bfd174a7d23cfaf5b21a340d3bbae6800598f952225f4613f224190955c8a223cc88e41b660eea - languageName: node - linkType: hard - -"@storybook/core-webpack@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-webpack@npm:8.1.6" - 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 - languageName: node - linkType: hard - -"@storybook/csf-plugin@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/csf-plugin@npm:8.1.6" - 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 - languageName: node - linkType: hard - -"@storybook/docs-mdx@npm:3.1.0-next.0": - version: 3.1.0-next.0 - resolution: "@storybook/docs-mdx@npm:3.1.0-next.0" - checksum: 10c0/7622d7c6318e842c90a71c1836d68531236c31fff7081c885803eddfafb7e3f8998689f612eaa0292209ada8352a36657dcacb5d3ef4632b8e8b8a283c39602e - languageName: node - linkType: hard - -"@storybook/docs-tools@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/docs-tools@npm:8.1.6" - 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 + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + checksum: 10c0/db9ee2b24f4affbed28ec162daa0223186b025e84374b93abe4b5cd0e38195b1bfa1e4553f2d9e99cac718a1f253035227c9153c04677fd3ad0022a39cfd6f5c languageName: node linkType: hard @@ -5020,212 +4126,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 - languageName: node - linkType: hard - -"@storybook/manager@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/manager@npm:8.1.6" - checksum: 10c0/9335beaae03c7a876c31f69e5666b6d3d66b150972c0646041f2ae2eb17033f39f26fcadf8e9c3404463c928acd5132db24e7898d2d797e6cdc05b9ddf0ead9e + 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.3.5 + resolution: "@storybook/nextjs@npm:10.3.5" 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.3.5" + "@storybook/preset-react-webpack": "npm:10.3.5" + "@storybook/react": "npm:10.3.5" + "@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.3.5 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/736ad4d25ee0b8b4cba116ff10c9e89aef0f7c6285fc808ea6b487e9103bbd559589c7ca84142b03571b105f1a8afa3fbd699568c1a3b60cdf9567f4ca7c8816 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.3.5": + version: 10.3.5 + resolution: "@storybook/preset-react-webpack@npm:10.3.5" 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.3.5" "@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.3.5 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/deb87bab231b595094f048e59f03638d0a0efcfac1274cc1bc7f95a03fa5ae84b3afe1cf5551183098081569f35ee3b9827c5b3d7c811b7e2824a786f44f4976 languageName: node linkType: hard @@ -5247,1604 +4230,1263 @@ __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.3.5": + version: 10.3.5 + resolution: "@storybook/react-dom-shim@npm:10.3.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 - 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.3.5 + checksum: 10c0/53383a37a4507dbdb088bebb402f259126d678d63d4b83186b794192e8a8d6528852b223d8bd7f98645293e5f99cf5feb11bfa14e441a47de92d42d3aa04ecdb 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.3.5, @storybook/react@npm:^10.2.15": + version: 10.3.5 + resolution: "@storybook/react@npm:10.3.5" 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.3.5" + react-docgen: "npm:^8.0.2" + react-docgen-typescript: "npm:^2.2.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.3.5 + typescript: ">= 4.9.x" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/adf5b694496cc2ab144b634bed774499d200b05d59844a52e6d8a7daeb43569077c0ab1da8c8ca27b1822c495e456223bd0e1d93ddff29bf1c387c394cba24b3 - languageName: node - linkType: hard - -"@storybook/router@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/router@npm:8.1.6" - dependencies: - "@storybook/client-logger": "npm:8.1.6" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - checksum: 10c0/426d14cc7905e7bf0f6e784cb02002205bd2b054c3df13d85d59551ceaf1d1409f071170a0283f3d395b58e8e690c06df95961e3a94fc15a7772f24e9f19829b - languageName: node - linkType: hard - -"@storybook/router@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/router@npm:8.1.9" - dependencies: - "@storybook/client-logger": "npm:8.1.9" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - checksum: 10c0/386ff4052441d1e5076b818fd888aeee33babd7da1c667dee40a8fd61109f3f2275abe7f06c6b6e0143ef2fb098f0b304091141cee8db7d7f447972554423e63 + checksum: 10c0/708460a9f8055dfe8c86f383222f6e17484138537a317e3dcc457b578686302a0bfb566f3c921cba1bfcbd2378405046a360808b2d78601875cf6066d5dd4930 languageName: node linkType: hard -"@storybook/telemetry@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/telemetry@npm:8.1.6" - dependencies: - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/csf-tools": "npm:8.1.6" - chalk: "npm:^4.1.0" - detect-package-manager: "npm:^2.0.1" - fetch-retry: "npm:^5.0.2" - fs-extra: "npm:^11.1.0" - read-pkg-up: "npm:^7.0.1" - checksum: 10c0/38f1a157caa62cc986415a4dd3ea3bea88b52916100929849f01b8331671997b35d5af3d55d7a87bfb55ff0cadc82a3f4870e08814a4aa032913431d38c1a900 - 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 - 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 - 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 - 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 - 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 - languageName: node - linkType: hard - -"@swc/counter@npm:^0.1.3": - version: 0.1.3 - resolution: "@swc/counter@npm:0.1.3" - checksum: 10c0/8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 - languageName: node - linkType: hard - -"@swc/helpers@npm:0.5.5": - version: 0.5.5 - resolution: "@swc/helpers@npm:0.5.5" - dependencies: - "@swc/counter": "npm:^0.1.3" - tslib: "npm:^2.4.0" - checksum: 10c0/21a9b9cfe7e00865f9c9f3eb4c1cc5b397143464f7abee76a2c5366e591e06b0155b5aac93fe8269ef8d548df253f6fd931e9ddfc0fd12efd405f90f45506e7d - languageName: node - linkType: hard - -"@testing-library/dom@npm:^9.3.4": - version: 9.3.4 - resolution: "@testing-library/dom@npm:9.3.4" - 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 - 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" - dependencies: - "@adobe/css-tools": "npm:^4.3.2" - "@babel/runtime": "npm:^7.9.2" - 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" - 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 - 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" - peerDependencies: - "@testing-library/dom": ">=7.21.4" - checksum: 10c0/68a0c2aa28a3c8e6eb05cafee29705438d7d8a9427423ce5064d44f19c29e89b5636de46dd2f28620fb10abba75c67130185bbc3aa23ac1163a227a5f36641e1 - languageName: node - linkType: hard - -"@tsparticles/basic@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/basic@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - "@tsparticles/move-base": "npm:^3.5.0" - "@tsparticles/shape-circle": "npm:^3.5.0" - "@tsparticles/updater-color": "npm:^3.5.0" - "@tsparticles/updater-opacity": "npm:^3.5.0" - "@tsparticles/updater-out-modes": "npm:^3.5.0" - "@tsparticles/updater-size": "npm:^3.5.0" - checksum: 10c0/9e051210117eabcc51d777503c8a1e0b9e3c6fc5786df57f2822d075c2c6323a7e7d4fb60a22c947723d9ae8543925181be2ae9a08ca414da7fa9c9b08d01e42 - languageName: node - linkType: hard - -"@tsparticles/engine@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/engine@npm:3.5.0" - checksum: 10c0/b6d775578cb13f86b4759be03b763823346d94aa2b52172e93bf6a311b825214810e024a008b821f2684c6eefd782031ea665e5fea5ca52cd61476c32976a110 - languageName: node - linkType: hard - -"@tsparticles/interaction-external-attract@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-attract@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/d62911931a16d861cf81759b767df960f02bcfe4cb87913cf19cdd24630342520b8c86bff0678a2124f7c10d747ec0f165ed2f92fb3e5b8c556c93eea59a0454 - languageName: node - linkType: hard - -"@tsparticles/interaction-external-bounce@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-bounce@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/9d596ae5ce330bb2e2b36dbdefbd9497b7418a68cb4721d3b73ee64b7cf8d5281959867b80aba60456aff10cecd8f60c03e0b278182e252e938933616175f7d6 - languageName: node - linkType: hard - -"@tsparticles/interaction-external-bubble@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-bubble@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/678c185bf74599d8465328bfe71ea1f6d7a1a8bbd63c9c1c66b93d777edf4226edda436462c3dc262b4d3b3ced5dc07cc0df517a98d14df93eaca79b263b6102 - languageName: node - linkType: hard - -"@tsparticles/interaction-external-connect@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-connect@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/8e06af69f1549d6ee13fbe66d557eef26fd50c996274e3e8eb506d37cfc16e17d298e90498b171136407780edbe14bdd73fcea02335f3d492b7bd04b74a40b0d - languageName: node - linkType: hard - -"@tsparticles/interaction-external-grab@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-grab@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/bd87c2dc3681e1a53080692d054b78f032b5bbe9ac2aa46e599ae3af87ad451bb6f3c3ffd1761687cec4c31c8b3020cca7cd088514cdb84847a1f4451720c161 - languageName: node - linkType: hard - -"@tsparticles/interaction-external-pause@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-pause@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/399196866b7fc04472b540ec9f85cf003c1d2373ef4c37f4dd37fc4cf53920f1dc658ad63c582c46ce7f52fd25c75ec524d9617f8329413138c59c5a3aa0e0ff - languageName: node - linkType: hard - -"@tsparticles/interaction-external-push@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-push@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/0a02fecd88b1c4a527e81c73a97b8d0dda9be202764ded278c6a61bc02c2a34d5ce8476eb4cf26d6630cfe952f50fac1a34ba7347098360f94db5fc81a74845f - languageName: node - linkType: hard - -"@tsparticles/interaction-external-remove@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-remove@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/d4a5c293ef9ae19663c21bf45ed907ee62ea1d65ffdb7a2e5707d81794aac4b24af92413deaee981095fe55e754eb52b8e4c87a4e8a9532889028ad01d5e57ab - languageName: node - linkType: hard - -"@tsparticles/interaction-external-repulse@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-repulse@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/d7faa6a728407a6a7c6d681cace8538ee1a0c141d743592d1715cd824153611064f7e245983a2edd684e85ed0d6511b45c189d507a0e416a9fe90a9fcf598322 - languageName: node - linkType: hard - -"@tsparticles/interaction-external-slow@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-slow@npm:3.5.0" +"@swc/helpers@npm:0.5.15": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/662ec32917a73fb6154492286a80ec94096707a37863c89904ee286c8bcec2fa80b22331a20d5c63054bd9ca7e5ea1024475f4ce4edfc90078647d72e27ff6ec + tslib: "npm:^2.8.0" + checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 languageName: node linkType: hard -"@tsparticles/interaction-external-trail@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-external-trail@npm:3.5.0" +"@tailwindcss/node@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/node@npm:4.2.4" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/081322ed3d2bf709d15076bf52d6eda98319ae976bf670b102cadadbdc810dacb55e0320f49b056f88688a624887816f81ba017a343fb09592a5fa283aa2cf1a + "@jridgewell/remapping": "npm:^2.3.5" + enhanced-resolve: "npm:^5.19.0" + jiti: "npm:^2.6.1" + lightningcss: "npm:1.32.0" + magic-string: "npm:^0.30.21" + source-map-js: "npm:^1.2.1" + tailwindcss: "npm:4.2.4" + checksum: 10c0/58a0b8c4b8e8425e34a5240e58d90f6ef462705f790b93e6e74ae0bbd05d228457b8438a34a272b447393bfdb2ea1605400ccc5b0edb87d9dd9d092f1d8a0bb2 languageName: node linkType: hard -"@tsparticles/interaction-particles-attract@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-particles-attract@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/a45f7faf1d1152f2ffae9eeba9b7551fef9e9927c4be0c5502ab5795a73943ae618b47b89cd93813ee27947601a4f142ac2f15cbdfc88ccd622962c96197bf2c +"@tailwindcss/oxide-android-arm64@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-android-arm64@npm:4.2.4" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@tsparticles/interaction-particles-collisions@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-particles-collisions@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/1fb909244dcec76ccdc627d128c0953396aae94e042f686a7066ac5826f25b0434fbf4e264da2067ad0c51b3c35b2faecee532f38b77a888a8d7eb748a91edf6 +"@tailwindcss/oxide-darwin-arm64@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.2.4" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@tsparticles/interaction-particles-links@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/interaction-particles-links@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/d4ca98fb95a1ab7bcbcef51a8d241ff548971e5680e08cdb76f4a889683c34da2a5839370d2ffce2a2e72cc41a24adce41d9bf5eedea4203805117396090a39c +"@tailwindcss/oxide-darwin-x64@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-darwin-x64@npm:4.2.4" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@tsparticles/move-base@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/move-base@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/038f5fc593ef1260448d53ab4a5d52ff7a557764123b8a3e6c5cfabace93b3ed6fcc3346e549d5661315254af98c5e1487c3dfa6c92b94777a92f2dbbd77d734 +"@tailwindcss/oxide-freebsd-x64@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.2.4" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@tsparticles/move-parallax@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/move-parallax@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/d5f9097cac55e00091b9a7abcd3a1d698c9ccce36c9ab1438435b23feeff4c960054674eb0188adb3039f255198b1ba64b29f07ad085d332136e7478a76c1031 +"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.4" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@tsparticles/plugin-absorbers@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/plugin-absorbers@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/ed3eadcd1331d0000ef1cfd931dfbcae144511425dd6d2300e92a527119bb344b149cffebaa42b925c15fa950818da7251806af4515343364790d925eedc35e8 +"@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.4" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@tsparticles/plugin-easing-quad@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/plugin-easing-quad@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/64e425b6064c81c52ade30a2ac3659e301b13966e3df2258692f7fdb30ae71e857f888d3d05bb94501e4ed8883f0cb7644ea84e4c30c65f8054efc333c7602b5 +"@tailwindcss/oxide-linux-arm64-musl@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.2.4" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@tsparticles/plugin-emitters-shape-circle@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/plugin-emitters-shape-circle@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - "@tsparticles/plugin-emitters": "npm:^3.5.0" - checksum: 10c0/f22a3e553bc865fa2cbb3854874372af1e21bb65d847da422b5b1a6afe0846b0a93835982b42b46f3e86763c3ad054d838e9de4038e80d57637a985ce2771f61 +"@tailwindcss/oxide-linux-x64-gnu@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.2.4" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@tsparticles/plugin-emitters-shape-square@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/plugin-emitters-shape-square@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - "@tsparticles/plugin-emitters": "npm:^3.5.0" - checksum: 10c0/1d85ff8cc7c7886cee67199e9ee2028ef0edfd90fedd4b659ccf10b63f194045f80b7426043b95690bddb6f1cdfc9615da9c4afd305f30c038b8abd5947810db +"@tailwindcss/oxide-linux-x64-musl@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.2.4" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@tsparticles/plugin-emitters@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/plugin-emitters@npm:3.5.0" +"@tailwindcss/oxide-wasm32-wasi@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.2.4" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/a1337f607a18b6cdfb37a6f16e576f7905e0582477774d79bc8d97ae081b3e12b9429ee9fd476a23185c7a304db8fdea81aba44a132c1856f91748a7016d8f4f - languageName: node - linkType: hard - -"@tsparticles/react@npm:^3.0.0": - version: 3.0.0 - resolution: "@tsparticles/react@npm:3.0.0" - peerDependencies: - "@tsparticles/engine": ^3.0.2 - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10c0/3fd268b8e6f1dcbbb7acc36ef9d4f45e666b8f1169612594e7113cb56429abb5d2f564491efb5b26b22a7123188275c62fbd63fc3474a4246e1e12f77d5dbac5 + "@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 -"@tsparticles/shape-circle@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-circle@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/a158fff331aa6fcfe08399c2f408484dd0f8b5c5987b1546c10765e310a77e7c234b38b6f7ba19a2eb108e15e6c075e98f76b739ef7effcbdcead226df1a2ab3 +"@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.4" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@tsparticles/shape-emoji@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-emoji@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/f23a90322b8d18821e4824169079cc5b701ae1d1b3635b1864d65c1658169a483b656a59c68a36f6f1022de972e71265832269382cfcaae0f58f53d7abe0756f +"@tailwindcss/oxide-win32-x64-msvc@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.2.4" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@tsparticles/shape-image@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-image@npm:3.5.0" +"@tailwindcss/oxide@npm:4.2.4": + version: 4.2.4 + resolution: "@tailwindcss/oxide@npm:4.2.4" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/4def7b8c7730e92eec236e0239a6265c40b0828ae2bf5ee8f033a463ac61da05729140b9db43bd0b9dd041b95eb2384bb1ae0af1edfe198c38b9a5128b5f480b + "@tailwindcss/oxide-android-arm64": "npm:4.2.4" + "@tailwindcss/oxide-darwin-arm64": "npm:4.2.4" + "@tailwindcss/oxide-darwin-x64": "npm:4.2.4" + "@tailwindcss/oxide-freebsd-x64": "npm:4.2.4" + "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.2.4" + "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.2.4" + "@tailwindcss/oxide-linux-arm64-musl": "npm:4.2.4" + "@tailwindcss/oxide-linux-x64-gnu": "npm:4.2.4" + "@tailwindcss/oxide-linux-x64-musl": "npm:4.2.4" + "@tailwindcss/oxide-wasm32-wasi": "npm:4.2.4" + "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.2.4" + "@tailwindcss/oxide-win32-x64-msvc": "npm:4.2.4" + 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/f9fe3d19d4384e754155030482f664c6747c7d5d1556795a510c517c2a3408bebbe60c25cebb1da47187c347c04d993585b9c2580e43df9f522e1c7692ae25fc languageName: node linkType: hard -"@tsparticles/shape-line@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-line@npm:3.5.0" +"@tailwindcss/postcss@npm:^4.1.0": + version: 4.2.4 + resolution: "@tailwindcss/postcss@npm:4.2.4" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/c07ddd0a05bfd9d5536d17a73616ce71cde46c41d25c86b25006061669de89c8b9aab9e64d223b82493a92b152182830a8ef477db321941d91ebf243898375aa + "@alloc/quick-lru": "npm:^5.2.0" + "@tailwindcss/node": "npm:4.2.4" + "@tailwindcss/oxide": "npm:4.2.4" + postcss: "npm:^8.5.6" + tailwindcss: "npm:4.2.4" + checksum: 10c0/e6abad7065558bf3c39d30f392100c934c3381a572df21d934dd5a9399e0a62e16ba3d74a51ec0b1d670b1990ae73d01dfc560db0bf0e24bad827e00be0e62c2 languageName: node linkType: hard -"@tsparticles/shape-polygon@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-polygon@npm:3.5.0" +"@tailwindcss/typography@npm:^0.5.19": + version: 0.5.19 + resolution: "@tailwindcss/typography@npm:0.5.19" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/7d0eae79cb697b0cb4b2017e03f2f9b5987ed53d3d5f58dbe627552a3852ad88b88eab37f62fdf70032ab34c690c8570950948fa6b4a5602e984cd76eaff084a + postcss-selector-parser: "npm:6.0.10" + peerDependencies: + tailwindcss: "*" + checksum: 10c0/b9eb38e9c7adca59b55d7321275f59ea62c7d65a0c3d324c18c1c5864c69ec6e15b838e7df61e531cda62cfea08627b4343bc419bb0996182321891e5171e4d6 languageName: node linkType: hard -"@tsparticles/shape-square@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-square@npm:3.5.0" +"@testing-library/jest-dom@npm:^6.9.1": + version: 6.9.1 + resolution: "@testing-library/jest-dom@npm:6.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/f9aead1b9d7c47ac9176c8a3bc969d9843ce1f81595c7e6d138c188f96a55adb3c4cd04b40ccc4941ad4e4eed5067d370f7c5995d4b26babd62f54dfa4712dfe + "@adobe/css-tools": "npm:^4.4.0" + aria-query: "npm:^5.0.0" + css.escape: "npm:^1.5.1" + dom-accessibility-api: "npm:^0.6.3" + picocolors: "npm:^1.1.1" + redent: "npm:^3.0.0" + checksum: 10c0/4291ebd2f0f38d14cefac142c56c337941775a5807e2a3d6f1a14c2fbd6be76a18e498ed189e95bedc97d9e8cf1738049bc76c85b5bc5e23fae7c9e10f7b3a12 languageName: node linkType: hard -"@tsparticles/shape-star@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-star@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/7de43fcba38eb16a97677a5f370c988ad82e3d594ad2bd194d11958735e0a93f3412227c31801a2ca3723945ec6af4e5a54aa6e200370de081c6807aaec7643b +"@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/75fea130a52bf320d35d46ed54f3eec77e71a56911b8b69a3fe29497b0b9947b2dc80d30f04054ad4ce7f577856ae3e5397ea7dff0ef14944d3909784c7a93fe languageName: node linkType: hard -"@tsparticles/shape-text@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/shape-text@npm:3.5.0" +"@tsparticles/basic@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/basic@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/8e1785d286257d3fef92d72d7a7f99b23bc92c21dbd44efc52530d67a7add6574cc838fc7a1b2d13d15542d268b27b8532fd86574d704cbec06f5eb62a756713 + "@tsparticles/engine": "npm:3.9.1" + "@tsparticles/move-base": "npm:3.9.1" + "@tsparticles/plugin-hex-color": "npm:3.9.1" + "@tsparticles/plugin-hsl-color": "npm:3.9.1" + "@tsparticles/plugin-rgb-color": "npm:3.9.1" + "@tsparticles/shape-circle": "npm:3.9.1" + "@tsparticles/updater-color": "npm:3.9.1" + "@tsparticles/updater-opacity": "npm:3.9.1" + "@tsparticles/updater-out-modes": "npm:3.9.1" + "@tsparticles/updater-size": "npm:3.9.1" + checksum: 10c0/d2dbea8fd9e74dc8a11f2178838cebe61aa3688f931332894171a8c93e5dba045d088cc6050902065746425699bbeaa7d387371d65894430f5b8db42a07fb10f languageName: node linkType: hard -"@tsparticles/slim@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/slim@npm:3.5.0" - dependencies: - "@tsparticles/basic": "npm:^3.5.0" - "@tsparticles/engine": "npm:^3.5.0" - "@tsparticles/interaction-external-attract": "npm:^3.5.0" - "@tsparticles/interaction-external-bounce": "npm:^3.5.0" - "@tsparticles/interaction-external-bubble": "npm:^3.5.0" - "@tsparticles/interaction-external-connect": "npm:^3.5.0" - "@tsparticles/interaction-external-grab": "npm:^3.5.0" - "@tsparticles/interaction-external-pause": "npm:^3.5.0" - "@tsparticles/interaction-external-push": "npm:^3.5.0" - "@tsparticles/interaction-external-remove": "npm:^3.5.0" - "@tsparticles/interaction-external-repulse": "npm:^3.5.0" - "@tsparticles/interaction-external-slow": "npm:^3.5.0" - "@tsparticles/interaction-particles-attract": "npm:^3.5.0" - "@tsparticles/interaction-particles-collisions": "npm:^3.5.0" - "@tsparticles/interaction-particles-links": "npm:^3.5.0" - "@tsparticles/move-parallax": "npm:^3.5.0" - "@tsparticles/plugin-easing-quad": "npm:^3.5.0" - "@tsparticles/shape-emoji": "npm:^3.5.0" - "@tsparticles/shape-image": "npm:^3.5.0" - "@tsparticles/shape-line": "npm:^3.5.0" - "@tsparticles/shape-polygon": "npm:^3.5.0" - "@tsparticles/shape-square": "npm:^3.5.0" - "@tsparticles/shape-star": "npm:^3.5.0" - "@tsparticles/updater-life": "npm:^3.5.0" - "@tsparticles/updater-rotate": "npm:^3.5.0" - "@tsparticles/updater-stroke-color": "npm:^3.5.0" - checksum: 10c0/d69388113aef9ba0f52f8ce855f20167f6331b991070cd9d0281f021483dbe9148dc069c2ad322f0f6c02f761441866f605edde1a6cc05dc75e25636cef670b5 - languageName: node - linkType: hard - -"@tsparticles/updater-color@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-color@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/c62c2d1938929866dd079b960bf1ded12b059741d67bcb62c07de82cabab8d4cdb18546b739d5eb122522cef5423df519f208cde5977a15e3f6f0bc65211d05c +"@tsparticles/engine@npm:3.9.1, @tsparticles/engine@npm:^3.5.0": + version: 3.9.1 + resolution: "@tsparticles/engine@npm:3.9.1" + checksum: 10c0/85106d28e9a9f5b019e80c8767376319e6fe6873af4b773727ce48edf13b964d0d1c9ca7faff9f9edd1410e001455fdf789d956b55b94f35fdf3e41fa9f0507a languageName: node linkType: hard -"@tsparticles/updater-destroy@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-destroy@npm:3.5.0" +"@tsparticles/interaction-external-attract@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-attract@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/b96c61bc761ffde225a32010fa9e094ed74d3cf97ba16e63a75b6cb9b7abf942765bfb267881f3acdf61db2fe34ca9bd89f8ca726a51724bba4c8a7c3b305c87 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/05028ae68c62032e8b60eb8f1843747d204c5cf05d84c2cddbea4a91158faa6521fd6731c16be7164b0e92354ef9b232f7cd190d7afb023bb901f542751acc6e languageName: node linkType: hard -"@tsparticles/updater-life@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-life@npm:3.5.0" +"@tsparticles/interaction-external-bounce@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-bounce@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/d2f363c2404d619c527ade5e45a1386f00bff964e3a43706e8636761fad542d56110df1e676b9c895e61722bd0f9eabec2dfb6316f57c92e54bda49b75fc86ec + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/be86af062e28f0b49098e89987d135fb4313c1687f6faa9a8f50a8bb33cca79413315decfee1773a4ddea0c4c210ee4d4363b7afe8a88051f25f6b47bd637cd5 languageName: node linkType: hard -"@tsparticles/updater-opacity@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-opacity@npm:3.5.0" +"@tsparticles/interaction-external-bubble@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-bubble@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/fa8d3e0a752c3b42e1f82a0fc32318cfd3f6dfc29cbf9dea3c0211635a03a5da561c162a4fddaa68e3cc061c0163f2dfd443eeeda0d5a52da5cd61b25ca9c3d6 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/2cd73c7291c10462476297f0b7181742ff18e3ffc32801f59d41a22dba62400bcc188176e16313e18f754ad26aff4f72ed719c6349435455a09604c67ef43b7b languageName: node linkType: hard -"@tsparticles/updater-out-modes@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-out-modes@npm:3.5.0" +"@tsparticles/interaction-external-connect@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-connect@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/7cf56029473706b375f3004aacae09ac369ecb106194f155dd93d0b8c4c60660defbe498177c50ca23db555c0776adf75329e01fe9bfd74e3df9ce8ae5040f6b + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/3ac0f6bb459662fd152180c1edb8e20c0e75f7b1f58e396c905ef7b3f5cd82379699261d99e87b97e320cb8fb910346c4d31c5512214b8359a7b1a59ea88bc87 languageName: node linkType: hard -"@tsparticles/updater-roll@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-roll@npm:3.5.0" +"@tsparticles/interaction-external-grab@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-grab@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/3d2a18571fc4451c13136431222f1217fb46a00c7793c3fac96ba434db0efafea84d9c09eac9d1044b3a56e7cd968cb7df7cb1dbab2dec4efbd8ab77749f233f + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/35e459904cd8743ed785fd18e6a4d709f07b6db2ebe716f541a795ae05c0a71704bb66ae372c88c293a143ea2d28e5484d6c03cecdacacc95e915f9a15e9b98b languageName: node linkType: hard -"@tsparticles/updater-rotate@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-rotate@npm:3.5.0" +"@tsparticles/interaction-external-pause@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-pause@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/3fca09ccac974abd3a39485864bef2ea6cd5faf9e964bf8d8c4e5ae42855479bfe7437337c6edae1d8ebe9aeae8ee2d5851f5a71256883e4f453be2699911894 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/cfcbbee69b256905c35d189018bc2c7e7f3e5677ba912525591415b3efcd56c52d252b4625c51aa61a4daecd3e537226afeb60d9b9f3ada2df6e575452c674ed languageName: node linkType: hard -"@tsparticles/updater-size@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-size@npm:3.5.0" +"@tsparticles/interaction-external-push@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-push@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/1dbe01568ef94afda9868d3f4c5f2fe40e47413cfe158eb29fb8d3184d642848a93f077245a4a65c1fdbdf95fd3faa3778a0996a351f1814db6dcaff630d438b + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/a0733d5d28dbc5077174f75b789ecc54187444db58c405158b107bd4ab26addcf70811f71cc3af544551da828a15afe5ee41d4c762fc539f17b520969ce79865 languageName: node linkType: hard -"@tsparticles/updater-stroke-color@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-stroke-color@npm:3.5.0" +"@tsparticles/interaction-external-remove@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-remove@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/2304488812927bbf0300322e5b4bc608e62df7e6f62806752f115d3d68366d4ca12266111f6ca9a0824e2e900616bf0d962b25927cb532750c507db89eaaad4e + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/fa92a5ca5fc0f548cac7e5441f2b7bf4f9caebea4b143ad32130fcd688305bfdc266b21bbd9ae1f9c59ba84a50cfe6fe88a4afe192c1dd97021fb84393d6be6d languageName: node linkType: hard -"@tsparticles/updater-tilt@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-tilt@npm:3.5.0" +"@tsparticles/interaction-external-repulse@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-repulse@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/b49ec4d0c1418e260219f0e5af1908cb64a8efc8b05bdfc3895193e2f430a3657fe53d1f69a30d40d165e30d4aa15e57f96ff46982fa116a058404cd536de7ce + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/56b0a96e14214562c70035c96becff59ae93e8211a1dcc99b085c5aa7da8100ad4043ff9fb1308393cb1e10ef4bfd6caa24f50353bee440e512aed5c31e66235 languageName: node linkType: hard -"@tsparticles/updater-twinkle@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-twinkle@npm:3.5.0" +"@tsparticles/interaction-external-slow@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-slow@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/3023a375f98bae765b7d280c711e70c3ba132c320c069f24991d21c2f549bb05eddef960ff6a19482065b7d13a923c44f02454eca544bbdde8a7c9cb4969065f + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/1276a430833199c245c094ff21e171e11cb9fac7b044c49fb76ef4a09f2fc00dc13f446093c9e40d052ad56ffe57f74893379695f6b34de2f3cb49528ae37c33 languageName: node linkType: hard -"@tsparticles/updater-wobble@npm:^3.5.0": - version: 3.5.0 - resolution: "@tsparticles/updater-wobble@npm:3.5.0" +"@tsparticles/interaction-external-trail@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-external-trail@npm:3.9.1" dependencies: - "@tsparticles/engine": "npm:^3.5.0" - checksum: 10c0/914ca2a0198c395878aeb4f2d450feae3c1d823f1a3e875461f4940769431effe211bfc594b110051d55e9d0d9b5163364ea0ec9783b312bb962972ad2e757b1 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/4837b2cad6f2685637cf7ffee38fb4c713771d740804dc687dbfbc550afc2d2d6763feda7ed9ff2719a55b9087cc484cf385ad05fec006bdda831587d53242e3 languageName: node linkType: hard -"@types/acorn@npm:^4.0.0": - version: 4.0.6 - resolution: "@types/acorn@npm:4.0.6" +"@tsparticles/interaction-particles-attract@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-particles-attract@npm:3.9.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 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/c472498458a63b81d6bf44ee7fa056324124b1dabd4c4665ec2b5a7f929beff99a34d2e74f2bc21e5a4b5bfa2cd0029d218bfe26e9e46713cd94987f7fd3c5d2 languageName: node linkType: hard -"@types/babel__core@npm:^7.18.0": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" +"@tsparticles/interaction-particles-collisions@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-particles-collisions@npm:3.9.1" dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/9847968ca4f25ed1af401cdc8e3451c1e9be44b37c1c3c266ebda45032a20275020312db10b344a8e0efb90a186056e3c7ce5a08608fdc548261774da842c86a languageName: node linkType: hard -"@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" +"@tsparticles/interaction-particles-links@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/interaction-particles-links@npm:3.9.1" dependencies: - "@babel/types": "npm:^7.0.0" - checksum: 10c0/f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/97c610cf215678dd7b4a4a73968f75437da0a119d9697e4a255d192b782c7048e73d3331f30546e39015e11897738a3c6f14889b3af4a502a12b0f6ea93de933 languageName: node linkType: hard -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" +"@tsparticles/move-base@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/move-base@npm:3.9.1" dependencies: - "@babel/parser": "npm:^7.1.0" - "@babel/types": "npm:^7.0.0" - checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/ce8ebb799eefad946128da5e64e7f20d6c9254ef58f7deab3328ecd3c8801b941046f090244bad1ac2bc09a46e37968cd90e360fe182e52255cf59fecb67d4c1 languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.18.0": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" +"@tsparticles/move-parallax@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/move-parallax@npm:3.9.1" dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10c0/7ba7db61a53e28cac955aa99af280d2600f15a8c056619c05b6fc911cbe02c61aa4f2823299221b23ce0cce00b294c0e5f618ec772aa3f247523c2e48cf7b888 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/0f56663ac4ae9a8a14b2c7bc6a4b5bca9dc702ba8070490935a60c46bb7479b17d8a6de1d8e01257057af6bc511affbef0637196470afee79a437473ed2e7774 languageName: node linkType: hard -"@types/body-parser@npm:*": - version: 1.19.5 - resolution: "@types/body-parser@npm:1.19.5" +"@tsparticles/plugin-absorbers@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-absorbers@npm:3.9.1" dependencies: - "@types/connect": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/5cb2aa6f1f1a15fd3a7101e336eab039c0dec57a0c306af20931ecad0551b12d3aca13b488b3ff7598ddbaf25b35f7924e3831508bb0dfd664f7ee08e2a43296 languageName: node linkType: hard -"@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" +"@tsparticles/plugin-easing-quad@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-easing-quad@npm:3.9.1" dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/f56d69850d5964d9b9e5819bb0086abbbcd4e1477daa81a7d1decd43684e2aaed7f710a89622d014dc15f4aeabdddbbe17394877ea64557ff535df74dac1d5e1 languageName: node linkType: hard -"@types/conventional-commits-parser@npm:^5.0.0": - version: 5.0.0 - resolution: "@types/conventional-commits-parser@npm:5.0.0" +"@tsparticles/plugin-emitters-shape-circle@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-emitters-shape-circle@npm:3.9.1" dependencies: - "@types/node": "npm:*" - checksum: 10c0/16c748ce01cb3b3ea5947950acd695569c0daa8da62cc7e0eb98b15c4d7f812f95c079fe2c853325509f8aa73cfd388390319ae4621c8dfb21eeacb63accdb25 + "@tsparticles/engine": "npm:3.9.1" + "@tsparticles/plugin-emitters": "npm:3.9.1" + checksum: 10c0/ce1f8f6ceafb04d9569c810367caac5faaa50400153527357afe461121a9a9d7d36e2cfb3d9feb70b199f81edb40e6e94834e91383abf4cfb2bf976e1968ef1b languageName: node linkType: hard -"@types/cross-spawn@npm:^6.0.2": - version: 6.0.6 - resolution: "@types/cross-spawn@npm:6.0.6" +"@tsparticles/plugin-emitters-shape-square@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-emitters-shape-square@npm:3.9.1" dependencies: - "@types/node": "npm:*" - checksum: 10c0/e3d476bb6b3a54a8934a97fe6ee4bd13e2e5eb29073929a4be76a52466602ffaea420b20774ffe8503f9fa24f3ae34817e95e7f625689fb0d1c10404f5b2889c + "@tsparticles/engine": "npm:3.9.1" + "@tsparticles/plugin-emitters": "npm:3.9.1" + checksum: 10c0/8048cd652472ead60f64cfbb250d5c23007bd5f92e15e124b1c4c29f3357b82ce73d44a6cb0b19b59568d0ecc922a741e0b29f4faed9281d53b13be6a5bd9e58 languageName: node linkType: hard -"@types/debug@npm:^4.0.0": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" +"@tsparticles/plugin-emitters@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-emitters@npm:3.9.1" dependencies: - "@types/ms": "npm:*" - checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f - languageName: node - linkType: hard - -"@types/detect-port@npm:^1.3.0": - version: 1.3.5 - resolution: "@types/detect-port@npm:1.3.5" - checksum: 10c0/d8dd9d0e643106a2263f530b24ffdc3409d9391c50fc5e404018ba3633947aa3777db7fb094aeb0f49a13cc998aae8889747ad9edaa02b13a2de2385f37106ef + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/5a4666685ee13178f9277cdd895f0fc58304a48b41c0d686b8d567b9fbfa27ccab41d6f9cea19f101ff1f601ae25a291828719910dd817d9203f402eb7f92ea2 languageName: node linkType: hard -"@types/diff@npm:^5.0.9": - version: 5.2.1 - resolution: "@types/diff@npm:5.2.1" - checksum: 10c0/62dcab32197ac67f212939cdd79aa3953327a482bec55c6a38ad9de8a0662a9f920b59504609a322fc242593bd9afb3d2704702f4bc98087a13171234b952361 +"@tsparticles/plugin-hex-color@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-hex-color@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/2d53f948f671e3baf5e5c326c4f536c5fd6bd04eed6310425339a6e6a1df6416118a40565ca420873af34af7ffc1a17cf5d80520b9ea81be3a6e1146a04e0268 languageName: node linkType: hard -"@types/doctrine@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/doctrine@npm:0.0.3" - checksum: 10c0/566dcdc988c97ff01d14493ceb2223643347f07cf0a88c86cd7cb7c2821cfc837fd39295e6809a29614fdfdc6c4e981408155ca909b2e5da5d947af939b6c966 +"@tsparticles/plugin-hsl-color@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-hsl-color@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/600fda9195fc39779cf7560e3f7af6b91f58b900a7d6050b5fc151efbe6e5ed0e078b616bca14763fdf83ef663b3e20ce0a8db035fb75169b32fe3b35d93557c languageName: node linkType: hard -"@types/doctrine@npm:^0.0.9": - version: 0.0.9 - resolution: "@types/doctrine@npm:0.0.9" - checksum: 10c0/cdaca493f13c321cf0cacd1973efc0ae74569633145d9e6fc1128f32217a6968c33bea1f858275239fe90c98f3be57ec8f452b416a9ff48b8e8c1098b20fa51c +"@tsparticles/plugin-rgb-color@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/plugin-rgb-color@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/758d5ca65d69c88d4642bc7d00b13eaa82b322e47765d865cb9c04a7efe7f34afd5c67ee4abbd82d3c1caca94f1c855d2a8ebdfb84ffb9fbec89cbcc0e3ae259 languageName: node linkType: hard -"@types/ejs@npm:^3.1.1": - version: 3.1.5 - resolution: "@types/ejs@npm:3.1.5" - checksum: 10c0/13d994cf0323d7e0ad33b9384914ccd3b4cd8bf282eced3649b1621b66ee7c784ac2d120a9d7b1f43d6f873518248fb8c3221b06a649b847860b9c2389a0b0ed +"@tsparticles/react@npm:^3.0.0": + version: 3.0.0 + resolution: "@tsparticles/react@npm:3.0.0" + peerDependencies: + "@tsparticles/engine": ^3.0.2 + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 10c0/3fd268b8e6f1dcbbb7acc36ef9d4f45e666b8f1169612594e7113cb56429abb5d2f564491efb5b26b22a7123188275c62fbd63fc3474a4246e1e12f77d5dbac5 languageName: node linkType: hard -"@types/emscripten@npm:^1.39.6": - version: 1.39.13 - resolution: "@types/emscripten@npm:1.39.13" - checksum: 10c0/99c314418b6fbe113c4c81dc89501bdf723020d1de262a36a4e45236b268dcec3deab104e3a7d3569e6d7c5c942de30c9c6d77b93170c1bcaa85620c7ee4c2ba +"@tsparticles/shape-circle@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-circle@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/fb63cca0a2fc6b7ec1307d19fb85942c3a134c97e7445a3212f456aa2738bb20d82e38c588f3c6afd2c0de8a90885257357e7bc10a3d051fe3e61cf6184e5674 languageName: node linkType: hard -"@types/escodegen@npm:^0.0.6": - version: 0.0.6 - resolution: "@types/escodegen@npm:0.0.6" - checksum: 10c0/bbef189319c7b0386486bc7224369f118c7aedf35cc13e40ae5879b9ab4f848936f31e8eea50e71d4de72d4b7a77d9e6e9e5ceec4406c648fbc0077ede634ed5 +"@tsparticles/shape-emoji@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-emoji@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/234fc0d9c43cab21b45241b594c5192c8a276b2dcbc3f72c52330facb942df8d6ad859e50139305cc5a5e44859798d3e7c716d695d5691edc42ca5e03da9dbfb languageName: node linkType: hard -"@types/estree-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree-jsx@npm:1.0.5" +"@tsparticles/shape-image@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-image@npm:3.9.1" dependencies: - "@types/estree": "npm:*" - checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/b59d632140d7bc37b851c5d3ca85d18677b78db4ac8aa4f870ff458115d2beae58563dc6dc1031529be70d4d72a168a9acbbbf1013dcbc9acb418644d8c6a577 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 +"@tsparticles/shape-line@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-line@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/8f418edc3a9174912c370719e0d8fcdb6f449ea71d9aef207e17950a415a9f84857a6a428e7f08ff6e83d755d753bc607f653e6d1cd4dac464d9e67212c32307 languageName: node linkType: hard -"@types/estree@npm:^0.0.51": - version: 0.0.51 - resolution: "@types/estree@npm:0.0.51" - checksum: 10c0/a70c60d5e634e752fcd45b58c9c046ef22ad59ede4bc93ad5193c7e3b736ebd6bcd788ade59d9c3b7da6eeb0939235f011d4c59bb4fc04d8c346b76035099dd1 +"@tsparticles/shape-polygon@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-polygon@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/1fa81114cdaaeebbeebb5b8422cf3d9fa4f03931aa2ccdf03a19e11e9305fcb99a965b288ac1b617e77f41a97d3d788324a55313ccf4ac3ff43bfd9f2fd8d395 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" +"@tsparticles/shape-square@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-square@npm:3.9.1" dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/5d2a1fb96a17a8e0e8c59325dfeb6d454bbc5c9b9b6796eec0397ddf9dbd262892040d5da3d72b5d7148f34bb3fcd438faf1b37fcba8c5a03e75fae491ad1edf + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/51cfa65665725aaa8e6d3bc2d344be952c437ecf014fe908491169e1b7c2787894de9e834bdf0ad398f6142aff025f5766bd910883005f3b079f992c4106aa38 languageName: node linkType: hard -"@types/express@npm:^4.7.0": - version: 4.17.21 - resolution: "@types/express@npm:4.17.21" +"@tsparticles/shape-star@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-star@npm:3.9.1" dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.33" - "@types/qs": "npm:*" - "@types/serve-static": "npm:*" - checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/99d58aec427d793398e757c72ec3c6445763c78aba78bbc54e967e51ddfe73fdc5bc8febdedd5df5244d7374178a78f984f9d4ab6040eb3163c3fa1893a41b66 languageName: node linkType: hard -"@types/hast@npm:^2.0.0": - version: 2.3.10 - resolution: "@types/hast@npm:2.3.10" +"@tsparticles/shape-text@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/shape-text@npm:3.9.1" dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/16daac35d032e656defe1f103f9c09c341a6dc553c7ec17b388274076fa26e904a71ea5ea41fd368a6d5f1e9e53be275c80af7942b9c466d8511d261c9529c7e + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/1a8c4c3a5acf0219b047b72ef2b3b439dd66d1c1a0b1743380800087b11764a8019c9cc562c5386b1657b1aa2bd4522d57429e1e87da220d030ad3aedb6f9adf languageName: node linkType: hard -"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": - version: 3.0.4 - resolution: "@types/hast@npm:3.0.4" +"@tsparticles/slim@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/slim@npm:3.9.1" dependencies: - "@types/unist": "npm:*" - checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 + "@tsparticles/basic": "npm:3.9.1" + "@tsparticles/engine": "npm:3.9.1" + "@tsparticles/interaction-external-attract": "npm:3.9.1" + "@tsparticles/interaction-external-bounce": "npm:3.9.1" + "@tsparticles/interaction-external-bubble": "npm:3.9.1" + "@tsparticles/interaction-external-connect": "npm:3.9.1" + "@tsparticles/interaction-external-grab": "npm:3.9.1" + "@tsparticles/interaction-external-pause": "npm:3.9.1" + "@tsparticles/interaction-external-push": "npm:3.9.1" + "@tsparticles/interaction-external-remove": "npm:3.9.1" + "@tsparticles/interaction-external-repulse": "npm:3.9.1" + "@tsparticles/interaction-external-slow": "npm:3.9.1" + "@tsparticles/interaction-particles-attract": "npm:3.9.1" + "@tsparticles/interaction-particles-collisions": "npm:3.9.1" + "@tsparticles/interaction-particles-links": "npm:3.9.1" + "@tsparticles/move-parallax": "npm:3.9.1" + "@tsparticles/plugin-easing-quad": "npm:3.9.1" + "@tsparticles/shape-emoji": "npm:3.9.1" + "@tsparticles/shape-image": "npm:3.9.1" + "@tsparticles/shape-line": "npm:3.9.1" + "@tsparticles/shape-polygon": "npm:3.9.1" + "@tsparticles/shape-square": "npm:3.9.1" + "@tsparticles/shape-star": "npm:3.9.1" + "@tsparticles/updater-life": "npm:3.9.1" + "@tsparticles/updater-rotate": "npm:3.9.1" + "@tsparticles/updater-stroke-color": "npm:3.9.1" + checksum: 10c0/844ab2eabee1106ca3de24e127c2efb0ee5062bea14b0df48120c88c51398e6249dd1c3deac55708ee9d52027d9fe784999166b777474829d19cf77dab4d5365 languageName: node linkType: hard -"@types/html-minifier-terser@npm:^6.0.0": - version: 6.1.0 - resolution: "@types/html-minifier-terser@npm:6.1.0" - checksum: 10c0/a62fb8588e2f3818d82a2d7b953ad60a4a52fd767ae04671de1c16f5788bd72f1ed3a6109ed63fd190c06a37d919e3c39d8adbc1793a005def76c15a3f5f5dab +"@tsparticles/updater-color@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-color@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/260038627b6d3187a1c3ea96d9ca88704043dbad25b39e9cc7fee0c217ae36541419035a56d40432cf4bebf61763a6a80361312b4637e131d252e1e852b60789 languageName: node linkType: hard -"@types/http-errors@npm:*": - version: 2.0.4 - resolution: "@types/http-errors@npm:2.0.4" - checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 +"@tsparticles/updater-destroy@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-destroy@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/ce99e21a92c35201294fcb255e09f686e4934a9b0d0874b0e545ba8fb6dad4459efad0f74abeaab64b8c38cbdd604846aecaaa03dd3bb49261b705432963d14e 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" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db +"@tsparticles/updater-life@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-life@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/4c89520b18236642b5d824e4726f1f7ecbd877528582b9569b4e00421207b6c1c8becd8f592f5eecac4c02ef86b764b30a4625510443d8e46da56cf762e2da39 languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac +"@tsparticles/updater-opacity@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-opacity@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/6f9c73f0dd8910bbb4b6944086eca1c3ca7b2da79d80e159f7cf96c92e29ff15da4770bfa64d466bd6181618fdeb5f1bffc340bb01b908bc061e6e76ba37b33a languageName: node linkType: hard -"@types/lodash.camelcase@npm:^4": - version: 4.3.9 - resolution: "@types/lodash.camelcase@npm:4.3.9" +"@tsparticles/updater-out-modes@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-out-modes@npm:3.9.1" dependencies: - "@types/lodash": "npm:*" - checksum: 10c0/d6c42c800624b75b079ff7862d258d7c8236837f8485a4fe9f92e5e7d3e9ccaef2eb202e24e8f04d209ad5573c85edc7871d0cecc831454a501d594b11f1311b + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/28ba6f20793384b5f4dc0dc81137418c8ebd905f3b66df7dca5ebc19459c89c626e0230ff2d189feedba780cbdc97ed2ba5a483a03f78ea469550d93f53f9a8f languageName: node linkType: hard -"@types/lodash.kebabcase@npm:^4": - version: 4.1.9 - resolution: "@types/lodash.kebabcase@npm:4.1.9" +"@tsparticles/updater-roll@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-roll@npm:3.9.1" dependencies: - "@types/lodash": "npm:*" - checksum: 10c0/f00fbfb891fd1883e3fab2286fa2b23a013550b3498013c8c8c5e3ed437f52543afe8e8dc899b4f3317bab8db403bb281de863274a6fa12f088667378fd7b475 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/cf9d8400b6e3207e11ad2f2d3ae88002cc474ce8f828acdf826eba268905bfce5acee5ef70c52d2ce008c16e9c4a47ba95df3148a0699ea06f21a18a04d849b3 languageName: node linkType: hard -"@types/lodash.startcase@npm:^4": - version: 4.4.9 - resolution: "@types/lodash.startcase@npm:4.4.9" +"@tsparticles/updater-rotate@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-rotate@npm:3.9.1" dependencies: - "@types/lodash": "npm:*" - checksum: 10c0/9d31900b2a7096f307f30b765fcd50fe83c5270c9f730c8f5006c4560628f979fefb7a5d04bced817863707bc0587f2d8b743a9318707983ebc42d944e0030cb + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/57e501847d1354a15c238747936b41c9812b5bf60552edeb4f4ae33db218de04e5b44c4d0f0254fa1465f050d7c412083d3a2f3df6d979a4b42f00bdce0a6792 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 +"@tsparticles/updater-size@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-size@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/c1c0dbfab23bc92612d12522d328eb8f8b28599cd4944665ee30b0da19d87d64cbe2934f26297a040fd901515b70568d6c0105244f4220c787b23908cbc63a7e languageName: node linkType: hard -"@types/mdast@npm:^3.0.0": - version: 3.0.15 - resolution: "@types/mdast@npm:3.0.15" +"@tsparticles/updater-stroke-color@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-stroke-color@npm:3.9.1" dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/fcbf716c03d1ed5465deca60862e9691414f9c43597c288c7d2aefbe274552e1bbd7aeee91b88a02597e88a28c139c57863d0126fcf8416a95fdc681d054ee3d + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/ecff94c34e8f47a28e8f5ea31a5a988c8d2046d77eb578d0d7703a498fc2ddb7e5bbfa0209ff561bff20aec7c28a07a1562695b67c11b7a59da5545ba2a7a142 languageName: node linkType: hard -"@types/mdast@npm:^4.0.0": - version: 4.0.4 - resolution: "@types/mdast@npm:4.0.4" +"@tsparticles/updater-tilt@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-tilt@npm:3.9.1" dependencies: - "@types/unist": "npm:*" - checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/e16038478a3266511b9a80517117705fd67686b034e9770c232aa91df6f8179cc29f70790f08e962fc92ce633e8564bff68afde15c6e11263952c71d287437ad languageName: node linkType: hard -"@types/mdx@npm:^2.0.0": - version: 2.0.13 - resolution: "@types/mdx@npm:2.0.13" - checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 +"@tsparticles/updater-twinkle@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-twinkle@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/412174b46f512f95d3a2b39045f66e7aedeed080bee63e9ec15809623b9d1a39e0e32592e841a6d22e55ad9fc4d930bd38df5fe413d91059fdcd88b7cc520752 languageName: node linkType: hard -"@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc +"@tsparticles/updater-wobble@npm:3.9.1": + version: 3.9.1 + resolution: "@tsparticles/updater-wobble@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + checksum: 10c0/3bbef056b99ffcf3e19f9af5a8f7889f52d044a79192a789e3a6e73def86b3606837ddd974be7263ded22969070cd9e9b9212c3cfa753867849401e274e3f039 languageName: node linkType: hard -"@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: 10c0/ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc +"@tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 languageName: node linkType: hard -"@types/node-forge@npm:^1.3.0": - version: 1.3.11 - resolution: "@types/node-forge@npm:1.3.11" +"@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: - "@types/node": "npm:*" - checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff 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" +"@types/babel__generator@npm:*": + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/2d86e5f2227aaa42212e82ea0affe72799111b888ff900916376450b02b09b963ca888b20d9c332d8d2b833ed4781987867a38eaa2e4863fa8439071468b0a6f + "@babel/types": "npm:^7.0.0" + checksum: 10c0/9f9e959a8792df208a9d048092fda7e1858bddc95c6314857a8211a99e20e6830bdeb572e3587ae8be5429e37f2a96fcf222a9f53ad232f5537764c9e13a2bbd languageName: node linkType: hard -"@types/node@npm:^18.0.0": - version: 18.19.34 - resolution: "@types/node@npm:18.19.34" +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/e985f50684def801801069e236165ee511f9195fc04ad4a2af7642d86aeaeaf7bfe34c147f894a48618a5c71c15b388ca91341a244792149543a712e38351988 + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b languageName: node linkType: hard -"@types/normalize-package-data@npm:^2.4.0": - version: 2.4.4 - resolution: "@types/normalize-package-data@npm:2.4.4" - checksum: 10c0/aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.18.0, @types/babel__traverse@npm:^7.20.7": + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" + dependencies: + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 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 +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" + dependencies: + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f languageName: node linkType: hard -"@types/parse5@npm:^6.0.0": - version: 6.0.3 - resolution: "@types/parse5@npm:6.0.3" - checksum: 10c0/a7c7ef6625974b74b93c1105953003a2291897e453369efcadc569b907de2784d61d4e6905de3ef959fa07f3278f41ed0c22ead0173776023fc43b6ed31042d0 +"@types/conventional-commits-parser@npm:^5.0.0": + version: 5.0.2 + resolution: "@types/conventional-commits-parser@npm:5.0.2" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/598af5a5d699490e8bdd53b59757b514e41791cc7c857c45ed1d4ea50b90e7e5e64f59cd7f50da2c7d7c2d03ca0f1f865c6fe1a46065401b2dbf2e93645c4283 languageName: node linkType: hard -"@types/pretty-hrtime@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/pretty-hrtime@npm:1.0.3" - checksum: 10c0/e4c22475c588be982b398dee9ac0b05b21078bc26581819290a4901c5b269bcaa04cae0e61e012d412e811b0897c9dab316db064208914df2f0ed0960fc5306b +"@types/d3-color@npm:*": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 10c0/65eb0487de606eb5ad81735a9a5b3142d30bc5ea801ed9b14b77cb14c9b909f718c059f13af341264ee189acf171508053342142bdf99338667cea26a2d8d6ae languageName: node linkType: hard -"@types/prompts@npm:^2": - version: 2.4.9 - resolution: "@types/prompts@npm:2.4.9" +"@types/d3-drag@npm:^3.0.7": + version: 3.0.7 + resolution: "@types/d3-drag@npm:3.0.7" dependencies: - "@types/node": "npm:*" - kleur: "npm:^3.0.3" - checksum: 10c0/22fe0da6807681c85e88ba283184f4be4c8a95c744ea12a638865c98c4e0c22e7f733542f6b0f1fbca02245cdc3fe84feacf9c9adf4ddd8bc98a337fd679d8d2 + "@types/d3-selection": "npm:*" + checksum: 10c0/65e29fa32a87c72d26c44b5e2df3bf15af21cd128386bcc05bcacca255927c0397d0cd7e6062aed5f0abd623490544a9d061c195f5ed9f018fe0b698d99c079d languageName: node linkType: hard -"@types/prop-types@npm:*": - version: 15.7.12 - resolution: "@types/prop-types@npm:15.7.12" - checksum: 10c0/1babcc7db6a1177779f8fde0ccc78d64d459906e6ef69a4ed4dd6339c920c2e05b074ee5a92120fe4e9d9f1a01c952f843ebd550bee2332fc2ef81d1706878f8 +"@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/qs@npm:*, @types/qs@npm:^6.9.5": - version: 6.9.15 - resolution: "@types/qs@npm:6.9.15" - checksum: 10c0/49c5ff75ca3adb18a1939310042d273c9fc55920861bd8e5100c8a923b3cda90d759e1a95e18334092da1c8f7b820084687770c83a1ccef04fb2c6908117c823 +"@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/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c +"@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/react-dom@npm:^18": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" +"@types/d3-zoom@npm:^3.0.8": + version: 3.0.8 + resolution: "@types/d3-zoom@npm:3.0.8" dependencies: - "@types/react": "npm:*" - checksum: 10c0/6c90d2ed72c5a0e440d2c75d99287e4b5df3e7b011838cdc03ae5cd518ab52164d86990e73246b9d812eaf02ec351d74e3b4f5bd325bf341e13bf980392fd53b + "@types/d3-interpolate": "npm:*" + "@types/d3-selection": "npm:*" + checksum: 10c0/1dbdbcafddcae12efb5beb6948546963f29599e18bc7f2a91fb69cc617c2299a65354f2d47e282dfb86fec0968406cd4fb7f76ba2d2fb67baa8e8d146eb4a547 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" +"@types/debug@npm:^4.0.0": + version: 4.1.13 + resolution: "@types/debug@npm:4.1.13" dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10c0/fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114 + "@types/ms": "npm:*" + checksum: 10c0/e5e124021bbdb23a82727eee0a726ae0fc8a3ae1f57253cbcc47497f259afb357de7f6941375e773e1abbfa1604c1555b901a409d762ec2bb4c1612131d4afb7 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 +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 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 +"@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/send@npm:*": - version: 0.17.4 - resolution: "@types/send@npm:0.17.4" +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" dependencies: - "@types/mime": "npm:^1" - "@types/node": "npm:*" - checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c + "@types/eslint": "npm:*" + "@types/estree": "npm:*" + checksum: 10c0/a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc languageName: node linkType: hard -"@types/serve-static@npm:*": - version: 1.15.7 - resolution: "@types/serve-static@npm:1.15.7" +"@types/eslint@npm:*": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" dependencies: - "@types/http-errors": "npm:*" - "@types/node": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/69ba24fee600d1e4c5abe0df086c1a4d798abf13792d8cfab912d76817fe1a894359a1518557d21237fbaf6eda93c5ab9309143dee4c59ef54336d1b3570420e 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 +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d 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 +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.8": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 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 +"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 languageName: node linkType: hard -"@types/uuid@npm:^9.0.1": - version: 9.0.8 - resolution: "@types/uuid@npm:9.0.8" - checksum: 10c0/b411b93054cb1d4361919579ef3508a1f12bf15b5fdd97337d3d351bece6c921b52b6daeef89b62340fd73fd60da407878432a1af777f40648cbe53a01723489 +"@types/html-minifier-terser@npm:^6.0.0": + version: 6.1.0 + resolution: "@types/html-minifier-terser@npm:6.1.0" + checksum: 10c0/a62fb8588e2f3818d82a2d7b953ad60a4a52fd767ae04671de1c16f5788bd72f1ed3a6109ed63fd190c06a37d919e3c39d8adbc1793a005def76c15a3f5f5dab 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 +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @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" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db 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 +"@types/lodash.camelcase@npm:^4": + version: 4.3.9 + resolution: "@types/lodash.camelcase@npm:4.3.9" + dependencies: + "@types/lodash": "npm:*" + checksum: 10c0/d6c42c800624b75b079ff7862d258d7c8236837f8485a4fe9f92e5e7d3e9ccaef2eb202e24e8f04d209ad5573c85edc7871d0cecc831454a501d594b11f1311b 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" +"@types/lodash.kebabcase@npm:^4": + version: 4.1.9 + resolution: "@types/lodash.kebabcase@npm:4.1.9" dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f + "@types/lodash": "npm:*" + checksum: 10c0/f00fbfb891fd1883e3fab2286fa2b23a013550b3498013c8c8c5e3ed437f52543afe8e8dc899b4f3317bab8db403bb281de863274a6fa12f088667378fd7b475 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/lodash.startcase@npm:^4": + version: 4.4.9 + resolution: "@types/lodash.startcase@npm:4.4.9" dependencies: - "@typescript-eslint/types": "npm:7.13.1" - "@typescript-eslint/visitor-keys": "npm:7.13.1" - checksum: 10c0/3d8770bf9c89e7a07e54efbc3dac6df02c0ce49d49575076111ac663566c90cbb852f06c94a311db7c0aec1fab0417f3ef6e601b3852aa30bed75c65f4f076f4 + "@types/lodash": "npm:*" + checksum: 10c0/9d31900b2a7096f307f30b765fcd50fe83c5270c9f730c8f5006c4560628f979fefb7a5d04bced817863707bc0587f2d8b743a9318707983ebc42d944e0030cb 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/lodash@npm:*": + version: 4.17.24 + resolution: "@types/lodash@npm:4.17.24" + checksum: 10c0/b72f60d4daacdad1fa643edb3faba204c02a01eb1ac00a83ff73496a6d236fc55e459c06106e8ced42277dba932d087d8fc090f8de4ef590d3f91e6d6f7ce85a 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" +"@types/mdast@npm:^4.0.0": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" 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/unist": "npm:*" + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 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/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/types@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/types@npm:7.13.1" - checksum: 10c0/38a01004e11259e457ae2fd02300ef362a3268a8fc70addfbf1508e2edcaca72da2f0f8771e42c1cb9f191c1f754af583cdcaebd830c8e3c3f796dcf30d3c3a8 +"@types/ms@npm:*": + version: 2.1.0 + resolution: "@types/ms@npm:2.1.0" + checksum: 10c0/5ce692ffe1549e1b827d99ef8ff71187457e0eb44adbae38fdf7b9a74bae8d20642ee963c14516db1d35fa2652e65f47680fdf679dcbde52bbfadd021f497225 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/node@npm:*, @types/node@npm:>=13.7.0": + version: 25.6.0 + resolution: "@types/node@npm:25.6.0" + dependencies: + undici-types: "npm:~7.19.0" + checksum: 10c0/d2d2015630ff098a201407f55f5077a20270ae4f465c739b40865cd9933b91b9c5d2b85568eadaf3db0801b91e267333ca7eb39f007428b173d1cdab4b339ac5 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" +"@types/node@npm:^22": + version: 22.19.17 + resolution: "@types/node@npm:22.19.17" 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 + undici-types: "npm:~6.21.0" + checksum: 10c0/b66c484c0a9f6d88b1ef360b0f487717234ee1a482cb2551ff73d9f3c43a42a777daf4c8a5eee970960728f8fe1f3877d3d8c6ffabcbca74cb401a59db700fa4 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/prompts@npm:^2": + version: 2.4.9 + resolution: "@types/prompts@npm:2.4.9" 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 + "@types/node": "npm:*" + kleur: "npm:^3.0.3" + checksum: 10c0/22fe0da6807681c85e88ba283184f4be4c8a95c744ea12a638865c98c4e0c22e7f733542f6b0f1fbca02245cdc3fe84feacf9c9adf4ddd8bc98a337fd679d8d2 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/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/utils@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/utils@npm:7.13.1" +"@types/react@npm:^19": + version: 19.2.14 + resolution: "@types/react@npm:19.2.14" 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 + csstype: "npm:^3.2.2" + checksum: 10c0/7d25bf41b57719452d86d2ac0570b659210402707313a36ee612666bf11275a1c69824f8c3ee1fdca077ccfe15452f6da8f1224529b917050eb2d861e52b59b7 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/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/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/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/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/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: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/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 -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d +"@types/unist@npm:*, @types/unist@npm:^3.0.0": + version: 3.0.3 + resolution: "@types/unist@npm:3.0.3" + checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60 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 +"@types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d languageName: node linkType: hard -"@vitest/spy@npm:1.3.1": - version: 1.3.1 - resolution: "@vitest/spy@npm:1.3.1" +"@ungap/structured-clone@npm:^1.0.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard + +"@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 -"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/ast@npm:1.12.1" +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: - "@webassemblyjs/helper-numbers": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - checksum: 10c0/ba7f2b96c6e67e249df6156d02c69eb5f1bd18d5005303cdc42accb053bebbbde673826e54db0437c9748e97abd218366a1d13fa46859b23cde611b6b409998c + "@webassemblyjs/helper-numbers": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + checksum: 10c0/67a59be8ed50ddd33fbb2e09daa5193ac215bf7f40a9371be9a0d9797a114d0d1196316d2f3943efdb923a3d809175e1563a3cb80c814fb8edccd1e77494972b languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 10c0/37fe26f89e18e4ca0e7d89cfe3b9f17cfa327d7daf906ae01400416dbb2e33c8a125b4dc55ad7ff405e5fcfb6cf0d764074c9bc532b9a31a71e762be57d2ea0a +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: 10c0/0e88bdb8b50507d9938be64df0867f00396b55eba9df7d3546eb5dc0ca64d62e06f8d881ec4a6153f2127d0f4c11d102b6e7d17aec2f26bb5ff95a5e60652412 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: 10c0/a681ed51863e4ff18cf38d223429f414894e5f7496856854d9a886eeddcee32d7c9f66290f2919c9bb6d2fc2b2fae3f989b6a1e02a81e829359738ea0c4d371a +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 10c0/31be497f996ed30aae4c08cac3cce50c8dcd5b29660383c0155fce1753804fc55d47fcba74e10141c7dd2899033164e117b3bcfcda23a6b043e4ded4f1003dfb languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" - checksum: 10c0/0270724afb4601237410f7fd845ab58ccda1d5456a8783aadfb16eaaf3f2c9610c28e4a5bcb6ad880cde5183c82f7f116d5ccfc2310502439d33f14b6888b48a +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: 10c0/0d54105dc373c0fe6287f1091e41e3a02e36cdc05e8cf8533cdc16c59ff05a646355415893449d3768cda588af451c274f13263300a251dc11a575bc4c9bd210 languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" dependencies: - "@webassemblyjs/floating-point-hex-parser": "npm:1.11.6" - "@webassemblyjs/helper-api-error": "npm:1.11.6" + "@webassemblyjs/floating-point-hex-parser": "npm:1.13.2" + "@webassemblyjs/helper-api-error": "npm:1.13.2" "@xtuc/long": "npm:4.2.2" - checksum: 10c0/c7d5afc0ff3bd748339b466d8d2f27b908208bf3ff26b2e8e72c39814479d486e0dca6f3d4d776fd9027c1efe05b5c0716c57a23041eb34473892b2731c33af3 + checksum: 10c0/9c46852f31b234a8fb5a5a9d3f027bc542392a0d4de32f1a9c0075d5e8684aa073cb5929b56df565500b3f9cc0a2ab983b650314295b9bf208d1a1651bfc825a languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 10c0/79d2bebdd11383d142745efa32781249745213af8e022651847382685ca76709f83e1d97adc5f0d3c2b8546bf02864f8b43a531fdf5ca0748cb9e4e0ef2acaa5 +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 10c0/c4355d14f369b30cf3cbdd3acfafc7d0488e086be6d578e3c9780bd1b512932352246be96e034e2a7fcfba4f540ec813352f312bfcbbfe5bcfbf694f82ccc682 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - checksum: 10c0/0546350724d285ae3c26e6fc444be4c3b5fb824f3be0ec8ceb474179dc3f4430336dd2e36a44b3e3a1a6815960e5eec98cd9b3a8ec66dc53d86daedd3296a6a2 + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + checksum: 10c0/1f9b33731c3c6dbac3a9c483269562fa00d1b6a4e7133217f40e83e975e636fd0f8736e53abd9a47b06b66082ecc976c7384391ab0a68e12d509ea4e4b948d64 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" dependencies: "@xtuc/ieee754": "npm:^1.2.0" - checksum: 10c0/59de0365da450322c958deadade5ec2d300c70f75e17ae55de3c9ce564deff5b429e757d107c7ec69bd0ba169c6b6cc2ff66293ab7264a7053c829b50ffa732f + checksum: 10c0/2e732ca78c6fbae3c9b112f4915d85caecdab285c0b337954b180460290ccd0fb00d2b1dc4bb69df3504abead5191e0d28d0d17dfd6c9d2f30acac8c4961c8a7 languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" dependencies: "@xtuc/long": "npm:4.2.2" - checksum: 10c0/cb344fc04f1968209804de4da018679c5d4708a03b472a33e0fa75657bb024978f570d3ccf9263b7f341f77ecaa75d0e051b9cd4b7bb17a339032cfd1c37f96e + checksum: 10c0/dad5ef9e383c8ab523ce432dfd80098384bf01c45f70eb179d594f85ce5db2f80fa8c9cba03adafd85684e6d6310f0d3969a882538975989919329ac4c984659 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 10c0/14d6c24751a89ad9d801180b0d770f30a853c39f035a15fbc96266d6ac46355227abd27a3fd2eeaa97b4294ced2440a6b012750ae17bafe1a7633029a87b6bee +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 10c0/d3fac9130b0e3e5a1a7f2886124a278e9323827c87a2b971e6d0da22a2ba1278ac9f66a4f2e363ecd9fac8da42e6941b22df061a119e5c0335f81006de9ee799 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" +"@webassemblyjs/wasm-edit@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/helper-wasm-section": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-opt": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - "@webassemblyjs/wast-printer": "npm:1.12.1" - checksum: 10c0/972f5e6c522890743999e0ed45260aae728098801c6128856b310dd21f1ee63435fc7b518e30e0ba1cdafd0d1e38275829c1e4451c3536a1d9e726e07a5bba0b + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/helper-wasm-section": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-opt": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + "@webassemblyjs/wast-printer": "npm:1.14.1" + checksum: 10c0/5ac4781086a2ca4b320bdbfd965a209655fe8a208ca38d89197148f8597e587c9a2c94fb6bd6f1a7dbd4527c49c6844fcdc2af981f8d793a97bf63a016aa86d2 languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10c0/1e257288177af9fa34c69cab94f4d9036ebed611f77f3897c988874e75182eeeec759c79b89a7a49dd24624fc2d3d48d5580b62b67c4a1c9bfbdcd266b281c16 + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/d678810d7f3f8fecb2e2bdadfb9afad2ec1d2bc79f59e4711ab49c81cec578371e22732d4966f59067abe5fba8e9c54923b57060a729d28d408e608beef67b10 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-buffer": "npm:1.12.1" - "@webassemblyjs/wasm-gen": "npm:1.12.1" - "@webassemblyjs/wasm-parser": "npm:1.12.1" - checksum: 10c0/992a45e1f1871033c36987459436ab4e6430642ca49328e6e32a13de9106fe69ae6c0ac27d7050efd76851e502d11cd1ac0e06b55655dfa889ad82f11a2712fb + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-buffer": "npm:1.14.1" + "@webassemblyjs/wasm-gen": "npm:1.14.1" + "@webassemblyjs/wasm-parser": "npm:1.14.1" + checksum: 10c0/515bfb15277ee99ba6b11d2232ddbf22aed32aad6d0956fe8a0a0a004a1b5a3a277a71d9a3a38365d0538ac40d1b7b7243b1a244ad6cd6dece1c1bb2eb5de7ee languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" - "@webassemblyjs/helper-api-error": "npm:1.11.6" - "@webassemblyjs/helper-wasm-bytecode": "npm:1.11.6" - "@webassemblyjs/ieee754": "npm:1.11.6" - "@webassemblyjs/leb128": "npm:1.11.6" - "@webassemblyjs/utf8": "npm:1.11.6" - checksum: 10c0/e85cec1acad07e5eb65b92d37c8e6ca09c6ca50d7ca58803a1532b452c7321050a0328c49810c337cc2dfd100c5326a54d5ebd1aa5c339ebe6ef10c250323a0e + "@webassemblyjs/ast": "npm:1.14.1" + "@webassemblyjs/helper-api-error": "npm:1.13.2" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.13.2" + "@webassemblyjs/ieee754": "npm:1.13.2" + "@webassemblyjs/leb128": "npm:1.13.2" + "@webassemblyjs/utf8": "npm:1.13.2" + checksum: 10c0/95427b9e5addbd0f647939bd28e3e06b8deefdbdadcf892385b5edc70091bf9b92fa5faac3fce8333554437c5d85835afef8c8a7d9d27ab6ba01ffab954db8c6 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wast-printer@npm:1.12.1" +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" dependencies: - "@webassemblyjs/ast": "npm:1.12.1" + "@webassemblyjs/ast": "npm:1.14.1" "@xtuc/long": "npm:4.2.2" - checksum: 10c0/39bf746eb7a79aa69953f194943bbc43bebae98bd7cadd4d8bc8c0df470ca6bf9d2b789effaa180e900fab4e2691983c1f7d41571458bd2a26267f2f0c73705a + checksum: 10c0/8d7768608996a052545251e896eac079c98e0401842af8dd4de78fba8d90bd505efb6c537e909cd6dae96e09db3fa2e765a6f26492553a675da56e2db51f9d24 + languageName: node + linkType: hard + +"@webcontainer/env@npm:^1.1.1": + version: 1.1.1 + resolution: "@webcontainer/env@npm:1.1.1" + checksum: 10c0/bc64114ffa7ee92f4985cc2bdd5e27f6f31d892b9aa5cde68eaf93df02d13ee6edf13faeebdd701464183b6f8f9c47c14975958cdd6fc20e7356ad32f6ee39e7 languageName: node linkType: hard @@ -6862,34 +5504,34 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/esbuild-plugin-pnp@npm:^3.0.0-rc.10": - version: 3.0.0-rc.15 - resolution: "@yarnpkg/esbuild-plugin-pnp@npm:3.0.0-rc.15" +"@xyflow/react@npm:^12.10.1": + version: 12.10.2 + resolution: "@xyflow/react@npm:12.10.2" dependencies: - tslib: "npm:^2.4.0" + "@xyflow/system": "npm:0.0.76" + classcat: "npm:^5.0.3" + zustand: "npm:^4.4.0" peerDependencies: - esbuild: ">=0.10.0" - checksum: 10c0/5095bc316862971add31ca1fadb0095b6ad15f25120f6ab3a06086bb6a7be93c2f3c45bff80d5976689fc89b0e9bf82bd3d410e205c852739874d32d050c4e57 - languageName: node - linkType: hard - -"@yarnpkg/fslib@npm:2.10.3": - version: 2.10.3 - resolution: "@yarnpkg/fslib@npm:2.10.3" - dependencies: - "@yarnpkg/libzip": "npm:^2.3.0" - tslib: "npm:^1.13.0" - checksum: 10c0/c4fbbed99e801f17c381204e9699d9ea4fb51b14e99968985f477bdbc7b02b61e026860173f3f46bd60d9f46ae6a06f420a3edb3c02c3a45ae83779095928094 + react: ">=17" + react-dom: ">=17" + checksum: 10c0/e6706bfd85c294c4b475851d4aa14f00a76e33106e67b620c349275c33f1bc46895a2daf75323630d049d6094b9f70d5fb940b823ac34dbf696449df4def1a94 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.76": + version: 0.0.76 + resolution: "@xyflow/system@npm:0.0.76" 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/49c78f7e7d1015bfd990011030d9375e237b7fd6bdbb3908f2b0cdb9cc7baddd49f104c0e75bf3a218ce9258845956293b62d81ff6df02db920c4ba3cabb3cfb languageName: node linkType: hard @@ -6905,10 +5547,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 languageName: node linkType: hard @@ -6921,26 +5563,16 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.5, 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" +"acorn-import-phases@npm:^1.0.3": + version: 1.0.4 + resolution: "acorn-import-phases@npm:1.0.4" peerDependencies: - acorn: ^8 - checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d + acorn: ^8.14.0 + checksum: 10c0/338eb46fc1aed5544f628344cb9af189450b401d152ceadbf1f5746901a5d923016cd0e7740d5606062d374fdf6941c29bb515d2bd133c4f4242d5d4cd73a3c7 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: @@ -6949,62 +5581,28 @@ __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-walk@npm:^8.2.0": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - 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": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" - bin: - acorn: bin/acorn - checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 +"acorn-walk@npm:8.3.2": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 10c0/7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 languageName: node linkType: hard -"acorn@npm:^8.11.0, acorn@npm:^8.8.0": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" +"acorn@npm:8.14.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 languageName: node linkType: hard -"acorn@npm:^8.9.0": - version: 8.12.0 - resolution: "acorn@npm:8.12.0" +"acorn@npm:^8.0.0, acorn@npm:^8.15.0, acorn@npm:^8.16.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" bin: acorn: bin/acorn - checksum: 10c0/a19f9dead009d3b430fa3c253710b47778cdaace15b316de6de93a68c355507bc1072a9956372b6c990cbeeb167d4a929249d0faeb8ae4bb6911d68d53299549 - languageName: node - linkType: hard - -"address@npm:^1.0.1": - version: 1.2.2 - resolution: "address@npm:1.2.2" - checksum: 10c0/1c8056b77fb124456997b78ed682ecc19d2fd7ea8bd5850a2aa8c3e3134c913847c57bcae418622efd32ba858fa1e242a40a251ac31da0515664fc0ac03a047d + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e languageName: node linkType: hard @@ -7018,25 +5616,6 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - "ajv-formats@npm:^2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -7071,27 +5650,27 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.5": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" +"ajv@npm:^6.12.5": + version: 6.15.0 + resolution: "ajv@npm:6.15.0" dependencies: fast-deep-equal: "npm:^3.1.1" fast-json-stable-stringify: "npm:^2.0.0" json-schema-traverse: "npm:^0.4.1" uri-js: "npm:^4.2.2" - checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + checksum: 10c0/67966499dd272ecde1c2e467084411132891523d057487587879d39ac04207f4351b7b2324c83198013967fbfa632c1612adc960114a30770fbe07a0773b32c2 languageName: node linkType: hard "ajv@npm:^8.0.0, ajv@npm:^8.11.0, ajv@npm:^8.9.0": - version: 8.16.0 - resolution: "ajv@npm:8.16.0" + version: 8.18.0 + resolution: "ajv@npm:8.18.0" dependencies: fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" json-schema-traverse: "npm:^1.0.0" require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.4.1" - checksum: 10c0/6fc38aa8fd4fbfaa7096ac049e48c0cb440db36b76fef2d7d5b7d92b102735670d055d412d19176c08c9d48eaa9d06661b67e59f04943dc71ab1551e0484f88c + checksum: 10c0/e7517c426173513a07391be951879932bdf3348feaebd2199f5b901c20f99d60db8cd1591502d4d551dc82f594e82a05c4fe1c70139b15b8937f7afeaed9532f languageName: node linkType: hard @@ -7099,391 +5678,173 @@ __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" + "@fontsource-variable/lilex": "npm:^5.2.1" + "@phosphor-icons/react": "npm:^2.1.10" + "@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:14.2.26" - 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" + playwright: "npm:^1.59.1" + 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.1.6" - 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" - wrangler: "npm:^3.79.0" - zod: "npm:^3.23.8" + vaul: "npm:^1.1.2" + velite: "npm:^0.2.3" + wrangler: "npm:^3.114.17" + zod: "npm:^3.24.0" languageName: unknown linkType: soft -"ansi-escapes@npm:^6.2.0": - version: 6.2.1 - resolution: "ansi-escapes@npm:6.2.1" - checksum: 10c0/a2c6f58b044be5f69662ee17073229b492daa2425a7fd99a665db6c22eab6e4ab42752807def7281c1c7acfed48f87f2362dda892f08c2c437f1b39c6b033103 +"ansi-escapes@npm:^7.0.0": + version: 7.3.0 + resolution: "ansi-escapes@npm:7.3.0" + dependencies: + environment: "npm:^1.0.0" + checksum: 10c0/068961d99f0ef28b661a4a9f84a5d645df93ccf3b9b93816cc7d46bbe1913321d4cdf156bb842a4e1e4583b7375c631fa963efb43001c4eb7ff9ab8f78fc0679 languageName: node linkType: hard "ansi-html-community@npm:0.0.8": version: 0.0.8 resolution: "ansi-html-community@npm:0.0.8" - bin: - ansi-html: bin/ansi-html - checksum: 10c0/45d3a6f0b4f10b04fdd44bef62972e2470bfd917bf00439471fa7473d92d7cbe31369c73db863cc45dda115cb42527f39e232e9256115534b8ee5806b0caeed4 - languageName: node - linkType: hard - -"ansi-html@npm:^0.0.9": - version: 0.0.9 - resolution: "ansi-html@npm:0.0.9" - bin: - ansi-html: bin/ansi-html - checksum: 10c0/4a5de9802fb50193e32b51a9ea48dc0d7e4436b860cb819d7110c62f2bfb1410288e1a2f9a848269f5eab8f903797a7f0309fe4c552f92a92b61a5b759ed52bd - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - 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" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - 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" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"aria-hidden@npm:^1.1.1": - version: 1.2.4 - resolution: "aria-hidden@npm:1.2.4" - dependencies: - tslib: "npm:^2.0.0" - checksum: 10c0/8abcab2e1432efc4db415e97cb3959649ddf52c8fc815d7384f43f3d3abf56f1c12852575d00df9a8927f421d7e0712652dd5f8db244ea57634344e29ecfc74a - languageName: node - linkType: hard - -"aria-query@npm:5.1.3": - version: 5.1.3 - resolution: "aria-query@npm:5.1.3" - dependencies: - deep-equal: "npm:^2.0.5" - checksum: 10c0/edcbc8044c4663d6f88f785e983e6784f98cb62b4ba1e9dd8d61b725d0203e4cfca38d676aee984c31f354103461102a3d583aa4fbe4fd0a89b679744f4e5faf - languageName: node - linkType: hard - -"aria-query@npm:^5.0.0, aria-query@npm:^5.3.0": - version: 5.3.0 - resolution: "aria-query@npm:5.3.0" - dependencies: - dequal: "npm:^2.0.3" - checksum: 10c0/2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 - 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" - checksum: 10c0/75c9c072faac47bd61779c0c595e912fe660d338504ac70d10e39e1b8a4a0c9c87658703d619b9d1b70d324177ae29dc8d07dda0d0a15d005597bc4c5a59c70c - 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 + bin: + ansi-html: bin/ansi-html + checksum: 10c0/45d3a6f0b4f10b04fdd44bef62972e2470bfd917bf00439471fa7473d92d7cbe31369c73db863cc45dda115cb42527f39e232e9256115534b8ee5806b0caeed4 languageName: node linkType: hard -"array-timsort@npm:^1.0.3": - version: 1.0.3 - resolution: "array-timsort@npm:1.0.3" - checksum: 10c0/bd3a1707b621947265c89867e67c9102b9b9f4c50f5b3974220112290d8b60d26ce60595edec5deed3325207b759d70b758bed3cd310b5ddadb835657ffb6d12 +"ansi-html@npm:^0.0.9": + version: 0.0.9 + resolution: "ansi-html@npm:0.0.9" + bin: + ansi-html: bin/ansi-html + checksum: 10c0/4a5de9802fb50193e32b51a9ea48dc0d7e4436b860cb819d7110c62f2bfb1410288e1a2f9a848269f5eab8f903797a7f0309fe4c552f92a92b61a5b759ed52bd languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 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 +"ansi-regex@npm:^6.2.2": + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.5 - resolution: "array.prototype.findlastindex@npm:1.2.5" +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" 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 + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 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 +"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.2.1": + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: 10c0/23b8a4ce14e18fb854693b95351e286b771d23d8844057ed2e7d083cd3e708376c3323707ec6a24365f7d7eda3ca00327fe04092e29e551499ec4c8b7bfac868 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 +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e languageName: node linkType: hard -"array.prototype.toreversed@npm:^1.1.2": - version: 1.1.2 - resolution: "array.prototype.toreversed@npm:1.1.2" +"aria-hidden@npm:^1.2.4": + version: 1.2.6 + resolution: "aria-hidden@npm:1.2.6" 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 + tslib: "npm:^2.0.0" + checksum: 10c0/7720cb539497a9f760f68f98a4b30f22c6767aa0e72fa7d58279f7c164e258fc38b2699828f8de881aab0fc8e9c56d1313a3f1a965046fc0381a554dbc72b54a 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 +"aria-query@npm:^5.0.0": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e 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 +"array-ify@npm:^1.0.0": + version: 1.0.0 + resolution: "array-ify@npm:1.0.0" + checksum: 10c0/75c9c072faac47bd61779c0c595e912fe660d338504ac70d10e39e1b8a4a0c9c87658703d619b9d1b70d324177ae29dc8d07dda0d0a15d005597bc4c5a59c70c languageName: node linkType: hard @@ -7507,7 +5868,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: @@ -7520,17 +5881,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 @@ -7544,18 +5898,25 @@ __metadata: linkType: hard "astring@npm:^1.8.0": - version: 1.8.6 - resolution: "astring@npm:1.8.6" + version: 1.9.0 + resolution: "astring@npm:1.9.0" bin: astring: bin/astring - checksum: 10c0/31f09144597048c11072417959a412f208f8f95ba8dce408dfbc3367acb929f31fbcc00ed5eb61ccbf7c2f1173b9ac8bfcaaa37134a9455050c669b2b036ed88 + checksum: 10c0/e7519544d9824494e80ef0e722bb3a0c543a31440d59691c13aeaceb75b14502af536b23f08db50aa6c632dafaade54caa25f0788aa7550b6b2d6e2df89e0830 + languageName: node + linkType: hard + +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 languageName: node linkType: hard -"async@npm:^3.2.3": - version: 3.2.5 - resolution: "async@npm:3.2.5" - checksum: 10c0/1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1 +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 languageName: node linkType: hard @@ -7568,77 +5929,64 @@ __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-core@npm:^7.0.0-bridge.0": - version: 7.0.0-bridge.0 - resolution: "babel-core@npm:7.0.0-bridge.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f57576e30267be4607d163b7288031d332cf9200ea35efe9fb33c97f834e304376774c28c1f9d6928d6733fcde7041e4010f1248a0519e7730c590d4b07b9608 - languageName: node - linkType: hard - "babel-loader@npm:^9.1.3": - version: 9.1.3 - resolution: "babel-loader@npm:9.1.3" + version: 9.2.1 + resolution: "babel-loader@npm:9.2.1" dependencies: find-cache-dir: "npm:^4.0.0" schema-utils: "npm:^4.0.0" peerDependencies: "@babel/core": ^7.12.0 webpack: ">=5" - checksum: 10c0/e3fc3c9e02bd908b37e8e8cd4f3d7280cf6ac45e33fc203aedbb615135a0fecc33bf92573b71a166a827af029d302c0b060354985cd91d510320bd70a2f949eb + checksum: 10c0/efb82faff4c7c27e9c15bb28bf11c73200e61cf365118a9514e8d74dd489d0afc2a0d5aaa62cb4254eefc2ab631579224d95a03fd245410f28ea75e24de54ba4 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.17 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.17" 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.8" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/b2217bc8d5976cf8142453ed44daabf0b2e0e75518f24eac83b54a8892e87a88f1bd9089daa92fd25df979ecd0acfd29b6bc28c4182c1c46344cee15ef9bce84 + checksum: 10c0/1284960ea403c63b0dd598f338666c4b17d489aefee30b4da6a7313eff1d91edffb0ccf26341a6e5d94231684b74e016eade66b3921ea112f8b0e4980fa08a5c 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.2 + resolution: "babel-plugin-polyfill-corejs3@npm:0.14.2" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.8" + core-js-compat: "npm:^3.48.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/32f70442f142d0f5607f4b57c121c573b106e09da8659c0f03108a85bf1d09ba5bdc89595a82b34ff76c19f1faf3d1c831b56166f03babf69c024f36da77c3bf + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.5, babel-plugin-polyfill-regenerator@npm:^0.6.6": + version: 0.6.8 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.8" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + "@babel/helper-define-polyfill-provider": "npm:^0.6.8" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/bc541037cf7620bc84ddb75a1c0ce3288f90e7d2799c070a53f8a495c8c8ae0316447becb06f958dd25dcce2a2fce855d318ecfa48036a1ddb218d55aa38a744 + checksum: 10c0/7c8b2497c29fa880e0acdc8e7b93e29b81b154179b83beb0476eb2c4e7a78b6b42fc35c2554ca250c9bd6d39941eaf75416254b8592ce50979f9a12e1d51c049 languageName: node linkType: hard @@ -7663,19 +6011,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 - languageName: node - linkType: hard - -"big-integer@npm:^1.6.44": - version: 1.6.52 - resolution: "big-integer@npm:1.6.52" - checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 +"baseline-browser-mapping@npm:^2.10.12, baseline-browser-mapping@npm:^2.9.19": + version: 2.10.21 + resolution: "baseline-browser-mapping@npm:2.10.21" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/065d90f98099dd0d7b6e1c284f7133d0eaebf571a7ee3e9e0740862dbd64cf040f4447404269bc8b1fd4015dead68c3a026e541a214050375df6bde20706ec8b languageName: node linkType: hard @@ -7686,25 +6027,7 @@ __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 - -"bl@npm:^4.0.3, bl@npm:^4.1.0": - version: 4.1.0 - resolution: "bl@npm:4.1.0" - dependencies: - buffer: "npm:^5.5.0" - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.4.0" - checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f - languageName: node - linkType: hard - -"blake3-wasm@npm:^2.1.5": +"blake3-wasm@npm:2.1.5": version: 2.1.5 resolution: "blake3-wasm@npm:2.1.5" checksum: 10c0/5dc729d8e3a9d1d7ab016b36cdda264a327ada0239716df48435163e11d2bf6df25d6e421655a1f52649098ae49555268a654729b7d02768f77c571ab37ef814 @@ -7712,36 +6035,16 @@ __metadata: linkType: hard "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": - version: 4.12.0 - resolution: "bn.js@npm:4.12.0" - checksum: 10c0/9736aaa317421b6b3ed038ff3d4491935a01419ac2d83ddcfebc5717385295fcfcf0c57311d90fe49926d0abbd7a9dbefdd8861e6129939177f7e67ebc645b21 - languageName: node - linkType: hard - -"bn.js@npm:^5.0.0, bn.js@npm:^5.2.1": - version: 5.2.1 - resolution: "bn.js@npm:5.2.1" - checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa + version: 4.12.3 + resolution: "bn.js@npm:4.12.3" + checksum: 10c0/53b6a4db8a583abd2522eacd480fece26fe6c4d8d35d03e5e11e15cb0873a3044eb4e3d1f9fef56f47eb008219e99ba5b620c26f57db49a687c6ab2cf848d50b 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 +"bn.js@npm:^5.2.1, bn.js@npm:^5.2.2": + version: 5.2.3 + resolution: "bn.js@npm:5.2.3" + checksum: 10c0/eef19cb9cf5e91e91e3e0f036b799ce6c72f79463c3934d62991c3dcdb58f6c94dc3d806495d9b0bf31cd121870ed79bb2115cea71b56c03e794fb71485031fa languageName: node linkType: hard @@ -7752,35 +6055,17 @@ __metadata: languageName: node linkType: hard -"bplist-parser@npm:^0.2.0": - version: 0.2.0 - resolution: "bplist-parser@npm:0.2.0" - dependencies: - big-integer: "npm:^1.6.44" - checksum: 10c0/ce79c69e0f6efe506281e7c84e3712f7d12978991675b6e3a58a295b16f13ca81aa9b845c335614a545e0af728c8311b6aa3142af76ba1cb616af9bbac5c4a9f - languageName: node - linkType: hard - "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.14 + resolution: "brace-expansion@npm:1.1.14" dependencies: balanced-match: "npm:^1.0.0" concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + checksum: 10c0/b6fdac832bc4e36a753658c9ed052c2e1a2be221763b002df25d1efbf7d21724334e726a6cd5eadc72a4b19ec3efb632d629cc003bc9c62f7af7a7915ffa4385 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: @@ -7796,13 +6081,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" @@ -7817,7 +6095,7 @@ __metadata: languageName: node linkType: hard -"browserify-cipher@npm:^1.0.0": +"browserify-cipher@npm:^1.0.1": version: 1.0.1 resolution: "browserify-cipher@npm:1.0.1" dependencies: @@ -7840,40 +6118,31 @@ __metadata: languageName: node linkType: hard -"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": - version: 4.1.0 - resolution: "browserify-rsa@npm:4.1.0" +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.1": + version: 4.1.1 + resolution: "browserify-rsa@npm:4.1.1" dependencies: - bn.js: "npm:^5.0.0" - randombytes: "npm:^2.0.1" - checksum: 10c0/fb2b5a8279d8a567a28d8ee03fb62e448428a906bab5c3dc9e9c3253ace551b5ea271db15e566ac78f1b1d71b243559031446604168b9235c351a32cae99d02a + bn.js: "npm:^5.2.1" + randombytes: "npm:^2.1.0" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/b650ee1192e3d7f3d779edc06dd96ed8720362e72ac310c367b9d7fe35f7e8dbb983c1829142b2b3215458be8bf17c38adc7224920843024ed8cf39e19c513c0 languageName: node linkType: hard -"browserify-sign@npm:^4.0.0": - version: 4.2.3 - resolution: "browserify-sign@npm:4.2.3" +"browserify-sign@npm:^4.2.3": + version: 4.2.5 + resolution: "browserify-sign@npm:4.2.5" dependencies: - bn.js: "npm:^5.2.1" - browserify-rsa: "npm:^4.1.0" + bn.js: "npm:^5.2.2" + browserify-rsa: "npm:^4.1.1" create-hash: "npm:^1.2.0" create-hmac: "npm:^1.1.7" - elliptic: "npm:^6.5.5" - hash-base: "npm:~3.0" + elliptic: "npm:^6.6.1" inherits: "npm:^2.0.4" - parse-asn1: "npm:^5.1.7" + parse-asn1: "npm:^5.1.9" readable-stream: "npm:^2.3.8" safe-buffer: "npm:^5.2.1" - checksum: 10c0/30c0eba3f5970a20866a4d3fbba2c5bd1928cd24f47faf995f913f1499214c6f3be14bb4d6ec1ab5c6cafb1eca9cb76ba1c2e1c04ed018370634d4e659c77216 - languageName: node - linkType: hard - -"browserify-zlib@npm:^0.1.4": - version: 0.1.4 - resolution: "browserify-zlib@npm:0.1.4" - dependencies: - pako: "npm:~0.2.0" - checksum: 10c0/0cde7ca5d33d43125649330fd75c056397e53731956a2593c4a2529f4e609a8e6abdb2b8e1921683abf5645375b92cfb2a21baa42fe3c9fc3e2556d32043af93 + checksum: 10c0/6192f9696934bbba58932d098face34c2ab9cac09feed826618b86b8c00a897dab7324cd9aa7d6cb1597064f197264ad72fa5418d4d52bf3c8f9b9e0e124655e languageName: node linkType: hard @@ -7886,17 +6155,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.10, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": - version: 4.23.0 - resolution: "browserslist@npm:4.23.0" +"browserslist@npm:^4.24.0, browserslist@npm:^4.28.1": + version: 4.28.2 + resolution: "browserslist@npm:4.28.2" dependencies: - caniuse-lite: "npm:^1.0.30001587" - electron-to-chromium: "npm:^1.4.668" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.0.13" + baseline-browser-mapping: "npm:^2.10.12" + caniuse-lite: "npm:^1.0.30001782" + electron-to-chromium: "npm:^1.5.328" + node-releases: "npm:^2.0.36" + update-browserslist-db: "npm:^1.2.3" bin: browserslist: cli.js - checksum: 10c0/8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943 + checksum: 10c0/c0228b6330f785b7fa59d2d360124ec6d9322f96ed9f3ee1f873e33ecc9503a6f0ffc3b71191a28c4ff6e930b753b30043da1c33844a9548f3018d491f09ce60 languageName: node linkType: hard @@ -7914,16 +6184,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.1.13" - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e - languageName: node - linkType: hard - "buffer@npm:^6.0.3": version: 6.0.3 resolution: "buffer@npm:6.0.3" @@ -7941,59 +6201,44 @@ __metadata: languageName: node linkType: hard -"busboy@npm:1.6.0": - version: 1.6.0 - resolution: "busboy@npm:1.6.0" +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" dependencies: - streamsearch: "npm:^1.1.0" - checksum: 10c0/fa7e836a2b82699b6e074393428b91ae579d4f9e21f5ac468e1b459a244341d722d2d22d10920cdd849743dbece6dca11d72de939fb75a7448825cf2babfba1f - languageName: node - linkType: hard - -"bytes@npm:3.0.0": - version: 3.0.0 - resolution: "bytes@npm:3.0.0" - checksum: 10c0/91d42c38601c76460519ffef88371caacaea483a354c8e4b8808e7b027574436a5713337c003ea3de63ee4991c2a9a637884fdfe7f761760d746929d9e8fec60 + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 languageName: node linkType: hard -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 languageName: node linkType: hard -"cacache@npm:^18.0.0": - version: 18.0.3 - resolution: "cacache@npm:18.0.3" +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.9 + resolution: "call-bind@npm:1.0.9" dependencies: - "@npmcli/fs": "npm:^3.1.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/dfda92840bb371fb66b88c087c61a74544363b37a265023223a99965b16a16bbb87661fe4948718d79df6e0cc04e85e62784fbcf1832b2a5e54ff4c46fbb45b7 + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + get-intrinsic: "npm:^1.3.0" + set-function-length: "npm:^1.2.2" + checksum: 10c0/a6621f6da1444481919ce3b4983dff725691e0754d3507ae483ce56e54985f2da7d6f1df512c56dbf28660745cf1ca52553f1fc9aef5557f3ce353ef14fab714 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": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 languageName: node linkType: hard @@ -8014,27 +6259,10 @@ __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" - checksum: 10c0/e95136a423c0c5e7f9d026ef3f9be8d06cadc4c83ad65eedfaeaba6b5eb814489ea186e90bae1085f3be7348577e25f8fe436b384c2f983324ad8dea4a7dfe1d - languageName: node - linkType: hard - -"capnp-ts@npm:^0.7.0": - version: 0.7.0 - resolution: "capnp-ts@npm:0.7.0" - dependencies: - debug: "npm:^4.3.1" - tslib: "npm:^2.2.0" - checksum: 10c0/83d559c3d59126ee39295973bf2e9228cd4b559c81bfc938268c63deba4020f0df6ce2f2d1e2b7d7e4421de21f4854424b774ab9ac4d9a66d1c57d2fef7da870 +"caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001782": + version: 1.0.30001790 + resolution: "caniuse-lite@npm:1.0.30001790" + checksum: 10c0/eec0adc1dcb35d51e57bcfa0657493cb57ef43f0ceb03c1edcfee34d43e7a938e6beed2781118c7a5ee99d4f71d443977f08ca5a549005cf89260733af9ad3f8 languageName: node linkType: hard @@ -8052,43 +6280,20 @@ __metadata: languageName: node linkType: hard -"chai@npm:^4.3.10": - version: 4.4.1 - resolution: "chai@npm:4.4.1" - 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 - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" +"chai@npm:^5.2.0": + version: 5.3.3 + resolution: "chai@npm:5.3.3" dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 + 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 -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, 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: @@ -8098,10 +6303,10 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.3.0, chalk@npm:~5.3.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 +"chalk@npm:^5.3.0, chalk@npm:^5.4.1": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 languageName: node linkType: hard @@ -8133,64 +6338,26 @@ __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 - languageName: node - linkType: hard - -"chownr@npm:^1.1.1": - version: 1.1.4 - resolution: "chownr@npm:1.1.4" - checksum: 10c0/ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad 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 +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 languageName: node linkType: hard @@ -8202,37 +6369,36 @@ __metadata: linkType: hard "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.4 - resolution: "cipher-base@npm:1.0.4" - dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/d8d005f8b64d8a77b3d3ce531301ae7b45902c9cab4ec8b66bdbd2bf2a1d9fceb9a2133c293eb3c060b2d964da0f14c47fb740366081338aa3795dd1faa8984b - languageName: node - linkType: hard - -"citty@npm:^0.1.6": - version: 0.1.6 - resolution: "citty@npm:0.1.6" + version: 1.0.7 + resolution: "cipher-base@npm:1.0.7" dependencies: - consola: "npm:^3.2.3" - checksum: 10c0/d26ad82a9a4a8858c7e149d90b878a3eceecd4cfd3e2ed3cd5f9a06212e451fb4f8cbe0fa39a3acb1b3e8f18e22db8ee5def5829384bad50e823d4b301609b48 + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.2" + checksum: 10c0/53c5046a9d9b60c586479b8f13fde263c3f905e13f11e8e04c7a311ce399c91d9c3ec96642332e0de077d356e1014ee12bba96f74fbaad0de750f49122258836 languageName: node linkType: hard "cjs-module-lexer@npm:^1.2.3": - version: 1.3.1 - resolution: "cjs-module-lexer@npm:1.3.1" - checksum: 10c0/cd98fbf3c7f4272fb0ebf71d08d0c54bc75ce0e30b9d186114e15b4ba791f3d310af65a339eea2a0318599af2818cdd8886d353b43dfab94468f72987397ad16 + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be languageName: node linkType: hard "class-variance-authority@npm:^0.7.0": - version: 0.7.0 - resolution: "class-variance-authority@npm:0.7.0" + version: 0.7.1 + resolution: "class-variance-authority@npm:0.7.1" dependencies: - clsx: "npm:2.0.0" - checksum: 10c0/e11c57edf4bf50ef1c97bae41d68885afbaaedba26c48b7cc5dfb033390fed7012147e9532168d8c4f3497fce4dff15e20e6e60b8c9c9a4b0fe26b0e804513db + clsx: "npm:^2.1.1" + checksum: 10c0/0f438cea22131808b99272de0fa933c2532d5659773bfec0c583de7b3f038378996d3350683426b8e9c74a6286699382106d71fbec52f0dd5fbb191792cccb5b + 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 @@ -8245,51 +6411,22 @@ __metadata: languageName: node linkType: hard -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: "npm:^3.1.0" - checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 - languageName: node - linkType: hard - -"cli-cursor@npm:^4.0.0": - version: 4.0.0 - resolution: "cli-cursor@npm:4.0.0" +"cli-cursor@npm:^5.0.0": + version: 5.0.0 + resolution: "cli-cursor@npm:5.0.0" dependencies: - restore-cursor: "npm:^4.0.0" - checksum: 10c0/e776e8c3c6727300d0539b0d25160b2bb56aed1a63942753ba1826b012f337a6f4b7ace3548402e4f2f13b5e16bfd751be672c44b203205e7eca8be94afec42c + restore-cursor: "npm:^5.0.0" + checksum: 10c0/7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220 languageName: node linkType: hard -"cli-spinners@npm:^2.5.0, cli-spinners@npm:^2.9.2": +"cli-spinners@npm:^2.9.2": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 languageName: node linkType: hard -"cli-table3@npm:^0.6.1": - version: 0.6.5 - resolution: "cli-table3@npm:0.6.5" - dependencies: - "@colors/colors": "npm:1.5.0" - string-width: "npm:^4.2.0" - dependenciesMeta: - "@colors/colors": - optional: true - checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 - languageName: node - linkType: hard - "cli-truncate@npm:^4.0.0": version: 4.0.0 resolution: "cli-truncate@npm:4.0.0" @@ -8301,20 +6438,9 @@ __metadata: linkType: hard "client-only@npm:0.0.1": - version: 0.0.1 - resolution: "client-only@npm:0.0.1" - checksum: 10c0/9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 - 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 + version: 0.0.1 + resolution: "client-only@npm:0.0.1" + checksum: 10c0/9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 languageName: node linkType: hard @@ -8329,31 +6455,6 @@ __metadata: languageName: node linkType: hard -"clone-deep@npm:^4.0.1": - version: 4.0.1 - resolution: "clone-deep@npm:4.0.1" - dependencies: - is-plain-object: "npm:^2.0.4" - kind-of: "npm:^6.0.2" - shallow-clone: "npm:^3.0.0" - checksum: 10c0/637753615aa24adf0f2d505947a1bb75e63964309034a1cf56ba4b1f30af155201edd38d26ffe26911adaae267a3c138b344a4947d39f5fc1b6d6108125aa758 - languageName: node - linkType: hard - -"clone@npm:^1.0.2": - version: 1.0.4 - resolution: "clone@npm:1.0.4" - checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b - languageName: node - linkType: hard - -"clsx@npm:2.0.0": - version: 2.0.0 - resolution: "clsx@npm:2.0.0" - checksum: 10c0/c09f43b3144a0b7826b6b11b6a111b2c7440831004eecc02d333533c5e58ef0aa5f2dce071d3b25fbb8c8ea97b45df96c74bcc1d51c8c2027eb981931107b0cd - languageName: node - linkType: hard - "clsx@npm:^2.1.1": version: 2.1.1 resolution: "clsx@npm:2.1.1" @@ -8362,24 +6463,24 @@ __metadata: linkType: hard "cmdk@npm:^1.0.0": - version: 1.0.0 - resolution: "cmdk@npm:1.0.0" + version: 1.1.1 + resolution: "cmdk@npm:1.1.1" dependencies: - "@radix-ui/react-dialog": "npm:1.0.5" - "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-compose-refs": "npm:^1.1.1" + "@radix-ui/react-dialog": "npm:^1.1.6" + "@radix-ui/react-id": "npm:^1.1.0" + "@radix-ui/react-primitive": "npm:^2.0.2" peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - checksum: 10c0/bf1c9cfce46f2f507ab95735fa08c9aa27e76ecdff87720cc51ae89dbf4814b7559668458f66ff4c3932a88a6b9d8817be05c3cc4ff98bc40c3645acf4a97376 + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc + checksum: 10c0/5605ac4396ec9bc65c82f954da19dd89a0636a54026df72780e2470da1381f9d57434a80a53f2d57eaa4e759660a3ebba9232b74258dc09970576591eae03116 languageName: node linkType: hard -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c +"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 @@ -8392,13 +6493,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - "color-name@npm:^1.0.0, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -8440,13 +6534,20 @@ __metadata: languageName: node linkType: hard -"commander@npm:^12.1.0, commander@npm:~12.1.0": +"commander@npm:^12.1.0": version: 12.1.0 resolution: "commander@npm:12.1.0" checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 languageName: node linkType: hard +"commander@npm:^13.1.0": + version: 13.1.0 + resolution: "commander@npm:13.1.0" + checksum: 10c0/7b8c5544bba704fbe84b7cab2e043df8586d5c114a4c5b607f83ae5060708940ed0b5bd5838cf8ce27539cde265c1cbd59ce3c8c6b017ed3eec8943e3a415164 + languageName: node + linkType: hard + "commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" @@ -8454,20 +6555,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:^6.2.1": - version: 6.2.1 - resolution: "commander@npm:6.2.1" - checksum: 10c0/85748abd9d18c8bc88febed58b98f66b7c591d9b5017cad459565761d7b29ca13b7783ea2ee5ce84bf235897333706c4ce29adf1ce15c8252780e7000e2ce9ea - languageName: node - linkType: hard - "commander@npm:^8.3.0": version: 8.3.0 resolution: "commander@npm:8.3.0" @@ -8475,19 +6562,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" @@ -8512,30 +6586,6 @@ __metadata: languageName: node linkType: hard -"compressible@npm:~2.0.16": - version: 2.0.18 - resolution: "compressible@npm:2.0.18" - dependencies: - mime-db: "npm:>= 1.43.0 < 2" - checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 - languageName: node - linkType: hard - -"compression@npm:^1.7.4": - version: 1.7.4 - resolution: "compression@npm:1.7.4" - dependencies: - accepts: "npm:~1.3.5" - bytes: "npm:3.0.0" - compressible: "npm:~2.0.16" - debug: "npm:2.6.9" - on-headers: "npm:~1.0.2" - safe-buffer: "npm:5.1.2" - vary: "npm:~1.1.2" - checksum: 10c0/138db836202a406d8a14156a5564fb1700632a76b6e7d1546939472895a5304f2b23c80d7a22bf44c767e87a26e070dbc342ea63bb45ee9c863354fa5556bbbc - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -8543,33 +6593,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 - -"consola@npm:^3.2.3": - version: 3.2.3 - resolution: "consola@npm:3.2.3" - checksum: 10c0/c606220524ec88a05bb1baf557e9e0e04a0c08a9c35d7a08652d99de195c4ddcb6572040a7df57a18ff38bbc13ce9880ad032d56630cef27bef72768ef0ac078 - languageName: node - linkType: hard - "console-browserify@npm:^1.2.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -8584,38 +6607,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" @@ -8662,79 +6653,76 @@ __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 +"cookie@npm:^0.7.1": + version: 0.7.2 + resolution: "cookie@npm:0.7.2" + checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 languageName: node linkType: hard -"cookie@npm:^0.5.0": - version: 0.5.0 - resolution: "cookie@npm:0.5.0" - checksum: 10c0/c01ca3ef8d7b8187bae434434582288681273b5a9ed27521d4d7f9f7928fe0c920df0decd9f9d3bbd2d14ac432b8c8cf42b98b3bdd5bfe0e6edddeebebe8b61d +"core-js-compat@npm:^3.43.0, core-js-compat@npm:^3.48.0": + version: 3.49.0 + resolution: "core-js-compat@npm:3.49.0" + dependencies: + browserslist: "npm:^4.28.1" + checksum: 10c0/546e64b7ce45f724825bc13c1347f35c0459a6e71c0dcccff3ec21fbff463f5b0b97fc1220e6d90302153863489301793276fe2bf96f46001ff555ead4140308 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" - dependencies: - browserslist: "npm:^4.23.0" - checksum: 10c0/4e2da9c900f2951a57947af7aeef4d16f2c75d7f7e966c0d0b62953f65225003ade5e84d3ae98847f65b24c109c606821d9dc925db8ca418fb761e7c81963c2a +"core-js-pure@npm:^3.23.3": + version: 3.49.0 + resolution: "core-js-pure@npm:3.49.0" + checksum: 10c0/b4580a57b917d0bf1029356b1a60abf0f9b99562b67bf39c01485d58891f23603459ed71bde1d7f75c0a9a346829d8c281b255c525fb119726341364c513e82e languageName: node linkType: hard -"core-js-pure@npm:^3.23.3": - version: 3.37.1 - resolution: "core-js-pure@npm:3.37.1" - checksum: 10c0/38200d08862b4ef2207af72a7525f7b9ac750f5e1d84ef27a3e314aefa69518179a9b732f51ebe35c3b38606d9fa4f686fcf6eff067615cc293a3b1c84041e74 +"core-js@npm:^3.38.1": + version: 3.49.0 + resolution: "core-js@npm:3.49.0" + checksum: 10c0/2e42edb47eda38fd5368380131623c8aa5d4a6b42164125b17744bdc08fa5ebbbdd06b4b4aa6ca3663470a560b0f2fba48e18f142dfe264b0039df85bc625694 languageName: node linkType: hard -"core-util-is@npm:^1.0.3, core-util-is@npm:~1.0.0": +"core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 languageName: node linkType: hard -"cosmiconfig-typescript-loader@npm:^5.0.0": - version: 5.0.0 - resolution: "cosmiconfig-typescript-loader@npm:5.0.0" +"cosmiconfig-typescript-loader@npm:^6.1.0": + version: 6.3.0 + resolution: "cosmiconfig-typescript-loader@npm:6.3.0" dependencies: - jiti: "npm:^1.19.1" + jiti: "npm:2.6.1" peerDependencies: "@types/node": "*" - cosmiconfig: ">=8.2" - typescript: ">=4" - checksum: 10c0/0eb1a767a589cf092e68729e184d5917ae0b167b6f5d908bc58cee221d66b937430fc58df64029795ef98bb8e85c575da6e3819c5f9679c721de7bdbb4bde719 + cosmiconfig: ">=9" + typescript: ">=5" + checksum: 10c0/dd53519bf59b31c32a831f1140eaa44f4f0bf49229b7e3ba27bb6f26097c3ecff955a490e70b31349049463066b5047bd129ab82ed078be9b1f1f22ccb776c6a 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 "cosmiconfig@npm:^9.0.0": - version: 9.0.0 - resolution: "cosmiconfig@npm:9.0.0" + version: 9.0.1 + resolution: "cosmiconfig@npm:9.0.1" dependencies: env-paths: "npm:^2.2.1" import-fresh: "npm:^3.3.0" @@ -8745,11 +6733,11 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/1c1703be4f02a250b1d6ca3267e408ce16abfe8364193891afc94c2d5c060b69611fdc8d97af74b7e6d5d1aac0ab2fb94d6b079573146bc2d756c2484ce5f0ee + checksum: 10c0/a5d4d95599687532ee072bca60170133c24d4e08cd795529e0f22c6ce5fde9409eaf4f26e36e3d671f43270ef858fc68f3c7b0ec28e58fac7ddebda5b7725306 languageName: node linkType: hard -"create-ecdh@npm:^4.0.0": +"create-ecdh@npm:^4.0.4": version: 4.0.4 resolution: "create-ecdh@npm:4.0.4" dependencies: @@ -8759,7 +6747,7 @@ __metadata: languageName: node linkType: hard -"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": +"create-hash@npm:^1.1.0, create-hash@npm:^1.2.0": version: 1.2.0 resolution: "create-hash@npm:1.2.0" dependencies: @@ -8772,7 +6760,7 @@ __metadata: languageName: node linkType: hard -"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": +"create-hmac@npm:^1.1.7": version: 1.1.7 resolution: "create-hmac@npm:1.1.7" dependencies: @@ -8786,46 +6774,38 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.3": + 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/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 languageName: node linkType: hard "crypto-browserify@npm:^3.12.0": - version: 3.12.0 - resolution: "crypto-browserify@npm:3.12.0" - dependencies: - browserify-cipher: "npm:^1.0.0" - browserify-sign: "npm:^4.0.0" - create-ecdh: "npm:^4.0.0" - create-hash: "npm:^1.1.0" - create-hmac: "npm:^1.1.0" - diffie-hellman: "npm:^5.0.0" - inherits: "npm:^2.0.1" - pbkdf2: "npm:^3.0.3" - public-encrypt: "npm:^4.0.0" - randombytes: "npm:^2.0.0" - randomfill: "npm:^1.0.3" - checksum: 10c0/0c20198886576050a6aa5ba6ae42f2b82778bfba1753d80c5e7a090836890dc372bdc780986b2568b4fb8ed2a91c958e61db1f0b6b1cc96af4bd03ffc298ba92 - languageName: node - linkType: hard - -"crypto-random-string@npm:^4.0.0": - version: 4.0.0 - resolution: "crypto-random-string@npm:4.0.0" + version: 3.12.1 + resolution: "crypto-browserify@npm:3.12.1" dependencies: - type-fest: "npm:^1.0.1" - checksum: 10c0/16e11a3c8140398f5408b7fded35a961b9423c5dac39a60cbbd08bd3f0e07d7de130e87262adea7db03ec1a7a4b7551054e0db07ee5408b012bac5400cfc07a5 + browserify-cipher: "npm:^1.0.1" + browserify-sign: "npm:^4.2.3" + create-ecdh: "npm:^4.0.4" + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + diffie-hellman: "npm:^5.0.3" + hash-base: "npm:~3.0.4" + inherits: "npm:^2.0.4" + pbkdf2: "npm:^3.1.2" + public-encrypt: "npm:^4.0.3" + randombytes: "npm:^2.1.0" + randomfill: "npm:^1.0.4" + checksum: 10c0/184a2def7b16628e79841243232ab5497f18d8e158ac21b7ce90ab172427d0a892a561280adc08f9d4d517bce8db2a5b335dc21abb970f787f8e874bd7b9db7d 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: @@ -8849,6 +6829,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" @@ -8863,9 +6867,9 @@ __metadata: linkType: hard "css-what@npm:^6.0.1": - version: 6.1.0 - resolution: "css-what@npm:6.1.0" - checksum: 10c0/a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746 + version: 6.2.2 + resolution: "css-what@npm:6.2.2" + checksum: 10c0/91e24c26fb977b4ccef30d7007d2668c1c10ac0154cc3f42f7304410e9594fb772aea4f30c832d2993b132ca8d99338050866476210316345ec2e7d47b248a56 languageName: node linkType: hard @@ -8885,80 +6889,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 @@ -8969,42 +6999,24 @@ __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": - version: 4.3.5 - resolution: "debug@npm:4.3.5" +"debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.4.0, debug@npm:^4.4.3": + version: 4.4.3 + resolution: "debug@npm:4.4.3" dependencies: - ms: "npm:2.1.2" + ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/082c375a2bdc4f4469c99f325ff458adad62a3fc2c482d59923c260cb08152f34e2659f72b3767db8bb2f21ca81a60a42d1019605a412132d7b9f59363a005cc - languageName: node - linkType: hard - -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 languageName: node linkType: hard "decode-named-character-reference@npm:^1.0.0": - version: 1.0.2 - resolution: "decode-named-character-reference@npm:1.0.2" + version: 1.3.0 + resolution: "decode-named-character-reference@npm:1.3.0" dependencies: character-entities: "npm:^2.0.0" - checksum: 10c0/66a9fc5d9b5385a2b3675c69ba0d8e893393d64057f7dbbb585265bb4fc05ec513d76943b8e5aac7d8016d20eea4499322cbf4cd6d54b466976b78f3a7587a4c + checksum: 10c0/787f4c87f3b82ea342aa7c2d7b1882b6fb9511bb77f72ae44dcaabea0470bacd1e9c6a0080ab886545019fa0cb3a7109573fad6b61a362844c3a0ac52b36e4bb languageName: node linkType: hard @@ -9015,45 +7027,10 @@ __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 - 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 - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 languageName: node linkType: hard @@ -9064,22 +7041,20 @@ __metadata: languageName: node linkType: hard -"default-browser-id@npm:3.0.0": - version: 3.0.0 - resolution: "default-browser-id@npm:3.0.0" - dependencies: - bplist-parser: "npm:^0.2.0" - untildify: "npm:^4.0.0" - checksum: 10c0/8db3ab882eb3e1e8b59d84c8641320e6c66d8eeb17eb4bb848b7dd549b1e6fd313988e4a13542e95fbaeff03f6e9dedc5ad191ad4df7996187753eb0d45c00b7 +"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 -"defaults@npm:^1.0.3": - version: 1.0.4 - resolution: "defaults@npm:1.0.4" +"default-browser@npm:^5.2.1": + version: 5.5.0 + resolution: "default-browser@npm:5.5.0" dependencies: - clone: "npm:^1.0.2" - checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/576593b617b17a7223014b4571bfe1c06a2581a4eb8b130985d90d253afa3f40999caec70eb0e5776e80d4af6a41cce91018cd3f86e57ad578bf59e46fb19abe languageName: node linkType: hard @@ -9094,14 +7069,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: @@ -9113,20 +7088,13 @@ __metadata: linkType: hard "defu@npm:^6.1.4": - version: 6.1.4 - resolution: "defu@npm:6.1.4" - checksum: 10c0/2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5 - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + version: 6.1.7 + resolution: "defu@npm:6.1.7" + checksum: 10c0/e6635388103c8be3c574ac31302f6930e5e6eeedba32cb1b30cf993c7d9fb571aec2485446dfa23bfa63e55e66156fe109027a9695db82a50f931e91e8d4bedb languageName: node linkType: hard -"dequal@npm:^2.0.0, dequal@npm:^2.0.2, dequal@npm:^2.0.3": +"dequal@npm:^2.0.0": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 @@ -9143,24 +7111,10 @@ __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-indent@npm:^6.1.0": - version: 6.1.0 - resolution: "detect-indent@npm:6.1.0" - checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 - languageName: node - linkType: hard - -"detect-libc@npm:^2.0.3": - version: 2.0.3 - resolution: "detect-libc@npm:2.0.3" - checksum: 10c0/88095bda8f90220c95f162bf92cad70bd0e424913e655c20578600e35b91edc261af27531cf160a331e185c0ced93944bc7e09939143225f56312d7fd800fdb7 +"detect-libc@npm:^2.0.3, detect-libc@npm:^2.1.2": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 languageName: node linkType: hard @@ -9171,28 +7125,6 @@ __metadata: languageName: node linkType: hard -"detect-package-manager@npm:^2.0.1": - version: 2.0.1 - resolution: "detect-package-manager@npm:2.0.1" - dependencies: - execa: "npm:^5.1.1" - checksum: 10c0/56ffd65228d1ff3ead5ea7f8ab951a517a29270de27510b790c9a8b77d4f36efbd61493e170ca77ee3dc13cbb5218583ce65b78ad14a59dc48565c9bcbbf3c71 - languageName: node - linkType: hard - -"detect-port@npm:^1.3.0": - version: 1.6.1 - resolution: "detect-port@npm:1.6.1" - dependencies: - address: "npm:^1.0.1" - debug: "npm:4" - bin: - detect: bin/detect-port.js - detect-port: bin/detect-port.js - checksum: 10c0/4ea9eb46a637cb21220dd0a62b6074792894fc77b2cacbc9de533d1908b2eedafa7bfd7547baaa2ac1e9c7ba7c289b34b17db896dca6da142f4fc6e2060eee17 - languageName: node - linkType: hard - "devlop@npm:^1.0.0, devlop@npm:^1.1.0": version: 1.1.0 resolution: "devlop@npm:1.1.0" @@ -9202,28 +7134,7 @@ __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, diff@npm:^5.2.0": - version: 5.2.0 - resolution: "diff@npm:5.2.0" - checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 - languageName: node - linkType: hard - -"diffie-hellman@npm:^5.0.0": +"diffie-hellman@npm:^5.0.3": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" dependencies: @@ -9234,31 +7145,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" @@ -9268,13 +7154,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" @@ -9325,6 +7204,18 @@ __metadata: languageName: node linkType: hard +"dompurify@npm:^3.3.2": + version: 3.4.1 + resolution: "dompurify@npm:3.4.1" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10c0/440a4246020cb54b82ef2cb66381e4d310a0c470f9994655e61b6122811f0eaa00a2f9665d2bed30ca3f58932ba7bb0d5e26fdfce61c8daf35d21a3f5a799e48 + languageName: node + linkType: hard + "domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -9355,65 +7246,25 @@ __metadata: 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 - languageName: node - linkType: hard - -"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0": - version: 3.7.1 - resolution: "duplexify@npm:3.7.1" - dependencies: - end-of-stream: "npm:^1.0.0" - inherits: "npm:^2.0.1" - readable-stream: "npm:^2.0.0" - stream-shift: "npm:^1.0.0" - checksum: 10c0/59d1440c1b4e3a4db35ae96933392703ce83518db1828d06b9b6322920d6cbbf0b7159e88be120385fe459e77f1eb0c7622f26e9ec1f47c9ff05c2b35747dbd3 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - 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 - -"ejs@npm:^3.1.10": - version: 3.1.10 - resolution: "ejs@npm:3.1.10" +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.668": - version: 1.4.796 - resolution: "electron-to-chromium@npm:1.4.796" - checksum: 10c0/4f80f06f8e86a56889c1f687db4fec2d5cba6daf23e1f5f621e98254501579d83eaeff9aa1f7aa4144407b519507ea1e55397bfa8f82f1491b17cc4c238bdf6e +"electron-to-chromium@npm:^1.5.328": + version: 1.5.344 + resolution: "electron-to-chromium@npm:1.5.344" + checksum: 10c0/36624a59b2da4cb2bdee3085f5fc814bc0ba5830162a26f45c4b189177455869fd9d9c2e05fa28e69a45fb95c04d3e995962ff0e1658f552dcbe147a731c4f1d languageName: node linkType: hard -"elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": +"elliptic@npm:^6.5.3, elliptic@npm:^6.6.1": version: 6.6.1 resolution: "elliptic@npm:6.6.1" dependencies: @@ -9429,9 +7280,9 @@ __metadata: linkType: hard "emoji-regex@npm:^10.3.0": - version: 10.3.0 - resolution: "emoji-regex@npm:10.3.0" - checksum: 10c0/b4838e8dcdceb44cf47f59abe352c25ff4fe7857acaf5fb51097c427f6f75b44d052eb907a7a3b86f86bc4eae3a93f5c2b7460abe79c407307e6212d65c91163 + version: 10.6.0 + resolution: "emoji-regex@npm:10.6.0" + checksum: 10c0/1e4aa097bb007301c3b4b1913879ae27327fdc48e93eeefefe3b87e495eb33c5af155300be951b4349ff6ac084f4403dc9eff970acba7c1c572d89396a9a32d7 languageName: node linkType: hard @@ -9442,13 +7293,6 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - "emojis-list@npm:^3.0.0": version: 3.0.0 resolution: "emojis-list@npm:3.0.0" @@ -9456,38 +7300,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" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: "npm:^1.4.0" - checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 - languageName: node - linkType: hard - "endent@npm:^2.0.1": version: 2.1.0 resolution: "endent@npm:2.1.0" @@ -9499,23 +7311,13 @@ __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" - dependencies: - graceful-fs: "npm:^4.2.4" - tapable: "npm:^2.2.0" - checksum: 10c0/90065e58e4fd08e77ba47f827eaa17d60c335e01e4859f6e644bb3b8d0e32b203d33894aee92adfa5121fa262f912b48bdf0d0475e98b4a0a1132eea1169ad37 - 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, enhanced-resolve@npm:^5.20.0, enhanced-resolve@npm:^5.7.0": + version: 5.21.0 + resolution: "enhanced-resolve@npm:5.21.0" dependencies: graceful-fs: "npm:^4.2.4" - tapable: "npm:^2.2.0" - checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370 + tapable: "npm:^2.3.3" + checksum: 10c0/8d25b9eb7cbaaf6bac7ca52cefb6aa8a723a3cea754aa3c52f269bdae3b6d5f3219fadbaf4362ed7d53f027e0b83bfbeb4c646640123cf62e6dbe52f28604c77 languageName: node linkType: hard @@ -9526,10 +7328,10 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.4.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 +"entities@npm:^6.0.0": + version: 6.0.1 + resolution: "entities@npm:6.0.1" + checksum: 10c0/ed836ddac5acb34341094eb495185d527bd70e8632b6c0d59548cbfa23defdbae70b96f9a405c82904efa421230b5b3fd2283752447d737beffd3f3e6ee74414 languageName: node linkType: hard @@ -9540,28 +7342,19 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:^7.7.3": - version: 7.13.0 - resolution: "envinfo@npm:7.13.0" - bin: - envinfo: dist/cli.js - checksum: 10c0/9c279213cbbb353b3171e8e333fd2ed564054abade08ab3d735fe136e10a0e14e0588e1ce77e6f01285f2462eaca945d64f0778be5ae3d9e82804943e36a4411 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 +"environment@npm:^1.0.0": + version: 1.1.0 + resolution: "environment@npm:1.1.0" + checksum: 10c0/fb26434b0b581ab397039e51ff3c92b34924a98b2039dcb47e41b7bca577b9dbf134a8eadb364415c74464b682e2d3afe1a4c0eb9873dc44ea814c5d3103331d languageName: node linkType: hard "error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" + version: 1.3.4 + resolution: "error-ex@npm:1.3.4" dependencies: is-arrayish: "npm:^0.2.1" - checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + checksum: 10c0/b9e34ff4778b8f3b31a8377e1c654456f4c41aeaa3d10a1138c3b7635d8b7b2e03eb2475d46d8ae055c1f180a1063e100bffabf64ea7e7388b37735df5328664 languageName: node linkType: hard @@ -9574,177 +7367,64 @@ __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" - dependencies: - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c 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 +"es-module-lexer@npm:^1.5.0": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b 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" - checksum: 10c0/0f50b655490d1048432eac6eec94d99d3933119666ae82be578c3db1ea4b2c594118a336f6b7a3c4e2815355dcc9a469d880acef1c45aa656a5aae8c8ae8e5f6 +"es-module-lexer@npm:^2.0.0": + version: 2.0.0 + resolution: "es-module-lexer@npm:2.0.0" + checksum: 10c0/ae78dbbd43035a4b972c46cfb6877e374ea290adfc62bc2f5a083fea242c0b2baaab25c5886af86be55f092f4a326741cb94334cd3c478c383fdc8a9ec5ff817 languageName: node linkType: hard -"es-object-atoms@npm:^1.0.0": - version: 1.0.0 - resolution: "es-object-atoms@npm:1.0.0" +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" dependencies: es-errors: "npm:^1.3.0" - checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4 - 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 + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c 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 - languageName: node - linkType: hard - -"esbuild-plugin-alias@npm:^0.2.1": - version: 0.2.1 - resolution: "esbuild-plugin-alias@npm:0.2.1" - checksum: 10c0/a67bc6bc2744fc8637f7321f00c1f00e4fae86c182662421738ebfabf3ad344967b9c667185c6c34d9edd5b289807d34bfdceef94620e94e0a45683534af69e0 + "@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 @@ -9825,33 +7505,39 @@ __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" +"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.7 + resolution: "esbuild@npm:0.27.7" + dependencies: + "@esbuild/aix-ppc64": "npm:0.27.7" + "@esbuild/android-arm": "npm:0.27.7" + "@esbuild/android-arm64": "npm:0.27.7" + "@esbuild/android-x64": "npm:0.27.7" + "@esbuild/darwin-arm64": "npm:0.27.7" + "@esbuild/darwin-x64": "npm:0.27.7" + "@esbuild/freebsd-arm64": "npm:0.27.7" + "@esbuild/freebsd-x64": "npm:0.27.7" + "@esbuild/linux-arm": "npm:0.27.7" + "@esbuild/linux-arm64": "npm:0.27.7" + "@esbuild/linux-ia32": "npm:0.27.7" + "@esbuild/linux-loong64": "npm:0.27.7" + "@esbuild/linux-mips64el": "npm:0.27.7" + "@esbuild/linux-ppc64": "npm:0.27.7" + "@esbuild/linux-riscv64": "npm:0.27.7" + "@esbuild/linux-s390x": "npm:0.27.7" + "@esbuild/linux-x64": "npm:0.27.7" + "@esbuild/netbsd-arm64": "npm:0.27.7" + "@esbuild/netbsd-x64": "npm:0.27.7" + "@esbuild/openbsd-arm64": "npm:0.27.7" + "@esbuild/openbsd-x64": "npm:0.27.7" + "@esbuild/openharmony-arm64": "npm:0.27.7" + "@esbuild/sunos-x64": "npm:0.27.7" + "@esbuild/win32-arm64": "npm:0.27.7" + "@esbuild/win32-ia32": "npm:0.27.7" + "@esbuild/win32-x64": "npm:0.27.7" dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true "@esbuild/android-arm": optional: true "@esbuild/android-arm64": @@ -9884,10 +7570,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": @@ -9898,37 +7590,40 @@ __metadata: 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" + checksum: 10c0/ccd51f0555708bc9ff4ec9dc3ac92d3daacd45ecaac949ca8645984c5c323bf8cefe98c2df307418685e0b4ce37f9a3bdbfe8e3651fe632a0059a436195a17d4 + languageName: node + linkType: hard + +"esbuild@npm:^0.25.4": + version: 0.25.12 + resolution: "esbuild@npm:0.25.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.12" + "@esbuild/android-arm": "npm:0.25.12" + "@esbuild/android-arm64": "npm:0.25.12" + "@esbuild/android-x64": "npm:0.25.12" + "@esbuild/darwin-arm64": "npm:0.25.12" + "@esbuild/darwin-x64": "npm:0.25.12" + "@esbuild/freebsd-arm64": "npm:0.25.12" + "@esbuild/freebsd-x64": "npm:0.25.12" + "@esbuild/linux-arm": "npm:0.25.12" + "@esbuild/linux-arm64": "npm:0.25.12" + "@esbuild/linux-ia32": "npm:0.25.12" + "@esbuild/linux-loong64": "npm:0.25.12" + "@esbuild/linux-mips64el": "npm:0.25.12" + "@esbuild/linux-ppc64": "npm:0.25.12" + "@esbuild/linux-riscv64": "npm:0.25.12" + "@esbuild/linux-s390x": "npm:0.25.12" + "@esbuild/linux-x64": "npm:0.25.12" + "@esbuild/netbsd-arm64": "npm:0.25.12" + "@esbuild/netbsd-x64": "npm:0.25.12" + "@esbuild/openbsd-arm64": "npm:0.25.12" + "@esbuild/openbsd-x64": "npm:0.25.12" + "@esbuild/openharmony-arm64": "npm:0.25.12" + "@esbuild/sunos-x64": "npm:0.25.12" + "@esbuild/win32-arm64": "npm:0.25.12" + "@esbuild/win32-ia32": "npm:0.25.12" + "@esbuild/win32-x64": "npm:0.25.12" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -9964,10 +7659,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": @@ -9978,408 +7679,42 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/66398f9fb2c65e456a3e649747b39af8a001e47963b25e86d9c09d2a48d61aa641b27da0ce5cad63df95ad246105e1d83e7fee0e1e22a0663def73b1c5101112 - 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 + checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b 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 +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 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": - optional: true - eslint-config-prettier: - optional: true - checksum: 10c0/f45d5fc1fcfec6b0cf038a7a65ddd10a25df4fe3f9e1f6b7f0d5100e66f046a26a2492e69ee765dddf461b93c114cf2e1eb18d4970aafa6f385448985c136e09 - 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 - 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 - 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 - languageName: node - linkType: hard - -"eslint-plugin-unused-imports@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 - 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 - languageName: node - linkType: hard - -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^4.1.1" - checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a - 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 + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 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 +"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 -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"eslint-scope@npm:5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a 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: @@ -10389,15 +7724,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" @@ -10414,74 +7740,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 + checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 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 - 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 @@ -10492,7 +7813,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: @@ -10508,13 +7829,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" @@ -10523,9 +7837,9 @@ __metadata: linkType: hard "eventemitter3@npm:^5.0.1": - version: 5.0.1 - resolution: "eventemitter3@npm:5.0.1" - checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 + version: 5.0.4 + resolution: "eventemitter3@npm:5.0.4" + checksum: 10c0/575b8cac8d709e1473da46f8f15ef311b57ff7609445a7c71af5cd42598583eee6f098fa7a593e30f27e94b8865642baa0689e8fa97c016f742abdb3b1bf6d9a languageName: node linkType: hard @@ -10547,24 +7861,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0, execa@npm:^5.1.1": - 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": +"execa@npm:^8.0.1": version: 8.0.1 resolution: "execa@npm:8.0.1" dependencies: @@ -10581,7 +7878,7 @@ __metadata: languageName: node linkType: hard -"exit-hook@npm:^2.2.1": +"exit-hook@npm:2.2.1": version: 2.2.1 resolution: "exit-hook@npm:2.2.1" checksum: 10c0/0803726d1b60aade6afd10c73e5a7e1bf256ac9bee78362a88e91a4f735e8c67899f2853ddc613072c05af07bbb067a9978a740e614db1aeef167d50c6dc5c09 @@ -10589,57 +7886,16 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 - 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 - -"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 + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"exsolve@npm:^1.0.1": + version: 1.0.8 + resolution: "exsolve@npm:1.0.8" + checksum: 10c0/65e44ae05bd4a4a5d87cfdbbd6b8f24389282cf9f85fa5feb17ca87ad3f354877e6af4cd99e02fc29044174891f82d1d68c77f69234410eb8f163530e6278c67 languageName: node linkType: hard @@ -10657,26 +7913,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, fast-glob@npm:^3.3.2": - 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" @@ -10691,45 +7927,22 @@ __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 +"fast-uri@npm:^3.0.1": + version: 3.1.0 + resolution: "fast-uri@npm:3.1.0" + checksum: 10c0/44364adca566f70f40d1e9b772c923138d47efeac2ae9732a872baafd77061f26b097ba2f68f0892885ad177becd065520412b8ffeec34b16c99433c5b9e2de7 languageName: node linkType: hard -"fetch-retry@npm:^5.0.2": - version: 5.0.6 - resolution: "fetch-retry@npm:5.0.6" - checksum: 10c0/349f50db631039630e915f70c763469cb696f3ac92ca6f63823109334a2bc62f63670b8c5a5c7e0195c39df517e60ef385cc5264f4c4904d0c6707d371fa8999 +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f languageName: node linkType: hard @@ -10740,41 +7953,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 - -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 - 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" @@ -10791,33 +7969,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:^2.0.0": - version: 2.1.0 - resolution: "find-cache-dir@npm:2.1.0" - dependencies: - commondir: "npm:^1.0.1" - make-dir: "npm:^2.0.0" - pkg-dir: "npm:^3.0.0" - checksum: 10c0/556117fd0af14eb88fb69250f4bba9e905e7c355c6136dff0e161b9cbd1f5285f761b778565a278da73a130f42eccc723d7ad4c002ae547ed1d698d39779dabb - 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: @@ -10838,16 +7990,7 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: "npm:^3.0.0" - checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 - languageName: node - linkType: hard - -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": +"find-up@npm:^4.0.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" dependencies: @@ -10857,16 +8000,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" @@ -10900,46 +8033,29 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf - languageName: node - linkType: hard - -"flow-parser@npm:0.*": - version: 0.237.2 - resolution: "flow-parser@npm:0.237.2" - checksum: 10c0/d9f22f7028f4cecb1cb3f09d00112aa30ccbe6de728585ea6bc054c1571785c822427926d0951676e6f4fcfab07d42150e965f9ad98ae2cdc200d7a41ebc006b - languageName: node - linkType: hard - -"for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" - dependencies: - is-callable: "npm:^1.1.3" - checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + version: 3.4.2 + resolution: "flatted@npm:3.4.2" + checksum: 10c0/a65b67aae7172d6cdf63691be7de6c5cd5adbdfdfe2e9da1a09b617c9512ed794037741ee53d93114276bff3f93cd3b0d97d54f9b316e1e4885dde6e9ffdf7ed languageName: node linkType: hard -"foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" +"for-each@npm:^0.3.5": + version: 0.3.5 + resolution: "for-each@npm:0.3.5" dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^4.0.1" - checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 + is-callable: "npm:^1.2.7" + checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee 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" @@ -10951,42 +8067,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.38.0": + version: 12.38.0 + resolution: "framer-motion@npm:12.38.0" dependencies: + motion-dom: "npm:^12.38.0" + motion-utils: "npm:^12.36.0" 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 @@ -10994,32 +8089,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-constants@npm:^1.0.0": - version: 1.0.0 - resolution: "fs-constants@npm:1.0.0" - checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 - 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/bca830d85606ba49e84a1b12fb2b5353622a992809a4ae302084f06fd142e21d790f07ca3678c27e4fb75a8b8e687f42f2ae0cbb13345f2e5730a3fa2c4a5ecf languageName: node linkType: hard @@ -11034,39 +8104,10 @@ __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" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - "fs-monkey@npm:^1.0.4": - version: 1.0.6 - resolution: "fs-monkey@npm:1.0.6" - checksum: 10c0/6f2508e792a47e37b7eabd5afc79459c1ea72bce2a46007d2b7ed0bfc3a4d64af38975c6eb7e93edb69ac98bbb907c13ff1b1579b2cf52d3d02dbc0303fca79f + version: 1.1.0 + resolution: "fs-monkey@npm:1.1.0" + checksum: 10c0/45596fe14753ae8f3fa180724106383de68c8de2836eb24d1647cacf18a6d05335402f3611d32e00234072a60d2f3371024c00cd295593bfbce35b84ff9f6a34 languageName: node linkType: hard @@ -11077,6 +8118,16 @@ __metadata: languageName: node linkType: hard +"fsevents@npm:2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b + conditions: os=darwin + languageName: node + linkType: hard + "fsevents@npm:~2.3.2": version: 2.3.3 resolution: "fsevents@npm:2.3.3" @@ -11087,6 +8138,15 @@ __metadata: languageName: node linkType: hard +"fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin<compat/fsevents>": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin<compat/fsevents>::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + "fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin<compat/fsevents>": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin<compat/fsevents>::version=2.3.3&hash=df0bf1" @@ -11103,22 +8163,10 @@ __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 +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 languageName: node linkType: hard @@ -11136,30 +8184,31 @@ __metadata: languageName: node linkType: hard -"get-east-asian-width@npm:^1.0.0": - version: 1.2.0 - resolution: "get-east-asian-width@npm:1.2.0" - checksum: 10c0/914b1e217cf38436c24b4c60b4c45289e39a45bf9e65ef9fd343c2815a1a02b8a0215aeec8bf9c07c516089004b6e3826332481f40a09529fcadbf6e579f286b - 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 +"get-east-asian-width@npm:^1.0.0, get-east-asian-width@npm:^1.3.1": + version: 1.5.0 + resolution: "get-east-asian-width@npm:1.5.0" + checksum: 10c0/bff8bbc8d81790b9477f7aa55b1806b9f082a8dc1359fff7bd8b96939622c86b729685afc2bfeb22def1fc6ef1e5228e4d87dd4e6da60bc43a5edfb03c4ee167 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": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d languageName: node linkType: hard @@ -11170,72 +8219,30 @@ __metadata: languageName: node linkType: hard -"get-npm-tarball-url@npm:^2.0.3": - version: 2.1.0 - resolution: "get-npm-tarball-url@npm:2.1.0" - checksum: 10c0/af779fa5b9c89a3deaf9640630a23368f5ba6a028a1179872aaf581a59485fb2c2c6bd9b94670de228cfc5f23600c89a01e594879085f7fb4dddf820a63105b8 - languageName: node - linkType: hard - -"get-source@npm:^2.0.12": - version: 2.0.12 - resolution: "get-source@npm:2.0.12" - dependencies: - data-uri-to-buffer: "npm:^2.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/b1db46d28902344fd9407e1f0ed0b8f3a85cb4650f85ba8cee9c0b422fc75118172f12f735706e2c6e034617b13a2fbc5266e7fab617ecb184f0cee074b9dd3e - 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" - checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 - languageName: node - linkType: hard - -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" dependencies: - call-bind: "npm:^1.0.5" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0": - version: 4.7.5 - resolution: "get-tsconfig@npm:4.7.5" +"get-source@npm:^2.0.12": + version: 2.0.12 + resolution: "get-source@npm:2.0.12" dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/a917dff2ba9ee187c41945736bf9bbab65de31ce5bc1effd76267be483a7340915cff232199406379f26517d2d0a4edcdbcda8cca599c2480a0f2cf1e1de3efa + data-uri-to-buffer: "npm:^2.0.0" + source-map: "npm:^0.6.1" + checksum: 10c0/b1db46d28902344fd9407e1f0ed0b8f3a85cb4650f85ba8cee9c0b422fc75118172f12f735706e2c6e034617b13a2fbc5266e7fab617ecb184f0cee074b9dd3e languageName: node linkType: hard -"giget@npm:^1.0.0": - version: 1.2.3 - resolution: "giget@npm:1.2.3" - dependencies: - citty: "npm:^0.1.6" - consola: "npm:^3.2.3" - defu: "npm:^6.1.4" - node-fetch-native: "npm:^1.6.3" - nypm: "npm:^0.3.8" - ohash: "npm:^1.1.3" - pathe: "npm:^1.1.2" - tar: "npm:^6.2.0" - bin: - giget: dist/cli.mjs - checksum: 10c0/0e82836783c704346fdda83e23d144e97f28a959320b1d8ee73c69a5af562362bcb727cf6ad99f90e45ed8a6abec140833534bb1fedcaa1c06fa026daaf3119c +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 languageName: node linkType: hard @@ -11259,61 +8266,13 @@ __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, glob-to-regexp@npm:^0.4.1": version: 0.4.1 resolution: "glob-to-regexp@npm:0.4.1" checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 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": - version: 10.4.1 - resolution: "glob@npm:10.4.1" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/77f2900ed98b9cc2a0e1901ee5e476d664dae3cd0f1b662b8bfd4ccf00d0edc31a11595807706a274ca10e1e251411bbf2e8e976c82bed0d879a9b89343ed379 - languageName: node - linkType: hard - "glob@npm:^7.1.3": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -11337,143 +8296,20 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - 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 - -"globby@npm:^14.0.1": - version: 14.0.1 - resolution: "globby@npm:14.0.1" - dependencies: - "@sindresorhus/merge-streams": "npm:^2.1.0" - fast-glob: "npm:^3.3.2" - ignore: "npm:^5.2.4" - path-type: "npm:^5.0.0" - slash: "npm:^5.1.0" - unicorn-magic: "npm:^0.1.0" - checksum: 10c0/749a6be91cf455c161ebb5c9130df3991cb9fd7568425db850a8279a6cf45acd031c5069395beb7aeb4dd606b64f0d6ff8116c93726178d8e6182fee58c2736d - languageName: node - linkType: hard - -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 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 - -"gunzip-maybe@npm:^1.4.2": - version: 1.4.2 - resolution: "gunzip-maybe@npm:1.4.2" - dependencies: - browserify-zlib: "npm:^0.1.4" - is-deflate: "npm:^1.0.0" - is-gzip: "npm:^1.0.0" - peek-stream: "npm:^1.1.0" - pumpify: "npm:^1.3.3" - through2: "npm:^2.0.3" - bin: - gunzip-maybe: bin.js - checksum: 10c0/42798a8061759885c2084e1804e51313d14f2dc9cf6c137e222953ec802f914e592d6f9dbf6ad67f4e78eb036e86db017d9c7c93bb23e90cd5ae09326296ed77 - 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" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -11481,13 +8317,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" @@ -11497,21 +8326,14 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": - 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": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": +"has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" dependencies: @@ -11520,31 +8342,25 @@ __metadata: languageName: node linkType: hard -"hash-base@npm:^3.0.0": - version: 3.1.0 - resolution: "hash-base@npm:3.1.0" +"hash-base@npm:^3.0.0, hash-base@npm:^3.1.2": + version: 3.1.2 + resolution: "hash-base@npm:3.1.2" dependencies: inherits: "npm:^2.0.4" - readable-stream: "npm:^3.6.0" - safe-buffer: "npm:^5.2.0" - checksum: 10c0/663eabcf4173326fbb65a1918a509045590a26cc7e0964b754eef248d281305c6ec9f6b31cb508d02ffca383ab50028180ce5aefe013e942b44a903ac8dc80d0 + readable-stream: "npm:^2.3.8" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.1" + checksum: 10c0/f3b7fae1853b31340048dd659f40f5260ca6f3ff53b932f807f4ab701ee09039f6e9dbe1841723ff61e20f3f69d6387a352e4ccc5f997dedb0d375c7d88bc15e languageName: node linkType: hard -"hash-base@npm:~3.0": - version: 3.0.4 - resolution: "hash-base@npm:3.0.4" +"hash-base@npm:~3.0.4": + version: 3.0.5 + resolution: "hash-base@npm:3.0.5" dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/a13357dccb3827f0bb0b56bf928da85c428dc8670f6e4a1c7265e4f1653ce02d69030b40fd01b0f1d218a995a066eea279cded9cec72d207b593bcdfe309c2f0 - languageName: node - linkType: hard - -"hash-wasm@npm:^4.9.0": - version: 4.11.0 - resolution: "hash-wasm@npm:4.11.0" - checksum: 10c0/ddf87ed2319fc7c9ba745fffccbf008a80e931b5913b4eef42b038efc10705e48458e2bf528601f78142774108dd7b151341721ce05aca9c431179fe5cefbb72 + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/6dc185b79bad9b6d525cd132a588e4215380fdc36fec6f7a8a58c5db8e3b642557d02ad9c367f5e476c7c3ad3ccffa3607f308b124e1ed80e3b80a1b254db61e languageName: node linkType: hard @@ -11558,18 +8374,18 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" +"hasown@npm:^2.0.2": + version: 2.0.3 + resolution: "hasown@npm:2.0.3" dependencies: function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + checksum: 10c0/f5eb28c3fd0d3e4facd821c1eeee3836c37b70ab0b0fc532e8a39976e18fef43652415dadc52f8c7a5ff6d5ac93b7bef128789aa6f90f4e9b9a9083dce74ab38 languageName: node linkType: hard "hast-util-from-html@npm:^2.0.0": - version: 2.0.1 - resolution: "hast-util-from-html@npm:2.0.1" + version: 2.0.3 + resolution: "hast-util-from-html@npm:2.0.3" dependencies: "@types/hast": "npm:^3.0.0" devlop: "npm:^1.1.0" @@ -11577,38 +8393,23 @@ __metadata: parse5: "npm:^7.0.0" vfile: "npm:^6.0.0" vfile-message: "npm:^4.0.0" - checksum: 10c0/856ceec209940ac4f9db52bf6338b97fb11f27e6d5b930f89676bc16ee282c06f9ff2a17254280803aefdf740507cf3004f181d0286b04dda11907852decbe77 - 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 + checksum: 10c0/993ef707c1a12474c8d4094fc9706a72826c660a7e308ea54c50ad893353d32e139b7cbc67510c2e82feac572b320e3b05aeb13d0f9c6302d61261f337b46764 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" + version: 8.0.3 + resolution: "hast-util-from-parse5@npm:8.0.3" dependencies: "@types/hast": "npm:^3.0.0" "@types/unist": "npm:^3.0.0" devlop: "npm:^1.0.0" - hastscript: "npm:^8.0.0" - property-information: "npm:^6.0.0" + hastscript: "npm:^9.0.0" + property-information: "npm:^7.0.0" vfile: "npm:^6.0.0" vfile-location: "npm:^5.0.0" web-namespaces: "npm:^2.0.0" - checksum: 10c0/4a30bb885cff1f0e023c429ae3ece73fe4b03386f07234bf23f5555ca087c2573ff4e551035b417ed7615bde559f394cdaf1db2b91c3b7f0575f3563cd238969 + checksum: 10c0/40ace6c0ad43c26f721c7499fe408e639cde917b2350c9299635e6326559855896dae3c3ebf7440df54766b96c4276a7823e8f376a2b6a28b37b591f03412545 languageName: node linkType: hard @@ -11630,15 +8431,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" @@ -11648,120 +8440,100 @@ __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 "hast-util-to-string@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-to-string@npm:3.0.0" + version: 3.0.1 + resolution: "hast-util-to-string@npm:3.0.1" dependencies: "@types/hast": "npm:^3.0.0" - checksum: 10c0/649edd993cf244563ad86d861aa0863759a4fbec49c43b3d92240e42aa4b69f0c3332ddff9e80954bbd8756c86b0fddc20e97d281c6da59d00427f45da8dab68 - 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 + checksum: 10c0/b5fa1912a6ba6131affae52a0f4394406c4c0d23c2b0307f1d69988f1030c7bb830289303e67c5ad8f674f5f23a454c1dcd492c39e45a22c1f46d3c9bce5bd0c 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 -"hastscript@npm:^8.0.0": - version: 8.0.0 - resolution: "hastscript@npm:8.0.0" +"hastscript@npm:^9.0.0": + version: 9.0.1 + resolution: "hastscript@npm:9.0.1" dependencies: "@types/hast": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" hast-util-parse-selector: "npm:^4.0.0" - property-information: "npm:^6.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" - checksum: 10c0/f0b54bbdd710854b71c0f044612db0fe1b5e4d74fa2001633dc8c535c26033269f04f536f9fd5b03f234de1111808f9e230e9d19493bf919432bb24d541719e0 + checksum: 10c0/18dc8064e5c3a7a2ae862978e626b97a254e1c8a67ee9d0c9f06d373bba155ed805fc5b5ce21b990fb7bc174624889e5e1ce1cade264f1b1d58b48f994bc85ce languageName: node linkType: hard @@ -11785,17 +8557,10 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^2.1.4": - version: 2.8.9 - resolution: "hosted-git-info@npm:2.8.9" - checksum: 10c0/317cbc6b1bbbe23c2a40ae23f3dafe9fa349ce42a89a36f930e3f9c0530c179a3882d2ef1e4141a4c3674d6faaea862138ec55b43ad6f75e387fda2483a13c70 - languageName: node - linkType: hard - "html-entities@npm:^2.1.0": - version: 2.5.2 - resolution: "html-entities@npm:2.5.2" - checksum: 10c0/f20ffb4326606245c439c231de40a7c560607f639bf40ffbfb36b4c70729fd95d7964209045f1a4e62fe17f2364cef3d6e49b02ea09016f207fde51c2211e481 + version: 2.6.0 + resolution: "html-entities@npm:2.6.0" + checksum: 10c0/7c8b15d9ea0cd00dc9279f61bab002ba6ca8a7a0f3c36ed2db3530a67a9621c017830d1d2c1c65beb9b8e3436ea663e9cf8b230472e0e413359399413b27c8b7 languageName: node linkType: hard @@ -11816,23 +8581,16 @@ __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 "html-webpack-plugin@npm:^5.5.0": - version: 5.6.0 - resolution: "html-webpack-plugin@npm:5.6.0" + version: 5.6.7 + resolution: "html-webpack-plugin@npm:5.6.7" dependencies: "@types/html-minifier-terser": "npm:^6.0.0" html-minifier-terser: "npm:^6.0.2" @@ -11847,7 +8605,7 @@ __metadata: optional: true webpack: optional: true - checksum: 10c0/50d1a0f90d512463ea8d798985d91a7ccc9d5e461713dedb240125b2ff0671f58135dd9355f7969af341ff4725e73b2defbc0984cfdce930887a48506d970002 + checksum: 10c0/bc0496defbe59a9dc3c7806dc591c53142df1f9c6ed7110cddce00dd9aa733ca0df84fd69247bdb4b1c6f9e0fb3b37a6f007f9dd29e86658ed36e8866e760169 languageName: node linkType: hard @@ -11863,36 +8621,6 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - 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" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - "https-browserify@npm:^1.0.0": version: 1.0.0 resolution: "https-browserify@npm:1.0.0" @@ -11900,23 +8628,6 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": - version: 7.0.4 - resolution: "https-proxy-agent@npm:7.0.4" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: 10c0/bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b - 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" @@ -11925,29 +8636,11 @@ __metadata: linkType: hard "husky@npm:^9.0.11": - version: 9.0.11 - resolution: "husky@npm:9.0.11" + version: 9.1.7 + resolution: "husky@npm:9.1.7" bin: - husky: bin.mjs - checksum: 10c0/2c787dcf74a837fc9a4fea7da907509d4bd9a289f4ea10ecc9d86279e4d4542b0f5f6443a619bccae19e265f2677172cc2b86aae5c932a35a330cc227d914605 - 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" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + husky: bin.js + checksum: 10c0/35bb110a71086c48906aa7cd3ed4913fb913823715359d65e32e0b964cb1e255593b0ae8014a5005c66a68e6fa66c38dcfa8056dbbdfb8b0187c0ffe7ee3a58f languageName: node linkType: hard @@ -11960,59 +8653,36 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": +"ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.2.4, 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": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" +"import-fresh@npm:^3.3.0": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" dependencies: parent-module: "npm:^1.0.0" resolve-from: "npm:^4.0.0" - checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec languageName: node linkType: hard "import-meta-resolve@npm:^4.0.0": - version: 4.1.0 - resolution: "import-meta-resolve@npm:4.1.0" - checksum: 10c0/42f3284b0460635ddf105c4ad99c6716099c3ce76702602290ad5cbbcd295700cbc04e4bdf47bacf9e3f1a4cec2e1ff887dabc20458bef398f9de22ddff45ef5 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + version: 4.2.0 + resolution: "import-meta-resolve@npm:4.2.0" + checksum: 10c0/3ee8aeecb61d19b49d2703987f977e9d1c7d4ba47db615a570eaa02fe414f40dfa63f7b953e842cbe8470d26df6371332bfcf21b2fd92b0112f9fea80dde2c4c languageName: node linkType: hard @@ -12023,13 +8693,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" @@ -12040,7 +8703,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 @@ -12054,54 +8717,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 - languageName: node - linkType: hard - -"invariant@npm:^2.2.4": - version: 2.2.4 - resolution: "invariant@npm:2.2.4" - dependencies: - loose-envify: "npm:^1.0.0" - checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - 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 +"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 @@ -12122,23 +8741,13 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": - version: 1.1.1 - resolution: "is-arguments@npm:1.1.1" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/5ff1f341ee4475350adfc14b2328b38962564b7c2076be2f5bac7bd9b61779efba99b9f844a7b82ba7654adccf8e8eb19d1bb0cc6d1c1a085e498f6793d4328f - 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" +"is-arguments@npm:^1.0.4": + version: 1.2.0 + resolution: "is-arguments@npm:1.2.0" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/6377344b31e9fcb707c6751ee89b11f132f32338e6a782ec2eac9393b0cbd32235dad93052998cda778ee058754860738341d8114910d50ada5615912bb929fc languageName: node linkType: hard @@ -12150,46 +8759,9 @@ __metadata: linkType: hard "is-arrayish@npm:^0.3.1": - version: 0.3.2 - resolution: "is-arrayish@npm:0.3.2" - checksum: 10c0/f59b43dc1d129edb6f0e282595e56477f98c40278a2acdc8b0a5c57097c9eff8fe55470493df5775478cf32a4dc8eaf6d3a749f07ceee5bc263a78b2434f6a54 - 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 + version: 0.3.4 + resolution: "is-arrayish@npm:0.3.4" + checksum: 10c0/1fa672a2f0bedb74154440310f616c0b6e53a95cf0625522ae050f06626d1cabd1a3d8085c882dc45c61ad0e7df2529aff122810b3b4a552880bf170d6df94e0 languageName: node linkType: hard @@ -12200,37 +8772,19 @@ __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.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": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" - dependencies: - hasown: "npm:^2.0.0" - checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 - 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 @@ -12241,42 +8795,12 @@ __metadata: languageName: node linkType: hard -"is-deflate@npm:^1.0.0": - version: 1.0.0 - resolution: "is-deflate@npm:1.0.0" - checksum: 10c0/35f7ffcbef3549dd8a4d8df5dc09b4f4656a0fc88326e8b5201cda54114a9c2d8efb689d87c16f3f35c95bd71dcf13dc790d62b7504745b42c53ab4b40238f5a - 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 @@ -12295,36 +8819,24 @@ __metadata: linkType: hard "is-fullwidth-code-point@npm:^5.0.0": - version: 5.0.0 - resolution: "is-fullwidth-code-point@npm:5.0.0" - dependencies: - get-east-asian-width: "npm:^1.0.0" - checksum: 10c0/cd591b27d43d76b05fa65ed03eddce57a16e1eca0b7797ff7255de97019bcaf0219acfc0c4f7af13319e13541f2a53c0ace476f442b13267b9a6a7568f2b65c8 - languageName: node - linkType: hard - -"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" + version: 5.1.0 + resolution: "is-fullwidth-code-point@npm:5.1.0" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b + get-east-asian-width: "npm:^1.3.1" + checksum: 10c0/c1172c2e417fb73470c56c431851681591f6a17233603a9e6f94b7ba870b2e8a5266506490573b607fb1081318589372034aa436aec07b465c2029c0bc7f07a4 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" +"is-generator-function@npm:^1.0.7": + version: 1.1.2 + resolution: "is-generator-function@npm:1.1.2" dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-gzip@npm:^1.0.0": - version: 1.0.0 - resolution: "is-gzip@npm:1.0.0" - checksum: 10c0/cbc1db080c636a6fb0f7346e3076f8276a29a9d8b52ae67c1971a8131c43f308e98ed227d1a6f49970e6c6ebabee0568e60aed7a3579dd4e1817cddf2faaf9b7 + call-bound: "npm:^1.0.4" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/83da102e89c3e3b71d67b51d47c9f9bc862bceb58f87201727e27f7fa19d1d90b0ab223644ecaee6fc6e3d2d622bb25c966fbdaf87c59158b01ce7c0fe2fa372 languageName: node linkType: hard @@ -12335,10 +8847,14 @@ __metadata: languageName: node linkType: hard -"is-interactive@npm:^1.0.0": +"is-inside-container@npm:^1.0.0": version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + 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 @@ -12349,20 +8865,6 @@ __metadata: languageName: node linkType: hard -"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" @@ -12373,22 +8875,6 @@ __metadata: 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 - languageName: node - linkType: hard - -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b - languageName: node - linkType: hard - "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -12403,20 +8889,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" @@ -12424,61 +8896,15 @@ __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-plain-object@npm:^2.0.4": - version: 2.0.4 - resolution: "is-plain-object@npm:2.0.4" - dependencies: - isobject: "npm:^3.0.1" - checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 - 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" +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" 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 + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 languageName: node linkType: hard @@ -12489,24 +8915,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" @@ -12516,19 +8924,12 @@ __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" +"is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.3": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" dependencies: - which-typed-array: "npm:^1.1.14" - checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + which-typed-array: "npm:^1.1.16" + checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 languageName: node linkType: hard @@ -12540,44 +8941,18 @@ __metadata: linkType: hard "is-unicode-supported@npm:^2.0.0": - version: 2.0.0 - resolution: "is-unicode-supported@npm:2.0.0" - checksum: 10c0/3013dfb8265fe9f9a0d1e9433fc4e766595631a8d85d60876c457b4bedc066768dab1477c553d02e2f626d88a4e019162706e04263c94d74994ef636a33b5f94 - 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 + version: 2.1.0 + resolution: "is-unicode-supported@npm:2.1.0" + checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 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 @@ -12602,70 +8977,10 @@ __metadata: languageName: node linkType: hard -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db - 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" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/7e42d1ea411b4d57d43ea8a6afbca9224382804359cb72626d0fc45bb8db1de5ad0248283c3db45fe73e77210750d4fcc7c2b4fe5d24fda94aaa24d658295c5f - languageName: node - linkType: hard - -"jake@npm:^10.8.5": - version: 10.9.1 - resolution: "jake@npm:10.9.1" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/dda972431a926462f08fcf583ea8997884216a43daa5cce81cb42e7e661dc244f836c0a802fde23439c6e1fc59743d1c0be340aa726d3b17d77557611a5cd541 +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce languageName: node linkType: hard @@ -12680,118 +8995,39 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.19.1": - version: 1.21.6 - resolution: "jiti@npm:1.21.6" +"jiti@npm:2.6.1, jiti@npm:^2.5.1, jiti@npm:^2.6.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" bin: - jiti: bin/jiti.js - checksum: 10c0/05b9ed58cd30d0c3ccd3c98209339e74f50abd9a17e716f65db46b6a35812103f6bde6e134be7124d01745586bca8cc5dae1d0d952267c3ebe55171949c32e56 + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b languageName: node linkType: hard -"jiti@npm:^1.20.0, jiti@npm:^1.21.0": - version: 1.21.3 - resolution: "jiti@npm:1.21.3" - bin: - jiti: bin/jiti.js - checksum: 10c0/5de8b6a30e02e665ff03a925e43110097082e2e695cbf958ee8b2ba18fa894e3688862bb2ea52356fbefd924050d28b729b0c4efdaf4b05bf24f2c52ad0e778d - languageName: node - linkType: hard - -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": +"js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed languageName: node linkType: hard -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" +"js-yaml@npm:^4.1.0": + version: 4.1.1 + resolution: "js-yaml@npm:4.1.1" dependencies: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbi@npm:^4.3.0": - version: 4.3.0 - resolution: "jsbi@npm:4.3.0" - checksum: 10c0/1817ac1b50ea3f4438bcd84cadc9aee7a8657829f65b55ea6f151f401dbbd3babedbfdd3e4f481bd7b5472abb7823efa640fd7e5eee7c30cea6431f7a8b74696 + checksum: 10c0/561c7d7088c40a9bb53cc75becbfb1df6ae49b34b5e6e5a81744b14ae8667ec564ad2527709d1a6e7d5e5fa6d483aa0f373a50ad98d42fde368ec4a190d4fae7 languageName: node linkType: hard -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"jscodeshift@npm:^0.15.1": - version: 0.15.2 - resolution: "jscodeshift@npm:0.15.2" - dependencies: - "@babel/core": "npm:^7.23.0" - "@babel/parser": "npm:^7.23.0" - "@babel/plugin-transform-class-properties": "npm:^7.22.5" - "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.22.11" - "@babel/plugin-transform-optional-chaining": "npm:^7.23.0" - "@babel/plugin-transform-private-methods": "npm:^7.22.5" - "@babel/preset-flow": "npm:^7.22.15" - "@babel/preset-typescript": "npm:^7.23.0" - "@babel/register": "npm:^7.22.15" - babel-core: "npm:^7.0.0-bridge.0" - chalk: "npm:^4.1.2" - flow-parser: "npm:0.*" - graceful-fs: "npm:^4.2.4" - micromatch: "npm:^4.0.4" - neo-async: "npm:^2.5.0" - node-dir: "npm:^0.1.17" - recast: "npm:^0.23.3" - temp: "npm:^0.8.4" - write-file-atomic: "npm:^2.3.0" - peerDependencies: - "@babel/preset-env": ^7.1.6 - peerDependenciesMeta: - "@babel/preset-env": - optional: true - bin: - jscodeshift: bin/jscodeshift.js - checksum: 10c0/79afb059b9ca92712af02bdc8d6ff144de7aaf5e2cdcc6f6534e7a86a7347b0a278d9f4884f2c78dac424162a353aafff183a60e868f71132be2c5b5304aeeb8 - languageName: node - linkType: hard - -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 - languageName: node - linkType: hard - -"jsesc@npm:~0.5.0": - version: 0.5.0 - resolution: "jsesc@npm:0.5.0" +"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/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 languageName: node linkType: hard @@ -12802,7 +9038,7 @@ __metadata: languageName: node linkType: hard -"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": +"json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 @@ -12815,29 +9051,11 @@ __metadata: checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce languageName: node linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 - 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 + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 languageName: node linkType: hard @@ -12850,16 +9068,16 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" +"jsonfile@npm:^6.0.1": + version: 6.2.1 + resolution: "jsonfile@npm:6.2.1" dependencies: graceful-fs: "npm:^4.1.6" universalify: "npm:^2.0.0" dependenciesMeta: graceful-fs: optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + checksum: 10c0/e1abf000ecee9942d4d028a8e02dc752617face227d72afd1cfb2187e2433079e625bf82b807a313689db71b6472c6b2b389a2340d2798737b1199a39631c28a languageName: node linkType: hard @@ -12870,18 +9088,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" @@ -12891,13 +9097,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" @@ -12905,82 +9104,130 @@ __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.32.0": + version: 1.32.0 + resolution: "lightningcss-android-arm64@npm:1.32.0" + 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.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-arm64@npm:1.32.0" + 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.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-x64@npm:1.32.0" + 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.32.0": + version: 1.32.0 + resolution: "lightningcss-freebsd-x64@npm:1.32.0" + 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.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df +"lightningcss-linux-arm64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=glibc 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-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"lilconfig@npm:^2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 +"lightningcss-linux-x64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=glibc 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-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-musl@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"lilconfig@npm:~3.1.1": - version: 3.1.2 - resolution: "lilconfig@npm:3.1.2" - checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe +"lightningcss-win32-arm64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss@npm:1.32.0" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.32.0" + lightningcss-darwin-arm64: "npm:1.32.0" + lightningcss-darwin-x64: "npm:1.32.0" + lightningcss-freebsd-x64: "npm:1.32.0" + lightningcss-linux-arm-gnueabihf: "npm:1.32.0" + lightningcss-linux-arm64-gnu: "npm:1.32.0" + lightningcss-linux-arm64-musl: "npm:1.32.0" + lightningcss-linux-x64-gnu: "npm:1.32.0" + lightningcss-linux-x64-musl: "npm:1.32.0" + lightningcss-win32-arm64-msvc: "npm:1.32.0" + lightningcss-win32-x64-msvc: "npm:1.32.0" + 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/70945bd55097af46fc9fab7f5ed09cd5869d85940a2acab7ee06d0117004a1d68155708a2d462531cea2fc3c67aefc9333a7068c80b0b78dd404c16838809e03 + languageName: node + linkType: hard + +"lilconfig@npm:^3.1.3": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc languageName: node linkType: hard @@ -12992,43 +9239,43 @@ __metadata: linkType: hard "lint-staged@npm:^15.2.7": - version: 15.2.7 - resolution: "lint-staged@npm:15.2.7" - dependencies: - chalk: "npm:~5.3.0" - commander: "npm:~12.1.0" - debug: "npm:~4.3.4" - execa: "npm:~8.0.1" - lilconfig: "npm:~3.1.1" - listr2: "npm:~8.2.1" - micromatch: "npm:~4.0.7" - pidtree: "npm:~0.6.0" - string-argv: "npm:~0.3.2" - yaml: "npm:~2.4.2" + version: 15.5.2 + resolution: "lint-staged@npm:15.5.2" + dependencies: + chalk: "npm:^5.4.1" + commander: "npm:^13.1.0" + debug: "npm:^4.4.0" + execa: "npm:^8.0.1" + lilconfig: "npm:^3.1.3" + listr2: "npm:^8.2.5" + micromatch: "npm:^4.0.8" + pidtree: "npm:^0.6.0" + string-argv: "npm:^0.3.2" + yaml: "npm:^2.7.0" bin: lint-staged: bin/lint-staged.js - checksum: 10c0/c14399f9782ae222a1748144254f24b5b9afc816dc8840bd02d50f523c6582796ff18410767eb1a73cf1a83bc6e492dea7b1c4f0912bf3e434c068221f13c878 + checksum: 10c0/618386254600ada3af3672486a9d082250108245e7c0863d9dfe0a21e7764e3b2eb6416b0f8970e548f4e9d368637331598b27df5a1306925feabbaf16a667e1 languageName: node linkType: hard -"listr2@npm:~8.2.1": - version: 8.2.2 - resolution: "listr2@npm:8.2.2" +"listr2@npm:^8.2.5": + version: 8.3.3 + resolution: "listr2@npm:8.3.3" dependencies: cli-truncate: "npm:^4.0.0" colorette: "npm:^2.0.20" eventemitter3: "npm:^5.0.1" - log-update: "npm:^6.0.0" + log-update: "npm:^6.1.0" rfdc: "npm:^1.4.1" wrap-ansi: "npm:^9.0.0" - checksum: 10c0/a22c970b1169e0f27aecb871570995b58dfc9cf3ca03b909f0f881f525b1036e53979cb62437e406449a72fc37cde67598db07648a2d562244987bfa346ac75c + checksum: 10c0/0792f8a7fd482fa516e21689e012e07081cab3653172ca606090622cfa0024c784a1eba8095a17948a0e9a4aa98a80f7c9c90f78a0dd35173d6802f9cc123a82 languageName: node linkType: hard -"loader-runner@npm:^4.2.0": - version: 4.3.0 - resolution: "loader-runner@npm:4.3.0" - checksum: 10c0/a44d78aae0907a72f73966fe8b82d1439c8c485238bd5a864b1b9a2a3257832effa858790241e6b37876b5446a78889adf2fcc8dd897ce54c089ecc0a0ce0bf0 +"loader-runner@npm:^4.3.1": + version: 4.3.1 + resolution: "loader-runner@npm:4.3.1" + checksum: 10c0/a523b6329f114e0a98317158e30a7dfce044b731521be5399464010472a93a15ece44757d1eaed1d8845019869c5390218bc1c7c3110f4eeaef5157394486eac languageName: node linkType: hard @@ -13050,16 +9297,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: "npm:^3.0.0" - path-exists: "npm:^3.0.0" - checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b - languageName: node - linkType: hard - "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -13069,15 +9306,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" @@ -13115,7 +9343,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 @@ -13157,20 +9385,10 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 +"lodash@npm:^4.17.20, lodash@npm:^4.17.21": + version: 4.18.1 + resolution: "lodash@npm:4.18.1" + checksum: 10c0/757228fc68805c59789e82185135cf85f05d0b2d3d54631d680ca79ec21944ec8314d4533639a14b8bcfbd97a517e78960933041a5af17ecb693ec6eecb99a27 languageName: node linkType: hard @@ -13184,23 +9402,23 @@ __metadata: languageName: node linkType: hard -"log-update@npm:^6.0.0": - version: 6.0.0 - resolution: "log-update@npm:6.0.0" +"log-update@npm:^6.1.0": + version: 6.1.0 + resolution: "log-update@npm:6.1.0" dependencies: - ansi-escapes: "npm:^6.2.0" - cli-cursor: "npm:^4.0.0" - slice-ansi: "npm:^7.0.0" + ansi-escapes: "npm:^7.0.0" + cli-cursor: "npm:^5.0.0" + slice-ansi: "npm:^7.1.0" strip-ansi: "npm:^7.1.0" wrap-ansi: "npm:^9.0.0" - checksum: 10c0/e0b3c3401ef49ce3eb17e2f83d644765e4f7988498fc1344eaa4f31ab30e510dcc469a7fb64dc01bd1c8d9237d917598fa677a9818705fb3774c10f6e9d4b27c + checksum: 10c0/4b350c0a83d7753fea34dcac6cd797d1dc9603291565de009baa4aa91c0447eab0d3815a05c8ec9ac04fdfffb43c82adcdb03ec1fceafd8518e1a8c1cff4ff89 languageName: node linkType: hard "long@npm:^5.0.0": - version: 5.2.3 - resolution: "long@npm:5.2.3" - checksum: 10c0/6a0da658f5ef683b90330b1af76f06790c623e148222da9d75b60e266bbf88f803232dd21464575681638894a84091616e7f89557aa087fd14116c0f4e0e43d9 + version: 5.3.2 + resolution: "long@npm:5.3.2" + checksum: 10c0/7130fe1cbce2dca06734b35b70d380ca3f70271c7f8852c922a7c62c86c4e35f0c39290565eca7133c625908d40e126ac57c02b1b1a4636b9457d77e1e60b981 languageName: node linkType: hard @@ -13211,23 +9429,10 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e - 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 @@ -13240,13 +9445,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.2.2 - resolution: "lru-cache@npm:10.2.2" - checksum: 10c0/402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6 - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -13256,21 +9454,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 @@ -13283,22 +9472,12 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.5": - version: 0.30.10 - resolution: "magic-string@npm:0.30.10" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: 10c0/aa9ca17eae571a19bce92c8221193b6f93ee8511abb10f085e55ffd398db8e4c089a208d9eac559deee96a08b7b24d636ea4ab92f09c6cf42a7d1af51f7fd62b - languageName: node - linkType: hard - -"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": - version: 2.1.0 - resolution: "make-dir@npm:2.1.0" +"magic-string@npm:^0.30.21, magic-string@npm:^0.30.5": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" dependencies: - pify: "npm:^4.0.1" - semver: "npm:^5.6.0" - checksum: 10c0/ada869944d866229819735bee5548944caef560d7a8536ecbc6536edca28c72add47cc4f6fc39c54fb25d06b58da1f8994cf7d9df7dadea047064749efc085d8 + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a languageName: node linkType: hard @@ -13311,53 +9490,24 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^13.0.0": - version: 13.0.1 - resolution: "make-fetch-happen@npm:13.0.1" - dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" - http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - proc-log: "npm:^4.2.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e - 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 "markdown-table@npm:^3.0.0": - version: 3.0.3 - resolution: "markdown-table@npm:3.0.3" - checksum: 10c0/47433a3f31e4637a184e38e873ab1d2fadfb0106a683d466fec329e99a2d8dfa09f091fa42202c6f13ec94aef0199f449a684b28042c636f2edbc1b7e1811dcd + version: 3.0.4 + resolution: "markdown-table@npm:3.0.4" + checksum: 10c0/1257b31827629a54c24a5030a3dac952256c559174c95ce3ef89bebd6bff0cb1444b1fd667b1a1bb53307f83278111505b3e26f0c4e7b731e0060d435d2d930b 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 +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f languageName: node linkType: hard @@ -13372,52 +9522,21 @@ __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 "mdast-util-from-markdown@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-from-markdown@npm:2.0.1" + version: 2.0.3 + resolution: "mdast-util-from-markdown@npm:2.0.3" dependencies: "@types/mdast": "npm:^4.0.0" "@types/unist": "npm:^3.0.0" @@ -13431,157 +9550,145 @@ __metadata: micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" unist-util-stringify-position: "npm:^4.0.0" - checksum: 10c0/496596bc6419200ff6258531a0ebcaee576a5c169695f5aa296a79a85f2a221bb9247d565827c709a7c2acfb56ae3c3754bf483d86206617bd299a9658c8121c - 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 + checksum: 10c0/d3eac9ac2b88e3b41fb85aa81c7bfd1f4f8a2fde497ad805e66fea7b2abfe486ffd94d2a20f9fd2951dcdebe4916f3bdcf851319891dd62d343e26c2f02583ba 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 @@ -13595,60 +9702,37 @@ __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 "mdast-util-to-markdown@npm:^2.0.0": - version: 2.1.0 - resolution: "mdast-util-to-markdown@npm:2.1.0" + version: 2.1.2 + resolution: "mdast-util-to-markdown@npm:2.1.2" dependencies: "@types/mdast": "npm:^4.0.0" "@types/unist": "npm:^3.0.0" longest-streak: "npm:^3.0.0" mdast-util-phrasing: "npm:^4.0.0" mdast-util-to-string: "npm:^4.0.0" + micromark-util-classify-character: "npm:^2.0.0" micromark-util-decode-string: "npm:^2.0.0" unist-util-visit: "npm:^5.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/8bd37a9627a438ef6418d6642661904d0cc03c5c732b8b018a8e238ef5cc82fe8aef1940b19c6f563245e58b9659f35e527209bd3fe145f3c723ba14d18fc3e6 - 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 + checksum: 10c0/4649722a6099f12e797bd8d6469b2b43b44e526b5182862d9c7766a3431caad2c0112929c538a972f214e63c015395e5d3f54bd81d9ac1b16e6d8baaf582f749 languageName: node linkType: hard @@ -13676,33 +9760,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: @@ -13711,26 +9769,10 @@ __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" - checksum: 10c0/a125ca99a32e2306e2f4cbe651a0d27f6eb67918d43a075f6e80b35e9bf372ebf0fc3a9fbc201cbbc9516444b6265fb3c9f80c5b7ebd32f548aa93eb7c28e088 - languageName: node - linkType: hard - -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 + checksum: 10c0/a125ca99a32e2306e2f4cbe651a0d27f6eb67918d43a075f6e80b35e9bf372ebf0fc3a9fbc201cbbc9516444b6265fb3c9f80c5b7ebd32f548aa93eb7c28e088 languageName: node linkType: hard @@ -13741,47 +9783,9 @@ __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" + version: 2.0.3 + resolution: "micromark-core-commonmark@npm:2.0.3" dependencies: decode-named-character-reference: "npm:^1.0.0" devlop: "npm:^1.0.0" @@ -13799,625 +9803,401 @@ __metadata: micromark-util-subtokenize: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/a0b280b1b6132f600518e72cb29a4dd1b2175b85f5ed5b25d2c5695e42b876b045971370daacbcfc6b4ce8cf7acbf78dd3a0284528fb422b450144f4b3bebe19 - 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 + checksum: 10c0/bd4a794fdc9e88dbdf59eaf1c507ddf26e5f7ddf4e52566c72239c0f1b66adbcd219ba2cd42350debbe24471434d5f5e50099d2b3f4e5762ca222ba8e5b549ee 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 "micromark-factory-destination@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-destination@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-destination@npm:2.0.1" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/b73492f687d41a6a379159c2f3acbf813042346bcea523d9041d0cc6124e6715f0779dbb2a0b3422719e9764c3b09f9707880aa159557e3cb4aeb03b9d274915 - 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 + checksum: 10c0/bbafcf869cee5bf511161354cb87d61c142592fbecea051000ff116068dc85216e6d48519d147890b9ea5d7e2864a6341c0c09d9948c203bff624a80a476023c languageName: node linkType: hard "micromark-factory-label@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-label@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-label@npm:2.0.1" dependencies: devlop: "npm:^1.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/8ffad00487a7891941b1d1f51d53a33c7a659dcf48617edb7a4008dad7aff67ec316baa16d55ca98ae3d75ce1d81628dbf72fedc7c6f108f740dec0d5d21c8ee + checksum: 10c0/0137716b4ecb428114165505e94a2f18855c8bbea21b07a8b5ce514b32a595ed789d2b967125718fc44c4197ceaa48f6609d58807a68e778138d2e6b91b824e8 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 "micromark-factory-space@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-space@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-space@npm:2.0.1" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/103ca954dade963d4ff1d2f27d397833fe855ddc72590205022832ef68b775acdea67949000cee221708e376530b1de78c745267b0bf8366740840783eb37122 - 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 + checksum: 10c0/f9ed43f1c0652d8d898de0ac2be3f77f776fffe7dd96bdbba1e02d7ce33d3853c6ff5daa52568fc4fa32cdf3a62d86b85ead9b9189f7211e1d69ff2163c450fb languageName: node linkType: hard "micromark-factory-title@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-title@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-title@npm:2.0.1" dependencies: 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/2b2188e7a011b1b001faf8c860286d246d5c3485ef8819270c60a5808f4c7613e49d4e481dbdff62600ef7acdba0f5100be2d125cbd2a15e236c26b3668a8ebd - 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 + checksum: 10c0/e72fad8d6e88823514916890099a5af20b6a9178ccf78e7e5e05f4de99bb8797acb756257d7a3a57a53854cb0086bf8aab15b1a9e9db8982500dd2c9ff5948b6 languageName: node linkType: hard "micromark-factory-whitespace@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-whitespace@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-whitespace@npm:2.0.1" dependencies: 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/4e91baab0cc71873095134bd0e225d01d9786cde352701402d71b72d317973954754e8f9f1849901f165530e6421202209f4d97c460a27bb0808ec5a3fc3148c - 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 + checksum: 10c0/20a1ec58698f24b766510a309b23a10175034fcf1551eaa9da3adcbed3e00cd53d1ebe5f030cf873f76a1cec3c34eb8c50cc227be3344caa9ed25d56cf611224 languageName: node linkType: hard "micromark-util-character@npm:^2.0.0": - version: 2.1.0 - resolution: "micromark-util-character@npm:2.1.0" + version: 2.1.1 + resolution: "micromark-util-character@npm:2.1.1" dependencies: micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/fc37a76aaa5a5138191ba2bef1ac50c36b3bcb476522e98b1a42304ab4ec76f5b036a746ddf795d3de3e7004b2c09f21dd1bad42d161f39b8cfc0acd067e6373 - 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 + checksum: 10c0/d3fe7a5e2c4060fc2a076f9ce699c82a2e87190a3946e1e5eea77f563869b504961f5668d9c9c014724db28ac32fa909070ea8b30c3a39bd0483cc6c04cc76a1 languageName: node linkType: hard "micromark-util-chunked@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-chunked@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-chunked@npm:2.0.1" dependencies: micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/043b5f2abc8c13a1e2e4c378ead191d1a47ed9e0cd6d0fa5a0a430b2df9e17ada9d5de5a20688a000bbc5932507e746144acec60a9589d9a79fa60918e029203 - 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 + checksum: 10c0/b68c0c16fe8106949537bdcfe1be9cf36c0ccd3bc54c4007003cb0984c3750b6cdd0fd77d03f269a3382b85b0de58bde4f6eedbe7ecdf7244759112289b1ab56 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" + version: 2.0.1 + resolution: "micromark-util-classify-character@npm:2.0.1" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/2bf5fa5050faa9b69f6c7e51dbaaf02329ab70fabad8229984381b356afbbf69db90f4617bec36d814a7d285fb7cad8e3c4e38d1daf4387dc9e240aa7f9a292a - 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 + checksum: 10c0/8a02e59304005c475c332f581697e92e8c585bcd45d5d225a66c1c1b14ab5a8062705188c2ccec33cc998d33502514121478b2091feddbc751887fc9c290ed08 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" + version: 2.0.1 + resolution: "micromark-util-combine-extensions@npm:2.0.1" dependencies: micromark-util-chunked: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/cd4c8d1a85255527facb419ff3b3cc3d7b7f27005c5ef5fa7ef2c4d0e57a9129534fc292a188ec2d467c2c458642d369c5f894bc8a9e142aed6696cc7989d3ea - 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 + checksum: 10c0/f15e282af24c8372cbb10b9b0b3e2c0aa681fea0ca323a44d6bc537dc1d9382c819c3689f14eaa000118f5a163245358ce6276b2cda9a84439cdb221f5d86ae7 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" + version: 2.0.2 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2" 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" - 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 + checksum: 10c0/9c8a9f2c790e5593ffe513901c3a110e9ec8882a08f466da014112a25e5059b51551ca0aeb7ff494657d86eceb2f02ee556c6558b8d66aadc61eae4a240da0df languageName: node linkType: hard "micromark-util-decode-string@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-decode-string@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-decode-string@npm:2.0.1" dependencies: decode-named-character-reference: "npm:^1.0.0" micromark-util-character: "npm:^2.0.0" micromark-util-decode-numeric-character-reference: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/f5413bebb21bdb686cfa1bcfa7e9c93093a523d1b42443ead303b062d2d680a94e5e8424549f57b8ba9d786a758e5a26a97f56068991bbdbca5d1885b3aa7227 - 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 + checksum: 10c0/f24d75b2e5310be6e7b6dee532e0d17d3bf46996841d6295f2a9c87a2046fff4ab603c52ab9d7a7a6430a8b787b1574ae895849c603d262d1b22eef71736b5cb languageName: node linkType: hard "micromark-util-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-encode@npm:2.0.0" - checksum: 10c0/ebdaafff23100bbf4c74e63b4b1612a9ddf94cd7211d6a076bc6fb0bc32c1b48d6fb615aa0953e607c62c97d849f97f1042260d3eb135259d63d372f401bbbb2 + version: 2.0.1 + resolution: "micromark-util-encode@npm:2.0.1" + checksum: 10c0/b2b29f901093845da8a1bf997ea8b7f5e061ffdba85070dfe14b0197c48fda64ffcf82bfe53c90cf9dc185e69eef8c5d41cae3ba918b96bc279326921b59008a 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 "micromark-util-html-tag-name@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-html-tag-name@npm:2.0.0" - checksum: 10c0/988aa26367449bd345b627ae32cf605076daabe2dc1db71b578a8a511a47123e14af466bcd6dcbdacec60142f07bc2723ec5f7a0eed0f5319ce83b5e04825429 - 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 + version: 2.0.1 + resolution: "micromark-util-html-tag-name@npm:2.0.1" + checksum: 10c0/ae80444db786fde908e9295f19a27a4aa304171852c77414516418650097b8afb401961c9edb09d677b06e97e8370cfa65638dde8438ebd41d60c0a8678b85b9 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" + version: 2.0.1 + resolution: "micromark-util-normalize-identifier@npm:2.0.1" dependencies: micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/93bf8789b8449538f22cf82ac9b196363a5f3b2f26efd98aef87c4c1b1f8c05be3ef6391ff38316ff9b03c1a6fd077342567598019ddd12b9bd923dacc556333 - 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 + checksum: 10c0/5299265fa360769fc499a89f40142f10a9d4a5c3dd8e6eac8a8ef3c2e4a6570e4c009cf75ea46dce5ee31c01f25587bde2f4a5cc0a935584ae86dd857f2babbd 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" + version: 2.0.1 + resolution: "micromark-util-resolve-all@npm:2.0.1" dependencies: micromark-util-types: "npm:^2.0.0" - checksum: 10c0/3b912e88453dcefe728a9080c8934a75ac4732056d6576ceecbcaf97f42c5d6fa2df66db8abdc8427eb167c5ffddefe26713728cfe500bc0e314ed260d6e2746 - 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 + checksum: 10c0/bb6ca28764696bb479dc44a2d5b5fe003e7177aeae1d6b0d43f24cc223bab90234092d9c3ce4a4d2b8df095ccfd820537b10eb96bb7044d635f385d65a4c984a 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" + version: 2.0.1 + resolution: "micromark-util-sanitize-uri@npm:2.0.1" dependencies: micromark-util-character: "npm:^2.0.0" micromark-util-encode: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" - checksum: 10c0/74763ca1c927dd520d3ab8fd9856a19740acf76fc091f0a1f5d4e99c8cd5f1b81c5a0be3efb564941a071fb6d85fd951103f2760eb6cff77b5ab3abe08341309 - 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 + checksum: 10c0/60e92166e1870fd4f1961468c2651013ff760617342918e0e0c3c4e872433aa2e60c1e5a672bfe5d89dc98f742d6b33897585cf86ae002cda23e905a3c02527c languageName: node linkType: hard "micromark-util-subtokenize@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-subtokenize@npm:2.0.1" + version: 2.1.0 + resolution: "micromark-util-subtokenize@npm:2.1.0" dependencies: devlop: "npm:^1.0.0" micromark-util-chunked: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/000cefde827db129f4ed92b8fbdeb4866c5f9c93068c0115485564b0426abcb9058080aa257df9035e12ca7fa92259d66623ea750b9eb3bcdd8325d3fb6fc237 - 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 + checksum: 10c0/bee69eece4393308e657c293ba80d92ebcb637e5f55e21dcf9c3fa732b91a8eda8ac248d76ff375e675175bfadeae4712e5158ef97eef1111789da1ce7ab5067 languageName: node linkType: hard "micromark-util-symbol@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-symbol@npm:2.0.0" - checksum: 10c0/4e76186c185ce4cefb9cea8584213d9ffacd77099d1da30c0beb09fa21f46f66f6de4c84c781d7e34ff763fe3a06b530e132fa9004882afab9e825238d0aa8b3 - 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 + version: 2.0.1 + resolution: "micromark-util-symbol@npm:2.0.1" + checksum: 10c0/f2d1b207771e573232436618e78c5e46cd4b5c560dd4a6d63863d58018abbf49cb96ec69f7007471e51434c60de3c9268ef2bf46852f26ff4aacd10f9da16fe9 languageName: node linkType: hard "micromark-util-types@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-types@npm:2.0.0" - checksum: 10c0/d74e913b9b61268e0d6939f4209e3abe9dada640d1ee782419b04fd153711112cfaaa3c4d5f37225c9aee1e23c3bb91a1f5223e1e33ba92d33e83956a53e61de - 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 + version: 2.0.2 + resolution: "micromark-util-types@npm:2.0.2" + checksum: 10c0/c8c15b96c858db781c4393f55feec10004bf7df95487636c9a9f7209e51002a5cca6a047c5d2a5dc669ff92da20e57aaa881e81a268d9ccadb647f9dce305298 languageName: node linkType: hard "micromark@npm:^4.0.0": - version: 4.0.0 - resolution: "micromark@npm:4.0.0" + version: 4.0.2 + resolution: "micromark@npm:4.0.2" dependencies: "@types/debug": "npm:^4.0.0" debug: "npm:^4.0.0" @@ -14436,11 +10216,11 @@ __metadata: micromark-util-subtokenize: "npm:^2.0.0" micromark-util-symbol: "npm:^2.0.0" micromark-util-types: "npm:^2.0.0" - checksum: 10c0/7e91c8d19ff27bc52964100853f1b3b32bb5b2ece57470a34ba1b2f09f4e2a183d90106c4ae585c9f2046969ee088576fed79b2f7061cba60d16652ccc2c64fd + checksum: 10c0/07462287254219d6eda6eac8a3cebaff2994e0575499e7088027b825105e096e4f51e466b14b2a81b71933a3b6c48ee069049d87bc2c2127eee50d9cc69e8af6 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.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -14462,14 +10242,21 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2": +"mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa 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-db@npm:^1.54.0": + version: 1.54.0 + resolution: "mime-db@npm:1.54.0" + checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.31": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -14478,15 +10265,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" @@ -14496,13 +10274,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - "mimic-fn@npm:^4.0.0": version: 4.0.0 resolution: "mimic-fn@npm:4.0.0" @@ -14510,32 +10281,38 @@ __metadata: languageName: node linkType: hard -"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1": +"mimic-function@npm:^5.0.0": + version: 5.0.1 + resolution: "mimic-function@npm:5.0.1" + checksum: 10c0/f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" checksum: 10c0/7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c languageName: node linkType: hard -"miniflare@npm:3.20240925.0": - version: 3.20240925.0 - resolution: "miniflare@npm:3.20240925.0" +"miniflare@npm:3.20250718.3": + version: 3.20250718.3 + resolution: "miniflare@npm:3.20250718.3" dependencies: "@cspotcode/source-map-support": "npm:0.8.1" - acorn: "npm:^8.8.0" - acorn-walk: "npm:^8.2.0" - capnp-ts: "npm:^0.7.0" - exit-hook: "npm:^2.2.1" - glob-to-regexp: "npm:^0.4.1" - stoppable: "npm:^1.1.0" - undici: "npm:^5.28.4" - workerd: "npm:1.20240925.0" - ws: "npm:^8.17.1" - youch: "npm:^3.2.2" - zod: "npm:^3.22.3" + acorn: "npm:8.14.0" + acorn-walk: "npm:8.3.2" + exit-hook: "npm:2.2.1" + glob-to-regexp: "npm:0.4.1" + stoppable: "npm:1.1.0" + undici: "npm:^5.28.5" + workerd: "npm:1.20250718.0" + ws: "npm:8.18.0" + youch: "npm:3.3.4" + zod: "npm:3.22.3" bin: miniflare: bootstrap.js - checksum: 10c0/79586babe0d0172bb0e08631dac0af11963ed0c35c80268d13fdb2eae317e8f8dcc2a5d7c91d9b33f6b7f1c754a75253f399b1d81a27c15ad568c0b89ae2a2a3 + checksum: 10c0/ebabf4640c6d736589a91833eb5bd00c218175d8fc7ae938fff9014c0ec01d1fc80b11f961df79cd8cdef8d26c4d5ccdb63d5f618f671a1f0b59dc0f5a368ae5 languageName: node linkType: hard @@ -14553,171 +10330,76 @@ __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.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": + version: 3.1.5 + resolution: "minimatch@npm:3.1.5" dependencies: brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^5.0.1": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.1, minimatch@npm:^9.0.4": - version: 9.0.4 - resolution: "minimatch@npm:9.0.4" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/2c16f21f50e64922864e560ff97c587d15fd491f65d92a677a344e970fe62aafdbeafe648965fa96d33c061b4d0eabfe0213466203dd793367e7f28658cf6414 + checksum: 10c0/2ecbdc0d33f07bddb0315a8b5afbcb761307a8778b48f0b312418ccbced99f104a2d17d8aca7573433c70e8ccd1c56823a441897a45e384ea76ef401a26ace70 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 languageName: node linkType: hard -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^3.0.0": - version: 3.0.5 - resolution: "minipass-fetch@npm:3.0.5" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 +"minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb languageName: node linkType: hard -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" +"minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec languageName: node linkType: hard -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" +"motion-dom@npm:^12.38.0": + version: 12.38.0 + resolution: "motion-dom@npm:12.38.0" dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + motion-utils: "npm:^12.36.0" + checksum: 10c0/ce41da75c240568abd9708cc859cbffb7d6aa490913619e20d23df57abe232ad6cce961c129933535c92b64bfb886958d73e5d162bcd5ddf174378f869977bbe languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 +"motion-utils@npm:^12.36.0": + version: 12.36.0 + resolution: "motion-utils@npm:12.36.0" + checksum: 10c0/fe08231759064eef5d351a869379246f1e1b2031bda357a6197d2a99ff6b472bce69f8250212713d8bff2ff46978f354ca8c3b8c8f0c5bd337d26a6793ba42fa languageName: node linkType: hard -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"motion@npm:^12.0.0": + version: 12.38.0 + resolution: "motion@npm:12.38.0" dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - -"mkdirp-classic@npm:^0.5.2": - version: 0.5.3 - resolution: "mkdirp-classic@npm:0.5.3" - checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mri@npm:^1.1.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 - languageName: node - linkType: hard - -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + framer-motion: "npm:^12.38.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/661a08b17592295b267df6a4a4887e9da78b29c310aaf60860fcfa68dac6cf2c39ce03701d6182159ad6f3000f28b8c62c3c6d139e620435d56b3bb5f28c5c1b 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 @@ -14733,97 +10415,74 @@ __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 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.3, nanoid@npm:^3.3.6, nanoid@npm:^3.3.7": - version: 3.3.9 - resolution: "nanoid@npm:3.3.9" +"nanoid@npm:^3.3.11, nanoid@npm:^3.3.6": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/4515abe53db7b150cf77074558efc20d8e916d6910d557b5ce72e8bbf6f8e7554d3d7a0d180bfa65e5d8e99aa51b207aa8a3bf5f3b56233897b146d592e30b24 - 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": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b languageName: node linkType: hard -"neo-async@npm:^2.5.0, neo-async@npm:^2.6.2": +"neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d 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 - languageName: node - linkType: hard - -"next@npm:14.2.26": - version: 14.2.26 - resolution: "next@npm:14.2.26" - dependencies: - "@next/env": "npm:14.2.26" - "@next/swc-darwin-arm64": "npm:14.2.26" - "@next/swc-darwin-x64": "npm:14.2.26" - "@next/swc-linux-arm64-gnu": "npm:14.2.26" - "@next/swc-linux-arm64-musl": "npm:14.2.26" - "@next/swc-linux-x64-gnu": "npm:14.2.26" - "@next/swc-linux-x64-musl": "npm:14.2.26" - "@next/swc-win32-arm64-msvc": "npm:14.2.26" - "@next/swc-win32-ia32-msvc": "npm:14.2.26" - "@next/swc-win32-x64-msvc": "npm:14.2.26" - "@swc/helpers": "npm:0.5.5" - busboy: "npm:1.6.0" + 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.2.4 + resolution: "next@npm:16.2.4" + dependencies: + "@next/env": "npm:16.2.4" + "@next/swc-darwin-arm64": "npm:16.2.4" + "@next/swc-darwin-x64": "npm:16.2.4" + "@next/swc-linux-arm64-gnu": "npm:16.2.4" + "@next/swc-linux-arm64-musl": "npm:16.2.4" + "@next/swc-linux-x64-gnu": "npm:16.2.4" + "@next/swc-linux-x64-musl": "npm:16.2.4" + "@next/swc-win32-arm64-msvc": "npm:16.2.4" + "@next/swc-win32-x64-msvc": "npm:16.2.4" + "@swc/helpers": "npm:0.5.15" + baseline-browser-mapping: "npm:^2.9.19" caniuse-lite: "npm:^1.0.30001579" - graceful-fs: "npm:^4.2.11" postcss: "npm:8.4.31" - styled-jsx: "npm:5.1.1" + sharp: "npm:^0.34.5" + styled-jsx: "npm:5.1.6" peerDependencies: "@opentelemetry/api": ^1.1.0 - "@playwright/test": ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 + "@playwright/test": ^1.51.1 + babel-plugin-react-compiler: "*" + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 dependenciesMeta: "@next/swc-darwin-arm64": @@ -14840,20 +10499,22 @@ __metadata: optional: true "@next/swc-win32-arm64-msvc": optional: true - "@next/swc-win32-ia32-msvc": - optional: true "@next/swc-win32-x64-msvc": optional: true + sharp: + optional: true peerDependenciesMeta: "@opentelemetry/api": optional: true "@playwright/test": optional: true + babel-plugin-react-compiler: + optional: true sass: optional: true bin: next: dist/bin/next - checksum: 10c0/d5792ad9aff56b42648456f9cced2f269100c4d4200590c2f4e419f3ad2c5795b57f7caf273bc336323f866dbb31268197b46a07016ca7e55637d68b53176b29 + checksum: 10c0/81dc1ef30141891dc5cc999a0a6210c68305b585b3a7508799767572a9fb7e4c7dcb5a50f5fa3fabadf6a46c2273405360b1d6f17f89edd891da1746ae31c186 languageName: node linkType: hard @@ -14874,78 +10535,23 @@ __metadata: languageName: node linkType: hard -"node-dir@npm:^0.1.17": - version: 0.1.17 - resolution: "node-dir@npm:0.1.17" - dependencies: - minimatch: "npm:^3.0.2" - checksum: 10c0/16222e871708c405079ff8122d4a7e1d522c5b90fc8f12b3112140af871cfc70128c376e845dcd0044c625db0d2efebd2d852414599d240564db61d53402b4c1 - 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-native@npm:^1.6.3": - version: 1.6.4 - resolution: "node-fetch-native@npm:1.6.4" - checksum: 10c0/78334dc6def5d1d95cfe87b33ac76c4833592c5eb84779ad2b0c23c689f9dd5d1cfc827035ada72d6b8b218f717798968c5a99aeff0a1a8bf06657e80592f9c3 - 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-forge@npm:^1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 - languageName: node - linkType: hard - "node-gyp@npm:latest": - version: 10.1.0 - resolution: "node-gyp@npm:10.1.0" + version: 12.3.0 + resolution: "node-gyp@npm:12.3.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^3.0.0" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^4.0.0" + tar: "npm:^7.5.4" + tinyglobby: "npm:^0.2.12" + undici: "npm:^6.25.0" + which: "npm:^6.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/9cc821111ca244a01fb7f054db7523ab0a0cd837f665267eb962eb87695d71fb1e681f9e21464cc2fd7c05530dc4c81b810bca1a88f7d7186909b74477491a3c + checksum: 10c0/9d9032b405cbe42f72a105259d9eb679376470c102df4a2dbaa51e07d59bf741dcffb85897087ea9d8318b9cabb824a8978af51508ae142f0239ae1e6a3c2329 languageName: node linkType: hard @@ -14984,49 +10590,21 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 +"node-releases@npm:^2.0.36": + version: 2.0.38 + resolution: "node-releases@npm:2.0.38" + checksum: 10c0/db9909234ed750c5b9d0075f83214cd16b76370b54eab50e3554f3ba939ba7ac39f3aca2ddf93471ae8553dbde2ea9354b0ae380c9cff1f8e53b55e414903413 languageName: node linkType: hard -"nopt@npm:^7.0.0": - version: 7.2.1 - resolution: "nopt@npm:7.2.1" +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" dependencies: - abbrev: "npm:^2.0.0" + abbrev: "npm:^4.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 - languageName: node - linkType: hard - -"normalize-package-data@npm:^2.5.0": - version: 2.5.0 - resolution: "normalize-package-data@npm:2.5.0" - dependencies: - hosted-git-info: "npm:^2.1.4" - resolve: "npm:^1.10.0" - semver: "npm:2 || 3 || 4 || 5" - validate-npm-package-license: "npm:^3.0.1" - checksum: 10c0/357cb1646deb42f8eb4c7d42c4edf0eec312f3628c2ef98501963cc4bbe7277021b2b1d977f982b2edce78f5a1014613ce9cf38085c3df2d76730481357ca504 - 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 + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd languageName: node linkType: hard @@ -15048,39 +10626,10 @@ __metadata: languageName: node linkType: hard -"nypm@npm:^0.3.8": - version: 0.3.8 - resolution: "nypm@npm:0.3.8" - dependencies: - citty: "npm:^0.1.6" - consola: "npm:^3.2.3" - execa: "npm:^8.0.1" - pathe: "npm:^1.1.2" - ufo: "npm:^1.4.0" - bin: - nypm: dist/cli.mjs - checksum: 10c0/b910ad4f2156789e410443cb20e9e604baf9570dd54acc740bd3a7784cb6e96d4a2619c4e6ad2bea28a3f849acafbf4a8bdc9b9e52bd87379a5bd68e3b66400d - 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" - checksum: 10c0/fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 languageName: node linkType: hard @@ -15101,71 +10650,17 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": - version: 4.1.5 - resolution: "object.assign@npm:4.1.5" - dependencies: - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - object-keys: "npm:^1.1.1" - checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 - 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" +"object.assign@npm:^4.1.4": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 + has-symbols: "npm:^1.1.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc languageName: node linkType: hard @@ -15176,37 +10671,14 @@ __metadata: languageName: node linkType: hard -"ohash@npm:^1.1.3": - version: 1.1.3 - resolution: "ohash@npm:1.1.3" - checksum: 10c0/928f5bdbd8cd73f90cf544c0533dbda8e0a42d9b8c7454ab89e64e4d11bc85f85242830b4e107426ce13dc4dd3013286f8f5e0c84abd8942a014b907d9692540 - languageName: node - linkType: hard - -"ohash@npm:^1.1.4": - version: 1.1.4 - resolution: "ohash@npm:1.1.4" - checksum: 10c0/73c3bcab2891ee2155ed62bb4c2906f622bf2204a3c9f4616ada8a6a76276bb6b4b4180eaf273b7c7d6232793e4d79d486aab436ebfc0d06d92a997f07122864 - 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 - -"on-headers@npm:~1.0.2": - version: 1.0.2 - resolution: "on-headers@npm:1.0.2" - checksum: 10c0/f649e65c197bf31505a4c0444875db0258e198292f34b884d73c2f751e91792ef96bb5cf89aa0f4fecc2e4dc662461dda606b1274b0e564f539cae5d2f5fc32f +"ohash@npm:^2.0.10": + version: 2.0.11 + resolution: "ohash@npm:2.0.11" + checksum: 10c0/d07c8d79cc26da082c1a7c8d5b56c399dd4ed3b2bd069fcae6bae78c99a9bcc3ad813b1e1f49ca2f335292846d689c6141a762cf078727d2302a33d414e69c79 languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": +"once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -15215,15 +10687,6 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - "onetime@npm:^6.0.0": version: 6.0.0 resolution: "onetime@npm:6.0.0" @@ -15233,69 +10696,59 @@ __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 +"onetime@npm:^7.0.0": + version: 7.0.0 + resolution: "onetime@npm:7.0.0" + dependencies: + mimic-function: "npm:^5.0.0" + checksum: 10c0/5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221 languageName: node linkType: hard -"open@npm:^8.0.4, open@npm:^8.4.0": - version: 8.4.2 - resolution: "open@npm:8.4.2" - 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.2": + version: 0.12.2 + resolution: "oniguruma-parser@npm:0.12.2" + checksum: 10c0/fe5255d2cd5a6b845d5a0abe1725898ef40cea5522290dba6ccc08cc388891e9e8007af4baa5059942b786ad44b2b677ef25948039c9ba3f057bd35d2c52076a languageName: node linkType: hard -"optionator@npm:^0.9.3": - version: 0.9.4 - resolution: "optionator@npm:0.9.4" +"oniguruma-to-es@npm:^4.3.4": + version: 4.3.6 + resolution: "oniguruma-to-es@npm:4.3.6" 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 + oniguruma-parser: "npm:^0.12.2" + regex: "npm:^6.1.0" + regex-recursion: "npm:^6.0.2" + checksum: 10c0/044e08b98e706987c2882ccf228de2a671de4aff33e3bd370da137ba599c0d520549625ad26ecc8898502445c991e19f106f584e94382262ba2af02c908ca3cf languageName: node linkType: hard -"ora@npm:^5.4.1": - version: 5.4.1 - resolution: "ora@npm:5.4.1" +"open@npm:^10.2.0": + version: 10.2.0 + resolution: "open@npm:10.2.0" dependencies: - bl: "npm:^4.1.0" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-spinners: "npm:^2.5.0" - is-interactive: "npm:^1.0.0" - is-unicode-supported: "npm:^0.1.0" - log-symbols: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - wcwidth: "npm:^1.0.1" - checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 + 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 "ora@npm:^8.0.1": - version: 8.0.1 - resolution: "ora@npm:8.0.1" + version: 8.2.0 + resolution: "ora@npm:8.2.0" dependencies: chalk: "npm:^5.3.0" - cli-cursor: "npm:^4.0.0" + cli-cursor: "npm:^5.0.0" cli-spinners: "npm:^2.9.2" is-interactive: "npm:^2.0.0" is-unicode-supported: "npm:^2.0.0" log-symbols: "npm:^6.0.0" - stdin-discarder: "npm:^0.2.1" - string-width: "npm:^7.0.0" + stdin-discarder: "npm:^0.2.2" + string-width: "npm:^7.2.0" strip-ansi: "npm:^7.1.0" - checksum: 10c0/7a94c075a7f182a6ace80c3505b945520ab16e05ebe536a714a3d61e51dd8f777c75c8be920e157e0c60ada6fe89bca37376897fb4d486bea5771229be992097 + checksum: 10c0/7d9291255db22e293ea164f520b6042a3e906576ab06c9cf408bf9ef5664ba0a9f3bd258baa4ada058cfcc2163ef9b6696d51237a866682ce33295349ba02c3a languageName: node linkType: hard @@ -15306,7 +10759,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": +"p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" dependencies: @@ -15315,15 +10768,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" @@ -15333,30 +10777,12 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: "npm:^2.0.0" - checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 - languageName: node - linkType: hard - "p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: "npm:^2.2.0" - checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 languageName: node linkType: hard @@ -15369,15 +10795,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -15385,13 +10802,6 @@ __metadata: languageName: node linkType: hard -"pako@npm:~0.2.0": - version: 0.2.9 - resolution: "pako@npm:0.2.9" - checksum: 10c0/79c1806ebcf325b60ae599e4d7227c2e346d7b829dc20f5cf24cef07c934079dc3a61c5b3c8278a2f7a190c4a613e343ea11e5302dbe252efd11712df4b6b041 - languageName: node - linkType: hard - "pako@npm:~1.0.5": version: 1.0.11 resolution: "pako@npm:1.0.11" @@ -15418,37 +10828,35 @@ __metadata: languageName: node linkType: hard -"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.7": - version: 5.1.7 - resolution: "parse-asn1@npm:5.1.7" +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.9": + version: 5.1.9 + resolution: "parse-asn1@npm:5.1.9" dependencies: asn1.js: "npm:^4.10.1" browserify-aes: "npm:^1.2.0" evp_bytestokey: "npm:^1.0.3" - hash-base: "npm:~3.0" - pbkdf2: "npm:^3.1.2" + pbkdf2: "npm:^3.1.5" safe-buffer: "npm:^5.2.1" - checksum: 10c0/05eb5937405c904eb5a7f3633bab1acc11f4ae3478a07ef5c6d81ce88c3c0e505ff51f9c7b935ebc1265c868343793698fc91025755a895d0276f620f95e8a82 + checksum: 10c0/6dfe27c121be3d63ebbf95f03d2ae0a07dd716d44b70b0bd3458790a822a80de05361c62147271fd7b845dcc2d37755d9c9c393064a3438fe633779df0bc07e7 languageName: node linkType: hard "parse-entities@npm:^4.0.0": - version: 4.0.1 - resolution: "parse-entities@npm:4.0.1" + version: 4.0.2 + resolution: "parse-entities@npm:4.0.2" dependencies: "@types/unist": "npm:^2.0.0" - character-entities: "npm:^2.0.0" character-entities-legacy: "npm:^3.0.0" character-reference-invalid: "npm:^2.0.0" decode-named-character-reference: "npm:^1.0.0" is-alphanumerical: "npm:^2.0.0" is-decimal: "npm:^2.0.0" is-hexadecimal: "npm:^2.0.0" - checksum: 10c0/9dfa3b0dc43a913c2558c4bd625b1abcc2d6c6b38aa5724b141ed988471977248f7ad234eed57e1bc70b694dd15b0d710a04f66c2f7c096e35abd91962b7d926 + checksum: 10c0/a13906b1151750b78ed83d386294066daf5fb559e08c5af9591b2d98cc209123103016a01df776f65f8219ad26652d6d6b210d0974d452049cddfc53a8916c34 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: @@ -15467,26 +10875,12 @@ __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" + version: 7.3.0 + resolution: "parse5@npm:7.3.0" dependencies: - entities: "npm:^4.4.0" - checksum: 10c0/297d7af8224f4b5cb7f6617ecdae98eeaed7f8cbd78956c42785e230505d5a4f07cef352af10d3006fa5c1544b76b57784d3a22d861ae071bbc460c649482bf4 - languageName: node - linkType: hard - -"parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + entities: "npm:^6.0.0" + checksum: 10c0/7fd2e4e247e85241d6f2a464d0085eed599a26d7b0a5233790c49f53473232eb85350e8133344d9b3fd58b89339e7ad7270fe1f89d28abe50674ec97b87f80b5 languageName: node linkType: hard @@ -15507,13 +10901,6 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 - languageName: node - linkType: hard - "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -15535,7 +10922,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 @@ -15556,24 +10943,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.1, path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - 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": +"path-to-regexp@npm:6.3.0": version: 6.3.0 resolution: "path-to-regexp@npm:6.3.0" checksum: 10c0/73b67f4638b41cde56254e6354e46ae3a2ebc08279583f6af3d96fe4664fc75788f74ed0d18ca44fa4a98491b69434f9eee73b97bb5314bd1b5adb700f5c18d6 @@ -15587,77 +10957,56 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^5.0.0": - version: 5.0.0 - resolution: "path-type@npm:5.0.0" - checksum: 10c0/e8f4b15111bf483900c75609e5e74e3fcb79f2ddb73e41470028fcd3e4b5162ec65da9907be077ee5012c18801ff7fffb35f9f37a077f3f81d85a0b7d6578efd - languageName: node - linkType: hard - -"pathe@npm:^1.1.2": - version: 1.1.2 - resolution: "pathe@npm:1.1.2" - checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 - languageName: node - linkType: hard - -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 languageName: node linkType: hard -"pbkdf2@npm:^3.0.3, pbkdf2@npm:^3.1.2": - version: 3.1.2 - resolution: "pbkdf2@npm:3.1.2" - dependencies: - create-hash: "npm:^1.1.2" - create-hmac: "npm:^1.1.4" - ripemd160: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - sha.js: "npm:^2.4.8" - checksum: 10c0/5a30374e87d33fa080a92734d778cf172542cc7e41b96198c4c88763997b62d7850de3fbda5c3111ddf79805ee7c1da7046881c90ac4920b5e324204518b05fd +"pathval@npm:^2.0.0": + version: 2.0.1 + resolution: "pathval@npm:2.0.1" + checksum: 10c0/460f4709479fbf2c45903a65655fc8f0a5f6d808f989173aeef5fdea4ff4f303dc13f7870303999add60ec49d4c14733895c0a869392e9866f1091fa64fd7581 languageName: node linkType: hard -"peek-stream@npm:^1.1.0": - version: 1.1.3 - resolution: "peek-stream@npm:1.1.3" +"pbkdf2@npm:^3.1.2, pbkdf2@npm:^3.1.5": + version: 3.1.5 + resolution: "pbkdf2@npm:3.1.5" dependencies: - buffer-from: "npm:^1.0.0" - duplexify: "npm:^3.5.0" - through2: "npm:^2.0.3" - checksum: 10c0/3c35d1951b8640036f93b1b5628a90f849e49ca4f2e6aba393ff4978413931d9c491c83f71a92f878d5ea4c670af0bba04dfcfb79b310ead22601db7c1420e36 + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + ripemd160: "npm:^2.0.3" + safe-buffer: "npm:^5.2.1" + sha.js: "npm:^2.4.12" + to-buffer: "npm:^1.2.1" + checksum: 10c0/ea42e8695e49417eefabb19a08ab19a602cc6cc72d2df3f109c39309600230dee3083a6f678d5d42fe035d6ae780038b80ace0e68f9792ee2839bf081fe386f3 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 +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": - version: 1.0.1 - resolution: "picocolors@npm:1.0.1" - checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 +"picomatch@npm:^2.3.1": + version: 2.3.2 + resolution: "picomatch@npm:2.3.2" + checksum: 10c0/a554d1709e59be97d1acb9eaedbbc700a5c03dbd4579807baed95100b00420bc729335440ef15004ae2378984e2487a7c1cebd743cfdb72b6fa9ab69223c0d61 languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.0, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be +"picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": + version: 4.0.4 + resolution: "picomatch@npm:4.0.4" + checksum: 10c0/e2c6023372cc7b5764719a5ffb9da0f8e781212fa7ca4bd0562db929df8e117460f00dff3cb7509dacfc06b86de924b247f504d0ce1806a37fac4633081466b0 languageName: node linkType: hard -"pidtree@npm:~0.6.0": +"pidtree@npm:^0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" bin: @@ -15666,36 +11015,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 - -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf - languageName: node - linkType: hard - -"pirates@npm:^4.0.1, pirates@npm:^4.0.6": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 - languageName: node - linkType: hard - -"pkg-dir@npm:^3.0.0": - version: 3.0.0 - resolution: "pkg-dir@npm:3.0.0" - dependencies: - find-up: "npm:^3.0.0" - checksum: 10c0/902a3d0c1f8ac43b1795fa1ba6ffeb37dfd53c91469e969790f6ed5e29ff2bdc50b63ba6115dc056d2efb4a040aa2446d512b3804bdafdf302f734fb3ec21847 - languageName: node - linkType: hard - "pkg-dir@npm:^4.1.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -15705,15 +11024,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" @@ -15723,82 +11033,46 @@ __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 +"playwright-core@npm:1.59.1": + version: 1.59.1 + resolution: "playwright-core@npm:1.59.1" + bin: + playwright-core: cli.js + checksum: 10c0/d41a74d9681ce3beb3d5239e9ed577710b4ad099a6ca2476219c6599d51e9cb4b80bd72ed82c528da6a5d929c18ae3b872cf02bb83f78fa1c2cb9199c501abee languageName: node linkType: hard -"polished@npm:^4.2.2": - version: 4.3.1 - resolution: "polished@npm:4.3.1" +"playwright@npm:^1.59.1": + version: 1.59.1 + resolution: "playwright@npm:1.59.1" dependencies: - "@babel/runtime": "npm:^7.17.8" - checksum: 10c0/45480d4c7281a134281cef092f6ecc202a868475ff66a390fee6e9261386e16f3047b4de46a2f2e1cf7fb7aa8f52d30b4ed631a1e3bcd6f303ca31161d4f07fe + fsevents: "npm:2.3.2" + playwright-core: "npm:1.59.1" + dependenciesMeta: + fsevents: + optional: true + bin: + playwright: cli.js + checksum: 10c0/dfe38396e616e5c4f98825ce90037bb96e477c5a2bd9258a24854f8ce72a8a41427b19098863866f85aa0216e70287dd537c4438d761aca93995e31ae099c533 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" - checksum: 10c0/d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd - 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 + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 languageName: node linkType: hard "postcss-loader@npm:^8.1.1": - version: 8.1.1 - resolution: "postcss-loader@npm:8.1.1" + version: 8.2.1 + resolution: "postcss-loader@npm:8.2.1" dependencies: cosmiconfig: "npm:^9.0.0" - jiti: "npm:^1.20.0" - semver: "npm:^7.5.4" + jiti: "npm:^2.5.1" + semver: "npm:^7.6.2" peerDependencies: - "@rspack/core": 0.x || 1.x + "@rspack/core": 0.x || ^1.0.0 || ^2.0.0-0 postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 peerDependenciesMeta: @@ -15806,7 +11080,7 @@ __metadata: optional: true webpack: optional: true - checksum: 10c0/86cde94cd4c7c39892ef9bd4bf09342f422a21789654038694cf2b23c37c0ed9550c73608f656426a6631f0ade1eca82022781831e93d5362afe2f191388b85e + checksum: 10c0/8ef4687f05972a85b4ad8e714f692fceec16f334d99edaa09c222dc08d01afcdcf7bed2b3a45f7888900cb9fd3324b9741d98ce694e33e87bebdc038dd17e30b languageName: node linkType: hard @@ -15820,26 +11094,26 @@ __metadata: linkType: hard "postcss-modules-local-by-default@npm:^4.0.5": - version: 4.0.5 - resolution: "postcss-modules-local-by-default@npm:4.0.5" + version: 4.2.0 + resolution: "postcss-modules-local-by-default@npm:4.2.0" dependencies: icss-utils: "npm:^5.0.0" - postcss-selector-parser: "npm:^6.0.2" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.1.0" peerDependencies: postcss: ^8.1.0 - checksum: 10c0/f4ad35abeb685ecb25f80c93d9fe23c8b89ee45ac4185f3560e701b4d7372f9b798577e79c5ed03b6d9c80bc923b001210c127c04ced781f43cda9e32b202a5b + checksum: 10c0/b0b83feb2a4b61f5383979d37f23116c99bc146eba1741ca3cf1acca0e4d0dbf293ac1810a6ab4eccbe1ee76440dd0a9eb2db5b3bba4f99fc1b3ded16baa6358 languageName: node linkType: hard "postcss-modules-scope@npm:^3.2.0": - version: 3.2.0 - resolution: "postcss-modules-scope@npm:3.2.0" + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" dependencies: - postcss-selector-parser: "npm:^6.0.4" + postcss-selector-parser: "npm:^7.0.0" peerDependencies: postcss: ^8.1.0 - checksum: 10c0/a2f5ffe372169b3feb8628cd785eb748bf12e344cfa57bce9e5cdc4fa5adcdb40d36daa86bb35dad53427703b185772aad08825b5783f745fcb1b6039454a84b + checksum: 10c0/bd2d81f79e3da0ef6365b8e2c78cc91469d05b58046b4601592cdeef6c4050ed8fe1478ae000a1608042fc7e692cb51fecbd2d9bce3f4eace4d32e883ffca10b languageName: node linkType: hard @@ -15854,28 +11128,27 @@ __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": - version: 6.1.0 - resolution: "postcss-selector-parser@npm:6.1.0" +"postcss-selector-parser@npm:^7.0.0": + version: 7.1.1 + resolution: "postcss-selector-parser@npm:7.1.1" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/91e9c6434772506bc7f318699dd9d19d32178b52dfa05bed24cb0babbdab54f8fb765d9920f01ac548be0a642aab56bce493811406ceb00ae182bbb53754c473 + checksum: 10c0/02d3b1589ddcddceed4b583b098b95a7266dacd5135f041e5d913ebb48e874fd333a36e564cc9a2ec426a464cb18db11cb192ac76247aced5eba8c951bf59507 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 @@ -15893,121 +11166,42 @@ __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": - version: 8.4.38 - resolution: "postcss@npm:8.4.38" +"postcss@npm:^8.2.14, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.40, postcss@npm:^8.5.6": + version: 8.5.10 + resolution: "postcss@npm:8.5.10" dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.2.0" - checksum: 10c0/955407b8f70cf0c14acf35dab3615899a2a60a26718a63c848cf3c29f2467b0533991b985a2b994430d890bd7ec2b1963e36352b0774a19143b5f591540f7c06 + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/c592dffa0c4873b401f01955b265538d9942f425040df5e2b8f0ad34c83773a792ea0fa5859ccc99cfb5b955b4ebff118ab7056315388dc83b107b0fa8313576 languageName: node linkType: hard -"posthog-js@npm:^1.141.4": - version: 1.141.4 - resolution: "posthog-js@npm:1.141.4" +"posthog-js@npm:^1.225.0": + version: 1.371.3 + resolution: "posthog-js@npm:1.371.3" dependencies: + "@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.27.2" + "@posthog/types": "npm:1.371.3" + core-js: "npm:^3.38.1" + dompurify: "npm:^3.3.2" 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, prettier@npm:^3.1.1": - version: 3.3.1 - resolution: "prettier@npm:3.3.1" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/c25a709c9f0be670dc6bcb190b622347e1dbeb6c3e7df8b0711724cb64d8647c60b839937a4df4df18e9cfb556c2b08ca9d24d9645eb5488a7fc032a2c4d5cb3 - languageName: node - linkType: hard - -"prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" - 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 + preact: "npm:^10.28.2" + query-selector-shadow-dom: "npm:^1.0.1" + web-vitals: "npm:^5.1.0" + checksum: 10c0/57b563463cbc49cc3aa06bf924d122a25b69694c9a40676a553ef4ae99cf77e0b64b92c451543e0e04a2d3bb1fe0d5664b71d6b8ff377823f50ba4a0c5d99532 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.29.1 + resolution: "preact@npm:10.29.1" + checksum: 10c0/55da3994d0d9ebcc26476552c6571f8be1150cccdafe842aad40eff9abc84c867555f6d01db386fc63ac4cbe9f9da245002468bb24df0642365162d8f1b545e2 languageName: node linkType: hard @@ -16021,35 +11215,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" @@ -16057,17 +11222,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc - languageName: node - linkType: hard - -"proc-log@npm:^4.2.0": - version: 4.2.0 - resolution: "proc-log@npm:4.2.0" - checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 +"proc-log@npm:^6.0.0": + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 languageName: node linkType: hard @@ -16085,17 +11243,7 @@ __metadata: languageName: node linkType: hard -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"prompts@npm:^2.4.0, prompts@npm:^2.4.2": +"prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -16105,27 +11253,16 @@ __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" - checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef +"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.2.2, protobufjs@npm:^7.2.5": - version: 7.3.0 - resolution: "protobufjs@npm:7.3.0" +"protobufjs@npm:^7.3.0": + version: 7.5.5 + resolution: "protobufjs@npm:7.5.5" dependencies: "@protobufjs/aspromise": "npm:^1.1.2" "@protobufjs/base64": "npm:^1.1.2" @@ -16139,21 +11276,11 @@ __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/3d48896a916761e3e60b52f80027eb4fba3f5a6e3f8461e04939db18812db2cb0db4c73d03e1134a960e99525ae1d236f076a0bc01273016f573b76f33ffbd47 languageName: node linkType: hard -"public-encrypt@npm:^4.0.0": +"public-encrypt@npm:^4.0.3": version: 4.0.3 resolution: "public-encrypt@npm:4.0.3" dependencies: @@ -16167,37 +11294,6 @@ __metadata: languageName: node linkType: hard -"pump@npm:^2.0.0": - version: 2.0.1 - resolution: "pump@npm:2.0.1" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/f1fe8960f44d145f8617ea4c67de05392da4557052980314c8f85081aee26953bdcab64afad58a2b1df0e8ff7203e3710e848cbe81a01027978edc6e264db355 - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 - languageName: node - linkType: hard - -"pumpify@npm:^1.3.3": - version: 1.5.1 - resolution: "pumpify@npm:1.5.1" - dependencies: - duplexify: "npm:^3.6.0" - inherits: "npm:^2.0.3" - pump: "npm:^2.0.0" - checksum: 10c0/0bcabf9e3dbf2d0cc1f9b84ac80d3c75386111caf8963bfd98817a1e2192000ac0ccc804ca6ccd5b2b8430fdb71347b20fb2f014fe3d41adbacb1b502a841c45 - languageName: node - linkType: hard - "punycode@npm:^1.4.1": version: 1.4.1 resolution: "punycode@npm:1.4.1" @@ -16212,21 +11308,19 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" +"qs@npm:^6.12.3": + version: 6.15.1 + resolution: "qs@npm:6.15.1" dependencies: - side-channel: "npm:^1.0.6" - checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + side-channel: "npm:^1.1.0" + checksum: 10c0/19ee504f0ebff72598503e38cd6d9bd7b52a8ab62ae18b1e6bee3d4db58469bd65871ef1893a881bafb0f80ef2f9ab586e1f255cf25cc8d816c0f5a704721d97 languageName: node linkType: hard -"qs@npm:^6.10.0, qs@npm:^6.11.2": - version: 6.12.1 - resolution: "qs@npm:6.12.1" - dependencies: - side-channel: "npm:^1.0.6" - checksum: 10c0/439e6d7c6583e7c69f2cab2c39c55b97db7ce576e4c7c469082b938b7fc8746e8d547baacb69b4cd2b6666484776c3f4840ad7163a4c5326300b0afa0acdd84b +"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 @@ -16237,29 +11331,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" @@ -16269,7 +11340,7 @@ __metadata: languageName: node linkType: hard -"randomfill@npm:^1.0.3": +"randomfill@npm:^1.0.4": version: 1.0.4 resolution: "randomfill@npm:1.0.4" dependencies: @@ -16279,58 +11350,25 @@ __metadata: languageName: node linkType: hard -"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 +"range-parser@npm:^1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 languageName: node linkType: hard "react-docgen-typescript@npm:^2.2.2": - version: 2.2.2 - resolution: "react-docgen-typescript@npm:2.2.2" + version: 2.4.0 + resolution: "react-docgen-typescript@npm:2.4.0" peerDependencies: typescript: ">= 4.3.x" - checksum: 10c0/d31a061a21b5d4b67d4af7bc742541fd9e16254bd32861cd29c52565bc2175f40421a3550d52b6a6b0d0478e7cc408558eb0060a0bdd2957b02cfceeb0ee1e88 + checksum: 10c0/18e3e1c80d28abcdd72e62261d2f70b0904d9b088f9c2ebe485ffee5e46f5735208bc174a20ed2772112b3ca6432b5f3d5f0ac345872fe76e541f84543e49e50 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" @@ -16342,61 +11380,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.3 + resolution: "react-docgen@npm:8.0.3" 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/0231fb9177bc7c633f3d1f228eebb0ee90a2f0feac50b1869ef70b0a3683b400d7875547a2d5168f2619b63d4cc29d7c45ae33d3f621fc67a7fa6790ac2049f6 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.5 + resolution: "react-dom@npm:19.2.5" 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.5 + checksum: 10c0/8067606e9f58e4c2e8cb5f09570217dbc71c4843ebcaa20ae2085912d3e3a351f17d8f7c1713313cdda7f272840c8c34ff6c860fcb840862071bceea218e0c63 languageName: node linkType: hard @@ -16407,55 +11420,54 @@ __metadata: languageName: node linkType: hard -"react-remove-scroll-bar@npm:^2.3.3": - version: 2.3.6 - resolution: "react-remove-scroll-bar@npm:2.3.6" +"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.1" + react-style-singleton: "npm:^2.2.2" tslib: "npm:^2.0.0" peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/4e32ee04bf655a8bd3b4aacf6ffc596ae9eb1b9ba27eef83f7002632ee75371f61516ae62250634a9eae4b2c8fc6f6982d9b182de260f6c11841841e6e2e7515 + 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" +"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.3" - react-style-singleton: "npm:^2.2.1" + 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.0" - use-sidecar: "npm:^1.1.2" + use-callback-ref: "npm:^1.3.3" + use-sidecar: "npm:^1.1.3" peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@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/4952657e6a7b9d661d4ad4dfcef81b9c7fa493e35164abff99c35c0b27b3d172ef7ad70c09416dc44dd14ff2e6b38a5ec7da27e27e90a15cbad36b8fd2fd8054 + 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" +"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" - invariant: "npm:^2.2.4" tslib: "npm:^2.0.0" peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@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/6d66f3bdb65e1ec79089f80314da97c9a005087a04ee034255a5de129a4c0d9fd0bf99fa7bf642781ac2dc745ca687aae3de082bd8afdd0d117bc953241e15ad + checksum: 10c0/841938ff16d16a6b76895f4cb2e1fea957e5fe3b30febbf03a54892dae1c9153f2383e231dea0b3ba41192ad2f2849448fa859caccd288943bce32639e971bee languageName: node linkType: hard @@ -16468,48 +11480,14 @@ __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 - languageName: node - linkType: hard - -"read-pkg-up@npm:^7.0.1": - version: 7.0.1 - resolution: "read-pkg-up@npm:7.0.1" - dependencies: - find-up: "npm:^4.1.0" - read-pkg: "npm:^5.2.0" - type-fest: "npm:^0.8.1" - checksum: 10c0/82b3ac9fd7c6ca1bdc1d7253eb1091a98ff3d195ee0a45386582ce3e69f90266163c34121e6a0a02f1630073a6c0585f7880b3865efcae9c452fa667f02ca385 - languageName: node - linkType: hard - -"read-pkg@npm:^5.2.0": - version: 5.2.0 - resolution: "read-pkg@npm:5.2.0" - dependencies: - "@types/normalize-package-data": "npm:^2.4.0" - normalize-package-data: "npm:^2.5.0" - parse-json: "npm:^5.0.0" - type-fest: "npm:^0.6.0" - checksum: 10c0/b51a17d4b51418e777029e3a7694c9bd6c578a5ab99db544764a0b0f2c7c0f58f8a6bc101f86a6fceb8ba6d237d67c89acf6170f6b98695d0420ddc86cf109fb +"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0, react@npm:^19": + version: 19.2.5 + resolution: "react@npm:19.2.5" + checksum: 10c0/4b5f231dbef92886f602533c9ce3bde04d99f0e71dfb5d794c43e02726efaad0421c08688f75fc98a6d6e1dc017372e1af7abbfecdc86a79968f461675931a7a languageName: node linkType: hard -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.3.8": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -16524,7 +11502,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -16536,37 +11514,85 @@ __metadata: linkType: hard "readable-stream@npm:^4.0.0": - version: 4.5.2 - resolution: "readable-stream@npm:4.5.2" + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" dependencies: abort-controller: "npm:^3.0.0" buffer: "npm:^6.0.3" events: "npm:^3.3.0" process: "npm:^0.11.10" string_decoder: "npm:^1.3.0" - checksum: 10c0/a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d + checksum: 10c0/fd86d068da21cfdb10f7a4479f2e47d9c0a9b0c862fc0c840a7e5360201580a55ac399c764b12a4f6fa291f8cee74d9c4b7562e0d53b3c4b2769f2c98155d957 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 -"recast@npm:^0.23.3, recast@npm:^0.23.5": - version: 0.23.9 - resolution: "recast@npm:0.23.9" +"recast@npm:^0.23.5": + version: 0.23.11 + resolution: "recast@npm:0.23.11" dependencies: ast-types: "npm:^0.16.1" esprima: "npm:~4.0.0" source-map: "npm:~0.6.1" tiny-invariant: "npm:^1.3.3" tslib: "npm:^2.0.1" - checksum: 10c0/65d6e780351f0180ea4fe5c9593ac18805bf2b79977f5bedbbbf26f6d9b619ed0f6992c1bf9e06dd40fca1aea727ad6d62463cfb5d3a33342ee5a6e486305fe5 + checksum: 10c0/45b520a8f0868a5a24ecde495be9de3c48e69a54295d82a7331106554b75cfba75d16c909959d056e9ceed47a1be5e061e2db8b9ecbcd6ba44c2f3ef9a47bd18 + 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 @@ -16580,27 +11606,12 @@ __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" +"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/89adb5ee5ba081380c78f9057c02e156a8181969f6fcca72451efc45612e0c3df767b4333f8d8479c274d9c6fe52ec4854f0d8a22ef95dccbe87da8e5f2ac77d + checksum: 10c0/66a1d6a1dbacdfc49afd88f20b2319a4c33cee56d245163e4d8f5f283e0f45d1085a78f7f7406dd19ea3a5dd7a7799cd020cd817c97464a7507f9d10fbdce87c languageName: node linkType: hard @@ -16611,63 +11622,67 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 +"regex-parser@npm:^2.2.11": + version: 2.3.1 + resolution: "regex-parser@npm:2.3.1" + checksum: 10c0/a256f79c8b465e6765eb65799417200f8ee81f68cc202cc5563a02713e61ad51f6280672f8edee072ef37c5301a90f8d1a71cefb6ec3ed2ca0d1d88587286219 languageName: node linkType: hard -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" +"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.1.0": + 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 -"regexpu-core@npm:^5.3.1": - version: 5.3.2 - resolution: "regexpu-core@npm:5.3.2" +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" dependencies: - "@babel/regjsgen": "npm:^0.8.0" regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^10.1.0" - regjsparser: "npm:^0.9.1" + 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.1.0" - checksum: 10c0/7945d5ab10c8bbed3ca383d4274687ea825aee4ab93a9c51c6e31e1365edd5ea807f6908f800ba017b66c462944ba68011164e7055207747ab651f8111ef3770 + 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.9.1": - version: 0.9.1 - resolution: "regjsparser@npm:0.9.1" +"regjsparser@npm:^0.13.0": + version: 0.13.1 + resolution: "regjsparser@npm:0.13.1" dependencies: - jsesc: "npm:~0.5.0" + jsesc: "npm:~3.1.0" bin: regjsparser: bin/parser - checksum: 10c0/fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 + checksum: 10c0/1276c983f00de49e37ef76b181df4390699b46e3666fbe6b8b5512bd75919112574cf023f28ac720d427be158af60dba6a77cce9a8aaff14967263636e667356 languageName: node linkType: hard @@ -16685,44 +11700,41 @@ __metadata: languageName: node linkType: hard -"rehype-external-links@npm:^3.0.0": - version: 3.0.0 - resolution: "rehype-external-links@npm:3.0.0" - dependencies: - "@types/hast": "npm:^3.0.0" - "@ungap/structured-clone": "npm:^1.0.0" - hast-util-is-element: "npm:^3.0.0" - is-absolute-url: "npm:^4.0.0" - space-separated-tokens: "npm:^2.0.0" - unist-util-visit: "npm:^5.0.0" - checksum: 10c0/486b5db73d8fe72611d62b4eb0b56ec71025ea32bba764ad54473f714ca627be75e057ac29243763f85a77c3810f31727ce3e03c975b3803c1c98643d038e9ae - languageName: node - linkType: hard - "rehype-parse@npm:^9.0.0": - version: 9.0.0 - resolution: "rehype-parse@npm:9.0.0" + version: 9.0.1 + resolution: "rehype-parse@npm:9.0.1" dependencies: "@types/hast": "npm:^3.0.0" hast-util-from-html: "npm:^2.0.0" unified: "npm:^11.0.0" - checksum: 10c0/c38d07b8bfb5eb3ad6ce8ebdc65ecb31b4c68e440fb020178a34937fa28753d63c70f51146890bf32f840ef6102efdf31e03eb937fc100bc9efa4f4f808a50d2 + checksum: 10c0/efa9ca17673fe70e2d322a1d262796bbed5f6a89382f8f8393352bbd6f6bbf1d4d1d050984b86ff9cb6c0fa2535175ab0829e53c94b1e38fc3c158e6c0ad90bc 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 @@ -16739,17 +11751,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" @@ -16768,60 +11769,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" - 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" + resolution: "remark-gfm@npm:4.0.1" 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 @@ -16837,15 +11805,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 @@ -16885,13 +11854,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" @@ -16906,13 +11868,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" @@ -16927,13 +11882,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" @@ -16947,96 +11895,41 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^2.0.2": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 10c0/cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 - languageName: node - linkType: hard - -"resolve@npm:^1.1.7, resolve@npm:^1.10.0, 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": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a - 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" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.10.0#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>": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin<compat/resolve>::version=1.22.8&hash=c3c19d" +"resolve@npm:^1.22.1, resolve@npm:^1.22.11, resolve@npm:^1.22.8": + version: 1.22.12 + resolution: "resolve@npm:1.22.12" dependencies: - is-core-module: "npm:^2.13.0" + es-errors: "npm:^1.3.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/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + checksum: 10c0/b16dc9b537c02e8c3388f7d3dcff9741d3071625f9a97ac1c885f2b0ca51e78df22328fb6d6ef214dd9101fb7cfc19aa2836fe3410402a94f3f7b8639c7149bf 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.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.11#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>": + version: 1.22.12 + resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin<compat/resolve>::version=1.22.12&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + es-errors: "npm:^1.3.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 - languageName: node - linkType: hard - -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f + checksum: 10c0/fc6519984ae1f894d877c0060ba8b1f5ba3bc0e85a02f74e141929c118c23d74d9735619a9cc2965397387e514884245c65d72a40731dcb6cfc84c7bcdc8321e languageName: node linkType: hard -"restore-cursor@npm:^4.0.0": - version: 4.0.0 - resolution: "restore-cursor@npm:4.0.0" +"restore-cursor@npm:^5.0.0": + version: 5.1.0 + resolution: "restore-cursor@npm:5.1.0" dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/6f7da8c5e422ac26aa38354870b1afac09963572cf2879443540449068cb43476e9cbccf6f8de3e0171e0d6f7f533c2bc1a0a008003c9a525bbc098e89041318 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + onetime: "npm:^7.0.0" + signal-exit: "npm:^4.1.0" + checksum: 10c0/c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60 languageName: node linkType: hard @@ -17058,24 +11951,13 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:~2.6.2": - version: 2.6.3 - resolution: "rimraf@npm:2.6.3" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: ./bin.js - checksum: 10c0/f1e646f8c567795f2916aef7aadf685b543da6b9a53e482bb04b07472c7eef2b476045ba1e29f401c301c66b630b22b815ab31fdd60c5e1ae6566ff523debf45 - languageName: node - linkType: hard - -"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": - version: 2.0.2 - resolution: "ripemd160@npm:2.0.2" +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1, ripemd160@npm:^2.0.3": + version: 2.0.3 + resolution: "ripemd160@npm:2.0.3" dependencies: - hash-base: "npm:^3.0.0" - inherits: "npm:^2.0.1" - checksum: 10c0/f6f0df78817e78287c766687aed4d5accbebc308a8e7e673fb085b9977473c1f139f0c5335d353f172a915bb288098430755d2ad3c4f30612f4dd0c901cd2c3a + hash-base: "npm:^3.1.2" + inherits: "npm:^2.0.4" + checksum: 10c0/3f472fb453241cfe692a77349accafca38dbcdc9d96d5848c088b2932ba41eb968630ecff7b175d291c7487a4945aee5a81e30c064d1f94e36070f7e0c37ed6c languageName: node linkType: hard @@ -17108,91 +11990,51 @@ __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 +"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-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 +"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.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 languageName: node linkType: hard -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 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": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.2" 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": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 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 @@ -17200,29 +12042,27 @@ __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 -"schema-dts@npm:^1.1.2": - version: 1.1.2 - resolution: "schema-dts@npm:1.1.2" - peerDependencies: - typescript: ">=4.1.0" - checksum: 10c0/bcca8719b1bb1cd71ba2b01a5126b3579e917a2f193e10fcffe020fa42fef911776ed9d2197c9f376780e703994b3ab854db3f962c47064f7282f41eff0f1d24 +"schema-dts@npm:^1.1.2": + version: 1.1.5 + resolution: "schema-dts@npm:1.1.5" + checksum: 10c0/babe23a1577c75c5df79d73acf34af3399e60928eab46f2236a0c4212061f5778d613a31c9e9ec86a2807d20b1ea460673d72d3fe1f64fb7543867460e607f76 languageName: node linkType: hard -"schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": +"schema-utils@npm:^3.1.1": version: 3.3.0 resolution: "schema-utils@npm:3.3.0" dependencies: @@ -17233,44 +12073,15 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^4.0.0, schema-utils@npm:^4.2.0": - version: 4.2.0 - resolution: "schema-utils@npm:4.2.0" +"schema-utils@npm:^4.0.0, schema-utils@npm:^4.2.0, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.3": + version: 4.3.3 + resolution: "schema-utils@npm:4.3.3" dependencies: "@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/8dab7e7800316387fd8569870b4b668cfcecf95ac551e369ea799bbcbfb63fb0365366d4b59f64822c9f7904d8c5afcfaf5a6124a4b08783e558cd25f299a6b4 - languageName: node - linkType: hard - -"section-matter@npm:^1.0.0": - version: 1.0.0 - resolution: "section-matter@npm:1.0.0" - dependencies: - extend-shallow: "npm:^2.0.1" - kind-of: "npm:^6.0.0" - checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d - languageName: node - linkType: hard - -"selfsigned@npm:^2.0.1": - version: 2.4.1 - resolution: "selfsigned@npm:2.4.1" - dependencies: - "@types/node-forge": "npm:^1.3.0" - node-forge: "npm:^1" - checksum: 10c0/521829ec36ea042f7e9963bf1da2ed040a815cf774422544b112ec53b7edc0bc50a0f8cc2ae7aa6cc19afa967c641fd96a15de0fc650c68651e41277d2e1df09 - languageName: node - linkType: hard - -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 + checksum: 10c0/1c8d2c480a026d7c02ab2ecbe5919133a096d6a721a3f201fa50663e4f30f6d6ba020dfddd93cb828b66b922e76b342e103edd19a62c95c8f60e9079cc403202 languageName: node linkType: hard @@ -17283,58 +12094,16 @@ __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": - version: 7.6.2 - resolution: "semver@npm:7.6.2" +"semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.3": + version: 7.7.4 + resolution: "semver@npm:7.7.4" bin: semver: bin/semver.js - checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c - 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" - dependencies: - randombytes: "npm:^2.1.0" - checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 - 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 + checksum: 10c0/5215ad0234e2845d4ea5bb9d836d42b03499546ddafb12075566899fc617f68794bb6f146076b6881d755de17d6c6cc73372555879ec7dce2c2feee947866ad2 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" dependencies: @@ -17348,18 +12117,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" @@ -17367,60 +12124,119 @@ __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.8": - version: 2.4.11 - resolution: "sha.js@npm:2.4.11" +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.12, sha.js@npm:^2.4.8": + version: 2.4.12 + resolution: "sha.js@npm:2.4.12" dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" + inherits: "npm:^2.0.4" + safe-buffer: "npm:^5.2.1" + to-buffer: "npm:^1.2.0" bin: - sha.js: ./bin.js - checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 - languageName: node - linkType: hard - -"shallow-clone@npm:^3.0.0": - version: 3.0.1 - resolution: "shallow-clone@npm:3.0.1" - dependencies: - kind-of: "npm:^6.0.2" - checksum: 10c0/7bab09613a1b9f480c85a9823aebec533015579fa055ba6634aa56ba1f984380670eaf33b8217502931872aa1401c9fcadaa15f9f604d631536df475b05bcf1e - 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" + sha.js: bin.js + checksum: 10c0/9d36bdd76202c8116abbe152a00055ccd8a0099cb28fc17c01fa7bb2c8cffb9ca60e2ab0fe5f274ed6c45dc2633d8c39cf7ab050306c231904512ba9da4d8ab1 + languageName: node + linkType: hard + +"sharp@npm:^0.33.5": + version: 0.33.5 + resolution: "sharp@npm:0.33.5" + dependencies: + "@img/sharp-darwin-arm64": "npm:0.33.5" + "@img/sharp-darwin-x64": "npm:0.33.5" + "@img/sharp-libvips-darwin-arm64": "npm:1.0.4" + "@img/sharp-libvips-darwin-x64": "npm:1.0.4" + "@img/sharp-libvips-linux-arm": "npm:1.0.5" + "@img/sharp-libvips-linux-arm64": "npm:1.0.4" + "@img/sharp-libvips-linux-s390x": "npm:1.0.4" + "@img/sharp-libvips-linux-x64": "npm:1.0.4" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.4" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.4" + "@img/sharp-linux-arm": "npm:0.33.5" + "@img/sharp-linux-arm64": "npm:0.33.5" + "@img/sharp-linux-s390x": "npm:0.33.5" + "@img/sharp-linux-x64": "npm:0.33.5" + "@img/sharp-linuxmusl-arm64": "npm:0.33.5" + "@img/sharp-linuxmusl-x64": "npm:0.33.5" + "@img/sharp-wasm32": "npm:0.33.5" + "@img/sharp-win32-ia32": "npm:0.33.5" + "@img/sharp-win32-x64": "npm:0.33.5" color: "npm:^4.2.3" detect-libc: "npm:^2.0.3" - semver: "npm:^7.6.0" + semver: "npm:^7.6.3" + 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/6b81421ddfe6ee524d8d77e325c5e147fef22884e1c7b1656dfd89a88d7025894115da02d5f984261bf2e6daa16f98cadd1721c4ba408b4212b1d2a60f233484 + languageName: node + linkType: hard + +"sharp@npm:^0.34.1, sharp@npm:^0.34.5": + version: 0.34.5 + resolution: "sharp@npm:0.34.5" + dependencies: + "@img/colour": "npm:^1.0.0" + "@img/sharp-darwin-arm64": "npm:0.34.5" + "@img/sharp-darwin-x64": "npm:0.34.5" + "@img/sharp-libvips-darwin-arm64": "npm:1.2.4" + "@img/sharp-libvips-darwin-x64": "npm:1.2.4" + "@img/sharp-libvips-linux-arm": "npm:1.2.4" + "@img/sharp-libvips-linux-arm64": "npm:1.2.4" + "@img/sharp-libvips-linux-ppc64": "npm:1.2.4" + "@img/sharp-libvips-linux-riscv64": "npm:1.2.4" + "@img/sharp-libvips-linux-s390x": "npm:1.2.4" + "@img/sharp-libvips-linux-x64": "npm:1.2.4" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4" + "@img/sharp-linux-arm": "npm:0.34.5" + "@img/sharp-linux-arm64": "npm:0.34.5" + "@img/sharp-linux-ppc64": "npm:0.34.5" + "@img/sharp-linux-riscv64": "npm:0.34.5" + "@img/sharp-linux-s390x": "npm:0.34.5" + "@img/sharp-linux-x64": "npm:0.34.5" + "@img/sharp-linuxmusl-arm64": "npm:0.34.5" + "@img/sharp-linuxmusl-x64": "npm:0.34.5" + "@img/sharp-wasm32": "npm:0.34.5" + "@img/sharp-win32-arm64": "npm:0.34.5" + "@img/sharp-win32-ia32": "npm:0.34.5" + "@img/sharp-win32-x64": "npm:0.34.5" + detect-libc: "npm:^2.1.2" + semver: "npm:^7.7.3" dependenciesMeta: "@img/sharp-darwin-arm64": optional: true @@ -17434,6 +12250,10 @@ __metadata: optional: true "@img/sharp-libvips-linux-arm64": optional: true + "@img/sharp-libvips-linux-ppc64": + optional: true + "@img/sharp-libvips-linux-riscv64": + optional: true "@img/sharp-libvips-linux-s390x": optional: true "@img/sharp-libvips-linux-x64": @@ -17446,6 +12266,10 @@ __metadata: optional: true "@img/sharp-linux-arm64": optional: true + "@img/sharp-linux-ppc64": + optional: true + "@img/sharp-linux-riscv64": + optional: true "@img/sharp-linux-s390x": optional: true "@img/sharp-linux-x64": @@ -17456,11 +12280,13 @@ __metadata: optional: true "@img/sharp-wasm32": optional: true + "@img/sharp-win32-arm64": + optional: true "@img/sharp-win32-ia32": optional: true "@img/sharp-win32-x64": optional: true - checksum: 10c0/428c5c6a84ff8968effe50c2de931002f5f30b9f263e1c026d0384e581673c13088a49322f7748114d3d9be4ae9476a74bf003a3af34743e97ef2f880d1cfe45 + checksum: 10c0/fd79e29df0597a7d5704b8461c51f944ead91a5243691697be6e8243b966402beda53ddc6f0a53b96ea3cb8221f0b244aa588114d3ebf8734fb4aefd41ab802f languageName: node linkType: hard @@ -17480,42 +12306,71 @@ __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 +"shiki@npm:^3.0.0": + version: 3.23.0 + resolution: "shiki@npm:3.23.0" + dependencies: + "@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-list@npm:^1.0.0": + version: 1.0.1 + resolution: "side-channel-list@npm:1.0.1" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.4" + checksum: 10c0/d346c787fd2f9f1c2fdea14f00e8250118db0e7596d85a6cb9faa75f105d31a73a8f7a341c93d7df2a2429098c3d37a77bd3be9e88c37094b8c01807bc77c7a2 languageName: node linkType: hard -"shiki@npm:^1.6.2": - version: 1.6.2 - resolution: "shiki@npm:1.6.2" +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" dependencies: - "@shikijs/core": "npm:1.6.2" - checksum: 10c0/c563a22f47890d46626822b50635217f95ce5d4a28f4a62cabe689c3786602a41f0bba58f13ae36399ff24525cd9eadc034022a4be57226ffd8ed4a9aeec946d + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.2" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - object-inspect: "npm:^1.13.1" - checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 languageName: node linkType: hard -"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": +"signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 @@ -17523,11 +12378,11 @@ __metadata: linkType: hard "simple-swizzle@npm:^0.2.2": - version: 0.2.2 - resolution: "simple-swizzle@npm:0.2.2" + version: 0.2.4 + resolution: "simple-swizzle@npm:0.2.4" dependencies: is-arrayish: "npm:^0.3.1" - checksum: 10c0/df5e4662a8c750bdba69af4e8263c5d96fe4cd0f9fe4bdfa3cbdeb45d2e869dff640beaaeb1ef0e99db4d8d2ec92f85508c269f50c972174851bc1ae5bd64308 + checksum: 10c0/846c3fdd1325318d5c71295cfbb99bfc9edc4c8dffdda5e6e9efe30482bbcd32cf360fc2806f46ac43ff7d09bcfaff20337bb79f826f0e6a8e366efd3cdd7868 languageName: node linkType: hard @@ -17538,20 +12393,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 - -"slash@npm:^5.1.0": - version: 5.1.0 - resolution: "slash@npm:5.1.0" - checksum: 10c0/eb48b815caf0bdc390d0519d41b9e0556a14380f6799c72ba35caf03544d501d18befdeeef074bc9c052acf69654bc9e0d79d7f1de0866284137a40805299eb3 - languageName: node - linkType: hard - "slice-ansi@npm:^5.0.0": version: 5.0.0 resolution: "slice-ansi@npm:5.0.0" @@ -17562,52 +12403,34 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^7.0.0": - version: 7.1.0 - resolution: "slice-ansi@npm:7.1.0" +"slice-ansi@npm:^7.1.0": + version: 7.1.2 + resolution: "slice-ansi@npm:7.1.2" dependencies: ansi-styles: "npm:^6.2.1" is-fullwidth-code-point: "npm:^5.0.0" - checksum: 10c0/631c971d4abf56cf880f034d43fcc44ff883624867bf11ecbd538c47343911d734a4656d7bc02362b40b89d765652a7f935595441e519b59e2ad3f4d5d6fe7ca - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.3 - resolution: "socks-proxy-agent@npm:8.0.3" - dependencies: - agent-base: "npm:^7.1.1" - debug: "npm:^4.3.4" - socks: "npm:^2.7.1" - checksum: 10c0/4950529affd8ccd6951575e21c1b7be8531b24d924aa4df3ee32df506af34b618c4e50d261f4cc603f1bfd8d426915b7d629966c8ce45b05fb5ad8c8b9a6459d + checksum: 10c0/36742f2eb0c03e2e81a38ed14d13a64f7b732fe38c3faf96cce0599788a345011e840db35f1430ca606ea3f8db2abeb92a8d25c2753a819e3babaa10c2e289a2 languageName: node linkType: hard -"socks@npm:^2.7.1": - version: 2.8.3 - resolution: "socks@npm:2.8.3" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 +"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" - checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 +"source-map-js@npm:^1.0.2, 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.16, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": +"source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -17625,9 +12448,9 @@ __metadata: linkType: hard "source-map@npm:^0.7.0, source-map@npm:^0.7.3": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + version: 0.7.6 + resolution: "source-map@npm:0.7.6" + checksum: 10c0/59f6f05538539b274ba771d2e9e32f6c65451982510564438e048bc1352f019c6efcdc6dd07909b1968144941c14015c2c7d4369fb7c4d7d53ae769716dcc16c languageName: node linkType: hard @@ -17645,47 +12468,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 - -"spdx-correct@npm:^3.0.0": - version: 3.2.0 - resolution: "spdx-correct@npm:3.2.0" - dependencies: - spdx-expression-parse: "npm:^3.0.0" - spdx-license-ids: "npm:^3.0.0" - checksum: 10c0/49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 - languageName: node - linkType: hard - -"spdx-exceptions@npm:^2.1.0": - version: 2.5.0 - resolution: "spdx-exceptions@npm:2.5.0" - checksum: 10c0/37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 - languageName: node - linkType: hard - -"spdx-expression-parse@npm:^3.0.0": - version: 3.0.1 - resolution: "spdx-expression-parse@npm:3.0.1" - dependencies: - spdx-exceptions: "npm:^2.1.0" - spdx-license-ids: "npm:^3.0.0" - checksum: 10c0/6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 - languageName: node - linkType: hard - -"spdx-license-ids@npm:^3.0.0": - version: 3.0.18 - resolution: "spdx-license-ids@npm:3.0.18" - checksum: 10c0/c64ba03d4727191c8fdbd001f137d6ab51386c350d5516be8a4576c2e74044cb27bc8a758f6a04809da986cc0b14213f069b04de72caccecbc9f733753ccde32 - languageName: node - linkType: hard - "split2@npm:^4.0.0": version: 4.2.0 resolution: "split2@npm:4.2.0" @@ -17693,29 +12475,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - 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" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 - languageName: node - linkType: hard - "stackframe@npm:^1.3.4": version: 1.3.4 resolution: "stackframe@npm:1.3.4" @@ -17724,77 +12483,54 @@ __metadata: linkType: hard "stacktracey@npm:^2.1.8": - version: 2.1.8 - resolution: "stacktracey@npm:2.1.8" + version: 2.2.0 + resolution: "stacktracey@npm:2.2.0" dependencies: as-table: "npm:^1.0.36" get-source: "npm:^2.0.12" - checksum: 10c0/e17357d0a532d303138899b910ab660572009a1f4cde1cbf73b99416957a2378e6e1c791b3c31b043cf7c5f37647da1dd114e66c9203f23c65b34f783665405b - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + checksum: 10c0/fc5d58a85e76a1a13ce1a2ecac4029c5e889a7c437259023f5514dfc3b107603de944c46faa6c930e4991fe13d91deb385e9537ef7f6deb1bd2d8188f69eec30 languageName: node linkType: hard -"stdin-discarder@npm:^0.2.1": +"stdin-discarder@npm:^0.2.2": version: 0.2.2 resolution: "stdin-discarder@npm:0.2.2" checksum: 10c0/c78375e82e956d7a64be6e63c809c7f058f5303efcaf62ea48350af072bacdb99c06cba39209b45a071c1acbd49116af30df1df9abb448df78a6005b72f10537 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": +"stoppable@npm:1.1.0": version: 1.1.0 resolution: "stoppable@npm:1.1.0" checksum: 10c0/ba91b65e6442bf6f01ce837a727ece597a977ed92a05cb9aea6bf446c5e0dcbccc28f31b793afa8aedd8f34baaf3335398d35f903938d5493f7fbe386a1e090e 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.3.5 + resolution: "storybook@npm:10.3.5" 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.1.6": - version: 8.1.6 - resolution: "storybook@npm:8.1.6" - dependencies: - "@storybook/cli": "npm:8.1.6" + "@storybook/icons": "npm:^2.0.1" + "@testing-library/jest-dom": "npm:^6.9.1" + "@testing-library/user-event": "npm:^14.6.1" + "@vitest/expect": "npm:3.2.4" + "@vitest/spy": "npm:3.2.4" + "@webcontainer/env": "npm:^1.1.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 || ^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: - sb: ./index.js - storybook: ./index.js - checksum: 10c0/bcefe97b7a0370ae93c4a7d0ce4394fd4a39e286f535da7e48bed84c6e6caddff2ba22282fc202978e696c174c69ef0cc31534723da9c7b6bc2849b40a3f2bd1 + storybook: ./dist/bin/dispatcher.js + checksum: 10c0/1443e4710b0bb972db7704d8445c039a6335afafebe853d2b0d89b161262050cd7ae5eda3811c771d54d832f0acc80cf2c231d24f73d1f547d020898394afde6 languageName: node linkType: hard @@ -17820,28 +12556,14 @@ __metadata: languageName: node linkType: hard -"stream-shift@npm:^1.0.0": - version: 1.0.3 - resolution: "stream-shift@npm:1.0.3" - checksum: 10c0/939cd1051ca750d240a0625b106a2b988c45fb5a3be0cebe9a9858cb01bc1955e8c7b9fac17a9462976bea4a7b704e317c5c2200c70f0ca715a3363b9aa4fd3b - languageName: node - linkType: hard - -"streamsearch@npm:^1.1.0": - version: 1.1.0 - resolution: "streamsearch@npm:1.1.0" - checksum: 10c0/fbd9aecc2621364384d157f7e59426f4bfd385e8b424b5aaa79c83a6f5a1c8fd2e4e3289e95de1eb3511cb96bb333d6281a9919fafce760e4edb35b2cd2facab - languageName: node - linkType: hard - -"string-argv@npm:~0.3.2": +"string-argv@npm:^0.3.2": version: 0.3.2 resolution: "string-argv@npm:0.3.2" checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -17852,79 +12574,14 @@ __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" +"string-width@npm:^7.0.0, string-width@npm:^7.2.0": + version: 7.2.0 + resolution: "string-width@npm:7.2.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" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c - languageName: node - linkType: hard - -"string.prototype.trimstart@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimstart@npm:1.0.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + checksum: 10c0/eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9 languageName: node linkType: hard @@ -17956,7 +12613,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -17965,33 +12622,19 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" +"strip-ansi@npm:^7.1.0": + version: 7.2.0 + resolution: "strip-ansi@npm:7.2.0" dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - 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 + ansi-regex: "npm:^6.2.2" + checksum: 10c0/544d13b7582f8254811ea97db202f519e189e59d35740c46095897e254e4f1aa9fe1524a83ad6bc5ad67d4dd6c0281d2e0219ed62b880a6238a16a17d375f221 languageName: node linkType: hard "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" - checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 - 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 + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 languageName: node linkType: hard @@ -18012,18 +12655,9 @@ __metadata: linkType: hard "strip-indent@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-indent@npm:4.0.0" - dependencies: - min-indent: "npm:^1.0.1" - checksum: 10c0/6b1fb4e22056867f5c9e7a6f3f45922d9a2436cac758607d58aeaac0d3b16ec40b1c43317de7900f1b8dd7a4107352fa47fb960f2c23566538c51e8585c8870e - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.0.1, strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + version: 4.1.1 + resolution: "strip-indent@npm:4.1.1" + checksum: 10c0/5b23dd5934be0ef6b6fe1b802887f83e56ad9dcd9f6c3896a637da2c6c3a6da3fdf3e51354a98e6cccb6f1c41863e7b9b9deaa348639dfd35f71f3549edb4dff languageName: node linkType: hard @@ -18036,55 +12670,62 @@ __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: + inline-style-parser: "npm:0.2.7" + checksum: 10c0/854d9e9b77afc336e6d7b09348e7939f2617b34eb0895824b066d8cd1790284cb6d8b2ba36be88025b2595d715dba14b299ae76e4628a366541106f639e13679 + languageName: node + linkType: hard + +"styled-jsx@npm:5.1.6": + version: 5.1.6 + resolution: "styled-jsx@npm:5.1.6" dependencies: client-only: "npm:0.0.1" peerDependencies: - react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" + 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/42655cdadfa5388f8a48bb282d6b450df7d7b8cf066ac37038bd0499d3c9f084815ebd9ff9dfa12a218fd4441338851db79603498d7557207009c1cf4d609835 - languageName: node - linkType: hard - -"sucrase@npm:^3.32.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" - 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 + checksum: 10c0/ace50e7ea5ae5ae6a3b65a50994c51fca6ae7df9c7ecfd0104c36be0b4b3a9c5c1a2374d16e2a11e256d0b20be6d47256d768ecb4f91ab390f60752a075780f5 languageName: node linkType: hard -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" +"styled-jsx@npm:^5.1.6": + version: 5.1.7 + resolution: "styled-jsx@npm:5.1.7" dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + 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 @@ -18097,7 +12738,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: @@ -18113,159 +12754,48 @@ __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 - 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 - languageName: node - linkType: hard - -"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 - languageName: node - linkType: hard - -"tar-fs@npm:^2.1.1": - version: 2.1.2 - resolution: "tar-fs@npm:2.1.2" - dependencies: - chownr: "npm:^1.1.1" - mkdirp-classic: "npm:^0.5.2" - pump: "npm:^3.0.0" - tar-stream: "npm:^2.1.4" - checksum: 10c0/9c704bd4a53be7565caf34ed001d1428532457fe3546d8fc1233f0f0882c3d2403f8602e8046e0b0adeb31fe95336572a69fb28851a391523126b697537670fc - languageName: node - linkType: hard - -"tar-stream@npm:^2.1.4": - version: 2.2.0 - resolution: "tar-stream@npm:2.2.0" - dependencies: - bl: "npm:^4.0.3" - end-of-stream: "npm:^1.4.1" - fs-constants: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.1.1" - checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 - languageName: node - linkType: hard - -"tar@npm:^6.1.11, tar@npm:^6.1.2, tar@npm:^6.2.0": - version: 6.2.1 - resolution: "tar@npm:6.2.1" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 - 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 +"tailwind-merge@npm:^3.0.0": + version: 3.5.0 + resolution: "tailwind-merge@npm:3.5.0" + checksum: 10c0/4dc588f5b5296ba3f38e1ebb41f02b6d24a8c5bb45e44b33748c118fb4b5767dd0efc464431ca3e75404056b618b5f67bec3708158baa65fed8a2fc9201e0c53 languageName: node linkType: hard -"temp-dir@npm:^3.0.0": - version: 3.0.0 - resolution: "temp-dir@npm:3.0.0" - checksum: 10c0/a86978a400984cd5f315b77ebf3fe53bb58c61f192278cafcb1f3fb32d584a21dc8e08b93171d7874b7cc972234d3455c467306cc1bfc4524b622e5ad3bfd671 +"tailwindcss@npm:4.2.4, tailwindcss@npm:^4.1.0": + version: 4.2.4 + resolution: "tailwindcss@npm:4.2.4" + checksum: 10c0/1069304b6bf2855daa029ac4af382abb95ed26ae4d05bc09ea01a56e6af3de8b6fb1b4d508d8bbb39abf30a69766e6f2f75835e112ac6fc39ed94ae5d4901048 languageName: node linkType: hard -"temp@npm:^0.8.4": - version: 0.8.4 - resolution: "temp@npm:0.8.4" - dependencies: - rimraf: "npm:~2.6.2" - checksum: 10c0/7f071c963031bfece37e13c5da11e9bb451e4ddfc4653e23e327a2f91594102dc826ef6a693648e09a6e0eb856f507967ec759ae55635e0878091eccf411db37 +"tapable@npm:^2.0.0, tapable@npm:^2.2.1, tapable@npm:^2.3.0, tapable@npm:^2.3.3": + version: 2.3.3 + resolution: "tapable@npm:2.3.3" + checksum: 10c0/47992e861053f861154e92fb4a98ac4ab47b6463717e60792dd1e8c755da0c4964cd8bb68c308a9066d6da89000b6310457b4d5d985c30de4ccc29066068cc17 languageName: node linkType: hard -"tempy@npm:^3.1.0": - version: 3.1.0 - resolution: "tempy@npm:3.1.0" +"tar@npm:^7.5.4": + version: 7.5.13 + resolution: "tar@npm:7.5.13" 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 + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/5c65b8084799bde7a791593a1c1a45d3d6ee98182e3700b24c247b7b8f8654df4191642abbdb07ff25043d45dcff35620827c3997b88ae6c12040f64bed5076b languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.10": - version: 5.3.10 - resolution: "terser-webpack-plugin@npm:5.3.10" +"terser-webpack-plugin@npm:^5.3.14, terser-webpack-plugin@npm:^5.3.17": + version: 5.5.0 + resolution: "terser-webpack-plugin@npm:5.5.0" dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.20" + "@jridgewell/trace-mapping": "npm:^0.3.25" jest-worker: "npm:^27.4.5" - schema-utils: "npm:^3.1.1" - serialize-javascript: "npm:^6.0.1" - terser: "npm:^5.26.0" + schema-utils: "npm:^4.3.0" + terser: "npm:^5.31.1" peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -18275,21 +12805,21 @@ __metadata: optional: true uglify-js: optional: true - checksum: 10c0/66d1ed3174542560911cf96f4716aeea8d60e7caab212291705d50072b6ba844c7391442541b13c848684044042bea9ec87512b8506528c12854943da05faf91 + checksum: 10c0/ea2277cc6c80981fd8ce170016b1cd92d33cdf89d50e81ad387218dd46db55b8d69c8f736a35d7deb238962dbe003dd084f0a2494cbbd55f46a9c9d3e90e583a languageName: node linkType: hard -"terser@npm:^5.10.0, terser@npm:^5.26.0": - version: 5.31.1 - resolution: "terser@npm:5.31.1" +"terser@npm:^5.10.0, terser@npm:^5.31.1, terser@npm:^5.39.2": + version: 5.46.2 + resolution: "terser@npm:5.46.2" dependencies: "@jridgewell/source-map": "npm:^0.3.3" - acorn: "npm:^8.8.2" + acorn: "npm:^8.15.0" commander: "npm:^2.20.0" source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: 10c0/4d49a58f64c11f3742e779a0a03aff69972ca5739decb361d909d22c8f3f7d8e2ec982a928d987d56737ad50229e8ab3f62d8ba993e4b5f360a53ed487d3c06c + checksum: 10c0/476f1820160c42e6b2f611410115b00321c4666d421f12db87f13810f8789de45cb254e3ad5178650696d0ba6b706f5a0a239272255d6d1be95816c660f8cbbb languageName: node linkType: hard @@ -18300,41 +12830,6 @@ __metadata: 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" - dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b - 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 - languageName: node - linkType: hard - -"through2@npm:^2.0.3": - version: 2.0.5 - resolution: "through2@npm:2.0.5" - dependencies: - readable-stream: "npm:~2.3.6" - xtend: "npm:~4.0.1" - checksum: 10c0/cbfe5b57943fa12b4f8c043658c2a00476216d79c014895cef1ac7a1d9a8b31f6b438d0e53eecbb81054b93128324a82ecd59ec1a4f91f01f7ac113dcb14eade - languageName: node - linkType: hard - "through@npm:>=2.2.7 <3": version: 2.3.8 resolution: "through@npm:2.3.8" @@ -18351,24 +12846,52 @@ __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 +"tinyexec@npm:^1.0.0": + version: 1.1.1 + resolution: "tinyexec@npm:1.1.1" + checksum: 10c0/48433cb32573a767e2b63bb92343cbbae4240d05a19a63f7869f9447491305e7bd82d11daccb79b2628b596ad703a25798226c50bfd1d8e63477fb42af6a5b35 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.16 + resolution: "tinyglobby@npm:0.2.16" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/f2e09fd93dd95c41e522113b686ff6f7c13020962f8698a864a257f3d7737599afc47722b7ab726e12f8a813f779906187911ff8ee6701ede65072671a7e934b languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": +"tinyrainbow@npm:^2.0.0": version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + 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 + +"to-buffer@npm:^1.2.0, to-buffer@npm:^1.2.1, to-buffer@npm:^1.2.2": + version: 1.2.2 + resolution: "to-buffer@npm:1.2.2" + dependencies: + isarray: "npm:^2.0.5" + safe-buffer: "npm:^5.2.1" + typed-array-buffer: "npm:^1.0.3" + checksum: 10c0/56bc56352f14a2c4a0ab6277c5fc19b51e9534882b98eb068b39e14146591e62fa5b06bf70f7fed1626230463d7e60dca81e815096656e5e01c195c593873d12 languageName: node linkType: hard @@ -18400,43 +12923,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" @@ -18451,66 +12937,22 @@ __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" + version: 4.2.0 + resolution: "tsconfig-paths-webpack-plugin@npm:4.2.0" dependencies: chalk: "npm:^4.1.0" enhanced-resolve: "npm:^5.7.0" + tapable: "npm:^2.2.1" tsconfig-paths: "npm:^4.1.2" - checksum: 10c0/c030e867e70a3f6d1799fdffa209c3a35e1435ad99aac01946b9ebb0fa8208b7b508c1dfe8c8e13d6a2ef70c75b4db062fbfd3c1f3362c69b6c65ffd4a50e226 - 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 + checksum: 10c0/495c5ab7c1cb079217d98fe25d61def01e4bab38047c7ab25ec11876cc8c697ff01f43ea6c9933181875e51e49835407fc71afd92ea6cca1ba1bebf513dfb510 languageName: node linkType: hard @@ -18525,56 +12967,31 @@ __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": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a - languageName: node - linkType: hard - -"tslib@npm:^2.2.0": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 +"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.8.0, tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 languageName: node linkType: hard "tsparticles@npm:^3.5.0": - version: 3.5.0 - resolution: "tsparticles@npm:3.5.0" - dependencies: - "@tsparticles/engine": "npm:^3.5.0" - "@tsparticles/interaction-external-trail": "npm:^3.5.0" - "@tsparticles/plugin-absorbers": "npm:^3.5.0" - "@tsparticles/plugin-emitters": "npm:^3.5.0" - "@tsparticles/plugin-emitters-shape-circle": "npm:^3.5.0" - "@tsparticles/plugin-emitters-shape-square": "npm:^3.5.0" - "@tsparticles/shape-text": "npm:^3.5.0" - "@tsparticles/slim": "npm:^3.5.0" - "@tsparticles/updater-destroy": "npm:^3.5.0" - "@tsparticles/updater-roll": "npm:^3.5.0" - "@tsparticles/updater-tilt": "npm:^3.5.0" - "@tsparticles/updater-twinkle": "npm:^3.5.0" - "@tsparticles/updater-wobble": "npm:^3.5.0" - checksum: 10c0/748147fa99dab64c4c5c4c28a40f69e58cbf0210000697d1a59e2522744b6deb04ae0aaa3533e3722ec590caf46771bef0adb2d25ec5ea81280419b6cdefb9db - 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 + version: 3.9.1 + resolution: "tsparticles@npm:3.9.1" + dependencies: + "@tsparticles/engine": "npm:3.9.1" + "@tsparticles/interaction-external-trail": "npm:3.9.1" + "@tsparticles/plugin-absorbers": "npm:3.9.1" + "@tsparticles/plugin-emitters": "npm:3.9.1" + "@tsparticles/plugin-emitters-shape-circle": "npm:3.9.1" + "@tsparticles/plugin-emitters-shape-square": "npm:3.9.1" + "@tsparticles/shape-text": "npm:3.9.1" + "@tsparticles/slim": "npm:3.9.1" + "@tsparticles/updater-destroy": "npm:3.9.1" + "@tsparticles/updater-roll": "npm:3.9.1" + "@tsparticles/updater-tilt": "npm:3.9.1" + "@tsparticles/updater-twinkle": "npm:3.9.1" + "@tsparticles/updater-wobble": "npm:3.9.1" + checksum: 10c0/1e38eb5d0dbaa81ff56c7b543a54db5913ca457b73038330e56b0feec20e504704490567a5aecc0a1d2a0a02517434f2ba5d09a6c21aedaa2c0f275126ebd266 languageName: node linkType: hard @@ -18585,227 +13002,105 @@ __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:^0.6.0": - version: 0.6.0 - resolution: "type-fest@npm:0.6.0" - checksum: 10c0/0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 - languageName: node - linkType: hard - -"type-fest@npm:^0.8.1": - version: 0.8.1 - resolution: "type-fest@npm:0.8.1" - checksum: 10c0/dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 - 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 + resolution: "tw-animate-css@npm:1.4.0" + checksum: 10c0/6cfbc19ccc73883ec80ef1f9147f43e736cb01ee99c8172968b37eb81b720523d30e38b1a96aef92db3c586d864204db5510b51744ddacbbf0ad8e3c7fb56ec7 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": +"type-fest@npm:^2.14.0": 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 - languageName: node - linkType: hard - -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" +"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" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da - 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 - languageName: node - linkType: hard - -"typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" - 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 + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 languageName: node linkType: hard "typescript@npm:^5": - version: 5.4.5 - resolution: "typescript@npm:5.4.5" + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/2954022ada340fd3d6a9e2b8e534f65d57c92d5f3989a263754a78aba549f7e6529acc1921913560a4b816c46dce7df4a4d29f9f11a3dc0d4213bb76d043251e + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 languageName: node linkType: hard "typescript@patch:typescript@npm%3A^5#optional!builtin<compat/typescript>": - version: 5.4.5 - resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin<compat/typescript>::version=5.4.5&hash=5adc0c" + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin<compat/typescript>::version=5.9.3&hash=b45daf" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9 - languageName: node - linkType: hard - -"ufo@npm:^1.4.0": - version: 1.5.3 - resolution: "ufo@npm:1.5.3" - checksum: 10c0/1df10702582aa74f4deac4486ecdfd660e74be057355f1afb6adfa14243476cf3d3acff734ccc3d0b74e9bfdefe91d578f3edbbb0a5b2430fe93cd672370e024 + checksum: 10c0/6f7e53bf0d9702350deeb6f35e08b69cbc8b958c33e0ec77bdc0ad6a6c8e280f3959dcbfde6f5b0848bece57810696489deaaa53d75de3578ff255d168c1efbd languageName: node linkType: hard "ufo@npm:^1.5.4": - version: 1.5.4 - resolution: "ufo@npm:1.5.4" - checksum: 10c0/b5dc4dc435c49c9ef8890f1b280a19ee4d0954d1d6f9ab66ce62ce64dd04c7be476781531f952a07c678d51638d02ad4b98e16237be29149295b0f7c09cda765 + version: 1.6.3 + resolution: "ufo@npm:1.6.3" + checksum: 10c0/bf0e4ebff99e54da1b9c7182ac2f40475988b41faa881d579bc97bc2a0509672107b0a0e94c4b8d31a0ab8c4bf07f4aa0b469ac6da8536d56bda5b085ea2e953 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 +"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-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 +"undici-types@npm:~7.19.0": + version: 7.19.2 + resolution: "undici-types@npm:7.19.2" + checksum: 10c0/7159f10546f9f6c47d36776bb1bbf8671e87c1e587a6fee84ae1f111ae8de4f914efa8ca0dfcd224f4f4a9dfc3f6028f627ccb5ddaccf82d7fd54671b89fac3e languageName: node linkType: hard -"undici@npm:^5.28.4": - version: 5.28.5 - resolution: "undici@npm:5.28.5" +"undici@npm:^5.28.5": + version: 5.29.0 + resolution: "undici@npm:5.29.0" dependencies: "@fastify/busboy": "npm:^2.0.0" - checksum: 10c0/4dfaa13089fe4c0758f84ec0d34b257e58608e6be3aa540f493b9864b39e3fdcd0a1ace38e434fe79db55f833aa30bcfddd8d6cbe3e0982b0dcae8ec17b65e08 + checksum: 10c0/e4e4d631ca54ee0ad82d2e90e7798fa00a106e27e6c880687e445cc2f13b4bc87c5eba2a88c266c3eecffb18f26e227b778412da74a23acc374fca7caccec49b languageName: node linkType: hard -"unenv@npm:unenv-nightly@2.0.0-20240919-125358-9a64854": - version: 2.0.0-20240919-125358-9a64854 - resolution: "unenv-nightly@npm:2.0.0-20240919-125358-9a64854" +"undici@npm:^6.25.0": + version: 6.25.0 + resolution: "undici@npm:6.25.0" + checksum: 10c0/2597cc6689bdb02c210c557b1f85febbfda65becae6e6fc1061508e2f33734d25207f81cd8af56ada9956329eb3a7bd7431e87dcfeceba20ee87059b57dcf985 + languageName: node + linkType: hard + +"unenv@npm:2.0.0-rc.14": + version: 2.0.0-rc.14 + resolution: "unenv@npm:2.0.0-rc.14" dependencies: defu: "npm:^6.1.4" - ohash: "npm:^1.1.4" - pathe: "npm:^1.1.2" + exsolve: "npm:^1.0.1" + ohash: "npm:^2.0.10" + pathe: "npm:^2.0.3" ufo: "npm:^1.5.4" - checksum: 10c0/1f4bae2d616c75b219d35564e7e2de263de5dd16be32e8ee4ed503c388fc8dce5b28511a6f3db48b4bb3d376be0e920d82f8a628a18aad4ea9233b12db623771 + checksum: 10c0/85372028cafb1726dfbe4dbb34953580827936f527022f6b03eaaf1b947d9354cf39ed505203edb11e77791d01778cb2287b2db03f516ed4503de9182a821f94 languageName: node linkType: hard "unicode-canonical-property-names-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" - checksum: 10c0/0fe812641bcfa3ae433025178a64afb5d9afebc21a922dafa7cba971deebb5e4a37350423890750132a85c936c290fb988146d0b1bd86838ad4897f4fc5bd0de + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 languageName: node linkType: hard @@ -18819,17 +13114,17 @@ __metadata: languageName: node linkType: hard -"unicode-match-property-value-ecmascript@npm:^2.1.0": - version: 2.1.0 - resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" - checksum: 10c0/f5b9499b9e0ffdc6027b744d528f17ec27dd7c15da03254ed06851feec47e0531f20d410910c8a49af4a6a190f4978413794c8d75ce112950b56d583b5d5c7f2 +"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" - checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + version: 2.2.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.2.0" + checksum: 10c0/b338529831c988ac696f2bdbcd4579d1c5cc844b24eda7269973c457fa81989bdb49a366af37a448eb1a60f1dae89559ea2a5854db2797e972a0162eee0778c6 languageName: node linkType: hard @@ -18840,24 +13135,9 @@ __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" - dependencies: - "@types/unist": "npm:^2.0.0" - bail: "npm:^2.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 - 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.0, 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" @@ -18866,34 +13146,7 @@ __metadata: is-plain-obj: "npm:^4.0.0" trough: "npm:^2.0.0" vfile: "npm:^6.0.0" - checksum: 10c0/b550cdc994d54c84e2e098eb02cfa53535cbc140c148aa3296f235cb43082b499d239110f342fa65eb37ad919472a93cc62f062a83541485a69498084cc87ba1 - languageName: node - linkType: hard - -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" - dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f - languageName: node - linkType: hard - -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 - 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 + checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 languageName: node linkType: hard @@ -18906,13 +13159,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" @@ -18923,39 +13169,40 @@ __metadata: linkType: hard "unist-util-is@npm:^6.0.0": - version: 6.0.0 - resolution: "unist-util-is@npm:6.0.0" + version: 6.0.1 + resolution: "unist-util-is@npm:6.0.1" dependencies: "@types/unist": "npm:^3.0.0" - checksum: 10c0/9419352181eaa1da35eca9490634a6df70d2217815bb5938a04af3a662c12c5607a2f1014197ec9c426fbef18834f6371bfdb6f033040fa8aa3e965300d70e7e + checksum: 10c0/5a487d390193811d37a68264e204dbc7c15c40b8fc29b5515a535d921d071134f571d7b5cbd59bcd58d5ce1c0ab08f20fc4a1f0df2287a249c979267fc32ce06 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 @@ -18968,15 +13215,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" @@ -18986,7 +13224,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: @@ -18997,16 +13235,16 @@ __metadata: linkType: hard "unist-util-visit-parents@npm:^6.0.0": - version: 6.0.1 - resolution: "unist-util-visit-parents@npm:6.0.1" + version: 6.0.2 + resolution: "unist-util-visit-parents@npm:6.0.2" dependencies: "@types/unist": "npm:^3.0.0" unist-util-is: "npm:^6.0.0" - checksum: 10c0/51b1a5b0aa23c97d3e03e7288f0cdf136974df2217d0999d3de573c05001ef04cccd246f51d2ebdfb9e8b0ed2704451ad90ba85ae3f3177cf9772cef67f56206 + checksum: 10c0/f1e4019dbd930301825895e3737b1ee0cd682f7622ddd915062135cbb39f8c090aaece3a3b5eae1f2ea52ec33f0931abb8f8a8b5c48a511a4203e3d360a8cd49 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: @@ -19017,14 +13255,14 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-visit@npm:5.0.0" +"unist-util-visit@npm:^5.0.0, 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/51434a1d80252c1540cce6271a90fd1a106dbe624997c09ed8879279667fb0b2d3a685e02e92bf66598dcbe6cdffa7a5f5fb363af8fdf90dda6c855449ae39a5 + checksum: 10c0/a56e1bbbf63fcb55abe379e660b9a3367787e8be1e2473bdb7e86cfa6f32b6c1fa0092432d7040b8a30b2fc674bbbe024ffe6d03c3d6bf4839b064f584463a4e languageName: node linkType: hard @@ -19035,47 +13273,33 @@ __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 - languageName: node - linkType: hard - -"untildify@npm:^4.0.0": - version: 4.0.0 - resolution: "untildify@npm:4.0.0" - checksum: 10c0/d758e624c707d49f76f7511d75d09a8eda7f2020d231ec52b67ff4896bcf7013be3f9522d8375f57e586e9a2e827f5641c7e06ee46ab9c435fc2b2b2e9de517a + "@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 -"update-browserslist-db@npm:^1.0.13": - version: 1.0.16 - resolution: "update-browserslist-db@npm:1.0.16" +"update-browserslist-db@npm:^1.2.3": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" dependencies: - escalade: "npm:^3.1.2" - picocolors: "npm:^1.0.1" + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/5995399fc202adbb51567e4810e146cdf7af630a92cc969365a099150cb00597e425cc14987ca7080b09a4d0cfd2a3de53fbe72eebff171aed7f9bb81f9bf405 + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec languageName: node linkType: hard -"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": +"uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -19085,43 +13309,52 @@ __metadata: linkType: hard "url@npm:^0.11.0": - version: 0.11.3 - resolution: "url@npm:0.11.3" + version: 0.11.4 + resolution: "url@npm:0.11.4" dependencies: punycode: "npm:^1.4.1" - qs: "npm:^6.11.2" - checksum: 10c0/7546b878ee7927cfc62ca21dbe2dc395cf70e889c3488b2815bf2c63355cb3c7db555128176a01b0af6cccf265667b6fd0b4806de00cb71c143c53986c08c602 + qs: "npm:^6.12.3" + checksum: 10c0/cc93405ae4a9b97a2aa60ca67f1cb1481c0221cb4725a7341d149be5e2f9cfda26fd432d64dbbec693d16593b68b8a46aad8e5eab21f814932134c9d8620c662 languageName: node linkType: hard -"use-callback-ref@npm:^1.3.0": - version: 1.3.2 - resolution: "use-callback-ref@npm:1.3.2" +"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": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@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/d232c37160fe3970c99255da19b5fb5299fb5926a5d6141d928a87feb47732c323d29be2f8137d3b1e5499c70d284cd1d9cfad703cc58179db8be24d7dd8f1f2 + checksum: 10c0/f887488c6e6075cdad4962979da1714b217bcb1ee009a9e57ce9a844bcfc4c3a99e93983dfc2e5af9e0913824d24e730090ff255e902c516dcb58d2d3837e01c languageName: node linkType: hard -"use-sidecar@npm:^1.1.2": - version: 1.1.2 - resolution: "use-sidecar@npm:1.1.2" +"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": ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@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/89f0018fd9aee1fc17c85ac18c4bf8944d460d453d0d0e04ddbc8eaddf3fa591e9c74a1f8a438a1bff368a7a2417fab380bdb3df899d2194c4375b0982736de0 + 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 @@ -19152,91 +13385,49 @@ __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 - -"validate-npm-package-license@npm:^3.0.1": - version: 3.0.4 - resolution: "validate-npm-package-license@npm:3.0.4" - dependencies: - spdx-correct: "npm:^3.0.0" - spdx-expression-parse: "npm:^3.0.0" - checksum: 10c0/7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f - 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 "vfile-location@npm:^5.0.0": - version: 5.0.2 - resolution: "vfile-location@npm:5.0.2" + version: 5.0.3 + resolution: "vfile-location@npm:5.0.3" dependencies: "@types/unist": "npm:^3.0.0" vfile: "npm:^6.0.0" - checksum: 10c0/cfc7e49de93ac5be6f3c9a9fe77676756e00d33a6c69d9c1ce279b06eedafa67fe5d0da2334b40e97963c43b014501bca2f829dfd6622a3290fb6f7dd2b9339e + checksum: 10c0/1711f67802a5bc175ea69750d59863343ed43d1b1bb25c0a9063e4c70595e673e53e2ed5cdbb6dcdc370059b31605144d95e8c061b9361bcc2b036b8f63a4966 + 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 @@ -19250,23 +13441,13 @@ __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" + version: 4.0.3 + resolution: "vfile-message@npm:4.0.3" dependencies: "@types/unist": "npm:^3.0.0" unist-util-stringify-position: "npm:^4.0.0" - checksum: 10c0/07671d239a075f888b78f318bc1d54de02799db4e9dce322474e67c35d75ac4a5ac0aaf37b18801d91c9f8152974ea39678aa72d7198758b07f3ba04fb7d7514 + checksum: 10c0/33d9f219610d27987689bb14fa5573d2daa146941d1a05416dd7702c4215b23f44ed81d059e70d0e4e24f9a57d5f4dc9f18d35a993f04cf9446a7abe6d72d0c0 languageName: node linkType: hard @@ -19282,26 +13463,13 @@ __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" +"vfile@npm:^6.0.0, vfile@npm:^6.0.1": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" dependencies: "@types/unist": "npm:^3.0.0" - unist-util-stringify-position: "npm:^4.0.0" vfile-message: "npm:^4.0.0" - checksum: 10c0/443bda43e5ad3b73c5976e987dba2b2d761439867ba7d5d7c5f4b01d3c1cb1b976f5f0e6b2399a00dc9b4eaec611bd9984ce9ce8a75a72e60aed518b10a902d2 + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef languageName: node linkType: hard @@ -19312,22 +13480,13 @@ __metadata: languageName: node linkType: hard -"watchpack@npm:^2.2.0, watchpack@npm:^2.4.1": - version: 2.4.1 - resolution: "watchpack@npm:2.4.1" +"watchpack@npm:^2.5.1": + version: 2.5.1 + resolution: "watchpack@npm:2.5.1" dependencies: glob-to-regexp: "npm:^0.4.1" graceful-fs: "npm:^4.1.2" - checksum: 10c0/c694de0a61004e587a8a0fdc9cfec20ee692c52032d9ab2c2e99969a37fdab9e6e1bd3164ed506f9a13f7c83e65563d563e0d6b87358470cdb7309b83db78683 - languageName: node - linkType: hard - -"wcwidth@npm:^1.0.1": - version: 1.0.1 - resolution: "wcwidth@npm:1.0.1" - dependencies: - defaults: "npm:^1.0.3" - checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + checksum: 10c0/dffbb483d1f61be90dc570630a1eb308581e2227d507d783b1d94a57ac7b705ecd9a1a4b73d73c15eab596d39874e5276a3d9cb88bbb698bafc3f8d08c34cf17 languageName: node linkType: hard @@ -19338,24 +13497,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.2.0 + resolution: "web-vitals@npm:5.2.0" + checksum: 10c0/b8d4d02025afb5e1668fb9725c337616c266d9891979b1e58f81b610ee3bf53727b97babb16322fdac2b9d43ce6daa1787f42b959695796474a2061e79e219d7 languageName: node linkType: hard @@ -19388,21 +13533,14 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e - 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 +"webpack-sources@npm:^3.3.4": + version: 3.4.0 + resolution: "webpack-sources@npm:3.4.0" + checksum: 10c0/a37214f85e9b81897b46b27063f12ddb80adeef3249d10502f7e8279357d1fc812d40429df7a726e26ac21a6f5e22448e1d00d53aa15c1b2827a5929ba261969 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 @@ -19410,106 +13548,54 @@ __metadata: linkType: hard "webpack@npm:5": - version: 5.94.0 - resolution: "webpack@npm:5.94.0" - dependencies: - "@types/estree": "npm:^1.0.5" - "@webassemblyjs/ast": "npm:^1.12.1" - "@webassemblyjs/wasm-edit": "npm:^1.12.1" - "@webassemblyjs/wasm-parser": "npm:^1.12.1" - acorn: "npm:^8.7.1" - acorn-import-attributes: "npm:^1.9.5" - browserslist: "npm:^4.21.10" + version: 5.106.2 + resolution: "webpack@npm:5.106.2" + dependencies: + "@types/eslint-scope": "npm:^3.7.7" + "@types/estree": "npm:^1.0.8" + "@types/json-schema": "npm:^7.0.15" + "@webassemblyjs/ast": "npm:^1.14.1" + "@webassemblyjs/wasm-edit": "npm:^1.14.1" + "@webassemblyjs/wasm-parser": "npm:^1.14.1" + acorn: "npm:^8.16.0" + acorn-import-phases: "npm:^1.0.3" + browserslist: "npm:^4.28.1" chrome-trace-event: "npm:^1.0.2" - enhanced-resolve: "npm:^5.17.1" - es-module-lexer: "npm:^1.2.1" + enhanced-resolve: "npm:^5.20.0" + es-module-lexer: "npm:^2.0.0" eslint-scope: "npm:5.1.1" events: "npm:^3.2.0" glob-to-regexp: "npm:^0.4.1" graceful-fs: "npm:^4.2.11" - json-parse-even-better-errors: "npm:^2.3.1" - loader-runner: "npm:^4.2.0" - mime-types: "npm:^2.1.27" + loader-runner: "npm:^4.3.1" + mime-db: "npm:^1.54.0" neo-async: "npm:^2.6.2" - schema-utils: "npm:^3.2.0" - tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.3.10" - watchpack: "npm:^2.4.1" - webpack-sources: "npm:^3.2.3" + schema-utils: "npm:^4.3.3" + tapable: "npm:^2.3.0" + terser-webpack-plugin: "npm:^5.3.17" + watchpack: "npm:^2.5.1" + webpack-sources: "npm:^3.3.4" peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: 10c0/b4d1b751f634079bd177a89eef84d80fa5bb8d6fc15d72ab40fc2b9ca5167a79b56585e1a849e9e27e259803ee5c4365cb719e54af70a43c06358ec268ff4ebf - 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 + checksum: 10c0/933293ae94b7f3405147aebd824d978696693a7fbd85cfbf4d05b517329c93f69e634400ad70a27f4ba4148e14e2fd502e335cd8d30d75282091ab3c72a1ac01 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": - version: 1.1.15 - resolution: "which-typed-array@npm:1.1.15" +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.2": + version: 1.1.20 + resolution: "which-typed-array@npm:1.1.20" 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" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + for-each: "npm:^0.3.5" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" has-tostringtag: "npm:^1.0.2" - checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983 + checksum: 10c0/16fcdada95c8afb821cd1117f0ab50b4d8551677ac08187f21d4e444530913c9ffd2dac634f0c1183345f96344b69280f40f9a8bc52164ef409e555567c2604b languageName: node linkType: hard @@ -19524,40 +13610,26 @@ __metadata: languageName: node linkType: hard -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" +"which@npm:^6.0.0": + version: 6.0.1 + resolution: "which@npm:6.0.1" dependencies: - isexe: "npm:^3.1.1" + isexe: "npm:^4.0.0" bin: node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a - 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 + checksum: 10c0/7e710e54ea36d2d6183bee2f9caa27a3b47b9baf8dee55a199b736fcf85eab3b9df7556fca3d02b50af7f3dfba5ea3a45644189836df06267df457e354da66d5 languageName: node linkType: hard -"workerd@npm:1.20240925.0": - version: 1.20240925.0 - resolution: "workerd@npm:1.20240925.0" +"workerd@npm:1.20250718.0": + version: 1.20250718.0 + resolution: "workerd@npm:1.20250718.0" dependencies: - "@cloudflare/workerd-darwin-64": "npm:1.20240925.0" - "@cloudflare/workerd-darwin-arm64": "npm:1.20240925.0" - "@cloudflare/workerd-linux-64": "npm:1.20240925.0" - "@cloudflare/workerd-linux-arm64": "npm:1.20240925.0" - "@cloudflare/workerd-windows-64": "npm:1.20240925.0" + "@cloudflare/workerd-darwin-64": "npm:1.20250718.0" + "@cloudflare/workerd-darwin-arm64": "npm:1.20250718.0" + "@cloudflare/workerd-linux-64": "npm:1.20250718.0" + "@cloudflare/workerd-linux-arm64": "npm:1.20250718.0" + "@cloudflare/workerd-windows-64": "npm:1.20250718.0" dependenciesMeta: "@cloudflare/workerd-darwin-64": optional: true @@ -19571,48 +13643,44 @@ __metadata: optional: true bin: workerd: bin/workerd - checksum: 10c0/24699f30a4cd3a2b6183e52bfb8d634610824e9f10f8ab991c0915d34fd015d04a00b3acd8d9f652f34c1e78f81079f1c591ee02881dd2b7b264c6b526101710 + checksum: 10c0/94ac61da99310331ec21c5fb10072791af78a8080059153793ff81796a7c372ce2b40274614590982ceb2f4b1b395997f1d93b635c3c282583624a36eff8970d languageName: node linkType: hard -"wrangler@npm:^3.79.0": - version: 3.79.0 - resolution: "wrangler@npm:3.79.0" +"wrangler@npm:^3.114.17": + version: 3.114.17 + resolution: "wrangler@npm:3.114.17" dependencies: "@cloudflare/kv-asset-handler": "npm:0.3.4" - "@cloudflare/workers-shared": "npm:0.5.4" - "@esbuild-plugins/node-globals-polyfill": "npm:^0.2.3" - "@esbuild-plugins/node-modules-polyfill": "npm:^0.2.2" - blake3-wasm: "npm:^2.1.5" - chokidar: "npm:^3.5.3" + "@cloudflare/unenv-preset": "npm:2.0.2" + "@esbuild-plugins/node-globals-polyfill": "npm:0.2.3" + "@esbuild-plugins/node-modules-polyfill": "npm:0.2.2" + blake3-wasm: "npm:2.1.5" esbuild: "npm:0.17.19" fsevents: "npm:~2.3.2" - miniflare: "npm:3.20240925.0" - nanoid: "npm:^3.3.3" - path-to-regexp: "npm:^6.3.0" - resolve: "npm:^1.22.8" - resolve.exports: "npm:^2.0.2" - selfsigned: "npm:^2.0.1" - source-map: "npm:^0.6.1" - unenv: "npm:unenv-nightly@2.0.0-20240919-125358-9a64854" - workerd: "npm:1.20240925.0" - xxhash-wasm: "npm:^1.0.1" + miniflare: "npm:3.20250718.3" + path-to-regexp: "npm:6.3.0" + sharp: "npm:^0.33.5" + unenv: "npm:2.0.0-rc.14" + workerd: "npm:1.20250718.0" peerDependencies: - "@cloudflare/workers-types": ^4.20240925.0 + "@cloudflare/workers-types": ^4.20250408.0 dependenciesMeta: fsevents: optional: true + sharp: + optional: true peerDependenciesMeta: "@cloudflare/workers-types": optional: true bin: wrangler: bin/wrangler.js wrangler2: bin/wrangler.js - checksum: 10c0/7c96c8bd8e5152d0106991188f86bdcfb18e51c1f0dae47198cea6f0964a990506f50779b4de683d489a587fb8d21e7cfebe91b884bcc68a66e94e07223748f8 + checksum: 10c0/83cedac5b95b1f78ee6213fe585be5a7f7cfa2885ac482b8e75ca3e13d3ba5b0746fae5aaf82c2652c704755fe74889b69e0e2b75b6db8bb095ff7cb42b9a167 languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": +"wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -19623,25 +13691,14 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - "wrap-ansi@npm:^9.0.0": - version: 9.0.0 - resolution: "wrap-ansi@npm:9.0.0" + version: 9.0.2 + resolution: "wrap-ansi@npm:9.0.2" dependencies: ansi-styles: "npm:^6.2.1" string-width: "npm:^7.0.0" strip-ansi: "npm:^7.1.0" - checksum: 10c0/a139b818da9573677548dd463bd626a5a5286271211eb6e4e82f34a4f643191d74e6d4a9bb0a3c26ec90e6f904f679e0569674ac099ea12378a8b98e20706066 + checksum: 10c0/3305839b9a0d6fb930cb63a52f34d3936013d8b0682ff3ec133c9826512620f213800ffa19ea22904876d5b7e9a3c1f40682f03597d986a4ca881fa7b033688c languageName: node linkType: hard @@ -19652,18 +13709,7 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^2.3.0": - version: 2.4.3 - resolution: "write-file-atomic@npm:2.4.3" - dependencies: - graceful-fs: "npm:^4.1.11" - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.2" - checksum: 10c0/8cb4bba0c1ab814a9b127844da0db4fb8c5e06ddbe6317b8b319377c73b283673036c8b9360120062898508b9428d81611cf7fa97584504a00bc179b2a580b92 - languageName: node - linkType: hard - -"ws@npm:^8.17.1, ws@npm:^8.2.3": +"ws@npm:8.18.0": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -19678,17 +13724,34 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.2, xtend@npm:~4.0.1": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e +"ws@npm:^8.18.0": + version: 8.20.0 + resolution: "ws@npm:8.20.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/956ac5f11738c914089b65878b9223692ace77337ba55379ae68e1ecbeae9b47a0c6eb9403688f609999a58c80d83d99865fe0029b229d308b08c1ef93d4ea14 languageName: node linkType: hard -"xxhash-wasm@npm:^1.0.1": - version: 1.0.2 - resolution: "xxhash-wasm@npm:1.0.2" - checksum: 10c0/5ba899d9216d9897de2d61a5331b16c99226e75ce47895fc8c730bac5cb00e6e50856dd8f489c12b3012f0fc81b6894806b2e44d2eb3cc7843919793485a30d1 +"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" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e languageName: node linkType: hard @@ -19706,35 +13769,19 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yaml@npm:^1.10.0": - version: 1.10.2 - resolution: "yaml@npm:1.10.2" - checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f - languageName: node - linkType: hard - -"yaml@npm:^2.3.1, yaml@npm:~2.4.2": - version: 2.4.5 - resolution: "yaml@npm:2.4.5" - bin: - yaml: bin.mjs - checksum: 10c0/e1ee78b381e5c710f715cc4082fd10fc82f7f5c92bd6f075771d20559e175616f56abf1c411f545ea0e9e16e4f84a83a50b42764af5f16ec006328ba9476bb31 +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 languageName: node linkType: hard -"yaml@npm:^2.3.4": - version: 2.4.3 - resolution: "yaml@npm:2.4.3" +"yaml@npm:^2.0.0, yaml@npm:^2.7.0": + version: 2.8.3 + resolution: "yaml@npm:2.8.3" bin: yaml: bin.mjs - checksum: 10c0/b4a9dea34265f000402c909144ac310be42c4526dfd16dff1aee2b04a0d94051713651c0cd2b0a3d8109266997422120f16a7934629d12f22dc215839ebbeccf + checksum: 10c0/ddff0e11c1b467728d7eb4633db61c5f5de3d8e9373cf84d08fb0cdee03e1f58f02b9f1c51a4a8a865751695addbd465a77f73f1079be91fe5493b29c305fd77 languageName: node linkType: hard @@ -19745,7 +13792,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: @@ -19760,35 +13807,55 @@ __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" - checksum: 10c0/856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 + version: 1.2.2 + resolution: "yocto-queue@npm:1.2.2" + checksum: 10c0/36d4793e9cf7060f9da543baf67c55e354f4862c8d3d34de1a1b1d7c382d44171315cc54abf84d8900b8113d742b830108a1434f4898fb244f9b7e8426d4b8f5 languageName: node linkType: hard -"youch@npm:^3.2.2": - version: 3.3.3 - resolution: "youch@npm:3.3.3" +"youch@npm:3.3.4": + version: 3.3.4 + resolution: "youch@npm:3.3.4" dependencies: - cookie: "npm:^0.5.0" + cookie: "npm:^0.7.1" mustache: "npm:^4.2.0" stacktracey: "npm:^2.1.8" - checksum: 10c0/6e5dd4be39ea737fb557fe0647855ce7f0e2182330342cc5e2315a688e0950683967abbc43dd6452b80f39271b14872c390a6e96009f2475905d6be824d38109 + checksum: 10c0/ab573c7dccebdaf2d6b084d262d5bfb22ad5c049fb1ad3e2d6a840af851042dd3a8a072665c5a5ee73c75bbc1618fbc08f1371ac896e54556bced0ddf996b026 + languageName: node + linkType: hard + +"zod@npm:3.22.3": + version: 3.22.3 + resolution: "zod@npm:3.22.3" + checksum: 10c0/cb4b24aed7dec98552eb9042e88cbd645455bf2830e5704174d2da96f554dabad4630e3b4f6623e1b6562b9eaa43535a37b7f2011f29b8d8e9eabe1ddf3b656b + languageName: node + linkType: hard + +"zod@npm:^3.24.0": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c languageName: node linkType: hard -"zod@npm:^3.21.4, zod@npm:^3.22.3, zod@npm:^3.23.8": - version: 3.23.8 - resolution: "zod@npm:3.23.8" - checksum: 10c0/8f14c87d6b1b53c944c25ce7a28616896319d95bc46a9660fe441adc0ed0a81253b02b5abdaeffedbeb23bdd25a0bf1c29d2c12dd919aef6447652dd295e3e69 +"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