From 326c6c5d7d64e67d06f310a3e4799b4b13121e27 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane Date: Fri, 6 Mar 2026 17:55:05 +0545 Subject: [PATCH 01/63] feat: upgrade to Next.js 16, TailwindCSS v4, Storybook 10, and Biome MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Upgrade Next.js 14 → 16, TailwindCSS v3 → v4, Storybook 9 → 10 - Replace ESLint + Prettier with Biome for linting and formatting - Replace contentlayer with velite for content processing - Migrate CSS config from tailwind.config.ts to CSS-based @theme syntax - Fix animated-border-trail CSS @property animation compatibility - Add (main) route group for layout separation - Update component preview iframe URLs for Storybook 10 autodocs - Fix story file issues (titles, exports, autodocs tags) - Add deploy-v3 GitHub Actions workflow - Update globals.css with TailwindCSS v4 base layer resets Co-Authored-By: Claude Opus 4.6 --- .eslintignore | 4 - .eslintrc.cjs | 64 - .github/workflows/deploy-v3.yml | 48 + .github/workflows/deploy.yml | 6 +- .gitignore | 3 +- .prettierrc.cjs | 7 +- .storybook/main.ts | 20 +- .storybook/preview.tsx | 132 +- .vscode/extensions.json | 2 +- animata/accordion/faq.stories.tsx | 2 +- animata/accordion/faq.tsx | 5 +- animata/background/animated-beam.stories.tsx | 2 +- animata/background/blurry-blob.stories.tsx | 2 +- animata/background/blurry-blob.tsx | 7 +- animata/background/diagonal-lines.stories.tsx | 2 +- animata/background/dot.stories.tsx | 2 +- animata/background/grid.stories.tsx | 2 +- .../background/interactive-grid.stories.tsx | 2 +- animata/background/interactive-grid.tsx | 2 +- .../background/moving-gradient.stories.tsx | 3 +- animata/background/moving-gradient.tsx | 2 +- animata/background/zigzag.stories.tsx | 2 +- animata/bento-grid/eight.stories.tsx | 2 +- animata/bento-grid/eight.tsx | 2 +- animata/bento-grid/eleven.stories.tsx | 2 +- animata/bento-grid/five.stories.tsx | 2 +- animata/bento-grid/four.stories.tsx | 2 +- animata/bento-grid/four.tsx | 15 +- animata/bento-grid/gradient.stories.tsx | 2 +- animata/bento-grid/gradient.tsx | 2 +- animata/bento-grid/nine.stories.tsx | 2 +- animata/bento-grid/nine.tsx | 15 +- animata/bento-grid/seven.stories.tsx | 2 +- animata/bento-grid/seven.tsx | 15 +- animata/bento-grid/six.stories.tsx | 2 +- animata/bento-grid/six.tsx | 15 +- animata/bento-grid/ten.stories.tsx | 2 +- animata/bento-grid/ten.tsx | 15 +- animata/bento-grid/three.stories.tsx | 2 +- animata/button/ai-button.stories.tsx | 2 +- animata/button/ai-button.tsx | 7 +- .../button/algolia-blue-button.stories.tsx | 2 +- animata/button/algolia-blue-button.tsx | 5 +- .../button/algolia-white-button.stories.tsx | 2 +- animata/button/algolia-white-button.tsx | 5 +- .../button/animated-follow-button.stories.tsx | 6 +- animata/button/animated-follow-button.tsx | 18 +- animata/button/arrow-button.stories.tsx | 3 +- animata/button/arrow-button.tsx | 2 +- animata/button/duolingo.stories.tsx | 2 +- animata/button/duolingo.tsx | 5 +- .../button/external-link-button.stories.tsx | 2 +- animata/button/get-started-button.stories.tsx | 2 +- animata/button/ripple-button.stories.tsx | 4 +- animata/button/shining-button.stories.tsx | 2 +- animata/button/slide-arrow-button.stories.tsx | 2 +- animata/button/slide-arrow-button.tsx | 2 +- animata/button/status-button.stories.tsx | 2 +- animata/button/status-button.tsx | 8 +- animata/button/swipe-button.stories.tsx | 2 +- animata/button/swipe-button.tsx | 2 +- animata/button/toggle-switch.stories.tsx | 2 +- animata/button/toggle-switch.tsx | 36 +- animata/button/work-button.stories.tsx | 2 +- animata/card/WebHooks-card.tsx | 73 +- animata/card/blur-stack-card.stories.tsx | 2 +- animata/card/blur-stack-card.tsx | 2 +- animata/card/card-comment.stories.tsx | 2 +- animata/card/card-comment.tsx | 2 - animata/card/card-spread.stories.tsx | 2 +- animata/card/case-study-card.stories.tsx | 2 +- animata/card/case-study-card.tsx | 2 +- animata/card/comment-reply-card.stories.tsx | 2 +- animata/card/comment-reply-card.tsx | 9 +- animata/card/email-feature-card.stories.tsx | 2 +- animata/card/email-feature-card.tsx | 10 +- animata/card/flip-card.stories.tsx | 2 +- animata/card/fluid-tabs.stories.tsx | 4 +- animata/card/fluid-tabs.tsx | 4 +- animata/card/github-card-shiny.stories.tsx | 2 +- animata/card/github-card-shiny.tsx | 2 +- animata/card/github-card-skew.stories.tsx | 2 +- animata/card/github-card-skew.tsx | 6 +- animata/card/glowing-card.stories.tsx | 2 +- animata/card/glowing-card.tsx | 3 +- animata/card/integration-pills.stories.tsx | 2 +- animata/card/integration-pills.tsx | 2 - animata/card/led-board.stories.tsx | 2 +- animata/card/led-board.tsx | 2 +- animata/card/notice-card.stories.tsx | 66 +- animata/card/notice-card.tsx | 228 +- animata/card/notification-card.stories.tsx | 2 +- animata/card/notification-card.tsx | 4 +- animata/card/notify-user-info.stories.tsx | 2 +- animata/card/notify-user-info.tsx | 3 +- animata/card/reminder-scheduler.stories.tsx | 3 +- animata/card/reminder-scheduler.tsx | 3 +- animata/card/score-card.stories.tsx | 2 +- animata/card/score-card.tsx | 4 +- animata/card/staggered-card.stories.tsx | 2 +- animata/card/staggered-card.tsx | 4 +- animata/card/subscribe-card.stories.tsx | 2 +- animata/card/survey-card.stories.tsx | 2 +- animata/card/survey-card.tsx | 2 +- animata/card/swap-card.stories.tsx | 2 +- animata/card/swap-card.tsx | 2 +- animata/card/swap-text-card.stories.tsx | 2 +- animata/card/tilted-card.stories.tsx | 2 +- animata/card/webhooks-card.stories.tsx | 2 +- animata/carousel/expandable.stories.tsx | 2 +- animata/carousel/expandable.tsx | 2 +- animata/carousel/image-carousel.stories.tsx | 2 +- animata/carousel/image-carousel.tsx | 3 +- .../animated-border-trail.stories.tsx | 2 +- animata/container/animated-border-trail.tsx | 5 +- animata/container/animated-dock.stories.tsx | 10 +- animata/container/animated-dock.tsx | 11 +- animata/container/cursor-tracker.stories.tsx | 2 +- animata/container/fibonacci-lines.stories.tsx | 2 +- animata/container/marquee.stories.tsx | 3 +- animata/container/nav-tabs.stories.tsx | 2 +- animata/container/nav-tabs.tsx | 2 +- .../scrolling-testimonials.stories.tsx | 2 +- animata/container/shift-tabs.stories.tsx | 2 +- animata/fabs/speed-dial.stories.tsx | 4 +- animata/fabs/speed-dial.tsx | 3 +- .../confirmation-message.stories.tsx | 2 +- .../feature-cards/confirmation-message.tsx | 4 +- .../feature-cards/content-scan.stories.tsx | 2 +- animata/feature-cards/content-scan.tsx | 45 +- animata/graphs/bar-chart.stories.tsx | 2 +- animata/graphs/commit-graph.stories.tsx | 2 +- animata/graphs/commit-graph.tsx | 3 +- animata/graphs/donut-chart.stories.tsx | 2 +- animata/graphs/donut-chart.tsx | 2 +- animata/graphs/gauge-chart.stories.tsx | 2 +- animata/graphs/gauge-chart.tsx | 2 +- animata/graphs/progress.stories.tsx | 2 +- animata/graphs/ring-chart.stories.tsx | 2 +- animata/graphs/ring-chart.tsx | 5 +- .../hero/hero-section-text-hover.stories.tsx | 2 +- animata/hero/hero-section-text-hover.tsx | 2 +- animata/hero/hero-section.stories.tsx | 2 +- animata/hero/product-features.stories.tsx | 2 +- animata/hero/product-features.tsx | 9 +- animata/hero/shape-shifter.stories.tsx | 2 +- animata/hero/slack-intro.stories.tsx | 2 +- animata/icon/hover-interaction.stories.tsx | 2 +- animata/icon/hover-interaction.tsx | 9 +- animata/icon/icon-ripple.stories.tsx | 3 +- animata/image/disclose-image.stories.tsx | 2 +- animata/image/disclose-image.tsx | 2 +- animata/image/image-box-shadow.stories.tsx | 2 +- animata/image/image-box-shadow.tsx | 2 +- animata/image/images-reveal.stories.tsx | 2 +- animata/image/images-reveal.tsx | 5 +- animata/image/photo-booth.stories.tsx | 2 +- animata/image/photo-booth.tsx | 2 +- animata/image/skew-image.stories.tsx | 2 +- animata/image/skew-image.tsx | 2 +- animata/image/tilted-cover.stories.tsx | 2 +- animata/image/tilted-cover.tsx | 2 +- animata/image/trailing-image.stories.tsx | 2 +- animata/image/trailing-image.tsx | 4 +- animata/image/zoom-image.stories.tsx | 2 +- animata/image/zoom-image.tsx | 2 +- animata/list/avatar-list.stories.tsx | 2 +- animata/list/flipping-cards.stories.tsx | 2 +- animata/list/flower-menu.stories.tsx | 3 +- animata/list/flower-menu.tsx | 2 +- animata/list/menu-animation.stories.tsx | 11 +- animata/list/orbiting-items-3-d.stories.tsx | 5 +- animata/list/orbiting-items-3-d.tsx | 2 +- animata/list/orbiting-items.stories.tsx | 2 +- animata/list/reveal-image.stories.tsx | 2 +- animata/list/transaction-list.stories.tsx | 3 +- animata/list/transaction-list.tsx | 5 +- animata/list/transition-list.stories.tsx | 2 +- animata/list/transition-list.tsx | 4 +- animata/overlay/modal.stories.tsx | 2 +- animata/overlay/modal.tsx | 6 +- animata/preloader/vertical-tiles.stories.tsx | 4 +- animata/preloader/vertical-tiles.tsx | 5 +- animata/progress/animatedtimeline.stories.tsx | 4 +- animata/progress/animatedtimeline.tsx | 5 +- animata/progress/spinner.stories.tsx | 2 +- animata/progress/spinner.tsx | 6 +- animata/section/pricing.stories.tsx | 2 +- animata/section/pricing.tsx | 5 +- animata/skeleton/code.stories.tsx | 2 +- animata/skeleton/cookie-banner.stories.tsx | 2 +- animata/skeleton/list.stories.tsx | 2 +- animata/skeleton/receipt.stories.tsx | 2 +- animata/skeleton/report.stories.tsx | 2 +- animata/skeleton/wide-card.stories.tsx | 2 +- .../text/animated-gradient-text.stories.tsx | 4 +- animata/text/bold-copy.stories.tsx | 2 +- animata/text/circular-text.stories.tsx | 2 +- animata/text/circular-text.tsx | 2 +- animata/text/counter.stories.tsx | 4 +- animata/text/counter.tsx | 4 +- animata/text/cycle-text.stories.tsx | 2 +- animata/text/cycle-text.tsx | 2 +- animata/text/double-underline.stories.tsx | 2 +- animata/text/gibberish-text.stories.tsx | 2 +- animata/text/glitch-text.stories.tsx | 2 +- animata/text/glitch-text.tsx | 1 - animata/text/jitter-text.stories.tsx | 2 +- animata/text/jitter-text.tsx | 2 +- .../text/jumping-text-instagram.stories.tsx | 2 +- animata/text/jumping-text-instagram.tsx | 2 +- animata/text/mask-text.stories.tsx | 2 +- animata/text/mask-text.tsx | 12 +- animata/text/mirror-text.stories.tsx | 2 +- animata/text/scroll-reveal.stories.tsx | 3 +- animata/text/scroll-reveal.tsx | 9 +- animata/text/split-text.stories.tsx | 2 +- animata/text/split-text.tsx | 2 +- animata/text/staggered-letter.stories.tsx | 2 +- animata/text/staggered-letter.tsx | 4 +- animata/text/swap-text.stories.tsx | 2 +- .../text/text-border-animation.stories.tsx | 2 +- animata/text/text-border-animation.tsx | 2 +- .../text/text-explode-imessage.stories.tsx | 2 +- animata/text/text-explode-imessage.tsx | 2 +- animata/text/text-flip.stories.tsx | 2 +- animata/text/ticker.stories.tsx | 2 +- animata/text/ticker.tsx | 2 +- animata/text/typing-text.stories.tsx | 2 +- animata/text/typing-text.tsx | 2 +- animata/text/underline-hover-text.stories.tsx | 10 +- animata/text/underline-hover-text.tsx | 2 +- animata/text/wave-reveal.stories.tsx | 2 +- animata/text/wave-reveal.tsx | 12 +- animata/widget/alarm-clock.stories.tsx | 2 +- animata/widget/alarm-clock.tsx | 2 +- animata/widget/battery-level.stories.tsx | 2 +- animata/widget/battery.stories.tsx | 2 +- animata/widget/battery.tsx | 2 +- animata/widget/calendar-event.stories.tsx | 2 +- animata/widget/calendar-event.tsx | 2 +- animata/widget/calendar-widget.stories.tsx | 2 +- animata/widget/calendar-widget.tsx | 4 +- animata/widget/calorie-counter.stories.tsx | 2 +- animata/widget/clock-with-photo.stories.tsx | 2 +- animata/widget/cycling.stories.tsx | 2 +- animata/widget/delivery-card.stories.tsx | 2 +- animata/widget/delivery-card.tsx | 3 +- animata/widget/direction-card.stories.tsx | 3 +- animata/widget/direction-card.tsx | 2 +- animata/widget/expense-tracker.stories.tsx | 2 +- animata/widget/flight-widget.stories.tsx | 2 +- animata/widget/flight-widget.tsx | 2 +- animata/widget/fund-widget.stories.tsx | 2 +- animata/widget/fund-widget.tsx | 132 +- animata/widget/live-score.stories.tsx | 2 +- animata/widget/live-score.tsx | 10 +- animata/widget/mobile-detail.stories.tsx | 2 +- animata/widget/mobile-detail.tsx | 3 +- .../music-stack-interaction.stories.tsx | 2 +- animata/widget/music-stack-interaction.tsx | 7 +- animata/widget/music-widget.stories.tsx | 2 +- animata/widget/music-widget.tsx | 2 +- animata/widget/notes.stories.tsx | 2 +- animata/widget/profile.stories.tsx | 2 +- animata/widget/reminder-widget.stories.tsx | 2 +- animata/widget/reminder-widget.tsx | 2 +- animata/widget/reminder.stories.tsx | 2 +- animata/widget/score-board.stories.tsx | 2 +- animata/widget/security-alert.stories.tsx | 3 +- animata/widget/security-alert.tsx | 1 - animata/widget/shopping-list.stories.tsx | 2 +- animata/widget/sleep-tracker.stories.tsx | 2 +- animata/widget/storage-status.stories.tsx | 2 +- animata/widget/storage-widget.stories.tsx | 2 +- animata/widget/study-timer.stories.tsx | 2 +- animata/widget/study-timer.tsx | 2 +- animata/widget/team-clock.stories.tsx | 2 +- animata/widget/team-clock.tsx | 200 +- animata/widget/video-chat.stories.tsx | 2 +- animata/widget/video-chat.tsx | 6 +- animata/widget/vpn-widget.stories.tsx | 2 +- animata/widget/vpn-widget.tsx | 2 +- animata/widget/water-tracker.stories.tsx | 2 +- animata/widget/water-tracker.tsx | 2 +- animata/widget/weather-card.stories.tsx | 2 +- animata/widget/weekly-progress.stories.tsx | 2 +- animata/widget/weekly-progress.tsx | 4 +- app/{ => (main)}/_landing/call-to-action.tsx | 9 +- app/{ => (main)}/_landing/faq-section.tsx | 0 app/{ => (main)}/_landing/grid-view.tsx | 2 +- app/{ => (main)}/_landing/hero-title.tsx | 0 app/{ => (main)}/_landing/hero.tsx | 2 +- app/{ => (main)}/_landing/highlight.tsx | 0 app/{ => (main)}/_landing/mode-switcher.tsx | 4 +- app/{ => (main)}/_landing/newsletter.tsx | 2 +- app/{ => (main)}/_landing/section-one.tsx | 5 +- app/{ => (main)}/_landing/section-two.tsx | 2 +- .../_landing/skeleton-section.tsx | 0 app/{ => (main)}/_landing/testimonials.tsx | 6 +- app/{ => (main)}/_landing/thunder.tsx | 32 +- app/{ => (main)}/_landing/widget-section.tsx | 2 - app/{ => (main)}/blog/[[...slug]]/page.tsx | 30 +- app/{ => (main)}/blog/layout.tsx | 0 app/{ => (main)}/credits/page.tsx | 10 +- .../docs/[[...slug]]/nav-menu.tsx | 6 +- app/{ => (main)}/docs/[[...slug]]/page.tsx | 26 +- app/{ => (main)}/docs/layout.tsx | 0 app/(main)/layout.tsx | 23 + app/{ => (main)}/page.tsx | 6 +- app/{ => (main)}/providers.tsx | 0 app/{ => (main)}/sitemap.ts | 6 +- app/layout.tsx | 43 +- biome.json | 79 + commitlint.config.cjs | 13 +- components.json | 3 +- components/ads.tsx | 8 +- components/code-block-wrapper.tsx | 29 +- components/command-menu.tsx | 9 +- components/component-card.tsx | 4 +- components/component-example.tsx | 12 +- components/component-link-wrapper.tsx | 4 +- components/component-list-item.tsx | 4 +- components/component-preview.tsx | 56 +- components/component-source.tsx | 2 +- components/copy-button.tsx | 19 +- components/copy-proxy.tsx | 16 + components/dynamic-animata.tsx | 19 + components/framework-docs.tsx | 20 +- components/header-dock-item.tsx | 2 +- components/mdx-components.tsx | 178 +- components/mobile-nav.tsx | 4 +- components/mode-toggle.tsx | 3 +- components/pager.tsx | 10 +- components/providers.tsx | 17 +- components/reload-button.tsx | 2 +- components/remount-on-mouse-in.tsx | 2 +- components/sidebar-nav.tsx | 8 +- components/site-footer.tsx | 2 +- components/site-header.tsx | 4 +- components/tailwind-indicator.tsx | 4 +- components/toc.tsx | 2 +- config/blog.ts | 4 +- config/docs.ts | 10 +- content/docs/card/fluid-tabs.mdx | 2 +- contentlayer.config.ts | 252 - hooks/use-lock-body.ts | 12 +- hooks/use-media-query.ts | 18 +- hooks/use-mounted.ts | 10 +- hooks/use-mouse-position.ts | 2 +- hooks/use-mutation-observer.ts | 16 +- lib/toc.ts | 2 +- next.config.mjs | 27 +- package.json | 120 +- postcss.config.mjs | 2 +- public/site.webmanifest | 2 +- scripts/create-new.js | 2 +- styles/globals.css | 434 +- styles/mdx.css | 2 + styles/storybook.css | 69 - tailwind.config.ts | 240 - tsconfig.json | 9 +- types/unist.ts | 2 +- velite.config.ts | 110 + yarn.lock | 12423 +++++----------- 365 files changed, 5930 insertions(+), 10509 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.cjs create mode 100644 .github/workflows/deploy-v3.yml rename app/{ => (main)}/_landing/call-to-action.tsx (98%) rename app/{ => (main)}/_landing/faq-section.tsx (100%) rename app/{ => (main)}/_landing/grid-view.tsx (87%) rename app/{ => (main)}/_landing/hero-title.tsx (100%) rename app/{ => (main)}/_landing/hero.tsx (98%) rename app/{ => (main)}/_landing/highlight.tsx (100%) rename app/{ => (main)}/_landing/mode-switcher.tsx (96%) rename app/{ => (main)}/_landing/newsletter.tsx (98%) rename app/{ => (main)}/_landing/section-one.tsx (99%) rename app/{ => (main)}/_landing/section-two.tsx (97%) rename app/{ => (main)}/_landing/skeleton-section.tsx (100%) rename app/{ => (main)}/_landing/testimonials.tsx (98%) rename app/{ => (main)}/_landing/thunder.tsx (77%) rename app/{ => (main)}/_landing/widget-section.tsx (96%) rename app/{ => (main)}/blog/[[...slug]]/page.tsx (88%) rename app/{ => (main)}/blog/layout.tsx (100%) rename app/{ => (main)}/credits/page.tsx (65%) rename app/{ => (main)}/docs/[[...slug]]/nav-menu.tsx (97%) rename app/{ => (main)}/docs/[[...slug]]/page.tsx (90%) rename app/{ => (main)}/docs/layout.tsx (100%) create mode 100644 app/(main)/layout.tsx rename app/{ => (main)}/page.tsx (91%) rename app/{ => (main)}/providers.tsx (100%) rename app/{ => (main)}/sitemap.ts (74%) create mode 100644 biome.json create mode 100644 components/copy-proxy.tsx create mode 100644 components/dynamic-animata.tsx delete mode 100644 contentlayer.config.ts delete mode 100644 styles/storybook.css delete mode 100644 tailwind.config.ts create mode 100644 velite.config.ts 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/workflows/deploy-v3.yml b/.github/workflows/deploy-v3.yml new file mode 100644 index 00000000..c23b43ec --- /dev/null +++ b/.github/workflows/deploy-v3.yml @@ -0,0 +1,48 @@ +name: Deploy v3 + +on: + push: + branches: + - v3 + +jobs: + deploy-v3: + runs-on: ubuntu-latest + environment: v3-deployment + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + - name: Install yarn + run: npm install -g yarn + - name: Restore cache + uses: actions/cache@v4 + with: + path: | + .next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- + - name: Install dependencies + run: yarn install --immutable + - name: Build component previews + run: yarn storybook:build + - name: Build with Next.js + env: + NEXT_PUBLIC_APP_URL: ${{ vars.NEXT_PUBLIC_APP_URL }} + NEXT_PUBLIC_SUPABASE_URL: ${{ vars.NEXT_PUBLIC_SUPABASE_URL }} + NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ vars.NEXT_PUBLIC_SUPABASE_ANON_KEY }} + NEXT_PUBLIC_POSTHOG_KEY: ${{ vars.NEXT_PUBLIC_POSTHOG_KEY }} + NEXT_PUBLIC_POSTHOG_HOST: ${{ vars.NEXT_PUBLIC_POSTHOG_HOST }} + NEXT_PUBLIC_PLUNK_API_KEY: ${{ vars.NEXT_PUBLIC_PLUNK_API_KEY }} + run: yarn build + - name: Deploy to Cloudflare Pages + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy out --project-name=animata-v3 --branch=main + gitHubToken: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f1027867..1f71052e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -19,7 +19,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: "20" + node-version: "22" - name: Install yarn run: npm install -g yarn - name: Restore cache @@ -32,11 +32,11 @@ jobs: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- - name: Install dependencies run: yarn install --immutable + - name: Build component previews + run: yarn storybook:build - name: Build with Next.js env: NEXT_PUBLIC_APP_URL: ${{ vars.NEXT_PUBLIC_APP_URL }} - STORYBOOK_NEXT_PUBLIC_APP_URL: ${{ vars.STORYBOOK_NEXT_PUBLIC_APP_URL }} - NEXT_PUBLIC_STORYBOOK_URL: ${{ vars.NEXT_PUBLIC_STORYBOOK_URL }} NEXT_PUBLIC_SUPABASE_URL: ${{ vars.NEXT_PUBLIC_SUPABASE_URL }} NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ vars.NEXT_PUBLIC_SUPABASE_ANON_KEY }} NEXT_PUBLIC_POSTHOG_KEY: ${{ vars.NEXT_PUBLIC_POSTHOG_KEY }} diff --git a/.gitignore b/.gitignore index b844d008..a02bbed0 100644 --- a/.gitignore +++ b/.gitignore @@ -35,8 +35,9 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts -.contentlayer +.velite *storybook.log public/preview _internal/ +.superset/ diff --git a/.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..1fd963a2 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,24 +1,14 @@ 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"], framework: { name: "@storybook/nextjs", options: {}, }, - staticDirs: [], + docs: { + autodocs: true, + }, }; export default config; diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 1f035965..e56b07a0 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -1,82 +1,30 @@ -import { themes } from "@storybook/theming"; +import type { Preview } from "@storybook/react"; +import type React from "react"; +import { useEffect } 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, - }, - "*", - ); - }); +const isEmbedded = typeof window !== "undefined" && window.location.href.includes("site:docs"); - useMutationObserver(nodeRef, callbackRef.current); +const ThemeWrapper = ({ children }: { children: React.ReactNode }) => { + const params = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null; + const globals = params?.get("globals") ?? ""; + const isDark = + globals.includes("theme:dark") || + (!globals.includes("theme:light") && globals.includes("dark")); + const theme = isDark ? "dark" : ""; useEffect(() => { - if (!isEmbedded) { - return; - } - callbackRef.current(); + if (!isEmbedded) return; + const sendHeight = () => { + const el = document.querySelector(".embedded"); + if (!el) return; + window.parent.postMessage({ type: "animata-set-height", height: el.clientHeight }, "*"); + }; + sendHeight(); + const observer = new MutationObserver(sendHeight); + observer.observe(document.body, { childList: true, subtree: true, attributes: true }); + return () => observer.disconnect(); }, []); return ( @@ -89,21 +37,14 @@ const Wrapper = ({ children }) => { ); }; -const CustomCanvas = () => { - const [key, setKey] = React.useState(0); - return ( -
- - setKey((k) => k + 1)} - /> -
- ); -}; - const preview: Preview = { + decorators: [ + (Story) => ( + + + + ), + ], parameters: { controls: { matchers: { @@ -111,23 +52,6 @@ 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> - ); - }, - }, }, }; 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..68c8ee4a 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", 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..917c89cd 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", diff --git a/animata/background/dot.stories.tsx b/animata/background/dot.stories.tsx index 391b121b..481596d0 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", diff --git a/animata/background/grid.stories.tsx b/animata/background/grid.stories.tsx index e7973ffb..5edd168e 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", 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..030cc959 100644 --- a/animata/background/interactive-grid.tsx +++ b/animata/background/interactive-grid.tsx @@ -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) { diff --git a/animata/background/moving-gradient.stories.tsx b/animata/background/moving-gradient.stories.tsx index 4e9b1117..3df78729 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", diff --git a/animata/background/moving-gradient.tsx b/animata/background/moving-gradient.tsx index 416fe8e0..0e31ea2c 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"; diff --git a/animata/background/zigzag.stories.tsx b/animata/background/zigzag.stories.tsx index 780ed2d7..288a95a4 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", 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..c40098df 100644 --- a/animata/bento-grid/eight.tsx +++ b/animata/bento-grid/eight.tsx @@ -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" /> 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..d3f9f14f 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"; diff --git a/animata/bento-grid/nine.stories.tsx b/animata/bento-grid/nine.stories.tsx index 25f8f016..076cd999 100644 --- a/animata/bento-grid/nine.stories.tsx +++ b/animata/bento-grid/nine.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Nine from "@/animata/bento-grid/nine"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Nine", diff --git a/animata/bento-grid/nine.tsx b/animata/bento-grid/nine.tsx index 792cb8a4..bcbd3609 100644 --- a/animata/bento-grid/nine.tsx +++ b/animata/bento-grid/nine.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/seven.stories.tsx b/animata/bento-grid/seven.stories.tsx index e1230691..c6c0c97b 100644 --- a/animata/bento-grid/seven.stories.tsx +++ b/animata/bento-grid/seven.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Seven from "@/animata/bento-grid/seven"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Seven", diff --git a/animata/bento-grid/seven.tsx b/animata/bento-grid/seven.tsx index 880739ac..448074d8 100644 --- a/animata/bento-grid/seven.tsx +++ b/animata/bento-grid/seven.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/six.stories.tsx b/animata/bento-grid/six.stories.tsx index 8d537608..1e31efdf 100644 --- a/animata/bento-grid/six.stories.tsx +++ b/animata/bento-grid/six.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Six from "@/animata/bento-grid/six"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Six", diff --git a/animata/bento-grid/six.tsx b/animata/bento-grid/six.tsx index 21fc934c..f74d8ca5 100644 --- a/animata/bento-grid/six.tsx +++ b/animata/bento-grid/six.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/ten.stories.tsx b/animata/bento-grid/ten.stories.tsx index d325b4e9..a2baee03 100644 --- a/animata/bento-grid/ten.stories.tsx +++ b/animata/bento-grid/ten.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Ten from "@/animata/bento-grid/ten"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Ten", diff --git a/animata/bento-grid/ten.tsx b/animata/bento-grid/ten.tsx index b720354f..1d765f6d 100644 --- a/animata/bento-grid/ten.tsx +++ b/animata/bento-grid/ten.tsx @@ -1,19 +1,8 @@ import { cn } from "@/lib/utils"; -const BentoCard = ({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}) => { +const BentoCard = ({ children, className }: { children: React.ReactNode; className?: string }) => { return ( - <div - className={cn( - "relative h-full w-full overflow-hidden rounded-2xl p-4", - className, - )} - > + <div className={cn("relative h-full w-full overflow-hidden rounded-2xl p-4", className)}> {children} </div> ); diff --git a/animata/bento-grid/three.stories.tsx b/animata/bento-grid/three.stories.tsx index a211ffad..99965f3e 100644 --- a/animata/bento-grid/three.stories.tsx +++ b/animata/bento-grid/three.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Three from "@/animata/bento-grid/three"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Bento Grid/Three", diff --git a/animata/button/ai-button.stories.tsx b/animata/button/ai-button.stories.tsx index d94fbe45..8349bd36 100644 --- a/animata/button/ai-button.stories.tsx +++ b/animata/button/ai-button.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AiButton from "@/animata/button/ai-button"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Button/Ai Button", diff --git a/animata/button/ai-button.tsx b/animata/button/ai-button.tsx index aaa7d1a9..15002cea 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", 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..6ba0c67a 100644 --- a/animata/button/algolia-blue-button.tsx +++ b/animata/button/algolia-blue-button.tsx @@ -1,9 +1,6 @@ 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="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]"> 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..eb860aa5 100644 --- a/animata/button/algolia-white-button.tsx +++ b/animata/button/algolia-white-button.tsx @@ -1,9 +1,6 @@ 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="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]"> Aloglia White </button> ); diff --git a/animata/button/animated-follow-button.stories.tsx b/animata/button/animated-follow-button.stories.tsx index 6c163f74..0313e556 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,8 @@ 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", }, 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..89ad403d 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"; 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..0328b275 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 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"> 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/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/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/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..5a63056f 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; 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..362d6644 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"; @@ -49,10 +49,10 @@ export default function StatusButton() { </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..d2ac911f 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", 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/card/WebHooks-card.tsx b/animata/card/WebHooks-card.tsx index 317fe3d6..cba1c57f 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-all 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..37350abc 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"; 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..fb630f94 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; 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/case-study-card.stories.tsx b/animata/card/case-study-card.stories.tsx index 54df0431..f9e5eb0b 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", diff --git a/animata/card/case-study-card.tsx b/animata/card/case-study-card.tsx index f0c03814..391f6cc6 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"; 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..447ff2a8 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"> 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..19974552 100644 --- a/animata/card/email-feature-card.tsx +++ b/animata/card/email-feature-card.tsx @@ -1,7 +1,5 @@ "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"> @@ -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) */} diff --git a/animata/card/flip-card.stories.tsx b/animata/card/flip-card.stories.tsx index c8eee8ad..69de6b82 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", diff --git a/animata/card/fluid-tabs.stories.tsx b/animata/card/fluid-tabs.stories.tsx index 6f814c98..65588288 100644 --- a/animata/card/fluid-tabs.stories.tsx +++ b/animata/card/fluid-tabs.stories.tsx @@ -1,8 +1,8 @@ +import type { Meta, StoryObj } from "@storybook/react"; import FluidTabs from "@/animata/card/fluid-tabs"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { - title: "Tabs/Fluid Tabs", + title: "Card/Fluid Tabs", component: FluidTabs, parameters: { layout: "centered", diff --git a/animata/card/fluid-tabs.tsx b/animata/card/fluid-tabs.tsx index b4b03b99..4b004349 100644 --- a/animata/card/fluid-tabs.tsx +++ b/animata/card/fluid-tabs.tsx @@ -1,8 +1,8 @@ "use client"; -import { useEffect, useRef, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; import { Inbox, Landmark, PieChart } from "lucide-react"; +import { AnimatePresence, motion } from "motion/react"; +import { useEffect, useRef, useState } from "react"; const tabs = [ { diff --git a/animata/card/github-card-shiny.stories.tsx b/animata/card/github-card-shiny.stories.tsx index 7577ff6c..b3ac1818 100644 --- a/animata/card/github-card-shiny.stories.tsx +++ b/animata/card/github-card-shiny.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import GithubCardShiny from "@/animata/card/github-card-shiny"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Github Card Shiny", diff --git a/animata/card/github-card-shiny.tsx b/animata/card/github-card-shiny.tsx index 970805ac..16110322 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"; 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..60feb3ea 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) { 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..a8670093 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. 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..34355875 100644 --- a/animata/card/integration-pills.tsx +++ b/animata/card/integration-pills.tsx @@ -1,5 +1,3 @@ -import React from "react"; - import { cn } from "@/lib/utils"; const brands = [ 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..3a1eca7a 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"; 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..1e5e95de 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-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> + ); +} 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..a5fe123d 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"; 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..bb9b006a 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", 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..38809cb1 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", 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..39952658 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); diff --git a/animata/card/swap-card.stories.tsx b/animata/card/swap-card.stories.tsx index 1a07d09b..9966135d 100644 --- a/animata/card/swap-card.stories.tsx +++ b/animata/card/swap-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SwapCard from "@/animata/card/swap-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Swap Card", diff --git a/animata/card/swap-card.tsx b/animata/card/swap-card.tsx index 65b87efb..0d965aa9 100644 --- a/animata/card/swap-card.tsx +++ b/animata/card/swap-card.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState } from "react"; import { LaptopMinimal, LocateOff } from "lucide-react"; +import { useState } from "react"; import FlipCard from "@/animata/card/flip-card"; import WaveReveal from "@/animata/text/wave-reveal"; diff --git a/animata/card/swap-text-card.stories.tsx b/animata/card/swap-text-card.stories.tsx index 85ea3585..0dded85e 100644 --- a/animata/card/swap-text-card.stories.tsx +++ b/animata/card/swap-text-card.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import SwapTextCard from "@/animata/card/swap-text-card"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Card/Swap Text Card", diff --git a/animata/card/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/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..5d8b2da6 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", diff --git a/animata/carousel/expandable.tsx b/animata/carousel/expandable.tsx index 195bcd48..84eefd14 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"; 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..fc04a7d0 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; diff --git a/animata/container/animated-border-trail.stories.tsx b/animata/container/animated-border-trail.stories.tsx index 6dbd3281..1073ba83 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", diff --git a/animata/container/animated-border-trail.tsx b/animata/container/animated-border-trail.tsx index fd842919..5314ec44 100644 --- a/animata/container/animated-border-trail.tsx +++ b/animata/container/animated-border-trail.tsx @@ -34,10 +34,9 @@ export default function AnimatedBorderTrail({ className={cn("relative h-fit w-fit overflow-hidden rounded-2xl bg-gray-200 p-px", className)} > <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", + animation: `trail ${duration ?? "10s"} linear infinite`, background: `conic-gradient(from var(--angle) at 50% 50%, transparent ${100 - sizes[trailSize]}%, ${trailColor})`, }} /> 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/fibonacci-lines.stories.tsx b/animata/container/fibonacci-lines.stories.tsx index abdee726..50bfd56e 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", diff --git a/animata/container/marquee.stories.tsx b/animata/container/marquee.stories.tsx index 20eb40f6..efcec2fe 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", 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..fa8deb6d 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"; 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/shift-tabs.stories.tsx b/animata/container/shift-tabs.stories.tsx index ab918e8b..29fd9c69 100644 --- a/animata/container/shift-tabs.stories.tsx +++ b/animata/container/shift-tabs.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ShiftTabs from "@/animata/container/shift-tabs"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Container/Shift Tabs", diff --git a/animata/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..90c5f699 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; 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..6e4a7b62 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"; @@ -98,7 +98,7 @@ export default function ConfirmationMessage({ animate={{ opacity: 1 }} transition={{ delay: 2, duration: 0.9 }} > - {labelMessage.length > 200 ? labelMessage.slice(0, 199) + "..." : labelMessage} + {labelMessage.length > 200 ? `${labelMessage.slice(0, 199)}...` : labelMessage} </motion.p> </div> </div> diff --git a/animata/feature-cards/content-scan.stories.tsx b/animata/feature-cards/content-scan.stories.tsx index 97b5cdd8..e801e640 100644 --- a/animata/feature-cards/content-scan.stories.tsx +++ b/animata/feature-cards/content-scan.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import ContentScan from "@/animata/feature-cards/content-scan"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Feature Cards/Content Scan", diff --git a/animata/feature-cards/content-scan.tsx b/animata/feature-cards/content-scan.tsx index 041cef70..f7964ed7 100644 --- a/animata/feature-cards/content-scan.tsx +++ b/animata/feature-cards/content-scan.tsx @@ -1,5 +1,6 @@ -import React, { useEffect, useRef, useState } from "react"; -import { motion, useAnimation } from "framer-motion"; +import { motion, useAnimation } from "motion/react"; +import type React from "react"; +import { useEffect, useRef, useState } from "react"; interface ContentScannerProps { content: string; @@ -146,33 +147,31 @@ const ContentScanner: React.FC<ContentScannerProps> = ({ repeat: Infinity, repeatType: "loop" as const, duration: 1.5, - ease: "easeInOut", + ease: "easeInOut" as const, }, }, }; return ( - <> - <div className="inline-flex items-center"> - <div className="inline-flex h-8 overflow-hidden"> - {digits.map((digit, index) => ( - <motion.div - key={`${index}-${digit}`} - variants={digitVariants} - initial="initial" - animate="animate" - className="inline-flex h-8 w-6 flex-col items-center justify-center" - > - {[digit, (digit + 1) % 10, (digit + 2) % 10].map((n, i) => ( - <span key={i} className="font-bold leading-8 text-purple-900"> - {n} - </span> - ))} - </motion.div> - ))} - </div> + <div className="inline-flex items-center"> + <div className="inline-flex h-8 overflow-hidden"> + {digits.map((digit, index) => ( + <motion.div + key={`${index}-${digit}`} + variants={digitVariants} + initial="initial" + animate="animate" + className="inline-flex h-8 w-6 flex-col items-center justify-center" + > + {[digit, (digit + 1) % 10, (digit + 2) % 10].map((n, i) => ( + <span key={i} className="font-bold leading-8 text-purple-900"> + {n} + </span> + ))} + </motion.div> + ))} </div> - </> + </div> ); }; diff --git a/animata/graphs/bar-chart.stories.tsx b/animata/graphs/bar-chart.stories.tsx index 1ec4c6ba..2302d427 100644 --- a/animata/graphs/bar-chart.stories.tsx +++ b/animata/graphs/bar-chart.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import BarChart from "@/animata/graphs/bar-chart"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Graphs/Bar Chart", diff --git a/animata/graphs/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..d92476f4 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", 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/ring-chart.stories.tsx b/animata/graphs/ring-chart.stories.tsx index d02c910c..60f7db70 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", 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..2a972b38 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"; 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/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..254cb1f1 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"; @@ -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 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"> 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/slack-intro.stories.tsx b/animata/hero/slack-intro.stories.tsx index 2b38f0d5..e171c29e 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", 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..9c8db1a2 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, 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..706afe8f 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", diff --git a/animata/image/disclose-image.tsx b/animata/image/disclose-image.tsx index 3686dfdb..7c3e4bac 100644 --- a/animata/image/disclose-image.tsx +++ b/animata/image/disclose-image.tsx @@ -1,4 +1,4 @@ -import { ImgHTMLAttributes, useState } from "react"; +import { type ImgHTMLAttributes, useState } from "react"; import { cn } from "@/lib/utils"; 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..92ec91ea 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"; 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..857f7ee4 100644 --- a/animata/image/skew-image.tsx +++ b/animata/image/skew-image.tsx @@ -1,4 +1,4 @@ -import { ImgHTMLAttributes } from "react"; +import type { ImgHTMLAttributes } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/image/tilted-cover.stories.tsx b/animata/image/tilted-cover.stories.tsx index 9bc74530..115fd90f 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", diff --git a/animata/image/tilted-cover.tsx b/animata/image/tilted-cover.tsx index 670ff61c..f205bdff 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"; 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..c9b8d55c 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", diff --git a/animata/image/zoom-image.tsx b/animata/image/zoom-image.tsx index 217a627e..72e72a49 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"; diff --git a/animata/list/avatar-list.stories.tsx b/animata/list/avatar-list.stories.tsx index 6943965f..b8717622 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", 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/flower-menu.stories.tsx b/animata/list/flower-menu.stories.tsx index ace2b1fc..3eabc811 100644 --- a/animata/list/flower-menu.stories.tsx +++ b/animata/list/flower-menu.stories.tsx @@ -1,3 +1,4 @@ +import type { Meta, StoryObj } from "@storybook/react"; import { Codepen, Facebook, @@ -8,9 +9,7 @@ import { Twitter, Youtube, } from "lucide-react"; - import FlowerMenu from "@/animata/list/flower-menu"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "List/Flower Menu", diff --git a/animata/list/flower-menu.tsx b/animata/list/flower-menu.tsx index 865150d4..8c86f34e 100644 --- a/animata/list/flower-menu.tsx +++ b/animata/list/flower-menu.tsx @@ -1,5 +1,5 @@ -import { useState } from "react"; import Link from "next/link"; +import { useState } from "react"; type MenuItem = { icon: React.ComponentType<React.SVGProps<SVGSVGElement>>; 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/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..6c059274 100644 --- a/animata/list/orbiting-items-3-d.tsx +++ b/animata/list/orbiting-items-3-d.tsx @@ -1,5 +1,5 @@ -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"; diff --git a/animata/list/orbiting-items.stories.tsx b/animata/list/orbiting-items.stories.tsx index 06291a94..4840862c 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", 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/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..1bca0185 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; 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..7683d024 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", diff --git a/animata/overlay/modal.tsx b/animata/overlay/modal.tsx index 267726d6..51d80a43 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"; diff --git a/animata/preloader/vertical-tiles.stories.tsx b/animata/preloader/vertical-tiles.stories.tsx index b05d1f40..1993aba2 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", 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..88b46f80 100644 --- a/animata/progress/animatedtimeline.tsx +++ b/animata/progress/animatedtimeline.tsx @@ -1,7 +1,8 @@ "use client"; -import React, { useState } from "react"; -import { motion } from "framer-motion"; +import { motion } from "motion/react"; +import type React from "react"; +import { useState } from "react"; import { cn } from "@/lib/utils"; diff --git a/animata/progress/spinner.stories.tsx b/animata/progress/spinner.stories.tsx index faf4a3ac..54e34770 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", diff --git a/animata/progress/spinner.tsx b/animata/progress/spinner.tsx index 2830b452..0ab407c0 100644 --- a/animata/progress/spinner.tsx +++ b/animata/progress/spinner.tsx @@ -5,11 +5,7 @@ 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( 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/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/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/circular-text.stories.tsx b/animata/text/circular-text.stories.tsx index a670f8ef..2f6eb3e4 100644 --- a/animata/text/circular-text.stories.tsx +++ b/animata/text/circular-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CircularText from "@/animata/text/circular-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Circular Text", diff --git a/animata/text/circular-text.tsx b/animata/text/circular-text.tsx index 4e9c88f9..04ec4ed7 100644 --- a/animata/text/circular-text.tsx +++ b/animata/text/circular-text.tsx @@ -1,5 +1,5 @@ +import { motion } from "motion/react"; import { useMemo } from "react"; -import { motion } from "framer-motion"; import { cn } from "@/lib/utils"; diff --git a/animata/text/counter.stories.tsx b/animata/text/counter.stories.tsx index ea3a8f5d..7649cf20 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", @@ -24,7 +24,7 @@ export const Percentage: Story = { args: { targetValue: 100, direction: "up", - format: (value) => value.toFixed(0) + "%", + format: (value) => `${value.toFixed(0)}%`, }, }; diff --git a/animata/text/counter.tsx b/animata/text/counter.tsx index f9579a86..265ed3f2 100644 --- a/animata/text/counter.tsx +++ b/animata/text/counter.tsx @@ -1,5 +1,5 @@ +import { useInView, useMotionValue, useSpring } from "motion/react"; import { useEffect, useRef } from "react"; -import { useInView, useMotionValue, useSpring } from "framer-motion"; import { cn } from "@/lib/utils"; @@ -71,7 +71,7 @@ export default function Counter({ useEffect(() => { springValue.on("change", (value) => { if (ref.current) { - ref.current.textContent = format ? format(value) : value; + ref.current.textContent = format ? format(value) : String(value); } }); }, [springValue, format]); diff --git a/animata/text/cycle-text.stories.tsx b/animata/text/cycle-text.stories.tsx index 7437e04b..0884476a 100644 --- a/animata/text/cycle-text.stories.tsx +++ b/animata/text/cycle-text.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import CycleText from "@/animata/text/cycle-text"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Cycle Text", diff --git a/animata/text/cycle-text.tsx b/animata/text/cycle-text.tsx index 4ff005ca..0d861c45 100644 --- a/animata/text/cycle-text.tsx +++ b/animata/text/cycle-text.tsx @@ -1,5 +1,5 @@ +import { AnimatePresence, motion } from "motion/react"; import { useEffect, useState } from "react"; -import { AnimatePresence, motion } from "framer-motion"; export default function CycleText() { const words = ["Hello", "World", "Ciaoo", "World"]; diff --git a/animata/text/double-underline.stories.tsx b/animata/text/double-underline.stories.tsx index 454d42fc..b17c0eab 100644 --- a/animata/text/double-underline.stories.tsx +++ b/animata/text/double-underline.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import DoubleUnderline from "@/animata/text/double-underline"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Text/Double Underline", diff --git a/animata/text/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/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..edadbf1c 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"; diff --git a/animata/text/jitter-text.stories.tsx b/animata/text/jitter-text.stories.tsx index f1041cba..ca20c747 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", diff --git a/animata/text/jitter-text.tsx b/animata/text/jitter-text.tsx index 29f2dcab..a909f78f 100644 --- a/animata/text/jitter-text.tsx +++ b/animata/text/jitter-text.tsx @@ -1,4 +1,4 @@ -import { motion } from "framer-motion"; +import { motion } from "motion/react"; import { cn } from "@/lib/utils"; diff --git a/animata/text/jumping-text-instagram.stories.tsx b/animata/text/jumping-text-instagram.stories.tsx index 7d824b57..c5cc2558 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", diff --git a/animata/text/jumping-text-instagram.tsx b/animata/text/jumping-text-instagram.tsx index 75c09f46..5ec6eb5d 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) { 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..e9e01fe6 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", diff --git a/animata/text/scroll-reveal.stories.tsx b/animata/text/scroll-reveal.stories.tsx index c67300ba..861e394b 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", diff --git a/animata/text/scroll-reveal.tsx b/animata/text/scroll-reveal.tsx index 94106577..80ec247e 100644 --- a/animata/text/scroll-reveal.tsx +++ b/animata/text/scroll-reveal.tsx @@ -1,5 +1,5 @@ +import { type MotionValue, motion, useScroll, useTransform } from "motion/react"; import React, { useRef } from "react"; -import { motion, MotionValue, useScroll, useTransform } from "framer-motion"; 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 ( 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..0531ed41 100644 --- a/animata/text/split-text.tsx +++ b/animata/text/split-text.tsx @@ -10,7 +10,7 @@ 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"; diff --git a/animata/text/staggered-letter.stories.tsx b/animata/text/staggered-letter.stories.tsx index ce670daa..bd147db8 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", 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..a8cc4252 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", 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..123e05eb 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", 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..8339398c 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", diff --git a/animata/text/ticker.tsx b/animata/text/ticker.tsx index 9c5025d2..d179bf74 100644 --- a/animata/text/ticker.tsx +++ b/animata/text/ticker.tsx @@ -1,7 +1,7 @@ "use client"; +import { motion, useMotionValue, useSpring } from "motion/react"; import { useCallback, useEffect, useRef } from "react"; -import { motion, useMotionValue, useSpring } from "framer-motion"; import { cn } from "@/lib/utils"; diff --git a/animata/text/typing-text.stories.tsx b/animata/text/typing-text.stories.tsx index 319febf7..c62eb8a6 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", 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..2ff84425 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,7 @@ 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", }; 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..375cad26 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", diff --git a/animata/text/wave-reveal.tsx b/animata/text/wave-reveal.tsx index 74030b36..6c7b7e6a 100644 --- a/animata/text/wave-reveal.tsx +++ b/animata/text/wave-reveal.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { cn } from "@/lib/utils"; @@ -107,7 +107,7 @@ const createDelay = ({ }: Pick<ReducedValue, "offset" | "delay"> & { index: number; }) => { - return delay + (index + offset) * 50 + "ms"; + return `${delay + (index + offset) * 50}ms`; }; const createAnimatedNodes = (args: ReducedValue, word: string, index: number): ReducedValue => { @@ -122,10 +122,10 @@ const createAnimatedNodes = (args: ReducedValue, word: string, index: number): R "inline-block opacity-0 transition-all ease-in-out fill-mode-forwards", { // Determine the animation direction - ["animate-[reveal-down]"]: !isUp && !blur, - ["animate-[reveal-up]"]: isUp && !blur, - ["animate-[reveal-down,content-blur]"]: !isUp && blur, - ["animate-[reveal-up,content-blur]"]: isUp && blur, + "animate-[reveal-down]": !isUp && !blur, + "animate-[reveal-up]": isUp && !blur, + "animate-[reveal-down,content-blur]": !isUp && blur, + "animate-[reveal-up,content-blur]": isUp && blur, }, args.className, ); diff --git a/animata/widget/alarm-clock.stories.tsx b/animata/widget/alarm-clock.stories.tsx index 34f4a6cb..04420394 100644 --- a/animata/widget/alarm-clock.stories.tsx +++ b/animata/widget/alarm-clock.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import AlarmClock from "@/animata/widget/alarm-clock"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Alarm Clock", diff --git a/animata/widget/alarm-clock.tsx b/animata/widget/alarm-clock.tsx index 5e5c68f7..9593bfd8 100644 --- a/animata/widget/alarm-clock.tsx +++ b/animata/widget/alarm-clock.tsx @@ -1,7 +1,7 @@ "use client"; -import { useState } from "react"; import { AlarmClockIcon } from "lucide-react"; +import { useState } from "react"; import ToggleSwitch from "@/animata/button/toggle-switch"; import { cn } from "@/lib/utils"; diff --git a/animata/widget/battery-level.stories.tsx b/animata/widget/battery-level.stories.tsx index 89bacd9b..2f08bc0a 100644 --- a/animata/widget/battery-level.stories.tsx +++ b/animata/widget/battery-level.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import BatteryLevel from "@/animata/widget/battery-level"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Battery Level", diff --git a/animata/widget/battery.stories.tsx b/animata/widget/battery.stories.tsx index 19d75565..9f5e084b 100644 --- a/animata/widget/battery.stories.tsx +++ b/animata/widget/battery.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import Battery from "@/animata/widget/battery"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Battery", diff --git a/animata/widget/battery.tsx b/animata/widget/battery.tsx index 0cff3fe5..d85ee84a 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"; 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..4bb63582 100644 --- a/animata/widget/calendar-event.tsx +++ b/animata/widget/calendar-event.tsx @@ -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..ae5a3950 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 = [ "", 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/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/cycling.stories.tsx b/animata/widget/cycling.stories.tsx index c7fce879..5ab28e42 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", 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..8505848b 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"; diff --git a/animata/widget/direction-card.stories.tsx b/animata/widget/direction-card.stories.tsx index a8794915..6345a99d 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, diff --git a/animata/widget/direction-card.tsx b/animata/widget/direction-card.tsx index 0056e187..32a85388 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"; 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/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..c0fe8b6d 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(); 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..0a0001cd 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-gradient-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..77d852d2 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), }, }; }; 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..f3753cf4 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[] = [ 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..72b06cf9 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,7 +82,7 @@ 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" /> 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..65d9656d 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"; 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/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/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..f4f48bb3 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", 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-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..9205be2d 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 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([], { @@ -406,13 +400,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..57f5e575 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", diff --git a/animata/widget/vpn-widget.tsx b/animata/widget/vpn-widget.tsx index 4e0d179c..25aa6841 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"; 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..6395d1a8 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"; 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/weekly-progress.stories.tsx b/animata/widget/weekly-progress.stories.tsx index 3d06feec..93c7fbae 100644 --- a/animata/widget/weekly-progress.stories.tsx +++ b/animata/widget/weekly-progress.stories.tsx @@ -1,5 +1,5 @@ +import type { Meta, StoryObj } from "@storybook/react"; import WeeklyProgress from "@/animata/widget/weekly-progress"; -import { Meta, StoryObj } from "@storybook/react"; const meta = { title: "Widget/Weekly Progress", diff --git a/animata/widget/weekly-progress.tsx b/animata/widget/weekly-progress.tsx index 42348488..dd67cb8f 100644 --- a/animata/widget/weekly-progress.tsx +++ b/animata/widget/weekly-progress.tsx @@ -50,7 +50,7 @@ export default function WeeklyProgress() { attributeName="stroke-dashoffset" from="565.48" to="118.692" - dur={0.5 + index * 0.1 + "s"} + dur={`${0.5 + index * 0.1}s`} fill="freeze" /> </circle> @@ -67,7 +67,7 @@ export default function WeeklyProgress() { attributeName="opacity" from="0" to="1" - dur={0.5 + index * 0.1 + "s"} + dur={`${0.5 + index * 0.1}s`} fill="freeze" /> {day} diff --git a/app/_landing/call-to-action.tsx b/app/(main)/_landing/call-to-action.tsx similarity index 98% rename from app/_landing/call-to-action.tsx rename to app/(main)/_landing/call-to-action.tsx index 1848ba8b..cd396fd1 100644 --- a/app/_landing/call-to-action.tsx +++ b/app/(main)/_landing/call-to-action.tsx @@ -1,13 +1,12 @@ -import { useEffect, useRef, useState } from "react"; -import Link from "next/link"; -import { useInView } from "framer-motion"; +import { GitHubLogoIcon } from "@radix-ui/react-icons"; import { Navigation } from "lucide-react"; - +import { useInView } from "motion/react"; +import Link from "next/link"; +import { useEffect, useRef, useState } from "react"; import AnimatedGradientText from "@/animata/text/animated-gradient-text"; import GibberishText from "@/animata/text/gibberish-text"; import ComponentLinkWrapper from "@/components/component-link-wrapper"; import RemountOnMouseIn from "@/components/remount-on-mouse-in"; -import { GitHubLogoIcon } from "@radix-ui/react-icons"; export default function CallToActionSection() { const headerRef = useRef<HTMLHeadingElement>(null); diff --git a/app/_landing/faq-section.tsx b/app/(main)/_landing/faq-section.tsx similarity index 100% rename from app/_landing/faq-section.tsx rename to app/(main)/_landing/faq-section.tsx diff --git a/app/_landing/grid-view.tsx b/app/(main)/_landing/grid-view.tsx similarity index 87% rename from app/_landing/grid-view.tsx rename to app/(main)/_landing/grid-view.tsx index dbc85868..e674e14f 100644 --- a/app/_landing/grid-view.tsx +++ b/app/(main)/_landing/grid-view.tsx @@ -13,7 +13,7 @@ export default function GridView({ }) { const items = React.Children.toArray(children); return ( - <div className="container my-4 flex flex-col gap-4 md:flex-row"> + <div className="container mx-auto my-4 flex flex-col gap-4 md:flex-row"> {items.map((item, i) => ( <div key={i} diff --git a/app/_landing/hero-title.tsx b/app/(main)/_landing/hero-title.tsx similarity index 100% rename from app/_landing/hero-title.tsx rename to app/(main)/_landing/hero-title.tsx diff --git a/app/_landing/hero.tsx b/app/(main)/_landing/hero.tsx similarity index 98% rename from app/_landing/hero.tsx rename to app/(main)/_landing/hero.tsx index 23b1264e..cb26cfee 100644 --- a/app/_landing/hero.tsx +++ b/app/(main)/_landing/hero.tsx @@ -38,7 +38,7 @@ export default function Hero() { radial-gradient(at 66% 84%, hsla(89,66%,79%,1) 0px, transparent 50%)`, }} /> - <div className="container relative overflow-hidden py-16 md:py-48"> + <div className="container mx-auto relative overflow-hidden py-16 md:py-48"> <div className="relative mx-auto flex max-w-7xl flex-col items-center justify-center gap-8 px-4 md:flex-row"> <div className="flex flex-col items-center justify-center gap-2"> <HeroTitle /> diff --git a/app/_landing/highlight.tsx b/app/(main)/_landing/highlight.tsx similarity index 100% rename from app/_landing/highlight.tsx rename to app/(main)/_landing/highlight.tsx diff --git a/app/_landing/mode-switcher.tsx b/app/(main)/_landing/mode-switcher.tsx similarity index 96% rename from app/_landing/mode-switcher.tsx rename to app/(main)/_landing/mode-switcher.tsx index 120376ce..9e40df1e 100644 --- a/app/_landing/mode-switcher.tsx +++ b/app/(main)/_landing/mode-switcher.tsx @@ -1,6 +1,6 @@ -import { useTheme } from "next-themes"; -import { motion, useMotionValue, useSpring } from "framer-motion"; import { Cloud, MoonStar, Star, Sun } from "lucide-react"; +import { motion, useMotionValue, useSpring } from "motion/react"; +import { useTheme } from "next-themes"; export default function ModeSwitcher() { const { setTheme, resolvedTheme } = useTheme(); diff --git a/app/_landing/newsletter.tsx b/app/(main)/_landing/newsletter.tsx similarity index 98% rename from app/_landing/newsletter.tsx rename to app/(main)/_landing/newsletter.tsx index d1f70cb8..63ccefac 100644 --- a/app/_landing/newsletter.tsx +++ b/app/(main)/_landing/newsletter.tsx @@ -1,5 +1,5 @@ -import React from "react"; import { Loader2, Mail } from "lucide-react"; +import type React from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; diff --git a/app/_landing/section-one.tsx b/app/(main)/_landing/section-one.tsx similarity index 99% rename from app/_landing/section-one.tsx rename to app/(main)/_landing/section-one.tsx index 53ee4491..e3f59868 100644 --- a/app/_landing/section-one.tsx +++ b/app/(main)/_landing/section-one.tsx @@ -1,7 +1,7 @@ "use client"; -import React, { Suspense } from "react"; import { useTheme } from "next-themes"; +import React, { Suspense } from "react"; import GithubCardShiny from "@/animata/card/github-card-shiny"; import GithubCardSkew from "@/animata/card/github-card-skew"; @@ -9,8 +9,9 @@ import AnimatedBorderTrail from "@/animata/container/animated-border-trail"; import AnimatedGradientText from "@/animata/text/animated-gradient-text"; import MirrorText from "@/animata/text/mirror-text"; import TypingText from "@/animata/text/typing-text"; -import GridView from "@/app/_landing/grid-view"; +import GridView from "@/app/(main)/_landing/grid-view"; import { ComponentCard } from "@/components/component-card"; + const WidgetSection = React.lazy(() => import("./widget-section")); export default function SectionOne() { diff --git a/app/_landing/section-two.tsx b/app/(main)/_landing/section-two.tsx similarity index 97% rename from app/_landing/section-two.tsx rename to app/(main)/_landing/section-two.tsx index 106a3026..30fd434d 100644 --- a/app/_landing/section-two.tsx +++ b/app/(main)/_landing/section-two.tsx @@ -2,7 +2,7 @@ import AnimatedBeam from "@/animata/background/animated-beam"; import InteractiveGrid from "@/animata/background/interactive-grid"; import AnimatedGradientText from "@/animata/text/animated-gradient-text"; import SplitText from "@/animata/text/split-text"; -import GridView from "@/app/_landing/grid-view"; +import GridView from "@/app/(main)/_landing/grid-view"; import { ComponentCard } from "@/components/component-card"; import ComponentLinkWrapper from "@/components/component-link-wrapper"; diff --git a/app/_landing/skeleton-section.tsx b/app/(main)/_landing/skeleton-section.tsx similarity index 100% rename from app/_landing/skeleton-section.tsx rename to app/(main)/_landing/skeleton-section.tsx diff --git a/app/_landing/testimonials.tsx b/app/(main)/_landing/testimonials.tsx similarity index 98% rename from app/_landing/testimonials.tsx rename to app/(main)/_landing/testimonials.tsx index 66dee1a1..92abc0e1 100644 --- a/app/_landing/testimonials.tsx +++ b/app/(main)/_landing/testimonials.tsx @@ -1,7 +1,7 @@ -import { useRef } from "react"; -import { useTheme } from "next-themes"; -import { useInView } from "framer-motion"; import { Quote } from "lucide-react"; +import { useInView } from "motion/react"; +import { useTheme } from "next-themes"; +import { useRef } from "react"; import { cn } from "@/lib/utils"; diff --git a/app/_landing/thunder.tsx b/app/(main)/_landing/thunder.tsx similarity index 77% rename from app/_landing/thunder.tsx rename to app/(main)/_landing/thunder.tsx index f8b58a39..1bcaba76 100644 --- a/app/_landing/thunder.tsx +++ b/app/(main)/_landing/thunder.tsx @@ -23,10 +23,7 @@ export default function Thunder() { </mask> <g mask="url(#cs_mask_1_misc-4)"> <path fill="#fff" d="M200 0H0v200h200V0z"></path> - <path - fill="url(#paint0_linear_748_5038)" - d="M200 0H0v200h200V0z" - ></path> + <path fill="url(#paint0_linear_748_5038)" d="M200 0H0v200h200V0z"></path> <g filter="url(#filter0_f_748_5038)"> <path fill="#18A0FB" d="M216 79H96v135h120V79z"></path> </g> @@ -43,11 +40,7 @@ export default function Thunder() { filterUnits="userSpaceOnUse" > <feFlood floodOpacity="0" result="BackgroundImageFix"></feFlood> - <feBlend - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - ></feBlend> + <feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend> <feGaussianBlur result="effect1_foregroundBlur_748_5038" stdDeviation="31.25" @@ -85,24 +78,9 @@ export default function Thunder() { y="0%" filterUnits="objectBoundingBox" > - <feTurbulence - baseFrequency="0.6" - numOctaves="5" - result="out1" - seed="4" - ></feTurbulence> - <feComposite - in="out1" - in2="SourceGraphic" - operator="in" - result="out2" - ></feComposite> - <feBlend - in="SourceGraphic" - in2="out2" - mode="overlay" - result="out3" - ></feBlend> + <feTurbulence baseFrequency="0.6" numOctaves="5" result="out1" seed="4"></feTurbulence> + <feComposite in="out1" in2="SourceGraphic" operator="in" result="out2"></feComposite> + <feBlend in="SourceGraphic" in2="out2" mode="overlay" result="out3"></feBlend> </filter> </defs> </svg> diff --git a/app/_landing/widget-section.tsx b/app/(main)/_landing/widget-section.tsx similarity index 96% rename from app/_landing/widget-section.tsx rename to app/(main)/_landing/widget-section.tsx index 45daa64a..2bac6f82 100644 --- a/app/_landing/widget-section.tsx +++ b/app/(main)/_landing/widget-section.tsx @@ -1,7 +1,5 @@ "use client"; -import React from "react"; - import Marquee from "@/animata/container/marquee"; import BatteryLevel from "@/animata/widget/battery-level"; import ClockWithPhoto from "@/animata/widget/clock-with-photo"; diff --git a/app/blog/[[...slug]]/page.tsx b/app/(main)/blog/[[...slug]]/page.tsx similarity index 88% rename from app/blog/[[...slug]]/page.tsx rename to app/(main)/blog/[[...slug]]/page.tsx index e5a97450..fd638d31 100644 --- a/app/blog/[[...slug]]/page.tsx +++ b/app/(main)/blog/[[...slug]]/page.tsx @@ -1,10 +1,10 @@ +import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; -import { allBlogs, Doc } from "contentlayer/generated"; import Balancer from "react-wrap-balancer"; - -import NavMenu from "@/app/docs/[[...slug]]/nav-menu"; +import { blogs as allBlogs } from "#site/content"; +import NavMenu from "@/app/(main)/docs/[[...slug]]/nav-menu"; import { Mdx } from "@/components/mdx-components"; import { DocsPager } from "@/components/pager"; import { DashboardTableOfContents } from "@/components/toc"; @@ -14,18 +14,16 @@ import { blogSidebarNav } from "@/config/blog"; import { siteConfig } from "@/config/site"; import { getTableOfContents } from "@/lib/toc"; import { absoluteUrl, cn } from "@/lib/utils"; -import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import "@/styles/mdx.css"; -import "@/styles/storybook.css"; interface BlogPageProps { - params: { + params: Promise<{ slug: string[]; - }; + }>; } -async function getBlogFromParams({ params }: BlogPageProps) { +async function getBlogFromParams(params: { slug: string[] }) { const slug = params.slug?.join("/") || ""; const blog = allBlogs.find((doc) => doc.slugAsParams === slug); @@ -37,7 +35,8 @@ async function getBlogFromParams({ params }: BlogPageProps) { } export async function generateMetadata({ params }: BlogPageProps): Promise<Metadata> { - const blog = await getBlogFromParams({ params }); + const resolvedParams = await params; + const blog = await getBlogFromParams(resolvedParams); if (!blog) { return {}; @@ -70,20 +69,21 @@ export async function generateMetadata({ params }: BlogPageProps): Promise<Metad }; } -export async function generateStaticParams(): Promise<BlogPageProps["params"][]> { +export async function generateStaticParams() { return allBlogs.map((blog) => ({ slug: blog.slugAsParams.split("/"), })); } export default async function BlogPage({ params }: BlogPageProps) { - const blog = await getBlogFromParams({ params }); + const resolvedParams = await params; + const blog = await getBlogFromParams(resolvedParams); if (!blog) { notFound(); } - const toc = await getTableOfContents(blog.body.raw); + const toc = await getTableOfContents(blog.content); return ( <main className="relative py-6 lg:gap-10 lg:py-8 xl:grid xl:grid-cols-[1fr_150px]"> @@ -141,11 +141,11 @@ export default async function BlogPage({ params }: BlogPageProps) { </div> ) : null} <div className="pb-12"> - <Mdx code={blog.body.code} /> + <Mdx code={blog.body} filePath={`content/${blog.path}.mdx`} /> <div className="my-3 text-right"> <Link - href={`https://github.com/codse/animata/edit/main/content/docs/${blog.slugAsParams}.mdx`} + href={`https://github.com/codse/animata/edit/main/content/blog/${blog.slugAsParams}.mdx`} target="_blank" rel="noreferrer" className="text-sm text-secondary-foreground underline" @@ -154,7 +154,7 @@ export default async function BlogPage({ params }: BlogPageProps) { </Link> </div> </div> - <DocsPager doc={blog as unknown as Doc} /> + <DocsPager doc={blog} /> </div> {blog.toc && ( <div className="hidden text-sm xl:block"> diff --git a/app/blog/layout.tsx b/app/(main)/blog/layout.tsx similarity index 100% rename from app/blog/layout.tsx rename to app/(main)/blog/layout.tsx diff --git a/app/credits/page.tsx b/app/(main)/credits/page.tsx similarity index 65% rename from app/credits/page.tsx rename to app/(main)/credits/page.tsx index b2ee1b1a..c3a9397b 100644 --- a/app/credits/page.tsx +++ b/app/(main)/credits/page.tsx @@ -1,8 +1,4 @@ -import { - PageHeader, - PageHeaderDescription, - PageHeaderHeading, -} from "@/components/page-header"; +import { PageHeader, PageHeaderDescription, PageHeaderHeading } from "@/components/page-header"; export default function CreditsPage() { return ( @@ -10,8 +6,8 @@ export default function CreditsPage() { <PageHeader> <PageHeaderHeading>Inspiration</PageHeaderHeading> <PageHeaderDescription> - Beautifully designed components that you can copy and paste into your - apps. Accessible. Customizable. Open Source. + Beautifully designed components that you can copy and paste into your apps. Accessible. + Customizable. Open Source. </PageHeaderDescription> </PageHeader> </div> diff --git a/app/docs/[[...slug]]/nav-menu.tsx b/app/(main)/docs/[[...slug]]/nav-menu.tsx similarity index 97% rename from app/docs/[[...slug]]/nav-menu.tsx rename to app/(main)/docs/[[...slug]]/nav-menu.tsx index 810e6819..2de3be77 100644 --- a/app/docs/[[...slug]]/nav-menu.tsx +++ b/app/(main)/docs/[[...slug]]/nav-menu.tsx @@ -1,8 +1,8 @@ "use client"; -import { useState } from "react"; +import { Loader } from "lucide-react"; import Link from "next/link"; import { useRouter } from "next/navigation"; -import { Loader } from "lucide-react"; +import { useState } from "react"; import { Select, @@ -13,7 +13,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; -import { SidebarNavItem } from "@/types"; +import type { SidebarNavItem } from "@/types"; export default function NavMenu({ value, diff --git a/app/docs/[[...slug]]/page.tsx b/app/(main)/docs/[[...slug]]/page.tsx similarity index 90% rename from app/docs/[[...slug]]/page.tsx rename to app/(main)/docs/[[...slug]]/page.tsx index d344b1de..e626e4af 100644 --- a/app/docs/[[...slug]]/page.tsx +++ b/app/(main)/docs/[[...slug]]/page.tsx @@ -1,10 +1,10 @@ +import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; -import { allDocs } from "contentlayer/generated"; import Balancer from "react-wrap-balancer"; - -import NavMenu from "@/app/docs/[[...slug]]/nav-menu"; +import { docs as allDocs } from "#site/content"; +import NavMenu from "@/app/(main)/docs/[[...slug]]/nav-menu"; import CarbonAds from "@/components/ads"; import { Mdx } from "@/components/mdx-components"; import { DocsPager } from "@/components/pager"; @@ -15,17 +15,15 @@ import { docsConfig } from "@/config/docs"; import { siteConfig } from "@/config/site"; import { getTableOfContents } from "@/lib/toc"; import { absoluteUrl, cn } from "@/lib/utils"; -import { ChevronRightIcon, ExternalLinkIcon } from "@radix-ui/react-icons"; import "@/styles/mdx.css"; -import "@/styles/storybook.css"; interface DocPageProps { - params: { + params: Promise<{ slug: string[]; - }; + }>; } -async function getDocFromParams({ params }: DocPageProps) { +async function getDocFromParams(params: { slug: string[] }) { const slug = params.slug?.join("/") || ""; const doc = allDocs.find((doc) => doc.slugAsParams === slug); @@ -37,7 +35,8 @@ async function getDocFromParams({ params }: DocPageProps) { } export async function generateMetadata({ params }: DocPageProps): Promise<Metadata> { - const doc = await getDocFromParams({ params }); + const resolvedParams = await params; + const doc = await getDocFromParams(resolvedParams); if (!doc) { return {}; @@ -70,20 +69,21 @@ export async function generateMetadata({ params }: DocPageProps): Promise<Metada }; } -export async function generateStaticParams(): Promise<DocPageProps["params"][]> { +export async function generateStaticParams() { return allDocs.map((doc) => ({ slug: doc.slugAsParams.split("/"), })); } export default async function DocPage({ params }: DocPageProps) { - const doc = await getDocFromParams({ params }); + const resolvedParams = await params; + const doc = await getDocFromParams(resolvedParams); if (!doc) { notFound(); } - const toc = await getTableOfContents(doc.body.raw); + const toc = await getTableOfContents(doc.content); return ( <main className="relative py-6 lg:gap-10 lg:py-8 xl:grid xl:grid-cols-[1fr_150px]"> @@ -148,7 +148,7 @@ export default async function DocPage({ params }: DocPageProps) { <CarbonAds /> </div> <div className="pb-12"> - <Mdx code={doc.body.code} /> + <Mdx code={doc.body} filePath={`content/${doc.path}.mdx`} /> <div className="my-3 text-right"> <Link diff --git a/app/docs/layout.tsx b/app/(main)/docs/layout.tsx similarity index 100% rename from app/docs/layout.tsx rename to app/(main)/docs/layout.tsx diff --git a/app/(main)/layout.tsx b/app/(main)/layout.tsx new file mode 100644 index 00000000..b7fdb6c1 --- /dev/null +++ b/app/(main)/layout.tsx @@ -0,0 +1,23 @@ +import { CSPostHogProvider } from "@/app/(main)/providers"; +import { SiteFooter } from "@/components/site-footer"; +import { SiteHeader } from "@/components/site-header"; +import { TailwindIndicator } from "@/components/tailwind-indicator"; + +interface MainLayoutProps { + children: React.ReactNode; +} + +export default function MainLayout({ children }: MainLayoutProps) { + return ( + <CSPostHogProvider> + <div vaul-drawer-wrapper=""> + <div className="relative flex min-h-screen flex-col bg-background"> + <SiteHeader /> + <main className="flex-1">{children}</main> + <SiteFooter /> + </div> + </div> + <TailwindIndicator /> + </CSPostHogProvider> + ); +} diff --git a/app/page.tsx b/app/(main)/page.tsx similarity index 91% rename from app/page.tsx rename to app/(main)/page.tsx index 26349e90..f6ac3c56 100644 --- a/app/page.tsx +++ b/app/(main)/page.tsx @@ -1,9 +1,9 @@ "use client"; +import { useInView } from "motion/react"; import React, { Suspense } from "react"; -import { useInView } from "framer-motion"; -import SectionOne from "@/app/_landing/section-one"; +import SectionOne from "@/app/(main)/_landing/section-one"; import { cn } from "@/lib/utils"; import Hero from "./_landing/hero"; @@ -19,7 +19,7 @@ function LazySection({ className, }: { className?: string; - component: React.LazyExoticComponent<() => JSX.Element>; + component: React.LazyExoticComponent<() => React.JSX.Element>; }) { const divRef = React.useRef<HTMLDivElement>(null); const isInView = useInView(divRef, { diff --git a/app/providers.tsx b/app/(main)/providers.tsx similarity index 100% rename from app/providers.tsx rename to app/(main)/providers.tsx diff --git a/app/sitemap.ts b/app/(main)/sitemap.ts similarity index 74% rename from app/sitemap.ts rename to app/(main)/sitemap.ts index 948c9900..8acc7776 100644 --- a/app/sitemap.ts +++ b/app/(main)/sitemap.ts @@ -1,6 +1,8 @@ -import { MetadataRoute } from "next"; +import type { MetadataRoute } from "next"; -import { allDocs } from "@/.contentlayer/generated"; +import { docs as allDocs } from "#site/content"; + +export const dynamic = "force-static"; export default function sitemap(): MetadataRoute.Sitemap { const domain = process.env.NEXT_PUBLIC_APP_URL; diff --git a/app/layout.tsx b/app/layout.tsx index c3391775..df480938 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,10 +1,6 @@ -import { Metadata, Viewport } from "next"; +import type { Metadata, Viewport } from "next"; -import { CSPostHogProvider } from "@/app/providers"; import { ThemeProvider } from "@/components/providers"; -import { SiteFooter } from "@/components/site-footer"; -import { SiteHeader } from "@/components/site-header"; -import { TailwindIndicator } from "@/components/tailwind-indicator"; import { siteConfig } from "@/config/site"; import { cn } from "@/lib/utils"; @@ -78,29 +74,18 @@ interface RootLayoutProps { export default function RootLayout({ children }: RootLayoutProps) { return ( - <> - <html lang="en" suppressHydrationWarning> - <head /> - <CSPostHogProvider> - <body className={cn("min-h-screen bg-background font-sans antialiased")}> - <ThemeProvider - attribute="class" - defaultTheme="system" - enableSystem - disableTransitionOnChange - > - <div vaul-drawer-wrapper=""> - <div className="relative flex min-h-screen flex-col bg-background"> - <SiteHeader /> - <main className="flex-1">{children}</main> - <SiteFooter /> - </div> - </div> - <TailwindIndicator /> - </ThemeProvider> - </body> - </CSPostHogProvider> - </html> - </> + <html lang="en" suppressHydrationWarning> + <head /> + <body className={cn("min-h-screen bg-background font-sans antialiased")}> + <ThemeProvider + attribute="class" + defaultTheme="system" + enableSystem + disableTransitionOnChange + > + {children} + </ThemeProvider> + </body> + </html> ); } diff --git a/biome.json b/biome.json new file mode 100644 index 00000000..84e258e9 --- /dev/null +++ b/biome.json @@ -0,0 +1,79 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.4.6/schema.json", + "assist": { "actions": { "source": { "organizeImports": "on" } } }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "correctness": { + "noUnusedImports": "warn", + "noUnusedVariables": "warn", + "useHookAtTopLevel": "warn" + }, + "suspicious": { + "noExplicitAny": "warn", + "noArrayIndexKey": "warn", + "noDoubleEquals": "warn", + "noShadowRestrictedNames": "warn", + "noSelfCompare": "warn" + }, + "style": { + "noNonNullAssertion": "off", + "useTemplate": "warn" + }, + "complexity": { + "noUselessSwitchCase": "warn" + }, + "performance": { + "noImgElement": "warn" + }, + "a11y": { + "useAltText": "off", + "noStaticElementInteractions": "warn", + "useKeyWithClickEvents": "warn", + "useButtonType": "warn", + "useSemanticElements": "warn", + "noNoninteractiveElementToInteractiveRole": "warn", + "noSvgWithoutTitle": "warn", + "noLabelWithoutControl": "warn", + "noRedundantAlt": "warn", + "useKeyWithMouseEvents": "warn", + "useValidAnchor": "warn", + "useIframeTitle": "warn" + }, + "security": { + "noDangerouslySetInnerHtml": "warn" + } + } + }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "indentWidth": 2, + "lineWidth": 100 + }, + "javascript": { + "formatter": { + "quoteStyle": "double", + "trailingCommas": "all" + } + }, + "css": { + "parser": { + "cssModules": false, + "tailwindDirectives": true + } + }, + "files": { + "includes": [ + "**", + "!**/node_modules", + "!**/.next", + "!**/.velite", + "!**/out", + "!**/public/preview", + "!**/components/ui", + "!**/yarn.lock" + ] + } +} diff --git a/commitlint.config.cjs b/commitlint.config.cjs index 4fddd30b..44bac82a 100644 --- a/commitlint.config.cjs +++ b/commitlint.config.cjs @@ -4,18 +4,7 @@ module.exports = { "type-enum": [ 2, "always", - [ - "feat", - "fix", - "docs", - "chore", - "style", - "refactor", - "ci", - "test", - "revert", - "perf", - ], + ["feat", "fix", "docs", "chore", "style", "refactor", "ci", "test", "revert", "perf"], ], }, }; diff --git a/components.json b/components.json index d198b968..4a3d332d 100644 --- a/components.json +++ b/components.json @@ -4,7 +4,6 @@ "rsc": true, "tsx": true, "tailwind": { - "config": "tailwind.config.ts", "css": "styles/globals.css", "baseColor": "stone", "cssVariables": true, @@ -14,4 +13,4 @@ "components": "@/components", "utils": "@/lib/utils" } -} \ No newline at end of file +} diff --git a/components/ads.tsx b/components/ads.tsx index 9af71bad..8eb1021d 100644 --- a/components/ads.tsx +++ b/components/ads.tsx @@ -1,10 +1,10 @@ "use client"; -import { useEffect } from "react"; import { usePathname } from "next/navigation"; +import { useEffect } from "react"; export default function CarbonAds() { - const pathname = usePathname(); + const _pathname = usePathname(); useEffect(() => { // Skip loading ads in development environment @@ -28,11 +28,11 @@ export default function CarbonAds() { return () => { const existingScript = document.getElementById("_carbonads_js"); - if (existingScript && existingScript.parentNode) { + if (existingScript?.parentNode) { existingScript.parentNode.removeChild(existingScript); } }; - }, [pathname]); + }, []); return <div id="carbon-container" />; } diff --git a/components/code-block-wrapper.tsx b/components/code-block-wrapper.tsx index 5702cda7..3d8b3b83 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} @@ -41,7 +34,7 @@ export function CodeBlockWrapper({ <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" + 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..8e53178b 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(); diff --git a/components/component-card.tsx b/components/component-card.tsx index 3188cb8d..b1b219a4 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"; 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..9328dce0 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -1,11 +1,9 @@ "use client"; -import * as React from "react"; import { useTheme } from "next-themes"; +import * as 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> { @@ -16,40 +14,6 @@ interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> { 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); - - React.useEffect(() => { - if (codeRef.current?.textContent) { - setCodeString(codeRef.current?.textContent); - } - }, []); - - return ( - <> - <div - ref={codeRef} - className="w-full rounded-md [&_pre]:my-0 [&_pre]:max-h-[350px] [&_pre]:overflow-auto" - > - {children} - </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> - </div> - )} - </> - ); -} - export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { const [minHeight, setMinHeight] = React.useState<number>(350); @@ -67,18 +31,19 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview }; }, []); - 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 theme = + resolvedTheme ?? + (typeof localStorage !== "undefined" ? localStorage?.getItem?.("theme") : "") ?? + ""; + const themeParam = theme === "dark" ? "theme:dark" : "theme:light"; 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`, + minHeight: "200px", + height: `${Math.max(200, minHeight)}px`, }} > <React.Suspense @@ -90,10 +55,11 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview } > <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`} + src={`/preview/iframe.html?globals=${themeParam}&id=${name}&viewMode=docs&site:docs=true`} className="w-full" style={{ - height: `${Math.max(100, minHeight)}px`, + minHeight: "200px", + height: `${Math.max(200, minHeight)}px`, }} /> </React.Suspense> 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..cf33d14b 100644 --- a/components/mdx-components.tsx +++ b/components/mdx-components.tsx @@ -1,8 +1,14 @@ -"use client"; -import { ComponentProps, HTMLAttributes } from "react"; 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 from "rehype-pretty-code"; +import rehypeSlug from "rehype-slug"; +import { codeImport } from "remark-code-import"; +import remarkGfm from "remark-gfm"; +import type { NpmCommands, TouchCommands } from "types/unist"; +import { visit } from "unist-util-visit"; +import { VFile } from "vfile"; import Modal from "@/animata/overlay/modal"; import { Callout } from "@/components/callout"; @@ -11,12 +17,9 @@ import { ComponentExample } from "@/components/component-example"; import ComponentListItem from "@/components/component-list-item"; import { ComponentPreview } from "@/components/component-preview"; import { ComponentSource } from "@/components/component-source"; -import { - CopyButton, - CopyNpmCommandButton, - copyToClipboardWithMeta, - CopyTouchCommandButton, -} from "@/components/copy-button"; +import { CopyButton, CopyNpmCommandButton, CopyTouchCommandButton } from "@/components/copy-button"; +import { CopyProxy } from "@/components/copy-proxy"; +import { AnimataRenderer } from "@/components/dynamic-animata"; import { FrameworkDocs } from "@/components/framework-docs"; import PreviewContainer from "@/components/preview-container"; import { @@ -28,11 +31,76 @@ 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"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +const setupCodeSnippet = () => (tree: any) => { + visit(tree, (node: any) => { + if (node?.type === "element" && node?.tagName === "pre") { + const [codeEl] = node.children; + if (codeEl.tagName !== "code") { + return; + } + + if (codeEl.data?.meta) { + const regex = /event="([^"]*)"/; + const match = codeEl.data?.meta.match(regex); + if (match) { + node.__event__ = match[1]; + 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: any) => { + 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"); + } + } + } + }); +}; + const components = { Accordion, AccordionContent, @@ -66,14 +134,7 @@ const components = { } & NpmCommands & TouchCommands) => { if (__copyId__ && __rawString__) { - return ( - <div - id={`source-${__copyId__}`} - onClick={() => { - copyToClipboardWithMeta(__rawString__); - }} - /> - ); + return <CopyProxy id={`source-${__copyId__}`} value={__rawString__} />; } return ( @@ -205,27 +266,78 @@ 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, any> = {}; + for (const { name, subpath } of imports) { + resolved[name] = (props: any) => <AnimataRenderer subpath={subpath} {...props} />; + } + return resolved; +} + +const mdxOptions = { + remarkPlugins: [remarkGfm, codeImport], + rehypePlugins: [ + setupCodeSnippet, + rehypeSlug, + [ + rehypePrettyCode as any, + { + theme: "github-dark", + onVisitLine(node: any) { + 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, + ], +}; + +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 } as any} + options={{ mdxOptions: mdxOptions as any }} + /> </div> ); } diff --git a/components/mobile-nav.tsx b/components/mobile-nav.tsx index e0a0dd2f..11bfcdb4 100644 --- a/components/mobile-nav.tsx +++ b/components/mobile-nav.tsx @@ -1,8 +1,8 @@ "use client"; -import * as React from "react"; -import Link, { LinkProps } from "next/link"; +import Link, { type LinkProps } from "next/link"; import { useRouter } from "next/navigation"; +import * as React from "react"; import { Icons } from "@/components/icons"; import { Button } from "@/components/ui/button"; diff --git a/components/mode-toggle.tsx b/components/mode-toggle.tsx index c84ccc87..9e6d6303 100644 --- a/components/mode-toggle.tsx +++ b/components/mode-toggle.tsx @@ -1,7 +1,7 @@ "use client"; +import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; import { useTheme } from "next-themes"; - import HeaderDockItem from "@/components/header-dock-item"; import { DropdownMenu, @@ -9,7 +9,6 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; export function ModeToggle() { const { setTheme } = useTheme(); diff --git a/components/pager.tsx b/components/pager.tsx index 9a32d980..ca0853d2 100644 --- a/components/pager.tsx +++ b/components/pager.tsx @@ -1,14 +1,12 @@ +import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons"; import Link from "next/link"; -import { Doc } from "contentlayer/generated"; - import { buttonVariants } from "@/components/ui/button"; import { docsConfig } from "@/config/docs"; import { cn } from "@/lib/utils"; -import { NavItem, NavItemWithChildren } from "@/types"; -import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons"; +import type { NavItem, NavItemWithChildren } from "@/types"; interface DocsPagerProps { - doc: Doc; + doc: { slug: string }; } export function DocsPager({ doc }: DocsPagerProps) { @@ -39,7 +37,7 @@ export function DocsPager({ doc }: DocsPagerProps) { ); } -export function getPagerForDoc(doc: Doc) { +export function getPagerForDoc(doc: { slug: string }) { const flattenedLinks = [null, ...flatten(docsConfig.sidebarNav), null]; const activeIndex = flattenedLinks.findIndex((link) => doc.slug === link?.href); const prev = activeIndex !== 0 ? flattenedLinks[activeIndex - 1] : null; diff --git a/components/providers.tsx b/components/providers.tsx index 5f9a332f..939b8e55 100644 --- a/components/providers.tsx +++ b/components/providers.tsx @@ -1,16 +1,13 @@ -"use client" +"use client"; -import { ThemeProvider as NextThemesProvider } from "next-themes" -import { ThemeProviderProps } from "next-themes/dist/types" +import { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from "next-themes"; -import { TooltipProvider } from "@/components/ui/tooltip" +import { TooltipProvider } from "@/components/ui/tooltip"; export function ThemeProvider({ children, ...props }: ThemeProviderProps) { return ( - <> - <NextThemesProvider {...props}> - <TooltipProvider delayDuration={0}>{children}</TooltipProvider> - </NextThemesProvider> - </> - ) + <NextThemesProvider {...props}> + <TooltipProvider delayDuration={0}>{children}</TooltipProvider> + </NextThemesProvider> + ); } diff --git a/components/reload-button.tsx b/components/reload-button.tsx index 3539a06f..b1ce3cdb 100644 --- a/components/reload-button.tsx +++ b/components/reload-button.tsx @@ -2,7 +2,7 @@ import { RotateCwIcon } from "lucide-react"; -import { Button, ButtonProps } from "@/components/ui/button"; +import { Button, type ButtonProps } from "@/components/ui/button"; import { cn } from "@/lib/utils"; export function ReloadButton({ className, variant = "secondary", ...props }: ButtonProps) { diff --git a/components/remount-on-mouse-in.tsx b/components/remount-on-mouse-in.tsx index 455a59ba..6015bbf3 100644 --- a/components/remount-on-mouse-in.tsx +++ b/components/remount-on-mouse-in.tsx @@ -1,4 +1,4 @@ -import { Fragment, ReactNode, useRef, useState } from "react"; +import { Fragment, type ReactNode, useRef, useState } from "react"; export default function RemountOnMouseIn({ children, diff --git a/components/sidebar-nav.tsx b/components/sidebar-nav.tsx index 164f9086..8679787c 100644 --- a/components/sidebar-nav.tsx +++ b/components/sidebar-nav.tsx @@ -1,12 +1,12 @@ "use client"; -import { useEffect, useState } from "react"; +import { ChevronDown } from "lucide-react"; import Link from "next/link"; import { usePathname } from "next/navigation"; -import { ChevronDown } from "lucide-react"; +import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; -import { SidebarNavItem } from "@/types"; +import type { SidebarNavItem } from "@/types"; import { Icons } from "./icons"; @@ -22,7 +22,7 @@ export function DocsSidebarNav({ items }: DocsSidebarNavProps) { setClosed((current) => { const next = new Set(current); // Open the current section if one of the child pages is active - const path = "/docs/" + pathname.split("/")[1]; + const path = `/docs/${pathname.split("/")[1]}`; if (next.has(path)) { next.delete(path); } diff --git a/components/site-footer.tsx b/components/site-footer.tsx index 56fbf66a..c9aa24c7 100644 --- a/components/site-footer.tsx +++ b/components/site-footer.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { usePathname } from "next/navigation"; -import NewsletterSection from "@/app/_landing/newsletter"; +import NewsletterSection from "@/app/(main)/_landing/newsletter"; import { Icons } from "@/components/icons"; import { cn } from "@/lib/utils"; diff --git a/components/site-header.tsx b/components/site-header.tsx index 80fa9ac6..5ccfc6ef 100644 --- a/components/site-header.tsx +++ b/components/site-header.tsx @@ -1,9 +1,9 @@ "use client"; -import { useRef } from "react"; +import { CodeIcon } from "lucide-react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { useTheme } from "next-themes"; -import { CodeIcon } from "lucide-react"; +import { useRef } from "react"; import AnimatedBorderTrail from "@/animata/container/animated-border-trail"; import { CommandMenu } from "@/components/command-menu"; 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/config/blog.ts b/config/blog.ts index ad55bd7b..714e6925 100644 --- a/config/blog.ts +++ b/config/blog.ts @@ -1,6 +1,6 @@ -import { allBlogs } from "contentlayer/generated"; +import { blogs as allBlogs } from "#site/content"; -import { SidebarNavItem } from "@/types"; +import type { SidebarNavItem } from "@/types"; interface BlogPost extends SidebarNavItem { date: Date; diff --git a/config/docs.ts b/config/docs.ts index 034ca70b..ed99385b 100644 --- a/config/docs.ts +++ b/config/docs.ts @@ -1,6 +1,6 @@ -import { allDocs } from "contentlayer/generated"; +import { docs as allDocs } from "#site/content"; -import { MainNavItem, SidebarNavItem } from "@/types"; +import type { MainNavItem, SidebarNavItem } from "@/types"; interface DocsConfig { mainNav: MainNavItem[]; @@ -140,21 +140,21 @@ const sidebarNav: SidebarNavItem[] = [ { icon: "button", title: "Button", - label: -1 + createLinks("button").length + "", + label: `${-1 + createLinks("button").length}`, href: "/docs/button", items: createLinks("button"), }, { icon: "widget", title: "Widget", - label: -1 + createLinks("widget").length + "", + label: `${-1 + createLinks("widget").length}`, href: "/docs/widget", items: createLinks("widget"), }, { icon: "bento", title: "Bento grid", - label: -1 + createLinks("bento-grid").length + "", + label: `${-1 + createLinks("bento-grid").length}`, href: "/docs/bento-grid", items: createLinks("bento-grid"), }, diff --git a/content/docs/card/fluid-tabs.mdx b/content/docs/card/fluid-tabs.mdx index df593bb5..d314e112 100644 --- a/content/docs/card/fluid-tabs.mdx +++ b/content/docs/card/fluid-tabs.mdx @@ -4,7 +4,7 @@ description: The component is a sliding animation card author: RudraSankha --- -<ComponentPreview name="tabs-fluid-tabs--primary" /> +<ComponentPreview name="card-fluid-tabs--docs" /> ## Installation diff --git a/contentlayer.config.ts b/contentlayer.config.ts deleted file mode 100644 index d3cd607e..00000000 --- a/contentlayer.config.ts +++ /dev/null @@ -1,252 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -// contentlayer.config.ts -import { - ComputedFields, - defineDocumentType, - defineNestedType, - makeSource, -} from "contentlayer/source-files"; -import fs from "node:fs"; -import rehypeAutolinkHeadings from "rehype-autolink-headings"; -import rehypePrettyCode from "rehype-pretty-code"; -import rehypeSlug from "rehype-slug"; -import { codeImport } from "remark-code-import"; -import remarkGfm from "remark-gfm"; -import { BlogPosting, WithContext } from "schema-dts"; -import { visit } from "unist-util-visit"; - -const computedFields: ComputedFields = { - url: { - type: "string", - resolve: (post: any) => `/${post._raw.flattenedPath}`, - }, - image: { - type: "string", - resolve: (post: any) => `/api/og?title=${encodeURI(post.title)}`, - }, - slug: { - type: "string", - resolve: (doc: any) => `/${doc._raw.flattenedPath}`, - }, - slugAsParams: { - type: "string", - resolve: (doc: any) => doc._raw.flattenedPath.split("/").slice(1).join("/"), - }, - dateModified: { - type: "date", - resolve: (doc: any) => doc.date ?? fs.statSync("content/" + doc._raw.sourceFilePath).mtime, - }, - structuredData: { - type: "json", - resolve: (doc: any) => - ({ - "@context": "https://schema.org", - "@type": "BlogPosting", - headline: doc.title, - datePublished: doc.date, - dateModified: doc.date, - description: doc.summary || doc.description, - image: doc.image, - url: `https://animata.design/${doc._raw.flattenedPath}`, - author: { - "@type": "Person", - name: doc.author, - url: `https://twitter.com/${doc.author}`, - }, - }) as WithContext<BlogPosting>, - }, -}; - -const LinksProperties = defineNestedType(() => ({ - name: "LinksProperties", - fields: { - doc: { - type: "string", - }, - api: { - type: "string", - }, - }, -})); - -export const Doc = defineDocumentType(() => ({ - name: "Doc", - filePathPattern: "docs/**/*.mdx", - contentType: "mdx", - fields: { - title: { - type: "string", - required: true, - }, - description: { - type: "string", - required: true, - }, - date: { type: "date", required: false }, - published: { - type: "boolean", - default: true, - }, - links: { - type: "nested", - of: LinksProperties, - }, - featured: { - type: "boolean", - default: false, - required: false, - }, - toc: { type: "boolean", default: true, required: false }, - author: { type: "string", required: false }, - video: { type: "string", required: false }, - labels: { type: "list", of: { type: "string" }, required: false }, - dateModified: { type: "date", required: false }, - }, - computedFields, -})); - -export const Blog = defineDocumentType(() => ({ - name: "Blog", - filePathPattern: "blog/**/*.mdx", - contentType: "mdx", - fields: { - title: { - type: "string", - required: true, - }, - description: { - type: "string", - required: true, - }, - date: { type: "date", required: false }, - published: { - type: "boolean", - default: true, - }, - links: { - type: "nested", - of: LinksProperties, - }, - featured: { - type: "boolean", - default: false, - required: false, - }, - toc: { type: "boolean", default: true, required: false }, - author: { type: "string", required: false }, - video: { type: "string", required: false }, - labels: { type: "list", of: { type: "string" }, required: false }, - dateModified: { type: "date", required: false }, - }, - computedFields, -})); - -const setupCodeSnippet = () => (tree: any) => { - visit(tree, (node) => { - if (node?.type === "element" && node?.tagName === "pre") { - const [codeEl] = node.children; - if (codeEl.tagName !== "code") { - return; - } - - if (codeEl.data?.meta) { - // Extract event from meta and pass it down the tree. - const regex = /event="([^"]*)"/; - const match = codeEl.data?.meta.match(regex); - if (match) { - node.__event__ = match ? match[1] : null; - codeEl.data.meta = codeEl.data.meta.replace(regex, ""); - } - - const copyId = codeEl.data?.meta.match(/copyId="([^"]*)"/); - if (copyId) { - node.__copyId__ = copyId[1]; - } - } - - node.__rawString__ = codeEl.children?.[0].value; - } - }); -}; - -const postProcess = () => (tree: any) => { - visit(tree, "element", (node) => { - if (node.__rawString__) { - if (node.tagName !== "pre") { - const [pre] = node.children; - if (pre.tagName !== "pre") { - return; - } - pre.properties.__copyId__ = node.__copyId__; - pre.properties.__rawString__ = node.__rawString__; - Reflect.deleteProperty(node, "__rawString__"); - Reflect.deleteProperty(node, "__copyId__"); - - if (pre.properties?.["__rawString__"]?.startsWith("mkdir")) { - const path = pre.properties?.["__rawString__"].split(" ").pop(); - if (!path) { - return; - } - - const filename = path.split("/").pop() ?? ""; - const dir = path.replace("/" + filename, ""); - pre.properties["__windows__"] = `mkdir "${dir}" && type null > ${path}`; - pre.properties["__unix__"] = `mkdir -p ${dir} && touch ${path}`; - } - - if (pre.properties?.["__rawString__"]?.startsWith("npm install")) { - const npmCommand = pre.properties?.["__rawString__"]; - pre.properties["__npmCommand__"] = npmCommand; - pre.properties["__yarnCommand__"] = npmCommand.replace("npm install", "yarn add"); - pre.properties["__pnpmCommand__"] = npmCommand.replace("npm install", "pnpm add"); - pre.properties["__bunCommand__"] = npmCommand.replace("npm install", "bun add"); - } - } - } - }); -}; - -export default makeSource({ - contentDirPath: "./content", - documentTypes: [Doc, Blog], - mdx: { - remarkPlugins: [remarkGfm, codeImport], - rehypePlugins: [ - setupCodeSnippet, - rehypeSlug, - [ - // @ts-expect-error - `rehypePrettyCode` is not typed - rehypePrettyCode, - { - theme: "github-dark", - onVisitLine(node: any) { - // Prevent lines from collapsing in `display: grid` mode, and allow empty - // lines to be copy/pasted - if (node.children.length === 0) { - node.children = [{ type: "text", value: " " }]; - } - if (!node.properties.className) { - node.properties.className = ["line"]; - } - }, - onVisitHighlightedLine(node: any) { - node.properties.className.push("line--highlighted"); - }, - onVisitHighlightedWord(node: any) { - node.properties.className = ["word--highlighted"]; - }, - }, - ], - [ - rehypeAutolinkHeadings, - { - properties: { - className: ["anchor"], - ariaLabel: "Link to section", - }, - }, - ], - postProcess, - ], - }, -}); diff --git a/hooks/use-lock-body.ts b/hooks/use-lock-body.ts index 3544a1b7..a5990691 100644 --- a/hooks/use-lock-body.ts +++ b/hooks/use-lock-body.ts @@ -1,12 +1,10 @@ -import * as React from "react" +import * as React from "react"; // @see https://usehooks.com/useLockBodyScroll. export function useLockBody() { React.useLayoutEffect((): (() => void) => { - const originalStyle: string = window.getComputedStyle( - document.body - ).overflow - document.body.style.overflow = "hidden" - return () => (document.body.style.overflow = originalStyle) - }, []) + const originalStyle: string = window.getComputedStyle(document.body).overflow; + document.body.style.overflow = "hidden"; + return () => (document.body.style.overflow = originalStyle); + }, []); } diff --git a/hooks/use-media-query.ts b/hooks/use-media-query.ts index 95e552cd..7ac3915a 100644 --- a/hooks/use-media-query.ts +++ b/hooks/use-media-query.ts @@ -1,19 +1,19 @@ -import * as React from "react" +import * as React from "react"; export function useMediaQuery(query: string) { - const [value, setValue] = React.useState(false) + const [value, setValue] = React.useState(false); React.useEffect(() => { function onChange(event: MediaQueryListEvent) { - setValue(event.matches) + setValue(event.matches); } - const result = matchMedia(query) - result.addEventListener("change", onChange) - setValue(result.matches) + const result = matchMedia(query); + result.addEventListener("change", onChange); + setValue(result.matches); - return () => result.removeEventListener("change", onChange) - }, [query]) + return () => result.removeEventListener("change", onChange); + }, [query]); - return value + return value; } diff --git a/hooks/use-mounted.ts b/hooks/use-mounted.ts index 3a20c62a..57bb851e 100644 --- a/hooks/use-mounted.ts +++ b/hooks/use-mounted.ts @@ -1,11 +1,11 @@ -import * as React from "react" +import * as React from "react"; export function useMounted() { - const [mounted, setMounted] = React.useState(false) + const [mounted, setMounted] = React.useState(false); React.useEffect(() => { - setMounted(true) - }, []) + setMounted(true); + }, []); - return mounted + return mounted; } diff --git a/hooks/use-mouse-position.ts b/hooks/use-mouse-position.ts index 187c063f..179d8a2f 100644 --- a/hooks/use-mouse-position.ts +++ b/hooks/use-mouse-position.ts @@ -1,7 +1,7 @@ import { useEffect } from "react"; export function useMousePosition( - ref: React.RefObject<HTMLElement>, + ref: React.RefObject<HTMLElement | null>, callback?: ({ x, y }: { x: number; y: number }) => void, ) { useEffect(() => { diff --git a/hooks/use-mutation-observer.ts b/hooks/use-mutation-observer.ts index ad9b7ec7..a29ebf1a 100644 --- a/hooks/use-mutation-observer.ts +++ b/hooks/use-mutation-observer.ts @@ -1,20 +1,20 @@ -import * as React from "react" +import * as React from "react"; export const useMutationObserver = ( - ref: React.MutableRefObject<HTMLElement | null>, + ref: React.RefObject<HTMLElement | null>, callback: MutationCallback, options = { attributes: true, characterData: true, childList: true, subtree: true, - } + }, ) => { React.useEffect(() => { if (ref.current) { - const observer = new MutationObserver(callback) - observer.observe(ref.current, options) - return () => observer.disconnect() + const observer = new MutationObserver(callback); + observer.observe(ref.current, options); + return () => observer.disconnect(); } - }, [ref, callback, options]) -} + }, [ref, callback, options]); +}; diff --git a/lib/toc.ts b/lib/toc.ts index 6b567b4b..22e5f79d 100644 --- a/lib/toc.ts +++ b/lib/toc.ts @@ -71,5 +71,5 @@ export type TableOfContents = Items; export async function getTableOfContents(content: string): Promise<TableOfContents> { const result = await remark().use(getToc).process(content); - return result.data; + return result.data as unknown as Items; } diff --git a/next.config.mjs b/next.config.mjs index 0965033c..bd6942b0 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,13 +1,30 @@ -import { withContentlayer } from "next-contentlayer"; - /** @type {import('next').NextConfig} */ const nextConfig = { - output: "export", // Enable static exports + output: "export", reactStrictMode: true, - swcMinify: true, images: { unoptimized: true, }, + // Turbopack config (Next.js 16 default) + turbopack: {}, + // Webpack config (velite plugin) + webpack: (config) => { + config.plugins.push(new VeliteWebpackPlugin()); + return config; + }, }; -export default withContentlayer(nextConfig); +class VeliteWebpackPlugin { + static started = false; + apply(/** @type {import('webpack').Compiler} */ compiler) { + compiler.hooks.beforeCompile.tapPromise("VeliteWebpackPlugin", async () => { + if (VeliteWebpackPlugin.started) return; + VeliteWebpackPlugin.started = true; + const dev = compiler.options.mode === "development"; + const { build } = await import("velite"); + await build({ watch: dev, clean: !dev }); + }); + } +} + +export default nextConfig; diff --git a/package.json b/package.json index 3fb0b1ec..429baddc 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,16 @@ { "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": "next dev", + "build": "next build --webpack", "start": "next start", - "lint": "npx eslint .", - "storybook": "storybook dev -p 6006 --no-open", + "lint": "biome check .", + "lint:fix": "biome check --fix .", + "format": "biome format --write .", + "storybook": "storybook dev -p 6006", "storybook:build": "storybook build -o public/preview", "animata:new": "node ./scripts/create-new.js", "postinstall": "yarn prepare", @@ -17,19 +19,19 @@ }, "dependencies": { "@emotion/is-prop-valid": "^1.2.2", - "@radix-ui/react-accordion": "^1.1.2", - "@radix-ui/react-alert-dialog": "^1.0.5", - "@radix-ui/react-aspect-ratio": "^1.0.3", - "@radix-ui/react-collapsible": "^1.0.3", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/react-scroll-area": "^1.0.5", - "@radix-ui/react-select": "^2.0.0", - "@radix-ui/react-separator": "^1.0.3", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-tooltip": "^1.0.7", + "@radix-ui/react-accordion": "^1.2.3", + "@radix-ui/react-alert-dialog": "^1.1.6", + "@radix-ui/react-aspect-ratio": "^1.1.2", + "@radix-ui/react-collapsible": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-icons": "^1.3.2", + "@radix-ui/react-scroll-area": "^1.2.3", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-tabs": "^1.1.3", + "@radix-ui/react-tooltip": "^1.1.8", "@rehype-pretty/transformers": "^0.13.2", "@tsparticles/engine": "^3.5.0", "@tsparticles/react": "^3.0.0", @@ -38,90 +40,64 @@ "clsx": "^2.1.1", "cmdk": "^1.0.0", "commander": "^12.1.0", - "contentlayer": "^0.3.4", "date-fns": "^3.6.0", - "framer-motion": "^11.2.10", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.startcase": "^4.4.0", - "lucide-react": "^0.390.0", + "lucide-react": "^0.475.0", "mdast-util-toc": "^7.1.0", - "next": "16.1.5", - "next-contentlayer": "^0.3.4", - "next-themes": "^0.3.0", + "motion": "^12.0.0", + "next": "^16.1.5", + "next-mdx-remote": "^6.0.0", + "next-themes": "^0.4.6", "ora": "^8.0.1", - "posthog-js": "^1.141.4", + "posthog-js": "^1.225.0", "prompts": "^2.4.2", - "react": "^18", - "react-dom": "^18", + "react": "^19", + "react-dom": "^19", "react-wrap-balancer": "^1.1.1", "rehype-autolink-headings": "^7.1.0", - "rehype-pretty-code": "^0.13.2", + "rehype-pretty-code": "^0.14.0", "rehype-slug": "^6.0.0", "remark": "^15.0.1", "remark-code-import": "^1.2.0", - "remark-gfm": "3", + "remark-gfm": "^4.0.0", "schema-dts": "^1.1.2", - "shiki": "^1.6.2", - "tailwind-merge": "^2.3.0", - "tailwindcss-animate": "^1.0.7", + "shiki": "^3.0.0", + "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-themes": "^10.2.15", + "@storybook/nextjs": "^10.2.15", + "@storybook/react": "^10.2.15", + "@tailwindcss/postcss": "^4.1.0", "@types/lodash.camelcase": "^4", "@types/lodash.kebabcase": "^4", "@types/lodash.startcase": "^4", - "@types/node": "^20", + "@types/node": "^22", "@types/prompts": "^2", - "@types/react": "^18", - "@types/react-dom": "^18", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "concurrently": "^8.2.2", - "eslint": "^8", - "eslint-config-next": "14.2.3", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.3", - "eslint-plugin-simple-import-sort": "^12.1.0", - "eslint-plugin-storybook": "^0.8.0", - "eslint-plugin-unused-imports": "^4.0.0", + "@types/react": "^19", + "@types/react-dom": "^19", "husky": "^9.0.11", "lint-staged": "^15.2.7", - "postcss": "^8", - "prettier": "^3.3.2", - "prettier-plugin-tailwindcss": "^0.6.5", - "react-docgen": "^7.0.3", - "storybook": "^8.6.15", - "storybook-dark-mode": "^4.0.1", - "tailwindcss": "^3.4.1", + "storybook": "^10.2.15", + "tailwindcss": "^4.1.0", "typescript": "^5", "wrangler": "^3.114.17" }, "packageManager": "yarn@4.2.2", "lint-staged": { - "**/*.{js,jsx,ts,tsx}": [ - "eslint --max-warnings=0", - "prettier --write" - ], - "**/*.{html,json,css,scss,md,mdx}": [ - "prettier -w" + "**/*.{js,jsx,ts,tsx,json,css,md,mdx}": [ + "biome check --fix --no-errors-on-unmatched" ] } } diff --git a/postcss.config.mjs b/postcss.config.mjs index 1a69fd2a..79bcf135 100644 --- a/postcss.config.mjs +++ b/postcss.config.mjs @@ -1,7 +1,7 @@ /** @type {import('postcss-load-config').Config} */ const config = { plugins: { - tailwindcss: {}, + "@tailwindcss/postcss": {}, }, }; diff --git a/public/site.webmanifest b/public/site.webmanifest index ab96c350..949b350a 100644 --- a/public/site.webmanifest +++ b/public/site.webmanifest @@ -23,4 +23,4 @@ "short_name": "animata", "start_url": "https://animata.design", "scope": "https://animata.design" -} \ No newline at end of file +} diff --git a/scripts/create-new.js b/scripts/create-new.js index e583c7b5..41450450 100644 --- a/scripts/create-new.js +++ b/scripts/create-new.js @@ -1,5 +1,5 @@ +import fs from "node:fs"; import chalk from "chalk"; -import fs from "fs"; import camelCase from "lodash.camelcase"; import kebabCase from "lodash.kebabcase"; import startCase from "lodash.startcase"; diff --git a/styles/globals.css b/styles/globals.css index 04193dd4..42797e84 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -1,8 +1,399 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import "tailwindcss"; +@import "tw-animate-css"; + +@custom-variant dark (&:where(.dark, .dark *)); + +@utility container { + width: 100%; + margin-inline: auto; + padding-inline: 1rem; + @media (width >= 640px) { + max-width: 640px; + } + @media (width >= 768px) { + max-width: 768px; + } + @media (width >= 1024px) { + max-width: 1024px; + } + @media (width >= 1280px) { + max-width: 1280px; + } +} + +@theme { + --color-border: hsl(var(--border)); + --color-input: hsl(var(--input)); + --color-ring: hsl(var(--ring)); + --color-background: hsl(var(--background)); + --color-foreground: hsl(var(--foreground)); + + --color-primary: hsl(var(--primary)); + --color-primary-foreground: hsl(var(--primary-foreground)); + + --color-secondary: hsl(var(--secondary)); + --color-secondary-foreground: hsl(var(--secondary-foreground)); + + --color-destructive: hsl(var(--destructive)); + --color-destructive-foreground: hsl(var(--destructive-foreground)); + + --color-muted: hsl(var(--muted)); + --color-muted-foreground: hsl(var(--muted-foreground)); + + --color-accent: hsl(var(--accent)); + --color-accent-foreground: hsl(var(--accent-foreground)); + + --color-popover: hsl(var(--popover)); + --color-popover-foreground: hsl(var(--popover-foreground)); + + --color-card: hsl(var(--card)); + --color-card-foreground: hsl(var(--card-foreground)); + + --radius-lg: var(--radius); + --radius-md: calc(var(--radius) - 2px); + --radius-sm: calc(var(--radius) - 4px); + + --shadow-glow: + 0 0 20px rgba(255, 204, 112, 0.7), 0 0 40px rgba(200, 80, 192, 0.5), + 0 0 60px rgba(65, 88, 208, 0.3); + --shadow-glow2: + 0 0 20px rgba(50, 255, 50, 0.7), 0 0 40px rgba(20, 200, 20, 0.5), 0 0 60px rgba(5, 150, 5, 0.3); + + --background-image-striped: repeating-linear-gradient( + 45deg, + #3b3a3d 0px, + #3b3a3d 5px, + transparent 5px, + transparent 20px + ); + --background-image-custom-gradient: linear-gradient( + to left, + rgba(136, 127, 242, 0.7) 0%, + transparent 100% + ); + + --transition-timing-function-slow: cubic-bezier(0.405, 0, 0.025, 1); + --transition-timing-function-minor-spring: cubic-bezier(0.76, 0.34, 0.38, 1.64); + + --transition-duration-mid: 3s; + --transition-duration-long: 10s; + + --cursor-sword: url("/cursor.png"), default; + + --animate-fill: fill 1s forwards; + --animate-accordion-down: accordion-down 0.2s ease-out; + --animate-accordion-up: accordion-up 0.2s ease-out; + --animate-marquee-horizontal: marquee-x var(--duration) infinite linear; + --animate-marquee-vertical: marquee-y var(--duration) linear infinite; + --animate-bg-position: bg-position 3s infinite alternate; + --animate-pop-blob: pop-blob 4s infinite; + --animate-flip-words: flip-words 8s infinite; + --animate-fadeIn: fadeIn 0.5s ease-in; + --animate-blink-red: blink-red 2s infinite linear; + --animate-sparkle: sparkle 2s ease-in-out infinite; + --animate-meteor: meteor var(--duration) var(--delay) ease-in-out infinite; + --animate-trail: trail var(--duration) linear infinite; + --animate-led: led 100ms ease-in-out; + --animate-float: float 3s ease-in-out 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 trail { + 0% { + --angle: 0deg; + } + 100% { + --angle: 360deg; + } + } + + @keyframes led { + 0% { + fill: currentColor; + brightness: 1; + } + 50% { + fill: #a855f7; + brightness: 500%; + } + 100% { + fill: currentColor; + brightness: 1; + } + } + + @keyframes glitch { + 0% { + color: #fff; + text-shadow: + 2px 2px 0px #00ffff, + -2px -2px 0px #ff00ff; + } + 25% { + color: #00ffff; + text-shadow: + -2px -2px 0px #fff, + 2px 2px 0px #ff00ff; + } + 50% { + color: #ff00ff; + text-shadow: + 2px -2px 0px #00ffff, + -2px 2px 0px #fff; + } + 75% { + color: #eee; + text-shadow: + -2px 2px 0px #ff00ff, + 2px -2px 0px #00ffff; + } + 100% { + color: #fff; + text-shadow: + 2px 2px 0px #00ffff, + -2px -2px 0px #ff00ff; + } + } + + @keyframes twinkle { + 0% { + opacity: 0; + } + 50% { + opacity: 1; + } + 100% { + opacity: 0; + } + } + + @keyframes float { + 0%, + 100% { + transform: translateY(0); + } + 50% { + transform: translateY(-40px); + } + } +} @layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } + :root { --background: 0 0% 98%; --foreground: 240 10% 3.9%; @@ -50,8 +441,8 @@ } .preview-light { - background-image: radial-gradient(#efefef 1px, transparent 1px), - radial-gradient(#efefef 1px, transparent 1px); + background-image: + radial-gradient(#efefef 1px, transparent 1px), radial-gradient(#efefef 1px, transparent 1px); background-size: 20px 20px; background-position: 0 0, @@ -60,8 +451,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,23 +460,24 @@ } .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 { 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 deleted file mode 100644 index 5e43cfe7..00000000 --- a/styles/storybook.css +++ /dev/null @@ -1,69 +0,0 @@ -/** Fix/improve storybook styles for embedding */ -.sbdocs-wrapper { - @apply !p-0 font-sans; - display: block !important; - min-height: unset !important; - - .sbdocs-content { - @apply !p-0; - } -} - -.sb-preparing-docs { - @apply !p-0; -} - -.sb-previewBlock, -.sb-argstableBlock { - @apply !mx-auto; - 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; */ - } - } -} - -.sbdocs-preview > div > div { - @apply overflow-hidden; -} diff --git a/tailwind.config.ts b/tailwind.config.ts deleted file mode 100644 index 930d8ab5..00000000 --- a/tailwind.config.ts +++ /dev/null @@ -1,240 +0,0 @@ -import type { Config } from "tailwindcss"; - -const config = { - darkMode: ["class"], - content: ["./animata/**/*.{ts,tsx}", "./app/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}"], - prefix: "", - theme: { - container: { - center: true, - padding: "2rem", - screens: { - "2xl": "1400px", - }, - }, - extend: { - backgroundImage: { - striped: - "repeating-linear-gradient(45deg, #3B3A3D 0px, #3B3A3D 5px, transparent 5px, transparent 20px)", - "custom-gradient": "linear-gradient(to left, rgba(136,127,242,0.7) 0%, transparent 100%)", - }, - colors: { - border: "hsl(var(--border))", - input: "hsl(var(--input))", - ring: "hsl(var(--ring))", - background: "hsl(var(--background))", - foreground: "hsl(var(--foreground))", - primary: { - DEFAULT: "hsl(var(--primary))", - foreground: "hsl(var(--primary-foreground))", - }, - secondary: { - DEFAULT: "hsl(var(--secondary))", - foreground: "hsl(var(--secondary-foreground))", - }, - destructive: { - DEFAULT: "hsl(var(--destructive))", - foreground: "hsl(var(--destructive-foreground))", - }, - muted: { - DEFAULT: "hsl(var(--muted))", - foreground: "hsl(var(--muted-foreground))", - }, - accent: { - DEFAULT: "hsl(var(--accent))", - foreground: "hsl(var(--accent-foreground))", - }, - popover: { - DEFAULT: "hsl(var(--popover))", - foreground: "hsl(var(--popover-foreground))", - }, - card: { - DEFAULT: "hsl(var(--card))", - foreground: "hsl(var(--card-foreground))", - }, - }, - borderRadius: { - lg: "var(--radius)", - md: "calc(var(--radius) - 2px)", - sm: "calc(var(--radius) - 4px)", - }, - boxShadow: { - glow: "0 0 20px rgba(255, 204, 112, 0.7), 0 0 40px rgba(200, 80, 192, 0.5), 0 0 60px rgba(65, 88, 208, 0.3)", - glow2: - "0 0 20px rgba(50, 255, 50, 0.7), 0 0 40px rgba(20, 200, 20, 0.5), 0 0 60px rgba(5, 150, 5, 0.3)", - }, - filter: { - "blur-20": "blur(20px)", - "blur-25": "blur(25px)", - }, - brightness: { - 150: "1.5", - }, - keyframes: { - fill: { - "0%": { height: "0%" }, - "100%": { height: "var(--progress-height)" }, - }, - "accordion-down": { - from: { height: "0" }, - to: { height: "var(--radix-accordion-content-height)" }, - }, - "accordion-up": { - from: { height: "var(--radix-accordion-content-height)" }, - to: { height: "0" }, - }, - "reveal-up": { - "0%": { opacity: "0", transform: "translateY(80%)" }, - "100%": { opacity: "1", transform: "translateY(0)" }, - }, - "reveal-down": { - "0%": { opacity: "0", transform: "translateY(-80%)" }, - "100%": { opacity: "1", transform: "translateY(0)" }, - }, - "marquee-x": { - from: { transform: "translateX(0)" }, - to: { transform: "translateX(calc(-100% - var(--gap)))" }, - }, - "marquee-y": { - from: { transform: "translateY(0)" }, - to: { transform: "translateY(calc(-100% - var(--gap)))" }, - }, - "bg-position": { - "0%": { backgroundPosition: "0% 50%" }, - "100%": { backgroundPosition: "100% 50%" }, - }, - "shape-shift": { - "0%": { - width: "40px", - height: "20px", - }, - "20%": { width: "240px", height: "128px" }, - "40%": { width: "80px", height: "80px" }, - "80%": { width: "128px", height: "240px" }, - "100%": { width: "80px", height: "80px" }, - }, - swing: { - "0%": { transform: "rotate(0deg)" }, - "100%": { transform: "rotate(-30deg)" }, - }, - "content-blur": { - "0%": { filter: "blur(0.3rem)" }, - "100%": { filter: "blur(0)" }, - }, - "pop-blob": { - "0%": { transform: "scale(1)" }, - "33%": { transform: "scale(1.2)" }, - "66%": { transform: "scale(0.8)" }, - "100%": { transform: "scale(1)" }, - }, - "flip-words": { - "10%": { transform: "translateY(-112%)" }, - "25%": { transform: "translateY(-100%)" }, - "35%": { transform: "translateY(-212%)" }, - "50%": { transform: "translateY(-200%)" }, - "60%": { transform: "translateY(-312%)" }, - "75%": { transform: "translateY(-300%)" }, - "85%": { transform: "translateY(-412%)" }, - "100%": { transform: "translateY(-400%)" }, - }, - fadeIn: { - from: { opacity: "0" }, - to: { opacity: "1" }, - }, - "blink-red": { - "0%, 100%": { - backgroundColor: "rgba(239, 68, 68, 0.7)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 0.5)", - }, - "50%": { - backgroundColor: "rgba(239, 68, 68, 0.5)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 1)", - }, - }, - "rotate-full": { - "0%": { transform: "rotate(0deg)" }, - "100%": { transform: "rotate(360deg)" }, - }, - sparkle: { - "0%, 100%": { opacity: "0.75", scale: "0.9" }, - "50%": { opacity: "1", scale: "1" }, - }, - meteor: { - "0%": { transform: "translateY(-20%) translateX(-50%)" }, - "100%": { transform: "translateY(300%) translateX(-50%)" }, - }, - trail: { - "0%": { "--angle": "0deg" }, - "100%": { "--angle": "360deg" }, - }, - led: { - "0%": { fill: "currentColor", brightness: "1" }, - "50%": { fill: "#a855f7", brightness: "500%" }, - "100%": { fill: "currentColor", brightness: "1" }, - }, - glitch: { - "0%": { - color: "#fff", - textShadow: "2px 2px 0px #00ffff, -2px -2px 0px #ff00ff", - }, - "25%": { - color: "#00ffff", - textShadow: "-2px -2px 0px #fff, 2px 2px 0px #ff00ff", - }, - "50%": { - color: "#ff00ff", - textShadow: "2px -2px 0px #00ffff, -2px 2px 0px #fff", - }, - "75%": { - color: "#eee", - textShadow: "-2px 2px 0px #ff00ff, 2px -2px 0px #00ffff", - }, - "100%": { - color: "#fff", - textShadow: "2px 2px 0px #00ffff, -2px -2px 0px #ff00ff", - }, - }, - twinkle: { - "0%": { opacity: "0" }, - "50%": { opacity: "1" }, - "100%": { opacity: "0" }, - }, - float: { - "0%, 100%": { transform: "translateY(0)" }, - "50%": { transform: "translateY(-40px)" }, - }, - }, - animation: { - fill: "fill 1s forwards", - "accordion-down": "accordion-down 0.2s ease-out", - "accordion-up": "accordion-up 0.2s ease-out", - "marquee-horizontal": "marquee-x var(--duration) infinite linear", - "marquee-vertical": "marquee-y var(--duration) linear infinite", - "bg-position": "bg-position 3s infinite alternate", - "pop-blob": "pop-blob 4s infinite", - "flip-words": "flip-words 8s infinite", - fadeIn: "fadeIn 0.5s ease-in", - "blink-red": "blink-red 2s infinite linear", - sparkle: "sparkle 2s ease-in-out infinite", - meteor: "meteor var(--duration) var(--delay) ease-in-out infinite", - trail: "trail var(--duration) linear infinite", - led: "led 100ms ease-in-out", - float: "float 3s ease-in-out infinite", - }, - transitionTimingFunction: { - slow: "cubic-bezier(.405, 0, .025, 1)", - "minor-spring": "cubic-bezier(0.76,0.34,0.38,1.64)", - }, - transitionDuration: { - mid: "3s", - long: "10s", - }, - cursor: { - sword: "url('/cursor.png'), default", - }, - }, - }, - plugins: [require("tailwindcss-animate")], -} satisfies Config; - -export default config; diff --git a/tsconfig.json b/tsconfig.json index 2957d983..481db286 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"] + "exclude": ["node_modules", "**/*.stories.tsx"] } diff --git a/types/unist.ts b/types/unist.ts index 88327ac6..dc3267b6 100644 --- a/types/unist.ts +++ b/types/unist.ts @@ -1,4 +1,4 @@ -import { Node } from "unist"; +import type { Node } from "unist"; export interface UnistNode extends Node { type: string; diff --git a/velite.config.ts b/velite.config.ts new file mode 100644 index 00000000..e064cec8 --- /dev/null +++ b/velite.config.ts @@ -0,0 +1,110 @@ +import fs from "node:fs"; +import type { BlogPosting, WithContext } from "schema-dts"; +import { defineCollection, defineConfig, s } from "velite"; + +function getDateModified(data: { dateModified?: string; date?: string; path: string }) { + return ( + data.dateModified ?? + data.date ?? + (() => { + try { + return fs.statSync(`content/${data.path}.mdx`).mtime.toISOString(); + } catch { + return new Date().toISOString(); + } + })() + ); +} + +function buildStructuredData(data: { + title: string; + date?: string; + description: string; + author?: string; + path: string; + dateModified: string; +}) { + return { + "@context": "https://schema.org", + "@type": "BlogPosting", + headline: data.title, + datePublished: data.date, + dateModified: data.dateModified, + description: data.description, + image: `/api/og?title=${encodeURI(data.title)}`, + url: `https://animata.design/${data.path}`, + author: { + "@type": "Person", + name: data.author, + url: `https://twitter.com/${data.author}`, + }, + } as WithContext<BlogPosting>; +} + +const contentSchema = s.object({ + title: s.string(), + description: s.string(), + date: s.isodate().optional(), + published: s.boolean().default(true), + links: s + .object({ + doc: s.string().optional(), + api: s.string().optional(), + }) + .optional(), + featured: s.boolean().default(false), + toc: s.boolean().default(true), + author: s.string().optional(), + video: s.string().optional(), + labels: s.array(s.string()).optional(), + dateModified: s.isodate().optional(), + path: s.path(), + content: s.markdown(), + body: s.raw(), +}); + +const docs = defineCollection({ + name: "Doc", + pattern: "docs/**/*.mdx", + schema: contentSchema.transform((data) => { + const dateModified = getDateModified(data); + return { + ...data, + url: `/${data.path}`, + image: `/api/og?title=${encodeURI(data.title)}`, + slug: `/${data.path}`, + slugAsParams: data.path.split("/").slice(1).join("/"), + dateModified, + structuredData: buildStructuredData({ ...data, dateModified }), + }; + }), +}); + +const blogs = defineCollection({ + name: "Blog", + pattern: "blog/**/*.mdx", + schema: contentSchema.transform((data) => { + const dateModified = getDateModified(data); + return { + ...data, + url: `/${data.path}`, + image: `/api/og?title=${encodeURI(data.title)}`, + slug: `/${data.path}`, + slugAsParams: data.path.split("/").slice(1).join("/"), + dateModified, + structuredData: buildStructuredData({ ...data, dateModified }), + }; + }), +}); + +export default defineConfig({ + root: "content", + output: { + data: ".velite", + assets: "public/static", + base: "/static/", + name: "[name]-[hash:6].[ext]", + clean: true, + }, + collections: { docs, blogs }, +}); diff --git a/yarn.lock b/yarn.lock index 3e2a55bd..7979514e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,10 +5,10 @@ __metadata: version: 8 cacheKey: 10c0 -"@adobe/css-tools@npm:^4.3.2": - version: 4.4.0 - resolution: "@adobe/css-tools@npm:4.4.0" - checksum: 10c0/d65ddc719389bf469097df80fb16a8af48a973dea4b57565789d70ac8e7ab4987e6dc0095da3ed5dc16c1b6f8960214a7590312eeda8abd543d91fd0f59e6c94 +"@adobe/css-tools@npm:^4.4.0": + version: 4.4.4 + resolution: "@adobe/css-tools@npm:4.4.4" + checksum: 10c0/8f3e6cfaa5e6286e6f05de01d91d060425be2ebaef490881f5fe6da8bbdb336835c5d373ea337b0c3b0a1af4be048ba18780f0f6021d30809b4545922a7e13d9 languageName: node linkType: hard @@ -29,7 +29,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.24.7": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.24.7": version: 7.24.7 resolution: "@babel/code-frame@npm:7.24.7" dependencies: @@ -39,14 +39,32 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.7": +"@babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/code-frame@npm:7.29.0" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.28.5" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/d34cc504e7765dfb576a663d97067afb614525806b5cad1a5cc1a7183b916fec8ff57fa233585e3926fd5a9e6b31aae6df91aa81ae9775fb7a28f658d3346f0d + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.24.7": version: 7.24.7 resolution: "@babel/compat-data@npm:7.24.7" checksum: 10c0/dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f languageName: node linkType: hard -"@babel/core@npm:^7.18.9, @babel/core@npm:^7.24.4": +"@babel/compat-data@npm:^7.28.6, @babel/compat-data@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/compat-data@npm:7.29.0" + checksum: 10c0/08f348554989d23aa801bf1405aa34b15e841c0d52d79da7e524285c77a5f9d298e70e11d91cc578d8e2c9542efc586d50c5f5cf8e1915b254a9dcf786913a94 + languageName: node + linkType: hard + +"@babel/core@npm:^7.18.9": version: 7.24.7 resolution: "@babel/core@npm:7.24.7" dependencies: @@ -69,7 +87,30 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.24.4, @babel/generator@npm:^7.24.7": +"@babel/core@npm:^7.28.0, @babel/core@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/core@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/5127d2e8e842ae409e11bcbb5c2dff9874abf5415e8026925af7308e903f4f43397341467a130490d1a39884f461bc2b67f3063bce0be44340db89687fd852aa + languageName: node + linkType: hard + +"@babel/generator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/generator@npm:7.24.7" dependencies: @@ -81,6 +122,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.29.0": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" + dependencies: + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/349086e6876258ef3fb2823030fee0f6c0eb9c3ebe35fc572e16997f8c030d765f636ddc6299edae63e760ea6658f8ee9a2edfa6d6b24c9a80c917916b973551 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" @@ -90,17 +144,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/0ed84abf848c79fb1cd4c1ddac12c771d32c1904d87fc3087f33cfdeb0c2e0db4e7892b74b407d9d8d0c000044f3645a7391a781f788da8410c290bb123a1f13 + "@babel/types": "npm:^7.27.3" + checksum: 10c0/94996ce0a05b7229f956033e6dcd69393db2b0886d0db6aff41e704390402b8cdcca11f61449cb4f86cfd9e61b5ad3a73e4fa661eeed7846b125bd1c33dbc633 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7": +"@babel/helper-compilation-targets@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-compilation-targets@npm:7.24.7" dependencies: @@ -113,26 +166,37 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.7" +"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.7" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/6b7b47d70b41c00f39f86790cff67acf2bce0289d52a7c182b28e797f4e0e6d69027e3d06eccf1d54dddc2e5dde1df663bb1932437e5f447aeb8635d8d64a6ab + checksum: 10c0/0b62b46717891f4366006b88c9b7f277980d4f578c4c3789b7a4f5a2e09e121de4cda9a414ab403986745cd3ad1af3fe2d948c9f78ab80d4dc085afc9602af50 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7": +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": version: 7.24.7 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.7" dependencies: @@ -145,18 +209,31 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2": - version: 0.6.2 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" +"@babel/helper-create-regexp-features-plugin@npm:^7.27.1, @babel/helper-create-regexp-features-plugin@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + regexpu-core: "npm:^6.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7af3d604cadecdb2b0d2cedd696507f02a53a58be0523281c2d6766211443b55161dde1e6c0d96ab16ddfd82a2607a2f792390caa24797e9733631f8aa86859f + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.6.5, @babel/helper-define-polyfill-provider@npm:^0.6.6": + version: 0.6.6 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.6" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + debug: "npm:^4.4.3" lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" + resolve: "npm:^1.22.11" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/f777fe0ee1e467fdaaac059c39ed203bdc94ef2465fb873316e9e1acfc511a276263724b061e3b0af2f6d7ad3ff174f2bb368fde236a860e0f650fda43d7e022 + checksum: 10c0/1293d6f54d4ebb10c9e947e54de1aaa23b00233e19aca9790072f1893bf143af01442613f7b413300be7016d8e41b550af77acab28e7fa5fb796b2a175c528a1 languageName: node linkType: hard @@ -179,6 +256,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-hoist-variables@npm:7.24.7" @@ -188,13 +272,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.7" +"@babel/helper-member-expression-to-functions@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/9638c1d33cf6aba028461ccd3db6061c76ff863ca0d5013dd9a088bf841f2f77c46956493f9da18355c16759449d23b74cc1de4da357ade5c5c34c858f840f0a + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + checksum: 10c0/4e6e05fbf4dffd0bc3e55e28fcaab008850be6de5a7013994ce874ec2beb90619cda4744b11607a60f8aae0227694502908add6188ceb1b5223596e765b44814 languageName: node linkType: hard @@ -208,6 +292,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-transforms@npm:7.24.7" @@ -223,45 +317,65 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" + dependencies: + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.24.7 resolution: "@babel/helper-plugin-utils@npm:7.24.7" checksum: 10c0/c3d38cd9b3520757bb4a279255cc3f956fc0ac1c193964bd0816ebd5c86e30710be8e35252227e0c9d9e0f4f56d9b5f916537f2bc588084b0988b4787a967d31 languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.24.7" +"@babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-plugin-utils@npm:7.28.6" + checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-wrap-function": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/4e7fa2cdcbc488e41c27066c16e562857ef3c5c2bfe70d2f1e32e9ee7546b17c3fc1c20d05bf2a7f1c291bd9e7a0a219f6a9fa387209013294be79a26fcfe64d + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-replace-supers@npm:7.24.7" +"@babel/helper-replace-supers@npm:^7.27.1, @babel/helper-replace-supers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-replace-supers@npm:7.28.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.7" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/0e133bb03371dee78e519c334a09c08e1493103a239d9628db0132dfaac3fc16380479ca3c590d278a9b71b624030a338c18ebbfe6d430ebb2e4653775c4b3e3 + checksum: 10c0/04663c6389551b99b8c3e7ba4e2638b8ca2a156418c26771516124c53083aa8e74b6a45abe5dd46360af79709a0e9c6b72c076d0eab9efecdd5aaf836e79d8d5 languageName: node linkType: hard @@ -275,13 +389,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 languageName: node linkType: hard @@ -301,6 +415,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-identifier@npm:7.24.7" @@ -308,6 +429,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-option@npm:7.24.7" @@ -315,15 +443,21 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-wrap-function@npm:7.24.7" +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/helper-wrap-function@npm:7.28.6" dependencies: - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/d5689f031bf0eb38c0d7fad6b7e320ddef4bfbdf08d12d7d76ef41b7ca365a32721e74cb5ed5a9a9ec634bc20f9b7a27314fa6fb08f1576b8f6d8330fcea6f47 + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/110674c7aa705dd8cc34f278628f540b37a4cb35e81fcaf557772e026a6fd95f571feb51a8efb146e4e91bbf567dc9dd7f534f78da80f55f4be2ec842f36b678 languageName: node linkType: hard @@ -337,6 +471,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helpers@npm:7.28.6" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/c4a779c66396bb0cf619402d92f1610601ff3832db2d3b86b9c9dd10983bf79502270e97ac6d5280cea1b1a37de2f06ecbac561bd2271545270407fbe64027cb + languageName: node + linkType: hard + "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -349,7 +493,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.24.7": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7": version: 7.24.7 resolution: "@babel/parser@npm:7.24.7" bin: @@ -358,51 +502,73 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.7" +"@babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/parser@npm:7.29.0" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/333b2aa761264b91577a74bee86141ef733f9f9f6d4fc52548e4847dc35dfbf821f58c46832c637bfa761a6d9909d6a68f7d1ed59e17e4ffbb958dc510c17b62 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/394c30e2b708ad385fa1219528e039066a1f1cb40f47986f283878848fd354c745e6397f588b4e5a046ee8d64bfdf4c208e4c3dfbdcfb2fd34315ec67c64e7af + checksum: 10c0/844b7c7e9eec6d858262b2f3d5af75d3a6bbd9d3ecc740d95271fbdd84985731674536f5d8ac98f2dc0e8872698b516e406636e4d0cb04b50afe471172095a53 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.7" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/a36307428ecc1a01b00cf90812335eed1575d13f211ab24fe4d0c55c28a2fcbd4135f142efabc3b277b2a8e09ee05df594a1272353f061b63829495b5dcfdb96 + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/aeb6e7aa363a47f815cf956ea1053c5dd8b786a17799f065c9688ba4b0051fe7565d258bbe9400bfcbfb3114cb9fda66983e10afe4d750bc70ff75403e15dd36 + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.7" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/2b52a73e444f6adc73f927b623e53a4cf64397170dd1071268536df1b3db1e02131418c8dc91351af48837a6298212118f4a72d5407f8005cf9a732370a315b0 + checksum: 10c0/f1a9194e8d1742081def7af748e9249eb5082c25d0ced292720a1f054895f99041c764a05f45af669a2c8898aeb79266058aedb0d3e1038963ad49be8288918a languageName: node linkType: hard @@ -415,1104 +581,1076 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" dependencies: "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde languageName: node linkType: hard -"@babel/plugin-syntax-bigint@npm:^7.8.3": +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" dependencies: "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" +"@babel/plugin-syntax-import-assertions@npm:^7.27.1, @babel/plugin-syntax-import-assertions@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + checksum: 10c0/f3b8bdccb9b4d3e3b9226684ca518e055399d05579da97dfe0160a38d65198cfe7dce809e73179d6463a863a040f980de32425a876d88efe4eda933d0d95982c languageName: node linkType: hard -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" +"@babel/plugin-syntax-import-attributes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + checksum: 10c0/1be160e2c426faa74e5be2e30e39e8d0d8c543063bd5d06cd804f8751b8fbcb82ce824ca7f9ce4b09c003693f6c06a11ce503b7e34d85e1a259631e4c3f72ad2 languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" +"@babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + checksum: 10c0/b98fc3cd75e4ca3d5ca1162f610c286e14ede1486e0d297c13a5eb0ac85680ac9656d17d348bddd9160a54d797a08cea5eaac02b9330ddebb7b26732b7b99fb5 languageName: node linkType: hard -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" +"@babel/plugin-syntax-typescript@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 + checksum: 10c0/b0c392a35624883ac480277401ac7d92d8646b66e33639f5d350de7a6723924265985ae11ab9ebd551740ded261c443eaa9a87ea19def9763ca1e0d78c97dea8 languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.24.1, @babel/plugin-syntax-import-assertions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.7" +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/b82c53e095274ee71c248551352d73441cf65b3b3fc0107258ba4e9aef7090772a425442b3ed1c396fa207d0efafde8929c87a17d3c885b3ca2021316e87e246 + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.7" +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eccc54d0f03c96d0eec7a6e2fa124dadbc7298345b62ffc4238f173308c4325b5598f139695ff05a95cf78412ef6903599e4b814496612bf39aad4715a16375b + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" +"@babel/plugin-transform-async-generator-functions@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.29.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + checksum: 10c0/4080fc5e7dad7761bfebbb4fbe06bdfeb3a8bf0c027bcb4373e59e6b3dc7c5002eca7cbb1afba801d6439df8f92f7bcb3fb862e8fbbe43a9e59bb5653dcc0568 languageName: node linkType: hard -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" +"@babel/plugin-transform-async-to-generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + checksum: 10c0/2eb0826248587df6e50038f36194a138771a7df22581020451c7779edeaf9ef39bf47c5b7a20ae2645af6416e8c896feeca273317329652e84abd79a4ab920ad languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" +"@babel/plugin-transform-block-scoping@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + checksum: 10c0/2e3e09e1f9770b56cef4dcbffddf262508fd03416072f815ac66b2b224a3a12cd285cfec12fc067f1add414e7db5ce6dafb5164a6e0fb1a728e6a97d0c6f6e9d languageName: node linkType: hard -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" +"@babel/plugin-transform-class-properties@npm:^7.27.1, @babel/plugin-transform-class-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-properties@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + checksum: 10c0/c4327fcd730c239d9f173f9b695b57b801729e273b4848aef1f75818069dfd31d985d75175db188d947b9b1bbe5353dae298849042026a5e4fcf07582ff3f9f1 languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" +"@babel/plugin-transform-class-static-block@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + "@babel/core": ^7.12.0 + checksum: 10c0/dbe9b1fd302ae41b73186e17ac8d8ecf625ebc2416a91f2dc8013977a1bdf21e6ea288a83f084752b412242f3866e789d4fddeb428af323fe35b60e0fae4f98c languageName: node linkType: hard -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" +"@babel/plugin-transform-classes@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-classes@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-replace-supers": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + checksum: 10c0/dc22f1f6eadab17305128fbf9cc5f30e87a51a77dd0a6d5498097994e8a9b9a90ab298c11edf2342acbeaac9edc9c601cad72eedcf4b592cd465a787d7f41490 languageName: node linkType: hard -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" +"@babel/plugin-transform-computed-properties@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-computed-properties@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + checksum: 10c0/1e9893503ae6d651125701cc29450e87c0b873c8febebff19da75da9c40cfb7968c52c28bf948244e461110aeb7b3591f2cc199b7406ff74a24c50c7a5729f39 languageName: node linkType: hard -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" +"@babel/plugin-transform-destructuring@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + checksum: 10c0/288207f488412b23bb206c7c01ba143714e2506b72a9ec09e993f28366cc8188d121bde714659b3437984a86d2881d9b1b06de3089d5582823ccf2f3b3eaa2c4 languageName: node linkType: hard -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" +"@babel/plugin-transform-dotall-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + checksum: 10c0/e2fb76b7ae99087cf4212013a3ca9dee07048f90f98fd6264855080fb6c3f169be11c9b8c9d8b26cf9a407e4d0a5fa6e103f7cef433a542b75cf7127c99d4f97 languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/cdabd2e8010fb0ad15b49c2c270efc97c4bfe109ead36c7bbcf22da7a74bc3e49702fc4f22f12d2d6049e8e22a5769258df1fd05f0420ae45e11bdd5bc07805a + "@babel/core": ^7.0.0 + checksum: 10c0/6f03d9e5e31a05b28555541be6e283407e08447a36be6ddf8068b3efa970411d832e04b1282e2b894baf89a3864ff7e7f1e36346652a8d983170c6d548555167 languageName: node linkType: hard -"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" - "@babel/helper-plugin-utils": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + "@babel/core": ^7.0.0-0 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.7" +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6ac05a54e5582f34ac6d5dc26499e227227ec1c7fa6fc8de1f3d40c275f140d3907f79bbbd49304da2d7008a5ecafb219d0b71d78ee3290ca22020d878041245 + checksum: 10c0/e6ea28c26e058fe61ada3e70b0def1992dd5a44f5fc14d8e2c6a3a512fb4d4c6dc96a3e1d0b466d83db32a9101e0b02df94051e48d3140da115b8ea9f8a31f37 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.7" +"@babel/plugin-transform-exponentiation-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-remap-async-to-generator": "npm:^7.24.7" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6b5e33ae66dce0afce9b06d8dace6fa052528e60f7622aa6cfd3e71bd372ca5079d426e78336ca564bc0d5f37acbcda1b21f4fe656fcb642f1a93a697ab39742 + checksum: 10c0/4572d955a50dbc9a652a19431b4bb822cb479ee6045f4e6df72659c499c13036da0a2adf650b07ca995f2781e80aa868943bea1e7bff1de3169ec3f0a73a902e languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-remap-async-to-generator": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/83c82e243898875af8457972a26ab29baf8a2078768ee9f35141eb3edff0f84b165582a2ff73e90a9e08f5922bf813dbf15a85c1213654385198f4591c0dc45d + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/113e86de4612ae91773ff5cb6b980f01e1da7e26ae6f6012127415d7ae144e74987bc23feb97f63ba4bc699331490ddea36eac004d76a20d5369e4cc6a7f61cd + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.7" +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dcbc5e385c0ca5fb5736b1c720c90755cffe9f91d8c854f82e61e59217dd3f6c91b3633eeee4b55a89d3f59e5275d0f5b0b1b1363d4fa70c49c468b55aa87700 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.24.1, @babel/plugin-transform-class-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" +"@babel/plugin-transform-json-strings@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-json-strings@npm:7.28.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/75018a466c7ede3d2397e158891c224ba7fca72864506ce067ddbc02fc65191d44da4d6379c996d0c7f09019e26b5c3f5f1d3a639cd98366519723886f0689d0 + checksum: 10c0/ab1091798c58e6c0bb8a864ee2b727c400924592c6ed69797a26b4c205f850a935de77ad516570be0419c279a3d9f7740c2aa448762eb8364ea77a6a357a9653 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/b0ade39a3d09dce886f79dbd5907c3d99b48167eddb6b9bbde24a0598129654d7017e611c20494cdbea48b07ac14397cd97ea34e3754bbb2abae4e698128eccb + "@babel/core": ^7.0.0-0 + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-classes@npm:7.24.7" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - globals: "npm:^11.1.0" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e51dba7ce8b770d1eee929e098d5a3be3efc3e8b941e22dda7d0097dc4e7be5feabd2da7b707ac06fcac5661b31223c541941dec08ce76c1faa55544d87d06ec + checksum: 10c0/4632a35453d2131f0be466681d0a33e3db44d868ff51ec46cd87e0ebd1e47c6a39b894f7d1c9b06f931addf6efa9d30e60c4cdedeb4f69d426f683e11f8490cf languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/25636dbc1f605c0b8bc60aa58628a916b689473d11551c9864a855142e36742fe62d4a70400ba3b74902338e77fb3d940376c0a0ba154b6b7ec5367175233b49 + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.7" +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/929f07a807fb62230bfbf881cfcedf187ac5daf2f1b01da94a75c7a0f6f72400268cf4bcfee534479e43260af8193e42c31ee03c8b0278ba77d0036ed6709c27 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1, @babel/plugin-transform-modules-commonjs@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/793f14c9494972d294b7e7b97b747f47874b6d57d7804d3443c701becf5db192c9311be6a1835c07664486df1f5c60d33196c36fb7e11a53015e476b4c145b33 + checksum: 10c0/7c45992797c6150644c8552feff4a016ba7bd6d59ff2b039ed969a9c5b20a6804cd9d21db5045fc8cca8ca7f08262497e354e93f8f2be6a1cdf3fbfa8c31a9b6 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.29.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/75ff7ec1117ac500e77bf20a144411d39c0fdd038f108eec061724123ce6d1bb8d5bd27968e466573ee70014f8be0043361cdb0ef388f8a182d1d97ad67e51b9 + checksum: 10c0/44ea502f2c990398b7d9adc5b44d9e1810a0a5e86eebc05c92d039458f0b3994fe243efa9353b90f8a648d8a91b79845fb353d8679d7324cc9de0162d732771d languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eeda48372efd0a5103cb22dadb13563c975bce18ae85daafbb47d57bb9665d187da9d4fe8d07ac0a6e1288afcfcb73e4e5618bf75ff63fddf9736bfbf225203b + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.29.0" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ace3e11c94041b88848552ba8feb39ae4d6cad3696d439ff51445bd2882d8b8775d85a26c2c0edb9b5e38c9e6013cc11b0dea89ec8f93c7d9d7ee95e3645078c + "@babel/core": ^7.0.0 + checksum: 10c0/1904db22da7f2bc3e380cd2c0786bda330ee1b1b3efa3f5203d980708c4bfeb5daa4dff48d01692193040bcc5f275dbdc0c2eadc8b1eb1b6dfe363564ad6e898 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.1, @babel/plugin-transform-export-namespace-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4e144d7f1c57bc63b4899dbbbdfed0880f2daa75ea9c7251c7997f106e4b390dc362175ab7830f11358cb21f6b972ca10a43a2e56cd789065f7606b082674c0c + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-for-of@npm:7.24.7" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/77629b1173e55d07416f05ba7353caa09d2c2149da2ca26721ab812209b63689d1be45116b68eadc011c49ced59daf5320835b15245eb7ae93ae0c5e8277cfc0 + checksum: 10c0/6607f2201d66ccb688f0b1db09475ef995837df19f14705da41f693b669f834c206147a854864ab107913d7b4f4748878b0cd9fe9ca8bfd1bee0c206fc027b49 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-function-name@npm:7.24.7" +"@babel/plugin-transform-numeric-separator@npm:^7.27.1, @babel/plugin-transform-numeric-separator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.28.6" dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3e9642428d6952851850d89ea9307d55946528d18973784d0e2f04a651b23bd9924dd8a2641c824b483bd4ab1223bab1d2f6a1106a939998f7ced512cb60ac5b + checksum: 10c0/191097d8d2753cdd16d1acca65a945d1645ab20b65655c2f5b030a9e38967a52e093dcb21ebf391e342222705c6ffe5dea15dafd6257f7b51b77fb64a830b637 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" +"@babel/plugin-transform-object-rest-spread@npm:^7.28.4, @babel/plugin-transform-object-rest-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/17c72cd5bf3e90e722aabd333559275f3309e3fa0b9cea8c2944ab83ae01502c71a2be05da5101edc02b3fc8df15a8dbb9b861cbfcc8a52bf5e797cf01d3a40a + checksum: 10c0/f55334352d4fcde385f2e8a58836687e71ff668c9b6e4c34d52575bf2789cdde92d9d3116edba13647ac0bc3e51fb2a6d1e8fb822dce7e8123334b82600bc4c3 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-literals@npm:7.24.7" +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9f3f6f3831929cd2a977748c07addf9944d5cccb50bd3a24a58beb54f91f00d6cacd3d7831d13ffe1ad6f8aba0aefd7bca5aec65d63b77f39c62ad1f2d484a3e + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" +"@babel/plugin-transform-optional-catch-binding@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dbe882eb9053931f2ab332c50fc7c2a10ef507d6421bd9831adbb4cb7c9f8e1e5fbac4fbd2e007f6a1bf1df1843547559434012f118084dc0bf42cda3b106272 + checksum: 10c0/36e8face000ee65e478a55febf687ce9be7513ad498c60dfe585851555565e0c28e7cb891b3c59709318539ce46f7697d5f42130eb18f385cd47e47cfa297446 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" +"@babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e789ae359bdf2d20e90bedef18dfdbd965c9ebae1cee398474a0c349590fda7c8b874e1a2ceee62e47e5e6ec1730e76b0f24e502164357571854271fc12cc684 + checksum: 10c0/c159cc74115c2266be21791f192dd079e2aeb65c8731157e53b80fcefa41e8e28ad370021d4dfbdb31f25e5afa0322669a8eb2d032cd96e65ac37e020324c763 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" +"@babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6df7de7fce34117ca4b2fa07949b12274c03668cbfe21481c4037b6300796d50ae40f4f170527b61b70a67f26db906747797e30dbd0d9809a441b6e220b5728f + checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7" +"@babel/plugin-transform-private-methods@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.28.6" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9442292b3daf6a5076cdc3c4c32bf423bda824ccaeb0dd0dc8b3effaa1fecfcb0130ae6e647fef12a5d5ff25bcc99a0d6bfc6d24a7525345e1bcf46fcdf81752 + checksum: 10c0/fb504e2bfdcf3f734d2a90ab20d61427c58385f57f950d3de6ff4e6d12dd4aa7d552147312d218367e129b7920dccfc3230ba554de861986cda38921bad84067 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.7" +"@babel/plugin-transform-private-property-in-object@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.28.6" dependencies: - "@babel/helper-hoist-variables": "npm:^7.24.7" - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e2a795e0a6baafe26f4a74010622212ddd873170742d673f450e0097f8d984f6e6a95eb8ce41b05071ee9790c4be088b33801aaab3f78ee202c567634e52a331 + checksum: 10c0/0f6bbc6ec3f93b556d3de7d56bf49335255fc4c43488e51a5025d6ee0286183fd3cf950ffcac1bbeed8a45777f860a49996455c8d3b4a04c3b1a5f28e697fe31 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7791d290121db210e4338b94b4a069a1a79e4c7a8d7638d8159a97b281851bbed3048dac87a4ae718ad963005e6c14a5d28e6db2eeb2b04e031cee92fb312f85 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" +"@babel/plugin-transform-react-display-name@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-react-display-name@npm:7.28.0" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/41a0b0f2d0886318237440aa3b489f6d0305361d8671121777d9ff89f9f6de9d0c02ce93625049061426c8994064ef64deae8b819d1b14c00374a6a2336fb5d9 + "@babel/core": ^7.0.0-0 + checksum: 10c0/f5f86d2ad92be3e962158f344c2e385e23e2dfae7c8c7dc32138fb2cc46f63f5e50386c9f6c6fc16dbf1792c7bb650ad92c18203d0c2c0bd875bc28b0b80ef30 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-new-target@npm:7.24.7" +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2540808a35e1a978e537334c43dab439cf24c93e7beb213a2e71902f6710e60e0184316643790c0a6644e7a8021e52f7ab8165e6b3e2d6651be07bdf517b67df + checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" +"@babel/plugin-transform-react-jsx@npm:^7.27.1": + version: 7.28.6 + resolution: "@babel/plugin-transform-react-jsx@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/plugin-syntax-jsx": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7243c8ff734ed5ef759dd8768773c4b443c12e792727e759a1aec2c7fa2bfdd24f1ecb42e292a7b3d8bd3d7f7b861cf256a8eb4ba144fc9cc463892c303083d9 + checksum: 10c0/cc75b9bb3997751df6cf7e86afe1b3fa33130b5031a412f6f12cc5faec083650fe852de0af5ec8f88d3588cc3428a3f514d3bc1f423d26f8b014cc5dff9f15a7 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.1, @babel/plugin-transform-numeric-separator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e18e09ca5a6342645d00ede477731aa6e8714ff357efc9d7cda5934f1703b3b6fb7d3298dce3ce3ba53e9ff1158eab8f1aadc68874cc21a6099d33a1ca457789 + checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.1, @babel/plugin-transform-object-rest-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" +"@babel/plugin-transform-regenerator@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.29.0" dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9ad64bc003f583030f9da50614b485852f8edac93f8faf5d1cd855201a4852f37c5255ae4daf70dd4375bdd4874e16e39b91f680d4668ec219ba05441ce286eb + checksum: 10c0/86c7db9b97f85ee47c0fae0528802cbc06e5775e61580ee905335c16bb971270086764a3859873d9adcd7d0f913a5b93eb0dc271aec8fb9e93e090e4ac95e29e languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-super@npm:7.24.7" +"@babel/plugin-transform-regexp-modifiers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/770cebb4b4e1872c216b17069db9a13b87dfee747d359dc56d9fcdd66e7544f92dc6ab1861a4e7e0528196aaff2444e4f17dc84efd8eaf162d542b4ba0943869 + "@babel/core": ^7.0.0 + checksum: 10c0/97e36b086800f71694fa406abc00192e3833662f2bdd5f51c018bd0c95eef247c4ae187417c207d03a9c5374342eac0bb65a39112c431a9b23b09b1eda1562e5 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1e2f10a018f7d03b3bde6c0b70d063df8d5dd5209861d4467726cf834f5e3d354e2276079dc226aa8e6ece35f5c9b264d64b8229a8bb232829c01e561bcfb07a + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.7" +"@babel/plugin-transform-runtime@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/plugin-transform-runtime@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" + semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b9e3649b299e103b0d1767bbdba56574d065ff776e5350403b7bfd4e3982743c0cdb373d33bdbf94fa3c322d155e45d0aad946acf0aa741b870aed22dfec8b8e + checksum: 10c0/05a451cb96a1e6ccfdd1a123773208615cd14cb156aa0aa99a448d86e4326b36b9ab2be8267037bd27644a5918dac88378b791d020b3c08a4fd8f3415621a006 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-parameters@npm:7.24.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/53bf190d6926771545d5184f1f5f3f5144d0f04f170799ad46a43f683a01fab8d5fe4d2196cf246774530990c31fe1f2b9f0def39f0a5ddbb2340b924f5edf01 + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" +"@babel/plugin-transform-spread@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-spread@npm:7.28.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5b7bf923b738fbe3ad6c33b260e0a7451be288edfe4ef516303fa787a1870cd87533bfbf61abb779c22ed003c2fc484dec2436fe75a48756f686c0241173d364 + checksum: 10c0/bcac50e558d6f0c501cbce19ec197af558cef51fe3b3a6eba27276e323e57a5be28109b4264a5425ac12a67bf95d6af9c2a42b05e79c522ce913fb9529259d76 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c6fa7defb90b1b0ed46f24ff94ff2e77f44c1f478d1090e81712f33cf992dda5ba347016f030082a2f770138bac6f4a9c2c1565e9f767a125901c77dd9c239ba + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/52564b58f3d111dc02d241d5892a4b01512e98dfdf6ef11b0ed62f8b11b0acacccef0fc229b44114fe8d1a57a8b70780b11bdd18b807d3754a781a07d8f57433 + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c14a07a9e75723c96f1a0a306b8a8e899ff1c6a0cc3d62bcda79bb1b54e4319127b258651c513a1a47da152cdc22e16525525a30ae5933a2980c7036fd0b4d24 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.7" +"@babel/plugin-transform-typescript@npm:^7.28.5": + version: 7.28.6 + resolution: "@babel/plugin-transform-typescript@npm:7.28.6" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fce647db50f90a5291681f0f97865d9dc76981262dff71d6d0332e724b85343de5860c26f9e9a79e448d61e1d70916b07ce91e8c7f2b80dceb4b16aee41794d8 + checksum: 10c0/72dbfd3e5f71c4e30445e610758ec0eef65347fafd72bd46f4903733df0d537663a72a81c1626f213a0feab7afc68ba83f1648ffece888dd0868115c9cb748f6 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx@npm:7.24.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5c46d2c1c06a30e6bde084839df9cc689bf9c9cb0292105d61c225ca731f64247990724caee7dfc7f817dc964c062e8319e7f05394209590c476b65d75373435 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.28.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fae517d293d9c93b7b920458c3e4b91cb0400513889af41ba184a5f3acc8bfef27242cc262741bb8f87870df376f1733a0d0f52b966d342e2aaaf5607af8f73d + checksum: 10c0/b25f8cde643f4f47e0fa4f7b5c552e2dfbb6ad0ce07cf40f7e8ae40daa9855ad855d76d4d6d010153b74e48c8794685955c92ca637c0da152ce5f0fa9e7c90fa languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - regenerator-transform: "npm:^0.15.2" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d2dc2c788fdae9d97217e70d46ba8ca9db0035c398dc3e161552b0c437113719a75c04f201f9c91ddc8d28a1da60d0b0853f616dead98a396abb9c845c44892b + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.28.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.28.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2229de2768615e7f5dc0bbc55bc121b5678fd6d2febd46c74a58e42bb894d74cd5955c805880f4e02d0e1cf94f6886270eda7fafc1be9305a1ec3b9fd1d063f5 + "@babel/core": ^7.0.0 + checksum: 10c0/c03c8818736b138db73d1f7a96fbfa22d1994639164d743f0f00e6383d3b7b3144d333de960ff4afad0bddd0baaac257295e3316969eba995b1b6a1b4dec933e languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:^7.24.3": - version: 7.24.7 - resolution: "@babel/plugin-transform-runtime@npm:7.24.7" +"@babel/preset-env@npm:^7.28.5": + version: 7.29.0 + resolution: "@babel/preset-env@npm:7.29.0" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.1" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" + "@babel/compat-data": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-plugin-utils": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.28.5" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.6" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.28.6" + "@babel/plugin-syntax-import-attributes": "npm:^7.28.6" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.29.0" + "@babel/plugin-transform-async-to-generator": "npm:^7.28.6" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.28.6" + "@babel/plugin-transform-class-properties": "npm:^7.28.6" + "@babel/plugin-transform-class-static-block": "npm:^7.28.6" + "@babel/plugin-transform-classes": "npm:^7.28.6" + "@babel/plugin-transform-computed-properties": "npm:^7.28.6" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-dotall-regex": "npm:^7.28.6" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.29.0" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.6" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.6" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.28.6" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.6" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.28.6" + "@babel/plugin-transform-modules-systemjs": "npm:^7.29.0" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.29.0" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.28.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.28.6" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.6" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.28.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.28.6" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/plugin-transform-private-methods": "npm:^7.28.6" + "@babel/plugin-transform-private-property-in-object": "npm:^7.28.6" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.29.0" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.28.6" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.28.6" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.28.6" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.28.6" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.15" + babel-plugin-polyfill-corejs3: "npm:^0.14.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.6" + core-js-compat: "npm:^3.48.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a33f5095872bbba00b8ee553dfe6941477e69a017a2e65e9dd86e80dab5c627635093b796eb1eb22aaaf2f874704f63ad1d99b952b83b59ef6b368ae04e5bb41 + checksum: 10c0/08737e333a538703ba20e9e93b5bfbc01abbb9d3b2519b5b62ad05d3b6b92d79445b1dac91229b8cfcfb0b681b22b7c6fa88d7c1cc15df1690a23b21287f55b6 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.7" +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/41b155bdbb3be66618358488bf7731b3b2e8fff2de3dbfd541847720a9debfcec14db06a117abedd03c9cd786db20a79e2a86509a4f19513f6e1b610520905cf + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-spread@npm:7.24.7" +"@babel/preset-react@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/preset-react@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-react-display-name": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/facba1553035f76b0d2930d4ada89a8cd0f45b79579afd35baefbfaf12e3b86096995f4b0c402cf9ee23b3f2ea0a4460c3b1ec0c192d340962c948bb223d4e66 + checksum: 10c0/0d785e708ff301f4102bd4738b77e550e32f981e54dfd3de1191b4d68306bbb934d2d465fc78a6bc22fff0a6b3ce3195a53984f52755c4349e7264c7e01e8c7c languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" +"@babel/preset-typescript@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/preset-typescript@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5a74ed2ed0a3ab51c3d15fcaf09d9e2fe915823535c7a4d7b019813177d559b69677090e189ec3d5d08b619483eb5ad371fbcfbbff5ace2a76ba33ee566a1109 + checksum: 10c0/b3d55548854c105085dd80f638147aa8295bc186d70492289242d6c857cb03a6c61ec15186440ea10ed4a71cdde7d495f5eb3feda46273f36b0ac926e8409629 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3630f966257bcace122f04d3157416a09d40768c44c3a800855da81146b009187daa21859d1c3b7d13f4e19e8888e60613964b175b2275d451200fb6d8d6cfe6 +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.7" +"@babel/runtime@npm:^7.13.10": + version: 7.27.0 + resolution: "@babel/runtime@npm:7.27.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5649e7260a138681e68b296ab5931e2b1f132f287d6b4131d49b24f9dc20d62902b7e9d63c4d2decd5683b41df35ef4b9b03f58c7f9f65e4c25a6d8bbf04e9e9 + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/35091ea9de48bd7fd26fb177693d64f4d195eb58ab2b142b893b7f3fa0f1d7c677604d36499ae0621a3703f35ba0c6a8f6c572cc8f7dc0317213841e493cf663 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typescript@npm:7.24.7" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-typescript": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e8dacdc153a4c4599014b66eb01b94e3dc933d58d4f0cc3039c1a8f432e77b9df14f34a61964e014b975bf466f3fefd8c4768b3e887d3da1be9dc942799bdfdf +"@babel/runtime@npm:^7.28.4": + version: 7.28.6 + resolution: "@babel/runtime@npm:7.28.6" + checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": +"@babel/template@npm:^7.24.7": version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" + resolution: "@babel/template@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8b18e2e66af33471a6971289492beff5c240e56727331db1d34c4338a6a368a82a7ed6d57ec911001b6d65643aed76531e1e7cac93265fb3fb2717f54d845e69 + "@babel/code-frame": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" +"@babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bc57656eb94584d1b74a385d378818ac2b3fca642e3f649fead8da5fb3f9de22f8461185936915dfb33d5a9104e62e7a47828331248b09d28bb2d59e9276de3e + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7": +"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.24.7": version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" + resolution: "@babel/traverse@npm:7.24.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/83f72a345b751566b601dc4d07e9f2c8f1bc0e0c6f7abb56ceb3095b3c9d304de73f85f2f477a09f8cc7edd5e65afd0ff9e376cdbcbea33bc0c28f3705b38fd9 + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.7" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-function-name": "npm:^7.24.7" + "@babel/helper-hoist-variables": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.7" +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/traverse@npm:7.29.0" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/7457c0ee8e80a80cb6fdc1fe54ab115b52815627616ce9151be8ef292fc99d04a910ec24f11382b4f124b89374264396892b086886bd2a9c2317904d87c9b21b + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + debug: "npm:^4.3.1" + checksum: 10c0/f63ef6e58d02a9fbf3c0e2e5f1c877da3e0bc57f91a19d2223d53e356a76859cbaf51171c9211c71816d94a0e69efa2732fd27ffc0e1bbc84b636e60932333eb languageName: node linkType: hard -"@babel/preset-env@npm:^7.24.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.24.7 - resolution: "@babel/preset-env@npm:7.24.7" + resolution: "@babel/types@npm:7.24.7" dependencies: - "@babel/compat-data": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.24.7" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.7" - "@babel/plugin-transform-block-scoping": "npm:^7.24.7" - "@babel/plugin-transform-class-properties": "npm:^7.24.7" - "@babel/plugin-transform-class-static-block": "npm:^7.24.7" - "@babel/plugin-transform-classes": "npm:^7.24.7" - "@babel/plugin-transform-computed-properties": "npm:^7.24.7" - "@babel/plugin-transform-destructuring": "npm:^7.24.7" - "@babel/plugin-transform-dotall-regex": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.24.7" - "@babel/plugin-transform-dynamic-import": "npm:^7.24.7" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.7" - "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-function-name": "npm:^7.24.7" - "@babel/plugin-transform-json-strings": "npm:^7.24.7" - "@babel/plugin-transform-literals": "npm:^7.24.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" - "@babel/plugin-transform-member-expression-literals": "npm:^7.24.7" - "@babel/plugin-transform-modules-amd": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-modules-systemjs": "npm:^7.24.7" - "@babel/plugin-transform-modules-umd": "npm:^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" - "@babel/plugin-transform-new-target": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" - "@babel/plugin-transform-object-super": "npm:^7.24.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.7" - "@babel/plugin-transform-parameters": "npm:^7.24.7" - "@babel/plugin-transform-private-methods": "npm:^7.24.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" - "@babel/plugin-transform-property-literals": "npm:^7.24.7" - "@babel/plugin-transform-regenerator": "npm:^7.24.7" - "@babel/plugin-transform-reserved-words": "npm:^7.24.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" - "@babel/plugin-transform-spread": "npm:^7.24.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" - "@babel/plugin-transform-template-literals": "npm:^7.24.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.24.7" - "@babel/plugin-transform-unicode-escapes": "npm:^7.24.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.24.7" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.4" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.31.0" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c6714346f3ccc1271eaa90051c75b8bb57b20ef57408ab68740e2f3552693ae0ee5a4bcce3a00211d40e4947af1f7b8ab422066b953f0095461937fb72d11274 + "@babel/helper-string-parser": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 languageName: node linkType: hard -"@babel/preset-modules@npm:0.1.6-no-external-plugins": - version: 0.1.6-no-external-plugins - resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" +"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@babel/types": "npm:^7.4.4" - esutils: "npm:^2.0.2" - peerDependencies: - "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f languageName: node linkType: hard -"@babel/preset-react@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/preset-react@npm:7.24.7" +"@biomejs/biome@npm:^2.4.6": + version: 2.4.6 + resolution: "@biomejs/biome@npm:2.4.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-react-display-name": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx-development": "npm:^7.24.7" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9658b685b25cedaadd0b65c4e663fbc7f57394b5036ddb4c99b1a75b0711fb83292c1c625d605c05b73413fc7a6dc20e532627f6a39b6dc8d4e00415479b054c + "@biomejs/cli-darwin-arm64": "npm:2.4.6" + "@biomejs/cli-darwin-x64": "npm:2.4.6" + "@biomejs/cli-linux-arm64": "npm:2.4.6" + "@biomejs/cli-linux-arm64-musl": "npm:2.4.6" + "@biomejs/cli-linux-x64": "npm:2.4.6" + "@biomejs/cli-linux-x64-musl": "npm:2.4.6" + "@biomejs/cli-win32-arm64": "npm:2.4.6" + "@biomejs/cli-win32-x64": "npm:2.4.6" + dependenciesMeta: + "@biomejs/cli-darwin-arm64": + optional: true + "@biomejs/cli-darwin-x64": + optional: true + "@biomejs/cli-linux-arm64": + optional: true + "@biomejs/cli-linux-arm64-musl": + optional: true + "@biomejs/cli-linux-x64": + optional: true + "@biomejs/cli-linux-x64-musl": + optional: true + "@biomejs/cli-win32-arm64": + optional: true + "@biomejs/cli-win32-x64": + optional: true + bin: + biome: bin/biome + checksum: 10c0/3c0aea8069fa4bebde97ff4ef394f0383d2a3a1393a99e0cdea6c1769805cc18c5ea2c02e88779a63327d432c5858522dceae32f6a359d690f5f71f60ea4ca02 languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-typescript": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/986bc0978eedb4da33aba8e1e13a3426dd1829515313b7e8f4ba5d8c18aff1663b468939d471814e7acf4045d326ae6cff37239878d169ac3fe53a8fde71f8ee +"@biomejs/cli-darwin-arm64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-darwin-arm64@npm:2.4.6" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@babel/regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "@babel/regjsgen@npm:0.8.0" - checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a +"@biomejs/cli-darwin-x64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-darwin-x64@npm:2.4.6" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.24.1, @babel/runtime@npm:^7.24.4, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": - version: 7.27.0 - resolution: "@babel/runtime@npm:7.27.0" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/35091ea9de48bd7fd26fb177693d64f4d195eb58ab2b142b893b7f3fa0f1d7c677604d36499ae0621a3703f35ba0c6a8f6c572cc8f7dc0317213841e493cf663 +"@biomejs/cli-linux-arm64-musl@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-arm64-musl@npm:2.4.6" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@babel/template@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/template@npm:7.24.7" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 +"@biomejs/cli-linux-arm64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-arm64@npm:2.4.6" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.24.1, @babel/traverse@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/traverse@npm:7.24.7" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.24.7" - "@babel/helper-environment-visitor": "npm:^7.24.7" - "@babel/helper-function-name": "npm:^7.24.7" - "@babel/helper-hoist-variables": "npm:^7.24.7" - "@babel/helper-split-export-declaration": "npm:^7.24.7" - "@babel/parser": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab +"@biomejs/cli-linux-x64-musl@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-x64-musl@npm:2.4.6" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.24.7 - resolution: "@babel/types@npm:7.24.7" - dependencies: - "@babel/helper-string-parser": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 +"@biomejs/cli-linux-x64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-linux-x64@npm:2.4.6" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@base2/pretty-print-object@npm:1.0.1": - version: 1.0.1 - resolution: "@base2/pretty-print-object@npm:1.0.1" - checksum: 10c0/98f77ea185a30c854897feb2a68fe51be8451a1a0b531bac61a5dd67033926a0ba0c9be6e0f819b8cb72ca349b3e7648bf81c12fd21df0b45219c75a3a75784b +"@biomejs/cli-win32-arm64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-win32-arm64@npm:2.4.6" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@chromatic-com/storybook@npm:^1.5.0": - version: 1.5.0 - resolution: "@chromatic-com/storybook@npm:1.5.0" - dependencies: - chromatic: "npm:^11.4.0" - filesize: "npm:^10.0.12" - jsonfile: "npm:^6.1.0" - react-confetti: "npm:^6.1.0" - strip-ansi: "npm:^7.1.0" - checksum: 10c0/e1656e2f73756db0fc1e5dbc5367485f24d5e9d0643ff5259fe32fb42441b3c250250b208cf58cf1aa0a55334e59146b0ff9b8161c2838bd6ee2a8f36ccada58 +"@biomejs/cli-win32-x64@npm:2.4.6": + version: 2.4.6 + resolution: "@biomejs/cli-win32-x64@npm:2.4.6" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1765,120 +1903,6 @@ __metadata: languageName: node linkType: hard -"@contentlayer/cli@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/cli@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - clipanion: "npm:^3.2.1" - typanion: "npm:^3.12.1" - checksum: 10c0/040c738cb19b3d3b410d1880cfa639fe0089d76443421633759761f3c6153f462f56de262b9257a3c714a1d27a31f961dd4b4d5b83a0d3147e037e32868a802b - languageName: node - linkType: hard - -"@contentlayer/client@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/client@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - checksum: 10c0/725b054a54e2fedae88d51ca276097abd753d422d120834be94d4eda23955ddd4daa0d8db840bbb4c974f6470fbe40f842bf47c2167103b0105440f1c561a92a - languageName: node - linkType: hard - -"@contentlayer/core@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/core@npm:0.3.4" - dependencies: - "@contentlayer/utils": "npm:0.3.4" - camel-case: "npm:^4.1.2" - comment-json: "npm:^4.2.3" - esbuild: "npm:0.17.x || 0.18.x" - gray-matter: "npm:^4.0.3" - mdx-bundler: "npm:^9.2.1" - rehype-stringify: "npm:^9.0.3" - remark-frontmatter: "npm:^4.0.1" - remark-parse: "npm:^10.0.2" - remark-rehype: "npm:^10.1.0" - source-map-support: "npm:^0.5.21" - type-fest: "npm:^3.12.0" - unified: "npm:^10.1.2" - peerDependencies: - esbuild: 0.17.x || 0.18.x - markdown-wasm: 1.x - peerDependenciesMeta: - esbuild: - optional: true - markdown-wasm: - optional: true - checksum: 10c0/47ac65f9fe18f30221d33b0168cab8a2ca629e017ffa4f9c1ec97eacc15fce11c2858ee79938be95faf130f57f13792f91533c8660ce8f0686e57729626daffb - languageName: node - linkType: hard - -"@contentlayer/source-files@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/source-files@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - chokidar: "npm:^3.5.3" - fast-glob: "npm:^3.2.12" - gray-matter: "npm:^4.0.3" - imagescript: "npm:^1.2.16" - micromatch: "npm:^4.0.5" - ts-pattern: "npm:^4.3.0" - unified: "npm:^10.1.2" - yaml: "npm:^2.3.1" - zod: "npm:^3.21.4" - checksum: 10c0/da7a17a0e51e30d35cee9bf30c728cc357b3b4fe35e5c533852d90446541052659639868897ade2cd546083b434d4c59e1c352ae9c33dc4d94d2ccc3eca40228 - languageName: node - linkType: hard - -"@contentlayer/source-remote-files@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/source-remote-files@npm:0.3.4" - dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/source-files": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - checksum: 10c0/433f0bee7201e66cbeb7b6ea555618ff0496d5253b22f974423ee788b628c5cd643a3b9e682361cd794389f87e73b74237b220c7a072c6042c4a6c0b760f8137 - languageName: node - linkType: hard - -"@contentlayer/utils@npm:0.3.4": - version: 0.3.4 - resolution: "@contentlayer/utils@npm:0.3.4" - dependencies: - "@effect-ts/core": "npm:^0.60.5" - "@effect-ts/otel": "npm:^0.15.1" - "@effect-ts/otel-exporter-trace-otlp-grpc": "npm:^0.15.1" - "@effect-ts/otel-sdk-trace-node": "npm:^0.15.1" - "@js-temporal/polyfill": "npm:^0.4.4" - "@opentelemetry/api": "npm:^1.4.1" - "@opentelemetry/core": "npm:^1.13.0" - "@opentelemetry/exporter-trace-otlp-grpc": "npm:^0.39.1" - "@opentelemetry/resources": "npm:^1.13.0" - "@opentelemetry/sdk-trace-base": "npm:^1.13.0" - "@opentelemetry/sdk-trace-node": "npm:^1.13.0" - "@opentelemetry/semantic-conventions": "npm:^1.13.0" - chokidar: "npm:^3.5.3" - hash-wasm: "npm:^4.9.0" - inflection: "npm:^2.0.1" - memfs: "npm:^3.5.1" - oo-ascii-tree: "npm:^1.84.0" - ts-pattern: "npm:^4.3.0" - type-fest: "npm:^3.12.0" - peerDependenciesMeta: - "@effect-ts/core": - optional: true - "@effect-ts/otel": - optional: true - "@effect-ts/otel-node": - optional: true - checksum: 10c0/30a24ccce9c0baeb37b12320f44d3c44c9801dd83f1a960bca54854e97ac1d1ef075e548b892c91c98ac1bd3a4d8a84b3046403046b2e4728c877f984b3d1ece - languageName: node - linkType: hard - "@cspotcode/source-map-support@npm:0.8.1": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -1888,79 +1912,31 @@ __metadata: languageName: node linkType: hard -"@effect-ts/core@npm:^0.60.5": - version: 0.60.5 - resolution: "@effect-ts/core@npm:0.60.5" - dependencies: - "@effect-ts/system": "npm:^0.57.5" - checksum: 10c0/8adec447e336b317c64d9410e47690f53267cee4a06a049f41b367bbdbe5e738508c43fed766d1500210d0b0ed256b60eb1ba815305582a7fee8183f885f8cc4 - languageName: node - linkType: hard - -"@effect-ts/otel-exporter-trace-otlp-grpc@npm:^0.15.1": - version: 0.15.1 - resolution: "@effect-ts/otel-exporter-trace-otlp-grpc@npm:0.15.1" - dependencies: - "@effect-ts/otel": "npm:^0.15.1" - peerDependencies: - "@effect-ts/core": ^0.60.2 - "@opentelemetry/api": ^1.4.0 - "@opentelemetry/core": ^1.13.0 - "@opentelemetry/exporter-trace-otlp-grpc": ^0.39.0 - "@opentelemetry/sdk-trace-base": ^1.13.0 - checksum: 10c0/c780e2855acf71b8a459f6d0a70183671887a5751a3510904150aa81549239be3f33cf70139a362e9c73fff08c7ef0e5036ce6401e428af95bd1fd1086eae1d3 - languageName: node - linkType: hard - -"@effect-ts/otel-sdk-trace-node@npm:^0.15.1": - version: 0.15.1 - resolution: "@effect-ts/otel-sdk-trace-node@npm:0.15.1" +"@emnapi/core@npm:^1.7.1, @emnapi/core@npm:^1.8.1": + version: 1.8.1 + resolution: "@emnapi/core@npm:1.8.1" dependencies: - "@effect-ts/otel": "npm:^0.15.1" - peerDependencies: - "@effect-ts/core": ^0.60.2 - "@opentelemetry/api": ^1.4.0 - "@opentelemetry/core": ^1.13.0 - "@opentelemetry/sdk-trace-base": ^1.13.0 - "@opentelemetry/sdk-trace-node": ^1.13.0 - checksum: 10c0/70f45edef48e2082c57eaad2267684bcb9b0b830971c62385c7c488747b60d9182b07a346dda8f429b46056eb94cf1918c36a7bfb1bf8e2544c46c7d9187bf86 - languageName: node - linkType: hard - -"@effect-ts/otel@npm:^0.15.1": - version: 0.15.1 - resolution: "@effect-ts/otel@npm:0.15.1" - peerDependencies: - "@effect-ts/core": ^0.60.2 - "@opentelemetry/api": ^1.4.0 - "@opentelemetry/core": ^1.13.0 - "@opentelemetry/sdk-trace-base": ^1.13.0 - checksum: 10c0/e9bc52e9031b5734f7b8d750cec2bc26028e47a55601dd5f48c498d72174f77d6e7114016c273692eb338e775c755ad677e5478230ccd06e0a9f5fc3622f0d40 - languageName: node - linkType: hard - -"@effect-ts/system@npm:^0.57.5": - version: 0.57.5 - resolution: "@effect-ts/system@npm:0.57.5" - checksum: 10c0/406ce8f7004d7b7b40cf1e1bdeba2986cc926bc7c9c7574c568b11f1cc1919bc73f30b588cf083d8a91ca45b6ba9543e485bd7c7b571072b3f810ffa8cb6ef91 + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10c0/2c242f4b49779bac403e1cbcc98edacdb1c8ad36562408ba9a20663824669e930bc8493be46a2522d9dc946b8d96cd7073970bae914928c7671b5221c85b432e languageName: node linkType: hard -"@emnapi/runtime@npm:^1.1.1": - version: 1.2.0 - resolution: "@emnapi/runtime@npm:1.2.0" +"@emnapi/runtime@npm:^1.2.0, @emnapi/runtime@npm:^1.7.0, @emnapi/runtime@npm:^1.7.1, @emnapi/runtime@npm:^1.8.1": + version: 1.8.1 + resolution: "@emnapi/runtime@npm:1.8.1" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57 + checksum: 10c0/f4929d75e37aafb24da77d2f58816761fe3f826aad2e37fa6d4421dac9060cbd5098eea1ac3c9ecc4526b89deb58153852fa432f87021dc57863f2ff726d713f languageName: node linkType: hard -"@emnapi/runtime@npm:^1.2.0, @emnapi/runtime@npm:^1.7.0": - version: 1.8.1 - resolution: "@emnapi/runtime@npm:1.8.1" +"@emnapi/wasi-threads@npm:1.1.0, @emnapi/wasi-threads@npm:^1.1.0": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/f4929d75e37aafb24da77d2f58816761fe3f826aad2e37fa6d4421dac9060cbd5098eea1ac3c9ecc4526b89deb58153852fa432f87021dc57863f2ff726d713f + checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 languageName: node linkType: hard @@ -1980,15 +1956,6 @@ __metadata: languageName: node linkType: hard -"@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.1": - version: 1.0.1 - resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.0.1" - peerDependencies: - react: ">=16.8.0" - checksum: 10c0/a15b2167940e3a908160687b73fc4fcd81e59ab45136b6967f02c7c419d9a149acd22a416b325c389642d4f1c3d33cf4196cad6b618128b55b7c74f6807a240b - languageName: node - linkType: hard - "@esbuild-plugins/node-globals-polyfill@npm:0.2.3": version: 0.2.3 resolution: "@esbuild-plugins/node-globals-polyfill@npm:0.2.3" @@ -2010,30 +1977,16 @@ __metadata: languageName: node linkType: hard -"@esbuild-plugins/node-resolve@npm:^0.1.4": - version: 0.1.4 - resolution: "@esbuild-plugins/node-resolve@npm:0.1.4" - dependencies: - "@types/resolve": "npm:^1.17.1" - debug: "npm:^4.3.1" - escape-string-regexp: "npm:^4.0.0" - resolve: "npm:^1.19.0" - peerDependencies: - esbuild: "*" - checksum: 10c0/724ea83dc8f23402dabad1ebe3b54d4df23f4f937041581af3ecb43fee7918a9786d329de58e35c4292d102371ffe3d13bac92d1ba8545f6a8da4ba68a91789f - languageName: node - linkType: hard - -"@esbuild/aix-ppc64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/aix-ppc64@npm:0.20.2" +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/aix-ppc64@npm:0.25.12" +"@esbuild/aix-ppc64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/aix-ppc64@npm:0.27.3" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2045,23 +1998,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm64@npm:0.18.20" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/android-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm64@npm:0.20.2" +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-arm64@npm:0.25.12" +"@esbuild/android-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-arm64@npm:0.27.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2073,23 +2019,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm@npm:0.18.20" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@esbuild/android-arm@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-arm@npm:0.20.2" +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-arm@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-arm@npm:0.25.12" +"@esbuild/android-arm@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-arm@npm:0.27.3" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2101,23 +2040,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-x64@npm:0.18.20" +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/android-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/android-x64@npm:0.20.2" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/android-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/android-x64@npm:0.25.12" +"@esbuild/android-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/android-x64@npm:0.27.3" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2129,23 +2061,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-arm64@npm:0.18.20" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/darwin-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-arm64@npm:0.20.2" +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/darwin-arm64@npm:0.25.12" +"@esbuild/darwin-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/darwin-arm64@npm:0.27.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2157,23 +2082,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-x64@npm:0.18.20" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/darwin-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/darwin-x64@npm:0.20.2" +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/darwin-x64@npm:0.25.12" +"@esbuild/darwin-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/darwin-x64@npm:0.27.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2185,23 +2103,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-arm64@npm:0.18.20" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/freebsd-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-arm64@npm:0.20.2" +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/freebsd-arm64@npm:0.25.12" +"@esbuild/freebsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/freebsd-arm64@npm:0.27.3" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2213,23 +2124,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-x64@npm:0.18.20" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/freebsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/freebsd-x64@npm:0.20.2" +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/freebsd-x64@npm:0.25.12" +"@esbuild/freebsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/freebsd-x64@npm:0.27.3" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2241,23 +2145,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm64@npm:0.18.20" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/linux-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm64@npm:0.20.2" +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-arm64@npm:0.25.12" +"@esbuild/linux-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-arm64@npm:0.27.3" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2269,23 +2166,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm@npm:0.18.20" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-arm@npm:0.20.2" +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-arm@npm:0.25.12" +"@esbuild/linux-arm@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-arm@npm:0.27.3" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2297,23 +2187,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ia32@npm:0.18.20" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/linux-ia32@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ia32@npm:0.20.2" +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-ia32@npm:0.25.12" +"@esbuild/linux-ia32@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-ia32@npm:0.27.3" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -2325,23 +2208,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-loong64@npm:0.18.20" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-loong64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-loong64@npm:0.20.2" +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-loong64@npm:0.25.12" +"@esbuild/linux-loong64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-loong64@npm:0.27.3" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -2353,23 +2229,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-mips64el@npm:0.18.20" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-mips64el@npm:0.20.2" +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-mips64el@npm:0.25.12" +"@esbuild/linux-mips64el@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-mips64el@npm:0.27.3" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -2381,23 +2250,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ppc64@npm:0.18.20" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-ppc64@npm:0.20.2" +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-ppc64@npm:0.25.12" +"@esbuild/linux-ppc64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-ppc64@npm:0.27.3" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -2409,23 +2271,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-riscv64@npm:0.18.20" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"@esbuild/linux-riscv64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-riscv64@npm:0.20.2" +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-riscv64@npm:0.25.12" +"@esbuild/linux-riscv64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-riscv64@npm:0.27.3" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -2437,23 +2292,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-s390x@npm:0.18.20" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"@esbuild/linux-s390x@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-s390x@npm:0.20.2" +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/linux-s390x@npm:0.25.12" +"@esbuild/linux-s390x@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-s390x@npm:0.27.3" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -2465,30 +2313,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-x64@npm:0.18.20" +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/linux-x64@npm:0.20.2" +"@esbuild/linux-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/linux-x64@npm:0.27.3" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.25.12": +"@esbuild/netbsd-arm64@npm:0.25.12": version: 0.25.12 - resolution: "@esbuild/linux-x64@npm:0.25.12" - conditions: os=linux & cpu=x64 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" + conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/netbsd-arm64@npm:0.25.12" +"@esbuild/netbsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/netbsd-arm64@npm:0.27.3" conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard @@ -2500,30 +2348,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/netbsd-x64@npm:0.18.20" +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/netbsd-x64@npm:0.20.2" +"@esbuild/netbsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/netbsd-x64@npm:0.27.3" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.25.12": +"@esbuild/openbsd-arm64@npm:0.25.12": version: 0.25.12 - resolution: "@esbuild/netbsd-x64@npm:0.25.12" - conditions: os=netbsd & cpu=x64 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" + conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/openbsd-arm64@npm:0.25.12" +"@esbuild/openbsd-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openbsd-arm64@npm:0.27.3" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -2535,30 +2383,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/openbsd-x64@npm:0.18.20" +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/openbsd-x64@npm:0.20.2" +"@esbuild/openbsd-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openbsd-x64@npm:0.27.3" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.25.12": +"@esbuild/openharmony-arm64@npm:0.25.12": version: 0.25.12 - resolution: "@esbuild/openbsd-x64@npm:0.25.12" - conditions: os=openbsd & cpu=x64 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" + conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@esbuild/openharmony-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/openharmony-arm64@npm:0.25.12" +"@esbuild/openharmony-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/openharmony-arm64@npm:0.27.3" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard @@ -2570,23 +2418,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/sunos-x64@npm:0.18.20" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/sunos-x64@npm:0.20.2" +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/sunos-x64@npm:0.25.12" +"@esbuild/sunos-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/sunos-x64@npm:0.27.3" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -2598,23 +2439,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-arm64@npm:0.18.20" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/win32-arm64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-arm64@npm:0.20.2" +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/win32-arm64@npm:0.25.12" +"@esbuild/win32-arm64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-arm64@npm:0.27.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2626,23 +2460,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-ia32@npm:0.18.20" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-ia32@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-ia32@npm:0.20.2" +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.25.12": - version: 0.25.12 - resolution: "@esbuild/win32-ia32@npm:0.25.12" +"@esbuild/win32-ia32@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-ia32@npm:0.27.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2654,20 +2481,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-x64@npm:0.18.20" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.20.2": - version: 0.20.2 - resolution: "@esbuild/win32-x64@npm:0.20.2" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@esbuild/win32-x64@npm:0.25.12": version: 0.25.12 resolution: "@esbuild/win32-x64@npm:0.25.12" @@ -2675,52 +2488,10 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: "npm:^3.3.0" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.1 - resolution: "@eslint-community/regexpp@npm:4.10.1" - checksum: 10c0/f59376025d0c91dd9fdf18d33941df499292a3ecba3e9889c360f3f6590197d30755604588786cdca0f9030be315a26b206014af4b65c0ff85b4ec49043de780 - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 - languageName: node - linkType: hard - -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 - languageName: node - linkType: hard - -"@fal-works/esbuild-plugin-global-externals@npm:^2.1.2": - version: 2.1.2 - resolution: "@fal-works/esbuild-plugin-global-externals@npm:2.1.2" - checksum: 10c0/2c84a8e6121b00ac8e4eb2469ab8f188142db2f1927391758e5d0142cb684b7eb0fad0c9d6caf358616eb2a77af2c067e08b9ec8e05749b415fc4dd0ef96d0fe +"@esbuild/win32-x64@npm:0.27.3": + version: 0.27.3 + resolution: "@esbuild/win32-x64@npm:0.27.3" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2769,55 +2540,6 @@ __metadata: languageName: node linkType: hard -"@grpc/grpc-js@npm:^1.7.1": - version: 1.10.10 - resolution: "@grpc/grpc-js@npm:1.10.10" - dependencies: - "@grpc/proto-loader": "npm:^0.7.13" - "@js-sdsl/ordered-map": "npm:^4.4.2" - checksum: 10c0/bc55b5d51f2c93af2c0076f3fed92ebcd936ade2c120d33455fc120d8a96197dfe412cff3e452788ab51bff0f9b58eebbafe8403516912693a41324c5cf45862 - languageName: node - linkType: hard - -"@grpc/proto-loader@npm:^0.7.13": - version: 0.7.13 - resolution: "@grpc/proto-loader@npm:0.7.13" - dependencies: - lodash.camelcase: "npm:^4.3.0" - long: "npm:^5.0.0" - protobufjs: "npm:^7.2.5" - yargs: "npm:^17.7.2" - bin: - proto-loader-gen-types: build/bin/proto-loader-gen-types.js - checksum: 10c0/dc8ed7aa1454c15e224707cc53d84a166b98d76f33606a9f334c7a6fb1aedd3e3614dcd2c2b02a6ffaf140587d19494f93b3a56346c6c2e26bc564f6deddbbf3 - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 - languageName: node - linkType: hard - -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c - languageName: node - linkType: hard - "@img/colour@npm:^1.0.0": version: 1.0.0 resolution: "@img/colour@npm:1.0.0" @@ -2825,18 +2547,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-darwin-arm64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-darwin-arm64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-darwin-arm64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-darwin-arm64": - optional: true - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@img/sharp-darwin-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-darwin-arm64@npm:0.33.5" @@ -2861,18 +2571,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-darwin-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-darwin-x64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-darwin-x64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-darwin-x64": - optional: true - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@img/sharp-darwin-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-darwin-x64@npm:0.33.5" @@ -2897,13 +2595,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-darwin-arm64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.2" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@img/sharp-libvips-darwin-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.4" @@ -2918,13 +2609,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-darwin-x64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.2" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@img/sharp-libvips-darwin-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.4" @@ -2939,13 +2623,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-arm64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.2" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.4" @@ -2960,13 +2637,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-arm@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-arm@npm:1.0.2" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-arm@npm:1.0.5": version: 1.0.5 resolution: "@img/sharp-libvips-linux-arm@npm:1.0.5" @@ -2995,13 +2665,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-s390x@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.2" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-s390x@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.4" @@ -3016,13 +2679,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linux-x64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linux-x64@npm:1.0.2" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-libvips-linux-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-x64@npm:1.0.4" @@ -3037,13 +2693,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linuxmusl-arm64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.2" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4" @@ -3058,13 +2707,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-linuxmusl-x64@npm:1.0.2": - version: 1.0.2 - resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.2" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4" @@ -3079,18 +2721,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-arm64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-arm64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-arm64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-arm64": - optional: true - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-arm64@npm:0.33.5" @@ -3115,18 +2745,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-arm@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-arm@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-arm": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-arm": - optional: true - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-arm@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-arm@npm:0.33.5" @@ -3175,18 +2793,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-s390x@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-s390x@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-s390x": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-s390x": - optional: true - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-s390x@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-s390x@npm:0.33.5" @@ -3211,18 +2817,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linux-x64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linux-x64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linux-x64": - optional: true - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@img/sharp-linux-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-x64@npm:0.33.5" @@ -3247,18 +2841,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linuxmusl-arm64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linuxmusl-arm64": - optional: true - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-linuxmusl-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.5" @@ -3283,18 +2865,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linuxmusl-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-linuxmusl-x64@npm:0.33.4" - dependencies: - "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.2" - dependenciesMeta: - "@img/sharp-libvips-linuxmusl-x64": - optional: true - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@img/sharp-linuxmusl-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linuxmusl-x64@npm:0.33.5" @@ -3319,15 +2889,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-wasm32@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-wasm32@npm:0.33.4" - dependencies: - "@emnapi/runtime": "npm:^1.1.1" - conditions: cpu=wasm32 - languageName: node - linkType: hard - "@img/sharp-wasm32@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-wasm32@npm:0.33.5" @@ -3353,13 +2914,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-win32-ia32@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-win32-ia32@npm:0.33.4" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@img/sharp-win32-ia32@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-ia32@npm:0.33.5" @@ -3374,13 +2928,6 @@ __metadata: languageName: node linkType: hard -"@img/sharp-win32-x64@npm:0.33.4": - version: 0.33.4 - resolution: "@img/sharp-win32-x64@npm:0.33.4" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@img/sharp-win32-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-x64@npm:0.33.5" @@ -3409,16 +2956,17 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" +"@jridgewell/gen-mapping@npm:^0.3.12": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: @@ -3429,6 +2977,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -3460,6 +3018,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -3480,172 +3045,135 @@ __metadata: languageName: node linkType: hard -"@js-sdsl/ordered-map@npm:^4.4.2": - version: 4.4.2 - resolution: "@js-sdsl/ordered-map@npm:4.4.2" - checksum: 10c0/cc7e15dc4acf6d9ef663757279600bab70533d847dcc1ab01332e9e680bd30b77cdf9ad885cc774276f51d98b05a013571c940e5b360985af5eb798dc1a2ee2b - languageName: node - linkType: hard - -"@js-temporal/polyfill@npm:^0.4.4": - version: 0.4.4 - resolution: "@js-temporal/polyfill@npm:0.4.4" - dependencies: - jsbi: "npm:^4.3.0" - tslib: "npm:^2.4.1" - checksum: 10c0/9edd8431f38837235c7dc88c48bfb2235ca13ec24f22848cd3ca7ebfdb169a2cb9654e04a7efca1488d2b67b851d84013f0bfa8dc3df207bd496ad13560ec937 - languageName: node - linkType: hard - -"@mdx-js/esbuild@npm:^2.0.0": - version: 2.3.0 - resolution: "@mdx-js/esbuild@npm:2.3.0" +"@jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: - "@mdx-js/mdx": "npm:^2.0.0" - node-fetch: "npm:^3.0.0" - vfile: "npm:^5.0.0" - peerDependencies: - esbuild: ">=0.11.0" - checksum: 10c0/ad6887a68d0751b59d01a5ff03087754e15fb7ff3da6e426ef370bc1745f8ce788c47f65e318ff24527153fa3e50bf1c35ac347b93e42e1b822b1c9346136ede + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 languageName: node linkType: hard -"@mdx-js/mdx@npm:^2.0.0": - version: 2.3.0 - resolution: "@mdx-js/mdx@npm:2.3.0" +"@mdx-js/mdx@npm:^3.0.1, @mdx-js/mdx@npm:^3.1.0": + version: 3.1.1 + resolution: "@mdx-js/mdx@npm:3.1.1" dependencies: + "@types/estree": "npm:^1.0.0" "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" "@types/mdx": "npm:^2.0.0" - estree-util-build-jsx: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - estree-util-to-js: "npm:^1.1.0" + acorn: "npm:^8.0.0" + collapse-white-space: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-util-scope: "npm:^1.0.0" estree-walker: "npm:^3.0.0" - hast-util-to-estree: "npm:^2.0.0" - markdown-extensions: "npm:^1.0.0" - periscopic: "npm:^3.0.0" - remark-mdx: "npm:^2.0.0" - remark-parse: "npm:^10.0.0" - remark-rehype: "npm:^10.0.0" - unified: "npm:^10.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - unist-util-visit: "npm:^4.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/719384d8e72abd3e83aa2fd3010394636e32cc0e5e286b6414427ef03121397586ce97ec816afcc4d2b22ba65939c3801a8198e04cf921dd597c0aa9fd75dbb4 - languageName: node - linkType: hard - -"@mdx-js/react@npm:^3.0.0": - version: 3.0.1 - resolution: "@mdx-js/react@npm:3.0.1" + hast-util-to-jsx-runtime: "npm:^2.0.0" + markdown-extensions: "npm:^2.0.0" + recma-build-jsx: "npm:^1.0.0" + recma-jsx: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + rehype-recma: "npm:^1.0.0" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-rehype: "npm:^11.0.0" + source-map: "npm:^0.7.0" + unified: "npm:^11.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/371ed95e2bee7731f30a7ce57db66383a0b7470e66c38139427174cb456d6a40bf7d259f3652716370c1de64acfba50a1ba27eb8c556e7a431dc7940b04cb1a1 + languageName: node + linkType: hard + +"@mdx-js/react@npm:^3.0.1": + version: 3.1.1 + resolution: "@mdx-js/react@npm:3.1.1" dependencies: "@types/mdx": "npm:^2.0.0" peerDependencies: "@types/react": ">=16" react: ">=16" - checksum: 10c0/d210d926ef488d39ad65f04d821936b668eadcdde3b6421e94ec4200ca7ad17f17d24c5cbc543882586af9f08b10e2eea715c728ce6277487945e05c5199f532 + checksum: 10c0/34ca98bc2a0f969894ea144dc5c8a5294690505458cd24965cd9be854d779c193ad9192bf9143c4c18438fafd1902e100d99067e045c69319288562d497558c6 languageName: node linkType: hard -"@next/env@npm:16.1.5": - version: 16.1.5 - resolution: "@next/env@npm:16.1.5" - checksum: 10c0/9d6442bee75386593d5da6e952146cf3c4338202e68a0ba9464d70c24ab7abb0c7e4ecd0ab661ca211e544fe7d6bd075270379bee3e97c5da3b6d082f95a04cd +"@napi-rs/wasm-runtime@npm:^1.1.1": + version: 1.1.1 + resolution: "@napi-rs/wasm-runtime@npm:1.1.1" + dependencies: + "@emnapi/core": "npm:^1.7.1" + "@emnapi/runtime": "npm:^1.7.1" + "@tybys/wasm-util": "npm:^0.10.1" + checksum: 10c0/04d57b67e80736e41fe44674a011878db0a8ad893f4d44abb9d3608debb7c174224cba2796ed5b0c1d367368159f3ca6be45f1c59222f70e32ddc880f803d447 languageName: node linkType: hard -"@next/eslint-plugin-next@npm:14.2.3": - version: 14.2.3 - resolution: "@next/eslint-plugin-next@npm:14.2.3" - dependencies: - glob: "npm:10.3.10" - checksum: 10c0/de9af2c7465cce4eb4cb50654aa2548d4d2af788c8992d02e2b863b1bf4f99e3b6604d1f0775f8e50aca6a53cf30d51f4ac56810d1625d401548267ca5f1d883 +"@next/env@npm:16.1.6": + version: 16.1.6 + resolution: "@next/env@npm:16.1.6" + checksum: 10c0/ed7023edb94b9b2e5da3f9c99d08b614da9757c1edd0ecec792fce4d336b4f0c64db1a84955e07cfbd848b9e61c4118fff28f4098cd7b0a7f97814a90565ebe6 languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-darwin-arm64@npm:16.1.5" +"@next/swc-darwin-arm64@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-darwin-arm64@npm:16.1.6" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-darwin-x64@npm:16.1.5" +"@next/swc-darwin-x64@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-darwin-x64@npm:16.1.6" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-arm64-gnu@npm:16.1.5" +"@next/swc-linux-arm64-gnu@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-arm64-gnu@npm:16.1.6" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-arm64-musl@npm:16.1.5" +"@next/swc-linux-arm64-musl@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-arm64-musl@npm:16.1.6" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-x64-gnu@npm:16.1.5" +"@next/swc-linux-x64-gnu@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-x64-gnu@npm:16.1.6" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-linux-x64-musl@npm:16.1.5" +"@next/swc-linux-x64-musl@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-linux-x64-musl@npm:16.1.6" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-win32-arm64-msvc@npm:16.1.5" +"@next/swc-win32-arm64-msvc@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-win32-arm64-msvc@npm:16.1.6" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:16.1.5": - version: 16.1.5 - resolution: "@next/swc-win32-x64-msvc@npm:16.1.5" +"@next/swc-win32-x64-msvc@npm:16.1.6": + version: 16.1.6 + resolution: "@next/swc-win32-x64-msvc@npm:16.1.6" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - "@npmcli/agent@npm:^2.0.0": version: 2.2.2 resolution: "@npmcli/agent@npm:2.2.2" @@ -3668,235 +3196,154 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api-logs@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/api-logs@npm:0.39.1" +"@opentelemetry/api-logs@npm:0.208.0, @opentelemetry/api-logs@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/api-logs@npm:0.208.0" dependencies: - "@opentelemetry/api": "npm:^1.0.0" - checksum: 10c0/b63bec7382662885ef8ad9bfbf4fb847e8fc393b566a5380b389e06c3da99abc511574e28f21b3c90c1bd7430296d2e0d8b8d39117514b6227ed1b4bc756a8f6 + "@opentelemetry/api": "npm:^1.3.0" + checksum: 10c0/dc1fbee6219df4166509f43b74ea936bb18b6d594565b0bcf56b654a1c958b50d6046b8739dc36c98149fe890c02150ff3814e963f5ea439a07ff3c562555b99 languageName: node linkType: hard -"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.4.1": +"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.9.0": version: 1.9.0 resolution: "@opentelemetry/api@npm:1.9.0" checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add languageName: node linkType: hard -"@opentelemetry/context-async-hooks@npm:1.25.0": - version: 1.25.0 - resolution: "@opentelemetry/context-async-hooks@npm:1.25.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/65b769ee31ef18bd4ce4383b270750b9de3ce5570181fcfa0a73aa9dda8a0564c28bbb47bd3340777a2c04b3a813bde2e6f03baf988ec479476696b2b48ca671 - languageName: node - linkType: hard - -"@opentelemetry/core@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/core@npm:1.13.0" - dependencies: - "@opentelemetry/semantic-conventions": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.5.0" - checksum: 10c0/318e0783f328168e463e392ca91ccdcbfe96bf743bbd8c60da9f55cf6a924eebfad730cb47cb23bfe09699567398ab8a3ac0c26324eafd6c9ad8ec582423b0cc - languageName: node - linkType: hard - -"@opentelemetry/core@npm:1.25.0, @opentelemetry/core@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/core@npm:1.25.0" +"@opentelemetry/core@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/core@npm:2.2.0" dependencies: - "@opentelemetry/semantic-conventions": "npm:1.25.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/94c96522e76b210bfb470ad7790fd36e8049ff89ee42f63fd725e542f40ff602d6ee9a349e4ffc2aa4f1df7c8a5c5cead1fb44a77eb2e47664b6692e5673e6d0 - languageName: node - linkType: hard - -"@opentelemetry/exporter-trace-otlp-grpc@npm:^0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/exporter-trace-otlp-grpc@npm:0.39.1" - dependencies: - "@grpc/grpc-js": "npm:^1.7.1" - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/otlp-grpc-exporter-base": "npm:0.39.1" - "@opentelemetry/otlp-transformer": "npm:0.39.1" - "@opentelemetry/resources": "npm:1.13.0" - "@opentelemetry/sdk-trace-base": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/6f167e2f8d84b99f18f916d5b3efdb35d6b1b196679e53f86c6ef15526bd484774d282b7ced6e7828ec3790ed9e74e4fd45e8e0bc38859adf71cfd6592f10cf5 - languageName: node - linkType: hard - -"@opentelemetry/otlp-exporter-base@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/otlp-exporter-base@npm:0.39.1" - dependencies: - "@opentelemetry/core": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/4cfca046f1e3920cd8b348bdd4722ac120d18af5ac1521820305dc5d1758efc31e4deaf0833710858e20b04f7f3132671d1b312a528e30ec68bae422f7a3e919 - languageName: node - linkType: hard - -"@opentelemetry/otlp-grpc-exporter-base@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/otlp-grpc-exporter-base@npm:0.39.1" - dependencies: - "@grpc/grpc-js": "npm:^1.7.1" - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/otlp-exporter-base": "npm:0.39.1" - protobufjs: "npm:^7.2.2" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/5ef441564396806f015113b970e53156a472a86e241e356ffa15d6b350ea7c017ab999203f880d0c3386a254dc215fadeb9d1b1020a9e0160b4e6c0360b4ad65 - languageName: node - linkType: hard - -"@opentelemetry/otlp-transformer@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/otlp-transformer@npm:0.39.1" - dependencies: - "@opentelemetry/api-logs": "npm:0.39.1" - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - "@opentelemetry/sdk-logs": "npm:0.39.1" - "@opentelemetry/sdk-metrics": "npm:1.13.0" - "@opentelemetry/sdk-trace-base": "npm:1.13.0" - peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.5.0" - checksum: 10c0/e81d88ac20f04ed5a3689bd31f307185bb6e9f0c447c9a4ba452d29e0c9fcdc0718e4c76843091f93b5966c63644ff05073ee0aa88cab47eee8a56bbf1cea1bc + checksum: 10c0/f618b63f2f560d052791d2406b1411722aa4b0585031242e6906f869f0a707ffe725c4b29bf18aed1f202e1ab5dfc3a9f769c517ac8521338b33ac8c4265fba9 languageName: node linkType: hard -"@opentelemetry/propagator-b3@npm:1.25.0": - version: 1.25.0 - resolution: "@opentelemetry/propagator-b3@npm:1.25.0" +"@opentelemetry/core@npm:2.6.0": + version: 2.6.0 + resolution: "@opentelemetry/core@npm:2.6.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/ccc2382fb731aa2f437a715426a120752873c0f90ebd5e82a31b9416487a2f40de8b3a14f740cbffb541fcca55b85c307bb971a16092ede15370c618d2354db6 + checksum: 10c0/526854a3d8917c82b41bfea6ed48f2e9ae38705d1758710b86f879e5c4910b9dbe7fa03d36205e98ebebe4854ae781116d8f298a10cd0fe2e51138e75926ec3a languageName: node linkType: hard -"@opentelemetry/propagator-jaeger@npm:1.25.0": - version: 1.25.0 - resolution: "@opentelemetry/propagator-jaeger@npm:1.25.0" +"@opentelemetry/exporter-logs-otlp-http@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/exporter-logs-otlp-http@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/otlp-exporter-base": "npm:0.208.0" + "@opentelemetry/otlp-transformer": "npm:0.208.0" + "@opentelemetry/sdk-logs": "npm:0.208.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/e4df7c3bee5a7adb6c06f0213bc3ee72e88e7e04296b9aa3e460e9966bb3e6d232fe0092c669a71022c278b506281f01fa156712b1231bd41b55e77d66587b6a + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/2b8c649e04bfc7c86ebc49de4afb19ccd2562ebfc15ac30f1689787d9b014392f6d936f43b494729d9723de0588276027f742ba825834c74d8a08cd366c284ab languageName: node linkType: hard -"@opentelemetry/resources@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/resources@npm:1.13.0" +"@opentelemetry/otlp-exporter-base@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-exporter-base@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/semantic-conventions": "npm:1.13.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/otlp-transformer": "npm:0.208.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.5.0" - checksum: 10c0/87180744fdb3b8659a9955b3d93397484d2af12de0e945f1311e2bee7f11b37761141b5db485c6dcaec079523be04d12d56303a35038ac1051f53a1db126f40f + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/c2b2014da16e2a2be0ebe525b1a62b3e64e286fc9c2575444e4c75bbe0060a83762172180dc7a97cdaaaa8c6765076073edea30340459fc1820cd43468ff98b0 languageName: node linkType: hard -"@opentelemetry/resources@npm:1.25.0, @opentelemetry/resources@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/resources@npm:1.25.0" +"@opentelemetry/otlp-transformer@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-transformer@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" - "@opentelemetry/semantic-conventions": "npm:1.25.0" + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + "@opentelemetry/sdk-logs": "npm:0.208.0" + "@opentelemetry/sdk-metrics": "npm:2.2.0" + "@opentelemetry/sdk-trace-base": "npm:2.2.0" + protobufjs: "npm:^7.3.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/e0877e1c6bff81385a112483a0471e530d17ed3b98e0c399595680debf43dd8e48100595414ea3d2f4ac4f911dbea5201da6e6e13cdf07463667c15d35dd774b + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/70c04b2a52f0b2f8aece25ad21401c32ed3136ccd6e82b767d570a24d5456a5ded206ed4cc60ebc09eac08a4aa9c03bc8dcbf10730e491f1af3e7768c361ac12 languageName: node linkType: hard -"@opentelemetry/sdk-logs@npm:0.39.1": - version: 0.39.1 - resolution: "@opentelemetry/sdk-logs@npm:0.39.1" +"@opentelemetry/resources@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/resources@npm:2.2.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.4.0 <1.5.0" - "@opentelemetry/api-logs": ">=0.38.0" - checksum: 10c0/9ef3620c8dbd51f8c5ed9b90b10032c048811e04aadcd694374da6c48a1688c073362afb631a69b3d5985e9267fa7bda3e3c111b92812ea13cbce23526e57b05 + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/f08fa69ccccb6d14b6932fabe6f8e097c0dfc41ae8f4c0f6c54fb04bc3d9c04e742da3e22d7240d74b585287101126d97a0da192b493a9724dc07a56ca1b77e0 languageName: node linkType: hard -"@opentelemetry/sdk-metrics@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/sdk-metrics@npm:1.13.0" +"@opentelemetry/resources@npm:^2.2.0": + version: 2.6.0 + resolution: "@opentelemetry/resources@npm:2.6.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - lodash.merge: "npm:4.6.2" + "@opentelemetry/core": "npm:2.6.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.5.0" - checksum: 10c0/f00b402138b12b1fbab1c1f7d9a4f7f6cdfe9d42ff9b585d2dcf46fca9ed44a624b55614a97bea120e3b0b357303bff524c8564145ad0711fba3c89625943a8b + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/9c75654690c0917be948ed18453f3085a54541f0db8c8b728515f5a26b67c5fc1f6acd2644462e17368045e3c3fd65f728e8bd0a19c31fe12cc443fa0f0f058c languageName: node linkType: hard -"@opentelemetry/sdk-trace-base@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/sdk-trace-base@npm:1.13.0" +"@opentelemetry/sdk-logs@npm:0.208.0, @opentelemetry/sdk-logs@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/sdk-logs@npm:0.208.0" dependencies: - "@opentelemetry/core": "npm:1.13.0" - "@opentelemetry/resources": "npm:1.13.0" - "@opentelemetry/semantic-conventions": "npm:1.13.0" + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.5.0" - checksum: 10c0/deb370f701b21e49b273716f479be9e5634ce3daa993741cc9500d8d8f11781835f1329398f1296402ad2a8455a159e500b42c6a977d83d6b2f8545517d9cbae + "@opentelemetry/api": ">=1.4.0 <1.10.0" + checksum: 10c0/a167ee7d2818e435ff7480836461f94543e4e39f0e8e8013d462c635def9b960dcf1a29e5536743946b51ef13b764f518d9edb511e89bc1e8995acc96f54241f languageName: node linkType: hard -"@opentelemetry/sdk-trace-base@npm:1.25.0, @opentelemetry/sdk-trace-base@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/sdk-trace-base@npm:1.25.0" +"@opentelemetry/sdk-metrics@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-metrics@npm:2.2.0" dependencies: - "@opentelemetry/core": "npm:1.25.0" - "@opentelemetry/resources": "npm:1.25.0" - "@opentelemetry/semantic-conventions": "npm:1.25.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/9630a306698cc50bdf1606d2c06c550f98dec2e44932b787175e74ecb95826551708206433a612a49ecb6587c4dddbd1491541c9c83fd785e05565d57e21abb3 + "@opentelemetry/api": ">=1.9.0 <1.10.0" + checksum: 10c0/a2668f9ef937123552a5ab96ec23675931ae7d3223ec7a31c8aac95fbbfb0b03a54a873f17f2356b04db7031421e7e3d7e3bf9d96d9069a0b97c680a2c158bc4 languageName: node linkType: hard -"@opentelemetry/sdk-trace-node@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/sdk-trace-node@npm:1.25.0" +"@opentelemetry/sdk-trace-base@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-trace-base@npm:2.2.0" dependencies: - "@opentelemetry/context-async-hooks": "npm:1.25.0" - "@opentelemetry/core": "npm:1.25.0" - "@opentelemetry/propagator-b3": "npm:1.25.0" - "@opentelemetry/propagator-jaeger": "npm:1.25.0" - "@opentelemetry/sdk-trace-base": "npm:1.25.0" - semver: "npm:^7.5.2" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/229932f25280eb52d2f46d6440a200cfbf39e8684986ccb1bd7e3b6e0424e8abd69efc38b432e66b31d037782f13f62eed3bd754cafe0568bf7449b7c5631521 - languageName: node - linkType: hard - -"@opentelemetry/semantic-conventions@npm:1.13.0": - version: 1.13.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.13.0" - checksum: 10c0/4cce9fea5f706743837e75d539552b2ebb24d0f870f1f5199f2827d4cc68e1bc4d7f54f21aff5051354dda23f6a8f7e6489d3f8c5838069f697bf32aac1fda84 + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/a67715b71d7253cd61ea79954f56491796ac7a660d03d5381fd81defd4546042bb465b27e1b6eee4b1ed32c00305a5349a16d04fd44314c9a1d371a0a638107a languageName: node linkType: hard -"@opentelemetry/semantic-conventions@npm:1.25.0, @opentelemetry/semantic-conventions@npm:^1.13.0": - version: 1.25.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.25.0" - checksum: 10c0/e4add5dff8e80edbae0821cd925203f1403fe38a3159eec7eb395484dd23b79f5b7c7f804829e9a28465be4ec2f0e2a20f307621c395471f9e36a2b07d189e90 +"@opentelemetry/semantic-conventions@npm:^1.29.0": + version: 1.40.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.40.0" + checksum: 10c0/3259de0ea11b52eb70e44c12eba21448392baf9cb74c37b62071c4a5ed7fb89b61e194f3898d40ac6bfa7293617a0e132876cb6e355472b66de0cdb13c50b529 languageName: node linkType: hard @@ -3907,13 +3354,6 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 - languageName: node - linkType: hard - "@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.11": version: 0.5.15 resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.15" @@ -3951,6 +3391,22 @@ __metadata: languageName: node linkType: hard +"@posthog/core@npm:1.23.2": + version: 1.23.2 + resolution: "@posthog/core@npm:1.23.2" + dependencies: + cross-spawn: "npm:^7.0.6" + checksum: 10c0/13d86e63e9a74255e33167c266fc10c3f485221093b235239543ebaaa80c07614e4485e02da3b0850281f9341f4c4014fdfa3998ed96fab8f6bf76bd39116c60 + languageName: node + linkType: hard + +"@posthog/types@npm:1.359.1": + version: 1.359.1 + resolution: "@posthog/types@npm:1.359.1" + checksum: 10c0/2214af79f79de57ef18f575444d8ba990cd1d9a51778702b8a918cb1809ae9a0ce0e2f2047d27f5cb912e1b0b0460d2218f26768d5949b5a8fce9f4167cd232a + languageName: node + linkType: hard + "@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": version: 1.1.2 resolution: "@protobufjs/aspromise@npm:1.1.2" @@ -4024,12 +3480,10 @@ __metadata: languageName: node linkType: hard -"@radix-ui/number@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/number@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/42e4870cd14459da6da03e43c7507dc4c807ed787a87bda52912a0d1d6d5013326b697c18c9625fc6a2cf0af2b45d9c86747985b45358fd92ab646b983978e3c +"@radix-ui/number@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/number@npm:1.1.1" + checksum: 10c0/0570ad92287398e8a7910786d7cee0a998174cdd6637ba61571992897c13204adf70b9ed02d0da2af554119411128e701d9c6b893420612897b438dc91db712b languageName: node linkType: hard @@ -4042,146 +3496,147 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-accordion@npm:^1.1.2": - version: 1.1.2 - resolution: "@radix-ui/react-accordion@npm:1.1.2" +"@radix-ui/primitive@npm:1.1.3": + version: 1.1.3 + resolution: "@radix-ui/primitive@npm:1.1.3" + checksum: 10c0/88860165ee7066fa2c179f32ffcd3ee6d527d9dcdc0e8be85e9cb0e2c84834be8e3c1a976c74ba44b193f709544e12f54455d892b28e32f0708d89deda6b9f1d + languageName: node + linkType: hard + +"@radix-ui/react-accordion@npm:^1.2.3": + version: 1.2.12 + resolution: "@radix-ui/react-accordion@npm:1.2.12" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collapsible": "npm:1.0.3" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collapsible": "npm:1.1.12" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/54fe3642306d62f68ac4d534c6bec1998d00d441663b16119fe267cb085e48761acf3c02b9466245d42b8ab419632a573d35d79d3a5d328906bde121dd1816db + checksum: 10c0/c64a53ce766a1ef529cf6413ed7382598c94f78879b3a83ceda27cb1894ed6eb6e8ad61f6a550ca3c7fa813657045dadfc7328dbf1d736a37e1cf3c446db43de languageName: node linkType: hard -"@radix-ui/react-alert-dialog@npm:^1.0.5": - version: 1.0.5 - resolution: "@radix-ui/react-alert-dialog@npm:1.0.5" +"@radix-ui/react-alert-dialog@npm:^1.1.6": + version: 1.1.15 + resolution: "@radix-ui/react-alert-dialog@npm:1.1.15" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-dialog": "npm:1.0.5" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-dialog": "npm:1.1.15" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/73854a1011b07a50261a12ce33c4b9d6585603e731a2ceffc7a4d2b8c795631716fda8b8006a813648e247d17abbaf290a419a935ae4cd70c83c3c70a34ce9f4 + checksum: 10c0/038de84ad1b36c162e5f5a3b4034de95558698eb6e3f483d2b1a15f4a502c921c4e6a5a723fe6f29e928ed7001ffe38ac6fd16bb720b1e629892ce7beb1da174 languageName: node linkType: hard -"@radix-ui/react-arrow@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-arrow@npm:1.0.3" +"@radix-ui/react-arrow@npm:1.1.7": + version: 1.1.7 + resolution: "@radix-ui/react-arrow@npm:1.1.7" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-primitive": "npm:2.1.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/c931f6d7e0bac50fd1654a0303a303aff74a68a13a33a851a43a7c88677b53a92ca6557920b9105144a3002f899ce888437d20ddd7803a5c716edac99587626d + checksum: 10c0/c3b46766238b3ee2a394d8806a5141432361bf1425110c9f0dcf480bda4ebd304453a53f294b5399c6ee3ccfcae6fd544921fd01ddc379cf5942acdd7168664b languageName: node linkType: hard -"@radix-ui/react-aspect-ratio@npm:^1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-aspect-ratio@npm:1.0.3" +"@radix-ui/react-aspect-ratio@npm:^1.1.2": + version: 1.1.8 + resolution: "@radix-ui/react-aspect-ratio@npm:1.1.8" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-primitive": "npm:2.1.4" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/e4d1ac88aa23b26957992f76f2b991e8e1fa0bd1b8e3bbcf871920b087e576ce0b5a35fe9ee4d477536ab07ff50362d42017e2f12ff6f41cba8ef80ae46b0f29 + checksum: 10c0/2cf162bf59ba555b7afe564b0efd5a1e6ee28b74ef44203ff14d6d575013fad98af9452e4ecef741b278bb7186ae54883376e5b32c3d15ffb92d3dcb02830973 languageName: node linkType: hard -"@radix-ui/react-collapsible@npm:1.0.3, @radix-ui/react-collapsible@npm:^1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-collapsible@npm:1.0.3" +"@radix-ui/react-collapsible@npm:1.1.12, @radix-ui/react-collapsible@npm:^1.1.3": + version: 1.1.12 + resolution: "@radix-ui/react-collapsible@npm:1.1.12" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/7bc3e601e3fa84991bdf46ea1bdb725760942f8facadf42f05808abc7a1399c6ab90a00c70699367026afbd8afba0254ff9634f9d1e05b24ae452d9e0524d328 + checksum: 10c0/777cced73fbbec9cfafe6325aa5605e90f49d889af2778f4c4a6be101c07cacd69ae817d0b41cc27e3181f49392e2c06db7f32d6b084db047a51805ec70729b3 languageName: node linkType: hard -"@radix-ui/react-collection@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-collection@npm:1.0.3" +"@radix-ui/react-collection@npm:1.1.7": + version: 1.1.7 + resolution: "@radix-ui/react-collection@npm:1.1.7" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/cefa56383d7451ca79e4bd5a29aaeef6c205a04297213efd149aaead82fc8cde4fb8298e20e6b3613e5696e43f814fb4489805428f6604834fb31f73c6725fa8 + checksum: 10c0/fa321a7300095508491f75414f02b243f0c3f179dc0728cfd115e2ea9f6f48f1516532b59f526d9ac81bbab63cd98a052074b4703ec0b9428fac945ebabec5fd languageName: node linkType: hard @@ -4200,6 +3655,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-compose-refs@npm:1.1.2": + version: 1.1.2 + resolution: "@radix-ui/react-compose-refs@npm:1.1.2" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/d36a9c589eb75d634b9b139c80f916aadaf8a68a7c1c4b8c6c6b88755af1a92f2e343457042089f04cc3f23073619d08bb65419ced1402e9d4e299576d970771 + languageName: node + linkType: hard + "@radix-ui/react-context@npm:1.0.1": version: 1.0.1 resolution: "@radix-ui/react-context@npm:1.0.1" @@ -4215,7 +3683,20 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-dialog@npm:1.0.5, @radix-ui/react-dialog@npm:^1.0.4, @radix-ui/react-dialog@npm:^1.0.5": +"@radix-ui/react-context@npm:1.1.2": + version: 1.1.2 + resolution: "@radix-ui/react-context@npm:1.1.2" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/cece731f8cc25d494c6589cc681e5c01a93867d895c75889973afa1a255f163c286e390baa7bc028858eaabe9f6b57270d0ca6377356f652c5557c1c7a41ccce + languageName: node + linkType: hard + +"@radix-ui/react-dialog@npm:1.0.5": version: 1.0.5 resolution: "@radix-ui/react-dialog@npm:1.0.5" dependencies: @@ -4248,18 +3729,48 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-direction@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-direction@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" +"@radix-ui/react-dialog@npm:1.1.15, @radix-ui/react-dialog@npm:^1.1.1, @radix-ui/react-dialog@npm:^1.1.6": + version: 1.1.15 + resolution: "@radix-ui/react-dialog@npm:1.1.15" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-focus-guards": "npm:1.1.3" + "@radix-ui/react-focus-scope": "npm:1.1.7" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + aria-hidden: "npm:^1.2.4" + react-remove-scroll: "npm:^2.6.3" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/2f2c88e3c281acaea2fd9b96fa82132d59177d3aa5da2e7c045596fd4028e84e44ac52ac28f4f236910605dd7d9338c2858ba44a9ced2af2e3e523abbfd33014 + languageName: node + linkType: hard + +"@radix-ui/react-direction@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-direction@npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/b1a45b4d1d5070ca3b5864b920f6c6210c962bdb519abb62b38b1baef9d06737dc3d8ecdb61860b7504a735235a539652f5977c7299ec021da84e6b0f64d988a + checksum: 10c0/7a89d9291f846a3105e45f4df98d6b7a08f8d7b30acdcd253005dc9db107ee83cbbebc9e47a9af1e400bcd47697f1511ceab23a399b0da854488fc7220482ac9 languageName: node linkType: hard @@ -4287,29 +3798,51 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-dropdown-menu@npm:^2.0.6": - version: 2.0.6 - resolution: "@radix-ui/react-dropdown-menu@npm:2.0.6" +"@radix-ui/react-dismissable-layer@npm:1.1.11": + version: 1.1.11 + resolution: "@radix-ui/react-dismissable-layer@npm:1.1.11" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-menu": "npm:2.0.6" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-escape-keydown": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/c825572a64073c4d3853702029979f6658770ffd6a98eabc4984e1dee1b226b4078a2a4dc7003f96475b438985e9b21a58e75f51db74dd06848dcae1f2d395dc + languageName: node + linkType: hard + +"@radix-ui/react-dropdown-menu@npm:^2.1.6": + version: 2.1.16 + resolution: "@radix-ui/react-dropdown-menu@npm:2.1.16" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-menu": "npm:2.1.16" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/525cab53547d2ce2904518b1f66b62179d656c57c8d6dd7dbe863cc05025d8bad535f44011e2735b07fc500579c3d64d89a9a39593d4c8f91f31052d75b729e1 + checksum: 10c0/8caaa8dd791ccb284568720adafa59855e13860aa29eb20e10a04ba671cbbfa519a4c5d3a339a4d9fb08009eeb1065f4a8b5c3c8ef45e9753161cc560106b935 languageName: node linkType: hard @@ -4328,6 +3861,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-focus-guards@npm:1.1.3": + version: 1.1.3 + resolution: "@radix-ui/react-focus-guards@npm:1.1.3" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/0bab65eb8d7e4f72f685d63de7fbba2450e3cb15ad6a20a16b42195e9d335c576356f5a47cb58d1ffc115393e46d7b14b12c5d4b10029b0ec090861255866985 + languageName: node + linkType: hard + "@radix-ui/react-focus-scope@npm:1.0.4": version: 1.0.4 resolution: "@radix-ui/react-focus-scope@npm:1.0.4" @@ -4350,12 +3896,33 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-icons@npm:^1.3.0": - version: 1.3.0 - resolution: "@radix-ui/react-icons@npm:1.3.0" +"@radix-ui/react-focus-scope@npm:1.1.7": + version: 1.1.7 + resolution: "@radix-ui/react-focus-scope@npm:1.1.7" + dependencies: + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/8a6071331bdeeb79b223463de75caf759b8ad19339cab838e537b8dbb2db236891a1f4df252445c854d375d43d9d315dfcce0a6b01553a2984ec372bb8f1300e + languageName: node + linkType: hard + +"@radix-ui/react-icons@npm:^1.3.2": + version: 1.3.2 + resolution: "@radix-ui/react-icons@npm:1.3.2" peerDependencies: - react: ^16.x || ^17.x || ^18.x - checksum: 10c0/581657680e43fd13ff06e01f963e3afa94671d4ce6c3fb126e2c70c993ab8650faa55286974032dbccfecca4db57308fb66d53771d765887e03600cddee84ae5 + react: ^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc + checksum: 10c0/3a380c7ae47e330ebd8ab4846729a543b4a0be5ecb1e2a7a571f4394728ff7d428b01f6620128051b6b69d63138a0ab8de77af78221ec364fbc5d126acf55b4a languageName: node linkType: hard @@ -4375,69 +3942,82 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-menu@npm:2.0.6": - version: 2.0.6 - resolution: "@radix-ui/react-menu@npm:2.0.6" +"@radix-ui/react-id@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-id@npm:1.1.1" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-dismissable-layer": "npm:1.0.5" - "@radix-ui/react-focus-guards": "npm:1.0.1" - "@radix-ui/react-focus-scope": "npm:1.0.4" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-popper": "npm:1.1.3" - "@radix-ui/react-portal": "npm:1.0.4" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-roving-focus": "npm:1.0.4" - "@radix-ui/react-slot": "npm:1.0.2" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - aria-hidden: "npm:^1.1.1" - react-remove-scroll: "npm:2.5.5" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/7d12e76818763d592c331277ef62b197e2e64945307e650bd058f0090e5ae48bbd07691b23b7e9e977901ef4eadcb3e2d5eaeb17a13859083384be83fc1292c7 + languageName: node + linkType: hard + +"@radix-ui/react-menu@npm:2.1.16": + version: 2.1.16 + resolution: "@radix-ui/react-menu@npm:2.1.16" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-focus-guards": "npm:1.1.3" + "@radix-ui/react-focus-scope": "npm:1.1.7" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-popper": "npm:1.2.8" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-roving-focus": "npm:1.1.11" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + aria-hidden: "npm:^1.2.4" + react-remove-scroll: "npm:^2.6.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/06926fa59cb8f5614f2e1a085ea1cbf09631ae28fb6e5d6e6d2a0a84d24979e3aca311cdb19dfdb254c1823ff85fd5250c29d4463f8f7622dd523e35df3fce1d + checksum: 10c0/27516b2b987fa9181c4da8645000af8f60691866a349d7a46b9505fa7d2e9d92b9e364db4f7305d08e9e57d0e1afc8df8354f8ee3c12aa05c0100c16b0e76c27 languageName: node linkType: hard -"@radix-ui/react-popper@npm:1.1.3": - version: 1.1.3 - resolution: "@radix-ui/react-popper@npm:1.1.3" +"@radix-ui/react-popper@npm:1.2.8": + version: 1.2.8 + resolution: "@radix-ui/react-popper@npm:1.2.8" dependencies: - "@babel/runtime": "npm:^7.13.10" "@floating-ui/react-dom": "npm:^2.0.0" - "@radix-ui/react-arrow": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - "@radix-ui/react-use-rect": "npm:1.0.1" - "@radix-ui/react-use-size": "npm:1.0.1" - "@radix-ui/rect": "npm:1.0.1" + "@radix-ui/react-arrow": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + "@radix-ui/react-use-rect": "npm:1.1.1" + "@radix-ui/react-use-size": "npm:1.1.1" + "@radix-ui/rect": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/a38c374ec65dd8d7c604af7151e96faec1743828d859dc4892e720c1803a7e1562add26aec2ddf2091defae4e15d989c028032ea481419e38c4693b3f12545c3 + checksum: 10c0/48e3f13eac3b8c13aca8ded37d74db17e1bb294da8d69f142ab6b8719a06c3f90051668bed64520bf9f3abdd77b382ce7ce209d056bb56137cecc949b69b421c languageName: node linkType: hard @@ -4461,6 +4041,26 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-portal@npm:1.1.9": + version: 1.1.9 + resolution: "@radix-ui/react-portal@npm:1.1.9" + dependencies: + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 10c0/45b432497c722720c72c493a29ef6085bc84b50eafe79d48b45c553121b63e94f9cdb77a3a74b9c49126f8feb3feee009fe400d48b7759d3552396356b192cd7 + languageName: node + linkType: hard + "@radix-ui/react-presence@npm:1.0.1": version: 1.0.1 resolution: "@radix-ui/react-presence@npm:1.0.1" @@ -4482,40 +4082,32 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-primitive@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-primitive@npm:1.0.3" +"@radix-ui/react-presence@npm:1.1.5": + version: 1.1.5 + resolution: "@radix-ui/react-presence@npm:1.1.5" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-slot": "npm:1.0.2" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/67a66ff8898a5e7739eda228ab6f5ce808858da1dce967014138d87e72b6bbfc93dc1467c706d98d1a2b93bf0b6e09233d1a24d31c78227b078444c1a69c42be + checksum: 10c0/d0e61d314250eeaef5369983cb790701d667f51734bafd98cf759072755562018052c594e6cdc5389789f4543cb0a4d98f03ff4e8f37338d6b5bf51a1700c1d1 languageName: node linkType: hard -"@radix-ui/react-roving-focus@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-roving-focus@npm:1.0.4" +"@radix-ui/react-primitive@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-primitive@npm:1.0.3" dependencies: "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@radix-ui/react-slot": "npm:1.0.2" peerDependencies: "@types/react": "*" "@types/react-dom": "*" @@ -4526,857 +4118,587 @@ __metadata: optional: true "@types/react-dom": optional: true - checksum: 10c0/61e3ddfd1647e64fba855434ff41e8e7ba707244fe8841f78c450fbdce525383b64259279475615d030dbf1625cbffd8eeebee72d91bf6978794f5dbcf887fc0 + checksum: 10c0/67a66ff8898a5e7739eda228ab6f5ce808858da1dce967014138d87e72b6bbfc93dc1467c706d98d1a2b93bf0b6e09233d1a24d31c78227b078444c1a69c42be languageName: node linkType: hard -"@radix-ui/react-scroll-area@npm:^1.0.5": - version: 1.0.5 - resolution: "@radix-ui/react-scroll-area@npm:1.0.5" +"@radix-ui/react-primitive@npm:2.1.3": + version: 2.1.3 + resolution: "@radix-ui/react-primitive@npm:2.1.3" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/number": "npm:1.0.1" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@radix-ui/react-slot": "npm:1.2.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/a08818aeeb15920a02e708699a8bdc85c26eab0579ab741129b464a799b5d9a04f81810a2d200f1cf4aef03452067770e87b0f81593a689350fcd7e51819e4cb + checksum: 10c0/fdff9b84913bb4172ef6d3af7442fca5f9bba5f2709cba08950071f819d7057aec3a4a2d9ef44cf9cbfb8014d02573c6884a04cff175895823aaef809ebdb034 languageName: node linkType: hard -"@radix-ui/react-select@npm:^2.0.0": - version: 2.0.0 - resolution: "@radix-ui/react-select@npm:2.0.0" +"@radix-ui/react-primitive@npm:2.1.4": + version: 2.1.4 + resolution: "@radix-ui/react-primitive@npm:2.1.4" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/number": "npm:1.0.1" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-dismissable-layer": "npm:1.0.5" - "@radix-ui/react-focus-guards": "npm:1.0.1" - "@radix-ui/react-focus-scope": "npm:1.0.4" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-popper": "npm:1.1.3" - "@radix-ui/react-portal": "npm:1.0.4" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - "@radix-ui/react-use-previous": "npm:1.0.1" - "@radix-ui/react-visually-hidden": "npm:1.0.3" - aria-hidden: "npm:^1.1.1" - react-remove-scroll: "npm:2.5.5" + "@radix-ui/react-slot": "npm:1.2.4" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/63aa4d119c5273035a2fce5a05739729abb8995ead00e810b86acfba05835fda655d962d3553b1f2011ed4f84e328f1e7e171cd9eaa7e3433b3d65c58cf3394a + checksum: 10c0/90d687b222a25975371ed1f9f08648d75237214b8dec4cbaf09ec9ac951339b17421278f1aff2fb7c5672ba8bd03774a94904efdba73805dd5cc947ce5be8c4a languageName: node linkType: hard -"@radix-ui/react-separator@npm:^1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-separator@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" +"@radix-ui/react-roving-focus@npm:1.1.11": + version: 1.1.11 + resolution: "@radix-ui/react-roving-focus@npm:1.1.11" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/87bcde47343f2bc4439a0dc34381f557905d9b3c1e8c5a0d32ceea62a8ef84f3abf671c5cb29309fc87759ad41d39af619ba546cf54109d64c8746e3ca683de3 + checksum: 10c0/2cd43339c36e89a3bf1db8aab34b939113dfbde56bf3a33df2d74757c78c9489b847b1962f1e2441c67e41817d120cb6177943e0f655f47bc1ff8e44fd55b1a2 languageName: node linkType: hard -"@radix-ui/react-slot@npm:1.0.2, @radix-ui/react-slot@npm:^1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-slot@npm:1.0.2" +"@radix-ui/react-scroll-area@npm:^1.2.3": + version: 1.2.10 + resolution: "@radix-ui/react-scroll-area@npm:1.2.10" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "npm:1.0.1" + "@radix-ui/number": "npm:1.1.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347 - languageName: node - linkType: hard - -"@radix-ui/react-tabs@npm:^1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-tabs@npm:1.0.4" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-roving-focus": "npm:1.0.4" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@types/react-dom": + optional: true + checksum: 10c0/8acdacd255fdfcefe4f72028a13dc554df73327db94c250f54a85b9608aa0313284dbb6c417f28a48e7b7b7bcaa76ddf3297e91ba07d833604d428f869259622 + languageName: node + linkType: hard + +"@radix-ui/react-select@npm:^2.1.6": + version: 2.2.6 + resolution: "@radix-ui/react-select@npm:2.2.6" + dependencies: + "@radix-ui/number": "npm:1.1.1" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-collection": "npm:1.1.7" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-focus-guards": "npm:1.1.3" + "@radix-ui/react-focus-scope": "npm:1.1.7" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-popper": "npm:1.2.8" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + "@radix-ui/react-use-previous": "npm:1.1.1" + "@radix-ui/react-visually-hidden": "npm:1.2.3" + aria-hidden: "npm:^1.2.4" + react-remove-scroll: "npm:^2.6.3" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/79699a921f5c2e890e0e496a751d9c2a7c4017eff8e52f094389e993263332881353bdd27b8cc123c906b36743e803eec7f32fdbb4d413328cba0a37d6413339 + checksum: 10c0/34b2492589c3a4b118a03900d622640033630f30ac93c4a69b3701513117607f4ac3a0d9dd3cad39caa8b6495660f71f3aa9d0074d4eb4dac6804dc0b8408deb languageName: node linkType: hard -"@radix-ui/react-tooltip@npm:^1.0.7": - version: 1.0.7 - resolution: "@radix-ui/react-tooltip@npm:1.0.7" +"@radix-ui/react-separator@npm:^1.1.2": + version: 1.1.8 + resolution: "@radix-ui/react-separator@npm:1.1.8" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-dismissable-layer": "npm:1.0.5" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-popper": "npm:1.1.3" - "@radix-ui/react-portal": "npm:1.0.4" - "@radix-ui/react-presence": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - "@radix-ui/react-visually-hidden": "npm:1.0.3" + "@radix-ui/react-primitive": "npm:2.1.4" peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 10c0/915524ea9d102eb26e656c550a084ca460219041c0e7cec0e72b522ee52a43b4d725f4ad3352212f4ae88b3672ef7b23bad07844275cafea075ada590678d873 + checksum: 10c0/92e1353f696a22167c90f2c610b440be1fae3c05128287560914f124eef83d74c06ad25431923f3595032e6d89c23d479c95434390f4c0d9d4a68ec8d563ae0c languageName: node linkType: hard -"@radix-ui/react-use-callback-ref@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1" +"@radix-ui/react-slot@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-slot@npm:1.0.2" dependencies: "@babel/runtime": "npm:^7.13.10" + "@radix-ui/react-compose-refs": "npm:1.0.1" peerDependencies: "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/331b432be1edc960ca148637ae6087220873ee828ceb13bd155926ef8f49e862812de5b379129f6aaefcd11be53715f3237e6caa9a33d9c0abfff43f3ba58938 + checksum: 10c0/3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347 languageName: node linkType: hard -"@radix-ui/react-use-controllable-state@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1" +"@radix-ui/react-slot@npm:1.2.3": + version: 1.2.3 + resolution: "@radix-ui/react-slot@npm:1.2.3" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" + "@radix-ui/react-compose-refs": "npm:1.1.2" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/29b069dbf09e48bca321af6272574ad0fc7283174e7d092731a10663fe00c0e6b4bde5e1b5ea67725fe48dcbe8026e7ff0d69d42891c62cbb9ca408498171fbe + checksum: 10c0/5913aa0d760f505905779515e4b1f0f71a422350f077cc8d26d1aafe53c97f177fec0e6d7fbbb50d8b5e498aa9df9f707ca75ae3801540c283b26b0136138eef languageName: node linkType: hard -"@radix-ui/react-use-escape-keydown@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3" +"@radix-ui/react-slot@npm:1.2.4, @radix-ui/react-slot@npm:^1.1.2": + version: 1.2.4 + resolution: "@radix-ui/react-slot@npm:1.2.4" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" + "@radix-ui/react-compose-refs": "npm:1.1.2" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/3c94c78902dcb40b60083ee2184614f45c95a189178f52d89323b467bd04bcf5fdb1bc4d43debecd7f0b572c3843c7e04edbcb56f40a4b4b43936fb2770fb8ad + checksum: 10c0/8b719bb934f1ae5ac0e37214783085c17c2f1080217caf514c1c6cc3d9ca56c7e19d25470b26da79aa6e605ab36589edaade149b76f5fc0666f1063e2fc0a0dc languageName: node linkType: hard -"@radix-ui/react-use-layout-effect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1" +"@radix-ui/react-tabs@npm:^1.1.3": + version: 1.1.13 + resolution: "@radix-ui/react-tabs@npm:1.1.13" dependencies: - "@babel/runtime": "npm:^7.13.10" + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-direction": "npm:1.1.1" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-roving-focus": "npm:1.1.11" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/13cd0c38395c5838bc9a18238020d3bcf67fb340039e6d1cbf438be1b91d64cf6900b78121f3dc9219faeb40dcc7b523ce0f17e4a41631655690e5a30a40886a + "@types/react-dom": + optional: true + checksum: 10c0/a3c78cd8c30dcb95faf1605a8424a1a71dab121dfa6e9c0019bb30d0f36d882762c925b17596d4977990005a255d8ddc0b7454e4f83337fe557b45570a2d8058 languageName: node linkType: hard -"@radix-ui/react-use-previous@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-previous@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" +"@radix-ui/react-tooltip@npm:^1.1.8": + version: 1.2.8 + resolution: "@radix-ui/react-tooltip@npm:1.2.8" + dependencies: + "@radix-ui/primitive": "npm:1.1.3" + "@radix-ui/react-compose-refs": "npm:1.1.2" + "@radix-ui/react-context": "npm:1.1.2" + "@radix-ui/react-dismissable-layer": "npm:1.1.11" + "@radix-ui/react-id": "npm:1.1.1" + "@radix-ui/react-popper": "npm:1.2.8" + "@radix-ui/react-portal": "npm:1.1.9" + "@radix-ui/react-presence": "npm:1.1.5" + "@radix-ui/react-primitive": "npm:2.1.3" + "@radix-ui/react-slot": "npm:1.2.3" + "@radix-ui/react-use-controllable-state": "npm:1.2.2" + "@radix-ui/react-visually-hidden": "npm:1.2.3" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/f5fbc602108668484a4ed506b7842482222d1d03094362e26abb7fdd593eee8794fc47d85b3524fb9d00884801c89a6eefd0bed0971eba1ec189c637b6afd398 + "@types/react-dom": + optional: true + checksum: 10c0/de0cbae9c571a00671f160928d819e59502f59be8749f536ab4b180181d9d70aee3925a5b2555f8f32d0bea622bc35f65b70ca7ff0449e4844f891302310cc48 languageName: node linkType: hard -"@radix-ui/react-use-rect@npm:1.0.1": +"@radix-ui/react-use-callback-ref@npm:1.0.1": version: 1.0.1 - resolution: "@radix-ui/react-use-rect@npm:1.0.1" + resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1" dependencies: "@babel/runtime": "npm:^7.13.10" - "@radix-ui/rect": "npm:1.0.1" peerDependencies: "@types/react": "*" react: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/94c5ab31dfd3678c0cb77a30025e82b3a287577c1a8674b0d703a36d27434bc9c59790e0bebf57ed153f0b8e0d8c3b9675fc9787b9eac525a09abcda8fa9e7eb + checksum: 10c0/331b432be1edc960ca148637ae6087220873ee828ceb13bd155926ef8f49e862812de5b379129f6aaefcd11be53715f3237e6caa9a33d9c0abfff43f3ba58938 languageName: node linkType: hard -"@radix-ui/react-use-size@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-size@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" +"@radix-ui/react-use-callback-ref@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-callback-ref@npm:1.1.1" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/b109a4b3781781c4dc641a1173f0a6fcb0b0f7b2d7cdba5848a46070c9fb4e518909a46c20a3c2efbc78737c64859c59ead837f2940e8c8394d1c503ef58773b + checksum: 10c0/5f6aff8592dea6a7e46589808912aba3fb3b626cf6edd2b14f01638b61dbbe49eeb9f67cd5601f4c15b2fb547b9a7e825f7c4961acd4dd70176c969ae405f8d8 languageName: node linkType: hard -"@radix-ui/react-visually-hidden@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-visually-hidden@npm:1.0.3" +"@radix-ui/react-use-controllable-state@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1" dependencies: "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-use-callback-ref": "npm:1.0.1" peerDependencies: "@types/react": "*" - "@types/react-dom": "*" react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: "@types/react": optional: true - "@types/react-dom": - optional: true - checksum: 10c0/0cbc12c2156b3fa0e40090cafd8525ce84c16a6b5a038a8e8fc7cbb16ed6da9ab369593962c57a18c41a16ec8713e0195c68ea34072ef1ca254ed4d4c0770bb4 - languageName: node - linkType: hard - -"@radix-ui/rect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/rect@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/4c5159661340acc31b11e1f2ebd87a1521d39bfa287544dd2cd75b399539a4b625d38a1501c90ceae21fcca18ed164b0c3735817ff140ae334098192c110e571 - languageName: node - linkType: hard - -"@rehype-pretty/transformers@npm:^0.13.2": - version: 0.13.2 - resolution: "@rehype-pretty/transformers@npm:0.13.2" - checksum: 10c0/4b9e8b21c7ea2ff90c17b9968744d730a362f6fe501230e983fdcd95fcee37b639c2604b73196edebcea771f641e7a0c66fcc2728dd641cdaefcfa10d2f18226 - languageName: node - linkType: hard - -"@rushstack/eslint-patch@npm:^1.3.3": - version: 1.10.3 - resolution: "@rushstack/eslint-patch@npm:1.10.3" - checksum: 10c0/ec75d23fba30fc5f3303109181ce81a686f7b5660b6e06d454cd7b74a635bd68d5b28300ddd6e2a53b6cb10a876246e952e12fa058af32b2fa29b73744f00521 - languageName: node - linkType: hard - -"@shikijs/core@npm:1.6.2": - version: 1.6.2 - resolution: "@shikijs/core@npm:1.6.2" - checksum: 10c0/011068de5299c3f8508ccb6cb0432b573bedd521a9d66e4ba1b8ed28960d7a7a7c813a566452ca0959aab159793bec658c2c1f06cb0b4eff2885794dea72cfb6 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@storybook/addon-actions@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-actions@npm:8.1.6" - dependencies: - "@storybook/core-events": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@types/uuid": "npm:^9.0.1" - dequal: "npm:^2.0.2" - polished: "npm:^4.2.2" - uuid: "npm:^9.0.0" - checksum: 10c0/f5c79d27d6959edf32eee33a9d077efe45942ab76455b827597646d2d4724d96ba0ecf191ebd419ff8ef2e529751ea7c364ce79374b428cd7b94d4b312c9804e - languageName: node - linkType: hard - -"@storybook/addon-backgrounds@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-backgrounds@npm:8.1.6" - dependencies: - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/f801a85ba5e5250e519180c42b2886bd4b0ba4bf94854e5a2831daa0feb7c928490a86b305b9bb03decef4e76fad285f0b2fcef86e497fe2d2d8c1a98d5128cb - languageName: node - linkType: hard - -"@storybook/addon-controls@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-controls@npm:8.1.6" - dependencies: - "@storybook/blocks": "npm:8.1.6" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/449ad5737c8bf3f88716dd59a2af8c0e777313a4b2c0232729bc49b1b078bcaae012132151c0f6cd1e4fcd7a375e8fb6cd484f801b21c5ddbc385fc5558d10ca - languageName: node - linkType: hard - -"@storybook/addon-docs@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-docs@npm:8.1.6" - dependencies: - "@babel/core": "npm:^7.24.4" - "@mdx-js/react": "npm:^3.0.0" - "@storybook/blocks": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/components": "npm:8.1.6" - "@storybook/csf-plugin": "npm:8.1.6" - "@storybook/csf-tools": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/react-dom-shim": "npm:8.1.6" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/react": "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - fs-extra: "npm:^11.1.0" - react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0" - rehype-external-links: "npm:^3.0.0" - rehype-slug: "npm:^6.0.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/3c117d0b8d2fb3280412af7fb7140dca7b8e489f0b3540159eeb6a590ddcf2831a3351a61002e02316508257d7412d43441418c69adf8ab0984f1d14a88afe15 - languageName: node - linkType: hard - -"@storybook/addon-essentials@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-essentials@npm:8.1.6" - dependencies: - "@storybook/addon-actions": "npm:8.1.6" - "@storybook/addon-backgrounds": "npm:8.1.6" - "@storybook/addon-controls": "npm:8.1.6" - "@storybook/addon-docs": "npm:8.1.6" - "@storybook/addon-highlight": "npm:8.1.6" - "@storybook/addon-measure": "npm:8.1.6" - "@storybook/addon-outline": "npm:8.1.6" - "@storybook/addon-toolbars": "npm:8.1.6" - "@storybook/addon-viewport": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/manager-api": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/d3f922df82985455f9c7da93861b65d85d94414469825d4a1cdd70087c05e1bf526c285cd34496aa86171ef26ac051aaba9f4bbdc500ee7f3f7a33e4ef8c135a - languageName: node - linkType: hard - -"@storybook/addon-highlight@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-highlight@npm:8.1.6" - dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/fe36b22c5d754fd437fd194f6679e826e847265bf83cefa1bf453a9b853976871873d5533ad0764d1ea18c4acb5c7ff7be5902a6127a8c956f8aba7fbe27fee5 - languageName: node - linkType: hard - -"@storybook/addon-interactions@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-interactions@npm:8.1.6" - 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 + checksum: 10c0/29b069dbf09e48bca321af6272574ad0fc7283174e7d092731a10663fe00c0e6b4bde5e1b5ea67725fe48dcbe8026e7ff0d69d42891c62cbb9ca408498171fbe languageName: node linkType: hard -"@storybook/addon-links@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-links@npm:8.1.6" +"@radix-ui/react-use-controllable-state@npm:1.2.2": + version: 1.2.2 + resolution: "@radix-ui/react-use-controllable-state@npm:1.2.2" dependencies: - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" + "@radix-ui/react-use-effect-event": "npm:0.0.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - react: + "@types/react": optional: true - checksum: 10c0/3f687e5f3baabf3d0a316721ae96fde35b52b99ec69b69095bbbc62b0398e755640682d683b89154866882275b2c4ffba9514660bee49e95a718631fc322375a + checksum: 10c0/f55c4b06e895293aed4b44c9ef26fb24432539f5346fcd6519c7745800535b571058685314e83486a45bf61dc83887e24826490d3068acc317fb0a9010516e63 languageName: node linkType: hard -"@storybook/addon-measure@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-measure@npm:8.1.6" +"@radix-ui/react-use-effect-event@npm:0.0.2": + version: 0.0.2 + resolution: "@radix-ui/react-use-effect-event@npm:0.0.2" dependencies: - "@storybook/global": "npm:^5.0.0" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/b3b7306e69ed57d6868c4a1ad146138162a5a6098c6c8620a46ca7332fb21efeba7c6882447efcfcc10dd555a4ccc2ac4386a635cb683d81aa9db0a600b609b1 + "@radix-ui/react-use-layout-effect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/e84ff72a3e76c5ae9c94941028bb4b6472f17d4104481b9eab773deab3da640ecea035e54da9d6f4df8d84c18ef6913baf92b7511bee06930dc58bd0c0add417 languageName: node linkType: hard -"@storybook/addon-onboarding@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-onboarding@npm:8.1.6" +"@radix-ui/react-use-escape-keydown@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3" dependencies: - react-confetti: "npm:^6.1.0" - checksum: 10c0/9b5e6baa3a684bcccc88204524b7d5483029c1cbb7062ba49b7303403dc1eae15a660f473e196210e6523b4f2a7802d8c96f9bfe99577e8d6fff6a6b430f3b8d + "@babel/runtime": "npm:^7.13.10" + "@radix-ui/react-use-callback-ref": "npm:1.0.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/3c94c78902dcb40b60083ee2184614f45c95a189178f52d89323b467bd04bcf5fdb1bc4d43debecd7f0b572c3843c7e04edbcb56f40a4b4b43936fb2770fb8ad languageName: node linkType: hard -"@storybook/addon-outline@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-outline@npm:8.1.6" +"@radix-ui/react-use-escape-keydown@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-escape-keydown@npm:1.1.1" dependencies: - "@storybook/global": "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/452e94fc198c2b0633ca15edbd6e1aa3ce5b964f105e556b146153c3a802b92708281b37add48783e786a3f8016018e03f4d040c42188caebd16b628ca3d3736 + "@radix-ui/react-use-callback-ref": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/bff53be99e940fef1d3c4df7d560e1d9133182e5a98336255d3063327d1d3dd4ec54a95dc5afe15cca4fb6c184f0a956c70de2815578c318cf995a7f9beabaa1 languageName: node linkType: hard -"@storybook/addon-styling-webpack@npm:^1.0.0": - version: 1.0.0 - resolution: "@storybook/addon-styling-webpack@npm:1.0.0" +"@radix-ui/react-use-layout-effect@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1" dependencies: - "@storybook/node-logger": "npm:^8.0.0-alpha.10" + "@babel/runtime": "npm:^7.13.10" peerDependencies: - webpack: ^5.0.0 - checksum: 10c0/34f29998305bfc9778f19d349b3237053e5661e4bbb5b7aadc6cad52b355a1123210445eca839087b3921e0a1a0057d09054adeb2d2114db6ea978f5afc4e5c7 + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/13cd0c38395c5838bc9a18238020d3bcf67fb340039e6d1cbf438be1b91d64cf6900b78121f3dc9219faeb40dcc7b523ce0f17e4a41631655690e5a30a40886a languageName: node linkType: hard -"@storybook/addon-themes@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-themes@npm:8.1.6" - dependencies: - ts-dedent: "npm:^2.0.0" - checksum: 10c0/9ac9b29eabdce73d9938838bf297a21397cc099e29c53e322e7bc7f7e1df7fd6954383905ac6ffd441322fe10c33e8fd8ded38fae0fc48e1082885d78e3f2cb6 +"@radix-ui/react-use-layout-effect@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-layout-effect@npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/9f98fdaba008dfc58050de60a77670b885792df473cf82c1cef8daee919a5dd5a77d270209f5f0b0abfaac78cb1627396e3ff56c81b735be550409426fe8b040 languageName: node linkType: hard -"@storybook/addon-toolbars@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-toolbars@npm:8.1.6" - checksum: 10c0/3b3fab9ab3187f4be9484b993c612eea52f8f3d0d9b688f5f2607230342fda51e0e6a50a7ad1bd353392ec651e8bed683118504f0fb20aaa721a4c32469b1c1e +"@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 -"@storybook/addon-viewport@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/addon-viewport@npm:8.1.6" +"@radix-ui/react-use-rect@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-rect@npm:1.1.1" dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10c0/4d9b9a19c48e03d4a57e1421ad3819e0dfa038829adef4045309916283e4ac9b159e0610fc38ac8204abe549956f0760089e80fc01a05eaf455407829a6b13c5 + "@radix-ui/rect": "npm:1.1.1" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/271711404c05c589c8dbdaa748749e7daf44bcc6bffc9ecd910821c3ebca0ee245616cf5b39653ce690f53f875c3836fd3f36f51ab1c628273b6db599eee4864 languageName: node linkType: hard -"@storybook/blocks@npm:8.1.6, @storybook/blocks@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/blocks@npm:8.1.6" +"@radix-ui/react-use-size@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-use-size@npm:1.1.1" dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/components": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/docs-tools": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/manager-api": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/lodash": "npm:^4.14.167" - color-convert: "npm:^2.0.1" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - markdown-to-jsx: "npm:7.3.2" - memoizerific: "npm:^1.11.3" - polished: "npm:^4.2.2" - react-colorful: "npm:^5.1.2" - telejson: "npm:^7.2.0" - tocbot: "npm:^4.20.1" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" + "@radix-ui/react-use-layout-effect": "npm:1.1.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: - react: - optional: true - react-dom: + "@types/react": optional: true - checksum: 10c0/5140a3241a0d67ebe40451a276fe7720c4c6b865c5379f82cc12cae0b85e00f6030953e8919c6f3d288c1d0f017f7b8c7a0dccc6b66e8c91f0e4d99a2ee1cb8b + checksum: 10c0/851d09a816f44282e0e9e2147b1b571410174cc048703a50c4fa54d672de994fd1dfff1da9d480ecfd12c77ae8f48d74f01adaf668f074156b8cd0043c6c21d8 languageName: node linkType: hard -"@storybook/builder-webpack5@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/builder-webpack5@npm:8.1.6" +"@radix-ui/react-visually-hidden@npm:1.2.3": + version: 1.2.3 + resolution: "@radix-ui/react-visually-hidden@npm:1.2.3" dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/core-webpack": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preview": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@types/node": "npm:^18.0.0" - "@types/semver": "npm:^7.3.4" - browser-assert: "npm:^1.2.1" - case-sensitive-paths-webpack-plugin: "npm:^2.4.0" - cjs-module-lexer: "npm:^1.2.3" - constants-browserify: "npm:^1.0.0" - css-loader: "npm:^6.7.1" - es-module-lexer: "npm:^1.5.0" - express: "npm:^4.17.3" - fork-ts-checker-webpack-plugin: "npm:^8.0.0" - fs-extra: "npm:^11.1.0" - html-webpack-plugin: "npm:^5.5.0" - magic-string: "npm:^0.30.5" - path-browserify: "npm:^1.0.1" - process: "npm:^0.11.10" - semver: "npm:^7.3.7" - style-loader: "npm:^3.3.1" - terser-webpack-plugin: "npm:^5.3.1" - ts-dedent: "npm:^2.0.0" - url: "npm:^0.11.0" - util: "npm:^0.12.4" - util-deprecate: "npm:^1.0.2" - webpack: "npm:5" - webpack-dev-middleware: "npm:^6.1.2" - webpack-hot-middleware: "npm:^2.25.1" - webpack-virtual-modules: "npm:^0.5.0" + "@radix-ui/react-primitive": "npm:2.1.3" + 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: - typescript: + "@types/react": optional: true - checksum: 10c0/0e109b532fe5ad75abdf762693ffb0c9db5af2331d2de4852153fcbbb32aaee2f03ddca3a1bf6c764e6a31d53058ff521d1dd5e55bbab5896cf4650ab49ffa97 + "@types/react-dom": + optional: true + checksum: 10c0/cf86a37f1cbee50a964056f3dc4f6bb1ee79c76daa321f913aa20ff3e1ccdfafbf2b114d7bb616aeefc7c4b895e6ca898523fdb67710d89bd5d8edb739a0d9b6 languageName: node linkType: hard -"@storybook/channels@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/channels@npm:8.1.6" - dependencies: - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - telejson: "npm:^7.2.0" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/57304d9091b24104bb8cb0d8a87cc4c0096772cea5542da8f9cf58454fe83c480f06c33ff4489e2530b8f75f576c9d4237fffde106a72663859a9d58666a257d +"@radix-ui/rect@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/rect@npm:1.1.1" + checksum: 10c0/0dac4f0f15691199abe6a0e067821ddd9d0349c0c05f39834e4eafc8403caf724106884035ae91bbc826e10367e6a5672e7bec4d4243860fa7649de246b1f60b languageName: node linkType: hard -"@storybook/channels@npm:8.1.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 +"@rehype-pretty/transformers@npm:^0.13.2": + version: 0.13.2 + resolution: "@rehype-pretty/transformers@npm:0.13.2" + checksum: 10c0/4b9e8b21c7ea2ff90c17b9968744d730a362f6fe501230e983fdcd95fcee37b639c2604b73196edebcea771f641e7a0c66fcc2728dd641cdaefcfa10d2f18226 languageName: node linkType: hard -"@storybook/client-logger@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/client-logger@npm:8.1.6" +"@shikijs/core@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/core@npm:3.23.0" dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/09de69bb2526a7c717b7a522bc984dd4913372e2b9a75d321222af9675201eff32213aaf18b7ced1baf2e9c93b944a841207895f293842fa8aac313e18caa182 + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + hast-util-to-html: "npm:^9.0.5" + checksum: 10c0/c595f1f2ec09cab102d2b3e03a3c64bfaace5fe52760cfbcced961d3e16571aa646c7e6f85b3d2d0242efd2c832ce4d150b5f1b7332982c17cfbe72f32bd0850 languageName: node linkType: hard -"@storybook/client-logger@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/client-logger@npm:8.1.9" +"@shikijs/engine-javascript@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/engine-javascript@npm:3.23.0" dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/bcc1363f6d3234120710b6c9a4cc0335a0aa9b150fe702888736168422b9f049e3e88f41b1eb65524fe863b587cba160f8bda57b055124c49ee88ba8516c6b2d + "@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/components@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/components@npm:8.1.6" +"@shikijs/engine-oniguruma@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/engine-oniguruma@npm:3.23.0" dependencies: - "@radix-ui/react-dialog": "npm:^1.0.5" - "@radix-ui/react-slot": "npm:^1.0.2" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - memoizerific: "npm:^1.11.3" - util-deprecate: "npm:^1.0.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - checksum: 10c0/0218fb0e124f7ab5d3557e988ef7bcfcf84ce098fff699f99f879f3cb04d73e8471f6261ae6001b6d553df0eea8a819d185140b905079a69dfb3cb75b0ae6986 + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + checksum: 10c0/40dbda7aef55d5946c45b8cfe56f484eadb611f9f7c9eb77ff21f0dfce2bcc775686a61eda9e06401ddd71195945a522293f51d6522fce49244b1a6b9c0f61f7 languageName: node linkType: hard -"@storybook/components@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/components@npm:8.1.9" +"@shikijs/langs@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/langs@npm:3.23.0" dependencies: - "@radix-ui/react-dialog": "npm:^1.0.5" - "@radix-ui/react-slot": "npm:^1.0.2" - "@storybook/client-logger": "npm:8.1.9" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/theming": "npm:8.1.9" - "@storybook/types": "npm:8.1.9" - memoizerific: "npm:^1.11.3" - util-deprecate: "npm:^1.0.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - checksum: 10c0/a678a54e6333ee783fa379ec5eb28e6e37b89b17e39487d76c3b00d86b69619abfdb8b731c778e0a2d1d57fd68790be6b2acff5b6cb6416e4f7197dd5151727d + "@shikijs/types": "npm:3.23.0" + checksum: 10c0/513b90cfee0fa167d2063b7fbc2318b303a604f2e1fa156aa8b4659b49792401531a74acf68de622ecfff15738e1947a46cfe92a32fcd6a4ee5e70bcf1d06c66 languageName: node linkType: hard -"@storybook/core-common@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-common@npm:8.1.6" +"@shikijs/themes@npm:3.23.0": + version: 3.23.0 + resolution: "@shikijs/themes@npm:3.23.0" dependencies: - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf-tools": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@yarnpkg/fslib": "npm:2.10.3" - "@yarnpkg/libzip": "npm:2.3.0" - chalk: "npm:^4.1.0" - cross-spawn: "npm:^7.0.3" - esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0" - esbuild-register: "npm:^3.5.0" - execa: "npm:^5.0.0" - file-system-cache: "npm:2.3.0" - find-cache-dir: "npm:^3.0.0" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" - glob: "npm:^10.0.0" - handlebars: "npm:^4.7.7" - lazy-universal-dotenv: "npm:^4.0.0" - node-fetch: "npm:^2.0.0" - picomatch: "npm:^2.3.0" - pkg-dir: "npm:^5.0.0" - prettier-fallback: "npm:prettier@^3" - pretty-hrtime: "npm:^1.0.3" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.3.7" - tempy: "npm:^3.1.0" - tiny-invariant: "npm:^1.3.1" - ts-dedent: "npm:^2.0.0" - util: "npm:^0.12.4" - peerDependencies: - prettier: ^2 || ^3 - peerDependenciesMeta: - prettier: - optional: true - checksum: 10c0/4179b7de1d0aa446dc45f5c005dd182df3cdaf7487b3dda3e419b4cd3c7ccda61729573a9beb668ea4cc1271d079a2609c0a8695b3c06ebbb1987b628be7ba9b + "@shikijs/types": "npm:3.23.0" + checksum: 10c0/5c99036d4a765765018f9106a354ebe5ccac204c69f00e3cda265828d493f005412659213f6574fa0e187c7d4437b3327bd6dad2e2146b2c472d2bf493d790dd languageName: node linkType: hard -"@storybook/core-events@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-events@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" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/3bf5d43040c66eb6af7048f87ae925605ed4914f9776eaeb2dae4713995ef6a0838c5bae72333d1f3457081fad438c3dbc72cb723f1c08896599c5290004f3b5 + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/bd0d1593f830a6b4e55c77871ec1b95cc44855d6e0e26282a948a3c58827237826e4110af27eb4d3231361f1e182c4410434a1dc15ec40aea988dc92dc97e9d6 languageName: node linkType: hard -"@storybook/core-events@npm:8.1.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 +"@shikijs/vscode-textmate@npm:^10.0.2": + version: 10.0.2 + resolution: "@shikijs/vscode-textmate@npm:10.0.2" + checksum: 10c0/36b682d691088ec244de292dc8f91b808f95c89466af421cf84cbab92230f03c8348649c14b3251991b10ce632b0c715e416e992dd5f28ff3221dc2693fd9462 languageName: node linkType: hard -"@storybook/core-webpack@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/core-webpack@npm:8.1.6" +"@storybook/addon-themes@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/addon-themes@npm:10.2.15" dependencies: - "@storybook/core-common": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/node": "npm:^18.0.0" ts-dedent: "npm:^2.0.0" - checksum: 10c0/5f1a39e25c7060d2ec6e69a9486551cc9a70c31b64ca48b697d4fd590904e7d144b9495e047531fd898af661aca32de620e9749385a45449403cdb12eae55aa8 + peerDependencies: + storybook: ^10.2.15 + checksum: 10c0/f12e07d1267c2bee32fbe519a0ba48477512b9242a9a857feae1a74b2e57f9b3e33c806c39d7f2b0f8baa344865442a5aa15e376f34cb6d17ded73ce5c02162c languageName: node linkType: hard -"@storybook/core@npm:8.6.15": - version: 8.6.15 - resolution: "@storybook/core@npm:8.6.15" +"@storybook/builder-webpack5@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/builder-webpack5@npm:10.2.15" dependencies: - "@storybook/theming": "npm:8.6.15" - better-opn: "npm:^3.0.2" - browser-assert: "npm:^1.2.1" - esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0" - esbuild-register: "npm:^3.5.0" - jsdoc-type-pratt-parser: "npm:^4.0.0" - process: "npm:^0.11.10" - recast: "npm:^0.23.5" - semver: "npm:^7.6.2" - util: "npm:^0.12.5" - ws: "npm:^8.2.3" + "@storybook/core-webpack": "npm:10.2.15" + case-sensitive-paths-webpack-plugin: "npm:^2.4.0" + cjs-module-lexer: "npm:^1.2.3" + css-loader: "npm:^7.1.2" + es-module-lexer: "npm:^1.5.0" + fork-ts-checker-webpack-plugin: "npm:^9.1.0" + html-webpack-plugin: "npm:^5.5.0" + magic-string: "npm:^0.30.5" + style-loader: "npm:^4.0.0" + terser-webpack-plugin: "npm:^5.3.14" + ts-dedent: "npm:^2.0.0" + webpack: "npm:5" + webpack-dev-middleware: "npm:^6.1.2" + webpack-hot-middleware: "npm:^2.25.1" + webpack-virtual-modules: "npm:^0.6.0" peerDependencies: - prettier: ^2 || ^3 + storybook: ^10.2.15 peerDependenciesMeta: - prettier: + typescript: optional: true - checksum: 10c0/34f1f3927d605119c80d2a3dbd8efa69d7bcf419877c09da2fc1e091fcf6bdb09d9a114c0c51651d7058425375689865435f7e6ec2be911d4dd437629d7e31e1 + checksum: 10c0/9c679133f25b76b7a49b881ad3c6a11305fb09da9887c662c08fdd9bf281433a09f8fc4b9f530e6ce2330b6222ca9e68c9ab0dd438c197227fc1de56d02c96a2 languageName: node linkType: hard -"@storybook/csf-plugin@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/csf-plugin@npm:8.1.6" +"@storybook/core-webpack@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/core-webpack@npm:10.2.15" dependencies: - "@storybook/csf-tools": "npm:8.1.6" - unplugin: "npm:^1.3.1" - checksum: 10c0/9f2888c88d09939ecf6a7f7ce7226a792382db7626993a243fd689d72369734abddaa4cdd6bf7a6cd3d456c55880a058579162fa5e2da46a43f8f71bfb070180 - languageName: node - linkType: hard - -"@storybook/csf-tools@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/csf-tools@npm:8.1.6" - dependencies: - "@babel/generator": "npm:^7.24.4" - "@babel/parser": "npm:^7.24.4" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" - "@storybook/csf": "npm:^0.1.7" - "@storybook/types": "npm:8.1.6" - fs-extra: "npm:^11.1.0" - recast: "npm:^0.23.5" ts-dedent: "npm:^2.0.0" - checksum: 10c0/d793112c4dd68b1f170adb9a6d441cb217ba30739876161ecb6ddd62841307e32dbbba51cb92d1dbe1a5785c27058d82c98125235c5977ceb51fdf9db4bb5d43 - languageName: node - linkType: hard - -"@storybook/csf@npm:^0.0.1": - version: 0.0.1 - resolution: "@storybook/csf@npm:0.0.1" - dependencies: - lodash: "npm:^4.17.15" - checksum: 10c0/7b0f75763415f9147692a460b44417ee56ea9639433716a1fd4d1df4c8b0221cbc71b8da0fbed4dcecb3ccd6c7ed64be39f5c255c713539a6088a1d6488aaa24 - languageName: node - linkType: hard - -"@storybook/csf@npm:^0.1.7": - version: 0.1.8 - resolution: "@storybook/csf@npm:0.1.8" - dependencies: - type-fest: "npm:^2.19.0" - checksum: 10c0/4fd08bd65205395aba693f053706d5c880db5102543744c4e13768902a615df9a479ac03f80fe33297bd5457a0d0ef655cd33d41a0e379764dd6f0c6b9a7d88c - 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 + peerDependencies: + storybook: ^10.2.15 + checksum: 10c0/4b8e03e9b81a14b2abc5f0738fd88d0d8127bbfffd2b8397af92b215c60bd2b6bbe7fab14e5719110ba4a0e328dd39a1dfc3e0b5d2f5ffb354aedfae3bdbf248 languageName: node linkType: hard @@ -5387,205 +4709,89 @@ __metadata: languageName: node linkType: hard -"@storybook/icons@npm:^1.2.5": - version: 1.2.9 - resolution: "@storybook/icons@npm:1.2.9" +"@storybook/icons@npm:^2.0.1": + version: 2.0.1 + resolution: "@storybook/icons@npm:2.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/37513dbf526bf827941ee274e0f8358c6db41c963ffd0c408a674d794fa9af8d835e0dc4e58fd589106c4f33da5552aa8315ae45745f0c107ade0f6299cbf710 - languageName: node - linkType: hard - -"@storybook/instrumenter@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/instrumenter@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - "@storybook/preview-api": "npm:8.1.6" - "@vitest/utils": "npm:^1.3.1" - util: "npm:^0.12.4" - checksum: 10c0/eaed4ddf9b4e854532a7622626d5880bca9cf86822b072739aa9c42043b99bb11c3efe8f2653eadf3048759c82949f4d88e9e56c27ea14bcef93fd592e4577aa - languageName: node - linkType: hard - -"@storybook/manager-api@npm:8.1.6, @storybook/manager-api@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/manager-api@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/router": "npm:8.1.6" - "@storybook/theming": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - store2: "npm:^2.14.2" - telejson: "npm:^7.2.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/4967126179d71cb3eae490e6bc7c05a616d561302d6d9970ea4af44c7a2e64f6fdf41d0b050073344a24dee07201ea9aef012b70dc623cc56777a8a2204af4ca - languageName: node - linkType: hard - -"@storybook/manager-api@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/manager-api@npm:8.1.9" - dependencies: - "@storybook/channels": "npm:8.1.9" - "@storybook/client-logger": "npm:8.1.9" - "@storybook/core-events": "npm:8.1.9" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/router": "npm:8.1.9" - "@storybook/theming": "npm:8.1.9" - "@storybook/types": "npm:8.1.9" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - store2: "npm:^2.14.2" - telejson: "npm:^7.2.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/279f066c53da7374766aa1f174914a54aa2b5a3151f7c67ccfe3f4b493f1329ba156cf968811bd5e22853e4a84ee40c32ade66e235ec1908b9ac162096450cbe + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/df2bbf1a5b50f12ab1bf78cae6de4dbf7c49df0e3a5f845553b51b20adbe8386a09fd172ea60342379f9284bb528cba2d0e2659cae6eb8d015cf92c8b32f1222 languageName: node linkType: hard -"@storybook/nextjs@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/nextjs@npm:8.1.6" +"@storybook/nextjs@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/nextjs@npm:10.2.15" dependencies: - "@babel/core": "npm:^7.24.4" + "@babel/core": "npm:^7.28.5" "@babel/plugin-syntax-bigint": "npm:^7.8.3" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.1" - "@babel/plugin-transform-class-properties": "npm:^7.24.1" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.1" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.1" - "@babel/plugin-transform-runtime": "npm:^7.24.3" - "@babel/preset-env": "npm:^7.24.4" - "@babel/preset-react": "npm:^7.24.1" - "@babel/preset-typescript": "npm:^7.24.1" - "@babel/runtime": "npm:^7.24.4" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.4" + "@babel/plugin-transform-runtime": "npm:^7.28.5" + "@babel/preset-env": "npm:^7.28.5" + "@babel/preset-react": "npm:^7.28.5" + "@babel/preset-typescript": "npm:^7.28.5" + "@babel/runtime": "npm:^7.28.4" "@pmmmwh/react-refresh-webpack-plugin": "npm:^0.5.11" - "@storybook/builder-webpack5": "npm:8.1.6" - "@storybook/core-common": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/preset-react-webpack": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/react": "npm:8.1.6" - "@storybook/test": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/node": "npm:^18.0.0" - "@types/semver": "npm:^7.3.4" + "@storybook/builder-webpack5": "npm:10.2.15" + "@storybook/preset-react-webpack": "npm:10.2.15" + "@storybook/react": "npm:10.2.15" + "@types/semver": "npm:^7.7.1" babel-loader: "npm:^9.1.3" css-loader: "npm:^6.7.3" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" - image-size: "npm:^1.0.0" + image-size: "npm:^2.0.2" loader-utils: "npm:^3.2.1" node-polyfill-webpack-plugin: "npm:^2.0.1" - pnp-webpack-plugin: "npm:^1.7.0" postcss: "npm:^8.4.38" postcss-loader: "npm:^8.1.1" react-refresh: "npm:^0.14.0" resolve-url-loader: "npm:^5.0.0" - sass-loader: "npm:^12.4.0" - semver: "npm:^7.3.5" - sharp: "npm:^0.33.3" + sass-loader: "npm:^16.0.5" + semver: "npm:^7.7.3" style-loader: "npm:^3.3.1" - styled-jsx: "npm:5.1.1" - ts-dedent: "npm:^2.0.0" + styled-jsx: "npm:^5.1.6" tsconfig-paths: "npm:^4.0.0" tsconfig-paths-webpack-plugin: "npm:^4.0.1" peerDependencies: - next: ^13.5.0 || ^14.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + next: ^14.1.0 || ^15.0.0 || ^16.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 webpack: ^5.0.0 - dependenciesMeta: - sharp: - optional: true peerDependenciesMeta: typescript: optional: true webpack: optional: true - checksum: 10c0/90e74c370ef5be94b402c8d8b09916e8ab433d4352b3f008246f4eb23d68400b172fcfaf1391373907f571760c396131e38df4c30c8efa81a1afb67891411cd9 + checksum: 10c0/403a93a4b4018300a612b439c0c4b489eb339937eb15393be79b6c86237839066b489472fa01f1d929b4f20bb145619f932b1e1ba2b73572eeea82fc197aa5aa 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 - languageName: node - linkType: hard - -"@storybook/preset-react-webpack@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/preset-react-webpack@npm:8.1.6" +"@storybook/preset-react-webpack@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/preset-react-webpack@npm:10.2.15" dependencies: - "@storybook/core-webpack": "npm:8.1.6" - "@storybook/docs-tools": "npm:8.1.6" - "@storybook/node-logger": "npm:8.1.6" - "@storybook/react": "npm:8.1.6" + "@storybook/core-webpack": "npm:10.2.15" "@storybook/react-docgen-typescript-plugin": "npm:1.0.6--canary.9.0c3f3b7.0" - "@types/node": "npm:^18.0.0" - "@types/semver": "npm:^7.3.4" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" + "@types/semver": "npm:^7.7.1" magic-string: "npm:^0.30.5" - react-docgen: "npm:^7.0.0" + react-docgen: "npm:^7.1.1" resolve: "npm:^1.22.8" - semver: "npm:^7.3.7" + semver: "npm:^7.7.3" tsconfig-paths: "npm:^4.2.0" webpack: "npm:5" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/50164ed24db61a505f5c6c3842af8c9b2350463e2d31b53ce193e701a4a61f813a2d1175394af3423d38424aba34ef38993b0629c2e9ebb1f00f4481a8696565 - languageName: node - linkType: hard - -"@storybook/preview-api@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/preview-api@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/csf": "npm:^0.1.7" - "@storybook/global": "npm:^5.0.0" - "@storybook/types": "npm:8.1.6" - "@types/qs": "npm:^6.9.5" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - tiny-invariant: "npm:^1.3.1" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/7402944ac2179c0abc4205796ebd20387ae850e1a2495223eb1fa3245d4bfd3743fdeaa1d8c7bbd1a4b84c0456a42aa5ae8f619f0966e882d25b231eb2b9af14 - languageName: node - linkType: hard - -"@storybook/preview@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/preview@npm:8.1.6" - checksum: 10c0/662f4fb7b20ce5d90c9fa584f68f75d005fb70ef727c44e300fa88acd3376b1f620718a29294cea4909261dcdb6366888c29cd1231ed3048804a3342d863a56c + checksum: 10c0/9f72c8fdbfd9f926bee2486c11390124217477d1970355a43fa1a3611f4bd67105a63050976b440b33a280cc39c8f6d1b0c37d4bf50723182f75947c9d96f46b languageName: node linkType: hard @@ -5607,227 +4813,229 @@ __metadata: languageName: node linkType: hard -"@storybook/react-dom-shim@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/react-dom-shim@npm:8.1.6" +"@storybook/react-dom-shim@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/react-dom-shim@npm:10.2.15" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - checksum: 10c0/d7da2db42dd06c949693bbba7595659a801912374cdf91bd485587bb4980b7e4e6249ed5f06d5088a62882d28eba937cb6d415a6f806688a2ba87d6e6856dfbd + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 + checksum: 10c0/238653cf2e8ab47d386d1ff3b8a35ad591779362920532d33fe88224713edfcd279a69c32daae8a2e8762a8a9b32836ee3c5a3c9cbf1d75e93d00f72503f82d0 languageName: node linkType: hard -"@storybook/react@npm:8.1.6, @storybook/react@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/react@npm:8.1.6" +"@storybook/react@npm:10.2.15, @storybook/react@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/react@npm:10.2.15" dependencies: - "@storybook/client-logger": "npm:8.1.6" - "@storybook/docs-tools": "npm:8.1.6" "@storybook/global": "npm:^5.0.0" - "@storybook/preview-api": "npm:8.1.6" - "@storybook/react-dom-shim": "npm:8.1.6" - "@storybook/types": "npm:8.1.6" - "@types/escodegen": "npm:^0.0.6" - "@types/estree": "npm:^0.0.51" - "@types/node": "npm:^18.0.0" - acorn: "npm:^7.4.1" - acorn-jsx: "npm:^5.3.1" - acorn-walk: "npm:^7.2.0" - escodegen: "npm:^2.1.0" - html-tags: "npm:^3.1.0" - lodash: "npm:^4.17.21" - prop-types: "npm:^15.7.2" - react-element-to-jsx-string: "npm:^15.0.0" - semver: "npm:^7.3.7" - ts-dedent: "npm:^2.0.0" - type-fest: "npm:~2.19" - util-deprecate: "npm:^1.0.2" + "@storybook/react-dom-shim": "npm:10.2.15" + react-docgen: "npm:^8.0.2" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - typescript: ">= 4.2.x" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^10.2.15 + typescript: ">= 4.9.x" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/adf5b694496cc2ab144b634bed774499d200b05d59844a52e6d8a7daeb43569077c0ab1da8c8ca27b1822c495e456223bd0e1d93ddff29bf1c387c394cba24b3 + checksum: 10c0/09fc7636e28d2392518adbef71f5d556f247e99a0102e9d8916990be44e5a987e03a52c085f3d0006bbad56172344cb9ad8fb3b0bd9de7abf378eb4d341af4a3 languageName: node linkType: hard -"@storybook/router@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/router@npm:8.1.6" +"@swc/helpers@npm:0.5.15": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" dependencies: - "@storybook/client-logger": "npm:8.1.6" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - checksum: 10c0/426d14cc7905e7bf0f6e784cb02002205bd2b054c3df13d85d59551ceaf1d1409f071170a0283f3d395b58e8e690c06df95961e3a94fc15a7772f24e9f19829b + tslib: "npm:^2.8.0" + checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 languageName: node linkType: hard -"@storybook/router@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/router@npm:8.1.9" +"@tailwindcss/node@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/node@npm:4.2.1" dependencies: - "@storybook/client-logger": "npm:8.1.9" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - checksum: 10c0/386ff4052441d1e5076b818fd888aeee33babd7da1c667dee40a8fd61109f3f2275abe7f06c6b6e0143ef2fb098f0b304091141cee8db7d7f447972554423e63 + "@jridgewell/remapping": "npm:^2.3.5" + enhanced-resolve: "npm:^5.19.0" + jiti: "npm:^2.6.1" + lightningcss: "npm:1.31.1" + magic-string: "npm:^0.30.21" + source-map-js: "npm:^1.2.1" + tailwindcss: "npm:4.2.1" + checksum: 10c0/7b1bf77d2d714df98201cc2f308bee8edfebaf2ef520ec15cb9515e2aadabb28b4d2ecb165dd278716b3f6767da10e4d9a445de34ee8f7ec056fc9c1d8e275a1 languageName: node linkType: hard -"@storybook/test@npm:8.1.6, @storybook/test@npm:^8.1.6": - version: 8.1.6 - resolution: "@storybook/test@npm:8.1.6" - dependencies: - "@storybook/client-logger": "npm:8.1.6" - "@storybook/core-events": "npm:8.1.6" - "@storybook/instrumenter": "npm:8.1.6" - "@storybook/preview-api": "npm:8.1.6" - "@testing-library/dom": "npm:^9.3.4" - "@testing-library/jest-dom": "npm:^6.4.2" - "@testing-library/user-event": "npm:^14.5.2" - "@vitest/expect": "npm:1.3.1" - "@vitest/spy": "npm:^1.3.1" - util: "npm:^0.12.4" - checksum: 10c0/a3db0ef52c3614868886fff54f0dda61d83a5593877536d195af631564c81fd4c1bf09f84d85289c81aab693d0d1d97244784ff5479c58ac4adcc5a4eeae5d81 +"@tailwindcss/oxide-android-arm64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-android-arm64@npm:4.2.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-darwin-arm64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.2.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-darwin-x64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-darwin-x64@npm:4.2.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-freebsd-x64@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.2.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-musl@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.2.1" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@storybook/theming@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/theming@npm:8.1.6" - dependencies: - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1" - "@storybook/client-logger": "npm:8.1.6" - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 10c0/13bf3c940ce2ff27088d9147d22cd45f53de5251e8d41cc170d2f569cd6ba30aa1a4574494a15774c82f501889709accff370b9131a5d973243528160d7a0d50 +"@tailwindcss/oxide-linux-x64-gnu@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.2.1" + conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@storybook/theming@npm:8.1.9, @storybook/theming@npm:^8.0.0": - version: 8.1.9 - resolution: "@storybook/theming@npm:8.1.9" - dependencies: - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1" - "@storybook/client-logger": "npm:8.1.9" - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 10c0/c340d53086527a5bd8ea8af7a8961679eecdefe5ce23c12d05127180a460e1824b667c27dfe42106d1812d75e8c754ca890c928b39e6947ef7ad8228a305188c +"@tailwindcss/oxide-linux-x64-musl@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.2.1" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@storybook/theming@npm:8.6.15": - version: 8.6.15 - resolution: "@storybook/theming@npm:8.6.15" - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - checksum: 10c0/b5ef8fb7e987f7b416c986e110e4d7191bb27df3e10c4e62130f6299f0cf5cf7f1b345493b221383ca103d85e09d03a879918a5de5df1ff8916713995f1ad501 +"@tailwindcss/oxide-wasm32-wasi@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.2.1" + dependencies: + "@emnapi/core": "npm:^1.8.1" + "@emnapi/runtime": "npm:^1.8.1" + "@emnapi/wasi-threads": "npm:^1.1.0" + "@napi-rs/wasm-runtime": "npm:^1.1.1" + "@tybys/wasm-util": "npm:^0.10.1" + tslib: "npm:^2.8.1" + conditions: cpu=wasm32 languageName: node linkType: hard -"@storybook/types@npm:8.1.6": - version: 8.1.6 - resolution: "@storybook/types@npm:8.1.6" - dependencies: - "@storybook/channels": "npm:8.1.6" - "@types/express": "npm:^4.7.0" - file-system-cache: "npm:2.3.0" - checksum: 10c0/f6ccfe58e921cbe533b33d8bcfab2e0289f7018f9baa5052f0997f46ade3e0c5fc150819e1ced4bf6dc384de0964564c4dbd3383a380e9786906739574cd82b7 +"@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.1" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@storybook/types@npm:8.1.9": - version: 8.1.9 - resolution: "@storybook/types@npm:8.1.9" - dependencies: - "@storybook/channels": "npm:8.1.9" - "@types/express": "npm:^4.7.0" - file-system-cache: "npm:2.3.0" - checksum: 10c0/e046651fdab5bcd64a4f91345ff79065bfd6b67fe5d88ccf9e19509906df484dbca59254e2ff7c8cc9bdd556e8cc0cf2e9f6cf5d7c529289583b5ebe8443dcb6 +"@tailwindcss/oxide-win32-x64-msvc@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.2.1" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/helpers@npm:0.5.15": - version: 0.5.15 - resolution: "@swc/helpers@npm:0.5.15" - dependencies: - tslib: "npm:^2.8.0" - checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 +"@tailwindcss/oxide@npm:4.2.1": + version: 4.2.1 + resolution: "@tailwindcss/oxide@npm:4.2.1" + dependencies: + "@tailwindcss/oxide-android-arm64": "npm:4.2.1" + "@tailwindcss/oxide-darwin-arm64": "npm:4.2.1" + "@tailwindcss/oxide-darwin-x64": "npm:4.2.1" + "@tailwindcss/oxide-freebsd-x64": "npm:4.2.1" + "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.2.1" + "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.2.1" + "@tailwindcss/oxide-linux-arm64-musl": "npm:4.2.1" + "@tailwindcss/oxide-linux-x64-gnu": "npm:4.2.1" + "@tailwindcss/oxide-linux-x64-musl": "npm:4.2.1" + "@tailwindcss/oxide-wasm32-wasi": "npm:4.2.1" + "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.2.1" + "@tailwindcss/oxide-win32-x64-msvc": "npm:4.2.1" + dependenciesMeta: + "@tailwindcss/oxide-android-arm64": + optional: true + "@tailwindcss/oxide-darwin-arm64": + optional: true + "@tailwindcss/oxide-darwin-x64": + optional: true + "@tailwindcss/oxide-freebsd-x64": + optional: true + "@tailwindcss/oxide-linux-arm-gnueabihf": + optional: true + "@tailwindcss/oxide-linux-arm64-gnu": + optional: true + "@tailwindcss/oxide-linux-arm64-musl": + optional: true + "@tailwindcss/oxide-linux-x64-gnu": + optional: true + "@tailwindcss/oxide-linux-x64-musl": + optional: true + "@tailwindcss/oxide-wasm32-wasi": + optional: true + "@tailwindcss/oxide-win32-arm64-msvc": + optional: true + "@tailwindcss/oxide-win32-x64-msvc": + optional: true + checksum: 10c0/4f9bfa40cde6925eed1759caf857831779a834a1b8776cc7df5bb48a279b7dcd2e761a31ffbd297d135a64b58f25e092d7c781c06cf44667746f7e5a5a3e0183 languageName: node linkType: hard -"@testing-library/dom@npm:^9.3.4": - version: 9.3.4 - resolution: "@testing-library/dom@npm:9.3.4" +"@tailwindcss/postcss@npm:^4.1.0": + version: 4.2.1 + resolution: "@tailwindcss/postcss@npm:4.2.1" 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 + "@alloc/quick-lru": "npm:^5.2.0" + "@tailwindcss/node": "npm:4.2.1" + "@tailwindcss/oxide": "npm:4.2.1" + postcss: "npm:^8.5.6" + tailwindcss: "npm:4.2.1" + checksum: 10c0/c9869a10c284241b2e51ba25750ae711d1ac3187356093c3a047eb8139124e73412036de7a11ad5c145360a312dcdebde59849f6d65e6296cba525186a8243f6 languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.4.2": - version: 6.4.5 - resolution: "@testing-library/jest-dom@npm:6.4.5" +"@testing-library/jest-dom@npm:^6.6.3": + version: 6.9.1 + resolution: "@testing-library/jest-dom@npm:6.9.1" dependencies: - "@adobe/css-tools": "npm:^4.3.2" - "@babel/runtime": "npm:^7.9.2" + "@adobe/css-tools": "npm:^4.4.0" aria-query: "npm:^5.0.0" - chalk: "npm:^3.0.0" css.escape: "npm:^1.5.1" dom-accessibility-api: "npm:^0.6.3" - lodash: "npm:^4.17.21" + picocolors: "npm:^1.1.1" redent: "npm:^3.0.0" - peerDependencies: - "@jest/globals": ">= 28" - "@types/bun": "*" - "@types/jest": ">= 28" - jest: ">= 28" - vitest: ">= 0.32" - peerDependenciesMeta: - "@jest/globals": - optional: true - "@types/bun": - optional: true - "@types/jest": - optional: true - jest: - optional: true - vitest: - optional: true - checksum: 10c0/4cfdd44e2abab2b9d399c47cbfe686729bb65160d7df0f9e2329aaaea7702f6e852a9eefb29b468f00c1e5a5274b684f8cac76959d33299dfa909ba007ea191d + checksum: 10c0/4291ebd2f0f38d14cefac142c56c337941775a5807e2a3d6f1a14c2fbd6be76a18e498ed189e95bedc97d9e8cf1738049bc76c85b5bc5e23fae7c9e10f7b3a12 languageName: node linkType: hard -"@testing-library/user-event@npm:^14.5.2": - version: 14.5.2 - resolution: "@testing-library/user-event@npm:14.5.2" +"@testing-library/user-event@npm:^14.6.1": + version: 14.6.1 + resolution: "@testing-library/user-event@npm:14.6.1" peerDependencies: "@testing-library/dom": ">=7.21.4" - checksum: 10c0/68a0c2aa28a3c8e6eb05cafee29705438d7d8a9427423ce5064d44f19c29e89b5636de46dd2f28620fb10abba75c67130185bbc3aa23ac1163a227a5f36641e1 + checksum: 10c0/75fea130a52bf320d35d46ed54f3eec77e71a56911b8b69a3fe29497b0b9947b2dc80d30f04054ad4ce7f577856ae3e5397ea7dff0ef14944d3909784c7a93fe languageName: node linkType: hard @@ -6269,23 +5477,16 @@ __metadata: languageName: node linkType: hard -"@types/acorn@npm:^4.0.0": - version: 4.0.6 - resolution: "@types/acorn@npm:4.0.6" +"@tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" dependencies: - "@types/estree": "npm:*" - checksum: 10c0/5a65a1d7e91fc95703f0a717897be60fa7ccd34b17f5462056274a246e6690259fe0a1baabc86fd3260354f87245cb3dc483346d7faad2b78fc199763978ede9 - languageName: node - linkType: hard - -"@types/aria-query@npm:^5.0.1": - version: 5.0.4 - resolution: "@types/aria-query@npm:5.0.4" - checksum: 10c0/dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 languageName: node linkType: hard -"@types/babel__core@npm:^7.18.0": +"@types/babel__core@npm:^7.18.0, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -6326,22 +5527,22 @@ __metadata: languageName: node linkType: hard -"@types/body-parser@npm:*": - version: 1.19.5 - resolution: "@types/body-parser@npm:1.19.5" +"@types/babel__traverse@npm:^7.20.7": + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@types/connect": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 languageName: node linkType: hard -"@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f languageName: node linkType: hard @@ -6363,10 +5564,10 @@ __metadata: languageName: node linkType: hard -"@types/doctrine@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/doctrine@npm:0.0.3" - checksum: 10c0/566dcdc988c97ff01d14493ceb2223643347f07cf0a88c86cd7cb7c2821cfc837fd39295e6809a29614fdfdc6c4e981408155ca909b2e5da5d947af939b6c966 +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 languageName: node linkType: hard @@ -6377,20 +5578,6 @@ __metadata: languageName: node linkType: hard -"@types/emscripten@npm:^1.39.6": - version: 1.39.13 - resolution: "@types/emscripten@npm:1.39.13" - checksum: 10c0/99c314418b6fbe113c4c81dc89501bdf723020d1de262a36a4e45236b268dcec3deab104e3a7d3569e6d7c5c942de30c9c6d77b93170c1bcaa85620c7ee4c2ba - languageName: node - linkType: hard - -"@types/escodegen@npm:^0.0.6": - version: 0.0.6 - resolution: "@types/escodegen@npm:0.0.6" - checksum: 10c0/bbef189319c7b0386486bc7224369f118c7aedf35cc13e40ae5879b9ab4f848936f31e8eea50e71d4de72d4b7a77d9e6e9e5ceec4406c648fbc0077ede634ed5 - languageName: node - linkType: hard - "@types/estree-jsx@npm:^1.0.0": version: 1.0.5 resolution: "@types/estree-jsx@npm:1.0.5" @@ -6407,585 +5594,220 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^0.0.51": - version: 0.0.51 - resolution: "@types/estree@npm:0.0.51" - checksum: 10c0/a70c60d5e634e752fcd45b58c9c046ef22ad59ede4bc93ad5193c7e3b736ebd6bcd788ade59d9c3b7da6eeb0939235f011d4c59bb4fc04d8c346b76035099dd1 - languageName: node - linkType: hard - -"@types/express-serve-static-core@npm:^4.17.33": - version: 4.19.3 - resolution: "@types/express-serve-static-core@npm:4.19.3" - dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/5d2a1fb96a17a8e0e8c59325dfeb6d454bbc5c9b9b6796eec0397ddf9dbd262892040d5da3d72b5d7148f34bb3fcd438faf1b37fcba8c5a03e75fae491ad1edf - languageName: node - linkType: hard - -"@types/express@npm:^4.7.0": - version: 4.17.21 - resolution: "@types/express@npm:4.17.21" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.33" - "@types/qs": "npm:*" - "@types/serve-static": "npm:*" - checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf - languageName: node - linkType: hard - -"@types/hast@npm:^2.0.0": - version: 2.3.10 - resolution: "@types/hast@npm:2.3.10" - dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/16daac35d032e656defe1f103f9c09c341a6dc553c7ec17b388274076fa26e904a71ea5ea41fd368a6d5f1e9e53be275c80af7942b9c466d8511d261c9529c7e - 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" dependencies: "@types/unist": "npm:*" - checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 - 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 - languageName: node - linkType: hard - -"@types/http-errors@npm:*": - version: 2.0.4 - resolution: "@types/http-errors@npm:2.0.4" - checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 - languageName: node - linkType: hard - -"@types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - -"@types/lodash.camelcase@npm:^4": - version: 4.3.9 - resolution: "@types/lodash.camelcase@npm:4.3.9" - dependencies: - "@types/lodash": "npm:*" - checksum: 10c0/d6c42c800624b75b079ff7862d258d7c8236837f8485a4fe9f92e5e7d3e9ccaef2eb202e24e8f04d209ad5573c85edc7871d0cecc831454a501d594b11f1311b - languageName: node - linkType: hard - -"@types/lodash.kebabcase@npm:^4": - version: 4.1.9 - resolution: "@types/lodash.kebabcase@npm:4.1.9" - dependencies: - "@types/lodash": "npm:*" - checksum: 10c0/f00fbfb891fd1883e3fab2286fa2b23a013550b3498013c8c8c5e3ed437f52543afe8e8dc899b4f3317bab8db403bb281de863274a6fa12f088667378fd7b475 - languageName: node - linkType: hard - -"@types/lodash.startcase@npm:^4": - version: 4.4.9 - resolution: "@types/lodash.startcase@npm:4.4.9" - dependencies: - "@types/lodash": "npm:*" - checksum: 10c0/9d31900b2a7096f307f30b765fcd50fe83c5270c9f730c8f5006c4560628f979fefb7a5d04bced817863707bc0587f2d8b743a9318707983ebc42d944e0030cb - languageName: node - linkType: hard - -"@types/lodash@npm:*, @types/lodash@npm:^4.14.167": - version: 4.17.5 - resolution: "@types/lodash@npm:4.17.5" - checksum: 10c0/55924803ed853e72261512bd3eaf2c5b16558c3817feb0a3125ef757afe46e54b86f33d1960e40b7606c0ddab91a96f47966bf5e6006b7abfd8994c13b04b19b - languageName: node - linkType: hard - -"@types/mdast@npm:^3.0.0": - version: 3.0.15 - resolution: "@types/mdast@npm:3.0.15" - dependencies: - "@types/unist": "npm:^2" - checksum: 10c0/fcbf716c03d1ed5465deca60862e9691414f9c43597c288c7d2aefbe274552e1bbd7aeee91b88a02597e88a28c139c57863d0126fcf8416a95fdc681d054ee3d - languageName: node - linkType: hard - -"@types/mdast@npm:^4.0.0": - version: 4.0.4 - resolution: "@types/mdast@npm:4.0.4" - dependencies: - "@types/unist": "npm:*" - checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 - languageName: node - linkType: hard - -"@types/mdx@npm:^2.0.0": - version: 2.0.13 - resolution: "@types/mdx@npm:2.0.13" - checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 - languageName: node - linkType: hard - -"@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc - languageName: node - linkType: hard - -"@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: 10c0/ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc - languageName: node - linkType: hard - -"@types/node@npm:*, @types/node@npm:>=13.7.0, @types/node@npm:^20": - version: 20.14.2 - resolution: "@types/node@npm:20.14.2" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/2d86e5f2227aaa42212e82ea0affe72799111b888ff900916376450b02b09b963ca888b20d9c332d8d2b833ed4781987867a38eaa2e4863fa8439071468b0a6f - languageName: node - linkType: hard - -"@types/node@npm:^18.0.0": - version: 18.19.34 - resolution: "@types/node@npm:18.19.34" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/e985f50684def801801069e236165ee511f9195fc04ad4a2af7642d86aeaeaf7bfe34c147f894a48618a5c71c15b388ca91341a244792149543a712e38351988 - languageName: node - linkType: hard - -"@types/parse-json@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/parse-json@npm:4.0.2" - checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 - languageName: node - linkType: hard - -"@types/parse5@npm:^6.0.0": - version: 6.0.3 - resolution: "@types/parse5@npm:6.0.3" - checksum: 10c0/a7c7ef6625974b74b93c1105953003a2291897e453369efcadc569b907de2784d61d4e6905de3ef959fa07f3278f41ed0c22ead0173776023fc43b6ed31042d0 - languageName: node - linkType: hard - -"@types/prompts@npm:^2": - version: 2.4.9 - resolution: "@types/prompts@npm:2.4.9" - dependencies: - "@types/node": "npm:*" - kleur: "npm:^3.0.3" - checksum: 10c0/22fe0da6807681c85e88ba283184f4be4c8a95c744ea12a638865c98c4e0c22e7f733542f6b0f1fbca02245cdc3fe84feacf9c9adf4ddd8bc98a337fd679d8d2 - languageName: node - linkType: hard - -"@types/prop-types@npm:*": - version: 15.7.12 - resolution: "@types/prop-types@npm:15.7.12" - checksum: 10c0/1babcc7db6a1177779f8fde0ccc78d64d459906e6ef69a4ed4dd6339c920c2e05b074ee5a92120fe4e9d9f1a01c952f843ebd550bee2332fc2ef81d1706878f8 - languageName: node - linkType: hard - -"@types/qs@npm:*, @types/qs@npm:^6.9.5": - version: 6.9.15 - resolution: "@types/qs@npm:6.9.15" - checksum: 10c0/49c5ff75ca3adb18a1939310042d273c9fc55920861bd8e5100c8a923b3cda90d759e1a95e18334092da1c8f7b820084687770c83a1ccef04fb2c6908117c823 - languageName: node - linkType: hard - -"@types/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c - languageName: node - linkType: hard - -"@types/react-dom@npm:^18": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/6c90d2ed72c5a0e440d2c75d99287e4b5df3e7b011838cdc03ae5cd518ab52164d86990e73246b9d812eaf02ec351d74e3b4f5bd325bf341e13bf980392fd53b - languageName: node - linkType: hard - -"@types/react@npm:*, @types/react@npm:^16.8.0 || ^17.0.0 || ^18.0.0, @types/react@npm:^18": - version: 18.3.3 - resolution: "@types/react@npm:18.3.3" - dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10c0/fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114 - languageName: node - linkType: hard - -"@types/resolve@npm:^1.17.1, @types/resolve@npm:^1.20.2": - version: 1.20.6 - resolution: "@types/resolve@npm:1.20.6" - checksum: 10c0/a9b0549d816ff2c353077365d865a33655a141d066d0f5a3ba6fd4b28bc2f4188a510079f7c1f715b3e7af505a27374adce2a5140a3ece2a059aab3d6e1a4244 - languageName: node - linkType: hard - -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.3.4": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa - languageName: node - linkType: hard - -"@types/send@npm:*": - version: 0.17.4 - resolution: "@types/send@npm:0.17.4" - dependencies: - "@types/mime": "npm:^1" - "@types/node": "npm:*" - checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c - languageName: node - linkType: hard - -"@types/serve-static@npm:*": - version: 1.15.7 - resolution: "@types/serve-static@npm:1.15.7" - dependencies: - "@types/http-errors": "npm:*" - "@types/node": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae - languageName: node - linkType: hard - -"@types/ungap__structured-clone@npm:^1.0.0": - version: 1.2.0 - resolution: "@types/ungap__structured-clone@npm:1.2.0" - checksum: 10c0/52f341ded16708603e5631769b26acf0e9ed7c556ce81abb4e55962110b30442576c631c8f7e298b561b8ff77c7823f0edc9f5e313e1c5e1441825a590e5b0f3 + checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 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/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 -"@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/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 -"@types/uuid@npm:^9.0.1": - version: 9.0.8 - resolution: "@types/uuid@npm:9.0.8" - checksum: 10c0/b411b93054cb1d4361919579ef3508a1f12bf15b5fdd97337d3d351bece6c921b52b6daeef89b62340fd73fd60da407878432a1af777f40648cbe53a01723489 +"@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/eslint-plugin@npm:^7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/eslint-plugin@npm:7.13.1" +"@types/lodash.kebabcase@npm:^4": + version: 4.1.9 + resolution: "@types/lodash.kebabcase@npm:4.1.9" 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/lodash": "npm:*" + checksum: 10c0/f00fbfb891fd1883e3fab2286fa2b23a013550b3498013c8c8c5e3ed437f52543afe8e8dc899b4f3317bab8db403bb281de863274a6fa12f088667378fd7b475 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" +"@types/lodash.startcase@npm:^4": + version: 4.4.9 + resolution: "@types/lodash.startcase@npm:4.4.9" 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": "npm:*" + checksum: 10c0/9d31900b2a7096f307f30b765fcd50fe83c5270c9f730c8f5006c4560628f979fefb7a5d04bced817863707bc0587f2d8b743a9318707983ebc42d944e0030cb languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f +"@types/lodash@npm:*": + version: 4.17.5 + resolution: "@types/lodash@npm:4.17.5" + checksum: 10c0/55924803ed853e72261512bd3eaf2c5b16558c3817feb0a3125ef757afe46e54b86f33d1960e40b7606c0ddab91a96f47966bf5e6006b7abfd8994c13b04b19b languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/scope-manager@npm:7.13.1" +"@types/mdast@npm:^4.0.0": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" dependencies: - "@typescript-eslint/types": "npm:7.13.1" - "@typescript-eslint/visitor-keys": "npm:7.13.1" - checksum: 10c0/3d8770bf9c89e7a07e54efbc3dac6df02c0ce49d49575076111ac663566c90cbb852f06c94a311db7c0aec1fab0417f3ef6e601b3852aa30bed75c65f4f076f4 + "@types/unist": "npm:*" + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/scope-manager@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - checksum: 10c0/4d088c127e6ba1a7de8567f70684779083be24b48746c3b4a86a0ec7062bca58693ee08482349ad6572a17ada8aa6f26b74d1c7139c8fcf7101fa09a572e0ea6 +"@types/mdx@npm:^2.0.0": + version: 2.0.13 + resolution: "@types/mdx@npm:2.0.13" + checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/type-utils@npm:7.13.1" - dependencies: - "@typescript-eslint/typescript-estree": "npm:7.13.1" - "@typescript-eslint/utils": "npm:7.13.1" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" - peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/c02305dccb0b2c7dcc9249230078c83e851ee589f93e08eb6cdc0b4c38d78d85ef4996631ac427836ee9d0a868ac031417feb74a6e4d0600096f41ca3c0e99a0 +"@types/ms@npm:*": + version: 0.7.34 + resolution: "@types/ms@npm:0.7.34" + checksum: 10c0/ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc languageName: node linkType: hard -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf +"@types/node@npm:*, @types/node@npm:>=13.7.0": + version: 20.14.2 + resolution: "@types/node@npm:20.14.2" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/2d86e5f2227aaa42212e82ea0affe72799111b888ff900916376450b02b09b963ca888b20d9c332d8d2b833ed4781987867a38eaa2e4863fa8439071468b0a6f languageName: node linkType: hard -"@typescript-eslint/types@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/types@npm:7.13.1" - checksum: 10c0/38a01004e11259e457ae2fd02300ef362a3268a8fc70addfbf1508e2edcaca72da2f0f8771e42c1cb9f191c1f754af583cdcaebd830c8e3c3f796dcf30d3c3a8 +"@types/node@npm:^22": + version: 22.19.15 + resolution: "@types/node@npm:22.19.15" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/f17eaf3d0d1da5e93ad9e287efb78201f8a5282973c004c5f70d91675c5c6b926a23acaa7b158a42b3d7e27e36b349d65a531710c91c308fca53dd7fa280ef98 languageName: node linkType: hard -"@typescript-eslint/types@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/types@npm:7.2.0" - checksum: 10c0/135aae061720185855bea61ea6cfd33f4801d2de57f65e50079bbdb505100f844632aa4e4bdeec9e9e79d29aaddad949178d0e918e41867da6ab4b1390820e33 +"@types/prompts@npm:^2": + version: 2.4.9 + resolution: "@types/prompts@npm:2.4.9" + dependencies: + "@types/node": "npm:*" + kleur: "npm:^3.0.3" + checksum: 10c0/22fe0da6807681c85e88ba283184f4be4c8a95c744ea12a638865c98c4e0c22e7f733542f6b0f1fbca02245cdc3fe84feacf9c9adf4ddd8bc98a337fd679d8d2 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf +"@types/react-dom@npm:^19": + version: 19.2.3 + resolution: "@types/react-dom@npm:19.2.3" + peerDependencies: + "@types/react": ^19.2.0 + checksum: 10c0/b486ebe0f4e2fb35e2e108df1d8fc0927ca5d6002d5771e8a739de11239fe62d0e207c50886185253c99eb9dedfeeb956ea7429e5ba17f6693c7acb4c02f8cd1 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/typescript-estree@npm:7.13.1" +"@types/react@npm:^19": + version: 19.2.14 + resolution: "@types/react@npm:19.2.14" dependencies: - "@typescript-eslint/types": "npm:7.13.1" - "@typescript-eslint/visitor-keys": "npm:7.13.1" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/bd5c8951ae79e8eacd05ff100def02926c633045a1a54426f98f20b4ca31c485968af3226dd7939934dfaf36a6b5fcb3386948e2a7d763ddee2db905ac187ebc + csstype: "npm:^3.2.2" + checksum: 10c0/7d25bf41b57719452d86d2ac0570b659210402707313a36ee612666bf11275a1c69824f8c3ee1fdca077ccfe15452f6da8f1224529b917050eb2d861e52b59b7 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2730bb17730e6f3ca4061f00688a70386a808f5d174fdeb757c3cfa92c455373f69080df33237c1a8970e818af0cea0ae5a083970ed8ba493f3b04458c6f9271 +"@types/resolve@npm:^1.20.2": + version: 1.20.6 + resolution: "@types/resolve@npm:1.20.6" + checksum: 10c0/a9b0549d816ff2c353077365d865a33655a141d066d0f5a3ba6fd4b28bc2f4188a510079f7c1f715b3e7af505a27374adce2a5140a3ece2a059aab3d6e1a4244 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/utils@npm:7.13.1" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.13.1" - "@typescript-eslint/types": "npm:7.13.1" - "@typescript-eslint/typescript-estree": "npm:7.13.1" - peerDependencies: - eslint: ^8.56.0 - checksum: 10c0/d2f6be42a80608ed265b34a5f6a0c97dc0b627d53b91e83d87c7d67541cb5b3c038e7320026b4ad8dfafe1ac07a0554efa8fe7673f54d74b68c253d6f9519bb6 +"@types/semver@npm:^7.7.1": + version: 7.7.1 + resolution: "@types/semver@npm:7.7.1" + checksum: 10c0/c938aef3bf79a73f0f3f6037c16e2e759ff40c54122ddf0b2583703393d8d3127130823facb880e694caa324eb6845628186aac1997ee8b31dc2d18fafe26268 languageName: node linkType: hard -"@typescript-eslint/utils@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@types/json-schema": "npm:^7.0.9" - "@types/semver": "npm:^7.3.12" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" - eslint-scope: "npm:^5.1.1" - semver: "npm:^7.3.7" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1 +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 10c0/4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - eslint-visitor-keys: "npm:^3.3.0" - checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d +"@types/ungap__structured-clone@npm:^1.0.0": + version: 1.2.0 + resolution: "@types/ungap__structured-clone@npm:1.2.0" + checksum: 10c0/52f341ded16708603e5631769b26acf0e9ed7c556ce81abb4e55962110b30442576c631c8f7e298b561b8ff77c7823f0edc9f5e313e1c5e1441825a590e5b0f3 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.13.1": - version: 7.13.1 - resolution: "@typescript-eslint/visitor-keys@npm:7.13.1" - dependencies: - "@typescript-eslint/types": "npm:7.13.1" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/23c1bb896173cadfb33e3801420a70aa2f0481384caa3b534b04f7920acdb9d8f7d635fcaf1f8c7fc78ebce71b8f2435391608d120091761ad2e2c00eb870832 +"@types/unist@npm:*, @types/unist@npm:^3.0.0": + version: 3.0.2 + resolution: "@types/unist@npm:3.0.2" + checksum: 10c0/39f220ce184a773c55c18a127062bfc4d0d30c987250cd59bab544d97be6cfec93717a49ef96e81f024b575718f798d4d329eb81c452fc57d6d051af8b043ebf languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/2d7467495b2b76f3edb1b3047e97076c2242e7eca6d50bbbdd88219f9ff754dbcb9334a0568fe0ceb4c562823980938bd278aa2ba53da6343e7d99a167924f24 +"@types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": + version: 2.0.10 + resolution: "@types/unist@npm:2.0.10" + checksum: 10c0/5f247dc2229944355209ad5c8e83cfe29419fa7f0a6d557421b1985a1500444719cc9efcc42c652b55aab63c931813c88033e0202c1ac684bcd4829d66e44731 languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d languageName: node linkType: hard -"@vitest/expect@npm:1.3.1": - version: 1.3.1 - resolution: "@vitest/expect@npm:1.3.1" - dependencies: - "@vitest/spy": "npm:1.3.1" - "@vitest/utils": "npm:1.3.1" - chai: "npm:^4.3.10" - checksum: 10c0/ea66a1e912d896a481a27631b68089b885af7e8ed62ba8aaa119c37a9beafe6c094fd672775a20e6e23460af66e294f9ca259e6e0562708d1b7724eaaf53c7bb - languageName: node - linkType: hard - -"@vitest/spy@npm:1.3.1": - version: 1.3.1 - resolution: "@vitest/spy@npm:1.3.1" +"@vitest/expect@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/expect@npm:3.2.4" dependencies: - tinyspy: "npm:^2.2.0" - checksum: 10c0/efc42f679d2a51fc6583ca3136ccd47581cb27c923ed3cb0500f5dee9aac99b681bfdd400c16ef108f2e0761daa642bc190816a6411931a2aba99ebf8b213dd4 + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:3.2.4" + "@vitest/utils": "npm:3.2.4" + chai: "npm:^5.2.0" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/7586104e3fd31dbe1e6ecaafb9a70131e4197dce2940f727b6a84131eee3decac7b10f9c7c72fa5edbdb68b6f854353bd4c0fa84779e274207fb7379563b10db languageName: node linkType: hard -"@vitest/spy@npm:^1.3.1": - version: 1.6.0 - resolution: "@vitest/spy@npm:1.6.0" +"@vitest/pretty-format@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/pretty-format@npm:3.2.4" dependencies: - tinyspy: "npm:^2.2.0" - checksum: 10c0/df66ea6632b44fb76ef6a65c1abbace13d883703aff37cd6d062add6dcd1b883f19ce733af8e0f7feb185b61600c6eb4042a518e4fb66323d0690ec357f9401c + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/5ad7d4278e067390d7d633e307fee8103958806a419ca380aec0e33fae71b44a64415f7a9b4bc11635d3c13d4a9186111c581d3cef9c65cc317e68f077456887 languageName: node linkType: hard -"@vitest/utils@npm:1.3.1": - version: 1.3.1 - resolution: "@vitest/utils@npm:1.3.1" +"@vitest/spy@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/spy@npm:3.2.4" dependencies: - diff-sequences: "npm:^29.6.3" - estree-walker: "npm:^3.0.3" - loupe: "npm:^2.3.7" - pretty-format: "npm:^29.7.0" - checksum: 10c0/d604c8ad3b1aee30d4dcd889098f591407bfe18547ff96485b1d1ed54eff58219c756a9544a7fbd4e37886863abacd7a89a76334cb3ea7f84c3d496bb757db23 + tinyspy: "npm:^4.0.3" + checksum: 10c0/6ebf0b4697dc238476d6b6a60c76ba9eb1dd8167a307e30f08f64149612fd50227682b876420e4c2e09a76334e73f72e3ebf0e350714dc22474258292e202024 languageName: node linkType: hard -"@vitest/utils@npm:^1.3.1": - version: 1.6.0 - resolution: "@vitest/utils@npm:1.6.0" +"@vitest/utils@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/utils@npm:3.2.4" dependencies: - diff-sequences: "npm:^29.6.3" - estree-walker: "npm:^3.0.3" - loupe: "npm:^2.3.7" - pretty-format: "npm:^29.7.0" - checksum: 10c0/8b0d19835866455eb0b02b31c5ca3d8ad45f41a24e4c7e1f064b480f6b2804dc895a70af332f14c11ed89581011b92b179718523f55f5b14787285a0321b1301 + "@vitest/pretty-format": "npm:3.2.4" + loupe: "npm:^3.1.4" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/024a9b8c8bcc12cf40183c246c244b52ecff861c6deb3477cbf487ac8781ad44c68a9c5fd69f8c1361878e55b97c10d99d511f2597f1f7244b5e5101d028ba64 languageName: node linkType: hard @@ -7154,26 +5976,6 @@ __metadata: 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 - 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" - dependencies: - "@types/emscripten": "npm:^1.39.6" - tslib: "npm:^1.13.0" - checksum: 10c0/0c2361ccb002e28463ed98541f3bdaab54f52aad6a2080666c2a9ea605ebd9cdfb7b0340b1db6f105820d05bcb803cdfb3ce755a8f6034657298c291bf884f81 - languageName: node - linkType: hard - "JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" @@ -7202,16 +6004,6 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: "npm:~2.1.34" - negotiator: "npm:0.6.3" - checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 - languageName: node - linkType: hard - "acorn-import-attributes@npm:^1.9.5": version: 1.9.5 resolution: "acorn-import-attributes@npm:1.9.5" @@ -7221,7 +6013,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2": +"acorn-jsx@npm:^5.0.0": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -7237,13 +6029,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.2.0": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 10c0/ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c - languageName: node - linkType: hard - "acorn@npm:8.14.0": version: 8.14.0 resolution: "acorn@npm:8.14.0" @@ -7253,16 +6038,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.4.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" - bin: - acorn: bin/acorn - checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 - languageName: node - linkType: hard - -"acorn@npm:^8.0.0, acorn@npm:^8.11.3, acorn@npm:^8.7.1, acorn@npm:^8.8.2": +"acorn@npm:^8.0.0, acorn@npm:^8.7.1, acorn@npm:^8.8.2": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -7271,12 +6047,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": - version: 8.12.0 - resolution: "acorn@npm:8.12.0" +"acorn@npm:^8.15.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" bin: acorn: bin/acorn - checksum: 10c0/a19f9dead009d3b430fa3c253710b47778cdaace15b316de6de93a68c355507bc1072a9956372b6c990cbeeb167d4a929249d0faeb8ae4bb6911d68d53299549 + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e languageName: node linkType: hard @@ -7343,7 +6119,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -7371,101 +6147,79 @@ __metadata: version: 0.0.0-use.local resolution: "animata@workspace:." dependencies: - "@chromatic-com/storybook": "npm:^1.5.0" + "@biomejs/biome": "npm:^2.4.6" "@commitlint/cli": "npm:^19.3.0" "@commitlint/config-conventional": "npm:^19.2.2" "@emotion/is-prop-valid": "npm:^1.2.2" - "@radix-ui/react-accordion": "npm:^1.1.2" - "@radix-ui/react-alert-dialog": "npm:^1.0.5" - "@radix-ui/react-aspect-ratio": "npm:^1.0.3" - "@radix-ui/react-collapsible": "npm:^1.0.3" - "@radix-ui/react-dialog": "npm:^1.0.5" - "@radix-ui/react-dropdown-menu": "npm:^2.0.6" - "@radix-ui/react-icons": "npm:^1.3.0" - "@radix-ui/react-scroll-area": "npm:^1.0.5" - "@radix-ui/react-select": "npm:^2.0.0" - "@radix-ui/react-separator": "npm:^1.0.3" - "@radix-ui/react-slot": "npm:^1.0.2" - "@radix-ui/react-tabs": "npm:^1.0.4" - "@radix-ui/react-tooltip": "npm:^1.0.7" + "@radix-ui/react-accordion": "npm:^1.2.3" + "@radix-ui/react-alert-dialog": "npm:^1.1.6" + "@radix-ui/react-aspect-ratio": "npm:^1.1.2" + "@radix-ui/react-collapsible": "npm:^1.1.3" + "@radix-ui/react-dialog": "npm:^1.1.6" + "@radix-ui/react-dropdown-menu": "npm:^2.1.6" + "@radix-ui/react-icons": "npm:^1.3.2" + "@radix-ui/react-scroll-area": "npm:^1.2.3" + "@radix-ui/react-select": "npm:^2.1.6" + "@radix-ui/react-separator": "npm:^1.1.2" + "@radix-ui/react-slot": "npm:^1.1.2" + "@radix-ui/react-tabs": "npm:^1.1.3" + "@radix-ui/react-tooltip": "npm:^1.1.8" "@rehype-pretty/transformers": "npm:^0.13.2" - "@storybook/addon-essentials": "npm:^8.1.6" - "@storybook/addon-interactions": "npm:^8.1.6" - "@storybook/addon-links": "npm:^8.1.6" - "@storybook/addon-onboarding": "npm:^8.1.6" - "@storybook/addon-styling-webpack": "npm:^1.0.0" - "@storybook/addon-themes": "npm:^8.1.6" - "@storybook/blocks": "npm:^8.1.6" - "@storybook/manager-api": "npm:^8.1.6" - "@storybook/nextjs": "npm:^8.1.6" - "@storybook/react": "npm:^8.1.6" - "@storybook/test": "npm:^8.1.6" + "@storybook/addon-themes": "npm:^10.2.15" + "@storybook/nextjs": "npm:^10.2.15" + "@storybook/react": "npm:^10.2.15" + "@tailwindcss/postcss": "npm:^4.1.0" "@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" chalk: "npm:^5.3.0" class-variance-authority: "npm:^0.7.0" clsx: "npm:^2.1.1" cmdk: "npm:^1.0.0" commander: "npm:^12.1.0" - concurrently: "npm:^8.2.2" - contentlayer: "npm:^0.3.4" date-fns: "npm:^3.6.0" - eslint: "npm:^8" - eslint-config-next: "npm:14.2.3" - eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-prettier: "npm:^5.1.3" - eslint-plugin-react: "npm:^7.34.3" - eslint-plugin-simple-import-sort: "npm:^12.1.0" - eslint-plugin-storybook: "npm:^0.8.0" - eslint-plugin-unused-imports: "npm:^4.0.0" - framer-motion: "npm:^11.2.10" husky: "npm:^9.0.11" lint-staged: "npm:^15.2.7" lodash.camelcase: "npm:^4.3.0" lodash.kebabcase: "npm:^4.1.1" lodash.startcase: "npm:^4.4.0" - lucide-react: "npm:^0.390.0" + lucide-react: "npm:^0.475.0" mdast-util-toc: "npm:^7.1.0" - next: "npm:16.1.5" - next-contentlayer: "npm:^0.3.4" - next-themes: "npm:^0.3.0" + motion: "npm:^12.0.0" + next: "npm:^16.1.5" + next-mdx-remote: "npm:^6.0.0" + next-themes: "npm:^0.4.6" ora: "npm:^8.0.1" - postcss: "npm:^8" - posthog-js: "npm:^1.141.4" - prettier: "npm:^3.3.2" - prettier-plugin-tailwindcss: "npm:^0.6.5" + posthog-js: "npm:^1.225.0" prompts: "npm:^2.4.2" - react: "npm:^18" - react-docgen: "npm:^7.0.3" - react-dom: "npm:^18" + react: "npm:^19" + react-dom: "npm:^19" react-wrap-balancer: "npm:^1.1.1" rehype-autolink-headings: "npm:^7.1.0" - rehype-pretty-code: "npm:^0.13.2" + rehype-pretty-code: "npm:^0.14.0" rehype-slug: "npm:^6.0.0" remark: "npm:^15.0.1" remark-code-import: "npm:^1.2.0" - remark-gfm: "npm:3" + remark-gfm: "npm:^4.0.0" schema-dts: "npm:^1.1.2" - shiki: "npm:^1.6.2" - storybook: "npm:^8.6.15" - storybook-dark-mode: "npm:^4.0.1" - tailwind-merge: "npm:^2.3.0" - tailwindcss: "npm:^3.4.1" - tailwindcss-animate: "npm:^1.0.7" + shiki: "npm:^3.0.0" + storybook: "npm:^10.2.15" + tailwind-merge: "npm:^3.0.0" + tailwindcss: "npm:^4.1.0" tsparticles: "npm:^3.5.0" + tw-animate-css: "npm:^1.4.0" typescript: "npm:^5" unist-builder: "npm:^4.0.0" - vaul: "npm:^0.9.1" + vaul: "npm:^1.1.2" + velite: "npm:^0.2.3" wrangler: "npm:^3.114.17" - zod: "npm:^3.23.8" + zod: "npm:^3.24.0" languageName: unknown linkType: soft @@ -7526,13 +6280,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - "ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": version: 6.2.1 resolution: "ansi-styles@npm:6.2.1" @@ -7540,46 +6287,6 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"app-root-dir@npm:^1.0.2": - version: 1.0.2 - resolution: "app-root-dir@npm:1.0.2" - checksum: 10c0/0225e4be7788968a82bb76df9b14b0d7f212a5c12e8c625cdc34f80548780bcbfc5f3287d0806dddd83bf9dbf9ce302e76b2887cd3a6f4be52b79df7f3aa9e7c - languageName: node - linkType: hard - -"arg@npm:^5.0.2": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -7596,166 +6303,28 @@ __metadata: 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 - languageName: node - linkType: hard - -"array-timsort@npm:^1.0.3": - version: 1.0.3 - resolution: "array-timsort@npm:1.0.3" - checksum: 10c0/bd3a1707b621947265c89867e67c9102b9b9f4c50f5b3974220112290d8b60d26ce60595edec5deed3325207b759d70b758bed3cd310b5ddadb835657ffb6d12 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"array.prototype.findlast@npm:^1.2.5": - version: 1.2.5 - resolution: "array.prototype.findlast@npm:1.2.5" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775 - languageName: node - linkType: hard - -"array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.5 - resolution: "array.prototype.findlastindex@npm:1.2.5" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: 10c0/962189487728b034f3134802b421b5f39e42ee2356d13b42d2ddb0e52057ffdcc170b9524867f4f0611a6f638f4c19b31e14606e8bcbda67799e26685b195aa3 - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b - languageName: node - linkType: hard - -"array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 - languageName: node - linkType: hard - -"array.prototype.toreversed@npm:^1.1.2": - version: 1.1.2 - resolution: "array.prototype.toreversed@npm:1.1.2" +"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" +"aria-query@npm:^5.0.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" 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 + dequal: "npm:^2.0.3" + checksum: 10c0/2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 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 @@ -7779,7 +6348,7 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.0.0, assert@npm:^2.1.0": +"assert@npm:^2.0.0": version: 2.1.0 resolution: "assert@npm:2.1.0" dependencies: @@ -7792,17 +6361,10 @@ __metadata: languageName: node linkType: hard -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"ast-types-flow@npm:^0.0.8": - version: 0.0.8 - resolution: "ast-types-flow@npm:0.0.8" - checksum: 10c0/f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 languageName: node linkType: hard @@ -7833,22 +6395,6 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:=4.7.0": - version: 4.7.0 - resolution: "axe-core@npm:4.7.0" - checksum: 10c0/89ac5712b5932ac7d23398b4cb5ba081c394a086e343acc68ba49c83472706e18e0799804e8388c779dcdacc465377deb29f2714241d3fbb389cf3a6b275c9ba - languageName: node - linkType: hard - -"axobject-query@npm:^3.2.1": - version: 3.2.1 - resolution: "axobject-query@npm:3.2.1" - dependencies: - dequal: "npm:^2.0.3" - checksum: 10c0/f7debc2012e456139b57d888c223f6d3cb4b61eb104164a85e3d346273dd6ef0bc9a04b6660ca9407704a14a8e05fa6b6eb9d55f44f348c7210de7ffb350c3a7 - languageName: node - linkType: hard - "babel-loader@npm:^9.1.3": version: 9.1.3 resolution: "babel-loader@npm:9.1.3" @@ -7862,39 +6408,51 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.11 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" +"babel-plugin-polyfill-corejs2@npm:^0.4.14, babel-plugin-polyfill-corejs2@npm:^0.4.15": + version: 0.4.15 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.15" dependencies: - "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-define-polyfill-provider": "npm:^0.6.6" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/b2217bc8d5976cf8142453ed44daabf0b2e0e75518f24eac83b54a8892e87a88f1bd9089daa92fd25df979ecd0acfd29b6bc28c4182c1c46344cee15ef9bce84 + checksum: 10c0/5e3ff853a5056bdc0816320523057b45d52c9ea01c847fd07886a4202b0c1324dc97eda4b777c98387927ff02d913fedbe9ba9943c0d4030714048e0b9e61682 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.1, babel-plugin-polyfill-corejs3@npm:^0.10.4": - version: 0.10.4 - resolution: "babel-plugin-polyfill-corejs3@npm:0.10.4" +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.1" - core-js-compat: "npm:^3.36.1" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/31b92cd3dfb5b417da8dfcf0deaa4b8b032b476d7bb31ca51c66127cf25d41e89260e89d17bc004b2520faa38aa9515fafabf81d89f9d4976e9dc1163e4a7c41 + checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.2 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" +"babel-plugin-polyfill-corejs3@npm:^0.14.0": + version: 0.14.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.14.0" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.6" + core-js-compat: "npm:^3.48.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/db7f530752a2bcb891c0dc80c3d025a48d49c78d41b0ad91cc853669460cd9e3107857a3667f645f0e25c2af9fc3d1e38d5b1c4e3e60aa22e7df9d68550712a4 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.6.5, babel-plugin-polyfill-regenerator@npm:^0.6.6": + version: 0.6.6 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.6" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + "@babel/helper-define-polyfill-provider": "npm:^0.6.6" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/bc541037cf7620bc84ddb75a1c0ce3288f90e7d2799c070a53f8a495c8c8ae0316447becb06f958dd25dcce2a2fce855d318ecfa48036a1ddb218d55aa38a744 + checksum: 10c0/0ef91d8361c118e7b16d8592c053707325b8168638ea4636b76530c8bc6a1b5aac5c6ca5140e8f3fcdb634a7a2e636133e6b9ef70a75e6417a258a7fddc04bd7 languageName: node linkType: hard @@ -7928,12 +6486,12 @@ __metadata: languageName: node linkType: hard -"better-opn@npm:^3.0.2": - version: 3.0.2 - resolution: "better-opn@npm:3.0.2" - dependencies: - open: "npm:^8.0.4" - checksum: 10c0/911ef25d44da75aabfd2444ce7a4294a8000ebcac73068c04a60298b0f7c7506b60421aa4cd02ac82502fb42baaff7e4892234b51e6923eded44c5a11185f2f5 +"baseline-browser-mapping@npm:^2.9.0": + version: 2.10.0 + resolution: "baseline-browser-mapping@npm:2.10.0" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/da9c3ec0fcd7f325226a47d2142794d41706b6e0a405718a2c15410bbdb72aacadd65738bedef558c6f1b106ed19458cb25b06f63b66df2c284799905dbbd003 languageName: node linkType: hard @@ -7944,13 +6502,6 @@ __metadata: languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - "blake3-wasm@npm:2.1.5": version: 2.1.5 resolution: "blake3-wasm@npm:2.1.5" @@ -7972,26 +6523,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.13.0" - raw-body: "npm:2.5.2" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 - languageName: node - linkType: hard - "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -8018,7 +6549,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -8034,13 +6565,6 @@ __metadata: languageName: node linkType: hard -"browser-assert@npm:^1.2.1": - version: 1.2.1 - resolution: "browser-assert@npm:1.2.1" - checksum: 10c0/902abf999f92c9c951fdb6d7352c09eea9a84706258699655f7e7906e42daa06a1ae286398a755872740e05a6a71c43c5d1a0c0431d67a8cdb66e5d859a3fc0c - languageName: node - linkType: hard - "browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": version: 1.2.0 resolution: "browserify-aes@npm:1.2.0" @@ -8115,7 +6639,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.10, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": +"browserslist@npm:^4.21.10, browserslist@npm:^4.22.2": version: 4.23.0 resolution: "browserslist@npm:4.23.0" dependencies: @@ -8129,6 +6653,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.24.0, browserslist@npm:^4.28.1": + version: 4.28.1 + resolution: "browserslist@npm:4.28.1" + dependencies: + baseline-browser-mapping: "npm:^2.9.0" + caniuse-lite: "npm:^1.0.30001759" + electron-to-chromium: "npm:^1.5.263" + node-releases: "npm:^2.0.27" + update-browserslist-db: "npm:^1.2.0" + bin: + browserslist: cli.js + checksum: 10c0/545a5fa9d7234e3777a7177ec1e9134bb2ba60a69e6b95683f6982b1473aad347c77c1264ccf2ac5dea609a9731fbfbda6b85782bdca70f80f86e28a402504bd + languageName: node + linkType: hard + "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -8160,10 +6699,12 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" + dependencies: + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 languageName: node linkType: hard @@ -8197,7 +6738,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" dependencies: @@ -8249,13 +6790,6 @@ __metadata: languageName: node linkType: hard -"camelcase-css@npm:^2.0.1": - version: 2.0.1 - resolution: "camelcase-css@npm:2.0.1" - checksum: 10c0/1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001587": version: 1.0.30001629 resolution: "caniuse-lite@npm:1.0.30001629" @@ -8263,6 +6797,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001759": + version: 1.0.30001777 + resolution: "caniuse-lite@npm:1.0.30001777" + checksum: 10c0/e35443fa7c470edc06e315297cca706790840e96983fff12dfe502a4b123d6e4a64b9b4e8e35fb2f5bb60c31b24fbda93d76b2f700ce183df474671236fa7a4a + languageName: node + linkType: hard + "case-sensitive-paths-webpack-plugin@npm:^2.4.0": version: 2.4.0 resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" @@ -8277,18 +6818,16 @@ __metadata: languageName: node linkType: hard -"chai@npm:^4.3.10": - version: 4.4.1 - resolution: "chai@npm:4.4.1" +"chai@npm:^5.2.0": + version: 5.3.3 + resolution: "chai@npm:5.3.3" dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.0.8" - checksum: 10c0/91590a8fe18bd6235dece04ccb2d5b4ecec49984b50924499bdcd7a95c02cb1fd2a689407c19bb854497bde534ef57525cfad6c7fdd2507100fd802fbc2aefbd + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/b360fd4d38861622e5010c2f709736988b05c7f31042305fa3f4e9911f6adb80ccfb4e302068bf8ed10e835c2e2520cba0f5edc13d878b886987e5aa62483f53 languageName: node linkType: hard @@ -8303,17 +6842,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": +"chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -8358,31 +6887,19 @@ __metadata: languageName: node linkType: hard -"check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 +"check-error@npm:^2.1.1": + version: 2.1.3 + resolution: "check-error@npm:2.1.3" + checksum: 10c0/878e99038fb6476316b74668cd6a498c7e66df3efe48158fa40db80a06ba4258742ac3ee2229c4a2a98c5e73f5dff84eb3e50ceb6b65bbd8f831eafc8338607d languageName: node linkType: hard -"chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" +"chokidar@npm:^4.0.1": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad languageName: node linkType: hard @@ -8393,25 +6910,6 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^11.4.0": - version: 11.5.3 - resolution: "chromatic@npm:11.5.3" - peerDependencies: - "@chromatic-com/cypress": ^0.*.* || ^1.0.0 - "@chromatic-com/playwright": ^0.*.* || ^1.0.0 - peerDependenciesMeta: - "@chromatic-com/cypress": - optional: true - "@chromatic-com/playwright": - optional: true - bin: - chroma: dist/bin.js - chromatic: dist/bin.js - chromatic-cli: dist/bin.js - checksum: 10c0/9cbac2061158956a444e27cfdd0a94654c5cb3cb09dca6a0482b06160597b2ae2a5570f72cbc86894b1f486fe02bad9cddc3eabc7e3678d615f44683d35acdaa - languageName: node - linkType: hard - "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -8495,17 +6993,6 @@ __metadata: languageName: node linkType: hard -"clipanion@npm:^3.2.1": - version: 3.2.1 - resolution: "clipanion@npm:3.2.1" - dependencies: - typanion: "npm:^3.8.0" - peerDependencies: - typanion: "*" - checksum: 10c0/6c148bd01ae645031aeb6e9a1a16f3ce07eb754cd9981c91edcab82b09e063b805ac41e4f36039d07602334b6dbba036b030d1807c12acd7f90778a696b7ac6e - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -8544,6 +7031,13 @@ __metadata: languageName: node linkType: hard +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: 10c0/b2e2800f4ab261e62eb27a1fbe853378296e3a726d6695117ed033e82d61fb6abeae4ffc1465d5454499e237005de9cfc52c9562dc7ca4ac759b9a222ef14453 + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -8624,13 +7118,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^4.0.0": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab - languageName: node - linkType: hard - "commander@npm:^8.3.0": version: 8.3.0 resolution: "commander@npm:8.3.0" @@ -8638,19 +7125,6 @@ __metadata: languageName: node linkType: hard -"comment-json@npm:^4.2.3": - version: 4.2.3 - resolution: "comment-json@npm:4.2.3" - dependencies: - array-timsort: "npm:^1.0.3" - core-util-is: "npm:^1.0.3" - esprima: "npm:^4.0.1" - has-own-prop: "npm:^2.0.0" - repeat-string: "npm:^1.6.1" - checksum: 10c0/e8a0d3a6d75d92551f9a7e6fefa31f3d831dc33117b0b9432f061f45a571c85c16143e4110693d450f6eca20841db43f5429ac0d801673bcf03e9973ab1c31af - languageName: node - linkType: hard - "common-path-prefix@npm:^3.0.0": version: 3.0.0 resolution: "common-path-prefix@npm:3.0.0" @@ -8682,26 +7156,6 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^8.2.2": - version: 8.2.2 - resolution: "concurrently@npm:8.2.2" - dependencies: - chalk: "npm:^4.1.2" - date-fns: "npm:^2.30.0" - lodash: "npm:^4.17.21" - rxjs: "npm:^7.8.1" - shell-quote: "npm:^1.8.1" - spawn-command: "npm:0.0.2" - supports-color: "npm:^8.1.1" - tree-kill: "npm:^1.2.2" - yargs: "npm:^17.7.2" - bin: - conc: dist/bin/concurrently.js - concurrently: dist/bin/concurrently.js - checksum: 10c0/0e9683196fe9c071d944345d21d8f34aa6c0cc50c0dd897e95619f2f1c9eb4871dca851b2569da17888235b7335b4c821ca19deed35bebcd9a131ee5d247f34c - languageName: node - linkType: hard - "console-browserify@npm:^1.2.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -8716,38 +7170,6 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb - languageName: node - linkType: hard - -"content-type@npm:~1.0.4, content-type@npm:~1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af - languageName: node - linkType: hard - -"contentlayer@npm:^0.3.4": - version: 0.3.4 - resolution: "contentlayer@npm:0.3.4" - dependencies: - "@contentlayer/cli": "npm:0.3.4" - "@contentlayer/client": "npm:0.3.4" - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/source-files": "npm:0.3.4" - "@contentlayer/source-remote-files": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" - bin: - contentlayer: ./bin/cli.cjs - checksum: 10c0/d9d46d4ab0550ba0a93e693997cfb3c68ab79b0d375f265c44141c1cf1d7fe7bc94f15567dcdef48c2ff2fb6c98c2154f98b3432ebc765297fd77d018584f0fb - languageName: node - linkType: hard - "conventional-changelog-angular@npm:^7.0.0": version: 7.0.0 resolution: "conventional-changelog-angular@npm:7.0.0" @@ -8794,20 +7216,6 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:1.0.6": - version: 1.0.6 - resolution: "cookie-signature@npm:1.0.6" - checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 - languageName: node - linkType: hard - -"cookie@npm:0.6.0": - version: 0.6.0 - resolution: "cookie@npm:0.6.0" - checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 - languageName: node - linkType: hard - "cookie@npm:^0.7.1": version: 0.7.2 resolution: "cookie@npm:0.7.2" @@ -8815,12 +7223,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": - version: 3.37.1 - resolution: "core-js-compat@npm:3.37.1" +"core-js-compat@npm:^3.43.0, core-js-compat@npm:^3.48.0": + version: 3.48.0 + resolution: "core-js-compat@npm:3.48.0" dependencies: - browserslist: "npm:^4.23.0" - checksum: 10c0/4e2da9c900f2951a57947af7aeef4d16f2c75d7f7e966c0d0b62953f65225003ade5e84d3ae98847f65b24c109c606821d9dc925db8ca418fb761e7c81963c2a + browserslist: "npm:^4.28.1" + checksum: 10c0/7bb6522127928fff5d56c7050f379a034de85fe2d5c6e6925308090d4b51fb0cb88e0db99619c932ee84d8756d531bf851232948fe1ad18598cb1e7278e8db13 languageName: node linkType: hard @@ -8831,7 +7239,14 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:^1.0.3, core-util-is@npm:~1.0.0": +"core-js@npm:^3.38.1": + version: 3.48.0 + resolution: "core-js@npm:3.48.0" + checksum: 10c0/6c3115900dd7cce9fab74c07cb262b3517fc250d02e8fd2ff34f80bda5f43a28482a909dbc4491dc6e1ddd9807f57a7df4c3eeecd1f202b7d9c8bfe25f9d680c + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 @@ -8851,16 +7266,20 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^7.0.1": - version: 7.1.0 - resolution: "cosmiconfig@npm:7.1.0" +"cosmiconfig@npm:^8.2.0": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" dependencies: - "@types/parse-json": "npm:^4.0.0" - import-fresh: "npm:^3.2.1" - parse-json: "npm:^5.0.0" + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" path-type: "npm:^4.0.0" - yaml: "npm:^1.10.0" - checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a languageName: node linkType: hard @@ -8930,7 +7349,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -8941,6 +7360,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + "crypto-browserify@npm:^3.12.0": version: 3.12.0 resolution: "crypto-browserify@npm:3.12.0" @@ -8960,16 +7390,7 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^4.0.0": - version: 4.0.0 - resolution: "crypto-random-string@npm:4.0.0" - dependencies: - type-fest: "npm:^1.0.1" - checksum: 10c0/16e11a3c8140398f5408b7fded35a961b9423c5dac39a60cbbd08bd3f0e07d7de130e87262adea7db03ec1a7a4b7551054e0db07ee5408b012bac5400cfc07a5 - languageName: node - linkType: hard - -"css-loader@npm:^6.7.1, css-loader@npm:^6.7.3": +"css-loader@npm:^6.7.3": version: 6.11.0 resolution: "css-loader@npm:6.11.0" dependencies: @@ -8993,6 +7414,30 @@ __metadata: languageName: node linkType: hard +"css-loader@npm:^7.1.2": + version: 7.1.4 + resolution: "css-loader@npm:7.1.4" + dependencies: + icss-utils: "npm:^5.1.0" + postcss: "npm:^8.4.40" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + postcss-value-parser: "npm:^4.2.0" + semver: "npm:^7.6.3" + peerDependencies: + "@rspack/core": 0.x || ^1.0.0 || ^2.0.0-0 + webpack: ^5.27.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10c0/a3a3a6b564d4fcf978961be8bc6ca06fb3836fc8fbd729ddae4b0b94166a0f5ccf119fb3301a6fecbe90608a8edbfd418bdc644cf053615e6271aa65b3fdc00b + languageName: node + linkType: hard + "css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" @@ -9029,17 +7474,10 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.2": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 - languageName: node - linkType: hard - -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce languageName: node linkType: hard @@ -9057,55 +7495,6 @@ __metadata: 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 - languageName: node - linkType: hard - -"data-view-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-buffer@npm:1.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 - 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 - 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" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f - languageName: node - linkType: hard - -"date-fns@npm:^2.30.0": - version: 2.30.0 - resolution: "date-fns@npm:2.30.0" - dependencies: - "@babel/runtime": "npm:^7.21.0" - checksum: 10c0/e4b521fbf22bc8c3db332bbfb7b094fd3e7627de0259a9d17c7551e2d2702608a7307a449206065916538e384f37b181565447ce2637ae09828427aed9cb5581 - languageName: node - linkType: hard - "date-fns@npm:^3.6.0": version: 3.6.0 resolution: "date-fns@npm:3.6.0" @@ -9113,16 +7502,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:~4.3.4": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:~4.3.4": version: 4.3.5 resolution: "debug@npm:4.3.5" dependencies: @@ -9134,12 +7514,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" +"debug@npm:^4.4.3": + version: 4.4.3 + resolution: "debug@npm:4.4.3" dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 languageName: node linkType: hard @@ -9159,52 +7542,34 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^4.1.3": - version: 4.1.4 - resolution: "deep-eql@npm:4.1.4" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/264e0613493b43552fc908f4ff87b8b445c0e6e075656649600e1b8a17a57ee03e960156fce7177646e4d2ddaf8e5ee616d76bd79929ff593e5c79e4e5e6c517 +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 languageName: node linkType: hard -"deep-equal@npm:^2.0.5": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.5" - es-get-iterator: "npm:^1.1.3" - get-intrinsic: "npm:^1.2.2" - is-arguments: "npm:^1.1.1" - is-array-buffer: "npm:^3.0.2" - is-date-object: "npm:^1.0.5" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - isarray: "npm:^2.0.5" - object-is: "npm:^1.1.5" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" - side-channel: "npm:^1.0.4" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.13" - checksum: 10c0/a48244f90fa989f63ff5ef0cc6de1e4916b48ea0220a9c89a378561960814794a5800c600254482a2c8fd2e49d6c2e196131dc983976adb024c94a42dfe4949f +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 languageName: node linkType: hard -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c +"default-browser-id@npm:^5.0.0": + version: 5.0.1 + resolution: "default-browser-id@npm:5.0.1" + checksum: 10c0/5288b3094c740ef3a86df9b999b04ff5ba4dee6b64e7b355c0fff5217752c8c86908d67f32f6cba9bb4f9b7b61a1b640c0a4f9e34c57e0ff3493559a625245ee languageName: node linkType: hard -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 +"default-browser@npm:^5.2.1": + version: 5.5.0 + resolution: "default-browser@npm:5.5.0" + dependencies: + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/576593b617b17a7223014b4571bfe1c06a2581a4eb8b130985d90d253afa3f40999caec70eb0e5776e80d4af6a41cce91018cd3f86e57ad578bf59e46fb19abe languageName: node linkType: hard @@ -9219,14 +7584,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: @@ -9240,18 +7605,11 @@ __metadata: "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 + checksum: 10c0/2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5 languageName: node linkType: hard -"dequal@npm:^2.0.0, dequal@npm:^2.0.2, dequal@npm:^2.0.3": +"dequal@npm:^2.0.0, dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 @@ -9268,13 +7626,6 @@ __metadata: languageName: node linkType: hard -"destroy@npm:1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 - languageName: node - linkType: hard - "detect-libc@npm:^2.0.3": version: 2.0.3 resolution: "detect-libc@npm:2.0.3" @@ -9305,27 +7656,6 @@ __metadata: languageName: node linkType: hard -"didyoumean@npm:^1.2.2": - version: 1.2.2 - resolution: "didyoumean@npm:1.2.2" - checksum: 10c0/95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^5.0.0": - version: 5.2.2 - resolution: "diff@npm:5.2.2" - checksum: 10c0/52da594c54e9033423da26984b1449ae6accd782d5afc4431c9a192a8507ddc83120fe8f925d7220b9da5b5963c7b6f5e46add3660a00cb36df7a13420a09d4b - languageName: node - linkType: hard - "diffie-hellman@npm:^5.0.0": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" @@ -9337,31 +7667,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dlv@npm:^1.1.3": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 - languageName: node - linkType: hard - -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac - languageName: node - linkType: hard - "doctrine@npm:^3.0.0": version: 3.0.0 resolution: "doctrine@npm:3.0.0" @@ -9371,13 +7676,6 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.9": - version: 0.5.16 - resolution: "dom-accessibility-api@npm:0.5.16" - checksum: 10c0/b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 - languageName: node - linkType: hard - "dom-accessibility-api@npm:^0.6.3": version: 0.6.3 resolution: "dom-accessibility-api@npm:0.6.3" @@ -9428,6 +7726,18 @@ __metadata: languageName: node linkType: hard +"dompurify@npm:^3.3.2": + version: 3.3.2 + resolution: "dompurify@npm:3.3.2" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10c0/8989525f003dd062e829137982b5412143421342991b2732bd621a1efd98b2c3cdc4f37547601d0727d3bc20f1d0eb2a0ecca287d3688f168cdb54ced867ca8f + languageName: node + linkType: hard + "domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -9458,20 +7768,6 @@ __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 - "dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" @@ -9490,13 +7786,6 @@ __metadata: languageName: node linkType: hard -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.668": version: 1.4.796 resolution: "electron-to-chromium@npm:1.4.796" @@ -9504,6 +7793,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.263": + version: 1.5.307 + resolution: "electron-to-chromium@npm:1.5.307" + checksum: 10c0/eb773a28af0dd7b3717b9bc2b31f332bcb42b43019866e039276db75c8c14063f96e29d19bea47231b4335a319d8518997b2d577dec6b5b237b768c7afdc5588 + languageName: node + linkType: hard + "elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": version: 6.6.1 resolution: "elliptic@npm:6.6.1" @@ -9547,20 +7843,6 @@ __metadata: languageName: node linkType: hard -"encodeurl@npm:~1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec - languageName: node - linkType: hard - -"encodeurl@npm:~2.0.0": - version: 2.0.0 - resolution: "encodeurl@npm:2.0.0" - checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb - languageName: node - linkType: hard - "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -9581,23 +7863,33 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.12.0, enhanced-resolve@npm:^5.7.0": - version: 5.17.0 - resolution: "enhanced-resolve@npm:5.17.0" +"enhanced-resolve@npm:^5.17.1": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10c0/90065e58e4fd08e77ba47f827eaa17d60c335e01e4859f6e644bb3b8d0e32b203d33894aee92adfa5121fa262f912b48bdf0d0475e98b4a0a1132eea1169ad37 + checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370 languageName: node linkType: hard -"enhanced-resolve@npm:^5.17.1": - version: 5.17.1 - resolution: "enhanced-resolve@npm:5.17.1" +"enhanced-resolve@npm:^5.19.0": + version: 5.20.0 + resolution: "enhanced-resolve@npm:5.20.0" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.3.0" + checksum: 10c0/4ed5f38406fc9ad74c58a3d63b8215862243ab0ed6b0efc51ccdb72cdcedd3ac8638abe298680b279d7a83c3cb140e5eea7a5f8bd99696c74588f07ad89a95a7 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.7.0": + version: 5.17.0 + resolution: "enhanced-resolve@npm:5.17.0" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370 + checksum: 10c0/90065e58e4fd08e77ba47f827eaa17d60c335e01e4859f6e644bb3b8d0e32b203d33894aee92adfa5121fa262f912b48bdf0d0475e98b4a0a1132eea1169ad37 languageName: node linkType: hard @@ -9647,60 +7939,6 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - arraybuffer.prototype.slice: "npm:^1.0.3" - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - data-view-buffer: "npm:^1.0.1" - data-view-byte-length: "npm:^1.0.1" - data-view-byte-offset: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-set-tostringtag: "npm:^2.0.3" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.4" - get-symbol-description: "npm:^1.0.2" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.2" - internal-slot: "npm:^1.0.7" - is-array-buffer: "npm:^3.0.4" - is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.1" - is-negative-zero: "npm:^2.0.3" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.3" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.13" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.5" - regexp.prototype.flags: "npm:^1.5.2" - safe-array-concat: "npm:^1.1.2" - safe-regex-test: "npm:^1.0.3" - string.prototype.trim: "npm:^1.2.9" - string.prototype.trimend: "npm:^1.0.8" - string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.2" - typed-array-byte-length: "npm:^1.0.1" - typed-array-byte-offset: "npm:^1.0.2" - typed-array-length: "npm:^1.0.6" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666 - languageName: node - linkType: hard - "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -9717,52 +7955,13 @@ __metadata: languageName: node linkType: hard -"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 languageName: node linkType: hard -"es-get-iterator@npm:^1.1.3": - version: 1.1.3 - resolution: "es-get-iterator@npm:1.1.3" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.3" - has-symbols: "npm:^1.0.3" - is-arguments: "npm:^1.1.1" - is-map: "npm:^2.0.2" - is-set: "npm:^2.0.2" - is-string: "npm:^1.0.7" - isarray: "npm:^2.0.5" - stop-iteration-iterator: "npm:^1.0.0" - checksum: 10c0/ebd11effa79851ea75d7f079405f9d0dc185559fd65d986c6afea59a0ff2d46c2ed8675f19f03dce7429d7f6c14ff9aede8d121fbab78d75cfda6a263030bac0 - languageName: node - linkType: hard - -"es-iterator-helpers@npm:^1.0.15, es-iterator-helpers@npm:^1.0.19": - version: 1.0.19 - resolution: "es-iterator-helpers@npm:1.0.19" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" - es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.3" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.2" - safe-array-concat: "npm:^1.1.2" - checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5 - languageName: node - linkType: hard - "es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.5.0": version: 1.5.3 resolution: "es-module-lexer@npm:1.5.3" @@ -9788,45 +7987,27 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" - dependencies: - get-intrinsic: "npm:^1.2.4" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.1" - checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": - version: 1.0.2 - resolution: "es-shim-unscopables@npm:1.0.2" - dependencies: - hasown: "npm:^2.0.0" - checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"esast-util-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "esast-util-from-estree@npm:2.0.0" dependencies: - is-callable: "npm:^1.1.4" - is-date-object: "npm:^1.0.1" - is-symbol: "npm:^1.0.2" - checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + checksum: 10c0/6c619bc6963314f8f64b32e3b101b321bf121f659e62b11e70f425619c2db6f1d25f4c594a57fd00908da96c67d9bfbf876eb5172abf9e13f47a71796f6630ff languageName: node linkType: hard -"esbuild-register@npm:^3.5.0": - version: 3.5.0 - resolution: "esbuild-register@npm:3.5.0" +"esast-util-from-js@npm:^2.0.0": + version: 2.0.1 + resolution: "esast-util-from-js@npm:2.0.1" dependencies: - debug: "npm:^4.3.4" - peerDependencies: - esbuild: ">=0.12 <1" - checksum: 10c0/9ccd0573cb66018e4cce3c1416eed0f5f3794c7026ce469a94e2f8761335abed8e363fc8e8bb036ab9ad7e579bb4296b8568a04ae5626596c123576b0d9c9bde + "@types/estree-jsx": "npm:^1.0.0" + acorn: "npm:^8.0.0" + esast-util-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3a446fb0b0d7bcd7e0157aa44b3b692802a08c93edbea81cc0f7fe4437bfdfb4b72e4563fe63b4e36d390086b71185dba4ac921f4180cc6349985c263cc74421 languageName: node linkType: hard @@ -9907,110 +8088,36 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:0.17.x || 0.18.x": - version: 0.18.20 - resolution: "esbuild@npm:0.18.20" - dependencies: - "@esbuild/android-arm": "npm:0.18.20" - "@esbuild/android-arm64": "npm:0.18.20" - "@esbuild/android-x64": "npm:0.18.20" - "@esbuild/darwin-arm64": "npm:0.18.20" - "@esbuild/darwin-x64": "npm:0.18.20" - "@esbuild/freebsd-arm64": "npm:0.18.20" - "@esbuild/freebsd-x64": "npm:0.18.20" - "@esbuild/linux-arm": "npm:0.18.20" - "@esbuild/linux-arm64": "npm:0.18.20" - "@esbuild/linux-ia32": "npm:0.18.20" - "@esbuild/linux-loong64": "npm:0.18.20" - "@esbuild/linux-mips64el": "npm:0.18.20" - "@esbuild/linux-ppc64": "npm:0.18.20" - "@esbuild/linux-riscv64": "npm:0.18.20" - "@esbuild/linux-s390x": "npm:0.18.20" - "@esbuild/linux-x64": "npm:0.18.20" - "@esbuild/netbsd-x64": "npm:0.18.20" - "@esbuild/openbsd-x64": "npm:0.18.20" - "@esbuild/sunos-x64": "npm:0.18.20" - "@esbuild/win32-arm64": "npm:0.18.20" - "@esbuild/win32-ia32": "npm:0.18.20" - "@esbuild/win32-x64": "npm:0.18.20" - dependenciesMeta: - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88 - languageName: node - linkType: hard - -"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0": - version: 0.20.2 - resolution: "esbuild@npm:0.20.2" - dependencies: - "@esbuild/aix-ppc64": "npm:0.20.2" - "@esbuild/android-arm": "npm:0.20.2" - "@esbuild/android-arm64": "npm:0.20.2" - "@esbuild/android-x64": "npm:0.20.2" - "@esbuild/darwin-arm64": "npm:0.20.2" - "@esbuild/darwin-x64": "npm:0.20.2" - "@esbuild/freebsd-arm64": "npm:0.20.2" - "@esbuild/freebsd-x64": "npm:0.20.2" - "@esbuild/linux-arm": "npm:0.20.2" - "@esbuild/linux-arm64": "npm:0.20.2" - "@esbuild/linux-ia32": "npm:0.20.2" - "@esbuild/linux-loong64": "npm:0.20.2" - "@esbuild/linux-mips64el": "npm:0.20.2" - "@esbuild/linux-ppc64": "npm:0.20.2" - "@esbuild/linux-riscv64": "npm:0.20.2" - "@esbuild/linux-s390x": "npm:0.20.2" - "@esbuild/linux-x64": "npm:0.20.2" - "@esbuild/netbsd-x64": "npm:0.20.2" - "@esbuild/openbsd-x64": "npm:0.20.2" - "@esbuild/sunos-x64": "npm:0.20.2" - "@esbuild/win32-arm64": "npm:0.20.2" - "@esbuild/win32-ia32": "npm:0.20.2" - "@esbuild/win32-x64": "npm:0.20.2" +"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0": + version: 0.27.3 + resolution: "esbuild@npm:0.27.3" + dependencies: + "@esbuild/aix-ppc64": "npm:0.27.3" + "@esbuild/android-arm": "npm:0.27.3" + "@esbuild/android-arm64": "npm:0.27.3" + "@esbuild/android-x64": "npm:0.27.3" + "@esbuild/darwin-arm64": "npm:0.27.3" + "@esbuild/darwin-x64": "npm:0.27.3" + "@esbuild/freebsd-arm64": "npm:0.27.3" + "@esbuild/freebsd-x64": "npm:0.27.3" + "@esbuild/linux-arm": "npm:0.27.3" + "@esbuild/linux-arm64": "npm:0.27.3" + "@esbuild/linux-ia32": "npm:0.27.3" + "@esbuild/linux-loong64": "npm:0.27.3" + "@esbuild/linux-mips64el": "npm:0.27.3" + "@esbuild/linux-ppc64": "npm:0.27.3" + "@esbuild/linux-riscv64": "npm:0.27.3" + "@esbuild/linux-s390x": "npm:0.27.3" + "@esbuild/linux-x64": "npm:0.27.3" + "@esbuild/netbsd-arm64": "npm:0.27.3" + "@esbuild/netbsd-x64": "npm:0.27.3" + "@esbuild/openbsd-arm64": "npm:0.27.3" + "@esbuild/openbsd-x64": "npm:0.27.3" + "@esbuild/openharmony-arm64": "npm:0.27.3" + "@esbuild/sunos-x64": "npm:0.27.3" + "@esbuild/win32-arm64": "npm:0.27.3" + "@esbuild/win32-ia32": "npm:0.27.3" + "@esbuild/win32-x64": "npm:0.27.3" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -10046,10 +8153,16 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true + "@esbuild/openharmony-arm64": + optional: true "@esbuild/sunos-x64": optional: true "@esbuild/win32-arm64": @@ -10060,11 +8173,11 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/66398f9fb2c65e456a3e649747b39af8a001e47963b25e86d9c09d2a48d61aa641b27da0ce5cad63df95ad246105e1d83e7fee0e1e22a0663def73b1c5101112 + checksum: 10c0/fdc3f87a3f08b3ef98362f37377136c389a0d180fda4b8d073b26ba930cf245521db0a368f119cc7624bc619248fff1439f5811f062d853576f8ffa3df8ee5f1 languageName: node linkType: hard -"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0": +"esbuild@npm:^0.25.4": version: 0.25.12 resolution: "esbuild@npm:0.25.12" dependencies: @@ -10131,340 +8244,64 @@ __metadata: optional: true "@esbuild/netbsd-arm64": optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-arm64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/openharmony-arm64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b - languageName: node - linkType: hard - -"escalade@npm:^3.1.1, escalade@npm:^3.1.2": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 - languageName: node - linkType: hard - -"escape-html@npm:~1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^5.0.0": - version: 5.0.0 - resolution: "escape-string-regexp@npm:5.0.0" - checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 - languageName: node - linkType: hard - -"escodegen@npm:^2.1.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: + "@esbuild/netbsd-x64": 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: + "@esbuild/openbsd-arm64": 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: + "@esbuild/openbsd-x64": optional: true - checksum: 10c0/1aeeb97bf4b688d28de136ee57c824480c37691b40fa825c711a4caf85954e94b99c06ac639d7f1f6c1d69223bd21bcb991155b3e589488e958d5b83dfd0f882 - languageName: node - linkType: hard - -"eslint-plugin-import@npm:^2.28.1": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" - dependencies: - array-includes: "npm:^3.1.7" - array.prototype.findlastindex: "npm:^1.2.3" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.8.0" - hasown: "npm:^2.0.0" - is-core-module: "npm:^2.13.1" - is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.7" - object.groupby: "npm:^1.0.1" - object.values: "npm:^1.1.7" - semver: "npm:^6.3.1" - tsconfig-paths: "npm:^3.15.0" - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 10c0/5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 - languageName: node - linkType: hard - -"eslint-plugin-jsx-a11y@npm:^6.7.1": - version: 6.8.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" - dependencies: - "@babel/runtime": "npm:^7.23.2" - aria-query: "npm:^5.3.0" - array-includes: "npm:^3.1.7" - array.prototype.flatmap: "npm:^1.3.2" - ast-types-flow: "npm:^0.0.8" - axe-core: "npm:=4.7.0" - axobject-query: "npm:^3.2.1" - damerau-levenshtein: "npm:^1.0.8" - emoji-regex: "npm:^9.2.2" - es-iterator-helpers: "npm:^1.0.15" - hasown: "npm:^2.0.0" - jsx-ast-utils: "npm:^3.3.5" - language-tags: "npm:^1.0.9" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.7" - object.fromentries: "npm:^2.0.7" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/199b883e526e6f9d7c54cb3f094abc54f11a1ec816db5fb6cae3b938eb0e503acc10ccba91ca7451633a9d0b9abc0ea03601844a8aba5fe88c5e8897c9ac8f49 - languageName: node - linkType: hard - -"eslint-plugin-prettier@npm:^5.1.3": - version: 5.1.3 - resolution: "eslint-plugin-prettier@npm:5.1.3" - dependencies: - prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.8.6" - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": optional: true - eslint-config-prettier: + "@esbuild/win32-x64": optional: true - checksum: 10c0/f45d5fc1fcfec6b0cf038a7a65ddd10a25df4fe3f9e1f6b7f0d5100e66f046a26a2492e69ee765dddf461b93c114cf2e1eb18d4970aafa6f385448985c136e09 + bin: + esbuild: bin/esbuild + checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc - languageName: node - linkType: hard - -"eslint-plugin-react@npm:^7.33.2": - version: 7.34.2 - resolution: "eslint-plugin-react@npm:7.34.2" - dependencies: - array-includes: "npm:^3.1.8" - array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" - array.prototype.toreversed: "npm:^1.1.2" - array.prototype.tosorted: "npm:^1.1.3" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" - estraverse: "npm:^5.3.0" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" - object.fromentries: "npm:^2.0.8" - object.hasown: "npm:^1.1.4" - object.values: "npm:^1.2.0" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.5" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/37dc04424da8626f20a071466e7238d53ed111c53e5e5398d813ac2cf76a2078f00d91f7833fe5b2f0fc98f2688a75b36e78e9ada9f1068705d23c7031094316 - languageName: node - linkType: hard - -"eslint-plugin-react@npm:^7.34.3": - version: 7.34.3 - resolution: "eslint-plugin-react@npm:7.34.3" - dependencies: - array-includes: "npm:^3.1.8" - array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" - array.prototype.toreversed: "npm:^1.1.2" - array.prototype.tosorted: "npm:^1.1.4" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" - estraverse: "npm:^5.3.0" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" - object.fromentries: "npm:^2.0.8" - object.hasown: "npm:^1.1.4" - object.values: "npm:^1.2.0" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.5" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/60717e32c9948e2b4ddc53dac7c4b62c68fc7129c3249079191c941c08ebe7d1f4793d65182922d19427c2a6634e05231a7b74ceee34169afdfd0e43d4a43d26 +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 languageName: node linkType: hard -"eslint-plugin-simple-import-sort@npm:^12.1.0": - version: 12.1.0 - resolution: "eslint-plugin-simple-import-sort@npm:12.1.0" - peerDependencies: - eslint: ">=5.0.0" - checksum: 10c0/11e963683216e190b09bb6834b6978ca71d438d9413c52495e92493b0a68fc10268d7fd5815814496ab02fe7c018e4d5fd82866bf3ed5f95cff69628ca741102 +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 languageName: node linkType: hard -"eslint-plugin-storybook@npm:^0.8.0": - version: 0.8.0 - resolution: "eslint-plugin-storybook@npm:0.8.0" - dependencies: - "@storybook/csf": "npm:^0.0.1" - "@typescript-eslint/utils": "npm:^5.62.0" - requireindex: "npm:^1.2.0" - ts-dedent: "npm:^2.2.0" - peerDependencies: - eslint: ">=6" - checksum: 10c0/c76f6decdd4c826cd6a8bb613085e0cde804f4648093a0464a39867cc0ba4e1d34be15ff91eed827730da5efbbf55ae5e71af648bb0b461946d5e41384669ab8 +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 languageName: node linkType: hard -"eslint-plugin-unused-imports@npm:^4.0.0": +"escape-string-regexp@npm:^4.0.0": version: 4.0.0 - resolution: "eslint-plugin-unused-imports@npm:4.0.0" - dependencies: - eslint-rule-composer: "npm:^0.3.0" - peerDependencies: - "@typescript-eslint/eslint-plugin": 8 - eslint: 9 - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - checksum: 10c0/0ed81fc64279d01d2e207fdb7a4482af127a37c4889fcbdf4237664567ecce0f0b9bfaec90f2041b876a2a50f7ab321ff91bb5afdebe718a0dd0b120f587fd74 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 languageName: node linkType: hard -"eslint-rule-composer@npm:^0.3.0": - version: 0.3.0 - resolution: "eslint-rule-composer@npm:0.3.0" - checksum: 10c0/1f0c40d209e1503a955101a0dbba37e7fc67c8aaa47a5b9ae0b0fcbae7022c86e52b3df2b1b9ffd658e16cd80f31fff92e7222460a44d8251e61d49e0af79a07 +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 languageName: node linkType: hard -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": +"eslint-scope@npm:5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -10474,83 +8311,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 - languageName: node - linkType: hard - -"eslint@npm:^8": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" - debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - bin: - eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 - languageName: node - linkType: hard - -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0": +"esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -10560,15 +8321,6 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 - languageName: node - linkType: hard - "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -10585,74 +8337,69 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": +"estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 languageName: node linkType: hard -"estree-util-attach-comments@npm:^2.0.0": - version: 2.1.1 - resolution: "estree-util-attach-comments@npm:2.1.1" +"estree-util-attach-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-attach-comments@npm:3.0.0" dependencies: "@types/estree": "npm:^1.0.0" - checksum: 10c0/cdb5fdb5809b376ca4a96afbcd916c3570b4bbf5d0115b8a9e1e8a10885d8d9fb549df0a16c077abb42ee35fa33192b69714bac25d4f3c43a36092288c9a64fd + checksum: 10c0/ee69bb5c45e2ad074725b90ed181c1c934b29d81bce4b0c7761431e83c4c6ab1b223a6a3d6a4fbeb92128bc5d5ee201d5dd36cf1770aa5e16a40b0cf36e8a1f1 languageName: node linkType: hard -"estree-util-build-jsx@npm:^2.0.0": - version: 2.2.2 - resolution: "estree-util-build-jsx@npm:2.2.2" +"estree-util-build-jsx@npm:^3.0.0": + version: 3.0.1 + resolution: "estree-util-build-jsx@npm:3.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" estree-walker: "npm:^3.0.0" - checksum: 10c0/2cef6ad6747f51934eba0601c3477ba08c98331cfe616635e08dfc89d06b9bbd370c4d80e87fe7d42d82776fa7840868201f48491b0ef9c808039f15fe4667e1 + checksum: 10c0/274c119817b8e7caa14a9778f1e497fea56cdd2b01df1a1ed037f843178992d3afe85e0d364d485e1e2e239255763553d1b647b15e4a7ba50851bcb43dc6bf80 languageName: node linkType: hard -"estree-util-is-identifier-name@npm:^1.0.0": - version: 1.1.0 - resolution: "estree-util-is-identifier-name@npm:1.1.0" - checksum: 10c0/4984c705638594d651ea090b3da8c0726da67790cea661dd56540e0f16e1bb07fb0c3a96b8f8cd625d5d28da3184340ffd815fea82cb130dc3d558db023b508c +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b languageName: node linkType: hard -"estree-util-is-identifier-name@npm:^2.0.0": - version: 2.1.0 - resolution: "estree-util-is-identifier-name@npm:2.1.0" - checksum: 10c0/cc241a6998d30f4e8775ec34b042ef93e0085cd1bdf692a01f22e9b748f0866c76679475ff87935be1d8d5b1a7648be8cba366dc60866b372269f35feec756fe +"estree-util-scope@npm:^1.0.0": + version: 1.0.0 + resolution: "estree-util-scope@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + checksum: 10c0/ef8a573cc899277c613623a1722f630e2163abbc6e9e2f49e758c59b81b484e248b585df6df09a38c00fbfb6390117997cc80c1347b7a86bc1525d9e462b60d5 languageName: node linkType: hard -"estree-util-to-js@npm:^1.1.0": - version: 1.2.0 - resolution: "estree-util-to-js@npm:1.2.0" +"estree-util-to-js@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-to-js@npm:2.0.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" astring: "npm:^1.8.0" source-map: "npm:^0.7.0" - checksum: 10c0/ad9c99dc34b0510ab813b485251acbf0abd06361c07b13c08da5d1611c279bee02ec09f2c269ae30b8d2da587115fc1fad4fa9f2f5ba69e094e758a3a4de7069 - languageName: node - linkType: hard - -"estree-util-value-to-estree@npm:^1.0.0": - version: 1.3.0 - resolution: "estree-util-value-to-estree@npm:1.3.0" - dependencies: - is-plain-obj: "npm:^3.0.0" - checksum: 10c0/8bf46c4629f55a6ad3a6c523277cd34591cf57dfcab01cf4f218a8780cd23d21901c393693484c449a46bad7b9cb6fbf24c3dd1c1b057e10fd6a076f24fd5f3f + checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 languageName: node linkType: hard -"estree-util-visit@npm:^1.0.0": - version: 1.2.1 - resolution: "estree-util-visit@npm:1.2.1" +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - checksum: 10c0/3c47086ab25947a889fca9f58a842e0d27edadcad24dc393fdd7c9ad3419fe05b3c63b6fc9d6c9d8f50d32bca615cd0a3fe8d0e6b300fb94f74c91210b55ea5d + "@types/unist": "npm:^3.0.0" + checksum: 10c0/acda8b03cc8f890d79c7c7361f6c95331ba84b7ccc0c32b49f447fc30206b20002b37ffdfc97b6ad16e6fe065c63ecbae1622492e2b6b4775c15966606217f39 languageName: node linkType: hard @@ -10663,7 +8410,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^3.0.0, estree-walker@npm:^3.0.3": +"estree-walker@npm:^3.0.0": version: 3.0.3 resolution: "estree-walker@npm:3.0.3" dependencies: @@ -10679,13 +8426,6 @@ __metadata: languageName: node linkType: hard -"etag@npm:~1.8.1": - version: 1.8.1 - resolution: "etag@npm:1.8.1" - checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 - languageName: node - linkType: hard - "event-target-shim@npm:^5.0.0": version: 5.0.1 resolution: "event-target-shim@npm:5.0.1" @@ -10718,23 +8458,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - "execa@npm:^8.0.1, execa@npm:~8.0.1": version: 8.0.1 resolution: "execa@npm:8.0.1" @@ -10766,45 +8489,6 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.17.3": - version: 4.21.0 - resolution: "express@npm:4.21.0" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.3" - content-disposition: "npm:0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:0.6.0" - cookie-signature: "npm:1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:1.3.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - merge-descriptors: "npm:1.0.3" - methods: "npm:~1.1.2" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.10" - proxy-addr: "npm:~2.0.7" - qs: "npm:6.13.0" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:0.19.0" - serve-static: "npm:1.16.2" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 10c0/4cf7ca328f3fdeb720f30ccb2ea7708bfa7d345f9cc460b64a82bf1b2c91e5b5852ba15a9a11b2a165d6089acf83457fc477dc904d59cd71ed34c7a91762c6cc - languageName: node - linkType: hard - "exsolve@npm:^1.0.1": version: 1.0.8 resolution: "exsolve@npm:1.0.8" @@ -10812,15 +8496,6 @@ __metadata: languageName: node linkType: hard -"extend-shallow@npm:^2.0.1": - version: 2.0.1 - resolution: "extend-shallow@npm:2.0.1" - dependencies: - is-extendable: "npm:^0.1.0" - checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 - languageName: node - linkType: hard - "extend@npm:^3.0.0": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -10835,26 +8510,6 @@ __metadata: languageName: node linkType: hard -"fast-diff@npm:^1.1.2": - version: 1.3.0 - resolution: "fast-diff@npm:1.3.0" - checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - "fast-json-parse@npm:^1.0.3": version: 1.0.3 resolution: "fast-json-parse@npm:1.0.3" @@ -10869,41 +8524,6 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 - languageName: node - linkType: hard - -"fault@npm:^2.0.0": - version: 2.0.1 - resolution: "fault@npm:2.0.1" - dependencies: - format: "npm:^0.2.0" - checksum: 10c0/b80fbf1019b9ce8b08ee09ce86e02b028563e13a32ac3be34e42bfac00a97b96d8dee6d31e26578ffc16224eb6729e01ff1f97ddfeee00494f4f56c0aeed4bdd - languageName: node - linkType: hard - -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" - dependencies: - node-domexception: "npm:^1.0.0" - web-streams-polyfill: "npm:^3.0.3" - checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 - languageName: node - linkType: hard - "fflate@npm:^0.4.8": version: 0.4.8 resolution: "fflate@npm:0.4.8" @@ -10911,32 +8531,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd - languageName: node - linkType: hard - -"file-system-cache@npm:2.3.0": - version: 2.3.0 - resolution: "file-system-cache@npm:2.3.0" - dependencies: - fs-extra: "npm:11.1.1" - ramda: "npm:0.29.0" - checksum: 10c0/43de19f0db32e6546bb7abeecb1d6ea83c1eca23b38905c9415a29f6219cc9d6d87b0c1a6aca92c46a0f1bc276241a339f2f68b8aa0ca5c2eb64b6e1e3e4da01 - languageName: node - linkType: hard - -"filesize@npm:^10.0.12": - version: 10.1.2 - resolution: "filesize@npm:10.1.2" - checksum: 10c0/1f3a81231047924e3c6181ef1596bf56c83cc65e407130d9b83a3c6a603894261dce89013d15c6e3e4d636845128360c21c64c4700a243f0d8662e168c2fd781 - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -10953,22 +8547,7 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.3.1": - version: 1.3.1 - resolution: "finalhandler@npm:1.3.1" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:2.0.1" - unpipe: "npm:~1.0.0" - checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f - languageName: node - linkType: hard - -"find-cache-dir@npm:^3.0.0, find-cache-dir@npm:^3.3.1": +"find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" dependencies: @@ -10999,16 +8578,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - "find-up@npm:^6.3.0": version: 6.3.0 resolution: "find-up@npm:6.3.0" @@ -11076,14 +8645,14 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:^8.0.0": - version: 8.0.0 - resolution: "fork-ts-checker-webpack-plugin@npm:8.0.0" +"fork-ts-checker-webpack-plugin@npm:^9.1.0": + version: 9.1.0 + resolution: "fork-ts-checker-webpack-plugin@npm:9.1.0" dependencies: "@babel/code-frame": "npm:^7.16.7" chalk: "npm:^4.1.2" - chokidar: "npm:^3.5.3" - cosmiconfig: "npm:^7.0.1" + chokidar: "npm:^4.0.1" + cosmiconfig: "npm:^8.2.0" deepmerge: "npm:^4.2.2" fs-extra: "npm:^10.0.0" memfs: "npm:^3.4.1" @@ -11095,42 +8664,21 @@ __metadata: peerDependencies: typescript: ">3.6.0" webpack: ^5.11.0 - checksum: 10c0/1a2bb9bbd3e943e3b3a45d7fa9e8383698f5fea1ba28f7d18c8372c804460c2f13af53f791360b973fddafd3e88de7af59082c3cb3375f4e7c3365cd85accedc + checksum: 10c0/b4acdf400862af5f57d3e159b3a444e7f9f73e9f4609d54604c3810f75f8adcea0165a8b17ee856ed3c65591d058ffd73cd08d273e289d4952844e75f6efa85d 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 - languageName: node - linkType: hard - -"framer-motion@npm:^11.2.10": - version: 11.2.10 - resolution: "framer-motion@npm:11.2.10" +"framer-motion@npm:^12.35.0": + version: 12.35.0 + resolution: "framer-motion@npm:12.35.0" dependencies: + motion-dom: "npm:^12.35.0" + motion-utils: "npm:^12.29.2" tslib: "npm:^2.4.0" peerDependencies: "@emotion/is-prop-valid": "*" - react: ^18.0.0 - react-dom: ^18.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@emotion/is-prop-valid": optional: true @@ -11138,25 +8686,7 @@ __metadata: optional: true react-dom: optional: true - checksum: 10c0/b28a906f16c23b2ae14aedcee5a292364fa4ccab129efd86a163da8fd95533bcc6604e9636a4d3727278a7ad0866a69fba3c8884554e67d15722abe1f3c05744 - languageName: node - linkType: hard - -"fresh@npm:0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a - languageName: node - linkType: hard - -"fs-extra@npm:11.1.1": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/a2480243d7dcfa7d723c5f5b24cf4eba02a6ccece208f1524a2fbde1c629492cfb9a59e4b6d04faff6fbdf71db9fdc8ef7f396417a02884195a625f5d8dc9427 + checksum: 10c0/f79e2877d28f8f467bd7e936f2d67a53398c13adce5ac110bd4364da25b8e11b6c3daee7ea533df5d9624bef881ae2b7dd11a8805960bcdffaaee9d2438426f5 languageName: node linkType: hard @@ -11167,18 +8697,7 @@ __metadata: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e - 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 + checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e languageName: node linkType: hard @@ -11240,25 +8759,6 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - functions-have-names: "npm:^1.2.3" - checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.3": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -11280,14 +8780,7 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" dependencies: @@ -11345,13 +8838,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - "get-stream@npm:^8.0.1": version: 8.0.1 resolution: "get-stream@npm:8.0.1" @@ -11359,26 +8845,6 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.5" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.5.0": - version: 4.7.5 - resolution: "get-tsconfig@npm:4.7.5" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/a917dff2ba9ee187c41945736bf9bbab65de31ce5bc1effd76267be483a7340915cff232199406379f26517d2d0a4edcdbcda8cca599c2480a0f2cf1e1de3efa - languageName: node - linkType: hard - "git-raw-commits@npm:^4.0.0": version: 4.0.0 resolution: "git-raw-commits@npm:4.0.0" @@ -11399,24 +8865,6 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - "glob-to-regexp@npm:0.4.1, glob-to-regexp@npm:^0.4.1": version: 0.4.1 resolution: "glob-to-regexp@npm:0.4.1" @@ -11424,22 +8872,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:10.3.10": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d - languageName: node - linkType: hard - -"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10": version: 10.4.1 resolution: "glob@npm:10.4.1" dependencies: @@ -11484,39 +8917,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd - languageName: node - linkType: hard - -"globalthis@npm:^1.0.3": - version: 1.0.4 - resolution: "globalthis@npm:1.0.4" - dependencies: - define-properties: "npm:^1.2.1" - gopd: "npm:^1.0.1" - checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 - languageName: node - linkType: hard - -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -11540,50 +8940,6 @@ __metadata: languageName: node linkType: hard -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - -"gray-matter@npm:^4.0.3": - version: 4.0.3 - resolution: "gray-matter@npm:4.0.3" - dependencies: - js-yaml: "npm:^3.13.1" - kind-of: "npm:^6.0.2" - section-matter: "npm:^1.0.0" - strip-bom-string: "npm:^1.0.0" - checksum: 10c0/e38489906dad4f162ca01e0dcbdbed96d1a53740cef446b9bf76d80bec66fa799af07776a18077aee642346c5e1365ed95e4c91854a12bf40ba0d4fb43a625a6 - languageName: node - linkType: hard - -"handlebars@npm:^4.7.7": - version: 4.7.8 - resolution: "handlebars@npm:4.7.8" - dependencies: - minimist: "npm:^1.2.5" - neo-async: "npm:^2.6.2" - source-map: "npm:^0.6.1" - uglify-js: "npm:^3.1.4" - wordwrap: "npm:^1.0.0" - dependenciesMeta: - uglify-js: - optional: true - bin: - handlebars: bin/handlebars - checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d - languageName: node - linkType: hard - -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b - languageName: node - linkType: hard - "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -11598,13 +8954,6 @@ __metadata: languageName: node linkType: hard -"has-own-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "has-own-prop@npm:2.0.0" - checksum: 10c0/2745497283d80228b5c5fbb8c63ab1029e604bce7db8d4b36255e427b3695b2153dc978b176674d0dd2a23f132809e04d7ef41fefc0ab85870a5caa918c5c0d9 - languageName: node - linkType: hard - "has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" @@ -11614,14 +8963,14 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": +"has-proto@npm:^1.0.1": version: 1.0.3 resolution: "has-proto@npm:1.0.3" checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": +"has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 @@ -11674,13 +9023,6 @@ __metadata: languageName: node linkType: hard -"hash-wasm@npm:^4.9.0": - version: 4.11.0 - resolution: "hash-wasm@npm:4.11.0" - checksum: 10c0/ddf87ed2319fc7c9ba745fffccbf008a80e931b5913b4eef42b038efc10705e48458e2bf528601f78142774108dd7b151341721ce05aca9c431179fe5cefbb72 - languageName: node - linkType: hard - "hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": version: 1.1.7 resolution: "hash.js@npm:1.1.7" @@ -11691,7 +9033,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.0, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -11714,21 +9056,6 @@ __metadata: languageName: node linkType: hard -"hast-util-from-parse5@npm:^7.0.0": - version: 7.1.2 - resolution: "hast-util-from-parse5@npm:7.1.2" - dependencies: - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" - hastscript: "npm:^7.0.0" - property-information: "npm:^6.0.0" - vfile: "npm:^5.0.0" - vfile-location: "npm:^4.0.0" - web-namespaces: "npm:^2.0.0" - checksum: 10c0/c1002816d0235ff0a1e888d71c191d3ecfbaba510aaef86eec00edcba8803a3e0ad901bb0e5430a9d2aee2d52c31aabacae8282394dc519c333017a46c68d1c8 - languageName: node - linkType: hard - "hast-util-from-parse5@npm:^8.0.0": version: 8.0.1 resolution: "hast-util-from-parse5@npm:8.0.1" @@ -11763,15 +9090,6 @@ __metadata: languageName: node linkType: hard -"hast-util-parse-selector@npm:^3.0.0": - version: 3.1.1 - resolution: "hast-util-parse-selector@npm:3.1.1" - dependencies: - "@types/hast": "npm:^2.0.0" - checksum: 10c0/34ac1707a477fd9764e328087163f1f21857bdb0f8d425bf41f6def7baf840e50e4bca2eb03072e3da4e39856de28893c4b688dcba0cc305160d53afcece4df4 - languageName: node - linkType: hard - "hast-util-parse-selector@npm:^4.0.0": version: 4.0.0 resolution: "hast-util-parse-selector@npm:4.0.0" @@ -11781,78 +9099,69 @@ __metadata: languageName: node linkType: hard -"hast-util-raw@npm:^7.0.0": - version: 7.2.3 - resolution: "hast-util-raw@npm:7.2.3" - dependencies: - "@types/hast": "npm:^2.0.0" - "@types/parse5": "npm:^6.0.0" - hast-util-from-parse5: "npm:^7.0.0" - hast-util-to-parse5: "npm:^7.0.0" - html-void-elements: "npm:^2.0.0" - parse5: "npm:^6.0.0" - unist-util-position: "npm:^4.0.0" - unist-util-visit: "npm:^4.0.0" - vfile: "npm:^5.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/c7bf994938cbc1acaaeb337f99773773b51ad77695b559c6352cba5c35b26610e6de2936b5086ef8bc53b436dd8032a3860e7357f28b6bb0365f751919745398 - languageName: node - linkType: hard - -"hast-util-to-estree@npm:^2.0.0": - version: 2.3.3 - resolution: "hast-util-to-estree@npm:2.3.3" +"hast-util-to-estree@npm:^3.0.0": + version: 3.1.3 + resolution: "hast-util-to-estree@npm:3.1.3" dependencies: "@types/estree": "npm:^1.0.0" "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" - estree-util-attach-comments: "npm:^2.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - hast-util-whitespace: "npm:^2.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - property-information: "npm:^6.0.0" + devlop: "npm:^1.0.0" + estree-util-attach-comments: "npm:^3.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" - style-to-object: "npm:^0.4.1" - unist-util-position: "npm:^4.0.0" + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/5947b5030a6d20c193f5ea576cc751507e0b30d00f91e40a5208ca3a7add03a3862795a83600c0fdadf19c8b051917c7904715fa7dd358f04603d67a36341c38 + checksum: 10c0/8e86c075319082c8a6304c5bcdf24ec02466074571e993f58bfa2cfd70850ef46d33b5c402208597a87fe0f02f1e620bda5958217efb1b7396c81c486373b75f languageName: node linkType: hard -"hast-util-to-html@npm:^8.0.0": - version: 8.0.4 - resolution: "hast-util-to-html@npm:8.0.4" +"hast-util-to-html@npm:^9.0.5": + version: 9.0.5 + resolution: "hast-util-to-html@npm:9.0.5" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" ccount: "npm:^2.0.0" comma-separated-tokens: "npm:^2.0.0" - hast-util-raw: "npm:^7.0.0" - hast-util-whitespace: "npm:^2.0.0" - html-void-elements: "npm:^2.0.0" - property-information: "npm:^6.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" stringify-entities: "npm:^4.0.0" zwitch: "npm:^2.0.4" - checksum: 10c0/a9dd87cdd710dcd151d144152ec6d2c6d20377b8258b31776e1387868fab8e3e0552d237c337d84dc94407b935a47e2e344b1cf8bd3ce16541c934004879c33f + checksum: 10c0/b7a08c30bab4371fc9b4a620965c40b270e5ae7a8e94cf885f43b21705179e28c8e43b39c72885d1647965fb3738654e6962eb8b58b0c2a84271655b4d748836 languageName: node linkType: hard -"hast-util-to-parse5@npm:^7.0.0": - version: 7.1.0 - resolution: "hast-util-to-parse5@npm:7.1.0" +"hast-util-to-jsx-runtime@npm:^2.0.0": + version: 2.3.6 + resolution: "hast-util-to-jsx-runtime@npm:2.3.6" dependencies: - "@types/hast": "npm:^2.0.0" + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" comma-separated-tokens: "npm:^2.0.0" - property-information: "npm:^6.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^7.0.0" space-separated-tokens: "npm:^2.0.0" - web-namespaces: "npm:^2.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/2a96302b8f25fa2d5b657a94bb20a3d9a1a81e66c2f81582a242c5634dd850e3bd95313a7471eef8282b597f2129551fef5a1631f4ce14c41aab646281b339a0 + style-to-js: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/27297e02848fe37ef219be04a26ce708d17278a175a807689e94a821dcffc88aa506d62c3a85beed1f9a8544f7211bdcbcde0528b7b456a57c2e342c3fd11056 languageName: node linkType: hard @@ -11865,23 +9174,12 @@ __metadata: languageName: node linkType: hard -"hast-util-whitespace@npm:^2.0.0": - version: 2.0.1 - resolution: "hast-util-whitespace@npm:2.0.1" - checksum: 10c0/dcf6ebab091c802ffa7bb3112305c7631c15adb6c07a258f5528aefbddf82b4e162c8310ef426c48dc1dc623982cc33920e6dde5a50015d307f2778dcf6c2487 - languageName: node - linkType: hard - -"hastscript@npm:^7.0.0": - version: 7.2.0 - resolution: "hastscript@npm:7.2.0" +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" dependencies: - "@types/hast": "npm:^2.0.0" - comma-separated-tokens: "npm:^2.0.0" - hast-util-parse-selector: "npm:^3.0.0" - property-information: "npm:^6.0.0" - space-separated-tokens: "npm:^2.0.0" - checksum: 10c0/579912b03ff4a5b19eb609df7403c6dba2505ef1a1e2bc47cbf467cbd7cffcd51df40e74d882de1ccdda40aaf18487f82619eb9cb9f2077cba778017e95e868e + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 languageName: node linkType: hard @@ -11942,17 +9240,10 @@ __metadata: languageName: node linkType: hard -"html-tags@npm:^3.1.0": - version: 3.3.1 - resolution: "html-tags@npm:3.3.1" - checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 - languageName: node - linkType: hard - -"html-void-elements@npm:^2.0.0": - version: 2.0.1 - resolution: "html-void-elements@npm:2.0.1" - checksum: 10c0/1079c9e9fdb3b6a2481f2a282098a0183f3d45bf2b9d76c7dfc1671ee1857d7bacdd04fd8c6e2418f5ff550c30cabf97a010fe31ec402d0c89189807b48e6d79 +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 languageName: node linkType: hard @@ -11996,19 +9287,6 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - "http-proxy-agent@npm:^7.0.0": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" @@ -12036,13 +9314,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - "human-signals@npm:^5.0.0": version: 5.0.0 resolution: "human-signals@npm:5.0.0" @@ -12059,15 +9330,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -12093,32 +9355,16 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.3.1": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd - languageName: node - linkType: hard - -"image-size@npm:^1.0.0": - version: 1.1.1 - resolution: "image-size@npm:1.1.1" - dependencies: - queue: "npm:6.0.2" +"image-size@npm:^2.0.2": + version: 2.0.2 + resolution: "image-size@npm:2.0.2" bin: image-size: bin/image-size.js - checksum: 10c0/2660470096d12be82195f7e80fe03274689fbd14184afb78eaf66ade7cd06352518325814f88af4bde4b26647889fe49e573129f6e7ba8f5ff5b85cc7f559000 - languageName: node - linkType: hard - -"imagescript@npm:^1.2.16": - version: 1.3.0 - resolution: "imagescript@npm:1.3.0" - checksum: 10c0/26f6ef39b75bee8a7009edf72de2d2e9ead6f66bdc2e3bdaa42ae05b9b8eb13c4059ca6902dca7f82fff19a74e5ec82898e6c4a95b909b418c2fe2a803322308 + checksum: 10c0/f09dd0f7cf8511cd20e4f756bdb5a7cb6d2240de3323f41bde266bed8373392a293892bf12e907e2995f52833fd88dd27cf6b1a52ab93968afc716cb78cd7b79 languageName: node linkType: hard -"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -12149,13 +9395,6 @@ __metadata: languageName: node linkType: hard -"inflection@npm:^2.0.1": - version: 2.0.1 - resolution: "inflection@npm:2.0.1" - checksum: 10c0/1aee299618b24ae4f36eed41b2e9d3390f2a015b854bad558d7dc42c13e5c9638c403b9540736670a38647c33d99089a44f26e9c6e474bb68ebecab23de3f55b - languageName: node - linkType: hard - "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -12166,7 +9405,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -12180,21 +9419,10 @@ __metadata: languageName: node linkType: hard -"inline-style-parser@npm:0.1.1": - version: 0.1.1 - resolution: "inline-style-parser@npm:0.1.1" - checksum: 10c0/08832a533f51a1e17619f2eabf2f5ec5e956d6dcba1896351285c65df022c9420de61d73256e1dca8015a52abf96cc84ddc3b73b898b22de6589d3962b5e501b - languageName: node - linkType: hard - -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" - dependencies: - es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c +"inline-style-parser@npm:0.2.7": + version: 0.2.7 + resolution: "inline-style-parser@npm:0.2.7" + checksum: 10c0/d884d76f84959517430ae6c22f0bda59bb3f58f539f99aac75a8d786199ec594ed648c6ab4640531f9fc244b0ed5cd8c458078e592d016ef06de793beb1debff languageName: node linkType: hard @@ -12217,20 +9445,6 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a - languageName: node - linkType: hard - -"is-absolute-url@npm:^4.0.0": - version: 4.0.1 - resolution: "is-absolute-url@npm:4.0.1" - checksum: 10c0/6f8f603945bd9f2c6031758bbc12352fc647bd5d807cad10d96cc6300fd0e15240cc091521a61db767e4ec0bacff257b4f1015fd5249c147bbb4a4497356c72e - languageName: node - linkType: hard - "is-alphabetical@npm:^2.0.0": version: 2.0.1 resolution: "is-alphabetical@npm:2.0.1" @@ -12248,7 +9462,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": +"is-arguments@npm:^1.0.4": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" dependencies: @@ -12258,16 +9472,6 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -12282,43 +9486,6 @@ __metadata: languageName: node linkType: hard -"is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668 - languageName: node - linkType: hard - -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" - dependencies: - has-bigints: "npm:^1.0.1" - checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 - languageName: node - linkType: hard - "is-buffer@npm:^2.0.0": version: 2.0.5 resolution: "is-buffer@npm:2.0.5" @@ -12326,14 +9493,14 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": +"is-core-module@npm:^2.13.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -12342,21 +9509,12 @@ __metadata: languageName: node linkType: hard -"is-data-view@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-view@npm:1.0.1" - dependencies: - is-typed-array: "npm:^1.1.13" - checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d - languageName: node - linkType: hard - -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-core-module@npm:^2.16.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd languageName: node linkType: hard @@ -12367,35 +9525,12 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" bin: is-docker: cli.js - checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc - languageName: node - linkType: hard - -"is-extendable@npm:^0.1.0": - version: 0.1.1 - resolution: "is-extendable@npm:0.1.1" - checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86 + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 languageName: node linkType: hard @@ -12422,7 +9557,7 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": +"is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" dependencies: @@ -12431,15 +9566,6 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - "is-hexadecimal@npm:^2.0.0": version: 2.0.1 resolution: "is-hexadecimal@npm:2.0.1" @@ -12447,6 +9573,17 @@ __metadata: languageName: node linkType: hard +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd + languageName: node + linkType: hard + "is-interactive@npm:^2.0.0": version: 2.0.0 resolution: "is-interactive@npm:2.0.0" @@ -12461,13 +9598,6 @@ __metadata: 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" @@ -12478,22 +9608,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" @@ -12508,20 +9622,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-plain-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-plain-obj@npm:3.0.0" - checksum: 10c0/8e6483bfb051d42ec9c704c0ede051a821c6b6f9a6c7a3e3b55aa855e00981b0580c8f3b1f5e2e62649b39179b1abfee35d6f8086d999bfaa32c1908d29b07bc - languageName: node - linkType: hard - "is-plain-obj@npm:^4.0.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" @@ -12529,55 +9629,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c - languageName: node - linkType: hard - -"is-reference@npm:^3.0.0": - version: 3.0.2 - resolution: "is-reference@npm:3.0.2" - dependencies: - "@types/estree": "npm:*" - checksum: 10c0/652d31b405e8e8269071cee78fe874b072745012eba202c6dc86880fd603a65ae043e3160990ab4a0a4b33567cbf662eecf3bc6b3c2c1550e6c2b6cf885ce5aa - languageName: node - linkType: hard - -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 - languageName: node - linkType: hard - -"is-set@npm:^2.0.2, is-set@npm:^2.0.3": - version: 2.0.3 - resolution: "is-set@npm:2.0.3" - checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - "is-stream@npm:^3.0.0": version: 3.0.0 resolution: "is-stream@npm:3.0.0" @@ -12585,24 +9636,6 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" - dependencies: - has-symbols: "npm:^1.0.2" - checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 - languageName: node - linkType: hard - "is-text-path@npm:^2.0.0": version: 2.0.0 resolution: "is-text-path@npm:2.0.0" @@ -12612,15 +9645,6 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" - dependencies: - which-typed-array: "npm:^1.1.14" - checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca - languageName: node - linkType: hard - "is-typed-array@npm:^1.1.14": version: 1.1.15 resolution: "is-typed-array@npm:1.1.15" @@ -12630,6 +9654,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.3": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: "npm:^1.1.14" + checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + languageName: node + linkType: hard + "is-unicode-supported@npm:^1.3.0": version: 1.3.0 resolution: "is-unicode-supported@npm:1.3.0" @@ -12644,38 +9677,12 @@ __metadata: languageName: node linkType: hard -"is-weakmap@npm:^2.0.2": - version: 2.0.2 - resolution: "is-weakmap@npm:2.0.2" - checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299 - languageName: node - linkType: hard - -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 - languageName: node - linkType: hard - -"is-weakset@npm:^2.0.3": - version: 2.0.3 - resolution: "is-weakset@npm:2.0.3" - dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/8ad6141b6a400e7ce7c7442a13928c676d07b1f315ab77d9912920bf5f4170622f43126f111615788f26c3b1871158a6797c862233124507db0bcc33a9537d1a - languageName: node - linkType: hard - -"is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" +"is-wsl@npm:^3.1.0": + version: 3.1.1 + resolution: "is-wsl@npm:3.1.1" dependencies: - is-docker: "npm:^2.0.0" - checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + is-inside-container: "npm:^1.0.0" + checksum: 10c0/7e5023522bfb8f27de4de960b0d82c4a8146c0bddb186529a3616d78b5bbbfc19ef0c5fc60d0b3a3cc0bf95a415fbdedc18454310ea3049587c879b07ace5107 languageName: node linkType: hard @@ -12707,32 +9714,6 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" - dependencies: - define-properties: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - reflect.getprototypeof: "npm:^1.0.4" - set-function-name: "npm:^2.0.1" - checksum: 10c0/a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 - languageName: node - linkType: hard - -"jackspeak@npm:^2.3.5": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 - languageName: node - linkType: hard - "jackspeak@npm:^3.1.2": version: 3.4.0 resolution: "jackspeak@npm:3.4.0" @@ -12766,7 +9747,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.20.0, jiti@npm:^1.21.0": +"jiti@npm:^1.20.0": version: 1.21.3 resolution: "jiti@npm:1.21.3" bin: @@ -12775,6 +9756,15 @@ __metadata: languageName: node linkType: hard +"jiti@npm:^2.6.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -12782,19 +9772,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1": - version: 3.14.2 - resolution: "js-yaml@npm:3.14.2" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/3261f25912f5dd76605e5993d0a126c2b6c346311885d3c483706cd722efe34f697ea0331f654ce27c00a42b426e524518ec89d65ed02ea47df8ad26dcc8ce69 - languageName: node - linkType: hard - -"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -12805,13 +9783,6 @@ __metadata: languageName: node linkType: hard -"jsbi@npm:^4.3.0": - version: 4.3.0 - resolution: "jsbi@npm:4.3.0" - checksum: 10c0/1817ac1b50ea3f4438bcd84cadc9aee7a8657829f65b55ea6f151f401dbbd3babedbfdd3e4f481bd7b5472abb7823efa640fd7e5eee7c30cea6431f7a8b74696 - languageName: node - linkType: hard - "jsbn@npm:1.1.0": version: 1.1.0 resolution: "jsbn@npm:1.1.0" @@ -12819,13 +9790,6 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:^4.0.0": - version: 4.8.0 - resolution: "jsdoc-type-pratt-parser@npm:4.8.0" - checksum: 10c0/c2b77751d35e3931db9da96720b544b215830722b748b58ee8ce51ec72092006a4a03c5a59c86a4552d0094975c8d3bcc21a7241a0e47860e127d3fba5b55f33 - languageName: node - linkType: hard - "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -12835,6 +9799,15 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + "jsesc@npm:~0.5.0": version: 0.5.0 resolution: "jsesc@npm:0.5.0" @@ -12872,24 +9845,6 @@ __metadata: languageName: node linkType: hard -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - "json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -12899,7 +9854,7 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1, jsonfile@npm:^6.1.0": +"jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" dependencies: @@ -12919,18 +9874,6 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": - version: 3.3.5 - resolution: "jsx-ast-utils@npm:3.3.5" - dependencies: - array-includes: "npm:^3.1.6" - array.prototype.flat: "npm:^1.3.1" - object.assign: "npm:^4.1.4" - object.values: "npm:^1.1.6" - checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 - languageName: node - linkType: hard - "keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -12940,13 +9883,6 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 - languageName: node - linkType: hard - "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -12954,68 +9890,123 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.0.3": - version: 4.1.5 - resolution: "kleur@npm:4.1.5" - checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a +"lightningcss-android-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-android-arm64@npm:1.31.1" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"klona@npm:^2.0.4": - version: 2.0.6 - resolution: "klona@npm:2.0.6" - checksum: 10c0/94eed2c6c2ce99f409df9186a96340558897b3e62a85afdc1ee39103954d2ebe1c1c4e9fe2b0952771771fa96d70055ede8b27962a7021406374fdb695fd4d01 +"lightningcss-darwin-arm64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-arm64@npm:1.31.1" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"language-subtag-registry@npm:^0.3.20": - version: 0.3.23 - resolution: "language-subtag-registry@npm:0.3.23" - checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c +"lightningcss-darwin-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-darwin-x64@npm:1.31.1" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"language-tags@npm:^1.0.9": - version: 1.0.9 - resolution: "language-tags@npm:1.0.9" - dependencies: - language-subtag-registry: "npm:^0.3.20" - checksum: 10c0/9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff +"lightningcss-freebsd-x64@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-freebsd-x64@npm:1.31.1" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"lazy-universal-dotenv@npm:^4.0.0": - version: 4.0.0 - resolution: "lazy-universal-dotenv@npm:4.0.0" - dependencies: - app-root-dir: "npm:^1.0.2" - dotenv: "npm:^16.0.0" - dotenv-expand: "npm:^10.0.0" - checksum: 10c0/3bc4fe649c46c4a20561ca1fd10cd1df641d2c6c42c61af6c65a5fe0546cb548f449e13e6c7440be445c9fe5b4973c25f499e7d899b8704b7b9bd0ec85bbfe2d +"lightningcss-linux-arm-gnueabihf@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.31.1" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e +"lightningcss-linux-arm64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-gnu@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"lilconfig@npm:^2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 +"lightningcss-linux-arm64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-arm64-musl@npm:1.31.1" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"lilconfig@npm:^3.0.0": - version: 3.1.1 - resolution: "lilconfig@npm:3.1.1" - checksum: 10c0/311b559794546894e3fe176663427326026c1c644145be9e8041c58e268aa9328799b8dfe7e4dd8c6a4ae305feae95a1c9e007db3569f35b42b6e1bc8274754c +"lightningcss-linux-x64-gnu@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-gnu@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-linux-x64-musl@npm:1.31.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-arm64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss-win32-x64-msvc@npm:1.31.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:1.31.1": + version: 1.31.1 + resolution: "lightningcss@npm:1.31.1" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.31.1" + lightningcss-darwin-arm64: "npm:1.31.1" + lightningcss-darwin-x64: "npm:1.31.1" + lightningcss-freebsd-x64: "npm:1.31.1" + lightningcss-linux-arm-gnueabihf: "npm:1.31.1" + lightningcss-linux-arm64-gnu: "npm:1.31.1" + lightningcss-linux-arm64-musl: "npm:1.31.1" + lightningcss-linux-x64-gnu: "npm:1.31.1" + lightningcss-linux-x64-musl: "npm:1.31.1" + lightningcss-win32-arm64-msvc: "npm:1.31.1" + lightningcss-win32-x64-msvc: "npm:1.31.1" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/c6754b305d4a73652e472fc0d7d65384a6e16c336ea61068eca60de2a45bd5c30abbf012358b82eac56ee98b5d88028932cda5268ff61967cffa400b9e7ee2ba languageName: node linkType: hard @@ -13101,15 +10092,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - "locate-path@npm:^7.1.0, locate-path@npm:^7.2.0": version: 7.2.0 resolution: "locate-path@npm:7.2.0" @@ -13147,7 +10129,7 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:4.6.2, lodash.merge@npm:^4.6.2": +"lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 @@ -13189,7 +10171,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21": +"lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.23 resolution: "lodash@npm:4.17.23" checksum: 10c0/1264a90469f5bb95d4739c43eb6277d15b6d9e186df4ac68c3620443160fc669e2f14c11e7d8b2ccf078b81d06147c01a8ccced9aab9f9f63d50dcf8cace6bf6 @@ -13233,7 +10215,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -13244,12 +10226,10 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^2.3.6, loupe@npm:^2.3.7": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 +"loupe@npm:^3.1.0, loupe@npm:^3.1.4": + version: 3.2.1 + resolution: "loupe@npm:3.2.1" + checksum: 10c0/910c872cba291309664c2d094368d31a68907b6f5913e989d301b5c25f30e97d76d77f23ab3bf3b46d0f601ff0b6af8810c10c31b91d2c6b2f132809ca2cc705 languageName: node linkType: hard @@ -13278,21 +10258,12 @@ __metadata: languageName: node linkType: hard -"lucide-react@npm:^0.390.0": - version: 0.390.0 - resolution: "lucide-react@npm:0.390.0" +"lucide-react@npm:^0.475.0": + version: 0.475.0 + resolution: "lucide-react@npm:0.475.0" peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - checksum: 10c0/d8062c311e703c592c0704d624855b965ba2caa3260f7158f65eb6a63c0826150ac67d35df210d58830bc6d85f8ad0e98e62c7e02e6f9e37690909aa046f64d0 - languageName: node - linkType: hard - -"lz-string@npm:^1.5.0": - version: 1.5.0 - resolution: "lz-string@npm:1.5.0" - bin: - lz-string: bin/bin.js - checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/9cb17bd4e70da4db104874b6b2e9d9c7e2be9438e9d1c0b2565df0c4d0bdd1add41b7dff3cb60840699ecbd29870c453878b42b69a7c46480def0c9370a852a9 languageName: node linkType: hard @@ -13305,6 +10276,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.21": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a + languageName: node + linkType: hard + "magic-string@npm:^0.30.5": version: 0.30.10 resolution: "magic-string@npm:0.30.10" @@ -13343,17 +10323,10 @@ __metadata: languageName: node linkType: hard -"map-or-similar@npm:^1.5.0": - version: 1.5.0 - resolution: "map-or-similar@npm:1.5.0" - checksum: 10c0/33c6ccfdc272992e33e4e99a69541a3e7faed9de3ac5bc732feb2500a9ee71d3f9d098980a70b7746e7eeb7f859ff7dfb8aa9b5ecc4e34170a32ab78cfb18def - languageName: node - linkType: hard - -"markdown-extensions@npm:^1.0.0": - version: 1.1.1 - resolution: "markdown-extensions@npm:1.1.1" - checksum: 10c0/eb9154016502ad1fb4477683ddb5cae8ba3ca06451b381b04dc4c34e91d8d168129d50d404b717d6bf7d458e13088c109303fc72d57cee7151a6082b0e7bba71 +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: 10c0/406139da2aa0d5ebad86195c8e8c02412f873c452b4c087ae7bc767af37956141be449998223bb379eea179b5fd38dfa610602b6f29c22ddab5d51e627a7e41d languageName: node linkType: hard @@ -13364,15 +10337,6 @@ __metadata: languageName: node linkType: hard -"markdown-to-jsx@npm:7.3.2": - version: 7.3.2 - resolution: "markdown-to-jsx@npm:7.3.2" - peerDependencies: - react: ">= 0.14.0" - checksum: 10c0/191b9a9defeed02e12dd340cebf279f577266dac7b34574fa44ce4d64ee8536f9967d455b8303c853f84413feb473118290a6160d8221eeaf3b9e4961b8980e3 - languageName: node - linkType: hard - "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -13391,46 +10355,15 @@ __metadata: languageName: node linkType: hard -"mdast-util-definitions@npm:^5.0.0": - version: 5.1.2 - resolution: "mdast-util-definitions@npm:5.1.2" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/da9049c15562e44ee4ea4a36113d98c6c9eaa3d8a17d6da2aef6a0626376dcd01d9ec007d77a8dfcad6d0cbd5c32a4abbad72a3f48c3172a55934c7d9a916480 - languageName: node - linkType: hard - -"mdast-util-find-and-replace@npm:^2.0.0": - version: 2.2.2 - resolution: "mdast-util-find-and-replace@npm:2.2.2" +"mdast-util-find-and-replace@npm:^3.0.0": + version: 3.0.2 + resolution: "mdast-util-find-and-replace@npm:3.0.2" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" escape-string-regexp: "npm:^5.0.0" - unist-util-is: "npm:^5.0.0" - unist-util-visit-parents: "npm:^5.0.0" - checksum: 10c0/ce935f4bd4aeab47f91531a7f09dfab89aaeea62ad31029b43185c5b626921357703d8e5093c13073c097fdabfc57cb2f884d7dfad83dbe7239e351375d6797c - languageName: node - linkType: hard - -"mdast-util-from-markdown@npm:^1.0.0, mdast-util-from-markdown@npm:^1.1.0": - version: 1.3.1 - resolution: "mdast-util-from-markdown@npm:1.3.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - decode-named-character-reference: "npm:^1.0.0" - mdast-util-to-string: "npm:^3.1.0" - micromark: "npm:^3.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-decode-string: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-stringify-position: "npm:^3.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f4e901bf2a2e93fe35a339e0cff581efacce2f7117cd5652e9a270847bd7e2508b3e717b7b4156af54d4f896d63033e06ff9fafbf59a1d46fe17dd5e2a3f7846 + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/c8417a35605d567772ff5c1aa08363ff3010b0d60c8ea68c53cba09bf25492e3dd261560425c1756535f3b7107f62e7ff3857cdd8fb1e62d1b2cc2ea6e074ca2 languageName: node linkType: hard @@ -13454,153 +10387,141 @@ __metadata: languageName: node linkType: hard -"mdast-util-frontmatter@npm:^1.0.0": - version: 1.0.1 - resolution: "mdast-util-frontmatter@npm:1.0.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - micromark-extension-frontmatter: "npm:^1.0.0" - checksum: 10c0/53d5c66f1f1ce3a8aa0732e52c9b8bc8b136ae8ca4cc0d945d543ced39d0e322cb1343710600ec94283cb066a026ddf2407d1dca911cc34be001b2c88336339e - languageName: node - linkType: hard - -"mdast-util-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-autolink-literal@npm:1.0.3" +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" ccount: "npm:^2.0.0" - mdast-util-find-and-replace: "npm:^2.0.0" - micromark-util-character: "npm:^1.0.0" - checksum: 10c0/750e312eae73c3f2e8aa0e8c5232cb1b905357ff37ac236927f1af50cdbee7c2cfe2379b148ac32fa4137eeb3b24601e1bb6135084af926c7cd808867804193f + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 languageName: node linkType: hard -"mdast-util-gfm-footnote@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-footnote@npm:1.0.2" +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "mdast-util-gfm-footnote@npm:2.1.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - checksum: 10c0/767973e46b9e2ae44e80e51a5e38ad0b032fc7f06a1a3095aa96c2886ba333941c764474a56b82e7db05efc56242a4789bc7fbbcc753d61512750e86a4192fe8 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/8ab965ee6be3670d76ec0e95b2ba3101fc7444eec47564943ab483d96ac17d29da2a4e6146a2a288be30c21b48c4f3938a1e54b9a46fbdd321d49a5bc0077ed0 languageName: node linkType: hard -"mdast-util-gfm-strikethrough@npm:^1.0.0": - version: 1.0.3 - resolution: "mdast-util-gfm-strikethrough@npm:1.0.3" +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/29616b3dfdd33d3cd13f9b3181a8562fa2fbacfcb04a37dba3c690ba6829f0231b145444de984726d9277b2bc90dd7d96fb9df9f6292d5e77d65a8659ee2f52b + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 languageName: node linkType: hard -"mdast-util-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "mdast-util-gfm-table@npm:1.0.7" +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" markdown-table: "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/a37a05a936292c4f48394123332d3c034a6e1b15bb3e7f3b94e6bce3260c9184fd388abbc4100827edd5485a6563098306994d15a729bde3c96de7a62ed5720b + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e languageName: node linkType: hard -"mdast-util-gfm-task-list-item@npm:^1.0.0": - version: 1.0.2 - resolution: "mdast-util-gfm-task-list-item@npm:1.0.2" +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" dependencies: - "@types/mdast": "npm:^3.0.0" - mdast-util-to-markdown: "npm:^1.3.0" - checksum: 10c0/91fa91f7d1a8797bf129008dab12d23917015ad12df00044e275b4459e8b383fbec6234338953a0089ef9c3a114d0a360c3e652eb0ebf6ece7e7a8fd3b5977c6 + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 languageName: node linkType: hard -"mdast-util-gfm@npm:^2.0.0": - version: 2.0.2 - resolution: "mdast-util-gfm@npm:2.0.2" +"mdast-util-gfm@npm:^3.0.0": + version: 3.1.0 + resolution: "mdast-util-gfm@npm:3.1.0" dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-gfm-autolink-literal: "npm:^1.0.0" - mdast-util-gfm-footnote: "npm:^1.0.0" - mdast-util-gfm-strikethrough: "npm:^1.0.0" - mdast-util-gfm-table: "npm:^1.0.0" - mdast-util-gfm-task-list-item: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/5b7f7f98a90a2962d7e0787e080c4e55b70119100c7685bbdb772d8d7865524aeffd1757edba5afba434250e0246b987c0617c2c635baaf51c26dbbb3b72dbec + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4bedcfb6a20e39901c8772f0d2bb2d7a64ae87a54c13cbd92eec062cf470fbb68c2ad754e149af5b30794e2de61c978ab1de1ace03c0c40f443ca9b9b8044f81 languageName: node linkType: hard -"mdast-util-mdx-expression@npm:^1.0.0": - version: 1.3.2 - resolution: "mdast-util-mdx-expression@npm:1.3.2" +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdx-expression@npm:2.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/01f306ee809d28825cbec23b3c80376a0fbe69601b6b2843d23beb5662a31ec7560995f52b96b13093cc03de1130404a47f139d16f58c3f54e91e88f4bdd82d2 + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/9a1e57940f66431f10312fa239096efa7627f375e7933b5d3162c0b5c1712a72ac87447aff2b6838d2bbd5c1311b188718cc90b33b67dc67a88550e0a6ef6183 languageName: node linkType: hard -"mdast-util-mdx-jsx@npm:^2.0.0": - version: 2.1.4 - resolution: "mdast-util-mdx-jsx@npm:2.1.4" +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.2.0 + resolution: "mdast-util-mdx-jsx@npm:3.2.0" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" ccount: "npm:^2.0.0" - mdast-util-from-markdown: "npm:^1.1.0" - mdast-util-to-markdown: "npm:^1.3.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" parse-entities: "npm:^4.0.0" stringify-entities: "npm:^4.0.0" - unist-util-remove-position: "npm:^4.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b0c16e56a99c5167e60c98dbdbe82645549630fb529688642c4664ca5557ff0b3029c75146f5657cadb7908d5fa99810eacc5dcc51676d0877c8b4dcebb11cbe + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/3acadaf3b962254f7ad2990fed4729961dc0217ca31fde9917986e880843f3ecf3392b1f22d569235cacd180d50894ad266db7af598aedca69d330d33c7ac613 languageName: node linkType: hard -"mdast-util-mdx@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdx@npm:2.0.1" +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" dependencies: - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-mdx-expression: "npm:^1.0.0" - mdast-util-mdx-jsx: "npm:^2.0.0" - mdast-util-mdxjs-esm: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/3b5e55781a7b7b4b7e71728a84afbec63516f251b3556efec52dbb4824c0733f5ebaa907d21211d008e5cb1a8265e6704bc062ee605f4c09e90fbfa2c6fbba3b + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4faea13f77d6bc9aa64ee41a5e4779110b73444a17fda363df6ebe880ecfa58b321155b71f8801c3faa6d70d6222a32a00cbd6dbf5fad8db417f4688bc9c74e1 languageName: node linkType: hard -"mdast-util-mdxjs-esm@npm:^1.0.0": - version: 1.3.1 - resolution: "mdast-util-mdxjs-esm@npm:1.3.1" +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" dependencies: "@types/estree-jsx": "npm:^1.0.0" - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-from-markdown: "npm:^1.0.0" - mdast-util-to-markdown: "npm:^1.0.0" - checksum: 10c0/2ff0af34ea62004d39f15bd45b79e3008e68cae7e2510c9281e24a17e2c3f55d004524796166ef5aa3378798ca7f6c5f88883238f413577619bbaf41026b7e62 - languageName: node - linkType: hard - -"mdast-util-phrasing@npm:^3.0.0": - version: 3.0.1 - resolution: "mdast-util-phrasing@npm:3.0.1" - dependencies: - "@types/mdast": "npm:^3.0.0" - unist-util-is: "npm:^5.0.0" - checksum: 10c0/5e00e303652a7581593549dbce20dfb69d687d79a972f7928f6ca1920ef5385bceb737a3d5292ab6d937ed8c67bb59771e80e88f530b78734fe7d155f833e32b + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc languageName: node linkType: hard @@ -13614,35 +10535,20 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^12.1.0": - version: 12.3.0 - resolution: "mdast-util-to-hast@npm:12.3.0" +"mdast-util-to-hast@npm:^13.0.0": + version: 13.2.1 + resolution: "mdast-util-to-hast@npm:13.2.1" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-definitions: "npm:^5.0.0" - micromark-util-sanitize-uri: "npm:^1.1.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" trim-lines: "npm:^3.0.0" - unist-util-generated: "npm:^2.0.0" - unist-util-position: "npm:^4.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/0753e45bfcce423f7a13979ac720a23ed8d6bafed174c387f43bbe8baf3838f3a043cd8006975b71e5c4068b7948f83f1348acea79801101af31eaec4e7a499a - languageName: node - linkType: hard - -"mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0": - version: 1.5.0 - resolution: "mdast-util-to-markdown@npm:1.5.0" - dependencies: - "@types/mdast": "npm:^3.0.0" - "@types/unist": "npm:^2.0.0" - longest-streak: "npm:^3.0.0" - mdast-util-phrasing: "npm:^3.0.0" - mdast-util-to-string: "npm:^3.0.0" - micromark-util-decode-string: "npm:^1.0.0" - unist-util-visit: "npm:^4.0.0" - zwitch: "npm:^2.0.0" - checksum: 10c0/9831d14aa6c097750a90c7b87b4e814b040731c30606a794c9b136dc746633dd9ec07154ca97d4fec4eaf732cf89d14643424e2581732d6ee18c9b0e51ff7664 + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/3eeaf28a5e84e1e08e6d54a1a8a06c0fca88cb5d36f4cf8086f0177248d1ce6e4e751f4ad0da19a3dea1c6ea61bd80784acc3ae021e44ceeb21aa5413a375e43 languageName: node linkType: hard @@ -13662,15 +10568,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0": - version: 3.2.0 - resolution: "mdast-util-to-string@npm:3.2.0" - dependencies: - "@types/mdast": "npm:^3.0.0" - checksum: 10c0/112f4bf0f6758dcb95deffdcf37afba7eaecdfe2ee13252de031723094d4d55220e147326690a8b91244758e2d678e7aeb1fdd0fa6ef3317c979bc42effd9a21 - languageName: node - linkType: hard - "mdast-util-to-string@npm:^4.0.0": version: 4.0.0 resolution: "mdast-util-to-string@npm:4.0.0" @@ -13695,33 +10592,7 @@ __metadata: languageName: node linkType: hard -"mdx-bundler@npm:^9.2.1": - version: 9.2.1 - resolution: "mdx-bundler@npm:9.2.1" - dependencies: - "@babel/runtime": "npm:^7.16.3" - "@esbuild-plugins/node-resolve": "npm:^0.1.4" - "@fal-works/esbuild-plugin-global-externals": "npm:^2.1.2" - "@mdx-js/esbuild": "npm:^2.0.0" - gray-matter: "npm:^4.0.3" - remark-frontmatter: "npm:^4.0.1" - remark-mdx-frontmatter: "npm:^1.1.1" - uuid: "npm:^8.3.2" - vfile: "npm:^5.3.2" - peerDependencies: - esbuild: 0.* - checksum: 10c0/351e82bb819d5c99d376821ce6c8bc22070eba492a7a151569816b545bd203de93dcb5a8f608005c57b088012c0dab89afb106e67e1d7a228e5e6f6df6c20929 - languageName: node - linkType: hard - -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 - languageName: node - linkType: hard - -"memfs@npm:^3.4.1, memfs@npm:^3.4.12, memfs@npm:^3.5.1": +"memfs@npm:^3.4.1, memfs@npm:^3.4.12": version: 3.5.3 resolution: "memfs@npm:3.5.3" dependencies: @@ -13730,15 +10601,6 @@ __metadata: languageName: node linkType: hard -"memoizerific@npm:^1.11.3": - version: 1.11.3 - resolution: "memoizerific@npm:1.11.3" - dependencies: - map-or-similar: "npm:^1.5.0" - checksum: 10c0/661bf69b7afbfad57f0208f0c63324f4c96087b480708115b78ee3f0237d86c7f91347f6db31528740b2776c2e34c709bcb034e1e910edee2270c9603a0a469e - languageName: node - linkType: hard - "meow@npm:^12.0.1": version: 12.1.1 resolution: "meow@npm:12.1.1" @@ -13746,13 +10608,6 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 - languageName: node - linkType: hard - "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -13760,44 +10615,6 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"methods@npm:~1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 - languageName: node - linkType: hard - -"micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-core-commonmark@npm:1.1.0" - dependencies: - decode-named-character-reference: "npm:^1.0.0" - micromark-factory-destination: "npm:^1.0.0" - micromark-factory-label: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-factory-title: "npm:^1.0.0" - micromark-factory-whitespace: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-html-tag-name: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/b3bf7b7004ce7dbb3ae151dcca4db1d12546f1b943affb2418da4b90b9ce59357373c433ee2eea4c868aee0791dafa355aeed19f5ef2b0acaf271f32f1ecbe6a - languageName: node - linkType: hard - "micromark-core-commonmark@npm:^2.0.0": version: 2.0.1 resolution: "micromark-core-commonmark@npm:2.0.1" @@ -13822,195 +10639,172 @@ __metadata: languageName: node linkType: hard -"micromark-extension-frontmatter@npm:^1.0.0": - version: 1.1.1 - resolution: "micromark-extension-frontmatter@npm:1.1.1" - dependencies: - fault: "npm:^2.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/b64e056f6f9eaef470491b2e7ebf70249dfad59d46700399aef24130bfa8eb943b65873ee0412fc10a274066309722be6bf86a779e54ac20cede6d2f05be5cdf - languageName: node - linkType: hard - -"micromark-extension-gfm-autolink-literal@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.5" +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/4964a52605ac36d24501d427e2d173fa39b5e0402275cb45068eba4898f4cb9cc57f7007b21b7514f0ab5f7b371b1701a5156a10b6ac8e77a7f36e830cf481d4 + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe languageName: node linkType: hard -"micromark-extension-gfm-footnote@npm:^1.0.0": - version: 1.1.2 - resolution: "micromark-extension-gfm-footnote@npm:1.1.2" +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" dependencies: - micromark-core-commonmark: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b8090876cc3da5436c6253b0b40e39ceaa470c2429f699c19ee4163cef3102c4cd16c4ac2ec8caf916037fad310cfb52a9ef182c75d50fca7419ba08faad9b39 + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc languageName: node linkType: hard -"micromark-extension-gfm-strikethrough@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-strikethrough@npm:1.0.7" +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-classify-character: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/b45fe93a7a412fc44bae7a183b92a988e17b49ed9d683bd80ee4dde96d462e1ca6b316dd64bda7759e4086d6d8686790a711e53c244f1f4d2b37e1cfe852884d + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb languageName: node linkType: hard -"micromark-extension-gfm-table@npm:^1.0.0": - version: 1.0.7 - resolution: "micromark-extension-gfm-table@npm:1.0.7" +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.1 + resolution: "micromark-extension-gfm-table@npm:2.1.1" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/38b5af80ecab8206845a057338235bee6f47fb6cb904208be4b76e87906765821683e25bef85dfa485809f931eaf8cd55f16cd2f4d6e33b84f56edfaf1dfb129 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/04bc00e19b435fa0add62cd029d8b7eb6137522f77832186b1d5ef34544a9bd030c9cf85e92ddfcc5c31f6f0a58a43d4b96dba4fc21316037c734630ee12c912 languageName: node linkType: hard -"micromark-extension-gfm-tagfilter@npm:^1.0.0": - version: 1.0.2 - resolution: "micromark-extension-gfm-tagfilter@npm:1.0.2" +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7e1bf278255cf2a8d2dda9de84bc238b39c53100e25ba8d7168220d5b00dc74869a6cb038fbf2e76b8ae89efc66906762311797a906d7d9cdd71e07bfe1ed505 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d languageName: node linkType: hard -"micromark-extension-gfm-task-list-item@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-gfm-task-list-item@npm:1.0.5" +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/2179742fa2cbb243cc06bd9e43fbb94cd98e4814c9d368ddf8b4b5afa0348023f335626ae955e89d679e2c2662a7f82c315117a3b060c87bdb4420fee5a219d1 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f languageName: node linkType: hard -"micromark-extension-gfm@npm:^2.0.0": - version: 2.0.3 - resolution: "micromark-extension-gfm@npm:2.0.3" - dependencies: - micromark-extension-gfm-autolink-literal: "npm:^1.0.0" - micromark-extension-gfm-footnote: "npm:^1.0.0" - micromark-extension-gfm-strikethrough: "npm:^1.0.0" - micromark-extension-gfm-table: "npm:^1.0.0" - micromark-extension-gfm-tagfilter: "npm:^1.0.0" - micromark-extension-gfm-task-list-item: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/53056376d14caf3fab2cc44881c1ad49d975776cc2267bca74abda2cb31f2a77ec0fb2bdb2dd97565f0d9943ad915ff192b89c1cee5d9d727569a5e38505799b +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 languageName: node linkType: hard -"micromark-extension-mdx-expression@npm:^1.0.0": - version: 1.0.8 - resolution: "micromark-extension-mdx-expression@npm:1.0.8" +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.1 + resolution: "micromark-extension-mdx-expression@npm:3.0.1" dependencies: "@types/estree": "npm:^1.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/99e2997a54caafc4258979c0591b3fe8e31018079df833d559768092fec41e57a71225d423f4179cea4e8bc1af2f52f5c9ae640673619d8fe142ded875240da3 + devlop: "npm:^1.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/4d8cc5353b083b06bd51c98389de9c198261a5b2b440b75e85000a18d10511f21ba77538d6dfde0e0589df9de3fba9a1d14c2448d30c92d6b461c26d86e397f4 languageName: node linkType: hard -"micromark-extension-mdx-jsx@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdx-jsx@npm:1.0.5" +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.2 + resolution: "micromark-extension-mdx-jsx@npm:3.0.2" dependencies: - "@types/acorn": "npm:^4.0.0" "@types/estree": "npm:^1.0.0" - estree-util-is-identifier-name: "npm:^2.0.0" - micromark-factory-mdx-expression: "npm:^1.0.0" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/1b4bfbe60b9cabfabfb870f70ded8da0caacbaa3be6bdf07f6db25cc5a14c6bc970c34c60e5c80da1e97766064a117feb8160b6d661d69e530a4cc7ec97305de + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/5693b2e51934ac29a6aab521eaa2151f891d1fe092550bbd4ce24e4dd7567c1421a54f5e585a57dfa1769a79570f6df57ddd7a98bf0889dd11d495847a266dd7 languageName: node linkType: hard -"micromark-extension-mdx-md@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdx-md@npm:1.0.1" +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/9ad70b3a5e842fd7ebd93c8c48a32fd3d05fe77be06a08ef32462ea53e97d8f297e2c1c4b30a6929dbd05125279fe98bb04e9cc0bb686c691bdcf7d36c6e51b0 + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bae91c61273de0e5ba80a980c03470e6cd9d7924aa936f46fbda15d780704d9386e945b99eda200e087b96254fbb4271a9545d5ce02676cd6ae67886a8bf82df languageName: node linkType: hard -"micromark-extension-mdxjs-esm@npm:^1.0.0": - version: 1.0.5 - resolution: "micromark-extension-mdxjs-esm@npm:1.0.5" +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" dependencies: "@types/estree": "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.1.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/612028bced78e882641a43c78fc4813a573b383dc0a7b90db75ed88b37bf5b5997dc7ead4a1011315b34f17bc76b7f4419de6ad9532a088102ab1eea0245d380 + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/13e3f726495a960650cdedcba39198ace5bdc953ccb12c14d71fc9ed9bb88e40cc3ba9231e973f6984da3b3573e7ddb23ce409f7c16f52a8d57b608bf46c748d languageName: node linkType: hard -"micromark-extension-mdxjs@npm:^1.0.0": - version: 1.0.1 - resolution: "micromark-extension-mdxjs@npm:1.0.1" +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" dependencies: acorn: "npm:^8.0.0" acorn-jsx: "npm:^5.0.0" - micromark-extension-mdx-expression: "npm:^1.0.0" - micromark-extension-mdx-jsx: "npm:^1.0.0" - micromark-extension-mdx-md: "npm:^1.0.0" - micromark-extension-mdxjs-esm: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3f123e4afea9674c96934c9ea6a057ec9e5584992c50c36c173a2e331d272b1f4e2a8552364a0e2cb50703d0218831fdae1a17b563f0009aac6a35350e6a7b77 - languageName: node - linkType: hard - -"micromark-factory-destination@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-destination@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/71ebd9089bf0c9689b98ef42215c04032ae2701ae08c3546b663628553255dca18e5310dbdacddad3acd8de4f12a789835fff30dadc4da3c4e30387a75e6b488 + micromark-extension-mdx-expression: "npm:^3.0.0" + micromark-extension-mdx-jsx: "npm:^3.0.0" + micromark-extension-mdx-md: "npm:^2.0.0" + micromark-extension-mdxjs-esm: "npm:^3.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fd84f036ddad0aabbc12e7f1b3e9dcfe31573bbc413c5ae903779ef0366d7a4c08193547e7ba75718c9f45654e45f52e575cfc2f23a5f89205a8a70d9a506aea languageName: node linkType: hard @@ -14025,18 +10819,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-label@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-label@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/5e2cd2d8214bb92a34dfcedf9c7aecf565e3648650a3a6a0495ededf15f2318dd214dc069e3026402792cd5839d395313f8ef9c2e86ca34a8facaa0f75a77753 - languageName: node - linkType: hard - "micromark-factory-label@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-label@npm:2.0.0" @@ -14049,29 +10831,20 @@ __metadata: languageName: node linkType: hard -"micromark-factory-mdx-expression@npm:^1.0.0": - version: 1.0.9 - resolution: "micromark-factory-mdx-expression@npm:1.0.9" +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-factory-mdx-expression@npm:2.0.3" dependencies: "@types/estree": "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-events-to-acorn: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - unist-util-position-from-estree: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/b28bd8e072f37ca91446fe8d113e4ae64baaef013b0cde4aa224add0ee40963ce3584b9709f7662d30491f875ae7104b897d37efa26cdaecf25082ed5bac7b8c - languageName: node - linkType: hard - -"micromark-factory-space@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-space@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3da81187ce003dd4178c7adc4674052fb8befc8f1a700ae4c8227755f38581a4ae963866dc4857488d62d1dc9837606c9f2f435fa1332f62a0f1c49b83c6a822 + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a6004ef6272dd01a5d718f2affd7bfb5e08f0849340f5fd96ac823fbc5e9d3b3343acedda50805873ccda5e3b8af4d5fbb302abc874544044ac90c217345cf97 languageName: node linkType: hard @@ -14085,18 +10858,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-title@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-title@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/cf8c687d1d5c3928846a4791d4a7e2f1d7bdd2397051e20d60f06b7565a48bf85198ab6f85735e997ab3f0cbb80b8b6391f4f7ebc0aae2f2f8c3a08541257bf6 - languageName: node - linkType: hard - "micromark-factory-title@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-title@npm:2.0.0" @@ -14109,18 +10870,6 @@ __metadata: languageName: node linkType: hard -"micromark-factory-whitespace@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-factory-whitespace@npm:1.1.0" - dependencies: - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/7248cc4534f9befb38c6f398b6e38efd3199f1428fc214c9cb7ed5b6e9fa7a82c0d8cdfa9bcacde62887c9a7c8c46baf5c318b2ae8f701afbccc8ad702e92dce - languageName: node - linkType: hard - "micromark-factory-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "micromark-factory-whitespace@npm:2.0.0" @@ -14133,16 +10882,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-character@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-character@npm:1.2.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3390a675a50731b58a8e5493cd802e190427f10fa782079b455b00f6b54e406e36882df7d4a3bd32b709f7a2c3735b4912597ebc1c0a99566a8d8d0b816e2cd4 - languageName: node - linkType: hard - "micromark-util-character@npm:^2.0.0": version: 2.1.0 resolution: "micromark-util-character@npm:2.1.0" @@ -14153,15 +10892,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-chunked@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-chunked@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/59534cf4aaf481ed58d65478d00eae0080df9b5816673f79b5ddb0cea263e5a9ee9cbb6cc565daf1eb3c8c4ff86fc4e25d38a0577539655cda823a4249efd358 - languageName: node - linkType: hard - "micromark-util-chunked@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-chunked@npm:2.0.0" @@ -14171,17 +10901,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-classify-character@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-classify-character@npm:1.1.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/3266453dc0fdaf584e24c9b3c91d1ed180f76b5856699c51fd2549305814fcab7ec52afb4d3e83d002a9115cd2d2b2ffdc9c0b38ed85120822bf515cc00636ec - languageName: node - linkType: hard - "micromark-util-classify-character@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-classify-character@npm:2.0.0" @@ -14193,32 +10912,13 @@ __metadata: languageName: node linkType: hard -"micromark-util-combine-extensions@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-combine-extensions@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/0bc572fab3fe77f533c29aa1b75cb847b9fc9455f67a98623ef9740b925c0b0426ad9f09bbb56f1e844ea9ebada7873d1f06d27f7c979a917692b273c4b69e31 - languageName: node - linkType: hard - "micromark-util-combine-extensions@npm:^2.0.0": version: 2.0.0 - resolution: "micromark-util-combine-extensions@npm:2.0.0" - 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" + resolution: "micromark-util-combine-extensions@npm:2.0.0" dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/64ef2575e3fc2426976c19e16973348f20b59ddd5543f1467ac2e251f29e0a91f12089703d29ae985b0b9a408ee0d72f06d04ed3920811aa2402aabca3bdf9e4 + micromark-util-chunked: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/cd4c8d1a85255527facb419ff3b3cc3d7b7f27005c5ef5fa7ef2c4d0e57a9129534fc292a188ec2d467c2c458642d369c5f894bc8a9e142aed6696cc7989d3ea languageName: node linkType: hard @@ -14231,18 +10931,6 @@ __metadata: 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 - 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" @@ -14255,13 +10943,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-encode@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-encode@npm:1.1.0" - checksum: 10c0/9878c9bc96999d45626a7597fffac85348ea842dce75d2417345cbf070a9941c62477bd0963bef37d4f0fd29f2982be6ddf416d62806f00ccb334af9d6ee87e7 - languageName: node - linkType: hard - "micromark-util-encode@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-encode@npm:2.0.0" @@ -14269,26 +10950,18 @@ __metadata: languageName: node linkType: hard -"micromark-util-events-to-acorn@npm:^1.0.0": - version: 1.2.3 - resolution: "micromark-util-events-to-acorn@npm:1.2.3" +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-util-events-to-acorn@npm:2.0.3" dependencies: - "@types/acorn": "npm:^4.0.0" "@types/estree": "npm:^1.0.0" - "@types/unist": "npm:^2.0.0" - estree-util-visit: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/cd3af7365806a0b22efb83cb7726cb835725c0bc22e04f7ea83f2f38a09e7132413eff6ab6d53652b969a7ec30e442731c3abbbe8a74dc2081c51fd10223c269 - languageName: node - linkType: hard - -"micromark-util-html-tag-name@npm:^1.0.0": - version: 1.2.0 - resolution: "micromark-util-html-tag-name@npm:1.2.0" - checksum: 10c0/15421869678d36b4fe51df453921e8186bff514a14e9f79f32b7e1cdd67874e22a66ad34a7f048dd132cbbbfc7c382ae2f777a2bfd1f245a47705dc1c6d4f199 + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/a4e0716e943ffdd16a918edf51d4f8291ec2692f5c4d04693dbef3358716fba891f288197afd102c14f4d98dac09d52351046ab7aad1d50b74677bdd5fa683c0 languageName: node linkType: hard @@ -14299,15 +10972,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-normalize-identifier@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-normalize-identifier@npm:1.1.0" - dependencies: - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/a9657321a2392584e4d978061882117a84db7d2c2c1c052c0f5d25da089d463edb9f956d5beaf7f5768984b6f72d046d59b5972951ec7bf25397687a62b8278a - languageName: node - linkType: hard - "micromark-util-normalize-identifier@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-normalize-identifier@npm:2.0.0" @@ -14317,15 +10981,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-resolve-all@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-resolve-all@npm:1.1.0" - dependencies: - micromark-util-types: "npm:^1.0.0" - checksum: 10c0/b5c95484c06e87bbbb60d8430eb030a458733a5270409f4c67892d1274737087ca6a7ca888987430e57cf1dcd44bb16390d3b3936a2bf07f7534ec8f52ce43c9 - languageName: node - linkType: hard - "micromark-util-resolve-all@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-resolve-all@npm:2.0.0" @@ -14335,17 +10990,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-sanitize-uri@npm:^1.0.0, micromark-util-sanitize-uri@npm:^1.1.0": - version: 1.2.0 - resolution: "micromark-util-sanitize-uri@npm:1.2.0" - dependencies: - micromark-util-character: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - checksum: 10c0/dbdb98248e9f0408c7a00f1c1cd805775b41d213defd659533835f34b38da38e8f990bf7b3f782e96bffbc549aec9c3ecdab197d4ad5adbfe08f814a70327b6e - languageName: node - linkType: hard - "micromark-util-sanitize-uri@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-sanitize-uri@npm:2.0.0" @@ -14357,18 +11001,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-subtokenize@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-subtokenize@npm:1.1.0" - dependencies: - micromark-util-chunked: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.0" - uvu: "npm:^0.5.0" - checksum: 10c0/f292b1b162845db50d36255c9d4c4c6d47931fbca3ac98a80c7e536d2163233fd662f8ca0479ee2b80f145c66a1394c7ed17dfce801439741211015e77e3901e - languageName: node - linkType: hard - "micromark-util-subtokenize@npm:^2.0.0": version: 2.0.1 resolution: "micromark-util-subtokenize@npm:2.0.1" @@ -14381,13 +11013,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-symbol@npm:^1.0.0": - version: 1.1.0 - resolution: "micromark-util-symbol@npm:1.1.0" - checksum: 10c0/10ceaed33a90e6bfd3a5d57053dbb53f437d4809cc11430b5a09479c0ba601577059be9286df4a7eae6e350a60a2575dc9fa9d9872b5b8d058c875e075c33803 - languageName: node - linkType: hard - "micromark-util-symbol@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-symbol@npm:2.0.0" @@ -14395,13 +11020,6 @@ __metadata: languageName: node linkType: hard -"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": - version: 1.1.0 - resolution: "micromark-util-types@npm:1.1.0" - checksum: 10c0/a9749cb0a12a252ff536baabcb7012421b6fad4d91a5fdd80d7b33dc7b4c22e2d0c4637dfe5b902d00247fe6c9b01f4a24fce6b572b16ccaa4da90e6ce2a11e4 - languageName: node - linkType: hard - "micromark-util-types@npm:^2.0.0": version: 2.0.0 resolution: "micromark-util-types@npm:2.0.0" @@ -14409,31 +11027,6 @@ __metadata: languageName: node linkType: hard -"micromark@npm:^3.0.0": - version: 3.2.0 - resolution: "micromark@npm:3.2.0" - dependencies: - "@types/debug": "npm:^4.0.0" - debug: "npm:^4.0.0" - decode-named-character-reference: "npm:^1.0.0" - micromark-core-commonmark: "npm:^1.0.1" - micromark-factory-space: "npm:^1.0.0" - micromark-util-character: "npm:^1.0.0" - micromark-util-chunked: "npm:^1.0.0" - micromark-util-combine-extensions: "npm:^1.0.0" - micromark-util-decode-numeric-character-reference: "npm:^1.0.0" - micromark-util-encode: "npm:^1.0.0" - micromark-util-normalize-identifier: "npm:^1.0.0" - micromark-util-resolve-all: "npm:^1.0.0" - micromark-util-sanitize-uri: "npm:^1.0.0" - micromark-util-subtokenize: "npm:^1.0.0" - micromark-util-symbol: "npm:^1.0.0" - micromark-util-types: "npm:^1.0.1" - uvu: "npm:^0.5.0" - checksum: 10c0/f243e805d1b3cc699fddae2de0b1492bc82462f1a709d7ae5c82039f88b1e009c959100184717e748be057b5f88603289d5681679a4e6fbabcd037beb34bc744 - languageName: node - linkType: hard - "micromark@npm:^4.0.0": version: 4.0.0 resolution: "micromark@npm:4.0.0" @@ -14459,7 +11052,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:~4.0.7": +"micromatch@npm:^4.0.2, micromatch@npm:~4.0.7": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -14488,7 +11081,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.27, mime-types@npm:^2.1.31": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -14497,15 +11090,6 @@ __metadata: languageName: node linkType: hard -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 - languageName: node - linkType: hard - "mime@npm:^3.0.0": version: 3.0.0 resolution: "mime@npm:3.0.0" @@ -14571,16 +11155,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:9.0.3": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -14589,7 +11164,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" dependencies: @@ -14598,7 +11173,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": +"minimist@npm:^1.2.6, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -14698,17 +11273,40 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.1.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 +"motion-dom@npm:^12.35.0": + version: 12.35.0 + resolution: "motion-dom@npm:12.35.0" + dependencies: + motion-utils: "npm:^12.29.2" + checksum: 10c0/0f9491bae66baf2d09c02b57208a45f9bd2bc9292726c8115b8196d2bf65c56f1dd97ac36d5be3f40a581dee815fb2a745ff06c559cee9d5d6d6929fb70b9856 languageName: node linkType: hard -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d +"motion-utils@npm:^12.29.2": + version: 12.29.2 + resolution: "motion-utils@npm:12.29.2" + checksum: 10c0/8058fbb3467602e8263a8a6df0e5d318d00d30d7148415d2ebc13c78a3c7a1b0cbec0808bb62e82c34714979ecbed15b9fffb91bde654dbf3602c84b7d66a5b6 + languageName: node + linkType: hard + +"motion@npm:^12.0.0": + version: 12.35.0 + resolution: "motion@npm:12.35.0" + dependencies: + framer-motion: "npm:^12.35.0" + tslib: "npm:^2.4.0" + peerDependencies: + "@emotion/is-prop-valid": "*" + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/is-prop-valid": + optional: true + react: + optional: true + react-dom: + optional: true + checksum: 10c0/e43a0a6ea94ce755f53c4fd9906d3f230a7d3c1d572fe93b11a6b3adfe566df6f2fa1dfb2f84d8b39c42881abb66b0fc8fcd3742b6f3e63eecb7e33f4ba52fd7 languageName: node linkType: hard @@ -14719,7 +11317,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.1": +"ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -14735,14 +11333,12 @@ __metadata: languageName: node linkType: hard -"mz@npm:^2.7.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 +"nanoid@npm:^3.3.11": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b languageName: node linkType: hard @@ -14755,14 +11351,7 @@ __metadata: languageName: node linkType: hard -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 @@ -14776,44 +11365,46 @@ __metadata: languageName: node linkType: hard -"next-contentlayer@npm:^0.3.4": - version: 0.3.4 - resolution: "next-contentlayer@npm:0.3.4" +"next-mdx-remote@npm:^6.0.0": + version: 6.0.0 + resolution: "next-mdx-remote@npm:6.0.0" dependencies: - "@contentlayer/core": "npm:0.3.4" - "@contentlayer/utils": "npm:0.3.4" + "@babel/code-frame": "npm:^7.23.5" + "@mdx-js/mdx": "npm:^3.0.1" + "@mdx-js/react": "npm:^3.0.1" + unist-util-remove: "npm:^4.0.0" + unist-util-visit: "npm:^5.1.0" + vfile: "npm:^6.0.1" + vfile-matter: "npm:^5.0.0" peerDependencies: - contentlayer: 0.3.4 - next: ^12 || ^13 - react: "*" - react-dom: "*" - checksum: 10c0/8432ec69a98a5c5a46ce9cf4623f2655aa2ed6d511f7af6fa5ab553d2d72387cbe36f8137ab0ea18d23521732fd1cf5c44a5917dd964f0cf948f5fc1867421e3 + react: ">=16" + checksum: 10c0/b85c24034ab6139d8fc6696c66b614d7707a46814739b3e050b4878973ce7ceabf196e8e4cf3a420790811daa763a5678dbbe00d74cce5bf1c4ab6b064407a82 languageName: node linkType: hard -"next-themes@npm:^0.3.0": - version: 0.3.0 - resolution: "next-themes@npm:0.3.0" +"next-themes@npm:^0.4.6": + version: 0.4.6 + resolution: "next-themes@npm:0.4.6" peerDependencies: - react: ^16.8 || ^17 || ^18 - react-dom: ^16.8 || ^17 || ^18 - checksum: 10c0/72bd670ad6b9f547dc18cece340dfd1ac41e3e7b37eb321d4767db90bfa2c239f937011cd0efe35ca0081f1ea260051bc0868808ef39b0fbff2ddefd7146cec6 + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + checksum: 10c0/83590c11d359ce7e4ced14f6ea9dd7a691d5ce6843fe2dc520fc27e29ae1c535118478d03e7f172609c41b1ef1b8da6b8dd2d2acd6cd79cac1abbdbd5b99f2c4 languageName: node linkType: hard -"next@npm:16.1.5": - version: 16.1.5 - resolution: "next@npm:16.1.5" +"next@npm:^16.1.5": + version: 16.1.6 + resolution: "next@npm:16.1.6" dependencies: - "@next/env": "npm:16.1.5" - "@next/swc-darwin-arm64": "npm:16.1.5" - "@next/swc-darwin-x64": "npm:16.1.5" - "@next/swc-linux-arm64-gnu": "npm:16.1.5" - "@next/swc-linux-arm64-musl": "npm:16.1.5" - "@next/swc-linux-x64-gnu": "npm:16.1.5" - "@next/swc-linux-x64-musl": "npm:16.1.5" - "@next/swc-win32-arm64-msvc": "npm:16.1.5" - "@next/swc-win32-x64-msvc": "npm:16.1.5" + "@next/env": "npm:16.1.6" + "@next/swc-darwin-arm64": "npm:16.1.6" + "@next/swc-darwin-x64": "npm:16.1.6" + "@next/swc-linux-arm64-gnu": "npm:16.1.6" + "@next/swc-linux-arm64-musl": "npm:16.1.6" + "@next/swc-linux-x64-gnu": "npm:16.1.6" + "@next/swc-linux-x64-musl": "npm:16.1.6" + "@next/swc-win32-arm64-msvc": "npm:16.1.6" + "@next/swc-win32-x64-msvc": "npm:16.1.6" "@swc/helpers": "npm:0.5.15" baseline-browser-mapping: "npm:^2.8.3" caniuse-lite: "npm:^1.0.30001579" @@ -14857,7 +11448,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 10c0/ff9f7dd0cae79f7ba2a64ac0d29ca77c94921dfc37b36899f4f997b948242f72585f4bb75829aaf8704d46c6f7d1a9796b8ff30688a3467c04c738b3a4247a9f + checksum: 10c0/543766bf879bb5a5d454dc18cb302953270a92efba1d01dd028ea83c64b69573ce7d6e6c3759ecbaabec0a84131b0237263c24d1ccd7c8a97205e776dcd34e0b languageName: node linkType: hard @@ -14878,38 +11469,6 @@ __metadata: languageName: node linkType: hard -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b - languageName: node - linkType: hard - -"node-fetch@npm:^2.0.0": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-fetch@npm:^3.0.0": - version: 3.3.2 - resolution: "node-fetch@npm:3.3.2" - dependencies: - data-uri-to-buffer: "npm:^4.0.0" - fetch-blob: "npm:^3.1.4" - formdata-polyfill: "npm:^4.0.10" - checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 - languageName: node - linkType: hard - "node-gyp@npm:latest": version: 10.1.0 resolution: "node-gyp@npm:10.1.0" @@ -14972,6 +11531,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.27": + version: 2.0.36 + resolution: "node-releases@npm:2.0.36" + checksum: 10c0/85d8d7f4b6248c8372831cbcc3829ce634cb2b01dbd85e55705cefc8a9eda4ce8121bd218b9629cf2579aef8a360541bad409f3925a35675c825b9471a49d7e9 + languageName: node + linkType: hard + "nopt@npm:^7.0.0": version: 7.2.1 resolution: "nopt@npm:7.2.1" @@ -14983,22 +11549,6 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - "npm-run-path@npm:^5.1.0": version: 5.3.0 resolution: "npm-run-path@npm:5.3.0" @@ -15017,20 +11567,6 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 - languageName: node - linkType: hard - -"object-hash@npm:^3.0.0": - version: 3.0.0 - resolution: "object-hash@npm:3.0.0" - checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 - languageName: node - linkType: hard - "object-inspect@npm:^1.13.1": version: 1.13.1 resolution: "object-inspect@npm:1.13.1" @@ -15055,7 +11591,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": +"object.assign@npm:^4.1.4": version: 4.1.5 resolution: "object.assign@npm:4.1.5" dependencies: @@ -15067,62 +11603,6 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.7, object.entries@npm:^1.1.8": - version: 1.1.8 - resolution: "object.entries@npm:1.1.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3 - languageName: node - linkType: hard - -"object.fromentries@npm:^2.0.7, object.fromentries@npm:^2.0.8": - version: 2.0.8 - resolution: "object.fromentries@npm:2.0.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b - languageName: node - linkType: hard - -"object.groupby@npm:^1.0.1": - version: 1.0.3 - resolution: "object.groupby@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c - languageName: node - linkType: hard - -"object.hasown@npm:^1.1.4": - version: 1.1.4 - resolution: "object.hasown@npm:1.1.4" - dependencies: - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/f23187b08d874ef1aea060118c8259eb7f99f93c15a50771d710569534119062b90e087b92952b2d0fb1bb8914d61fb0b43c57fb06f622aaad538fe6868ab987 - languageName: node - linkType: hard - -"object.values@npm:^1.1.6, object.values@npm:^1.1.7, object.values@npm:^1.2.0": - version: 1.2.0 - resolution: "object.values@npm:1.2.0" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 - languageName: node - linkType: hard - "objectorarray@npm:^1.0.5": version: 1.0.5 resolution: "objectorarray@npm:1.0.5" @@ -15137,15 +11617,6 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" - dependencies: - ee-first: "npm:1.1.1" - checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 - languageName: node - linkType: hard - "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -15155,7 +11626,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": +"onetime@npm:^5.1.0": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -15173,35 +11644,33 @@ __metadata: languageName: node linkType: hard -"oo-ascii-tree@npm:^1.84.0": - version: 1.99.0 - resolution: "oo-ascii-tree@npm:1.99.0" - checksum: 10c0/4d391003549a72baf63f55b27f6b1aa2f361e7f2d86871b8c9c30f6b2c87ac20f83eaea10ef20e8dd69b0dd27c18975cd829b648fbe5b8f9be95e8e03b289b3c +"oniguruma-parser@npm:^0.12.1": + version: 0.12.1 + resolution: "oniguruma-parser@npm:0.12.1" + checksum: 10c0/b843ea54cda833efb19f856314afcbd43e903ece3de489ab78c527ddec84859208052557daa9fad4bdba89ebdd15b0cc250de86b3daf8c7cbe37bac5a6a185d3 languageName: node linkType: hard -"open@npm:^8.0.4": - version: 8.4.2 - resolution: "open@npm:8.4.2" +"oniguruma-to-es@npm:^4.3.4": + version: 4.3.4 + resolution: "oniguruma-to-es@npm:4.3.4" dependencies: - define-lazy-prop: "npm:^2.0.0" - is-docker: "npm:^2.1.1" - is-wsl: "npm:^2.2.0" - checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + oniguruma-parser: "npm:^0.12.1" + regex: "npm:^6.0.1" + regex-recursion: "npm:^6.0.2" + checksum: 10c0/fb58459f50db71c2c4785205636186bfbb125b094c4275512a8f41f123ed3fbf61f37c455f4360ef14a56c693981aecd7da3ae2c05614a222e872c4643b463fc languageName: node linkType: hard -"optionator@npm:^0.9.3": - version: 0.9.4 - resolution: "optionator@npm:0.9.4" +"open@npm:^10.2.0": + version: 10.2.0 + resolution: "open@npm:10.2.0" dependencies: - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - word-wrap: "npm:^1.2.5" - checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + wsl-utils: "npm:^0.1.0" + checksum: 10c0/5a36d0c1fd2f74ce553beb427ca8b8494b623fc22c6132d0c1688f246a375e24584ea0b44c67133d9ab774fa69be8e12fbe1ff12504b1142bd960fb09671948f languageName: node linkType: hard @@ -15238,15 +11707,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - "p-limit@npm:^4.0.0": version: 4.0.0 resolution: "p-limit@npm:4.0.0" @@ -15265,15 +11725,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - "p-locate@npm:^6.0.0": version: 6.0.0 resolution: "p-locate@npm:6.0.0" @@ -15355,7 +11806,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -15374,13 +11825,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^6.0.0": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 10c0/595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb - languageName: node - linkType: hard - "parse5@npm:^7.0.0": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -15390,13 +11834,6 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 - languageName: node - linkType: hard - "pascal-case@npm:^3.1.2": version: 3.1.2 resolution: "pascal-case@npm:3.1.2" @@ -15435,7 +11872,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": +"path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c @@ -15456,7 +11893,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.1, path-scurry@npm:^1.11.1": +"path-scurry@npm:^1.11.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" dependencies: @@ -15466,13 +11903,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.10": - version: 0.1.10 - resolution: "path-to-regexp@npm:0.1.10" - checksum: 10c0/34196775b9113ca6df88e94c8d83ba82c0e1a2063dd33bfe2803a980da8d49b91db8104f49d5191b44ea780d46b8670ce2b7f4a5e349b0c48c6779b653f1afe4 - languageName: node - linkType: hard - "path-to-regexp@npm:6.3.0": version: 6.3.0 resolution: "path-to-regexp@npm:6.3.0" @@ -15494,10 +11924,10 @@ __metadata: languageName: node linkType: hard -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc +"pathval@npm:^2.0.0": + version: 2.0.1 + resolution: "pathval@npm:2.0.1" + checksum: 10c0/460f4709479fbf2c45903a65655fc8f0a5f6d808f989173aeef5fdea4ff4f303dc13f7870303999add60ec49d4c14733895c0a869392e9866f1091fa64fd7581 languageName: node linkType: hard @@ -15515,17 +11945,6 @@ __metadata: languageName: node linkType: hard -"periscopic@npm:^3.0.0": - version: 3.1.0 - resolution: "periscopic@npm:3.1.0" - dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^3.0.0" - is-reference: "npm:^3.0.0" - checksum: 10c0/fb5ce7cd810c49254cdf1cd3892811e6dd1a1dfbdf5f10a0a33fb7141baac36443c4cad4f0e2b30abd4eac613f6ab845c2bc1b7ce66ae9694c7321e6ada5bd96 - languageName: node - linkType: hard - "picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": version: 1.0.1 resolution: "picocolors@npm:1.0.1" @@ -15533,7 +11952,14 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.0, picomatch@npm:^2.3.1": +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be @@ -15549,20 +11975,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc - languageName: node - linkType: hard - -"pirates@npm:^4.0.1": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 - languageName: node - linkType: hard - "pkg-dir@npm:^4.1.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -15572,88 +11984,19 @@ __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" dependencies: - find-up: "npm:^6.3.0" - checksum: 10c0/1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 - languageName: node - linkType: hard - -"pnp-webpack-plugin@npm:^1.7.0": - version: 1.7.0 - resolution: "pnp-webpack-plugin@npm:1.7.0" - dependencies: - ts-pnp: "npm:^1.1.6" - checksum: 10c0/79d1973ec0b04be6d44f15d5625991701a010dae28f2798d974d3aa164e8c60dc7fa22fd01a47fb6af369c4ba6585c3030d4deb775ccfecd7156594bc223d086 - languageName: node - linkType: hard - -"polished@npm:^4.2.2": - version: 4.3.1 - resolution: "polished@npm:4.3.1" - dependencies: - "@babel/runtime": "npm:^7.17.8" - checksum: 10c0/45480d4c7281a134281cef092f6ecc202a868475ff66a390fee6e9261386e16f3047b4de46a2f2e1cf7fb7aa8f52d30b4ed631a1e3bcd6f303ca31161d4f07fe - languageName: node - linkType: hard - -"possible-typed-array-names@npm:^1.0.0": - version: 1.0.0 - resolution: "possible-typed-array-names@npm:1.0.0" - 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 + find-up: "npm:^6.3.0" + checksum: 10c0/1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 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 +"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 @@ -15721,18 +12064,7 @@ __metadata: languageName: node linkType: hard -"postcss-nested@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-nested@npm:6.0.1" - dependencies: - postcss-selector-parser: "npm:^6.0.11" - peerDependencies: - postcss: ^8.2.14 - checksum: 10c0/2a50aa36d5d103c2e471954830489f4c024deed94fa066169101db55171368d5f80b32446b584029e0471feee409293d0b6b1d8ede361f6675ba097e477b3cbd - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": +"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": version: 6.1.0 resolution: "postcss-selector-parser@npm:6.1.0" dependencies: @@ -15742,7 +12074,7 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": +"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 @@ -15760,7 +12092,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8, postcss@npm:^8.2.14, postcss@npm:^8.4.23, postcss@npm:^8.4.33, postcss@npm:^8.4.38": +"postcss@npm:^8.2.14, postcss@npm:^8.4.33, postcss@npm:^8.4.38": version: 8.4.38 resolution: "postcss@npm:8.4.38" dependencies: @@ -15771,110 +12103,42 @@ __metadata: languageName: node linkType: hard -"posthog-js@npm:^1.141.4": - version: 1.141.4 - resolution: "posthog-js@npm:1.141.4" +"postcss@npm:^8.4.40, postcss@npm:^8.5.6": + version: 8.5.8 + resolution: "postcss@npm:8.5.8" dependencies: - fflate: "npm:^0.4.8" - preact: "npm:^10.19.3" - web-vitals: "npm:^4.0.1" - checksum: 10c0/504b7b6304527854453fb4ee07894dd7374d467eb8c4e0db7d2c812d18f115a9959c2bd30c690d24b10c7b6aa2aec4511bff3719102166261632049c400e461c - languageName: node - linkType: hard - -"preact@npm:^10.19.3": - version: 10.22.0 - resolution: "preact@npm:10.22.0" - checksum: 10c0/dc5466c5968c56997e917580c00983cec2f6486a89ea9ba29f1bb88dcfd2f9ff67c8d561a69a1b3acdab17f2bb36b311fef0c348b62e89c332d00c674f7871f0 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - -"prettier-fallback@npm:prettier@^3": - version: 3.3.1 - resolution: "prettier@npm:3.3.1" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/c25a709c9f0be670dc6bcb190b622347e1dbeb6c3e7df8b0711724cb64d8647c60b839937a4df4df18e9cfb556c2b08ca9d24d9645eb5488a7fc032a2c4d5cb3 + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/dd918f7127ee7c60a0295bae2e72b3787892296e1d1c3c564d7a2a00c68d8df83cadc3178491259daa19ccc54804fb71ed8c937c6787e08d8bd4bedf8d17044c languageName: node linkType: hard -"prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" +"posthog-js@npm:^1.225.0": + version: 1.359.1 + resolution: "posthog-js@npm:1.359.1" dependencies: - fast-diff: "npm:^1.1.2" - checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab - languageName: node - linkType: hard - -"prettier-plugin-tailwindcss@npm:^0.6.5": - version: 0.6.5 - resolution: "prettier-plugin-tailwindcss@npm:0.6.5" - peerDependencies: - "@ianvs/prettier-plugin-sort-imports": "*" - "@prettier/plugin-pug": "*" - "@shopify/prettier-plugin-liquid": "*" - "@trivago/prettier-plugin-sort-imports": "*" - "@zackad/prettier-plugin-twig-melody": "*" - prettier: ^3.0 - prettier-plugin-astro: "*" - prettier-plugin-css-order: "*" - prettier-plugin-import-sort: "*" - prettier-plugin-jsdoc: "*" - prettier-plugin-marko: "*" - prettier-plugin-organize-attributes: "*" - prettier-plugin-organize-imports: "*" - prettier-plugin-sort-imports: "*" - prettier-plugin-style-order: "*" - prettier-plugin-svelte: "*" - peerDependenciesMeta: - "@ianvs/prettier-plugin-sort-imports": - optional: true - "@prettier/plugin-pug": - optional: true - "@shopify/prettier-plugin-liquid": - optional: true - "@trivago/prettier-plugin-sort-imports": - optional: true - "@zackad/prettier-plugin-twig-melody": - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-sort-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - checksum: 10c0/30d62928592b48cab03c46ff63edd35d4a33c4e7c40e583f12bff7223eba8b6f780fd394965b0250160bcf39688f6fb602420374b2055bcbb6a69560b818ca4e + "@opentelemetry/api": "npm:^1.9.0" + "@opentelemetry/api-logs": "npm:^0.208.0" + "@opentelemetry/exporter-logs-otlp-http": "npm:^0.208.0" + "@opentelemetry/resources": "npm:^2.2.0" + "@opentelemetry/sdk-logs": "npm:^0.208.0" + "@posthog/core": "npm:1.23.2" + "@posthog/types": "npm:1.359.1" + core-js: "npm:^3.38.1" + dompurify: "npm:^3.3.2" + fflate: "npm:^0.4.8" + preact: "npm:^10.28.2" + query-selector-shadow-dom: "npm:^1.0.1" + web-vitals: "npm:^5.1.0" + checksum: 10c0/acf02bf639ade26343e68b51eabc3b88f7dcddfd685f85d560a05280f797bc998470b21ffe59f5fcb43540a2caaf299f109a480da0892af00f75fa02e0a94a4b languageName: node linkType: hard -"prettier@npm:^3.3.2": - version: 3.3.2 - resolution: "prettier@npm:3.3.2" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/39ed27d17f0238da6dd6571d63026566bd790d3d0edac57c285fbab525982060c8f1e01955fe38134ab10f0951a6076da37f015db8173c02f14bc7f0803a384c +"preact@npm:^10.28.2": + version: 10.28.4 + resolution: "preact@npm:10.28.4" + checksum: 10c0/712384e92d6c676c8f4c230eab81329a66acfecf700390aebfe5fc46168fa3686345d47f2292068dcc0a6d86425a3d9a3d743730e356e867a8402442afb989db languageName: node linkType: hard @@ -15888,35 +12152,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.0.2": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: "npm:^5.0.1" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^17.0.1" - checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed - languageName: node - linkType: hard - -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"pretty-hrtime@npm:^1.0.3": - version: 1.0.3 - resolution: "pretty-hrtime@npm:1.0.3" - checksum: 10c0/67cb3fc283a72252b49ac488647e6a01b78b7aa1b8f2061834aa1650691229081518ef3ca940f77f41cc8a8f02ba9eeb74b843481596670209e493062f2e89e0 - languageName: node - linkType: hard - "printable-characters@npm:^1.0.42": version: 1.0.42 resolution: "printable-characters@npm:1.0.42" @@ -15972,17 +12207,6 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 - languageName: node - linkType: hard - "property-information@npm:^6.0.0": version: 6.5.0 resolution: "property-information@npm:6.5.0" @@ -15990,9 +12214,16 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:^7.2.2, protobufjs@npm:^7.2.5": - version: 7.3.0 - resolution: "protobufjs@npm:7.3.0" +"property-information@npm:^7.0.0": + version: 7.1.0 + resolution: "property-information@npm:7.1.0" + checksum: 10c0/e0fe22cff26103260ad0e82959229106563fa115a54c4d6c183f49d88054e489cc9f23452d3ad584179dc13a8b7b37411a5df873746b5e4086c865874bfa968e + languageName: node + linkType: hard + +"protobufjs@npm:^7.3.0": + version: 7.5.4 + resolution: "protobufjs@npm:7.5.4" dependencies: "@protobufjs/aspromise": "npm:^1.1.2" "@protobufjs/base64": "npm:^1.1.2" @@ -16006,17 +12237,7 @@ __metadata: "@protobufjs/utf8": "npm:^1.1.0" "@types/node": "npm:>=13.7.0" long: "npm:^5.0.0" - checksum: 10c0/fdcd17a783a4d71dd46463419cdfb5a5e3ad07cf4d9460abb5bdeb2547b0fa77c55955ac26c38e5557f5169dc3909456c675a08c56268c0e79b34d348c05dcab - languageName: node - linkType: hard - -"proxy-addr@npm:~2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + checksum: 10c0/913b676109ffb3c05d3d31e03a684e569be91f3bba8613da4a683d69d9dba948daa2afd7d2e7944d1aa6c417890c35d9d9a8883c1160affafb0f9670d59ef722 languageName: node linkType: hard @@ -16048,7 +12269,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.0, qs@npm:^6.10.0, qs@npm:^6.11.2": +"qs@npm:^6.11.2": version: 6.13.0 resolution: "qs@npm:6.13.0" dependencies: @@ -16057,6 +12278,13 @@ __metadata: languageName: node linkType: hard +"query-selector-shadow-dom@npm:^1.0.1": + version: 1.0.1 + resolution: "query-selector-shadow-dom@npm:1.0.1" + checksum: 10c0/f36de03f170ff1da69c3eecfa7f8b01e450a46dd266c921e17f36076ec59862eee00179489f30cb17c118bb56e868436578c01ea66f671fb358750d6ae474125 + languageName: node + linkType: hard + "querystring-es3@npm:^0.2.1": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -16064,29 +12292,6 @@ __metadata: languageName: node linkType: hard -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"queue@npm:6.0.2": - version: 6.0.2 - resolution: "queue@npm:6.0.2" - dependencies: - inherits: "npm:~2.0.3" - checksum: 10c0/cf987476cc72e7d3aaabe23ccefaab1cd757a2b5e0c8d80b67c9575a6b5e1198807ffd4f0948a3f118b149d1111d810ee773473530b77a5c606673cac2c9c996 - languageName: node - linkType: hard - -"ramda@npm:0.29.0": - version: 0.29.0 - resolution: "ramda@npm:0.29.0" - checksum: 10c0/b00eaaf1c62b06a99affa1d583e256bd65ad27ab9d0ef512f55d7d93b842e7cd244a4a09179f61fdd8548362e409323867a2b0477cbd0626b5644eb6ac7c53da - languageName: node - linkType: hard - "randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -16106,46 +12311,13 @@ __metadata: languageName: node linkType: hard -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": +"range-parser@npm:^1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 languageName: node linkType: hard -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 - languageName: node - linkType: hard - -"react-colorful@npm:^5.1.2": - version: 5.6.1 - resolution: "react-colorful@npm:5.6.1" - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10c0/48eb73cf71e10841c2a61b6b06ab81da9fffa9876134c239bfdebcf348ce2a47e56b146338e35dfb03512c85966bfc9a53844fc56bc50154e71f8daee59ff6f0 - languageName: node - linkType: hard - -"react-confetti@npm:^6.1.0": - version: 6.1.0 - resolution: "react-confetti@npm:6.1.0" - dependencies: - tween-functions: "npm:^1.2.0" - peerDependencies: - react: ^16.3.0 || ^17.0.1 || ^18.0.0 - checksum: 10c0/5b4eb23eef564695f6db1d25b294ed31d5fa21ff4092c6a38e641f85cd10e3e0b50014366e3ac0f7cf772e73faaecd14614e5b11a5531336fa769dda8068ab59 - languageName: node - linkType: hard - "react-docgen-typescript@npm:^2.2.2": version: 2.2.2 resolution: "react-docgen-typescript@npm:2.2.2" @@ -16155,9 +12327,9 @@ __metadata: languageName: node linkType: hard -"react-docgen@npm:^7.0.0, react-docgen@npm:^7.0.3": - version: 7.0.3 - resolution: "react-docgen@npm:7.0.3" +"react-docgen@npm:^7.1.1": + version: 7.1.1 + resolution: "react-docgen@npm:7.1.1" dependencies: "@babel/core": "npm:^7.18.9" "@babel/traverse": "npm:^7.18.9" @@ -16169,61 +12341,36 @@ __metadata: doctrine: "npm:^3.0.0" resolve: "npm:^1.22.1" strip-indent: "npm:^4.0.0" - checksum: 10c0/74622750e60b287d2897a6887a2bd88303fadd84540247e162e9e970430864ae7b49152de043233d873a0aa7cffa406e5cd8fc1e8e2c277b8da73198b570f16b + checksum: 10c0/961e69487f6acbd9110afbda31f5a0c7fa7ab8b1ebe09fc0138c17efd297fa0b69518df873e937cac108732cd8125433bf939115d23ff99c1c171844140705a7 languageName: node linkType: hard -"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react-dom@npm:^18": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" +"react-docgen@npm:^8.0.2": + version: 8.0.2 + resolution: "react-docgen@npm:8.0.2" dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" - peerDependencies: - react: ^18.3.1 - checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + "@babel/core": "npm:^7.28.0" + "@babel/traverse": "npm:^7.28.0" + "@babel/types": "npm:^7.28.2" + "@types/babel__core": "npm:^7.20.5" + "@types/babel__traverse": "npm:^7.20.7" + "@types/doctrine": "npm:^0.0.9" + "@types/resolve": "npm:^1.20.2" + doctrine: "npm:^3.0.0" + resolve: "npm:^1.22.1" + strip-indent: "npm:^4.0.0" + checksum: 10c0/25e2dd48957c52749cf44bdcf172f3b47d42d8bb8c51000bceb136ff018cbe0a78610d04f12d8bbb882df0d86884e8d05b1d7a1cc39586de356ef5bb9fceab71 languageName: node linkType: hard -"react-element-to-jsx-string@npm:^15.0.0": - version: 15.0.0 - resolution: "react-element-to-jsx-string@npm:15.0.0" +"react-dom@npm:^19": + version: 19.2.4 + resolution: "react-dom@npm:19.2.4" dependencies: - "@base2/pretty-print-object": "npm:1.0.1" - is-plain-object: "npm:5.0.0" - react-is: "npm:18.1.0" + scheduler: "npm:^0.27.0" peerDependencies: - react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - checksum: 10c0/0d60a0ea758529c32a706d0c69d70b69fb94de3c46442fffdee34f08f51ffceddbb5395b41dfd1565895653e9f60f98ca525835be9d5db1f16d6b22be12f4cd4 - languageName: node - linkType: hard - -"react-is@npm:18.1.0": - version: 18.1.0 - resolution: "react-is@npm:18.1.0" - checksum: 10c0/558874e4c3bd9805a9294426e090919ee6901be3ab07f80b997c36b5a01a8d691112802e7438d146f6c82fd6495d8c030f276ef05ec3410057f8740a8d723f8c - languageName: node - linkType: hard - -"react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 - languageName: node - linkType: hard - -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + react: ^19.2.4 + checksum: 10c0/f0c63f1794dedb154136d4d0f59af00b41907f4859571c155940296808f4b94bf9c0c20633db75b5b2112ec13d8d7dd4f9bf57362ed48782f317b11d05a44f35 languageName: node linkType: hard @@ -16250,6 +12397,22 @@ __metadata: languageName: node linkType: hard +"react-remove-scroll-bar@npm:^2.3.7": + version: 2.3.8 + resolution: "react-remove-scroll-bar@npm:2.3.8" + dependencies: + react-style-singleton: "npm:^2.2.2" + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/9a0675c66cbb52c325bdbfaed80987a829c4504cefd8ff2dd3b6b3afc9a1500b8ec57b212e92c1fb654396d07bbe18830a8146fe77677d2a29ce40b5e1f78654 + languageName: node + linkType: hard + "react-remove-scroll@npm:2.5.5": version: 2.5.5 resolution: "react-remove-scroll@npm:2.5.5" @@ -16269,6 +12432,25 @@ __metadata: languageName: node linkType: hard +"react-remove-scroll@npm:^2.6.3": + version: 2.7.2 + resolution: "react-remove-scroll@npm:2.7.2" + dependencies: + react-remove-scroll-bar: "npm:^2.3.7" + react-style-singleton: "npm:^2.2.3" + tslib: "npm:^2.1.0" + use-callback-ref: "npm:^1.3.3" + use-sidecar: "npm:^1.1.3" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/b5f3315bead75e72853f492c0b51ba8fb4fa09a4534d7fc42d6fcd59ca3e047cf213279ffc1e35b337e314ef5a04cb2b12544c85e0078802271731c27c09e5aa + languageName: node + linkType: hard + "react-style-singleton@npm:^2.2.1": version: 2.2.1 resolution: "react-style-singleton@npm:2.2.1" @@ -16286,6 +12468,22 @@ __metadata: languageName: node linkType: hard +"react-style-singleton@npm:^2.2.2, react-style-singleton@npm:^2.2.3": + version: 2.2.3 + resolution: "react-style-singleton@npm:2.2.3" + dependencies: + get-nonce: "npm:^1.0.0" + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/841938ff16d16a6b76895f4cb2e1fea957e5fe3b30febbf03a54892dae1c9153f2383e231dea0b3ba41192ad2f2849448fa859caccd288943bce32639e971bee + languageName: node + linkType: hard + "react-wrap-balancer@npm:^1.1.1": version: 1.1.1 resolution: "react-wrap-balancer@npm:1.1.1" @@ -16295,21 +12493,10 @@ __metadata: languageName: node linkType: hard -"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react@npm:^18": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 - languageName: node - linkType: hard - -"read-cache@npm:^1.0.0": - version: 1.0.0 - resolution: "read-cache@npm:1.0.0" - dependencies: - pify: "npm:^2.3.0" - checksum: 10c0/90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 +"react@npm:^19": + version: 19.2.4 + resolution: "react@npm:19.2.4" + checksum: 10c0/cd2c9ff67a720799cc3b38a516009986f7fc4cb8d3e15716c6211cf098d1357ee3e348ab05ad0600042bbb0fd888530ba92e329198c92eafa0994f5213396596 languageName: node linkType: hard @@ -16352,12 +12539,10 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 languageName: node linkType: hard @@ -16374,6 +12559,56 @@ __metadata: languageName: node linkType: hard +"recma-build-jsx@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-build-jsx@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-build-jsx: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/ca30f5163887b44c74682355da2625f7b49f33267699d22247913e513e043650cbdd6a7497cf13c60f09ad9e7bc2bd35bd20853672773c19188569814b56bb04 + languageName: node + linkType: hard + +"recma-jsx@npm:^1.0.0": + version: 1.0.1 + resolution: "recma-jsx@npm:1.0.1" + dependencies: + acorn-jsx: "npm:^5.0.0" + estree-util-to-js: "npm:^2.0.0" + recma-parse: "npm:^1.0.0" + recma-stringify: "npm:^1.0.0" + unified: "npm:^11.0.0" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/9921b1270581ff133b94678868e665ba0fb6285ee60a6936106bac4899196c2ffb02dde894d9bc088fbf3deacb3e2426a3452e72066bf1203cbefebd7809d93f + languageName: node + linkType: hard + +"recma-parse@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-parse@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + esast-util-from-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/37c0990859a562d082e02d475ca5f4c8ef0840d285270f6699fe888cbb06260f97eb098585eda4aae416182c207fd19cf05e4f0b2dcf55cbf81dde4406d95545 + languageName: node + linkType: hard + +"recma-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "recma-stringify@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-util-to-js: "npm:^2.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/c2ed4c0e8cf8a09aedcd47c5d016d47f6e1ff6c2d4b220e2abaf1b77713bf404756af2ea3ea7999aec5862e8825aff035edceb370c7fd8603a7e9da03bd6987e + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -16384,21 +12619,6 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.6 - resolution: "reflect.getprototypeof@npm:1.0.6" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.1" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" - which-builtin-type: "npm:^1.1.3" - checksum: 10c0/baf4ef8ee6ff341600f4720b251cf5a6cb552d6a6ab0fdc036988c451bf16f920e5feb0d46bd4f530a5cce568f1f7aca2d77447ca798920749cfc52783c39b55 - languageName: node - linkType: hard - "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.1 resolution: "regenerate-unicode-properties@npm:10.1.1" @@ -16408,6 +12628,15 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/66a1d6a1dbacdfc49afd88f20b2319a4c33cee56d245163e4d8f5f283e0f45d1085a78f7f7406dd19ea3a5dd7a7799cd020cd817c97464a7507f9d10fbdce87c + languageName: node + linkType: hard + "regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -16422,31 +12651,35 @@ __metadata: languageName: node linkType: hard -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" +"regex-parser@npm:^2.2.11": + version: 2.3.0 + resolution: "regex-parser@npm:2.3.0" + checksum: 10c0/de31c40e9d982735fdf5934c822cc5cafbe6a0f0909d9fef52e2bd4cc2198933c89fd5e7a17697f25591fdb5df386a088296612b45f0f8e194222070fc5b5cc7 + languageName: node + linkType: hard + +"regex-recursion@npm:^6.0.2": + version: 6.0.2 + resolution: "regex-recursion@npm:6.0.2" dependencies: - "@babel/runtime": "npm:^7.8.4" - checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 + regex-utilities: "npm:^2.3.0" + checksum: 10c0/68e8b6889680e904b75d7f26edaf70a1a4dc1087406bff53face4c2929d918fd77c72223843fe816ac8ed9964f96b4160650e8d5909e26a998c6e9de324dadb1 languageName: node linkType: hard -"regex-parser@npm:^2.2.11": +"regex-utilities@npm:^2.3.0": version: 2.3.0 - resolution: "regex-parser@npm:2.3.0" - checksum: 10c0/de31c40e9d982735fdf5934c822cc5cafbe6a0f0909d9fef52e2bd4cc2198933c89fd5e7a17697f25591fdb5df386a088296612b45f0f8e194222070fc5b5cc7 + resolution: "regex-utilities@npm:2.3.0" + checksum: 10c0/78c550a80a0af75223244fff006743922591bd8f61d91fef7c86b9b56cf9bbf8ee5d7adb6d8991b5e304c57c90103fc4818cf1e357b11c6c669b782839bd7893 languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" +"regex@npm:^6.0.1": + version: 6.1.0 + resolution: "regex@npm:6.1.0" dependencies: - call-bind: "npm:^1.0.6" - define-properties: "npm:^1.2.1" - es-errors: "npm:^1.3.0" - set-function-name: "npm:^2.0.1" - checksum: 10c0/0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 + regex-utilities: "npm:^2.3.0" + checksum: 10c0/6e0ee2a1c17d5a66dc1120dfc51899dedf6677857e83a0df4d5a822ebb8645a54a079772efc1ade382b67aad35e4e22b5bd2d33c05ed28b0e000f8f57eb0aec1 languageName: node linkType: hard @@ -16464,6 +12697,38 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.2" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.13.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.2.1" + checksum: 10c0/1eed9783c023dd06fb1f3ce4b6e3fdf0bc1e30cb036f30aeb2019b351e5e0b74355b40462282ea5db092c79a79331c374c7e9897e44a5ca4509e9f0b570263de + languageName: node + linkType: hard + +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + +"regjsparser@npm:^0.13.0": + version: 0.13.0 + resolution: "regjsparser@npm:0.13.0" + dependencies: + jsesc: "npm:~3.1.0" + bin: + regjsparser: bin/parser + checksum: 10c0/4702f85cda09f67747c1b2fb673a0f0e5d1ba39d55f177632265a0be471ba59e3f320623f411649141f752b126b8126eac3ff4c62d317921e430b0472bfc6071 + languageName: node + linkType: hard + "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -16489,20 +12754,6 @@ __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" @@ -16514,19 +12765,30 @@ __metadata: languageName: node linkType: hard -"rehype-pretty-code@npm:^0.13.2": - version: 0.13.2 - resolution: "rehype-pretty-code@npm:0.13.2" +"rehype-pretty-code@npm:^0.14.0": + version: 0.14.3 + resolution: "rehype-pretty-code@npm:0.14.3" dependencies: "@types/hast": "npm:^3.0.4" hast-util-to-string: "npm:^3.0.0" parse-numeric-range: "npm:^1.3.0" rehype-parse: "npm:^9.0.0" - unified: "npm:^11.0.4" + unified: "npm:^11.0.5" unist-util-visit: "npm:^5.0.0" peerDependencies: - shiki: ^1.3.0 - checksum: 10c0/7a79519f422fa6cff24317124f212b47ab68ac8d5593e73a5756d06c2bd5be0b30c1a83d860cc393f59d6d6c27289d1855b6bcc7a490895f076f49e3255e10cc + shiki: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + checksum: 10c0/dcdfacf476fe3f6186b62f79332bdf3739185dedaf185125efa944653032d9c7c2cfd769cd3f686f46cfbdc7088b5601ee1e3b70847ecd94d5fe9b9fa61fdb97 + languageName: node + linkType: hard + +"rehype-recma@npm:^1.0.0": + version: 1.0.0 + resolution: "rehype-recma@npm:1.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + hast-util-to-estree: "npm:^3.0.0" + checksum: 10c0/be60d7433a7f788a14f41da3e93ba9d9272c908ddef47757026cc4bbcc912f6301d56810349adf876d294a8d048626a0dbf6988aaa574afbfc29eac1ddc1eb74 languageName: node linkType: hard @@ -16543,17 +12805,6 @@ __metadata: languageName: node linkType: hard -"rehype-stringify@npm:^9.0.3": - version: 9.0.4 - resolution: "rehype-stringify@npm:9.0.4" - dependencies: - "@types/hast": "npm:^2.0.0" - hast-util-to-html: "npm:^8.0.0" - unified: "npm:^10.0.0" - checksum: 10c0/8c8bc118c3e3242a6126456c35af5f902a168ec8daab7b97f6bfeafa5ced2c23fbe2807776908ecec8ed17a9ef67c6f6d473ff54c28c1d6a711624505a551078 - languageName: node - linkType: hard - "relateurl@npm:^0.2.7": version: 0.2.7 resolution: "relateurl@npm:0.2.7" @@ -16572,60 +12823,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 @@ -16641,15 +12859,16 @@ __metadata: languageName: node linkType: hard -"remark-rehype@npm:^10.0.0, remark-rehype@npm:^10.1.0": - version: 10.1.0 - resolution: "remark-rehype@npm:10.1.0" +"remark-rehype@npm:^11.0.0": + version: 11.1.2 + resolution: "remark-rehype@npm:11.1.2" dependencies: - "@types/hast": "npm:^2.0.0" - "@types/mdast": "npm:^3.0.0" - mdast-util-to-hast: "npm:^12.1.0" - unified: "npm:^10.0.0" - checksum: 10c0/803e658c9b51a9b53ee2ada42ff82e8e570444bb97c873e0d602c2d8dcb69a774fd22bd6f26643dfd5ab4c181059ea6c9fb9a99a2d7f9665f3f11bef1a1489bd + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/f9eccacfb596d9605581dc05bfad28635d6ded5dd0a18e88af5fd4df0d3fcf9612e1501d4513bc2164d833cfe9636dab20400080b09e53f155c6e1442a1231fb languageName: node linkType: hard @@ -16689,13 +12908,6 @@ __metadata: languageName: node linkType: hard -"repeat-string@npm:^1.6.1": - version: 1.6.1 - resolution: "repeat-string@npm:1.6.1" - checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -16710,13 +12922,6 @@ __metadata: languageName: node linkType: hard -"requireindex@npm:^1.2.0": - version: 1.2.0 - resolution: "requireindex@npm:1.2.0" - checksum: 10c0/7fb42aed73bf8de9acc4d6716cf07acc7fbe180e58729433bafcf702e76e7bb10e54f8266c06bfec62d752e0ac14d50e8758833de539e6f4e2cd642077866153 - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -16731,13 +12936,6 @@ __metadata: languageName: node linkType: hard -"resolve-pkg-maps@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-pkg-maps@npm:1.0.0" - checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab - languageName: node - linkType: hard - "resolve-url-loader@npm:^5.0.0": version: 5.0.0 resolution: "resolve-url-loader@npm:5.0.0" @@ -16751,7 +12949,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4, resolve@npm:^1.22.8": +"resolve@npm:^1.22.1, resolve@npm:^1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -16764,20 +12962,20 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.5": - version: 2.0.0-next.5 - resolution: "resolve@npm:2.0.0-next.5" +"resolve@npm:^1.22.11": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + checksum: 10c0/f657191507530f2cbecb5815b1ee99b20741ea6ee02a59c57028e9ec4c2c8d7681afcc35febbd554ac0ded459db6f2d8153382c53a2f266cee2575e512674409 languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>": +"resolve@patch:resolve@npm%3A^1.22.1#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin<compat/resolve>": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin<compat/resolve>::version=1.22.8&hash=c3c19d" dependencies: @@ -16790,16 +12988,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin<compat/resolve>": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin<compat/resolve>::version=2.0.0-next.5&hash=c3c19d" +"resolve@patch:resolve@npm%3A^1.22.11#optional!builtin<compat/resolve>": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin<compat/resolve>::version=1.22.11&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + checksum: 10c0/ee5b182f2e37cb1165465e58c6abc797fec0a80b5ba3231607beb4677db0c9291ac010c47cf092b6daa2b7f518d69a0e21888e7e2b633f68d501a874212a8c63 languageName: node linkType: hard @@ -16820,13 +13018,6 @@ __metadata: languageName: node linkType: hard -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 - languageName: node - linkType: hard - "rfdc@npm:^1.4.1": version: 1.4.1 resolution: "rfdc@npm:1.4.1" @@ -16894,46 +13085,14 @@ __metadata: languageName: node linkType: hard -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"rxjs@npm:^7.8.1": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" - dependencies: - tslib: "npm:^2.1.0" - checksum: 10c0/3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68 - languageName: node - linkType: hard - -"sade@npm:^1.7.3": - version: 1.8.1 - resolution: "sade@npm:1.8.1" - dependencies: - mri: "npm:^1.1.0" - checksum: 10c0/da8a3a5d667ad5ce3bf6d4f054bbb9f711103e5df21003c5a5c1a8a77ce12b640ed4017dd423b13c2307ea7e645adee7c2ae3afe8051b9db16a6f6d3da3f90b1 - languageName: node - linkType: hard - -"safe-array-concat@npm:^1.1.2": - version: 1.1.2 - resolution: "safe-array-concat@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - has-symbols: "npm:^1.0.3" - isarray: "npm:^2.0.5" - checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9 +"run-applescript@npm:^7.0.0": + version: 7.1.0 + resolution: "run-applescript@npm:7.1.0" + checksum: 10c0/ab826c57c20f244b2ee807704b1ef4ba7f566aa766481ae5922aac785e2570809e297c69afcccc3593095b538a8a77d26f2b2e9a1d9dffee24e0e039502d1a03 languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 @@ -16947,38 +13106,26 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-regex: "npm:^1.1.4" - checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 languageName: node linkType: hard -"sass-loader@npm:^12.4.0": - version: 12.6.0 - resolution: "sass-loader@npm:12.6.0" +"sass-loader@npm:^16.0.5": + version: 16.0.7 + resolution: "sass-loader@npm:16.0.7" dependencies: - klona: "npm:^2.0.4" neo-async: "npm:^2.6.2" peerDependencies: - fibers: ">= 3.1.0" - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + "@rspack/core": 0.x || ^1.0.0 || ^2.0.0-0 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: "*" webpack: ^5.0.0 peerDependenciesMeta: - fibers: + "@rspack/core": optional: true node-sass: optional: true @@ -16986,16 +13133,16 @@ __metadata: optional: true sass-embedded: optional: true - checksum: 10c0/e1ef655f3898cc4c45f02b3c627f8baf998139993a9a79c524153a80814282bfe20d8d8d703b8cf1d05457c1930940b65e2156d11285ed0861f9a1016f993e53 + webpack: + optional: true + checksum: 10c0/eb352777cb3aff4bf0029c88e276a37ca10f415de0765eb1276f742455ebb152faffc2417770bf4a26da389d6115e27dd6c8e66c8b71396b21811f6e4d1b4eea languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 +"scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 languageName: node linkType: hard @@ -17031,13 +13178,15 @@ __metadata: languageName: node linkType: hard -"section-matter@npm:^1.0.0": - version: 1.0.0 - resolution: "section-matter@npm:1.0.0" +"schema-utils@npm:^4.3.0": + version: 4.3.3 + resolution: "schema-utils@npm:4.3.3" dependencies: - extend-shallow: "npm:^2.0.1" - kind-of: "npm:^6.0.0" - checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d + "@types/json-schema": "npm:^7.0.9" + ajv: "npm:^8.9.0" + ajv-formats: "npm:^2.1.1" + ajv-keywords: "npm:^5.1.0" + checksum: 10c0/1c8d2c480a026d7c02ab2ecbe5919133a096d6a721a3f201fa50663e4f30f6d6ba020dfddd93cb828b66b922e76b342e103edd19a62c95c8f60e9079cc403202 languageName: node linkType: hard @@ -17050,7 +13199,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.2 resolution: "semver@npm:7.6.2" bin: @@ -17059,7 +13208,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.3": +"semver@npm:^7.6.3, semver@npm:^7.7.3": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -17068,27 +13217,6 @@ __metadata: languageName: node linkType: hard -"send@npm:0.19.0": - version: 0.19.0 - resolution: "send@npm:0.19.0" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:2.0.1" - checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.1": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" @@ -17098,18 +13226,6 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.16.2": - version: 1.16.2 - resolution: "serve-static@npm:1.16.2" - dependencies: - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - parseurl: "npm:~1.3.3" - send: "npm:0.19.0" - checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f - languageName: node - linkType: hard - "set-function-length@npm:^1.2.1, set-function-length@npm:^1.2.2": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -17124,18 +13240,6 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": - version: 2.0.2 - resolution: "set-function-name@npm:2.0.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - functions-have-names: "npm:^1.2.3" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 - languageName: node - linkType: hard - "setimmediate@npm:^1.0.4": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -17143,13 +13247,6 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - "sha.js@npm:^2.4.0, sha.js@npm:^2.4.11, sha.js@npm:^2.4.8": version: 2.4.12 resolution: "sha.js@npm:2.4.12" @@ -17163,75 +13260,6 @@ __metadata: languageName: node linkType: hard -"sharp@npm:^0.33.3": - version: 0.33.4 - resolution: "sharp@npm:0.33.4" - dependencies: - "@img/sharp-darwin-arm64": "npm:0.33.4" - "@img/sharp-darwin-x64": "npm:0.33.4" - "@img/sharp-libvips-darwin-arm64": "npm:1.0.2" - "@img/sharp-libvips-darwin-x64": "npm:1.0.2" - "@img/sharp-libvips-linux-arm": "npm:1.0.2" - "@img/sharp-libvips-linux-arm64": "npm:1.0.2" - "@img/sharp-libvips-linux-s390x": "npm:1.0.2" - "@img/sharp-libvips-linux-x64": "npm:1.0.2" - "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.2" - "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.2" - "@img/sharp-linux-arm": "npm:0.33.4" - "@img/sharp-linux-arm64": "npm:0.33.4" - "@img/sharp-linux-s390x": "npm:0.33.4" - "@img/sharp-linux-x64": "npm:0.33.4" - "@img/sharp-linuxmusl-arm64": "npm:0.33.4" - "@img/sharp-linuxmusl-x64": "npm:0.33.4" - "@img/sharp-wasm32": "npm:0.33.4" - "@img/sharp-win32-ia32": "npm:0.33.4" - "@img/sharp-win32-x64": "npm:0.33.4" - color: "npm:^4.2.3" - detect-libc: "npm:^2.0.3" - semver: "npm:^7.6.0" - dependenciesMeta: - "@img/sharp-darwin-arm64": - optional: true - "@img/sharp-darwin-x64": - optional: true - "@img/sharp-libvips-darwin-arm64": - optional: true - "@img/sharp-libvips-darwin-x64": - optional: true - "@img/sharp-libvips-linux-arm": - optional: true - "@img/sharp-libvips-linux-arm64": - optional: true - "@img/sharp-libvips-linux-s390x": - optional: true - "@img/sharp-libvips-linux-x64": - optional: true - "@img/sharp-libvips-linuxmusl-arm64": - optional: true - "@img/sharp-libvips-linuxmusl-x64": - optional: true - "@img/sharp-linux-arm": - optional: true - "@img/sharp-linux-arm64": - optional: true - "@img/sharp-linux-s390x": - optional: true - "@img/sharp-linux-x64": - optional: true - "@img/sharp-linuxmusl-arm64": - optional: true - "@img/sharp-linuxmusl-x64": - optional: true - "@img/sharp-wasm32": - optional: true - "@img/sharp-win32-ia32": - optional: true - "@img/sharp-win32-x64": - optional: true - checksum: 10c0/428c5c6a84ff8968effe50c2de931002f5f30b9f263e1c026d0384e581673c13088a49322f7748114d3d9be4ae9476a74bf003a3af34743e97ef2f880d1cfe45 - languageName: node - linkType: hard - "sharp@npm:^0.33.5": version: 0.33.5 resolution: "sharp@npm:0.33.5" @@ -17301,7 +13329,7 @@ __metadata: languageName: node linkType: hard -"sharp@npm:^0.34.4": +"sharp@npm:^0.34.1, sharp@npm:^0.34.4": version: 0.34.5 resolution: "sharp@npm:0.34.5" dependencies: @@ -17401,23 +13429,23 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.8.1": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a - languageName: node - linkType: hard - -"shiki@npm:^1.6.2": - version: 1.6.2 - resolution: "shiki@npm:1.6.2" +"shiki@npm:^3.0.0": + version: 3.23.0 + resolution: "shiki@npm:3.23.0" dependencies: - "@shikijs/core": "npm:1.6.2" - checksum: 10c0/c563a22f47890d46626822b50635217f95ce5d4a28f4a62cabe689c3786602a41f0bba58f13ae36399ff24525cd9eadc034022a4be57226ffd8ed4a9aeec946d + "@shikijs/core": "npm:3.23.0" + "@shikijs/engine-javascript": "npm:3.23.0" + "@shikijs/engine-oniguruma": "npm:3.23.0" + "@shikijs/langs": "npm:3.23.0" + "@shikijs/themes": "npm:3.23.0" + "@shikijs/types": "npm:3.23.0" + "@shikijs/vscode-textmate": "npm:^10.0.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/b06a3eddac4bd0a838f9bd79bea70b0a01195570cb11d70fd2ff7ab0a42c33a8c4980ee52174173aae0476cc152b4c1a68c081a82d94ee340cb3ef9d772ae4ba languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": +"side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" dependencies: @@ -17429,7 +13457,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": +"signal-exit@npm:^3.0.2": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 @@ -17459,13 +13487,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - "slice-ansi@npm:^5.0.0": version: 5.0.0 resolution: "slice-ansi@npm:5.0.0" @@ -17521,7 +13542,14 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20": +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -17559,13 +13587,6 @@ __metadata: languageName: node linkType: hard -"spawn-command@npm:0.0.2": - version: 0.0.2 - resolution: "spawn-command@npm:0.0.2" - checksum: 10c0/b22f2d71239e6e628a400831861ba747750bbb40c0a53323754cf7b84330b73d81e40ff1f9055e6d1971818679510208a9302e13d9ff3b32feb67e74d7a1b3ef - languageName: node - linkType: hard - "split2@npm:^4.0.0": version: 4.2.0 resolution: "split2@npm:4.2.0" @@ -17580,13 +13601,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - "ssri@npm:^10.0.0": version: 10.0.6 resolution: "ssri@npm:10.0.6" @@ -17613,13 +13627,6 @@ __metadata: languageName: node linkType: hard -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - "stdin-discarder@npm:^0.2.1": version: 0.2.2 resolution: "stdin-discarder@npm:0.2.2" @@ -17627,15 +13634,6 @@ __metadata: languageName: node linkType: hard -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" - dependencies: - internal-slot: "npm:^1.0.4" - checksum: 10c0/c4158d6188aac510d9e92925b58709207bd94699e9c31186a040c80932a687f84a51356b5895e6dc72710aad83addb9411c22171832c9ae0e6e11b7d61b0dfb9 - languageName: node - linkType: hard - "stoppable@npm:1.1.0": version: 1.1.0 resolution: "stoppable@npm:1.1.0" @@ -17643,44 +13641,30 @@ __metadata: languageName: node linkType: hard -"store2@npm:^2.14.2": - version: 2.14.4 - resolution: "store2@npm:2.14.4" - checksum: 10c0/3453c9c8c153c760e6290395a7bc23669df5dc8a6e8a49f9b3187dbb9f86d14b58705aa4f17fad6b536d4b04fe3e66ea5bde12c1352abd52c6b303bbf5757ab6 - languageName: node - linkType: hard - -"storybook-dark-mode@npm:^4.0.1": - version: 4.0.1 - resolution: "storybook-dark-mode@npm:4.0.1" +"storybook@npm:^10.2.15": + version: 10.2.15 + resolution: "storybook@npm:10.2.15" dependencies: - "@storybook/components": "npm:^8.0.0" - "@storybook/core-events": "npm:^8.0.0" "@storybook/global": "npm:^5.0.0" - "@storybook/icons": "npm:^1.2.5" - "@storybook/manager-api": "npm:^8.0.0" - "@storybook/theming": "npm:^8.0.0" - fast-deep-equal: "npm:^3.1.3" - memoizerific: "npm:^1.11.3" - checksum: 10c0/201e13e7bbed85ad7a52d65984da9347b0ecaf1458ec569a6645a5e6dc04638b8aa61ed52a56a775321f801f1a035444b6d0d715624aa217f7d6ea7671060d3e - languageName: node - linkType: hard - -"storybook@npm:^8.6.15": - version: 8.6.15 - resolution: "storybook@npm:8.6.15" - dependencies: - "@storybook/core": "npm:8.6.15" + "@storybook/icons": "npm:^2.0.1" + "@testing-library/jest-dom": "npm:^6.6.3" + "@testing-library/user-event": "npm:^14.6.1" + "@vitest/expect": "npm:3.2.4" + "@vitest/spy": "npm:3.2.4" + esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0" + open: "npm:^10.2.0" + recast: "npm:^0.23.5" + semver: "npm:^7.7.3" + use-sync-external-store: "npm:^1.5.0" + ws: "npm:^8.18.0" peerDependencies: prettier: ^2 || ^3 peerDependenciesMeta: prettier: optional: true bin: - getstorybook: ./bin/index.cjs - sb: ./bin/index.cjs - storybook: ./bin/index.cjs - checksum: 10c0/8d54dd81811fa3299c85667c55f7627e6f1010e86ab56babcd853987dedab4e711a2b0ee4ff545b091030a92e12becd84e4e2e7b99cd8a1c1d30697757af2545 + storybook: ./dist/bin/dispatcher.js + checksum: 10c0/eeab16bb284332c1a43865bf3ed77cf2a09cae096eabcd705dcb5333b5cb1b378dae2f028a2753f1edb65b4ea5bba9f3724a7682e74a46663e53fc1aed09eaa1 languageName: node linkType: hard @@ -17716,87 +13700,33 @@ __metadata: "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": version: 4.2.3 resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string-width@npm:^7.0.0": - version: 7.1.0 - resolution: "string-width@npm:7.1.0" - dependencies: - emoji-regex: "npm:^10.3.0" - get-east-asian-width: "npm:^1.0.0" - strip-ansi: "npm:^7.1.0" - checksum: 10c0/68a99fbc3bd3d8eb42886ff38dce819767dee55f606f74dfa4687a07dfd21262745d9683df0aa53bf81a5dd47c13da921a501925b974bec66a7ddd634fef0634 - languageName: node - linkType: hard - -"string.prototype.matchall@npm:^4.0.11": - version: 4.0.11 - resolution: "string.prototype.matchall@npm:4.0.11" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - regexp.prototype.flags: "npm:^1.5.2" - set-function-name: "npm:^2.0.2" - side-channel: "npm:^1.0.6" - checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.9": - version: 1.2.9 - resolution: "string.prototype.trim@npm:1.2.9" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2 + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimend@npm:1.0.8" +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimstart@npm:1.0.8" +"string-width@npm:^7.0.0": + version: 7.1.0 + resolution: "string-width@npm:7.1.0" dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366 + emoji-regex: "npm:^10.3.0" + get-east-asian-width: "npm:^1.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/68a99fbc3bd3d8eb42886ff38dce819767dee55f606f74dfa4687a07dfd21262745d9683df0aa53bf81a5dd47c13da921a501925b974bec66a7ddd634fef0634 languageName: node linkType: hard @@ -17846,13 +13776,6 @@ __metadata: languageName: node linkType: hard -"strip-bom-string@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-bom-string@npm:1.0.0" - checksum: 10c0/5c5717e2643225aa6a6d659d34176ab2657037f1fe2423ac6fcdb488f135e14fef1022030e426d8b4d0989e09adbd5c3288d5d3b9c632abeefd2358dfc512bca - languageName: node - linkType: hard - "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -17860,13 +13783,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - "strip-final-newline@npm:^3.0.0": version: 3.0.0 resolution: "strip-final-newline@npm:3.0.0" @@ -17892,13 +13808,6 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - "style-loader@npm:^3.3.1": version: 3.3.4 resolution: "style-loader@npm:3.3.4" @@ -17908,28 +13817,30 @@ __metadata: languageName: node linkType: hard -"style-to-object@npm:^0.4.1": - version: 0.4.4 - resolution: "style-to-object@npm:0.4.4" +"style-loader@npm:^4.0.0": + version: 4.0.0 + resolution: "style-loader@npm:4.0.0" + peerDependencies: + webpack: ^5.27.0 + checksum: 10c0/214bc0f3b018f8c374f79b9fa16da43df78c7fef2261e9a99e36c2f8387601fad10ac75a171aa8edba75903db214bc46952ae08b94a1f8544bd146c2c8d07d27 + languageName: node + linkType: hard + +"style-to-js@npm:^1.0.0": + version: 1.1.21 + resolution: "style-to-js@npm:1.1.21" dependencies: - inline-style-parser: "npm:0.1.1" - checksum: 10c0/3a733080da66952881175b17d65f92985cf94c1ca358a92cf21b114b1260d49b94a404ed79476047fb95698d64c7e366ca7443f0225939e2fb34c38bbc9c7639 + style-to-object: "npm:1.0.14" + checksum: 10c0/94231aa80f58f442c3a5ae01a21d10701e5d62f96b4b3e52eab3499077ee52df203cc0df4a1a870707f5e99470859136ea8657b782a5f4ca7934e0ffe662a588 languageName: node linkType: hard -"styled-jsx@npm:5.1.1": - version: 5.1.1 - resolution: "styled-jsx@npm:5.1.1" +"style-to-object@npm:1.0.14": + version: 1.0.14 + resolution: "style-to-object@npm:1.0.14" dependencies: - client-only: "npm:0.0.1" - peerDependencies: - react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" - peerDependenciesMeta: - "@babel/core": - optional: true - babel-plugin-macros: - optional: true - checksum: 10c0/42655cdadfa5388f8a48bb282d6b450df7d7b8cf066ac37038bd0499d3c9f084815ebd9ff9dfa12a218fd4441338851db79603498d7557207009c1cf4d609835 + inline-style-parser: "npm:0.2.7" + checksum: 10c0/854d9e9b77afc336e6d7b09348e7939f2617b34eb0895824b066d8cd1790284cb6d8b2ba36be88025b2595d715dba14b299ae76e4628a366541106f639e13679 languageName: node linkType: hard @@ -17949,21 +13860,19 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.32.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" +"styled-jsx@npm:^5.1.6": + version: 5.1.7 + resolution: "styled-jsx@npm:5.1.7" dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.2" - commander: "npm:^4.0.0" - glob: "npm:^10.3.10" - lines-and-columns: "npm:^1.1.6" - mz: "npm:^2.7.0" - pirates: "npm:^4.0.1" - ts-interface-checker: "npm:^0.1.9" - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + client-only: "npm:0.0.1" + peerDependencies: + react: ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + peerDependenciesMeta: + "@babel/core": + optional: true + babel-plugin-macros: + optional: true + checksum: 10c0/7a2544664f74dbd940c96017f81c7066b6c1e88df6e2062fd1ffcada66cfb22eb3367438b4f0ec47de7ba37f7359d153f25da2bf9593a6f3e35af44c7bbaeb48 languageName: node linkType: hard @@ -17985,7 +13894,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": +"supports-color@npm:^8.0.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -18001,64 +13910,17 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.8.6": - version: 0.8.8 - resolution: "synckit@npm:0.8.8" - dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 - languageName: node - linkType: hard - -"tailwind-merge@npm:^2.3.0": - version: 2.3.0 - resolution: "tailwind-merge@npm:2.3.0" - dependencies: - "@babel/runtime": "npm:^7.24.1" - checksum: 10c0/5ea308e23c3ab1cf4c3f35f0a471753f4d3ed232d63dd7c09151a74428737321902203d90e9f0cb76ea5c3978e71b0adbc503dc455e56cda967a7674ae4b94b5 - languageName: node - linkType: hard - -"tailwindcss-animate@npm:^1.0.7": - version: 1.0.7 - resolution: "tailwindcss-animate@npm:1.0.7" - peerDependencies: - tailwindcss: "*" - checksum: 10c0/ec7dbd1631076b97d66a1fbaaa06e0725fccfa63119221e8d87a997b02dcede98ad88bb1ef6665b968f5d260fcefb10592e0299ca70208d365b37761edf5e19a +"tailwind-merge@npm:^3.0.0": + version: 3.5.0 + resolution: "tailwind-merge@npm:3.5.0" + checksum: 10c0/4dc588f5b5296ba3f38e1ebb41f02b6d24a8c5bb45e44b33748c118fb4b5767dd0efc464431ca3e75404056b618b5f67bec3708158baa65fed8a2fc9201e0c53 languageName: node linkType: hard -"tailwindcss@npm:^3.4.1": - version: 3.4.4 - resolution: "tailwindcss@npm:3.4.4" - dependencies: - "@alloc/quick-lru": "npm:^5.2.0" - arg: "npm:^5.0.2" - chokidar: "npm:^3.5.3" - didyoumean: "npm:^1.2.2" - dlv: "npm:^1.1.3" - fast-glob: "npm:^3.3.0" - glob-parent: "npm:^6.0.2" - is-glob: "npm:^4.0.3" - jiti: "npm:^1.21.0" - lilconfig: "npm:^2.1.0" - micromatch: "npm:^4.0.5" - normalize-path: "npm:^3.0.0" - object-hash: "npm:^3.0.0" - picocolors: "npm:^1.0.0" - postcss: "npm:^8.4.23" - postcss-import: "npm:^15.1.0" - postcss-js: "npm:^4.0.1" - postcss-load-config: "npm:^4.0.1" - postcss-nested: "npm:^6.0.1" - postcss-selector-parser: "npm:^6.0.11" - resolve: "npm:^1.22.2" - sucrase: "npm:^3.32.0" - bin: - tailwind: lib/cli.js - tailwindcss: lib/cli.js - checksum: 10c0/e4f7e1a2e1897871a4744f421ccb5639e8d51012e3644b0c35cf723527fdc8f9cddd3fa3b0fc28c198b0ea6ce44ead21c89cfec549d80bad9b1f3dd9d8bf2d54 +"tailwindcss@npm:4.2.1, tailwindcss@npm:^4.1.0": + version: 4.2.1 + resolution: "tailwindcss@npm:4.2.1" + checksum: 10c0/482d734b582e9da509042ff59c1d7564d99e39e238c50ae907c20fa56177a8a00c3902f6971329971bd6a1c5357026ac76a849b8f2c69c94f0f59be99530ba54 languageName: node linkType: hard @@ -18069,6 +13931,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.3.0": + version: 2.3.0 + resolution: "tapable@npm:2.3.0" + checksum: 10c0/cb9d67cc2c6a74dedc812ef3085d9d681edd2c1fa18e4aef57a3c0605fdbe44e6b8ea00bd9ef21bc74dd45314e39d31227aa031ebf2f5e38164df514136f2681 + languageName: node + linkType: hard + "tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -18083,35 +13952,7 @@ __metadata: languageName: node linkType: hard -"telejson@npm:^7.2.0": - version: 7.2.0 - resolution: "telejson@npm:7.2.0" - dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10c0/d26e6cc93e54bfdcdb207b49905508c5db45862e811a2e2193a735409e47b14530e1c19351618a3e03ad2fd4ffc3759364fcd72851aba2df0300fab574b6151c - languageName: node - linkType: hard - -"temp-dir@npm:^3.0.0": - version: 3.0.0 - resolution: "temp-dir@npm:3.0.0" - checksum: 10c0/a86978a400984cd5f315b77ebf3fe53bb58c61f192278cafcb1f3fb32d584a21dc8e08b93171d7874b7cc972234d3455c467306cc1bfc4524b622e5ad3bfd671 - languageName: node - linkType: hard - -"tempy@npm:^3.1.0": - version: 3.1.0 - resolution: "tempy@npm:3.1.0" - dependencies: - is-stream: "npm:^3.0.0" - temp-dir: "npm:^3.0.0" - type-fest: "npm:^2.12.2" - unique-string: "npm:^3.0.0" - checksum: 10c0/b88e70baa8d935ba8f0e0372b59ad1a961121f098da5fb4a6e05bec98ec32a49026b553532fb75c1c102ec782fd4c6a6bde0d46cbe87013fa324451ce476fb76 - languageName: node - linkType: hard - -"terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.10": +"terser-webpack-plugin@npm:^5.3.10": version: 5.3.10 resolution: "terser-webpack-plugin@npm:5.3.10" dependencies: @@ -18133,6 +13974,27 @@ __metadata: languageName: node linkType: hard +"terser-webpack-plugin@npm:^5.3.14": + version: 5.3.17 + resolution: "terser-webpack-plugin@npm:5.3.17" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.25" + jest-worker: "npm:^27.4.5" + schema-utils: "npm:^4.3.0" + terser: "npm:^5.31.1" + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 10c0/bfe08fbb3e5e5a8b2525dcc1705c370ca67f218051f0df241f86531ab0f1a93d5b290176ba09cff28cd5f774836684a7e436421d0641c0f4dfd07110d8d907bf + languageName: node + linkType: hard + "terser@npm:^5.10.0, terser@npm:^5.26.0": version: 5.31.1 resolution: "terser@npm:5.31.1" @@ -18147,35 +14009,24 @@ __metadata: languageName: node linkType: hard -"text-extensions@npm:^2.0.0": - version: 2.4.0 - resolution: "text-extensions@npm:2.4.0" - checksum: 10c0/6790e7ee72ad4d54f2e96c50a13e158bb57ce840dddc770e80960ed1550115c57bdc2cee45d5354d7b4f269636f5ca06aab4d6e0281556c841389aa837b23fcb - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" +"terser@npm:^5.31.1, terser@npm:^5.39.2": + version: 5.46.0 + resolution: "terser@npm:5.46.0" dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.15.0" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/93ad468f13187c4f66b609bbfc00a6aee752007779ca3157f2c1ee063697815748d6010fd449a16c30be33213748431d5f54cc0224ba6a3fbbf5acd3582a4356 languageName: node linkType: hard -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: "npm:^1.0.0" - checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 +"text-extensions@npm:^2.0.0": + version: 2.4.0 + resolution: "text-extensions@npm:2.4.0" + checksum: 10c0/6790e7ee72ad4d54f2e96c50a13e158bb57ce840dddc770e80960ed1550115c57bdc2cee45d5354d7b4f269636f5ca06aab4d6e0281556c841389aa837b23fcb languageName: node linkType: hard @@ -18195,17 +14046,24 @@ __metadata: languageName: node linkType: hard -"tiny-invariant@npm:^1.3.1, tiny-invariant@npm:^1.3.3": +"tiny-invariant@npm:^1.3.3": version: 1.3.3 resolution: "tiny-invariant@npm:1.3.3" checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a languageName: node linkType: hard -"tinyspy@npm:^2.2.0": - version: 2.2.1 - resolution: "tinyspy@npm:2.2.1" - checksum: 10c0/0b4cfd07c09871e12c592dfa7b91528124dc49a4766a0b23350638c62e6a483d5a2a667de7e6282246c0d4f09996482ddaacbd01f0c05b7ed7e0f79d32409bdc +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 10c0/c83c52bef4e0ae7fb8ec6a722f70b5b6fa8d8be1c85792e829f56c0e1be94ab70b293c032dc5048d4d37cfe678f1f5babb04bdc65fd123098800148ca989184f + languageName: node + linkType: hard + +"tinyspy@npm:^4.0.3": + version: 4.0.4 + resolution: "tinyspy@npm:4.0.4" + checksum: 10c0/a8020fc17799251e06a8398dcc352601d2770aa91c556b9531ecd7a12581161fd1c14e81cbdaff0c1306c93bfdde8ff6d1c1a3f9bbe6d91604f0fd4e01e2f1eb languageName: node linkType: hard @@ -18266,43 +14124,6 @@ __metadata: languageName: node linkType: hard -"tocbot@npm:^4.20.1": - version: 4.28.2 - resolution: "tocbot@npm:4.28.2" - checksum: 10c0/effc2cd35b5e8e2928e97d1b5347e68d89b386e177c0cdedd92c401f972175a1502cf9f399c19a47707c2d5e58b344dc27f9a437597cb8e6ee3ed7bc27ec6463 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"toml@npm:^3.0.0": - version: 3.0.0 - resolution: "toml@npm:3.0.0" - checksum: 10c0/8d7ed3e700ca602e5419fca343e1c595eb7aa177745141f0761a5b20874b58ee5c878cd045c408da9d130cb2b611c639912210ba96ce2f78e443569aa8060c18 - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"tree-kill@npm:^1.2.2": - version: 1.2.2 - resolution: "tree-kill@npm:1.2.2" - bin: - tree-kill: cli.js - checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 - languageName: node - linkType: hard - "trim-lines@npm:^3.0.0": version: 3.0.1 resolution: "trim-lines@npm:3.0.1" @@ -18317,46 +14138,13 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1, ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" - peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c - languageName: node - linkType: hard - -"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0": +"ts-dedent@npm:^2.0.0": version: 2.2.0 resolution: "ts-dedent@npm:2.2.0" checksum: 10c0/175adea838468cc2ff7d5e97f970dcb798bbcb623f29c6088cb21aa2880d207c5784be81ab1741f56b9ac37840cbaba0c0d79f7f8b67ffe61c02634cafa5c303 languageName: node linkType: hard -"ts-interface-checker@npm:^0.1.9": - version: 0.1.13 - resolution: "ts-interface-checker@npm:0.1.13" - checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 - languageName: node - linkType: hard - -"ts-pattern@npm:^4.3.0": - version: 4.3.0 - resolution: "ts-pattern@npm:4.3.0" - checksum: 10c0/e83d370feeda3657f5b9d49b119840e4c4f7cbee9797233078cbf1ad8f82dbd44935e8120ee3293d7626fed542b230827fdb87fcbdcaf37fd0f1d22345d05594 - languageName: node - linkType: hard - -"ts-pnp@npm:^1.1.6": - version: 1.2.0 - resolution: "ts-pnp@npm:1.2.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/ff32b4f810f9d99f676d70fe2c0e327cb6c812214bd4fc7135870b039f9e85a85b2c20f8fe030d9bd36e9598a12faa391f10aecb95df624b92f1af6bd47dc397 - languageName: node - linkType: hard - "tsconfig-paths-webpack-plugin@npm:^4.0.1": version: 4.1.0 resolution: "tsconfig-paths-webpack-plugin@npm:4.1.0" @@ -18368,18 +14156,6 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.15.0": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 - languageName: node - linkType: hard - "tsconfig-paths@npm:^4.0.0, tsconfig-paths@npm:^4.1.2, tsconfig-paths@npm:^4.2.0": version: 4.2.0 resolution: "tsconfig-paths@npm:4.2.0" @@ -18391,21 +14167,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.6.2": +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0": version: 2.6.3 resolution: "tslib@npm:2.6.3" checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a languageName: node linkType: hard -"tslib@npm:^2.8.0": +"tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -18433,17 +14202,6 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: "npm:^1.8.1" - peerDependencies: - typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 - languageName: node - linkType: hard - "tty-browserify@npm:^0.0.1": version: 0.0.1 resolution: "tty-browserify@npm:0.0.1" @@ -18451,134 +14209,28 @@ __metadata: languageName: node linkType: hard -"tween-functions@npm:^1.2.0": - version: 1.2.0 - resolution: "tween-functions@npm:1.2.0" - checksum: 10c0/7e59295b8b0ee4132ed2fe335f56a9db5c87056dad6b6fd3011be72239fd20398003ddb4403bc98ad9f5c94468890830f64016edbbde35581faf95b32cda8305 - languageName: node - linkType: hard - -"typanion@npm:^3.12.1, typanion@npm:^3.8.0": - version: 3.14.0 - resolution: "typanion@npm:3.14.0" - checksum: 10c0/8b03b19844e6955bfd906c31dc781bae6d7f1fb3ce4fe24b7501557013d4889ae5cefe671dafe98d87ead0adceb8afcb8bc16df7dc0bd2b7331bac96f3a7cae2 - languageName: node - linkType: hard - -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^1.0.1": - version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: 10c0/a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141 - languageName: node - linkType: hard - -"type-fest@npm:^2.12.2, type-fest@npm:^2.14.0, type-fest@npm:^2.19.0, type-fest@npm:~2.19": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb - languageName: node - linkType: hard - -"type-fest@npm:^3.12.0": - version: 3.13.1 - resolution: "type-fest@npm:3.13.1" - checksum: 10c0/547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629 - languageName: node - linkType: hard - -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d - languageName: node - linkType: hard - -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.7" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da - languageName: node - linkType: hard - -"typed-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "typed-array-buffer@npm:1.0.3" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.14" - checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 - languageName: node - linkType: hard - -"typed-array-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 +"tw-animate-css@npm:^1.4.0": + version: 1.4.0 + resolution: "tw-animate-css@npm:1.4.0" + checksum: 10c0/6cfbc19ccc73883ec80ef1f9147f43e736cb01ee99c8172968b37eb81b720523d30e38b1a96aef92db3c586d864204db5510b51744ddacbbf0ad8e3c7fb56ec7 languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f +"type-fest@npm:^2.14.0": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb languageName: node linkType: hard -"typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/74253d7dc488eb28b6b2711cf31f5a9dcefc9c41b0681fd1c178ed0a1681b4468581a3626d39cd4df7aee3d3927ab62be06aa9ca74e5baf81827f61641445b77 + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 languageName: node linkType: hard @@ -18609,27 +14261,6 @@ __metadata: languageName: node linkType: hard -"uglify-js@npm:^3.1.4": - version: 3.17.4 - resolution: "uglify-js@npm:3.17.4" - bin: - uglifyjs: bin/uglifyjs - checksum: 10c0/8b7fcdca69deb284fed7d2025b73eb747ce37f9aca6af53422844f46427152d5440601b6e2a033e77856a2f0591e4167153d5a21b68674ad11f662034ec13ced - languageName: node - linkType: hard - -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 - languageName: node - linkType: hard - "undici-types@npm:~5.26.4": version: 5.26.5 resolution: "undici-types@npm:5.26.5" @@ -18637,6 +14268,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + "undici@npm:^5.28.5": version: 5.29.0 resolution: "undici@npm:5.29.0" @@ -18683,6 +14321,13 @@ __metadata: languageName: node linkType: hard +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: 10c0/93acd1ad9496b600e5379d1aaca154cf551c5d6d4a0aefaf0984fc2e6288e99220adbeb82c935cde461457fb6af0264a1774b8dfd4d9a9e31548df3352a4194d + languageName: node + linkType: hard + "unicode-property-aliases-ecmascript@npm:^2.0.0": version: 2.1.0 resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" @@ -18697,24 +14342,24 @@ __metadata: languageName: node linkType: hard -"unified@npm:^10.0.0, unified@npm:^10.1.2": - version: 10.1.2 - resolution: "unified@npm:10.1.2" +"unified@npm:^11.0.0": + version: 11.0.4 + resolution: "unified@npm:11.0.4" dependencies: - "@types/unist": "npm:^2.0.0" + "@types/unist": "npm:^3.0.0" bail: "npm:^2.0.0" + devlop: "npm:^1.0.0" extend: "npm:^3.0.0" - is-buffer: "npm:^2.0.0" is-plain-obj: "npm:^4.0.0" trough: "npm:^2.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/da9195e3375a74ab861a65e1d7b0454225d17a61646697911eb6b3e97de41091930ed3d167eb11881d4097c51deac407091d39ddd1ee8bf1fde3f946844a17a7 + vfile: "npm:^6.0.0" + checksum: 10c0/b550cdc994d54c84e2e098eb02cfa53535cbc140c148aa3296f235cb43082b499d239110f342fa65eb37ad919472a93cc62f062a83541485a69498084cc87ba1 languageName: node linkType: hard -"unified@npm:^11.0.0, unified@npm:^11.0.4": - version: 11.0.4 - resolution: "unified@npm:11.0.4" +"unified@npm:^11.0.5": + version: 11.0.5 + resolution: "unified@npm:11.0.5" dependencies: "@types/unist": "npm:^3.0.0" bail: "npm:^2.0.0" @@ -18723,7 +14368,7 @@ __metadata: is-plain-obj: "npm:^4.0.0" trough: "npm:^2.0.0" vfile: "npm:^6.0.0" - checksum: 10c0/b550cdc994d54c84e2e098eb02cfa53535cbc140c148aa3296f235cb43082b499d239110f342fa65eb37ad919472a93cc62f062a83541485a69498084cc87ba1 + checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 languageName: node linkType: hard @@ -18745,15 +14390,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-string@npm:3.0.0" - dependencies: - crypto-random-string: "npm:^4.0.0" - checksum: 10c0/b35ea034b161b2a573666ec16c93076b4b6106b8b16c2415808d747ab3a0566b5db0c4be231d4b11cfbc16d7fd915c9d8a45884bff0e2db11b799775b2e1e017 - languageName: node - linkType: hard - "unist-builder@npm:^4.0.0": version: 4.0.0 resolution: "unist-builder@npm:4.0.0" @@ -18763,13 +14399,6 @@ __metadata: languageName: node linkType: hard -"unist-util-generated@npm:^2.0.0": - version: 2.0.1 - resolution: "unist-util-generated@npm:2.0.1" - checksum: 10c0/6f052dd47a7280785f3787f52cdfe8819e1de50317a1bcf7c9346c63268cf2cebc61a5980e7ca734a54735e27dbb73091aa0361a98504ab7f9409fb75f1b16bb - languageName: node - linkType: hard - "unist-util-is@npm:^5.0.0": version: 5.2.1 resolution: "unist-util-is@npm:5.2.1" @@ -18788,31 +14417,32 @@ __metadata: languageName: node linkType: hard -"unist-util-position-from-estree@npm:^1.0.0, unist-util-position-from-estree@npm:^1.1.0": - version: 1.1.2 - resolution: "unist-util-position-from-estree@npm:1.1.2" +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/1d95d0b2b05efcec07a4e6745a6950cd498f6100fb900615b252937baed5140df1c6319b9a67364c8a6bd891c58b3c9a52a22e8e1d3422c50bb785d7e3ad7484 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/39127bf5f0594e0a76d9241dec4f7aa26323517120ce1edd5ed91c8c1b9df7d6fb18af556e4b6250f1c7368825720ed892e2b6923be5cdc08a9bb16536dc37b3 languageName: node linkType: hard -"unist-util-position@npm:^4.0.0": - version: 4.0.4 - resolution: "unist-util-position@npm:4.0.4" +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/e506d702e25a0fb47a64502054f709a6ff5db98993bf139eec868cd11eb7de34392b781c6c2002e2c24d97aa398c14b32a47076129f36e4b894a2c1351200888 + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 languageName: node linkType: hard -"unist-util-remove-position@npm:^4.0.0": - version: 4.0.2 - resolution: "unist-util-remove-position@npm:4.0.2" +"unist-util-remove@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-remove@npm:4.0.0" dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-visit: "npm:^4.0.0" - checksum: 10c0/17371b1e53c52d1b00656c9c6fe1bb044846e7067022195823ed3d1a8d8b965d4f9a79b286b8a841e68731b4ec93afd563b81ae92151f80c28534ba51e9dc18f + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/30f3ed31095dd7f3109266d39c514fab5f2da3fb656d5f78a0e3e7700f219760f2f4d8286c810ae43c241fee3f0a8dd40f8d1e5ebeee3cb810581d5e7e8d4f7d languageName: node linkType: hard @@ -18825,15 +14455,6 @@ __metadata: languageName: node linkType: hard -"unist-util-stringify-position@npm:^3.0.0": - version: 3.0.3 - resolution: "unist-util-stringify-position@npm:3.0.3" - dependencies: - "@types/unist": "npm:^2.0.0" - checksum: 10c0/14550027825230528f6437dad7f2579a841780318569851291be6c8a970bae6f65a7feb24dabbcfce0e5e68cacae85bf12cbda3f360f7c873b4db602bdf7bb21 - languageName: node - linkType: hard - "unist-util-stringify-position@npm:^4.0.0": version: 4.0.0 resolution: "unist-util-stringify-position@npm:4.0.0" @@ -18843,7 +14464,7 @@ __metadata: languageName: node linkType: hard -"unist-util-visit-parents@npm:^5.0.0, unist-util-visit-parents@npm:^5.1.1": +"unist-util-visit-parents@npm:^5.1.1": version: 5.1.3 resolution: "unist-util-visit-parents@npm:5.1.3" dependencies: @@ -18863,7 +14484,7 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^4.0.0, unist-util-visit@npm:^4.1.0": +"unist-util-visit@npm:^4.1.0": version: 4.1.2 resolution: "unist-util-visit@npm:4.1.2" dependencies: @@ -18885,6 +14506,17 @@ __metadata: languageName: node linkType: hard +"unist-util-visit@npm:^5.1.0": + version: 5.1.0 + resolution: "unist-util-visit@npm:5.1.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/a56e1bbbf63fcb55abe379e660b9a3367787e8be1e2473bdb7e86cfa6f32b6c1fa0092432d7040b8a30b2fc674bbbe024ffe6d03c3d6bf4839b064f584463a4e + languageName: node + linkType: hard + "universalify@npm:^2.0.0": version: 2.0.1 resolution: "universalify@npm:2.0.1" @@ -18892,25 +14524,6 @@ __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" - 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 - "update-browserslist-db@npm:^1.0.13": version: 1.0.16 resolution: "update-browserslist-db@npm:1.0.16" @@ -18925,6 +14538,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.2.0": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec + languageName: node + linkType: hard + "uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -18959,6 +14586,21 @@ __metadata: languageName: node linkType: hard +"use-callback-ref@npm:^1.3.3": + version: 1.3.3 + resolution: "use-callback-ref@npm:1.3.3" + dependencies: + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/f887488c6e6075cdad4962979da1714b217bcb1ee009a9e57ce9a844bcfc4c3a99e93983dfc2e5af9e0913824d24e730090ff255e902c516dcb58d2d3837e01c + languageName: node + linkType: hard + "use-sidecar@npm:^1.1.2": version: 1.1.2 resolution: "use-sidecar@npm:1.1.2" @@ -18975,6 +14617,31 @@ __metadata: languageName: node linkType: hard +"use-sidecar@npm:^1.1.3": + version: 1.1.3 + resolution: "use-sidecar@npm:1.1.3" + dependencies: + detect-node-es: "npm:^1.1.0" + tslib: "npm:^2.0.0" + peerDependencies: + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/161599bf921cfaa41c85d2b01c871975ee99260f3e874c2d41c05890d41170297bdcf314bc5185e7a700de2034ac5b888e3efc8e9f35724f4918f53538d717c9 + languageName: node + linkType: hard + +"use-sync-external-store@npm:^1.5.0": + version: 1.6.0 + resolution: "use-sync-external-store@npm:1.6.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/35e1179f872a53227bdf8a827f7911da4c37c0f4091c29b76b1e32473d1670ebe7bcd880b808b7549ba9a5605c233350f800ffab963ee4a4ee346ee983b6019b + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -19002,71 +14669,29 @@ __metadata: languageName: node linkType: hard -"utils-merge@npm:1.0.1": - version: 1.0.1 - resolution: "utils-merge@npm:1.0.1" - checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"uuid@npm:^9.0.0": - version: 9.0.1 - resolution: "uuid@npm:9.0.1" - bin: - uuid: dist/bin/uuid - checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b - languageName: node - linkType: hard - -"uvu@npm:^0.5.0": - version: 0.5.6 - resolution: "uvu@npm:0.5.6" - dependencies: - dequal: "npm:^2.0.0" - diff: "npm:^5.0.0" - kleur: "npm:^4.0.3" - sade: "npm:^1.7.3" - bin: - uvu: bin.js - checksum: 10c0/ad32eb5f7d94bdeb71f80d073003f0138e24f61ed68cecc8e15d2f30838f44c9670577bb1775c8fac894bf93d1bc1583d470a9195e49bfa6efa14cc6f4942bff - languageName: node - linkType: hard - -"vary@npm:~1.1.2": +"vaul@npm:^1.1.2": version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - -"vaul@npm:^0.9.1": - version: 0.9.1 - resolution: "vaul@npm:0.9.1" + resolution: "vaul@npm:1.1.2" dependencies: - "@radix-ui/react-dialog": "npm:^1.0.4" + "@radix-ui/react-dialog": "npm:^1.1.1" peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 10c0/33fc4ab9554acdcb218fb5048f270607aaa3eb58909cf2e4300c1bca8ba8b989845500b9f116e62fde8d3f56a26e42bdd722a1e7fcd5a074a480b86d11612005 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + checksum: 10c0/a6da539eb5576c0004a6b17e3673ea1db2c34e80355860131183abf53279ce025bbd016d542c345d1cc8464ad12f9dc9860949c751055d8a84961e8472a53707 languageName: node linkType: hard -"vfile-location@npm:^4.0.0": - version: 4.1.0 - resolution: "vfile-location@npm:4.1.0" +"velite@npm:^0.2.3": + version: 0.2.4 + resolution: "velite@npm:0.2.4" dependencies: - "@types/unist": "npm:^2.0.0" - vfile: "npm:^5.0.0" - checksum: 10c0/77097e819579214d3346aaa2b06e4d23e2413221ac4914679d312cf64973011b76f0e2424fa8f18987befcd6ed60f4f6c4c6ebd5d5326062173a95f6b4445a96 + "@mdx-js/mdx": "npm:^3.1.0" + esbuild: "npm:^0.25.4" + sharp: "npm:^0.34.1" + terser: "npm:^5.39.2" + bin: + velite: bin/velite.js + checksum: 10c0/3c50ccaff3587db701eaf046e50eef77088dfa0158ae4810a14427023f3ca56e24bdc5d7619ec8dc66cfcaaec4e78150078e5b1e2899f9d08455b1f140df1ef0 languageName: node linkType: hard @@ -19080,6 +14705,16 @@ __metadata: languageName: node linkType: hard +"vfile-matter@npm:^5.0.0": + version: 5.0.1 + resolution: "vfile-matter@npm:5.0.1" + dependencies: + vfile: "npm:^6.0.0" + yaml: "npm:^2.0.0" + checksum: 10c0/0032ebd359e322392ee6ce513f51db8576ae56fff70a6e2eedb3a62116711e3898d5fef49e2b09d23829620b0f35899a88746af195f61e48b8ec26b5d9a50ec3 + languageName: node + linkType: hard + "vfile-message@npm:^2.0.0": version: 2.0.4 resolution: "vfile-message@npm:2.0.4" @@ -19090,16 +14725,6 @@ __metadata: languageName: node linkType: hard -"vfile-message@npm:^3.0.0": - version: 3.1.4 - resolution: "vfile-message@npm:3.1.4" - dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - checksum: 10c0/c4ccf9c0ced92d657846fd067fefcf91c5832cdbe2ecc431bb67886e8c959bf7fc05a9dbbca5551bc34c9c87a0a73854b4249f65c64ddfebc4d59ea24a18b996 - languageName: node - linkType: hard - "vfile-message@npm:^4.0.0": version: 4.0.2 resolution: "vfile-message@npm:4.0.2" @@ -19122,18 +14747,6 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^5.0.0, vfile@npm:^5.3.2": - version: 5.3.7 - resolution: "vfile@npm:5.3.7" - dependencies: - "@types/unist": "npm:^2.0.0" - is-buffer: "npm:^2.0.0" - unist-util-stringify-position: "npm:^3.0.0" - vfile-message: "npm:^3.0.0" - checksum: 10c0/c36bd4c3f16ec0c6cbad0711ca99200316bbf849d6b07aa4cb5d9062cc18ae89249fe62af9521926e9659c0e6bc5c2c1da0fe26b41fb71e757438297e1a41da4 - languageName: node - linkType: hard - "vfile@npm:^6.0.0": version: 6.0.1 resolution: "vfile@npm:6.0.1" @@ -19145,6 +14758,16 @@ __metadata: languageName: node linkType: hard +"vfile@npm:^6.0.1": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef + languageName: node + linkType: hard + "vm-browserify@npm:^1.1.2": version: 1.1.2 resolution: "vm-browserify@npm:1.1.2" @@ -19169,24 +14792,10 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.0.3": - version: 3.3.3 - resolution: "web-streams-polyfill@npm:3.3.3" - checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f - languageName: node - linkType: hard - -"web-vitals@npm:^4.0.1": - version: 4.2.0 - resolution: "web-vitals@npm:4.2.0" - checksum: 10c0/a591cd77a70da934109ffa6738c0382a232685d658f76317c47a2d3445f7ef12a62f7b7fa3931a85b181607854e16248b993926f5af115c47f12982cd4dbc443 - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db +"web-vitals@npm:^5.1.0": + version: 5.1.0 + resolution: "web-vitals@npm:5.1.0" + checksum: 10c0/1af22ddbe2836ba880fcb492cfba24c3349f4760ebb5e92f38324ea67bca3c4dbb9c86f1a32af4795b6115cdaf98b90000cf3a7402bffef6e8c503f0d1b2e706 languageName: node linkType: hard @@ -19226,14 +14835,7 @@ __metadata: languageName: node linkType: hard -"webpack-virtual-modules@npm:^0.5.0": - version: 0.5.0 - resolution: "webpack-virtual-modules@npm:0.5.0" - checksum: 10c0/0742e069cd49d91ccd0b59431b3666903d321582c1b1062fa6bdae005c3538af55ff8787ea5eafbf72662f3496d3a879e2c705d55ca0af8283548a925be18484 - languageName: node - linkType: hard - -"webpack-virtual-modules@npm:^0.6.1": +"webpack-virtual-modules@npm:^0.6.0": version: 0.6.2 resolution: "webpack-virtual-modules@npm:0.6.2" checksum: 10c0/5ffbddf0e84bf1562ff86cf6fcf039c74edf09d78358a6904a09bbd4484e8bb6812dc385fe14330b715031892dcd8423f7a88278b57c9f5002c84c2860179add @@ -19276,62 +14878,7 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" - dependencies: - is-bigint: "npm:^1.0.1" - is-boolean-object: "npm:^1.1.0" - is-number-object: "npm:^1.0.4" - is-string: "npm:^1.0.5" - is-symbol: "npm:^1.0.3" - checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e - languageName: node - linkType: hard - -"which-builtin-type@npm:^1.1.3": - version: 1.1.3 - resolution: "which-builtin-type@npm:1.1.3" - dependencies: - function.prototype.name: "npm:^1.1.5" - has-tostringtag: "npm:^1.0.0" - is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.0.5" - is-finalizationregistry: "npm:^1.0.2" - is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.1.4" - is-weakref: "npm:^1.0.2" - isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.9" - checksum: 10c0/2b7b234df3443b52f4fbd2b65b731804de8d30bcc4210ec84107ef377a81923cea7f2763b7fb78b394175cea59118bf3c41b9ffd2d643cb1d748ef93b33b6bd4 - languageName: node - linkType: hard - -"which-collection@npm:^1.0.1": - version: 1.0.2 - resolution: "which-collection@npm:1.0.2" - dependencies: - is-map: "npm:^2.0.3" - is-set: "npm:^2.0.3" - is-weakmap: "npm:^2.0.2" - is-weakset: "npm:^2.0.3" - checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: @@ -19381,20 +14928,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.5": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - -"wordwrap@npm:^1.0.0": - version: 1.0.0 - resolution: "wordwrap@npm:1.0.0" - checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 - languageName: node - linkType: hard - "workerd@npm:1.20250718.0": version: 1.20250718.0 resolution: "workerd@npm:1.20250718.0" @@ -19494,7 +15027,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.18.0, ws@npm:^8.2.3": +"ws@npm:8.18.0": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -19509,6 +15042,30 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.0": + version: 8.19.0 + resolution: "ws@npm:8.19.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/4741d9b9bc3f9c791880882414f96e36b8b254e34d4b503279d6400d9a4b87a033834856dbdd94ee4b637944df17ea8afc4bce0ff4a1560d2166be8855da5b04 + languageName: node + linkType: hard + +"wsl-utils@npm:^0.1.0": + version: 0.1.0 + resolution: "wsl-utils@npm:0.1.0" + dependencies: + is-wsl: "npm:^3.1.0" + checksum: 10c0/44318f3585eb97be994fc21a20ddab2649feaf1fbe893f1f866d936eea3d5f8c743bec6dc02e49fbdd3c0e69e9b36f449d90a0b165a4f47dd089747af4cf2377 + languageName: node + linkType: hard + "xtend@npm:^4.0.2": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -19537,14 +15094,16 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0": - version: 1.10.2 - resolution: "yaml@npm:1.10.2" - checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f +"yaml@npm:^2.0.0": + version: 2.8.2 + resolution: "yaml@npm:2.8.2" + bin: + yaml: bin.mjs + checksum: 10c0/703e4dc1e34b324aa66876d63618dcacb9ed49f7e7fe9b70f1e703645be8d640f68ab84f12b86df8ac960bac37acf5513e115de7c970940617ce0343c8c9cd96 languageName: node linkType: hard -"yaml@npm:^2.3.1, yaml@npm:~2.4.2": +"yaml@npm:~2.4.2": version: 2.4.5 resolution: "yaml@npm:2.4.5" bin: @@ -19553,15 +15112,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.3.4": - version: 2.4.3 - resolution: "yaml@npm:2.4.3" - bin: - yaml: bin.mjs - checksum: 10c0/b4a9dea34265f000402c909144ac310be42c4526dfd16dff1aee2b04a0d94051713651c0cd2b0a3d8109266997422120f16a7934629d12f22dc215839ebbeccf - languageName: node - linkType: hard - "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -19569,7 +15119,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.7.2": +"yargs@npm:^17.0.0": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -19584,13 +15134,6 @@ __metadata: languageName: node linkType: hard -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - "yocto-queue@npm:^1.0.0": version: 1.0.0 resolution: "yocto-queue@npm:1.0.0" @@ -19616,10 +15159,10 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.21.4, zod@npm:^3.23.8": - version: 3.23.8 - resolution: "zod@npm:3.23.8" - checksum: 10c0/8f14c87d6b1b53c944c25ce7a28616896319d95bc46a9660fe441adc0ed0a81253b02b5abdaeffedbeb23bdd25a0bf1c29d2c12dd919aef6447652dd295e3e69 +"zod@npm:^3.24.0": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c languageName: node linkType: hard From 4aa1a6b9173d3235114de6b50c578d419cc69388 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Fri, 6 Mar 2026 18:25:50 +0545 Subject: [PATCH 02/63] fix: add .node-version to set Node 22 for Cloudflare Pages builds Cloudflare Pages defaults to Node 18.17.1, but Next.js 16 requires Node >=20.9.0. The .node-version file is respected by Cloudflare's build system. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .node-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .node-version diff --git a/.node-version b/.node-version new file mode 100644 index 00000000..2bd5a0a9 --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +22 From f549f51e7a9ab65eecac479dce0ba69c955bb165 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Fri, 6 Mar 2026 20:03:34 +0545 Subject: [PATCH 03/63] fix: border trail animation and storybook build - Inline @property and @keyframes in AnimatedBorderTrail component so the CSS custom property animation works with TailwindCSS v4 - Remove leftover test files (testingo, navigation-menu) that broke storybook build due to missing @radix-ui/react-navigation-menu dep Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/container/animated-border-trail.tsx | 17 +++++++++++++++-- styles/globals.css | 16 ---------------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/animata/container/animated-border-trail.tsx b/animata/container/animated-border-trail.tsx index 5314ec44..4b7c11f6 100644 --- a/animata/container/animated-border-trail.tsx +++ b/animata/container/animated-border-trail.tsx @@ -33,11 +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" style={{ - animation: `trail ${duration ?? "10s"} linear infinite`, - 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/styles/globals.css b/styles/globals.css index 42797e84..084fd02b 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -92,7 +92,6 @@ --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-trail: trail var(--duration) linear infinite; --animate-led: led 100ms ease-in-out; --animate-float: float 3s ease-in-out infinite; @@ -306,15 +305,6 @@ } } - @keyframes trail { - 0% { - --angle: 0deg; - } - 100% { - --angle: 360deg; - } - } - @keyframes led { 0% { fill: currentColor; @@ -501,12 +491,6 @@ } } -@property --angle { - syntax: "<angle>"; - initial-value: 0deg; - inherits: false; -} - .scroll-baby[style*="opacity: 1"] { @apply text-yellow-300 dark:text-yellow-500; } From a271010f60df3530d3f2523405ee2d6f1cbbebc5 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Fri, 6 Mar 2026 20:05:09 +0545 Subject: [PATCH 04/63] fix: add prebuild script to build storybook previews before Next.js Ensures component previews are always built during `yarn build`, including on Cloudflare Pages direct builds where the build command is just `yarn build`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 429baddc..5e4fc9a9 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "type": "module", "scripts": { "dev": "next dev", + "prebuild": "storybook build -o public/preview", "build": "next build --webpack", "start": "next start", "lint": "biome check .", From 5f527a5de6e49024ac239f898ee89fd13ee20f7e Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Fri, 6 Mar 2026 20:51:45 +0545 Subject: [PATCH 05/63] fix: storybook preview integration for dev and production - Install @storybook/addon-docs to support autodocs in Storybook 10 - Run Next.js and Storybook dev server concurrently via `yarn dev` - Use NEXT_PUBLIC_STORYBOOK_URL env var to point previews to Storybook dev server in development, falling back to /preview for production - Add prebuild script to build static storybook for production builds - Update all 162 MDX files from --docs to --primary story IDs - Use viewMode=story for component preview iframes - Fix border trail animation by inlining @property for TailwindCSS v4 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .env.development | 1 + .storybook/main.ts | 4 +- components/component-preview.tsx | 2 +- content/docs/accordion/faq.mdx | 2 +- content/docs/background/animated-beam.mdx | 2 +- content/docs/background/blurry-blob.mdx | 2 +- content/docs/background/diagonal-lines.mdx | 2 +- content/docs/background/dot.mdx | 2 +- content/docs/background/grid.mdx | 2 +- content/docs/background/interactive-grid.mdx | 2 +- content/docs/background/moving-gradient.mdx | 2 +- content/docs/background/zigzag.mdx | 2 +- content/docs/bento-grid/eight.mdx | 2 +- content/docs/bento-grid/eleven.mdx | 2 +- content/docs/bento-grid/five.mdx | 2 +- content/docs/bento-grid/four.mdx | 2 +- content/docs/bento-grid/gradient.mdx | 2 +- content/docs/bento-grid/nine.mdx | 2 +- content/docs/bento-grid/seven.mdx | 2 +- content/docs/bento-grid/six.mdx | 2 +- content/docs/bento-grid/ten.mdx | 2 +- content/docs/bento-grid/three.mdx | 2 +- content/docs/button/ai-button.mdx | 2 +- content/docs/button/algolia-blue-button.mdx | 2 +- content/docs/button/algolia-white-button.mdx | 2 +- .../docs/button/animated-follow-button.mdx | 2 +- content/docs/button/duolingo.mdx | 2 +- content/docs/button/external-link-button.mdx | 2 +- content/docs/button/get-started-button.mdx | 2 +- content/docs/button/ripple-button.mdx | 2 +- content/docs/button/shining-button.mdx | 2 +- content/docs/button/slide-arrow-button.mdx | 2 +- content/docs/button/status-button.mdx | 2 +- content/docs/button/swipe-button.mdx | 2 +- content/docs/button/toggle-switch.mdx | 2 +- content/docs/button/work-button.mdx | 2 +- content/docs/card/blur-stack-card.mdx | 2 +- content/docs/card/card-comment.mdx | 2 +- content/docs/card/card-spread.mdx | 2 +- content/docs/card/case-study-card.mdx | 2 +- content/docs/card/comment-reply-card.mdx | 2 +- content/docs/card/email-feature-card.mdx | 2 +- content/docs/card/flip-card.mdx | 2 +- content/docs/card/fluid-tabs.mdx | 2 +- content/docs/card/github-card-shiny.mdx | 2 +- content/docs/card/github-card-skew.mdx | 2 +- content/docs/card/glowing-card.mdx | 2 +- content/docs/card/integration-pills.mdx | 2 +- content/docs/card/led-board.mdx | 2 +- content/docs/card/notice-card.mdx | 2 +- content/docs/card/notification-card.mdx | 2 +- content/docs/card/notify-user-info.mdx | 2 +- content/docs/card/reminder-scheduler.mdx | 2 +- content/docs/card/score-card.mdx | 2 +- content/docs/card/staggered-card.mdx | 2 +- content/docs/card/subscribe-card.mdx | 2 +- content/docs/card/survey-card.mdx | 2 +- content/docs/card/swap-card.mdx | 2 +- content/docs/card/swap-text-card.mdx | 2 +- content/docs/card/tilted-card.mdx | 2 +- content/docs/card/webhooks-card.mdx | 2 +- content/docs/carousel/expandable.mdx | 2 +- content/docs/carousel/image-carousel.mdx | 2 +- .../docs/container/animated-border-trail.mdx | 2 +- content/docs/container/animated-dock.mdx | 2 +- content/docs/container/cursor-tracker.mdx | 2 +- content/docs/container/fibonacci-lines.mdx | 2 +- content/docs/container/marquee.mdx | 2 +- content/docs/container/nav-tabs.mdx | 2 +- .../docs/container/scrolling-testimonials.mdx | 2 +- content/docs/container/shift-tabs.mdx | 2 +- content/docs/fabs/speed-dial.mdx | 2 +- .../feature-cards/confirmation-message.mdx | 2 +- content/docs/feature-cards/content-scan.mdx | 2 +- content/docs/graphs/bar-chart.mdx | 2 +- content/docs/graphs/commit-graph.mdx | 2 +- content/docs/graphs/donut-chart.mdx | 2 +- content/docs/graphs/gauge-chart.mdx | 2 +- content/docs/graphs/progress.mdx | 2 +- content/docs/graphs/ring-chart.mdx | 2 +- content/docs/hero/hero-section-text-hover.mdx | 2 +- content/docs/hero/hero-section.mdx | 2 +- content/docs/hero/product-features.mdx | 2 +- content/docs/hero/shape-shifter.mdx | 2 +- content/docs/hero/slack-intro.mdx | 2 +- content/docs/icon/hover-interaction.mdx | 2 +- content/docs/icon/icon-ripple.mdx | 2 +- content/docs/image/disclose-image.mdx | 2 +- content/docs/image/image-box-shadow.mdx | 2 +- content/docs/image/images-reveal.mdx | 2 +- content/docs/image/photo-booth.mdx | 2 +- content/docs/image/skew-image.mdx | 2 +- content/docs/image/tilted-cover.mdx | 2 +- content/docs/image/trailing-image.mdx | 2 +- content/docs/image/zoom-image.mdx | 2 +- content/docs/list/avatar-list.mdx | 2 +- content/docs/list/flipping-cards.mdx | 2 +- content/docs/list/flower-menu.mdx | 2 +- content/docs/list/menu-animation.mdx | 2 +- content/docs/list/orbiting-items-3-d.mdx | 2 +- content/docs/list/orbiting-items.mdx | 2 +- content/docs/list/reveal-image.mdx | 2 +- content/docs/list/transaction-list.mdx | 2 +- content/docs/list/transition-list.mdx | 2 +- content/docs/preloader/vertical-tiles.mdx | 2 +- content/docs/progress/animatedtimeline.mdx | 2 +- content/docs/progress/spinner.mdx | 2 +- content/docs/section/pricing.mdx | 2 +- content/docs/text/animated-gradient-text.mdx | 2 +- content/docs/text/bold-copy.mdx | 2 +- content/docs/text/circular-text.mdx | 2 +- content/docs/text/counter.mdx | 2 +- content/docs/text/cycle-text.mdx | 2 +- content/docs/text/double-underline.mdx | 2 +- content/docs/text/gibberish-text.mdx | 2 +- content/docs/text/glitch-text.mdx | 2 +- content/docs/text/jitter-text.mdx | 2 +- content/docs/text/jumping-text-instagram.mdx | 2 +- content/docs/text/mask-text.mdx | 2 +- content/docs/text/mirror-text.mdx | 2 +- content/docs/text/scroll-reveal.mdx | 2 +- content/docs/text/split-text.mdx | 2 +- content/docs/text/staggered-letter.mdx | 2 +- content/docs/text/swap-text.mdx | 2 +- content/docs/text/text-border-animation.mdx | 2 +- content/docs/text/text-explode-imessage.mdx | 2 +- content/docs/text/text-flip.mdx | 2 +- content/docs/text/ticker.mdx | 2 +- content/docs/text/typing-text.mdx | 2 +- content/docs/text/underline-hover-text.mdx | 2 +- content/docs/text/wave-reveal.mdx | 2 +- content/docs/widget/alarm-clock.mdx | 2 +- content/docs/widget/battery-level.mdx | 2 +- content/docs/widget/battery.mdx | 2 +- content/docs/widget/calendar-event.mdx | 2 +- content/docs/widget/calendar-widget.mdx | 2 +- content/docs/widget/calorie-counter.mdx | 2 +- content/docs/widget/clock-with-photo.mdx | 2 +- content/docs/widget/cycling.mdx | 2 +- content/docs/widget/delivery-card.mdx | 2 +- content/docs/widget/direction-card.mdx | 2 +- content/docs/widget/expense-tracker.mdx | 2 +- content/docs/widget/flight-widget.mdx | 2 +- content/docs/widget/fund-widget.mdx | 2 +- content/docs/widget/live-score.mdx | 2 +- content/docs/widget/mobile-detail.mdx | 2 +- .../docs/widget/music-stack-interaction.mdx | 2 +- content/docs/widget/music-widget.mdx | 2 +- content/docs/widget/notes.mdx | 2 +- content/docs/widget/profile.mdx | 2 +- content/docs/widget/reminder-widget.mdx | 2 +- content/docs/widget/reminder.mdx | 2 +- content/docs/widget/score-board.mdx | 2 +- content/docs/widget/security-alert.mdx | 2 +- content/docs/widget/shopping-list.mdx | 2 +- content/docs/widget/sleep-tracker.mdx | 2 +- content/docs/widget/storage-status.mdx | 2 +- content/docs/widget/storage-widget.mdx | 2 +- content/docs/widget/study-timer.mdx | 2 +- content/docs/widget/team-clock.mdx | 2 +- content/docs/widget/video-chat.mdx | 2 +- content/docs/widget/vpn-widget.mdx | 2 +- content/docs/widget/water-tracker.mdx | 2 +- content/docs/widget/weather-card.mdx | 2 +- content/docs/widget/weekly-progress.mdx | 2 +- package.json | 3 +- yarn.lock | 69 +++++++++++++++++-- 167 files changed, 233 insertions(+), 170 deletions(-) create mode 100644 .env.development 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/.storybook/main.ts b/.storybook/main.ts index 1fd963a2..88ec0dea 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -2,13 +2,13 @@ import type { StorybookConfig } from "@storybook/nextjs"; const config: StorybookConfig = { stories: ["../animata/**/*.stories.@(js|jsx|mjs|ts|tsx)"], - addons: ["@storybook/addon-themes"], + addons: ["@storybook/addon-themes", "@storybook/addon-docs"], framework: { name: "@storybook/nextjs", options: {}, }, docs: { - autodocs: true, + autodocs: false, }, }; export default config; diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 9328dce0..ed9df886 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -55,7 +55,7 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview } > <iframe - src={`/preview/iframe.html?globals=${themeParam}&id=${name}&viewMode=docs&site:docs=true`} + src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=${themeParam}&id=${name}&viewMode=story`} className="w-full" style={{ minHeight: "200px", diff --git a/content/docs/accordion/faq.mdx b/content/docs/accordion/faq.mdx index 59051503..bf95f4d8 100644 --- a/content/docs/accordion/faq.mdx +++ b/content/docs/accordion/faq.mdx @@ -4,7 +4,7 @@ description: its an faq accordion that looks like an chating interface with smoo author: anshu_code --- -<ComponentPreview name="accordion-faq--docs" /> +<ComponentPreview name="accordion-faq--primary" /> ## Installation diff --git a/content/docs/background/animated-beam.mdx b/content/docs/background/animated-beam.mdx index 1cd73557..b902f8c6 100644 --- a/content/docs/background/animated-beam.mdx +++ b/content/docs/background/animated-beam.mdx @@ -4,7 +4,7 @@ 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 diff --git a/content/docs/background/blurry-blob.mdx b/content/docs/background/blurry-blob.mdx index 77bd4adf..be7ffec6 100644 --- a/content/docs/background/blurry-blob.mdx +++ b/content/docs/background/blurry-blob.mdx @@ -4,7 +4,7 @@ description: Animated blurry blob background author: ll4xmii --- -<ComponentPreview name="background-blurry-blob--docs" /> +<ComponentPreview name="background-blurry-blob--primary" /> ## Installation diff --git a/content/docs/background/diagonal-lines.mdx b/content/docs/background/diagonal-lines.mdx index 3010a396..974f35df 100644 --- a/content/docs/background/diagonal-lines.mdx +++ b/content/docs/background/diagonal-lines.mdx @@ -4,7 +4,7 @@ description: A diagonal line background component author: harimanok_ --- -<ComponentPreview name="background-diagonal-lines--docs" /> +<ComponentPreview name="background-diagonal-lines--primary" /> ## Installation diff --git a/content/docs/background/dot.mdx b/content/docs/background/dot.mdx index 4e4dafed..59f450e2 100644 --- a/content/docs/background/dot.mdx +++ b/content/docs/background/dot.mdx @@ -4,7 +4,7 @@ description: A dot background component author: harimanok_ --- -<ComponentPreview name="background-dot--docs" /> +<ComponentPreview name="background-dot--primary" /> ## Installation diff --git a/content/docs/background/grid.mdx b/content/docs/background/grid.mdx index fd3a41aa..3308c1db 100644 --- a/content/docs/background/grid.mdx +++ b/content/docs/background/grid.mdx @@ -4,7 +4,7 @@ description: A grid background component author: harimanok_ --- -<ComponentPreview name="background-grid--docs" /> +<ComponentPreview name="background-grid--primary" /> ## Installation diff --git a/content/docs/background/interactive-grid.mdx b/content/docs/background/interactive-grid.mdx index b56ea04a..7a351c41 100644 --- a/content/docs/background/interactive-grid.mdx +++ b/content/docs/background/interactive-grid.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="background-interactive-grid--docs" /> +<ComponentPreview name="background-interactive-grid--primary" /> ## Installation diff --git a/content/docs/background/moving-gradient.mdx b/content/docs/background/moving-gradient.mdx index c02a44f5..2a90e753 100644 --- a/content/docs/background/moving-gradient.mdx +++ b/content/docs/background/moving-gradient.mdx @@ -5,7 +5,7 @@ labels: ["requires config"] author: harimanok_ --- -<ComponentPreview name="background-moving-gradient--docs" /> +<ComponentPreview name="background-moving-gradient--primary" /> ## Installation diff --git a/content/docs/background/zigzag.mdx b/content/docs/background/zigzag.mdx index bf3f750e..4d4b2439 100644 --- a/content/docs/background/zigzag.mdx +++ b/content/docs/background/zigzag.mdx @@ -4,7 +4,7 @@ description: A zigzag background component author: harimanok_ --- -<ComponentPreview name="background-zigzag--docs" /> +<ComponentPreview name="background-zigzag--primary" /> ## Installation diff --git a/content/docs/bento-grid/eight.mdx b/content/docs/bento-grid/eight.mdx index a9d9a305..1a581006 100644 --- a/content/docs/bento-grid/eight.mdx +++ b/content/docs/bento-grid/eight.mdx @@ -4,7 +4,7 @@ description: Bento grid with eight items author: harimanok_ --- -<ComponentPreview name="bento-grid-eight--docs" /> +<ComponentPreview name="bento-grid-eight--primary" /> ## Installation diff --git a/content/docs/bento-grid/eleven.mdx b/content/docs/bento-grid/eleven.mdx index a54ceeb7..b96000ea 100644 --- a/content/docs/bento-grid/eleven.mdx +++ b/content/docs/bento-grid/eleven.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-eleven--docs" /> +<ComponentPreview name="bento-grid-eleven--primary" /> ## Installation diff --git a/content/docs/bento-grid/five.mdx b/content/docs/bento-grid/five.mdx index 8738f674..9876892d 100644 --- a/content/docs/bento-grid/five.mdx +++ b/content/docs/bento-grid/five.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-five--docs" /> +<ComponentPreview name="bento-grid-five--primary" /> ## Installation diff --git a/content/docs/bento-grid/four.mdx b/content/docs/bento-grid/four.mdx index a3d4c4ef..48f77b23 100644 --- a/content/docs/bento-grid/four.mdx +++ b/content/docs/bento-grid/four.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-four--docs" /> +<ComponentPreview name="bento-grid-four--primary" /> ## Installation diff --git a/content/docs/bento-grid/gradient.mdx b/content/docs/bento-grid/gradient.mdx index 0778fc5c..f2b3d470 100644 --- a/content/docs/bento-grid/gradient.mdx +++ b/content/docs/bento-grid/gradient.mdx @@ -4,7 +4,7 @@ description: Bento grid with gradient background cards author: harimanok_ --- -<ComponentPreview name="bento-grid-gradient--docs" /> +<ComponentPreview name="bento-grid-gradient--primary" /> ## Installation diff --git a/content/docs/bento-grid/nine.mdx b/content/docs/bento-grid/nine.mdx index 4bea4d6b..2ca5bd7d 100644 --- a/content/docs/bento-grid/nine.mdx +++ b/content/docs/bento-grid/nine.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-nine--docs" /> +<ComponentPreview name="bento-grid-nine--primary" /> ## Installation diff --git a/content/docs/bento-grid/seven.mdx b/content/docs/bento-grid/seven.mdx index c621149d..9a636881 100644 --- a/content/docs/bento-grid/seven.mdx +++ b/content/docs/bento-grid/seven.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-seven--docs" /> +<ComponentPreview name="bento-grid-seven--primary" /> ## Installation diff --git a/content/docs/bento-grid/six.mdx b/content/docs/bento-grid/six.mdx index e409ed8b..cc55b849 100644 --- a/content/docs/bento-grid/six.mdx +++ b/content/docs/bento-grid/six.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-six--docs" /> +<ComponentPreview name="bento-grid-six--primary" /> ## Installation diff --git a/content/docs/bento-grid/ten.mdx b/content/docs/bento-grid/ten.mdx index 3839c903..c274912c 100644 --- a/content/docs/bento-grid/ten.mdx +++ b/content/docs/bento-grid/ten.mdx @@ -5,7 +5,7 @@ author: harimanok_ published: false --- -<ComponentPreview name="bento-grid-ten--docs" /> +<ComponentPreview name="bento-grid-ten--primary" /> ## Installation diff --git a/content/docs/bento-grid/three.mdx b/content/docs/bento-grid/three.mdx index afcb1814..4d2ea4be 100644 --- a/content/docs/bento-grid/three.mdx +++ b/content/docs/bento-grid/three.mdx @@ -4,7 +4,7 @@ description: Bento grid with 3 items author: harimanok_ --- -<ComponentPreview name="bento-grid-three--docs" /> +<ComponentPreview name="bento-grid-three--primary" /> ## Installation diff --git a/content/docs/button/ai-button.mdx b/content/docs/button/ai-button.mdx index aa1c295e..e7c3a257 100644 --- a/content/docs/button/ai-button.mdx +++ b/content/docs/button/ai-button.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-ai-button--docs" /> +<ComponentPreview name="button-ai-button--primary" /> ## Installation diff --git a/content/docs/button/algolia-blue-button.mdx b/content/docs/button/algolia-blue-button.mdx index c16751d7..1897f702 100644 --- a/content/docs/button/algolia-blue-button.mdx +++ b/content/docs/button/algolia-blue-button.mdx @@ -4,7 +4,7 @@ description: Algolia's blue button author: harimanok_ --- -<ComponentPreview name="button-algolia-blue-button--docs" /> +<ComponentPreview name="button-algolia-blue-button--primary" /> ## Installation diff --git a/content/docs/button/algolia-white-button.mdx b/content/docs/button/algolia-white-button.mdx index 0086339f..dddf0204 100644 --- a/content/docs/button/algolia-white-button.mdx +++ b/content/docs/button/algolia-white-button.mdx @@ -4,7 +4,7 @@ description: Algolia's white button author: harimanok_ --- -<ComponentPreview name="button-algolia-white-button--docs" /> +<ComponentPreview name="button-algolia-white-button--primary" /> ## Installation diff --git a/content/docs/button/animated-follow-button.mdx b/content/docs/button/animated-follow-button.mdx index 063df174..8e3470fa 100644 --- a/content/docs/button/animated-follow-button.mdx +++ b/content/docs/button/animated-follow-button.mdx @@ -4,7 +4,7 @@ description: The Animated Follow Button is an interactive UI component with cust author: R0X4R --- -<ComponentPreview name="button-animated-follow-button--docs" /> +<ComponentPreview name="button-animated-follow-button--primary" /> ## Installation diff --git a/content/docs/button/duolingo.mdx b/content/docs/button/duolingo.mdx index 91a741bb..499017f8 100644 --- a/content/docs/button/duolingo.mdx +++ b/content/docs/button/duolingo.mdx @@ -4,7 +4,7 @@ description: Duolingo's button author: harimanok_ --- -<ComponentPreview name="button-duolingo--docs" /> +<ComponentPreview name="button-duolingo--primary" /> ## Installation diff --git a/content/docs/button/external-link-button.mdx b/content/docs/button/external-link-button.mdx index 5029d2d8..7854ee7b 100644 --- a/content/docs/button/external-link-button.mdx +++ b/content/docs/button/external-link-button.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="button-external-link--docs" /> +<ComponentPreview name="button-external-link--primary" /> ## Installation diff --git a/content/docs/button/get-started-button.mdx b/content/docs/button/get-started-button.mdx index cc87e28c..a0c1dac9 100644 --- a/content/docs/button/get-started-button.mdx +++ b/content/docs/button/get-started-button.mdx @@ -4,7 +4,7 @@ description: A button that changes colors on hover labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-get-started-button--docs" /> +<ComponentPreview name="button-get-started-button--primary" /> ## Installation diff --git a/content/docs/button/ripple-button.mdx b/content/docs/button/ripple-button.mdx index 0d4e44f6..51f3e315 100644 --- a/content/docs/button/ripple-button.mdx +++ b/content/docs/button/ripple-button.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: Abhi_Hertz --- -<ComponentPreview name="button-ripple-button--docs" /> +<ComponentPreview name="button-ripple-button--primary" /> ## Installation diff --git a/content/docs/button/shining-button.mdx b/content/docs/button/shining-button.mdx index da618ec1..06f07bd7 100644 --- a/content/docs/button/shining-button.mdx +++ b/content/docs/button/shining-button.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: sanjaya22780 --- -<ComponentPreview name="button-shining-button--docs" /> +<ComponentPreview name="button-shining-button--primary" /> ## Installation diff --git a/content/docs/button/slide-arrow-button.mdx b/content/docs/button/slide-arrow-button.mdx index 391ec2c8..b0580ba4 100644 --- a/content/docs/button/slide-arrow-button.mdx +++ b/content/docs/button/slide-arrow-button.mdx @@ -5,7 +5,7 @@ author: wolfofdalalst labels: ["requires interaction", "hover"] --- -<ComponentPreview name="button-slide-arrow-button--docs" /> +<ComponentPreview name="button-slide-arrow-button--primary" /> ## Installation diff --git a/content/docs/button/status-button.mdx b/content/docs/button/status-button.mdx index 5b6f45e4..cc8d5da1 100644 --- a/content/docs/button/status-button.mdx +++ b/content/docs/button/status-button.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "click"] --- -<ComponentPreview name="button-status-button--docs" /> +<ComponentPreview name="button-status-button--primary" /> ## Installation diff --git a/content/docs/button/swipe-button.mdx b/content/docs/button/swipe-button.mdx index 21e2c859..4e40dba1 100644 --- a/content/docs/button/swipe-button.mdx +++ b/content/docs/button/swipe-button.mdx @@ -4,7 +4,7 @@ description: Swipe button author: SuminGurung9 --- -<ComponentPreview name="button-swipe-button--docs" /> +<ComponentPreview name="button-swipe-button--primary" /> ## Installation diff --git a/content/docs/button/toggle-switch.mdx b/content/docs/button/toggle-switch.mdx index 23363a28..56a19298 100644 --- a/content/docs/button/toggle-switch.mdx +++ b/content/docs/button/toggle-switch.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "toggle"] author: Aadarsh Baral --- -<ComponentPreview name="button-toggle-switch--docs" /> +<ComponentPreview name="button-toggle-switch--primary" /> ## Installation diff --git a/content/docs/button/work-button.mdx b/content/docs/button/work-button.mdx index cec48c31..f66fa52a 100644 --- a/content/docs/button/work-button.mdx +++ b/content/docs/button/work-button.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: ll4xmii --- -<ComponentPreview name="button-work-button--docs" /> +<ComponentPreview name="button-work-button--primary" /> ## Installation diff --git a/content/docs/card/blur-stack-card.mdx b/content/docs/card/blur-stack-card.mdx index 6e1e5707..0ee9671c 100644 --- a/content/docs/card/blur-stack-card.mdx +++ b/content/docs/card/blur-stack-card.mdx @@ -6,7 +6,7 @@ labels: ["requires interaction", "click"] published: false --- -<ComponentPreview name="card-blur-stack-card--docs" /> +<ComponentPreview name="card-blur-stack-card--primary" /> ## Installation diff --git a/content/docs/card/card-comment.mdx b/content/docs/card/card-comment.mdx index fb569292..7a858e86 100644 --- a/content/docs/card/card-comment.mdx +++ b/content/docs/card/card-comment.mdx @@ -4,7 +4,7 @@ description: A Skeleton of Comment Card author: Abishkardhenga --- -<ComponentPreview name="card-card-comment--docs" /> +<ComponentPreview name="card-card-comment--primary" /> ## Installation diff --git a/content/docs/card/card-spread.mdx b/content/docs/card/card-spread.mdx index 649073de..a8f2a985 100644 --- a/content/docs/card/card-spread.mdx +++ b/content/docs/card/card-spread.mdx @@ -4,7 +4,7 @@ description: A stack of cards that will reveal on hover and spread on click. author: YourTwitterUsername --- -<ComponentPreview name="card-card-spread--docs" /> +<ComponentPreview name="card-card-spread--primary" /> ## Installation diff --git a/content/docs/card/case-study-card.mdx b/content/docs/card/case-study-card.mdx index c707f4c6..9795389b 100644 --- a/content/docs/card/case-study-card.mdx +++ b/content/docs/card/case-study-card.mdx @@ -4,7 +4,7 @@ description: An interactive case study card that expands on hover, revealing a h author: parankarj --- -<ComponentPreview name="card-case-study-card--docs" /> +<ComponentPreview name="card-case-study-card--primary" /> ## Installation diff --git a/content/docs/card/comment-reply-card.mdx b/content/docs/card/comment-reply-card.mdx index 6807aa07..861d6eb1 100644 --- a/content/docs/card/comment-reply-card.mdx +++ b/content/docs/card/comment-reply-card.mdx @@ -4,7 +4,7 @@ description: This new React component allows users to submit comments through an author: m_jinprince --- -<ComponentPreview name="card-comment-reply-card--docs" /> +<ComponentPreview name="card-comment-reply-card--primary" /> ## Installation diff --git a/content/docs/card/email-feature-card.mdx b/content/docs/card/email-feature-card.mdx index 10d19b5e..34a9b775 100644 --- a/content/docs/card/email-feature-card.mdx +++ b/content/docs/card/email-feature-card.mdx @@ -4,7 +4,7 @@ description: A card component that display From, to, Subject and Body of the em author: raghav_dadhich --- -<ComponentPreview name="card-email-feature-card--docs" /> +<ComponentPreview name="card-email-feature-card--primary" /> ## Installation diff --git a/content/docs/card/flip-card.mdx b/content/docs/card/flip-card.mdx index b445d5f4..43d38555 100644 --- a/content/docs/card/flip-card.mdx +++ b/content/docs/card/flip-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="card-flip-card--docs" /> +<ComponentPreview name="card-flip-card--primary" /> ## Installation diff --git a/content/docs/card/fluid-tabs.mdx b/content/docs/card/fluid-tabs.mdx index d314e112..d41995a6 100644 --- a/content/docs/card/fluid-tabs.mdx +++ b/content/docs/card/fluid-tabs.mdx @@ -4,7 +4,7 @@ description: The component is a sliding animation card author: RudraSankha --- -<ComponentPreview name="card-fluid-tabs--docs" /> +<ComponentPreview name="card-fluid-tabs--primary" /> ## Installation diff --git a/content/docs/card/github-card-shiny.mdx b/content/docs/card/github-card-shiny.mdx index 81bb139b..c0c455f9 100644 --- a/content/docs/card/github-card-shiny.mdx +++ b/content/docs/card/github-card-shiny.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-github-card-shiny--docs" /> +<ComponentPreview name="card-github-card-shiny--primary" /> ## Installation diff --git a/content/docs/card/github-card-skew.mdx b/content/docs/card/github-card-skew.mdx index eefe3c1e..02b79da5 100644 --- a/content/docs/card/github-card-skew.mdx +++ b/content/docs/card/github-card-skew.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-github-card-skew--docs" /> +<ComponentPreview name="card-github-card-skew--primary" /> ## Installation diff --git a/content/docs/card/glowing-card.mdx b/content/docs/card/glowing-card.mdx index b816fe71..d6bf422d 100644 --- a/content/docs/card/glowing-card.mdx +++ b/content/docs/card/glowing-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="card-glowing-card--docs" /> +<ComponentPreview name="card-glowing-card--primary" /> ## Installation diff --git a/content/docs/card/integration-pills.mdx b/content/docs/card/integration-pills.mdx index 8001859c..a977cf3d 100644 --- a/content/docs/card/integration-pills.mdx +++ b/content/docs/card/integration-pills.mdx @@ -4,7 +4,7 @@ description: A component that displays a list of services it can integrate with. author: shoomankhatri --- -<ComponentPreview name="card-integration-pills--docs" /> +<ComponentPreview name="card-integration-pills--primary" /> ## Installation diff --git a/content/docs/card/led-board.mdx b/content/docs/card/led-board.mdx index 18e89c7f..dba7be60 100644 --- a/content/docs/card/led-board.mdx +++ b/content/docs/card/led-board.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-led-board--docs" /> +<ComponentPreview name="card-led-board--primary" /> ## Installation diff --git a/content/docs/card/notice-card.mdx b/content/docs/card/notice-card.mdx index b6607ad1..f3fb9c4b 100644 --- a/content/docs/card/notice-card.mdx +++ b/content/docs/card/notice-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "toggle"] author: AE-Hertz --- -<ComponentPreview name="card-notice-card--docs" /> +<ComponentPreview name="card-notice-card--primary" /> ## Installation diff --git a/content/docs/card/notification-card.mdx b/content/docs/card/notification-card.mdx index f333d1ea..ff32bd57 100644 --- a/content/docs/card/notification-card.mdx +++ b/content/docs/card/notification-card.mdx @@ -4,7 +4,7 @@ description: Simple notification like componenet that beautiully expands to show author: m_jinprince --- -<ComponentPreview name="card-notification-card--docs" /> +<ComponentPreview name="card-notification-card--primary" /> ## Installation diff --git a/content/docs/card/notify-user-info.mdx b/content/docs/card/notify-user-info.mdx index a893727c..7e12c4f9 100644 --- a/content/docs/card/notify-user-info.mdx +++ b/content/docs/card/notify-user-info.mdx @@ -4,7 +4,7 @@ description: This component is a notification animation based on user informatio author: MEbandhan --- -<ComponentPreview name="card-notify-user-info--docs" /> +<ComponentPreview name="card-notify-user-info--primary" /> ## Installation diff --git a/content/docs/card/reminder-scheduler.mdx b/content/docs/card/reminder-scheduler.mdx index f8bdb8e6..137ade82 100644 --- a/content/docs/card/reminder-scheduler.mdx +++ b/content/docs/card/reminder-scheduler.mdx @@ -5,7 +5,7 @@ author: m_jinprince labels: ["requires interaction", "toggle switch"] --- -<ComponentPreview name="card-reminder-scheduler--docs" /> +<ComponentPreview name="card-reminder-scheduler--primary" /> ## Installation diff --git a/content/docs/card/score-card.mdx b/content/docs/card/score-card.mdx index 10b29ad1..707ced1e 100644 --- a/content/docs/card/score-card.mdx +++ b/content/docs/card/score-card.mdx @@ -5,7 +5,7 @@ author: m_jinprince labels: ["requires interaction", "Click score button"] --- -<ComponentPreview name="card-score-card--docs" /> +<ComponentPreview name="card-score-card--primary" /> ## Installation diff --git a/content/docs/card/staggered-card.mdx b/content/docs/card/staggered-card.mdx index 6ca2e497..743b184e 100644 --- a/content/docs/card/staggered-card.mdx +++ b/content/docs/card/staggered-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "requires config", "toggle", "hover"] author: IliyaFaz --- -<ComponentPreview name="card-staggered-card--docs" /> +<ComponentPreview name="card-staggered-card--primary" /> ## Installation diff --git a/content/docs/card/subscribe-card.mdx b/content/docs/card/subscribe-card.mdx index 575414c4..c25ff684 100644 --- a/content/docs/card/subscribe-card.mdx +++ b/content/docs/card/subscribe-card.mdx @@ -4,7 +4,7 @@ description: When the cursor hovers over the card then the card skews and when h author: PrithwiHegde --- -<ComponentPreview name="card-subscribe-card--docs" /> +<ComponentPreview name="card-subscribe-card--primary" /> ## Installation diff --git a/content/docs/card/survey-card.mdx b/content/docs/card/survey-card.mdx index a5e6aa02..9b9536a4 100644 --- a/content/docs/card/survey-card.mdx +++ b/content/docs/card/survey-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: Mahlawat2001 --- -<ComponentPreview name="card-survey-card--docs" /> +<ComponentPreview name="card-survey-card--primary" /> ## Installation diff --git a/content/docs/card/swap-card.mdx b/content/docs/card/swap-card.mdx index 148bdaa4..90a8ad30 100644 --- a/content/docs/card/swap-card.mdx +++ b/content/docs/card/swap-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "toggle"] author: Sumingurung9 --- -<ComponentPreview name="card-swap-card--docs" /> +<ComponentPreview name="card-swap-card--primary" /> ## Installation diff --git a/content/docs/card/swap-text-card.mdx b/content/docs/card/swap-text-card.mdx index 7bc21ae1..55c27311 100644 --- a/content/docs/card/swap-text-card.mdx +++ b/content/docs/card/swap-text-card.mdx @@ -5,7 +5,7 @@ author: SuminGurung9 labels: ["requires interaction", "hover"] --- -<ComponentPreview name="card-swap-text-card--docs" /> +<ComponentPreview name="card-swap-text-card--primary" /> ## Installation diff --git a/content/docs/card/tilted-card.mdx b/content/docs/card/tilted-card.mdx index 9f6d67a3..e52b4430 100644 --- a/content/docs/card/tilted-card.mdx +++ b/content/docs/card/tilted-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: ll4xmii --- -<ComponentPreview name="card-tilted-card--docs" /> +<ComponentPreview name="card-tilted-card--primary" /> ## Installation diff --git a/content/docs/card/webhooks-card.mdx b/content/docs/card/webhooks-card.mdx index a3e724f6..db25a465 100644 --- a/content/docs/card/webhooks-card.mdx +++ b/content/docs/card/webhooks-card.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: Pavan kumar --- -<ComponentPreview name="card-web-hooks--docs" /> +<ComponentPreview name="card-web-hooks--primary" /> ## Installation diff --git a/content/docs/carousel/expandable.mdx b/content/docs/carousel/expandable.mdx index 4271e676..7a74b0c7 100644 --- a/content/docs/carousel/expandable.mdx +++ b/content/docs/carousel/expandable.mdx @@ -5,7 +5,7 @@ author: morphhyy labels: ["requires interaction", "hover"] --- -<ComponentPreview name="carousel-expandable--docs" /> +<ComponentPreview name="carousel-expandable--primary" /> ## Installation diff --git a/content/docs/carousel/image-carousel.mdx b/content/docs/carousel/image-carousel.mdx index c80b42dc..4a630f50 100644 --- a/content/docs/carousel/image-carousel.mdx +++ b/content/docs/carousel/image-carousel.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click"] author: AdashBaral --- -<ComponentPreview name="carousel-image-carousel--docs" /> +<ComponentPreview name="carousel-image-carousel--primary" /> ## Installation diff --git a/content/docs/container/animated-border-trail.mdx b/content/docs/container/animated-border-trail.mdx index 8cadece7..977d0e73 100644 --- a/content/docs/container/animated-border-trail.mdx +++ b/content/docs/container/animated-border-trail.mdx @@ -4,7 +4,7 @@ description: A container with animated border trail, this can be used for button author: harimanok_ --- -<ComponentPreview name="container-animated-border-trail--docs" /> +<ComponentPreview name="container-animated-border-trail--primary" /> ## Installation diff --git a/content/docs/container/animated-dock.mdx b/content/docs/container/animated-dock.mdx index a88eff89..cc0e36e6 100644 --- a/content/docs/container/animated-dock.mdx +++ b/content/docs/container/animated-dock.mdx @@ -4,7 +4,7 @@ description: A sleek dock-style navigation bar, inspired by macOS, that combines author: R0X4R --- -<ComponentPreview name="container-animated-dock--docs" /> +<ComponentPreview name="container-animated-dock--primary" /> ## Installation diff --git a/content/docs/container/cursor-tracker.mdx b/content/docs/container/cursor-tracker.mdx index b8e463de..e8d55a7f 100644 --- a/content/docs/container/cursor-tracker.mdx +++ b/content/docs/container/cursor-tracker.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="container-cursor-tracker--docs" /> +<ComponentPreview name="container-cursor-tracker--primary" /> ## Installation diff --git a/content/docs/container/fibonacci-lines.mdx b/content/docs/container/fibonacci-lines.mdx index afbd7a8a..ebe97547 100644 --- a/content/docs/container/fibonacci-lines.mdx +++ b/content/docs/container/fibonacci-lines.mdx @@ -4,7 +4,7 @@ description: A component that creates lines using fibonacci numbers author: harimanok_ --- -<ComponentPreview name="container-fibonacci-lines--docs" /> +<ComponentPreview name="container-fibonacci-lines--primary" /> ## Installation diff --git a/content/docs/container/marquee.mdx b/content/docs/container/marquee.mdx index 750789a8..dc359fcb 100644 --- a/content/docs/container/marquee.mdx +++ b/content/docs/container/marquee.mdx @@ -5,7 +5,7 @@ labels: ["requires config", "requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="container-marquee--docs" /> +<ComponentPreview name="container-marquee--primary" /> ## Installation diff --git a/content/docs/container/nav-tabs.mdx b/content/docs/container/nav-tabs.mdx index 2668882d..66a5996b 100644 --- a/content/docs/container/nav-tabs.mdx +++ b/content/docs/container/nav-tabs.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click", "hover"] author: morphhyy --- -<ComponentPreview name="container-nav-tabs--docs" /> +<ComponentPreview name="container-nav-tabs--primary" /> ## Installation diff --git a/content/docs/container/scrolling-testimonials.mdx b/content/docs/container/scrolling-testimonials.mdx index 61a40cfc..a5ecf687 100644 --- a/content/docs/container/scrolling-testimonials.mdx +++ b/content/docs/container/scrolling-testimonials.mdx @@ -4,7 +4,7 @@ description: A dynamic and visually engaging scrolling testimonials section author: morphhyy --- -<ComponentPreview name="container-scrolling-testimonials--docs" /> +<ComponentPreview name="container-scrolling-testimonials--primary" /> ## Installation diff --git a/content/docs/container/shift-tabs.mdx b/content/docs/container/shift-tabs.mdx index a50141e1..92b592cb 100644 --- a/content/docs/container/shift-tabs.mdx +++ b/content/docs/container/shift-tabs.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="container-shift-tabs--docs" /> +<ComponentPreview name="container-shift-tabs--primary" /> ## Installation diff --git a/content/docs/fabs/speed-dial.mdx b/content/docs/fabs/speed-dial.mdx index fc1c3be9..2d7b1fd1 100644 --- a/content/docs/fabs/speed-dial.mdx +++ b/content/docs/fabs/speed-dial.mdx @@ -4,7 +4,7 @@ description: Speed Dial author: masabinhok --- -<ComponentPreview name="fabs-speed-dial--docs" /> +<ComponentPreview name="fabs-speed-dial--primary" /> ## Installation diff --git a/content/docs/feature-cards/confirmation-message.mdx b/content/docs/feature-cards/confirmation-message.mdx index b8a18247..c3bc0ba0 100644 --- a/content/docs/feature-cards/confirmation-message.mdx +++ b/content/docs/feature-cards/confirmation-message.mdx @@ -4,7 +4,7 @@ description: An animated component which shows success message with custom name author: i_v1shal_ --- -<ComponentPreview name="feature-cards-confirmation-message--docs" /> +<ComponentPreview name="feature-cards-confirmation-message--primary" /> ## Installation diff --git a/content/docs/feature-cards/content-scan.mdx b/content/docs/feature-cards/content-scan.mdx index 550c2406..b35d4910 100644 --- a/content/docs/feature-cards/content-scan.mdx +++ b/content/docs/feature-cards/content-scan.mdx @@ -4,7 +4,7 @@ description: A scanning component to highlight detected words to predict AI cont author: MEbandhan --- -<ComponentPreview name="feature-cards-content-scan--docs" /> +<ComponentPreview name="feature-cards-content-scan--primary" /> ## Installation diff --git a/content/docs/graphs/bar-chart.mdx b/content/docs/graphs/bar-chart.mdx index c6ca3bc9..2cd4f07e 100644 --- a/content/docs/graphs/bar-chart.mdx +++ b/content/docs/graphs/bar-chart.mdx @@ -4,7 +4,7 @@ description: A sample bar chart for widgets/presentation author: harimanok_ --- -<ComponentPreview name="graphs-bar-chart--docs" /> +<ComponentPreview name="graphs-bar-chart--primary" /> ## Installation diff --git a/content/docs/graphs/commit-graph.mdx b/content/docs/graphs/commit-graph.mdx index db96bafd..305900f2 100644 --- a/content/docs/graphs/commit-graph.mdx +++ b/content/docs/graphs/commit-graph.mdx @@ -4,7 +4,7 @@ description: A commit graph for your projects author: Aadarsh Baral --- -<ComponentPreview name="graphs-commit-graph--docs" /> +<ComponentPreview name="graphs-commit-graph--primary" /> ## Installation diff --git a/content/docs/graphs/donut-chart.mdx b/content/docs/graphs/donut-chart.mdx index 88c1a7e4..2ef12ca9 100644 --- a/content/docs/graphs/donut-chart.mdx +++ b/content/docs/graphs/donut-chart.mdx @@ -4,7 +4,7 @@ description: A simple donut chart for showing progress. Useful for widget and be author: harimanok_ --- -<ComponentPreview name="graphs-donut-chart--docs" /> +<ComponentPreview name="graphs-donut-chart--primary" /> ## Installation diff --git a/content/docs/graphs/gauge-chart.mdx b/content/docs/graphs/gauge-chart.mdx index 5c900d82..e106fee7 100644 --- a/content/docs/graphs/gauge-chart.mdx +++ b/content/docs/graphs/gauge-chart.mdx @@ -4,7 +4,7 @@ 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 diff --git a/content/docs/graphs/progress.mdx b/content/docs/graphs/progress.mdx index 68c59e6e..3a21239c 100644 --- a/content/docs/graphs/progress.mdx +++ b/content/docs/graphs/progress.mdx @@ -4,7 +4,7 @@ description: A sample progress graph for widgets/presentation. This is not a ful author: harimanok_ --- -<ComponentPreview name="graphs-progress--docs" /> +<ComponentPreview name="graphs-progress--primary" /> ## Installation diff --git a/content/docs/graphs/ring-chart.mdx b/content/docs/graphs/ring-chart.mdx index acbc92de..f1cd5a8a 100644 --- a/content/docs/graphs/ring-chart.mdx +++ b/content/docs/graphs/ring-chart.mdx @@ -4,7 +4,7 @@ description: A simple ring-chart chart as seen in iOS apps author: harimanok_ --- -<ComponentPreview name="graphs-ring-chart--docs" /> +<ComponentPreview name="graphs-ring-chart--primary" /> ## Installation diff --git a/content/docs/hero/hero-section-text-hover.mdx b/content/docs/hero/hero-section-text-hover.mdx index fdc49d34..ccf541e9 100644 --- a/content/docs/hero/hero-section-text-hover.mdx +++ b/content/docs/hero/hero-section-text-hover.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: RBchiranjibi --- -<ComponentPreview name="hero-hero-section-text-hover--docs" /> +<ComponentPreview name="hero-hero-section-text-hover--primary" /> ## Installation diff --git a/content/docs/hero/hero-section.mdx b/content/docs/hero/hero-section.mdx index efee19c5..23cadd69 100644 --- a/content/docs/hero/hero-section.mdx +++ b/content/docs/hero/hero-section.mdx @@ -5,7 +5,7 @@ labels: ["requires-interaction", "hover"] author: AdashBaral --- -<ComponentPreview name="hero-hero-section--docs" /> +<ComponentPreview name="hero-hero-section--primary" /> ## Installation diff --git a/content/docs/hero/product-features.mdx b/content/docs/hero/product-features.mdx index f2a5157f..e252cc44 100644 --- a/content/docs/hero/product-features.mdx +++ b/content/docs/hero/product-features.mdx @@ -4,7 +4,7 @@ description: A hero section showcasing product features author: harimanok_ --- -<ComponentPreview name="hero-product-features--docs" /> +<ComponentPreview name="hero-product-features--primary" /> ## Installation diff --git a/content/docs/hero/shape-shifter.mdx b/content/docs/hero/shape-shifter.mdx index ca267c9e..9f8394ad 100644 --- a/content/docs/hero/shape-shifter.mdx +++ b/content/docs/hero/shape-shifter.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="hero-shape-shifter--docs" /> +<ComponentPreview name="hero-shape-shifter--primary" /> ## Installation diff --git a/content/docs/hero/slack-intro.mdx b/content/docs/hero/slack-intro.mdx index f123b7a8..d9d85dee 100644 --- a/content/docs/hero/slack-intro.mdx +++ b/content/docs/hero/slack-intro.mdx @@ -4,7 +4,7 @@ description: An intro hero inspired by Slack's intro screen. author: AashishKatila --- -<ComponentPreview name="hero-slack-intro--docs" /> +<ComponentPreview name="hero-slack-intro--primary" /> ## Installation diff --git a/content/docs/icon/hover-interaction.mdx b/content/docs/icon/hover-interaction.mdx index c966abd9..c1658c42 100644 --- a/content/docs/icon/hover-interaction.mdx +++ b/content/docs/icon/hover-interaction.mdx @@ -4,7 +4,7 @@ description: This is a component which shows icon based on text hovered by user. author: MEbandhan --- -<ComponentPreview name="icon-hover-interaction--docs" /> +<ComponentPreview name="icon-hover-interaction--primary" /> ## Installation diff --git a/content/docs/icon/icon-ripple.mdx b/content/docs/icon/icon-ripple.mdx index 5f2e4a1a..165dca63 100644 --- a/content/docs/icon/icon-ripple.mdx +++ b/content/docs/icon/icon-ripple.mdx @@ -4,7 +4,7 @@ description: Create a ripple animation on an icon author: AashishKatila --- -<ComponentPreview name="icon-icon-ripple--docs" /> +<ComponentPreview name="icon-icon-ripple--primary" /> ## Installation diff --git a/content/docs/image/disclose-image.mdx b/content/docs/image/disclose-image.mdx index 9ce2221e..814585cc 100644 --- a/content/docs/image/disclose-image.mdx +++ b/content/docs/image/disclose-image.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover", "requires config"] author: harimanok_ --- -<ComponentPreview name="image-disclose-image--docs" /> +<ComponentPreview name="image-disclose-image--primary" /> ## Installation diff --git a/content/docs/image/image-box-shadow.mdx b/content/docs/image/image-box-shadow.mdx index 2c597e81..c752c44a 100644 --- a/content/docs/image/image-box-shadow.mdx +++ b/content/docs/image/image-box-shadow.mdx @@ -6,7 +6,7 @@ author: Sumin Gurung published: false --- -<ComponentPreview name="image-image-box-shadow--docs" /> +<ComponentPreview name="image-image-box-shadow--primary" /> ## Installation diff --git a/content/docs/image/images-reveal.mdx b/content/docs/image/images-reveal.mdx index b89f9801..41484e61 100644 --- a/content/docs/image/images-reveal.mdx +++ b/content/docs/image/images-reveal.mdx @@ -5,7 +5,7 @@ author: mansidhamne labels: ["requires interaction", "hover"] --- -<ComponentPreview name="image-images-reveal--docs" /> +<ComponentPreview name="image-images-reveal--primary" /> ## Installation diff --git a/content/docs/image/photo-booth.mdx b/content/docs/image/photo-booth.mdx index d6983539..c2bccf3f 100644 --- a/content/docs/image/photo-booth.mdx +++ b/content/docs/image/photo-booth.mdx @@ -6,7 +6,7 @@ author: ll4xmii published: false --- -<ComponentPreview name="image-photo-booth--docs" /> +<ComponentPreview name="image-photo-booth--primary" /> ## Installation diff --git a/content/docs/image/skew-image.mdx b/content/docs/image/skew-image.mdx index 83508030..82e5db2f 100644 --- a/content/docs/image/skew-image.mdx +++ b/content/docs/image/skew-image.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="image-skew-image--docs" /> +<ComponentPreview name="image-skew-image--primary" /> ## Installation diff --git a/content/docs/image/tilted-cover.mdx b/content/docs/image/tilted-cover.mdx index 284409b7..f672b66c 100644 --- a/content/docs/image/tilted-cover.mdx +++ b/content/docs/image/tilted-cover.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="image-tilted-cover--docs" /> +<ComponentPreview name="image-tilted-cover--primary" /> ## Installation diff --git a/content/docs/image/trailing-image.mdx b/content/docs/image/trailing-image.mdx index df05b372..cb193aa6 100644 --- a/content/docs/image/trailing-image.mdx +++ b/content/docs/image/trailing-image.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="image-trailing-image--docs" /> +<ComponentPreview name="image-trailing-image--primary" /> ## Installation diff --git a/content/docs/image/zoom-image.mdx b/content/docs/image/zoom-image.mdx index 9b286436..5982ca1e 100644 --- a/content/docs/image/zoom-image.mdx +++ b/content/docs/image/zoom-image.mdx @@ -6,7 +6,7 @@ author: Sumingurung9 published: false --- -<ComponentPreview name="image-zoom-image--docs" /> +<ComponentPreview name="image-zoom-image--primary" /> ## Installation diff --git a/content/docs/list/avatar-list.mdx b/content/docs/list/avatar-list.mdx index de8f9fd5..89af64f0 100644 --- a/content/docs/list/avatar-list.mdx +++ b/content/docs/list/avatar-list.mdx @@ -4,7 +4,7 @@ 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 diff --git a/content/docs/list/flipping-cards.mdx b/content/docs/list/flipping-cards.mdx index b9d620c8..59791934 100644 --- a/content/docs/list/flipping-cards.mdx +++ b/content/docs/list/flipping-cards.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="list-flipping-cards--docs" /> +<ComponentPreview name="list-flipping-cards--primary" /> ## Installation diff --git a/content/docs/list/flower-menu.mdx b/content/docs/list/flower-menu.mdx index c2077a5a..27daf7d4 100644 --- a/content/docs/list/flower-menu.mdx +++ b/content/docs/list/flower-menu.mdx @@ -4,7 +4,7 @@ description: A circular flower menu with several icons and a central close butto author: arjuncodess --- -<ComponentPreview name="list-flower-menu--docs" /> +<ComponentPreview name="list-flower-menu--primary" /> ## Installation diff --git a/content/docs/list/menu-animation.mdx b/content/docs/list/menu-animation.mdx index 3ceac857..53f9b088 100644 --- a/content/docs/list/menu-animation.mdx +++ b/content/docs/list/menu-animation.mdx @@ -4,7 +4,7 @@ description: Animation for menu list author: Sumin Gurung --- -<ComponentPreview name="list-menu-animation--docs" /> +<ComponentPreview name="list-menu-animation--primary" /> ## Installation diff --git a/content/docs/list/orbiting-items-3-d.mdx b/content/docs/list/orbiting-items-3-d.mdx index f894503c..7cd9e8d2 100644 --- a/content/docs/list/orbiting-items-3-d.mdx +++ b/content/docs/list/orbiting-items-3-d.mdx @@ -4,7 +4,7 @@ description: List component with orbiting items. The items orbit around the cent author: Pikachu-345 --- -<ComponentPreview name="list-orbiting-items-3-d--docs" /> +<ComponentPreview name="list-orbiting-items-3-d--primary" /> ## Installation diff --git a/content/docs/list/orbiting-items.mdx b/content/docs/list/orbiting-items.mdx index 0e4f705e..895827e3 100644 --- a/content/docs/list/orbiting-items.mdx +++ b/content/docs/list/orbiting-items.mdx @@ -4,7 +4,7 @@ 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 diff --git a/content/docs/list/reveal-image.mdx b/content/docs/list/reveal-image.mdx index 9feff815..4075b5b9 100644 --- a/content/docs/list/reveal-image.mdx +++ b/content/docs/list/reveal-image.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="list-reveal-image--docs" /> +<ComponentPreview name="list-reveal-image--primary" /> ## Installation diff --git a/content/docs/list/transaction-list.mdx b/content/docs/list/transaction-list.mdx index b2550b85..3c618eac 100644 --- a/content/docs/list/transaction-list.mdx +++ b/content/docs/list/transaction-list.mdx @@ -5,7 +5,7 @@ author: m_jinprince labels: ["requires interaction", "Click any recent Transaction"] --- -<ComponentPreview name="list-transaction-list--docs" /> +<ComponentPreview name="list-transaction-list--primary" /> ## Installation diff --git a/content/docs/list/transition-list.mdx b/content/docs/list/transition-list.mdx index 8612be38..a6e36147 100644 --- a/content/docs/list/transition-list.mdx +++ b/content/docs/list/transition-list.mdx @@ -4,7 +4,7 @@ description: This is a list where items are removed with smooth transition. author: sanjaya22780 --- -<ComponentPreview name="list-transition-list--docs" /> +<ComponentPreview name="list-transition-list--primary" /> ## Installation diff --git a/content/docs/preloader/vertical-tiles.mdx b/content/docs/preloader/vertical-tiles.mdx index 704cdf66..420ad216 100644 --- a/content/docs/preloader/vertical-tiles.mdx +++ b/content/docs/preloader/vertical-tiles.mdx @@ -4,7 +4,7 @@ description: A preloader component that makes transition to any section look viv author: SatyamVyas04 --- -<ComponentPreview name="preloader-vertical-tiles--docs" /> +<ComponentPreview name="preloader-vertical-tiles--primary" /> ## Installation diff --git a/content/docs/progress/animatedtimeline.mdx b/content/docs/progress/animatedtimeline.mdx index aa9a9930..38eb06cf 100644 --- a/content/docs/progress/animatedtimeline.mdx +++ b/content/docs/progress/animatedtimeline.mdx @@ -4,7 +4,7 @@ description: The Animated Timeline component is an interactive, visually appeali author: VishalKumar03__ --- -<ComponentPreview name="progress-animatedtimeline--docs" /> +<ComponentPreview name="progress-animatedtimeline--primary" /> ## Installation diff --git a/content/docs/progress/spinner.mdx b/content/docs/progress/spinner.mdx index c24b5da5..61d5db16 100644 --- a/content/docs/progress/spinner.mdx +++ b/content/docs/progress/spinner.mdx @@ -4,7 +4,7 @@ description: Just a spinner to check the loading state author: morphhyy --- -<ComponentPreview name="progress-spinner--docs" /> +<ComponentPreview name="progress-spinner--primary" /> ## Installation diff --git a/content/docs/section/pricing.mdx b/content/docs/section/pricing.mdx index e063f920..2d6e6996 100644 --- a/content/docs/section/pricing.mdx +++ b/content/docs/section/pricing.mdx @@ -4,7 +4,7 @@ description: Pricing component that displays the pricing options of various plan author: SatyamVyas04 --- -<ComponentPreview name="section-pricing--docs" /> +<ComponentPreview name="section-pricing--primary" /> ## Installation diff --git a/content/docs/text/animated-gradient-text.mdx b/content/docs/text/animated-gradient-text.mdx index 489de23c..3f196aad 100644 --- a/content/docs/text/animated-gradient-text.mdx +++ b/content/docs/text/animated-gradient-text.mdx @@ -4,7 +4,7 @@ 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 diff --git a/content/docs/text/bold-copy.mdx b/content/docs/text/bold-copy.mdx index 0da289de..c1d55428 100644 --- a/content/docs/text/bold-copy.mdx +++ b/content/docs/text/bold-copy.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-bold-copy--docs" /> +<ComponentPreview name="text-bold-copy--primary" /> ## Installation diff --git a/content/docs/text/circular-text.mdx b/content/docs/text/circular-text.mdx index e1c8509e..eabd12c9 100644 --- a/content/docs/text/circular-text.mdx +++ b/content/docs/text/circular-text.mdx @@ -4,7 +4,7 @@ description: Displays text arranged in a rotating circular path with customizabl author: Sanj__P --- -<ComponentPreview name="text-circular-text--docs" /> +<ComponentPreview name="text-circular-text--primary" /> ## Installation diff --git a/content/docs/text/counter.mdx b/content/docs/text/counter.mdx index 1178a0cb..8949f577 100644 --- a/content/docs/text/counter.mdx +++ b/content/docs/text/counter.mdx @@ -4,7 +4,7 @@ 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 diff --git a/content/docs/text/cycle-text.mdx b/content/docs/text/cycle-text.mdx index 59584e01..809c1362 100644 --- a/content/docs/text/cycle-text.mdx +++ b/content/docs/text/cycle-text.mdx @@ -4,7 +4,7 @@ description: A component that cycles text over certain interval. author: ll4xmii --- -<ComponentPreview name="text-cycle-text--docs" /> +<ComponentPreview name="text-cycle-text--primary" /> ## Installation diff --git a/content/docs/text/double-underline.mdx b/content/docs/text/double-underline.mdx index c578c1fb..6a27f3c7 100644 --- a/content/docs/text/double-underline.mdx +++ b/content/docs/text/double-underline.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-double-underline--docs" /> +<ComponentPreview name="text-double-underline--primary" /> ## Installation diff --git a/content/docs/text/gibberish-text.mdx b/content/docs/text/gibberish-text.mdx index 66f1c33b..c4302faf 100644 --- a/content/docs/text/gibberish-text.mdx +++ b/content/docs/text/gibberish-text.mdx @@ -4,7 +4,7 @@ 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 diff --git a/content/docs/text/glitch-text.mdx b/content/docs/text/glitch-text.mdx index 2ff91ee2..7943b82d 100644 --- a/content/docs/text/glitch-text.mdx +++ b/content/docs/text/glitch-text.mdx @@ -4,7 +4,7 @@ description: Glitch text effect author: harimanok_ --- -<ComponentPreview name="text-glitch-text--docs" /> +<ComponentPreview name="text-glitch-text--primary" /> ## Installation diff --git a/content/docs/text/jitter-text.mdx b/content/docs/text/jitter-text.mdx index b1a35a32..0fca0283 100644 --- a/content/docs/text/jitter-text.mdx +++ b/content/docs/text/jitter-text.mdx @@ -4,7 +4,7 @@ description: Animated Text component that applies a jittery effect author: XDoffu --- -<ComponentPreview name="text-jitter-text--docs" /> +<ComponentPreview name="text-jitter-text--primary" /> ## Installation diff --git a/content/docs/text/jumping-text-instagram.mdx b/content/docs/text/jumping-text-instagram.mdx index a7771da4..727e2992 100644 --- a/content/docs/text/jumping-text-instagram.mdx +++ b/content/docs/text/jumping-text-instagram.mdx @@ -4,7 +4,7 @@ description: Jumping text effect similar to the one seen in Instagram's text eff author: harimanok_ --- -<ComponentPreview name="text-jumping-text-instagram--docs" /> +<ComponentPreview name="text-jumping-text-instagram--primary" /> ## Installation diff --git a/content/docs/text/mask-text.mdx b/content/docs/text/mask-text.mdx index 5f2e6671..1715a5a9 100644 --- a/content/docs/text/mask-text.mdx +++ b/content/docs/text/mask-text.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: morphhyy --- -<ComponentPreview name="text-mask-text--docs" /> +<ComponentPreview name="text-mask-text--primary" /> ## Installation diff --git a/content/docs/text/mirror-text.mdx b/content/docs/text/mirror-text.mdx index 80dc4341..c8d36db3 100644 --- a/content/docs/text/mirror-text.mdx +++ b/content/docs/text/mirror-text.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: harimanok_ --- -<ComponentPreview name="text-mirror-text--docs" /> +<ComponentPreview name="text-mirror-text--primary" /> ## Installation diff --git a/content/docs/text/scroll-reveal.mdx b/content/docs/text/scroll-reveal.mdx index e2c44174..a037e790 100644 --- a/content/docs/text/scroll-reveal.mdx +++ b/content/docs/text/scroll-reveal.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "scroll"] --- -<ComponentPreview name="text-scroll-reveal--docs" /> +<ComponentPreview name="text-scroll-reveal--primary" /> ## Installation diff --git a/content/docs/text/split-text.mdx b/content/docs/text/split-text.mdx index 4125b8a7..1462e872 100644 --- a/content/docs/text/split-text.mdx +++ b/content/docs/text/split-text.mdx @@ -5,7 +5,7 @@ author: harimanok_ labels: ["requires interaction", "hover"] --- -<ComponentPreview name="text-split-text--docs" /> +<ComponentPreview name="text-split-text--primary" /> ## Installation diff --git a/content/docs/text/staggered-letter.mdx b/content/docs/text/staggered-letter.mdx index b55ee884..b3460b62 100644 --- a/content/docs/text/staggered-letter.mdx +++ b/content/docs/text/staggered-letter.mdx @@ -4,7 +4,7 @@ description: A staggered up/drop letter animation. author: morphhyy --- -<ComponentPreview name="text-staggered-letter--docs" /> +<ComponentPreview name="text-staggered-letter--primary" /> ## Installation diff --git a/content/docs/text/swap-text.mdx b/content/docs/text/swap-text.mdx index e99b11e0..e6d3865c 100644 --- a/content/docs/text/swap-text.mdx +++ b/content/docs/text/swap-text.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover", "click"] author: harimanok_ --- -<ComponentPreview name="text-swap-text--docs" /> +<ComponentPreview name="text-swap-text--primary" /> ## Installation diff --git a/content/docs/text/text-border-animation.mdx b/content/docs/text/text-border-animation.mdx index f2d0c3d8..84f3999a 100644 --- a/content/docs/text/text-border-animation.mdx +++ b/content/docs/text/text-border-animation.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="text-text-border-animation--docs" /> +<ComponentPreview name="text-text-border-animation--primary" /> ## Installation diff --git a/content/docs/text/text-explode-imessage.mdx b/content/docs/text/text-explode-imessage.mdx index 6224b18a..540cc796 100644 --- a/content/docs/text/text-explode-imessage.mdx +++ b/content/docs/text/text-explode-imessage.mdx @@ -4,7 +4,7 @@ description: Text explode effect as seen in iMessage author: harimanok_ --- -<ComponentPreview name="text-text-explode-imessage--docs" /> +<ComponentPreview name="text-text-explode-imessage--primary" /> ## Installation diff --git a/content/docs/text/text-flip.mdx b/content/docs/text/text-flip.mdx index 6160107b..17acb346 100644 --- a/content/docs/text/text-flip.mdx +++ b/content/docs/text/text-flip.mdx @@ -4,7 +4,7 @@ description: Text with flipping effect author: AashishKatila --- -<ComponentPreview name="text-text-flip--docs" /> +<ComponentPreview name="text-text-flip--primary" /> ## Installation diff --git a/content/docs/text/ticker.mdx b/content/docs/text/ticker.mdx index a3d35505..895a7584 100644 --- a/content/docs/text/ticker.mdx +++ b/content/docs/text/ticker.mdx @@ -4,7 +4,7 @@ description: A ticker component that animates number on change author: harimanok_ --- -<ComponentPreview name="text-ticker--docs" /> +<ComponentPreview name="text-ticker--primary" /> ## Installation diff --git a/content/docs/text/typing-text.mdx b/content/docs/text/typing-text.mdx index c9c2e4c1..ca8afb19 100644 --- a/content/docs/text/typing-text.mdx +++ b/content/docs/text/typing-text.mdx @@ -4,7 +4,7 @@ description: Creates a typing effect for given text author: harimanok_ --- -<ComponentPreview name="text-typing-text--docs" /> +<ComponentPreview name="text-typing-text--primary" /> ## Installation diff --git a/content/docs/text/underline-hover-text.mdx b/content/docs/text/underline-hover-text.mdx index a7453196..5b56da66 100644 --- a/content/docs/text/underline-hover-text.mdx +++ b/content/docs/text/underline-hover-text.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: RBChiranjibi --- -<ComponentPreview name="text-underline-hover-text--docs" /> +<ComponentPreview name="text-underline-hover-text--primary" /> ## Installation diff --git a/content/docs/text/wave-reveal.mdx b/content/docs/text/wave-reveal.mdx index 3e3d74d9..4fbde811 100644 --- a/content/docs/text/wave-reveal.mdx +++ b/content/docs/text/wave-reveal.mdx @@ -3,7 +3,7 @@ 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 diff --git a/content/docs/widget/alarm-clock.mdx b/content/docs/widget/alarm-clock.mdx index 1a7c3f9a..f8de45eb 100644 --- a/content/docs/widget/alarm-clock.mdx +++ b/content/docs/widget/alarm-clock.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "toggle"] author: Sumingurung9 --- -<ComponentPreview name="widget-alarm-clock--docs" /> +<ComponentPreview name="widget-alarm-clock--primary" /> ## Installation diff --git a/content/docs/widget/battery-level.mdx b/content/docs/widget/battery-level.mdx index a43dd4c7..3c3516a8 100644 --- a/content/docs/widget/battery-level.mdx +++ b/content/docs/widget/battery-level.mdx @@ -3,7 +3,7 @@ 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 diff --git a/content/docs/widget/battery.mdx b/content/docs/widget/battery.mdx index 7854f587..22de5383 100644 --- a/content/docs/widget/battery.mdx +++ b/content/docs/widget/battery.mdx @@ -4,7 +4,7 @@ description: This is a basic widget that shows battery percentage. author: sanjaya22780 --- -<ComponentPreview name="widget-battery--docs" /> +<ComponentPreview name="widget-battery--primary" /> ## Installation diff --git a/content/docs/widget/calendar-event.mdx b/content/docs/widget/calendar-event.mdx index cf6f39a2..376e0c15 100644 --- a/content/docs/widget/calendar-event.mdx +++ b/content/docs/widget/calendar-event.mdx @@ -4,7 +4,7 @@ description: Calendar event widget author: Sumin Gurung --- -<ComponentPreview name="widget-calendar-event--docs" /> +<ComponentPreview name="widget-calendar-event--primary" /> ## Installation diff --git a/content/docs/widget/calendar-widget.mdx b/content/docs/widget/calendar-widget.mdx index f2efdaeb..a5710acc 100644 --- a/content/docs/widget/calendar-widget.mdx +++ b/content/docs/widget/calendar-widget.mdx @@ -4,7 +4,7 @@ description: calendar widget is calender like widget with smooth animations and author: anshu_code --- -<ComponentPreview name="widget-calendar-widget--docs" /> +<ComponentPreview name="widget-calendar-widget--primary" /> ## Installation diff --git a/content/docs/widget/calorie-counter.mdx b/content/docs/widget/calorie-counter.mdx index 93b12ea9..ce33e21a 100644 --- a/content/docs/widget/calorie-counter.mdx +++ b/content/docs/widget/calorie-counter.mdx @@ -3,7 +3,7 @@ title: Calorie Counter description: A calorie counter for your app --- -<ComponentPreview name="widget-calorie-counter--docs" /> +<ComponentPreview name="widget-calorie-counter--primary" /> ## Installation diff --git a/content/docs/widget/clock-with-photo.mdx b/content/docs/widget/clock-with-photo.mdx index 1580c997..1f107781 100644 --- a/content/docs/widget/clock-with-photo.mdx +++ b/content/docs/widget/clock-with-photo.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "hover"] author: AashishKatila --- -<ComponentPreview name="widget-clock-with-photo--docs" /> +<ComponentPreview name="widget-clock-with-photo--primary" /> ## Installation diff --git a/content/docs/widget/cycling.mdx b/content/docs/widget/cycling.mdx index 5aeb8ea5..9adb79fb 100644 --- a/content/docs/widget/cycling.mdx +++ b/content/docs/widget/cycling.mdx @@ -3,7 +3,7 @@ title: Cycling description: A widget that shows the distance covered and heart-rate of cyclist --- -<ComponentPreview name="widget-cycling--docs" /> +<ComponentPreview name="widget-cycling--primary" /> ## Installation diff --git a/content/docs/widget/delivery-card.mdx b/content/docs/widget/delivery-card.mdx index 615bf195..fb4fda04 100644 --- a/content/docs/widget/delivery-card.mdx +++ b/content/docs/widget/delivery-card.mdx @@ -4,7 +4,7 @@ description: This card helps user to track their orders. author: sanjaya22780 --- -<ComponentPreview name="widget-delivery-card--docs" /> +<ComponentPreview name="widget-delivery-card--primary" /> ## Installation diff --git a/content/docs/widget/direction-card.mdx b/content/docs/widget/direction-card.mdx index d9b38ed7..308aabb8 100644 --- a/content/docs/widget/direction-card.mdx +++ b/content/docs/widget/direction-card.mdx @@ -4,7 +4,7 @@ description: A direction card which adapts itself on directions and distance author: AdashBaral --- -<ComponentPreview name="widget-direction-card--docs" /> +<ComponentPreview name="widget-direction-card--primary" /> ## Installation diff --git a/content/docs/widget/expense-tracker.mdx b/content/docs/widget/expense-tracker.mdx index 8270a4ff..f738ed2c 100644 --- a/content/docs/widget/expense-tracker.mdx +++ b/content/docs/widget/expense-tracker.mdx @@ -4,7 +4,7 @@ description: Tracks your weekly spending or expenses author: Sumingurung9 --- -<ComponentPreview name="widget-expense-tracker--docs" /> +<ComponentPreview name="widget-expense-tracker--primary" /> ## Installation diff --git a/content/docs/widget/flight-widget.mdx b/content/docs/widget/flight-widget.mdx index 1fbc2b8c..f22912c7 100644 --- a/content/docs/widget/flight-widget.mdx +++ b/content/docs/widget/flight-widget.mdx @@ -4,7 +4,7 @@ description: A widget that shows flight detail author: AashishKatila --- -<ComponentPreview name="widget-flight-widget--docs" /> +<ComponentPreview name="widget-flight-widget--primary" /> ## Installation diff --git a/content/docs/widget/fund-widget.mdx b/content/docs/widget/fund-widget.mdx index 1eedc78c..87af6fed 100644 --- a/content/docs/widget/fund-widget.mdx +++ b/content/docs/widget/fund-widget.mdx @@ -4,7 +4,7 @@ description: This component is a financial dashboard-like UI element for showing author: i_v1shal_ --- -<ComponentPreview name="widget-fund-widget--docs" /> +<ComponentPreview name="widget-fund-widget--primary" /> ## Installation diff --git a/content/docs/widget/live-score.mdx b/content/docs/widget/live-score.mdx index d2e03f80..b83b42b1 100644 --- a/content/docs/widget/live-score.mdx +++ b/content/docs/widget/live-score.mdx @@ -4,7 +4,7 @@ description: Live score widget that displays the score of a match. author: AashishKatila --- -<ComponentPreview name="widget-live-score--docs" /> +<ComponentPreview name="widget-live-score--primary" /> ## Installation diff --git a/content/docs/widget/mobile-detail.mdx b/content/docs/widget/mobile-detail.mdx index e3228cb9..609b7a18 100644 --- a/content/docs/widget/mobile-detail.mdx +++ b/content/docs/widget/mobile-detail.mdx @@ -4,7 +4,7 @@ description: Mobile widget author: Sumin Gurung --- -<ComponentPreview name="widget-mobile-detail--docs" /> +<ComponentPreview name="widget-mobile-detail--primary" /> ## Installation diff --git a/content/docs/widget/music-stack-interaction.mdx b/content/docs/widget/music-stack-interaction.mdx index 0f406e84..01210359 100644 --- a/content/docs/widget/music-stack-interaction.mdx +++ b/content/docs/widget/music-stack-interaction.mdx @@ -4,7 +4,7 @@ description: widget for Music stack and unstacking author: Mahlawat2001 --- -<ComponentPreview name="widget-music-stack-interaction--docs" /> +<ComponentPreview name="widget-music-stack-interaction--primary" /> ## Installation diff --git a/content/docs/widget/music-widget.mdx b/content/docs/widget/music-widget.mdx index a42ed11f..ec7eb682 100644 --- a/content/docs/widget/music-widget.mdx +++ b/content/docs/widget/music-widget.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click"] author: AashishKatila --- -<ComponentPreview name="widget-music-widget--docs" /> +<ComponentPreview name="widget-music-widget--primary" /> ## Installation diff --git a/content/docs/widget/notes.mdx b/content/docs/widget/notes.mdx index 268ee6a8..29f1e586 100644 --- a/content/docs/widget/notes.mdx +++ b/content/docs/widget/notes.mdx @@ -4,7 +4,7 @@ description: A notes widget author: sudha_shrestha --- -<ComponentPreview name="widget-notes--docs" /> +<ComponentPreview name="widget-notes--primary" /> ## Installation diff --git a/content/docs/widget/profile.mdx b/content/docs/widget/profile.mdx index b4bbae46..ffb643a5 100644 --- a/content/docs/widget/profile.mdx +++ b/content/docs/widget/profile.mdx @@ -4,7 +4,7 @@ description: A widget that shows user profile author: ll4xmii --- -<ComponentPreview name="widget-profile--docs" /> +<ComponentPreview name="widget-profile--primary" /> ## Installation diff --git a/content/docs/widget/reminder-widget.mdx b/content/docs/widget/reminder-widget.mdx index 7e7a310c..f644d398 100644 --- a/content/docs/widget/reminder-widget.mdx +++ b/content/docs/widget/reminder-widget.mdx @@ -4,7 +4,7 @@ description: Reminder widget author: Sumingurung9 --- -<ComponentPreview name="widget-reminder-widget--docs" /> +<ComponentPreview name="widget-reminder-widget--primary" /> ## Installation diff --git a/content/docs/widget/reminder.mdx b/content/docs/widget/reminder.mdx index 121b5a6a..4f6b0bfb 100644 --- a/content/docs/widget/reminder.mdx +++ b/content/docs/widget/reminder.mdx @@ -4,7 +4,7 @@ description: A reminder widget shows notifications for important tasks author: ll4xmii --- -<ComponentPreview name="widget-reminder--docs" /> +<ComponentPreview name="widget-reminder--primary" /> ## Installation diff --git a/content/docs/widget/score-board.mdx b/content/docs/widget/score-board.mdx index 0ae28e0d..3b2e2140 100644 --- a/content/docs/widget/score-board.mdx +++ b/content/docs/widget/score-board.mdx @@ -4,7 +4,7 @@ description: A widget that shows progress and score author: ll4xmii --- -<ComponentPreview name="widget-score-board--docs" /> +<ComponentPreview name="widget-score-board--primary" /> ## Installation diff --git a/content/docs/widget/security-alert.mdx b/content/docs/widget/security-alert.mdx index cdc5d0b0..3f650875 100644 --- a/content/docs/widget/security-alert.mdx +++ b/content/docs/widget/security-alert.mdx @@ -4,7 +4,7 @@ description: This widget notifies the user about a security alert in the system. author: sanjaya22780 --- -<ComponentPreview name="widget-security-alert--docs" /> +<ComponentPreview name="widget-security-alert--primary" /> ## Installation diff --git a/content/docs/widget/shopping-list.mdx b/content/docs/widget/shopping-list.mdx index 653c599d..00fb8aa6 100644 --- a/content/docs/widget/shopping-list.mdx +++ b/content/docs/widget/shopping-list.mdx @@ -4,7 +4,7 @@ description: A shopping list widget author: sudha_shrestha --- -<ComponentPreview name="widget-shopping-list--docs" /> +<ComponentPreview name="widget-shopping-list--primary" /> ## Installation diff --git a/content/docs/widget/sleep-tracker.mdx b/content/docs/widget/sleep-tracker.mdx index eaa6648b..cfa699a8 100644 --- a/content/docs/widget/sleep-tracker.mdx +++ b/content/docs/widget/sleep-tracker.mdx @@ -4,7 +4,7 @@ description: An elegant sleep tracker for your use author: AdashBaral --- -<ComponentPreview name="widget-sleep-tracker--docs" /> +<ComponentPreview name="widget-sleep-tracker--primary" /> ## Installation diff --git a/content/docs/widget/storage-status.mdx b/content/docs/widget/storage-status.mdx index e3b73223..e105928e 100644 --- a/content/docs/widget/storage-status.mdx +++ b/content/docs/widget/storage-status.mdx @@ -4,7 +4,7 @@ description: This widget shows storage occupied by different file. author: sanjaya22780 --- -<ComponentPreview name="widget-storage-status--docs" /> +<ComponentPreview name="widget-storage-status--primary" /> ## Installation diff --git a/content/docs/widget/storage-widget.mdx b/content/docs/widget/storage-widget.mdx index 357f3edc..ed962a66 100644 --- a/content/docs/widget/storage-widget.mdx +++ b/content/docs/widget/storage-widget.mdx @@ -3,7 +3,7 @@ title: Storage Widget description: A widget to display storage --- -<ComponentPreview name="widget-storage-widget--docs" /> +<ComponentPreview name="widget-storage-widget--primary" /> ## Installation diff --git a/content/docs/widget/study-timer.mdx b/content/docs/widget/study-timer.mdx index 9fabc066..7a70de87 100644 --- a/content/docs/widget/study-timer.mdx +++ b/content/docs/widget/study-timer.mdx @@ -3,7 +3,7 @@ title: Study Timer description: Displays a study timer with segmented time tracking. --- -<ComponentPreview name="widget-study-timer--docs" /> +<ComponentPreview name="widget-study-timer--primary" /> ## Installation diff --git a/content/docs/widget/team-clock.mdx b/content/docs/widget/team-clock.mdx index c463c802..4a3f149d 100644 --- a/content/docs/widget/team-clock.mdx +++ b/content/docs/widget/team-clock.mdx @@ -4,7 +4,7 @@ description: A customizable, animated clock displaying multiple time zones for r author: arjuncodess --- -<ComponentPreview name="widget-team-clock--docs" /> +<ComponentPreview name="widget-team-clock--primary" /> ## Installation diff --git a/content/docs/widget/video-chat.mdx b/content/docs/widget/video-chat.mdx index fb2b03cc..d52c03f2 100644 --- a/content/docs/widget/video-chat.mdx +++ b/content/docs/widget/video-chat.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click"] author: AashishKatila --- -<ComponentPreview name="widget-video-chat--docs" /> +<ComponentPreview name="widget-video-chat--primary" /> ## Installation diff --git a/content/docs/widget/vpn-widget.mdx b/content/docs/widget/vpn-widget.mdx index db2b5f74..8faa65d1 100644 --- a/content/docs/widget/vpn-widget.mdx +++ b/content/docs/widget/vpn-widget.mdx @@ -4,7 +4,7 @@ description: Shows the Vpn Connectivity labels: ["requires interaction", "click"] --- -<ComponentPreview name="widget-vpn-widget--docs" /> +<ComponentPreview name="widget-vpn-widget--primary" /> ## Installation diff --git a/content/docs/widget/water-tracker.mdx b/content/docs/widget/water-tracker.mdx index 655f045d..e0b176c0 100644 --- a/content/docs/widget/water-tracker.mdx +++ b/content/docs/widget/water-tracker.mdx @@ -5,7 +5,7 @@ labels: ["requires interaction", "click"] author: Sumingurung9 --- -<ComponentPreview name="widget-water-tracker--docs" /> +<ComponentPreview name="widget-water-tracker--primary" /> ## Installation diff --git a/content/docs/widget/weather-card.mdx b/content/docs/widget/weather-card.mdx index 715c2d9f..7af12f9e 100644 --- a/content/docs/widget/weather-card.mdx +++ b/content/docs/widget/weather-card.mdx @@ -4,7 +4,7 @@ description: A cool weather widget author: AdashBaral --- -<ComponentPreview name="widget-weather-card--docs" /> +<ComponentPreview name="widget-weather-card--primary" /> ## Installation diff --git a/content/docs/widget/weekly-progress.mdx b/content/docs/widget/weekly-progress.mdx index 22accf5b..dae56d09 100644 --- a/content/docs/widget/weekly-progress.mdx +++ b/content/docs/widget/weekly-progress.mdx @@ -4,7 +4,7 @@ description: A widget that shows weekly progress author: Sumingurung9 --- -<ComponentPreview name="widget-weekly-progress--docs" /> +<ComponentPreview name="widget-weekly-progress--primary" /> ## Installation diff --git a/package.json b/package.json index 5e4fc9a9..5169057c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "next dev", + "dev": "next dev & storybook dev -p 6006 --no-open & wait", "prebuild": "storybook build -o public/preview", "build": "next build --webpack", "start": "next start", @@ -77,6 +77,7 @@ "@biomejs/biome": "^2.4.6", "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", + "@storybook/addon-docs": "^10.2.15", "@storybook/addon-themes": "^10.2.15", "@storybook/nextjs": "^10.2.15", "@storybook/react": "^10.2.15", diff --git a/yarn.lock b/yarn.lock index 7979514e..f722f7ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3088,7 +3088,7 @@ __metadata: languageName: node linkType: hard -"@mdx-js/react@npm:^3.0.1": +"@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: @@ -4652,6 +4652,23 @@ __metadata: languageName: node linkType: hard +"@storybook/addon-docs@npm:^10.2.15": + version: 10.2.15 + resolution: "@storybook/addon-docs@npm:10.2.15" + dependencies: + "@mdx-js/react": "npm:^3.0.0" + "@storybook/csf-plugin": "npm:10.2.15" + "@storybook/icons": "npm:^2.0.1" + "@storybook/react-dom-shim": "npm:10.2.15" + react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^10.2.15 + checksum: 10c0/924958446d85716b4df48b790453048bc88d75b803aae95fa9c8026c02293ab49eb7cecc8d2ab1041ad26e157c33e0d878619074bad64efe362e75e40ebbec1f + languageName: node + linkType: hard + "@storybook/addon-themes@npm:^10.2.15": version: 10.2.15 resolution: "@storybook/addon-themes@npm:10.2.15" @@ -4702,6 +4719,30 @@ __metadata: languageName: node linkType: hard +"@storybook/csf-plugin@npm:10.2.15": + version: 10.2.15 + resolution: "@storybook/csf-plugin@npm:10.2.15" + dependencies: + unplugin: "npm:^2.3.5" + peerDependencies: + esbuild: "*" + rollup: "*" + storybook: ^10.2.15 + vite: "*" + webpack: "*" + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + checksum: 10c0/301ebda3a0a282f8e1ed485aecd96576b7319f5e76125e31091c0fb2b984bc30bb520faf4569e2c9b13a58dbf350acff166f2afd26f145578d96e6c0bcc2274f + languageName: node + linkType: hard + "@storybook/global@npm:^5.0.0": version: 5.0.0 resolution: "@storybook/global@npm:5.0.0" @@ -6165,6 +6206,7 @@ __metadata: "@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-docs": "npm:^10.2.15" "@storybook/addon-themes": "npm:^10.2.15" "@storybook/nextjs": "npm:^10.2.15" "@storybook/react": "npm:^10.2.15" @@ -11966,6 +12008,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 + languageName: node + linkType: hard + "pidtree@npm:~0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -12363,7 +12412,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^19": +"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0, react-dom@npm:^19": version: 19.2.4 resolution: "react-dom@npm:19.2.4" dependencies: @@ -12493,7 +12542,7 @@ __metadata: languageName: node linkType: hard -"react@npm:^19": +"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0, react@npm:^19": version: 19.2.4 resolution: "react@npm:19.2.4" checksum: 10c0/cd2c9ff67a720799cc3b38a516009986f7fc4cb8d3e15716c6211cf098d1357ee3e348ab05ad0600042bbb0fd888530ba92e329198c92eafa0994f5213396596 @@ -14524,6 +14573,18 @@ __metadata: languageName: node linkType: hard +"unplugin@npm:^2.3.5": + version: 2.3.11 + resolution: "unplugin@npm:2.3.11" + dependencies: + "@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" @@ -14835,7 +14896,7 @@ __metadata: languageName: node linkType: hard -"webpack-virtual-modules@npm:^0.6.0": +"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 From 276b1f8e4697cb0651cc59daa08eb2e8d7b54cf7 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Fri, 6 Mar 2026 20:55:40 +0545 Subject: [PATCH 06/63] fix: run velite separately for Turbopack compatibility Next.js 16 uses Turbopack by default which skips the webpack velite plugin. Run velite CLI directly: --watch mode for dev, one-shot for prebuild. Fixes stale .velite cache causing --docs IDs to persist. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5169057c..d71b452f 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "private": true, "type": "module", "scripts": { - "dev": "next dev & storybook dev -p 6006 --no-open & wait", - "prebuild": "storybook build -o public/preview", + "dev": "velite --watch & next dev & storybook dev -p 6006 --no-open & wait", + "prebuild": "velite && storybook build -o public/preview", "build": "next build --webpack", "start": "next start", "lint": "biome check .", From df0b1572e8ddc5489657014e4493f4fdbc5bbc04 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Fri, 6 Mar 2026 21:03:05 +0545 Subject: [PATCH 07/63] fix: migrate deprecated Tailwind v3 opacity utilities to v4 syntax Replace bg-opacity-*, text-opacity-*, border-opacity-* with the Tailwind v4 color/opacity modifier syntax (e.g. bg-gray-400/30). Also move complex multi-layer box-shadows to inline styles for algolia buttons since Tailwind v4 can't parse rgba() commas in arbitrary shadow values. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/animated-beam.stories.tsx | 6 ++---- animata/background/animated-beam.tsx | 2 +- animata/bento-grid/gradient.tsx | 2 +- animata/button/algolia-blue-button.tsx | 16 +++++++++++++++- animata/button/algolia-white-button.tsx | 16 +++++++++++++++- animata/button/shining-button.tsx | 2 +- animata/card/glowing-card.tsx | 2 +- animata/carousel/image-carousel.tsx | 4 ++-- animata/feature-cards/confirmation-message.tsx | 2 +- animata/hero/product-features.tsx | 4 ++-- animata/widget/battery.tsx | 2 +- animata/widget/calorie-counter.tsx | 2 +- animata/widget/direction-card.tsx | 2 +- animata/widget/music-stack-interaction.tsx | 2 +- animata/widget/team-clock.tsx | 5 +---- animata/widget/weather-card.tsx | 4 ++-- app/(main)/_landing/call-to-action.tsx | 4 ++-- components/site-header.tsx | 2 +- 18 files changed, 51 insertions(+), 28 deletions(-) diff --git a/animata/background/animated-beam.stories.tsx b/animata/background/animated-beam.stories.tsx index 68c8ee4a..2d468b2b 100644 --- a/animata/background/animated-beam.stories.tsx +++ b/animata/background/animated-beam.stories.tsx @@ -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..f8eb332f 100644 --- a/animata/background/animated-beam.tsx +++ b/animata/background/animated-beam.tsx @@ -77,7 +77,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> ))} diff --git a/animata/bento-grid/gradient.tsx b/animata/bento-grid/gradient.tsx index d3f9f14f..764e075d 100644 --- a/animata/bento-grid/gradient.tsx +++ b/animata/bento-grid/gradient.tsx @@ -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-white/80">{description}</div> {children} </section> </MovingGradient> diff --git a/animata/button/algolia-blue-button.tsx b/animata/button/algolia-blue-button.tsx index 6ba0c67a..c26ac63e 100644 --- a/animata/button/algolia-blue-button.tsx +++ b/animata/button/algolia-blue-button.tsx @@ -1,6 +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]"> + <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-gradient-to-r from-sky-500 to-blue-600 px-4 font-mono leading-none text-white no-underline transition-all 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.tsx b/animata/button/algolia-white-button.tsx index eb860aa5..856988ff 100644 --- a/animata/button/algolia-white-button.tsx +++ b/animata/button/algolia-white-button.tsx @@ -1,6 +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]"> + <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-all 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/shining-button.tsx b/animata/button/shining-button.tsx index 913b953a..d6f19c75 100644 --- a/animata/button/shining-button.tsx +++ b/animata/button/shining-button.tsx @@ -5,7 +5,7 @@ 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 cursor-pointer rounded-xl border-4 border-violet-800/0 bg-transparent p-1 transition-all 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" /> diff --git a/animata/card/glowing-card.tsx b/animata/card/glowing-card.tsx index a8670093..a0cbf1a0 100644 --- a/animata/card/glowing-card.tsx +++ b/animata/card/glowing-card.tsx @@ -35,7 +35,7 @@ export default function GlowingCard({ <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/carousel/image-carousel.tsx b/animata/carousel/image-carousel.tsx index fc04a7d0..5f1e5c80 100644 --- a/animata/carousel/image-carousel.tsx +++ b/animata/carousel/image-carousel.tsx @@ -30,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/feature-cards/confirmation-message.tsx b/animata/feature-cards/confirmation-message.tsx index 6e4a7b62..a90aec05 100644 --- a/animata/feature-cards/confirmation-message.tsx +++ b/animata/feature-cards/confirmation-message.tsx @@ -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> diff --git a/animata/hero/product-features.tsx b/animata/hero/product-features.tsx index 254cb1f1..6338a34a 100644 --- a/animata/hero/product-features.tsx +++ b/animata/hero/product-features.tsx @@ -25,12 +25,12 @@ function FeatureCard({ feature, className, zIndexOffset = 0, ...props }: Feature <> <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"> + <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> diff --git a/animata/widget/battery.tsx b/animata/widget/battery.tsx index d85ee84a..bdb2ac7a 100644 --- a/animata/widget/battery.tsx +++ b/animata/widget/battery.tsx @@ -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-gradient-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/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/direction-card.tsx b/animata/widget/direction-card.tsx index 32a85388..1dc509fa 100644 --- a/animata/widget/direction-card.tsx +++ b/animata/widget/direction-card.tsx @@ -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/music-stack-interaction.tsx b/animata/widget/music-stack-interaction.tsx index 72b06cf9..54478619 100644 --- a/animata/widget/music-stack-interaction.tsx +++ b/animata/widget/music-stack-interaction.tsx @@ -88,7 +88,7 @@ export default function MusicStackInteraction({ albums }: albumsProps) { /> <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-gradient-to-b from-transparent to-gray-800/50 px-4 py-2 text-white" > <motion.h3 layout className="font-semibold leading-tight"> {album.title} diff --git a/animata/widget/team-clock.tsx b/animata/widget/team-clock.tsx index 9205be2d..b1532764 100644 --- a/animata/widget/team-clock.tsx +++ b/animata/widget/team-clock.tsx @@ -367,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} diff --git a/animata/widget/weather-card.tsx b/animata/widget/weather-card.tsx index c6b8c3bc..6d84bd44 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-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="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/app/(main)/_landing/call-to-action.tsx b/app/(main)/_landing/call-to-action.tsx index cd396fd1..77513fd7 100644 --- a/app/(main)/_landing/call-to-action.tsx +++ b/app/(main)/_landing/call-to-action.tsx @@ -35,7 +35,7 @@ export default function CallToActionSection() { <div className="mx-auto flex w-full max-w-2xl flex-row items-center justify-center gap-4"> <Link href="/docs" - className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 bg-opacity-100 py-12 transition-all duration-100 hover:scale-105 hover:bg-opacity-50 dark:border-zinc-600 dark:bg-zinc-800" + className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 py-12 transition-all duration-100 hover:scale-105 hover:bg-gray-100/25 dark:border-zinc-600 dark:bg-zinc-800" > <Navigation className="size-10 md:size-14" /> <div className="text-balance px-4 text-center text-sm font-bold sm:text-base md:text-lg"> @@ -44,7 +44,7 @@ export default function CallToActionSection() { </Link> <Link href="https://github.com/codse/animata" - className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 bg-opacity-100 py-12 transition-all duration-100 hover:scale-105 hover:bg-opacity-50 dark:border-zinc-600 dark:bg-zinc-800" + className="relative flex aspect-square min-h-52 w-full flex-col items-center justify-center gap-4 overflow-hidden rounded-xl border border-border bg-gray-100/50 py-12 transition-all duration-100 hover:scale-105 hover:bg-gray-100/25 dark:border-zinc-600 dark:bg-zinc-800" > <GitHubLogoIcon className="size-10 md:size-14" /> <div className="text-balance px-4 text-center text-sm font-bold sm:text-base md:text-lg"> diff --git a/components/site-header.tsx b/components/site-header.tsx index 5ccfc6ef..d9ba2e89 100644 --- a/components/site-header.tsx +++ b/components/site-header.tsx @@ -65,7 +65,7 @@ export function SiteHeader() { <Link href={siteConfig.links.github} target="_blank" - className="inline-block rounded-full bg-opacity-75 bg-gradient-to-br from-gray-100 from-5% via-zinc-50 via-60% to-slate-200 px-4 py-2 text-xs font-medium text-foreground dark:from-gray-900 dark:via-zinc-700 dark:to-slate-700" + className="inline-block rounded-full bg-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> From 891602ff70388440a200614f8cf77d231e224833 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Fri, 6 Mar 2026 21:23:43 +0545 Subject: [PATCH 08/63] fix: restore storybook.css and fix -z-1 for Tailwind v4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Restore missing styles/storybook.css (lost in migration) which defines storybook-fix class and embedded preview styles - Re-add storybook.css import to storybook preview config - Replace -z-1 with z-0 in components — in Tailwind v3 -z-1 was not a default utility (no-op), but in v4 it generates z-index:-1 which pushes elements behind the parent background Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .storybook/preview.tsx | 1 + animata/background/animated-beam.tsx | 2 +- animata/card/github-card-shiny.tsx | 2 +- animata/hero/product-features.tsx | 2 +- styles/storybook.css | 59 ++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 styles/storybook.css diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index e56b07a0..8f8a17bf 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -3,6 +3,7 @@ import type React from "react"; import { useEffect } from "react"; import "../styles/globals.css"; +import "../styles/storybook.css"; const isEmbedded = typeof window !== "undefined" && window.location.href.includes("site:docs"); diff --git a/animata/background/animated-beam.tsx b/animata/background/animated-beam.tsx index f8eb332f..26960ddb 100644 --- a/animata/background/animated-beam.tsx +++ b/animata/background/animated-beam.tsx @@ -67,7 +67,7 @@ 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-gradient-to-t from-indigo-900 to-indigo-950" > <div style={{ diff --git a/animata/card/github-card-shiny.tsx b/animata/card/github-card-shiny.tsx index 16110322..78969efe 100644 --- a/animata/card/github-card-shiny.tsx +++ b/animata/card/github-card-shiny.tsx @@ -34,7 +34,7 @@ export default function GithubCardShiny({ className }: { className?: string }) { <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:opacity-20" style={{ transform: "translate(var(--x), var(--y))", }} diff --git a/animata/hero/product-features.tsx b/animata/hero/product-features.tsx index 6338a34a..e3681ce8 100644 --- a/animata/hero/product-features.tsx +++ b/animata/hero/product-features.tsx @@ -23,7 +23,7 @@ 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" /> + <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-gradient-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} diff --git a/styles/storybook.css b/styles/storybook.css new file mode 100644 index 00000000..1c74d6d2 --- /dev/null +++ b/styles/storybook.css @@ -0,0 +1,59 @@ +/** Fix/improve storybook styles for embedding */ +.sbdocs-wrapper { + @apply !p-0 font-sans; + display: block !important; + min-height: unset !important; + + .sbdocs-content { + @apply !p-0; + } +} + +.sb-preparing-docs { + @apply !p-0; +} + +.sb-previewBlock, +.sb-argstableBlock { + @apply !mx-auto; + 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); + } +} + +.sbdocs-preview > div > div { + @apply overflow-hidden; +} From a3f7cd34f771259e15d90812dfd43003ca93fb93 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 11:31:55 +0545 Subject: [PATCH 09/63] fix(storybook): add @reference directive for Tailwind v4 @apply support Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- content/docs/{card => feature-cards}/notify-user-info.mdx | 0 content/docs/{card => feature-cards}/reminder-scheduler.mdx | 0 content/docs/{card => feature-cards}/score-card.mdx | 0 content/docs/{card => feature-cards}/subscribe-card.mdx | 0 content/docs/{card => feature-cards}/survey-card.mdx | 0 content/docs/{card => feature-cards}/swap-card.mdx | 0 content/docs/{card => feature-cards}/tilted-card.mdx | 0 styles/storybook.css | 2 ++ 8 files changed, 2 insertions(+) rename content/docs/{card => feature-cards}/notify-user-info.mdx (100%) rename content/docs/{card => feature-cards}/reminder-scheduler.mdx (100%) rename content/docs/{card => feature-cards}/score-card.mdx (100%) rename content/docs/{card => feature-cards}/subscribe-card.mdx (100%) rename content/docs/{card => feature-cards}/survey-card.mdx (100%) rename content/docs/{card => feature-cards}/swap-card.mdx (100%) rename content/docs/{card => feature-cards}/tilted-card.mdx (100%) diff --git a/content/docs/card/notify-user-info.mdx b/content/docs/feature-cards/notify-user-info.mdx similarity index 100% rename from content/docs/card/notify-user-info.mdx rename to content/docs/feature-cards/notify-user-info.mdx diff --git a/content/docs/card/reminder-scheduler.mdx b/content/docs/feature-cards/reminder-scheduler.mdx similarity index 100% rename from content/docs/card/reminder-scheduler.mdx rename to content/docs/feature-cards/reminder-scheduler.mdx diff --git a/content/docs/card/score-card.mdx b/content/docs/feature-cards/score-card.mdx similarity index 100% rename from content/docs/card/score-card.mdx rename to content/docs/feature-cards/score-card.mdx diff --git a/content/docs/card/subscribe-card.mdx b/content/docs/feature-cards/subscribe-card.mdx similarity index 100% rename from content/docs/card/subscribe-card.mdx rename to content/docs/feature-cards/subscribe-card.mdx diff --git a/content/docs/card/survey-card.mdx b/content/docs/feature-cards/survey-card.mdx similarity index 100% rename from content/docs/card/survey-card.mdx rename to content/docs/feature-cards/survey-card.mdx diff --git a/content/docs/card/swap-card.mdx b/content/docs/feature-cards/swap-card.mdx similarity index 100% rename from content/docs/card/swap-card.mdx rename to content/docs/feature-cards/swap-card.mdx diff --git a/content/docs/card/tilted-card.mdx b/content/docs/feature-cards/tilted-card.mdx similarity index 100% rename from content/docs/card/tilted-card.mdx rename to content/docs/feature-cards/tilted-card.mdx diff --git a/styles/storybook.css b/styles/storybook.css index 1c74d6d2..f6c3ac00 100644 --- a/styles/storybook.css +++ b/styles/storybook.css @@ -1,3 +1,5 @@ +@reference "tailwindcss"; + /** Fix/improve storybook styles for embedding */ .sbdocs-wrapper { @apply !p-0 font-sans; From a3a1199b1b1cc5d21f0ba9ef46efdc64c19a9edb Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 11:32:03 +0545 Subject: [PATCH 10/63] fix(components): fix animations for Tailwind v4 and Motion v12 Marquee and animated-beam: inline @keyframes and animation styles to bypass @theme variable indirection broken in Storybook webpack context. Jumping text: fix spring animation with keyframe arrays unsupported in Motion v12. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/animated-beam.tsx | 9 ++++++++- animata/container/marquee.tsx | 20 ++++++++++++++++++-- animata/text/jumping-text-instagram.tsx | 21 ++++++++++----------- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/animata/background/animated-beam.tsx b/animata/background/animated-beam.tsx index 26960ddb..dfb625f7 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 @@ -69,6 +70,12 @@ function Background() { ref={containerRef} className="z-0 absolute inset-0 flex h-full w-full flex-row justify-between bg-gradient-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: diff --git a/animata/container/marquee.tsx b/animata/container/marquee.tsx index fa318f10..f1e7cd61 100644 --- a/animata/container/marquee.tsx +++ b/animata/container/marquee.tsx @@ -54,14 +54,30 @@ export default function Marquee({ className, )} > + <style>{` + @keyframes marquee-x { + from { transform: translateX(0); } + to { transform: translateX(calc(-100% - var(--gap))); } + } + @keyframes marquee-y { + from { transform: translateY(0); } + to { transform: translateY(calc(-100% - var(--gap))); } + } + .marquee-horizontal { + animation: marquee-x var(--duration) infinite linear; + } + .marquee-vertical { + animation: marquee-y var(--duration) infinite linear; + } + `}</style> {Array.from({ length: repeat }).map((_, index) => ( <div key={`item-${index}`} className={cn("flex shrink-0 [gap:var(--gap)]", { "group-hover:[animation-play-state:paused]": pauseOnHover, "[animation-direction:reverse]": reverse, - "animate-marquee-horizontal flex-row": !vertical, - "animate-marquee-vertical flex-col": vertical, + "marquee-horizontal flex-row": !vertical, + "marquee-vertical flex-col": vertical, })} > {children} diff --git a/animata/text/jumping-text-instagram.tsx b/animata/text/jumping-text-instagram.tsx index 5ec6eb5d..2edd1d0b 100644 --- a/animata/text/jumping-text-instagram.tsx +++ b/animata/text/jumping-text-instagram.tsx @@ -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" > From 1ffeed2b24b542f9d03cf387af77a782b06525a4 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 11:32:10 +0545 Subject: [PATCH 11/63] chore(docs): unpublish subpar and broken components Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- content/docs/accordion/faq.mdx | 1 + content/docs/button/external-link-button.mdx | 1 + content/docs/card/comment-reply-card.mdx | 1 + content/docs/card/email-feature-card.mdx | 1 + content/docs/card/integration-pills.mdx | 1 + content/docs/card/notice-card.mdx | 1 + content/docs/card/notification-card.mdx | 1 + content/docs/card/staggered-card.mdx | 1 + content/docs/card/webhooks-card.mdx | 1 + content/docs/carousel/expandable.mdx | 1 + content/docs/carousel/image-carousel.mdx | 1 + content/docs/container/fibonacci-lines.mdx | 1 + content/docs/container/nav-tabs.mdx | 1 + content/docs/text/mask-text.mdx | 1 + 14 files changed, 14 insertions(+) diff --git a/content/docs/accordion/faq.mdx b/content/docs/accordion/faq.mdx index bf95f4d8..e81f6252 100644 --- a/content/docs/accordion/faq.mdx +++ b/content/docs/accordion/faq.mdx @@ -2,6 +2,7 @@ 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--primary" /> diff --git a/content/docs/button/external-link-button.mdx b/content/docs/button/external-link-button.mdx index 7854ee7b..48b1363a 100644 --- a/content/docs/button/external-link-button.mdx +++ b/content/docs/button/external-link-button.mdx @@ -3,6 +3,7 @@ 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--primary" /> diff --git a/content/docs/card/comment-reply-card.mdx b/content/docs/card/comment-reply-card.mdx index 861d6eb1..5474cfc8 100644 --- a/content/docs/card/comment-reply-card.mdx +++ b/content/docs/card/comment-reply-card.mdx @@ -2,6 +2,7 @@ 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--primary" /> diff --git a/content/docs/card/email-feature-card.mdx b/content/docs/card/email-feature-card.mdx index 34a9b775..5dca150c 100644 --- a/content/docs/card/email-feature-card.mdx +++ b/content/docs/card/email-feature-card.mdx @@ -2,6 +2,7 @@ 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--primary" /> diff --git a/content/docs/card/integration-pills.mdx b/content/docs/card/integration-pills.mdx index a977cf3d..5106e59b 100644 --- a/content/docs/card/integration-pills.mdx +++ b/content/docs/card/integration-pills.mdx @@ -2,6 +2,7 @@ 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--primary" /> diff --git a/content/docs/card/notice-card.mdx b/content/docs/card/notice-card.mdx index f3fb9c4b..bd3fd657 100644 --- a/content/docs/card/notice-card.mdx +++ b/content/docs/card/notice-card.mdx @@ -3,6 +3,7 @@ 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" /> diff --git a/content/docs/card/notification-card.mdx b/content/docs/card/notification-card.mdx index ff32bd57..549bb076 100644 --- a/content/docs/card/notification-card.mdx +++ b/content/docs/card/notification-card.mdx @@ -2,6 +2,7 @@ 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--primary" /> diff --git a/content/docs/card/staggered-card.mdx b/content/docs/card/staggered-card.mdx index 743b184e..a45945de 100644 --- a/content/docs/card/staggered-card.mdx +++ b/content/docs/card/staggered-card.mdx @@ -3,6 +3,7 @@ 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--primary" /> diff --git a/content/docs/card/webhooks-card.mdx b/content/docs/card/webhooks-card.mdx index db25a465..678ed1d0 100644 --- a/content/docs/card/webhooks-card.mdx +++ b/content/docs/card/webhooks-card.mdx @@ -3,6 +3,7 @@ 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--primary" /> diff --git a/content/docs/carousel/expandable.mdx b/content/docs/carousel/expandable.mdx index 7a74b0c7..c5a630f0 100644 --- a/content/docs/carousel/expandable.mdx +++ b/content/docs/carousel/expandable.mdx @@ -3,6 +3,7 @@ title: Expandable description: On hover, the image expands to show image details. author: morphhyy labels: ["requires interaction", "hover"] +published: false --- <ComponentPreview name="carousel-expandable--primary" /> diff --git a/content/docs/carousel/image-carousel.mdx b/content/docs/carousel/image-carousel.mdx index 4a630f50..45fc8ee9 100644 --- a/content/docs/carousel/image-carousel.mdx +++ b/content/docs/carousel/image-carousel.mdx @@ -3,6 +3,7 @@ title: Image Carousel description: A responsive carousel for your projects labels: ["requires interaction", "click"] author: AdashBaral +published: false --- <ComponentPreview name="carousel-image-carousel--primary" /> diff --git a/content/docs/container/fibonacci-lines.mdx b/content/docs/container/fibonacci-lines.mdx index ebe97547..d042abcb 100644 --- a/content/docs/container/fibonacci-lines.mdx +++ b/content/docs/container/fibonacci-lines.mdx @@ -2,6 +2,7 @@ title: Fibonacci Lines description: A component that creates lines using fibonacci numbers author: harimanok_ +published: false --- <ComponentPreview name="container-fibonacci-lines--primary" /> diff --git a/content/docs/container/nav-tabs.mdx b/content/docs/container/nav-tabs.mdx index 66a5996b..9329dca1 100644 --- a/content/docs/container/nav-tabs.mdx +++ b/content/docs/container/nav-tabs.mdx @@ -3,6 +3,7 @@ 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--primary" /> diff --git a/content/docs/text/mask-text.mdx b/content/docs/text/mask-text.mdx index 1715a5a9..3498fcd1 100644 --- a/content/docs/text/mask-text.mdx +++ b/content/docs/text/mask-text.mdx @@ -3,6 +3,7 @@ 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--primary" /> From e348ca3fe339d8fed1438b30f319a6c43643c10a Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 11:32:22 +0545 Subject: [PATCH 12/63] chore(deps): add @tailwindcss/typography, @xyflow/react, and sonner Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- package.json | 3 + yarn.lock | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 229 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d71b452f..1750234e 100644 --- a/package.json +++ b/package.json @@ -34,8 +34,10 @@ "@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", @@ -65,6 +67,7 @@ "remark-gfm": "^4.0.0", "schema-dts": "^1.1.2", "shiki": "^3.0.0", + "sonner": "^2.0.7", "tailwind-merge": "^3.0.0", "tsparticles": "^3.5.0", "tw-animate-css": "^1.4.0", diff --git a/yarn.lock b/yarn.lock index f722f7ab..e02a8549 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5057,6 +5057,17 @@ __metadata: languageName: node linkType: hard +"@tailwindcss/typography@npm:^0.5.19": + version: 0.5.19 + resolution: "@tailwindcss/typography@npm:0.5.19" + dependencies: + postcss-selector-parser: "npm:6.0.10" + peerDependencies: + tailwindcss: "*" + checksum: 10c0/b9eb38e9c7adca59b55d7321275f59ea62c7d65a0c3d324c18c1c5864c69ec6e15b838e7df61e531cda62cfea08627b4343bc419bb0996182321891e5171e4d6 + languageName: node + linkType: hard + "@testing-library/jest-dom@npm:^6.6.3": version: 6.9.1 resolution: "@testing-library/jest-dom@npm:6.9.1" @@ -5596,6 +5607,57 @@ __metadata: languageName: node linkType: hard +"@types/d3-color@npm:*": + version: 3.1.3 + resolution: "@types/d3-color@npm:3.1.3" + checksum: 10c0/65eb0487de606eb5ad81735a9a5b3142d30bc5ea801ed9b14b77cb14c9b909f718c059f13af341264ee189acf171508053342142bdf99338667cea26a2d8d6ae + languageName: node + linkType: hard + +"@types/d3-drag@npm:^3.0.7": + version: 3.0.7 + resolution: "@types/d3-drag@npm:3.0.7" + dependencies: + "@types/d3-selection": "npm:*" + checksum: 10c0/65e29fa32a87c72d26c44b5e2df3bf15af21cd128386bcc05bcacca255927c0397d0cd7e6062aed5f0abd623490544a9d061c195f5ed9f018fe0b698d99c079d + languageName: node + linkType: hard + +"@types/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/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/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/d3-zoom@npm:^3.0.8": + version: 3.0.8 + resolution: "@types/d3-zoom@npm:3.0.8" + dependencies: + "@types/d3-interpolate": "npm:*" + "@types/d3-selection": "npm:*" + checksum: 10c0/1dbdbcafddcae12efb5beb6948546963f29599e18bc7f2a91fb69cc617c2299a65354f2d47e282dfb86fec0968406cd4fb7f76ba2d2fb67baa8e8d146eb4a547 + languageName: node + linkType: hard + "@types/debug@npm:^4.0.0": version: 4.1.12 resolution: "@types/debug@npm:4.1.12" @@ -6017,6 +6079,37 @@ __metadata: languageName: node linkType: hard +"@xyflow/react@npm:^12.10.1": + version: 12.10.1 + resolution: "@xyflow/react@npm:12.10.1" + dependencies: + "@xyflow/system": "npm:0.0.75" + classcat: "npm:^5.0.3" + zustand: "npm:^4.4.0" + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: 10c0/7fbcbb99a67f2a74a30408d070dba5dab006658add73949773e7475d91563f3762dd40ac2ece4007fc2e7c2918c3448615048875f0dd634e56e1b3b513a6fc39 + languageName: node + linkType: hard + +"@xyflow/system@npm:0.0.75": + version: 0.0.75 + resolution: "@xyflow/system@npm:0.0.75" + dependencies: + "@types/d3-drag": "npm:^3.0.7" + "@types/d3-interpolate": "npm:^3.0.4" + "@types/d3-selection": "npm:^3.0.10" + "@types/d3-transition": "npm:^3.0.8" + "@types/d3-zoom": "npm:^3.0.8" + d3-drag: "npm:^3.0.0" + d3-interpolate: "npm:^3.0.1" + d3-selection: "npm:^3.0.0" + d3-zoom: "npm:^3.0.0" + checksum: 10c0/d7d838465825e6267bd43b169b97ff11b08b313397dde5e249634c2526e1728e0f5bc4b092650d0c970eb13950f1415677926d46dc371faf79a2f46ea1e91ede + languageName: node + linkType: hard + "JSONStream@npm:^1.3.5": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" @@ -6211,6 +6304,7 @@ __metadata: "@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" @@ -6220,6 +6314,7 @@ __metadata: "@types/prompts": "npm:^2" "@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" @@ -6251,6 +6346,7 @@ __metadata: remark-gfm: "npm:^4.0.0" schema-dts: "npm:^1.1.2" 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" @@ -6986,6 +7082,13 @@ __metadata: languageName: node linkType: hard +"classcat@npm:^5.0.3": + version: 5.0.5 + resolution: "classcat@npm:5.0.5" + checksum: 10c0/ff8d273055ef9b518529cfe80fd0486f7057a9917373807ff802d75ceb46e8f8e148f41fa094ee7625c8f34642cfaa98395ff182d9519898da7cbf383d4a210d + languageName: node + linkType: hard + "clean-css@npm:^5.2.2": version: 5.3.3 resolution: "clean-css@npm:5.3.3" @@ -7523,6 +7626,88 @@ __metadata: languageName: node linkType: hard +"d3-color@npm:1 - 3": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 10c0/a4e20e1115fa696fce041fbe13fbc80dc4c19150fa72027a7c128ade980bc0eeeba4bcf28c9e21f0bce0e0dbfe7ca5869ef67746541dcfda053e4802ad19783c + languageName: node + linkType: hard + +"d3-dispatch@npm:1 - 3": + version: 3.0.1 + resolution: "d3-dispatch@npm:3.0.1" + checksum: 10c0/6eca77008ce2dc33380e45d4410c67d150941df7ab45b91d116dbe6d0a3092c0f6ac184dd4602c796dc9e790222bad3ff7142025f5fd22694efe088d1d941753 + languageName: node + linkType: hard + +"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 + +"d3-ease@npm:1 - 3": + version: 3.0.1 + resolution: "d3-ease@npm:3.0.1" + checksum: 10c0/fec8ef826c0cc35cda3092c6841e07672868b1839fcaf556e19266a3a37e6bc7977d8298c0fcb9885e7799bfdcef7db1baaba9cd4dcf4bc5e952cf78574a88b0 + languageName: node + linkType: hard + +"d3-interpolate@npm:1 - 3, d3-interpolate@npm:^3.0.1": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" + dependencies: + d3-color: "npm:1 - 3" + checksum: 10c0/19f4b4daa8d733906671afff7767c19488f51a43d251f8b7f484d5d3cfc36c663f0a66c38fe91eee30f40327443d799be17169f55a293a3ba949e84e57a33e6a + languageName: node + linkType: hard + +"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 + +"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: + 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 + +"d3-zoom@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-zoom@npm:3.0.0" + dependencies: + 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" @@ -12113,6 +12298,16 @@ __metadata: languageName: node linkType: hard +"postcss-selector-parser@npm:6.0.10": + version: 6.0.10 + resolution: "postcss-selector-parser@npm:6.0.10" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/a0b27c5e3f7604c8dc7cd83f145fdd7b21448e0d86072da99e0d78e536ba27aa9db2d42024c50aa530408ee517c4bdc0260529e1afb56608f9a82e839c207e82 + languageName: node + linkType: hard + "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" @@ -13584,6 +13779,16 @@ __metadata: languageName: node linkType: hard +"sonner@npm:^2.0.7": + version: 2.0.7 + resolution: "sonner@npm:2.0.7" + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + checksum: 10c0/6966ab5e892ed6aab579a175e4a24f3b48747f0fc21cb68c3e33cb41caa7a0eebeb098c210545395e47a18d585eb8734ae7dd12d2bd18c8a3294a1ee73f997d9 + languageName: node + linkType: hard + "source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0": version: 1.2.0 resolution: "source-map-js@npm:1.2.0" @@ -14694,7 +14899,7 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:^1.5.0": +"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: @@ -15227,6 +15432,26 @@ __metadata: languageName: node linkType: hard +"zustand@npm:^4.4.0": + version: 4.5.7 + resolution: "zustand@npm:4.5.7" + dependencies: + use-sync-external-store: "npm:^1.2.2" + peerDependencies: + "@types/react": ">=16.8" + immer: ">=9.0.6" + react: ">=16.8" + peerDependenciesMeta: + "@types/react": + optional: true + immer: + optional: true + react: + optional: true + checksum: 10c0/55559e37a82f0c06cadc61cb08f08314c0fe05d6a93815e41e3376130c13db22a5017cbb0cd1f018c82f2dad0051afe3592561d40f980bd4082e32005e8a950c + languageName: node + linkType: hard + "zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4" From ebb98a8cc22a63718fd31775cce1f123f2af4bf1 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 14:47:13 +0545 Subject: [PATCH 13/63] feat(orbiting-items): premium styling with dark theme and colored icons Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/list/orbiting-items-3-d.tsx | 30 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/animata/list/orbiting-items-3-d.tsx b/animata/list/orbiting-items-3-d.tsx index 6c059274..aaf77a23 100644 --- a/animata/list/orbiting-items-3-d.tsx +++ b/animata/list/orbiting-items-3-d.tsx @@ -6,19 +6,29 @@ 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-0 h-32 w-32 animate-float rounded-full bg-gradient-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 { @@ -137,7 +147,7 @@ export default function OrbitingItems3D({ > <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-gradient-to-br from-slate-950 via-purple-950 to-slate-900", backgroundClassName, )} /> @@ -152,7 +162,7 @@ export default function OrbitingItems3D({ 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" + 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={CalculateItemStyle({ index, radiusX, From 33e583e4998ab01f58d754ba2d495cb3c1e4453b Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 14:47:20 +0545 Subject: [PATCH 14/63] refactor(mdx): remove all any types with proper UnistNode/UnistTree typing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/mdx-components.tsx | 95 +++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 42 deletions(-) diff --git a/components/mdx-components.tsx b/components/mdx-components.tsx index cf33d14b..6c1df602 100644 --- a/components/mdx-components.tsx +++ b/components/mdx-components.tsx @@ -1,12 +1,16 @@ +import type { CompileOptions } from "@mdx-js/mdx"; import Link from "next/link"; import { MDXRemote } from "next-mdx-remote/rsc"; import type { ComponentProps, HTMLAttributes } from "react"; import rehypeAutolinkHeadings from "rehype-autolink-headings"; -import rehypePrettyCode from "rehype-pretty-code"; +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 } from "types/unist"; +import type { NpmCommands, TouchCommands, UnistNode, UnistTree } from "types/unist"; import { visit } from "unist-util-visit"; import { VFile } from "vfile"; @@ -36,49 +40,53 @@ import { cn } from "@/lib/utils"; import { baseComponents } from "./mdx-base-components"; -/* eslint-disable @typescript-eslint/no-explicit-any */ -const setupCodeSnippet = () => (tree: any) => { - visit(tree, (node: any) => { +const setupCodeSnippet = () => (tree: UnistTree) => { + visit(tree, (node: UnistNode) => { if (node?.type === "element" && node?.tagName === "pre") { - const [codeEl] = node.children; - if (codeEl.tagName !== "code") { + const [codeEl] = node.children ?? []; + if (codeEl?.tagName !== "code") { return; } - if (codeEl.data?.meta) { + const meta = (codeEl as UnistNode & { data?: { meta?: string } }).data?.meta; + if (meta) { const regex = /event="([^"]*)"/; - const match = codeEl.data?.meta.match(regex); + const match = meta.match(regex); if (match) { - node.__event__ = match[1]; - codeEl.data.meta = codeEl.data.meta.replace(regex, ""); + (node as UnistNode & { __event__?: string }).__event__ = match[1]; + (codeEl as UnistNode & { data?: { meta?: string } }).data!.meta = meta.replace(regex, ""); } - const copyId = codeEl.data?.meta.match(/copyId="([^"]*)"/); + const copyId = meta.match(/copyId="([^"]*)"/); if (copyId) { - node.__copyId__ = copyId[1]; + (node as UnistNode & { __copyId__?: string }).__copyId__ = copyId[1]; } } - node.__rawString__ = codeEl.children?.[0].value; + (node as UnistNode & { __rawString__?: string }).__rawString__ = codeEl.children?.[0]?.value; } }); }; -const postProcess = () => (tree: any) => { - visit(tree, "element", (node: any) => { - if (node.__rawString__) { +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") { + 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) pre.properties = {}; + pre.properties.__copyId__ = rawNode.__copyId__; + pre.properties.__rawString__ = rawNode.__rawString__; + Reflect.deleteProperty(rawNode, "__rawString__"); + Reflect.deleteProperty(rawNode, "__copyId__"); - if (pre.properties?.__rawString__?.startsWith("mkdir")) { - const path = pre.properties?.__rawString__.split(" ").pop(); + const rawString = pre.properties.__rawString__ as string | undefined; + + if (rawString?.startsWith("mkdir")) { + const path = rawString.split(" ").pop(); if (!path) { return; } @@ -89,12 +97,11 @@ const postProcess = () => (tree: any) => { 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"); + 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"); } } } @@ -280,23 +287,27 @@ function stripImports(code: string) { } function resolveImports(imports: Array<{ name: string; subpath: string }>) { - const resolved: Record<string, any> = {}; + const resolved: Record<string, React.ComponentType<Record<string, unknown>>> = {}; for (const { name, subpath } of imports) { - resolved[name] = (props: any) => <AnimataRenderer subpath={subpath} {...props} />; + resolved[name] = (props: Record<string, unknown>) => ( + <AnimataRenderer subpath={subpath} {...props} /> + ); } return resolved; } -const mdxOptions = { +const mdxOptions: Omit<CompileOptions, "outputFormat" | "providerImportSource"> & { + useDynamicImport?: boolean; +} = { remarkPlugins: [remarkGfm, codeImport], rehypePlugins: [ setupCodeSnippet, rehypeSlug, [ - rehypePrettyCode as any, + rehypePrettyCode, { theme: "github-dark", - onVisitLine(node: any) { + onVisitLine(node: LineElement) { if (node.children.length === 0) { node.children = [{ type: "text", value: " " }]; } @@ -304,13 +315,13 @@ const mdxOptions = { node.properties.className = ["line"]; } }, - onVisitHighlightedLine(node: any) { - node.properties.className.push("line--highlighted"); + onVisitHighlightedLine(node: LineElement) { + (node.properties.className as string[]).push("line--highlighted"); }, - onVisitHighlightedWord(node: any) { + onVisitHighlightedChars(node: LineElement) { node.properties.className = ["word--highlighted"]; }, - }, + } satisfies PrettyCodeOptions, ], [ rehypeAutolinkHeadings, @@ -335,8 +346,8 @@ export async function Mdx({ code, filePath }: MdxProps) { <div className="mdx"> <MDXRemote source={source} - components={{ ...components, ...dynamicComponents } as any} - options={{ mdxOptions: mdxOptions as any }} + components={{ ...components, ...dynamicComponents }} + options={{ mdxOptions: mdxOptions }} /> </div> ); From e0a17d91c1f020ab7da464dd8460c73a0ac641be Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 14:47:58 +0545 Subject: [PATCH 15/63] feat(storybook): enable autodocs with controls in embedded preview Switch embedded preview from story view to docs view with interactive Controls. Add embedded class to body for proper CSS targeting, measure full docs container height, and hide docs chrome in embedded mode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .storybook/main.ts | 4 +-- .storybook/preview.tsx | 48 ++++++++++++++++++++++++-------- components/component-preview.tsx | 8 ++++-- styles/storybook.css | 38 +++++++++++++++++++------ 4 files changed, 73 insertions(+), 25 deletions(-) diff --git a/.storybook/main.ts b/.storybook/main.ts index 88ec0dea..d195b829 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -7,8 +7,6 @@ const config: StorybookConfig = { name: "@storybook/nextjs", options: {}, }, - docs: { - autodocs: false, - }, + tags: {}, }; export default config; diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 8f8a17bf..ccc9311f 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -1,13 +1,20 @@ +import { Controls, Description, Primary, Subtitle, Title } from "@storybook/addon-docs/blocks"; import type { Preview } from "@storybook/react"; -import type React from "react"; -import { useEffect } from "react"; +// @ts-nocheck importing react to fix type warning +import { type ReactNode, useEffect } from "react"; import "../styles/globals.css"; import "../styles/storybook.css"; -const isEmbedded = typeof window !== "undefined" && window.location.href.includes("site:docs"); +const isEmbedded = typeof window !== "undefined" && window.location.href.includes("docs-view"); -const ThemeWrapper = ({ children }: { children: React.ReactNode }) => { +// Add embedded class to body so CSS selectors like .embedded .docs-story work +// regardless of whether we're in story or docs view mode +if (isEmbedded && typeof document !== "undefined") { + document.body.classList.add("embedded"); +} + +const ThemeWrapper = ({ children }: { children: ReactNode }) => { const params = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null; const globals = params?.get("globals") ?? ""; const isDark = @@ -17,28 +24,36 @@ const ThemeWrapper = ({ children }: { children: React.ReactNode }) => { useEffect(() => { if (!isEmbedded) return; + // Apply dark theme class to body for embedded mode + if (theme === "dark") { + document.body.classList.add("dark"); + } else { + document.body.classList.remove("dark"); + } + const sendHeight = () => { - const el = document.querySelector(".embedded"); + // In docs view, measure the full docs container (sbdocs-wrapper) rather than + // just the story canvas, so Controls/Title/Stories are included + const el = + document.querySelector(".sbdocs-wrapper") ?? document.querySelector("#storybook-root"); if (!el) return; - window.parent.postMessage({ type: "animata-set-height", height: el.clientHeight }, "*"); + window.parent.postMessage({ type: "animata-set-height", height: el.scrollHeight }, "*"); }; sendHeight(); const observer = new MutationObserver(sendHeight); observer.observe(document.body, { childList: true, subtree: true, attributes: true }); return () => observer.disconnect(); - }, []); + }, [theme]); return ( - <div - className={isEmbedded ? `embedded ${theme}`.trim() : ""} - style={{ padding: isEmbedded ? 0 : "4rem 20px" }} - > + <div className={theme} style={{ padding: isEmbedded ? 0 : "4rem 20px" }}> {children} </div> ); }; const preview: Preview = { + tags: ["autodocs"], decorators: [ (Story) => ( <ThemeWrapper> @@ -53,6 +68,17 @@ const preview: Preview = { date: /Date$/i, }, }, + docs: { + page: () => ( + <> + <Title /> + <Subtitle /> + <Description /> + <Primary /> + <Controls /> + </> + ), + }, }, }; diff --git a/components/component-preview.tsx b/components/component-preview.tsx index ed9df886..80fef24e 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -1,7 +1,7 @@ "use client"; import { useTheme } from "next-themes"; -import * as React from "react"; +import React from "react"; import { Icons } from "@/components/icons"; import { cn } from "@/lib/utils"; @@ -40,7 +40,7 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview return ( <div className={cn("group relative", className)} {...props}> <div - className={cn("preview relative w-full max-w-full !overflow-hidden")} + className={cn("preview relative w-full max-w-full overflow-hidden!")} style={{ minHeight: "200px", height: `${Math.max(200, minHeight)}px`, @@ -53,10 +53,12 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview Loading... </div> } + key={name} > <iframe - src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=${themeParam}&id=${name}&viewMode=story`} + src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=${themeParam}&id=${name.replace(/--[^-]+$/, "--docs")}&viewMode=docs&r=docs-view`} className="w-full" + title="preview" style={{ minHeight: "200px", height: `${Math.max(200, minHeight)}px`, diff --git a/styles/storybook.css b/styles/storybook.css index f6c3ac00..a9cf0d91 100644 --- a/styles/storybook.css +++ b/styles/storybook.css @@ -1,29 +1,43 @@ @reference "tailwindcss"; -/** Fix/improve storybook styles for embedding */ +/** 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 { +#storybook-root { + width: 100%; + /* biome-ignore lint/complexity/noImportantStyles: override Storybook inline styles */ + padding: 0 !important; + display: flex; + justify-content: center; + align-items: center; +} + +body.embedded { .sbdocs { - @apply !m-0; + @apply m-0!; } .innerZoomElementWrapper { @@ -51,11 +65,19 @@ } .docblock-argstable { - @apply !mb-0; + @apply mb-0!; max-width: calc(100% - 2px); } + + /* Hide docs chrome elements in embedded view */ + .sbdocs-title, + .sbdocs-subtitle, + .sbdocs-description { + display: none; + } } +/* biome-ignore lint/style/noDescendingSpecificity: separate context from body.embedded selectors */ .sbdocs-preview > div > div { @apply overflow-hidden; } From 0c79b7f5beaf52ed0e0b945f2c0f3907b77fe196 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 14:48:35 +0545 Subject: [PATCH 16/63] fix(storybook): hide zoom controls and borders in embedded preview Add transparent background and no-grid globals to iframe URL. Hide zoom bar and remove story preview borders in embedded mode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 2 +- styles/storybook.css | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 80fef24e..8a513609 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -56,7 +56,7 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview key={name} > <iframe - src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=${themeParam}&id=${name.replace(/--[^-]+$/, "--docs")}&viewMode=docs&r=docs-view`} + src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=backgrounds.grid:!false;${themeParam};backgrounds.value:!transparent&viewMode=docs&id=${name.replace(/--[^-]+$/, "--docs")}&r=docs-view`} className="w-full" title="preview" style={{ diff --git a/styles/storybook.css b/styles/storybook.css index a9cf0d91..9a971626 100644 --- a/styles/storybook.css +++ b/styles/storybook.css @@ -75,6 +75,25 @@ body.embedded { .sbdocs-description { display: none; } + + /* Hide zoom controls */ + .sb-bar, + [class*="zoom"], + button[title="Zoom in"], + button[title="Zoom out"], + button[title="Reset zoom"] { + display: none; + } + + /* Remove story preview borders */ + .docs-story, + .sbdocs-preview { + @apply border-none!; + } + + .sb-previewBlock { + @apply border-none! shadow-none!; + } } /* biome-ignore lint/style/noDescendingSpecificity: separate context from body.embedded selectors */ From 17cb76a82343e338ed4a6c7d97be67b849c42307 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 14:49:51 +0545 Subject: [PATCH 17/63] fix(styles): convert step/chunk-container to @utility for Tailwind v4 Tailwind v4 requires @utility syntax instead of @layer utilities for custom utilities with pseudo-element selectors to work properly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- styles/globals.css | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/styles/globals.css b/styles/globals.css index 084fd02b..32a8d361 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -470,22 +470,20 @@ 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 chunk-container { + @apply shadow-none; - .chunk-container::after { + &::after { content: ""; @apply absolute -inset-4 rounded-xl border shadow-xl; } From 1aec830c0582a5dd9bf5e831fc89ac0958b39156 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 21:32:09 +0545 Subject: [PATCH 18/63] fix(mdx): add relative positioning to Step for counter circles The step counter ::before pseudo-element uses position: absolute but the h3 had no positioned ancestor, making the numbers invisible. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/mdx-components.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/mdx-components.tsx b/components/mdx-components.tsx index 6c1df602..79266d9f 100644 --- a/components/mdx-components.tsx +++ b/components/mdx-components.tsx @@ -204,7 +204,7 @@ const components = { Step: ({ className, ...props }: ComponentProps<"h3">) => ( <h3 className={cn( - "font-heading mt-8 scroll-m-20 text-xl font-semibold tracking-tight", + "font-heading relative mt-8 scroll-m-20 text-xl font-semibold tracking-tight", className, )} {...props} From 3494902483bd7ff37c4f60865e977b0dac445ccc Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 21:37:58 +0545 Subject: [PATCH 19/63] fix(storybook): sync docs theme with parent app light/dark mode Read theme from URL globals parameter and apply matching Storybook theme (light/dark) to the docs view so controls and chrome match. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .storybook/preview.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index ccc9311f..667379e1 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -2,12 +2,22 @@ import { Controls, Description, Primary, Subtitle, Title } from "@storybook/addo import type { Preview } from "@storybook/react"; // @ts-nocheck importing react to fix type warning import { type ReactNode, useEffect } from "react"; +import { themes } from "storybook/theming"; import "../styles/globals.css"; import "../styles/storybook.css"; const isEmbedded = typeof window !== "undefined" && window.location.href.includes("docs-view"); +// Detect theme from URL globals parameter +const urlParams = + typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null; +const urlGlobals = urlParams?.get("globals") ?? ""; +const urlIsDark = + urlGlobals.includes("theme:dark") || + (!urlGlobals.includes("theme:light") && urlGlobals.includes("dark")); +const storybookTheme = urlIsDark ? themes.dark : themes.light; + // Add embedded class to body so CSS selectors like .embedded .docs-story work // regardless of whether we're in story or docs view mode if (isEmbedded && typeof document !== "undefined") { @@ -69,6 +79,7 @@ const preview: Preview = { }, }, docs: { + theme: storybookTheme, page: () => ( <> <Title /> From 827daa51f289a233b761f9902f33b21c8b299636 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 21:39:50 +0545 Subject: [PATCH 20/63] fix(preview): wait for mount to detect resolved theme for storybook resolvedTheme is undefined during SSR; wait for client mount so the correct light/dark theme is passed to the storybook iframe. Also key the iframe on theme so it remounts on theme change. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 8a513609..4099b3c1 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -16,10 +16,12 @@ interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> { export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { const [minHeight, setMinHeight] = React.useState<number>(350); + const [mounted, setMounted] = React.useState(false); const { resolvedTheme } = useTheme(); React.useEffect(() => { + setMounted(true); const eventListener = (event: MessageEvent) => { if (event.data.type === "animata-set-height") { setMinHeight(event.data.height); @@ -31,11 +33,8 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview }; }, []); - const theme = - resolvedTheme ?? - (typeof localStorage !== "undefined" ? localStorage?.getItem?.("theme") : "") ?? - ""; - const themeParam = theme === "dark" ? "theme:dark" : "theme:light"; + // Only render iframe after mount so resolvedTheme is accurate + const themeParam = mounted && resolvedTheme === "dark" ? "theme:dark" : "theme:light"; return ( <div className={cn("group relative", className)} {...props}> @@ -53,7 +52,7 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview Loading... </div> } - key={name} + key={`${name}-${themeParam}`} > <iframe src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=backgrounds.grid:!false;${themeParam};backgrounds.value:!transparent&viewMode=docs&id=${name.replace(/--[^-]+$/, "--docs")}&r=docs-view`} From 0a2f47dadb531b148477de164d11710ed3af1520 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 21:44:26 +0545 Subject: [PATCH 21/63] fix(storybook): restore missing semicolon after @apply mb-0! Linter removed the semicolon causing max-width to be parsed as part of the @apply directive, breaking the Storybook webpack build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- styles/storybook.css | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/styles/storybook.css b/styles/storybook.css index 9a971626..1e6587b6 100644 --- a/styles/storybook.css +++ b/styles/storybook.css @@ -44,8 +44,8 @@ body.embedded { @apply max-w-full; } - .sb-anchor:not(:first-child) { - @apply mt-4; + .sb-anchor { + @apply border-0; } .docs-story { @@ -69,6 +69,11 @@ body.embedded { max-width: calc(100% - 2px); } + .docblock-argstable-body td { + border-left: 0; + border-right: 0; + } + /* Hide docs chrome elements in embedded view */ .sbdocs-title, .sbdocs-subtitle, From a2e71ab1978466847bded00b9727d5bd0f4c837a Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 22:04:48 +0545 Subject: [PATCH 22/63] fix(storybook): read theme from Storybook globals context instead of URL Use context.globals.theme in the decorator instead of manually parsing URL query params. Storybook populates globals from the URL internally. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .storybook/preview.tsx | 47 ++++++++++++++---------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 667379e1..e50e6205 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -1,6 +1,5 @@ import { Controls, Description, Primary, Subtitle, Title } from "@storybook/addon-docs/blocks"; import type { Preview } from "@storybook/react"; -// @ts-nocheck importing react to fix type warning import { type ReactNode, useEffect } from "react"; import { themes } from "storybook/theming"; @@ -9,41 +8,19 @@ import "../styles/storybook.css"; const isEmbedded = typeof window !== "undefined" && window.location.href.includes("docs-view"); -// Detect theme from URL globals parameter -const urlParams = - typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null; -const urlGlobals = urlParams?.get("globals") ?? ""; -const urlIsDark = - urlGlobals.includes("theme:dark") || - (!urlGlobals.includes("theme:light") && urlGlobals.includes("dark")); -const storybookTheme = urlIsDark ? themes.dark : themes.light; - // Add embedded class to body so CSS selectors like .embedded .docs-story work -// regardless of whether we're in story or docs view mode if (isEmbedded && typeof document !== "undefined") { document.body.classList.add("embedded"); } -const ThemeWrapper = ({ children }: { children: ReactNode }) => { - const params = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null; - const globals = params?.get("globals") ?? ""; - const isDark = - globals.includes("theme:dark") || - (!globals.includes("theme:light") && globals.includes("dark")); +const ThemeWrapper = ({ children, isDark }: { children: ReactNode; isDark: boolean }) => { const theme = isDark ? "dark" : ""; useEffect(() => { if (!isEmbedded) return; - // Apply dark theme class to body for embedded mode - if (theme === "dark") { - document.body.classList.add("dark"); - } else { - document.body.classList.remove("dark"); - } + document.body.classList.toggle("dark", isDark); const sendHeight = () => { - // In docs view, measure the full docs container (sbdocs-wrapper) rather than - // just the story canvas, so Controls/Title/Stories are included const el = document.querySelector(".sbdocs-wrapper") ?? document.querySelector("#storybook-root"); if (!el) return; @@ -53,7 +30,7 @@ const ThemeWrapper = ({ children }: { children: ReactNode }) => { const observer = new MutationObserver(sendHeight); observer.observe(document.body, { childList: true, subtree: true, attributes: true }); return () => observer.disconnect(); - }, [theme]); + }, [isDark]); return ( <div className={theme} style={{ padding: isEmbedded ? 0 : "4rem 20px" }}> @@ -64,12 +41,18 @@ const ThemeWrapper = ({ children }: { children: ReactNode }) => { const preview: Preview = { tags: ["autodocs"], + initialGlobals: { + theme: "light", + }, decorators: [ - (Story) => ( - <ThemeWrapper> - <Story /> - </ThemeWrapper> - ), + (Story, context) => { + const isDark = context.globals.theme === "dark"; + return ( + <ThemeWrapper isDark={isDark}> + <Story /> + </ThemeWrapper> + ); + }, ], parameters: { controls: { @@ -79,7 +62,7 @@ const preview: Preview = { }, }, docs: { - theme: storybookTheme, + theme: themes.light, page: () => ( <> <Title /> From 1865484a74b5849d33fa277387e58c4addbcf159 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 22:07:25 +0545 Subject: [PATCH 23/63] fix(storybook): use URL detection and postMessage for theme sync Storybook globals context was unreliable for embedded iframes. Now detect theme directly from URL (theme:dark) at module load time, and also listen for postMessage from parent for live theme switching. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .storybook/preview.tsx | 48 ++++++++++++++++++++------------ components/component-preview.tsx | 17 ++++++++--- 2 files changed, 43 insertions(+), 22 deletions(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index e50e6205..deb4c77a 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -1,25 +1,40 @@ import { Controls, Description, Primary, Subtitle, Title } from "@storybook/addon-docs/blocks"; import type { Preview } from "@storybook/react"; -import { type ReactNode, useEffect } from "react"; +import { type ReactNode, useEffect, useState } from "react"; import { themes } from "storybook/theming"; import "../styles/globals.css"; import "../styles/storybook.css"; const isEmbedded = typeof window !== "undefined" && window.location.href.includes("docs-view"); +const isDarkFromUrl = typeof window !== "undefined" && window.location.href.includes("theme:dark"); -// Add embedded class to body so CSS selectors like .embedded .docs-story work +// Add embedded class to body if (isEmbedded && typeof document !== "undefined") { document.body.classList.add("embedded"); + if (isDarkFromUrl) { + document.body.classList.add("dark"); + } } -const ThemeWrapper = ({ children, isDark }: { children: ReactNode; isDark: boolean }) => { - const theme = isDark ? "dark" : ""; +const ThemeWrapper = ({ children }: { children: ReactNode }) => { + const [isDark, setIsDark] = useState(isDarkFromUrl); useEffect(() => { - if (!isEmbedded) return; - document.body.classList.toggle("dark", isDark); + // Listen for theme changes from parent via postMessage + const handleMessage = (event: MessageEvent) => { + if (event.data.type === "animata-set-theme") { + const dark = event.data.theme === "dark"; + setIsDark(dark); + document.body.classList.toggle("dark", dark); + } + }; + window.addEventListener("message", handleMessage); + return () => window.removeEventListener("message", handleMessage); + }, []); + useEffect(() => { + if (!isEmbedded) return; const sendHeight = () => { const el = document.querySelector(".sbdocs-wrapper") ?? document.querySelector("#storybook-root"); @@ -30,10 +45,10 @@ const ThemeWrapper = ({ children, isDark }: { children: ReactNode; isDark: boole const observer = new MutationObserver(sendHeight); observer.observe(document.body, { childList: true, subtree: true, attributes: true }); return () => observer.disconnect(); - }, [isDark]); + }, []); return ( - <div className={theme} style={{ padding: isEmbedded ? 0 : "4rem 20px" }}> + <div className={isDark ? "dark" : ""} style={{ padding: isEmbedded ? 0 : "4rem 20px" }}> {children} </div> ); @@ -42,17 +57,14 @@ const ThemeWrapper = ({ children, isDark }: { children: ReactNode; isDark: boole const preview: Preview = { tags: ["autodocs"], initialGlobals: { - theme: "light", + theme: isDarkFromUrl ? "dark" : "light", }, decorators: [ - (Story, context) => { - const isDark = context.globals.theme === "dark"; - return ( - <ThemeWrapper isDark={isDark}> - <Story /> - </ThemeWrapper> - ); - }, + (Story) => ( + <ThemeWrapper> + <Story /> + </ThemeWrapper> + ), ], parameters: { controls: { @@ -62,7 +74,7 @@ const preview: Preview = { }, }, docs: { - theme: themes.light, + theme: isDarkFromUrl ? themes.dark : themes.light, page: () => ( <> <Title /> diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 4099b3c1..ca7eea74 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -17,6 +17,7 @@ interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> { export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { const [minHeight, setMinHeight] = React.useState<number>(350); const [mounted, setMounted] = React.useState(false); + const iframeRef = React.useRef<HTMLIFrameElement>(null); const { resolvedTheme } = useTheme(); @@ -33,6 +34,15 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview }; }, []); + // Send theme to iframe via postMessage when it changes + React.useEffect(() => { + if (!mounted) return; + iframeRef.current?.contentWindow?.postMessage( + { type: "animata-set-theme", theme: resolvedTheme ?? "light" }, + "*", + ); + }, [resolvedTheme, mounted]); + // Only render iframe after mount so resolvedTheme is accurate const themeParam = mounted && resolvedTheme === "dark" ? "theme:dark" : "theme:light"; @@ -41,8 +51,7 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview <div className={cn("preview relative w-full max-w-full overflow-hidden!")} style={{ - minHeight: "200px", - height: `${Math.max(200, minHeight)}px`, + height: `${minHeight}px`, }} > <React.Suspense @@ -55,12 +64,12 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview key={`${name}-${themeParam}`} > <iframe + ref={iframeRef} src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=backgrounds.grid:!false;${themeParam};backgrounds.value:!transparent&viewMode=docs&id=${name.replace(/--[^-]+$/, "--docs")}&r=docs-view`} className="w-full" title="preview" style={{ - minHeight: "200px", - height: `${Math.max(200, minHeight)}px`, + height: `${minHeight}px`, }} /> </React.Suspense> From ae8f7690bf97c1ce224f4b808beecaf7a8df3195 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 22:11:59 +0545 Subject: [PATCH 24/63] chore(docs): unpublish animated dock and hero section Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- content/docs/container/animated-dock.mdx | 1 + content/docs/hero/hero-section.mdx | 1 + 2 files changed, 2 insertions(+) diff --git a/content/docs/container/animated-dock.mdx b/content/docs/container/animated-dock.mdx index cc0e36e6..ae5eed77 100644 --- a/content/docs/container/animated-dock.mdx +++ b/content/docs/container/animated-dock.mdx @@ -2,6 +2,7 @@ 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--primary" /> diff --git a/content/docs/hero/hero-section.mdx b/content/docs/hero/hero-section.mdx index 23cadd69..03d833e1 100644 --- a/content/docs/hero/hero-section.mdx +++ b/content/docs/hero/hero-section.mdx @@ -3,6 +3,7 @@ title: Hero Section description: A hero section with interactivity labels: ["requires-interaction", "hover"] author: AdashBaral +published: false --- <ComponentPreview name="hero-hero-section--primary" /> From 83d5fecd100862a5bfd374f71c08d15506fe719f Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 22:29:51 +0545 Subject: [PATCH 25/63] refactor(preview): render stories directly instead of storybook iframe Replace the Storybook iframe embedding with direct dynamic imports of story files. Renders the Primary story with its args and render function inline, eliminating iframe theme sync and height issues. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 134 +++++++++++++++++++++---------- 1 file changed, 91 insertions(+), 43 deletions(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index ca7eea74..af56a2e2 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -1,6 +1,5 @@ "use client"; -import { useTheme } from "next-themes"; import React from "react"; import { Icons } from "@/components/icons"; @@ -14,46 +13,104 @@ interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> { description?: string; } -export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { - const [minHeight, setMinHeight] = React.useState<number>(350); - const [mounted, setMounted] = React.useState(false); - const iframeRef = React.useRef<HTMLIFrameElement>(null); +// Categories with hyphens must come first so they match before single-word prefixes +const CATEGORIES = [ + "bento-grid", + "feature-cards", + "accordion", + "background", + "button", + "card", + "carousel", + "container", + "fabs", + "graphs", + "hero", + "icon", + "image", + "list", + "overlay", + "preloader", + "progress", + "section", + "skeleton", + "text", + "widget", +]; - const { resolvedTheme } = useTheme(); +/** + * Convert a storybook ID like "bento-grid-eight--primary" + * to the file path "bento-grid/eight" + */ +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)}`; + } + } + // Fallback: first segment is category + const first = idPart.indexOf("-"); + if (first === -1) return idPart; + return `${idPart.slice(0, first)}/${idPart.slice(first + 1)}`; +} - React.useEffect(() => { - setMounted(true); - const eventListener = (event: MessageEvent) => { - if (event.data.type === "animata-set-height") { - setMinHeight(event.data.height); - } - }; - window.addEventListener("message", eventListener); - return () => { - window.removeEventListener("message", eventListener); - }; - }, []); +function StoryRenderer({ name }: { name: string }) { + const [Preview, setPreview] = React.useState<React.ReactNode>(null); + const [error, setError] = React.useState<string | null>(null); - // Send theme to iframe via postMessage when it changes React.useEffect(() => { - if (!mounted) return; - iframeRef.current?.contentWindow?.postMessage( - { type: "animata-set-theme", theme: resolvedTheme ?? "light" }, - "*", + 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 storyExport = mod[exportName] ?? mod.Primary; + const meta = mod.default; + + if (!storyExport) { + setError(`Story "${exportName}" not found`); + return; + } + + const args = { ...meta?.args, ...storyExport.args }; + const Component = meta?.component; + + if (storyExport.render) { + setPreview(React.createElement(() => storyExport.render(args))); + } else if (Component) { + setPreview(React.createElement(Component, args)); + } else { + setError(`No render function or component for ${path}`); + } + }) + .catch((err) => { + console.error(`Failed to load story ${path}:`, err); + setError(`Failed to load: ${path}`); + }); + }, [name]); + + if (error) { + return <div className="text-sm text-muted-foreground">{error}</div>; + } + + if (!Preview) { + return ( + <div className="flex items-center text-sm text-muted-foreground"> + <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> + Loading... + </div> ); - }, [resolvedTheme, mounted]); + } - // Only render iframe after mount so resolvedTheme is accurate - const themeParam = mounted && resolvedTheme === "dark" ? "theme:dark" : "theme:light"; + return <>{Preview}</>; +} +export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { return ( - <div className={cn("group relative", className)} {...props}> - <div - className={cn("preview relative w-full max-w-full overflow-hidden!")} - style={{ - height: `${minHeight}px`, - }} - > + <div className={cn("group relative my-4", className)} {...props}> + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border p-4"> <React.Suspense fallback={ <div className="flex items-center text-sm text-muted-foreground"> @@ -61,17 +118,8 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview Loading... </div> } - key={`${name}-${themeParam}`} > - <iframe - ref={iframeRef} - src={`${process.env.NEXT_PUBLIC_STORYBOOK_URL ?? "/preview"}/iframe.html?globals=backgrounds.grid:!false;${themeParam};backgrounds.value:!transparent&viewMode=docs&id=${name.replace(/--[^-]+$/, "--docs")}&r=docs-view`} - className="w-full" - title="preview" - style={{ - height: `${minHeight}px`, - }} - /> + <StoryRenderer name={name} /> </React.Suspense> </div> </div> From bd09ee992065036f3eedb78962b13078e3daa1c7 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 22:51:01 +0545 Subject: [PATCH 26/63] feat(preview): add inline props editor for interactive story controls Renders editable controls for boolean, number, and string props below the component preview. Reads args/argTypes from the story module and updates the rendered component live when props change. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 132 ++++++++++++++++++++++++++----- 1 file changed, 113 insertions(+), 19 deletions(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index af56a2e2..b7c3a932 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -38,10 +38,6 @@ const CATEGORIES = [ "widget", ]; -/** - * Convert a storybook ID like "bento-grid-eight--primary" - * to the file path "bento-grid/eight" - */ function storyIdToPath(name: string): string { const [idPart] = name.split("--"); for (const cat of CATEGORIES) { @@ -49,14 +45,97 @@ function storyIdToPath(name: string): string { return `${cat}/${idPart.slice(cat.length + 1)}`; } } - // Fallback: first segment is category 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"]); + +function PropsEditor({ + args, + argTypes, + onChange, +}: { + args: Record<string, unknown>; + argTypes: Record<string, { table?: { disable?: boolean }; control?: unknown }>; + onChange: (key: string, value: unknown) => void; +}) { + const editableArgs = Object.entries(args).filter(([key]) => { + if (HIDDEN_PROPS.has(key)) return false; + if (argTypes[key]?.table?.disable) return false; + const val = args[key]; + return typeof val === "boolean" || typeof val === "number" || typeof val === "string"; + }); + + if (editableArgs.length === 0) return null; + + return ( + <div className="border-t bg-muted/30 px-4 py-3"> + <div className="mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground"> + Props + </div> + <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> + {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> + ); +} + +interface StoryData { + render: ((args: Record<string, unknown>) => React.ReactNode) | null; + Component: React.ComponentType<Record<string, unknown>> | null; + initialArgs: Record<string, unknown>; + argTypes: Record<string, { table?: { disable?: boolean }; control?: unknown }>; +} + function StoryRenderer({ name }: { name: string }) { - const [Preview, setPreview] = React.useState<React.ReactNode>(null); + 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(() => { @@ -74,16 +153,16 @@ function StoryRenderer({ name }: { name: string }) { return; } - const args = { ...meta?.args, ...storyExport.args }; - const Component = meta?.component; + const mergedArgs = { ...meta?.args, ...storyExport.args }; + const argTypes = { ...meta?.argTypes, ...storyExport.argTypes }; - if (storyExport.render) { - setPreview(React.createElement(() => storyExport.render(args))); - } else if (Component) { - setPreview(React.createElement(Component, args)); - } else { - setError(`No render function or component for ${path}`); - } + setArgs(mergedArgs); + setStoryData({ + render: storyExport.render ?? null, + Component: meta?.component ?? null, + initialArgs: mergedArgs, + argTypes, + }); }) .catch((err) => { console.error(`Failed to load story ${path}:`, err); @@ -91,11 +170,15 @@ function StoryRenderer({ name }: { name: string }) { }); }, [name]); + const handleChange = React.useCallback((key: string, value: unknown) => { + setArgs((prev) => ({ ...prev, [key]: value })); + }, []); + if (error) { return <div className="text-sm text-muted-foreground">{error}</div>; } - if (!Preview) { + if (!storyData) { return ( <div className="flex items-center text-sm text-muted-foreground"> <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> @@ -104,16 +187,27 @@ function StoryRenderer({ name }: { name: string }) { ); } - return <>{Preview}</>; + const preview = storyData.render + ? storyData.render(args) + : storyData.Component + ? React.createElement(storyData.Component, args) + : null; + + return ( + <> + <div className="flex min-h-[200px] w-full items-center justify-center p-4">{preview}</div> + <PropsEditor args={args} argTypes={storyData.argTypes} onChange={handleChange} /> + </> + ); } export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { return ( <div className={cn("group relative my-4", className)} {...props}> - <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border p-4"> + <div className="preview relative w-full max-w-full overflow-hidden rounded-lg border"> <React.Suspense fallback={ - <div className="flex items-center text-sm text-muted-foreground"> + <div className="flex min-h-[200px] items-center justify-center text-sm text-muted-foreground"> <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> Loading... </div> From de6efb9bde0b32d239b74330b81f1f86cc98fe5e Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 22:53:35 +0545 Subject: [PATCH 27/63] fix(preview): separate preview and props editor into distinct containers Split preview and props editor into sibling elements so the preview's overflow/absolute positioning isn't affected by the editor below it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 63 ++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index b7c3a932..3045f05b 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -133,7 +133,11 @@ interface StoryData { argTypes: Record<string, { table?: { disable?: boolean }; control?: unknown }>; } -function StoryRenderer({ name }: { name: string }) { +type StoryResult = + | { message: React.ReactNode } + | { preview: React.ReactNode; editor: React.ReactNode }; + +function useStoryRenderer(name: string): StoryResult { const [storyData, setStoryData] = React.useState<StoryData | null>(null); const [args, setArgs] = React.useState<Record<string, unknown>>({}); const [error, setError] = React.useState<string | null>(null); @@ -175,16 +179,18 @@ function StoryRenderer({ name }: { name: string }) { }, []); if (error) { - return <div className="text-sm text-muted-foreground">{error}</div>; + return { message: <div className="text-sm text-muted-foreground">{error}</div> }; } if (!storyData) { - return ( - <div className="flex items-center text-sm text-muted-foreground"> - <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> - Loading... - </div> - ); + return { + message: ( + <div className="flex items-center text-sm text-muted-foreground"> + <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> + Loading... + </div> + ), + }; } const preview = storyData.render @@ -193,10 +199,29 @@ function StoryRenderer({ name }: { name: string }) { ? React.createElement(storyData.Component, args) : null; + return { + preview, + editor: <PropsEditor args={args} argTypes={storyData.argTypes} onChange={handleChange} />, + }; +} + +function StoryRendererWrapper({ name }: { name: string }) { + const result = useStoryRenderer(name); + + if ("message" in result) { + return ( + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> + {result.message} + </div> + ); + } + return ( <> - <div className="flex min-h-[200px] w-full items-center justify-center p-4">{preview}</div> - <PropsEditor args={args} argTypes={storyData.argTypes} onChange={handleChange} /> + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> + {result.preview} + </div> + {result.editor} </> ); } @@ -204,18 +229,18 @@ function StoryRenderer({ name }: { name: string }) { export function ComponentPreview({ name, className, ...props }: ComponentPreviewProps) { return ( <div className={cn("group relative my-4", className)} {...props}> - <div className="preview relative w-full max-w-full overflow-hidden rounded-lg border"> - <React.Suspense - fallback={ - <div className="flex min-h-[200px] items-center justify-center text-sm text-muted-foreground"> + <React.Suspense + fallback={ + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> + <div className="flex items-center text-sm text-muted-foreground"> <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> Loading... </div> - } - > - <StoryRenderer name={name} /> - </React.Suspense> - </div> + </div> + } + > + <StoryRendererWrapper name={name} /> + </React.Suspense> </div> ); } From 9588ef2b5128226d8763f9d8199dda0e8f5ad168 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 22:57:55 +0545 Subject: [PATCH 28/63] refactor: clean up dead iframe embedding code from storybook preview Remove embedded/postMessage/theme detection logic from storybook preview config and CSS since component previews now render stories directly. Clean up unused props from ComponentPreviewProps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .storybook/preview.tsx | 53 +------------------------ components/component-preview.tsx | 4 -- styles/storybook.css | 67 -------------------------------- 3 files changed, 2 insertions(+), 122 deletions(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index deb4c77a..a90b1de3 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -1,64 +1,16 @@ import { Controls, Description, Primary, Subtitle, Title } from "@storybook/addon-docs/blocks"; import type { Preview } from "@storybook/react"; -import { type ReactNode, useEffect, useState } from "react"; -import { themes } from "storybook/theming"; +import type { ReactNode } from "react"; import "../styles/globals.css"; import "../styles/storybook.css"; -const isEmbedded = typeof window !== "undefined" && window.location.href.includes("docs-view"); -const isDarkFromUrl = typeof window !== "undefined" && window.location.href.includes("theme:dark"); - -// Add embedded class to body -if (isEmbedded && typeof document !== "undefined") { - document.body.classList.add("embedded"); - if (isDarkFromUrl) { - document.body.classList.add("dark"); - } -} - const ThemeWrapper = ({ children }: { children: ReactNode }) => { - const [isDark, setIsDark] = useState(isDarkFromUrl); - - useEffect(() => { - // Listen for theme changes from parent via postMessage - const handleMessage = (event: MessageEvent) => { - if (event.data.type === "animata-set-theme") { - const dark = event.data.theme === "dark"; - setIsDark(dark); - document.body.classList.toggle("dark", dark); - } - }; - window.addEventListener("message", handleMessage); - return () => window.removeEventListener("message", handleMessage); - }, []); - - useEffect(() => { - if (!isEmbedded) return; - const sendHeight = () => { - const el = - document.querySelector(".sbdocs-wrapper") ?? document.querySelector("#storybook-root"); - if (!el) return; - window.parent.postMessage({ type: "animata-set-height", height: el.scrollHeight }, "*"); - }; - sendHeight(); - const observer = new MutationObserver(sendHeight); - observer.observe(document.body, { childList: true, subtree: true, attributes: true }); - return () => observer.disconnect(); - }, []); - - return ( - <div className={isDark ? "dark" : ""} style={{ padding: isEmbedded ? 0 : "4rem 20px" }}> - {children} - </div> - ); + return <div style={{ padding: "4rem 20px" }}>{children}</div>; }; const preview: Preview = { tags: ["autodocs"], - initialGlobals: { - theme: isDarkFromUrl ? "dark" : "light", - }, decorators: [ (Story) => ( <ThemeWrapper> @@ -74,7 +26,6 @@ const preview: Preview = { }, }, docs: { - theme: isDarkFromUrl ? themes.dark : themes.light, page: () => ( <> <Title /> diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 3045f05b..410ae85a 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -7,10 +7,6 @@ import { cn } from "@/lib/utils"; interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> { name: string; - extractClassName?: boolean; - extractedClassNames?: string; - align?: "center" | "start" | "end"; - description?: string; } // Categories with hyphens must come first so they match before single-word prefixes diff --git a/styles/storybook.css b/styles/storybook.css index 1e6587b6..cc99afb8 100644 --- a/styles/storybook.css +++ b/styles/storybook.css @@ -35,73 +35,6 @@ align-items: center; } -body.embedded { - .sbdocs { - @apply m-0!; - } - - .innerZoomElementWrapper { - @apply max-w-full; - } - - .sb-anchor { - @apply border-0; - } - - .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); - } - - .docblock-argstable-body td { - border-left: 0; - border-right: 0; - } - - /* Hide docs chrome elements in embedded view */ - .sbdocs-title, - .sbdocs-subtitle, - .sbdocs-description { - display: none; - } - - /* Hide zoom controls */ - .sb-bar, - [class*="zoom"], - button[title="Zoom in"], - button[title="Zoom out"], - button[title="Reset zoom"] { - display: none; - } - - /* Remove story preview borders */ - .docs-story, - .sbdocs-preview { - @apply border-none!; - } - - .sb-previewBlock { - @apply border-none! shadow-none!; - } -} - -/* biome-ignore lint/style/noDescendingSpecificity: separate context from body.embedded selectors */ .sbdocs-preview > div > div { @apply overflow-hidden; } From 600a80dafe9408092d164dfe34d143cb0007128a Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:01:27 +0545 Subject: [PATCH 29/63] feat(component-preview): add other stories section and reset button Display additional story exports below the primary preview as "Other examples". Add a Reset button to the props editor that appears when args differ from initial values. Extract story loading into a pure function for clarity. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 183 ++++++++++++++++++++++--------- 1 file changed, 134 insertions(+), 49 deletions(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 410ae85a..13ba9268 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -49,14 +49,21 @@ function storyIdToPath(name: string): string { // 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"]); + function PropsEditor({ args, + initialArgs, argTypes, onChange, + onReset, }: { args: Record<string, unknown>; + initialArgs: Record<string, unknown>; argTypes: Record<string, { table?: { disable?: boolean }; control?: unknown }>; onChange: (key: string, value: unknown) => void; + onReset: () => void; }) { const editableArgs = Object.entries(args).filter(([key]) => { if (HIDDEN_PROPS.has(key)) return false; @@ -67,10 +74,23 @@ function PropsEditor({ if (editableArgs.length === 0) return null; + const hasChanges = editableArgs.some(([key]) => args[key] !== initialArgs[key]); + return ( <div className="border-t bg-muted/30 px-4 py-3"> - <div className="mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground"> - Props + <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> <div className="grid gap-2"> {editableArgs.map(([key, value]) => ( @@ -122,18 +142,82 @@ function PropsEditor({ ); } +interface OtherStory { + name: string; + render: (args: Record<string, unknown>) => React.ReactNode; + args: Record<string, unknown>; +} + interface StoryData { render: ((args: Record<string, unknown>) => React.ReactNode) | null; Component: React.ComponentType<Record<string, unknown>> | null; initialArgs: Record<string, unknown>; argTypes: Record<string, { table?: { disable?: boolean }; control?: unknown }>; + otherStories: OtherStory[]; +} + +function formatStoryName(exportName: string): string { + return exportName.replace(/([A-Z])/g, " $1").trim(); } -type StoryResult = - | { message: React.ReactNode } - | { preview: React.ReactNode; editor: React.ReactNode }; +type StoryExport = { + render?: (args: Record<string, unknown>) => React.ReactNode; + args?: Record<string, unknown>; + argTypes?: Record<string, { table?: { disable?: boolean }; control?: unknown }>; +}; + +type StoryMeta = { + component?: React.ComponentType<Record<string, unknown>>; + args?: Record<string, unknown>; + argTypes?: Record<string, { table?: { disable?: boolean }; control?: unknown }>; +}; + +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`; + } -function useStoryRenderer(name: string): StoryResult { + const mergedArgs = { ...meta?.args, ...storyExport.args }; + const argTypes = { ...meta?.argTypes, ...storyExport.argTypes }; + + // Collect other story exports + const primaryKey = mod[exportName] ? exportName : "Primary"; + const otherStories: OtherStory[] = []; + + 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); @@ -145,24 +229,13 @@ function useStoryRenderer(name: string): StoryResult { import(`@/animata/${path}.stories`) .then((mod) => { - const storyExport = mod[exportName] ?? mod.Primary; - const meta = mod.default; - - if (!storyExport) { - setError(`Story "${exportName}" not found`); + const result = loadStoryModule(mod, exportName); + if (typeof result === "string") { + setError(result); return; } - - const mergedArgs = { ...meta?.args, ...storyExport.args }; - const argTypes = { ...meta?.argTypes, ...storyExport.argTypes }; - - setArgs(mergedArgs); - setStoryData({ - render: storyExport.render ?? null, - Component: meta?.component ?? null, - initialArgs: mergedArgs, - argTypes, - }); + setArgs(result.initialArgs); + setStoryData(result); }) .catch((err) => { console.error(`Failed to load story ${path}:`, err); @@ -174,19 +247,29 @@ function useStoryRenderer(name: string): StoryResult { setArgs((prev) => ({ ...prev, [key]: value })); }, []); + const handleReset = React.useCallback(() => { + if (storyData) { + setArgs(storyData.initialArgs); + } + }, [storyData]); + if (error) { - return { message: <div className="text-sm text-muted-foreground">{error}</div> }; + return ( + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> + <div className="text-sm text-muted-foreground">{error}</div> + </div> + ); } if (!storyData) { - return { - message: ( + return ( + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> <div className="flex items-center text-sm text-muted-foreground"> <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> Loading... </div> - ), - }; + </div> + ); } const preview = storyData.render @@ -195,29 +278,31 @@ function useStoryRenderer(name: string): StoryResult { ? React.createElement(storyData.Component, args) : null; - return { - preview, - editor: <PropsEditor args={args} argTypes={storyData.argTypes} onChange={handleChange} />, - }; -} - -function StoryRendererWrapper({ name }: { name: string }) { - const result = useStoryRenderer(name); - - if ("message" in result) { - return ( - <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> - {result.message} - </div> - ); - } - return ( <> - <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border"> - {result.preview} + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border py-4"> + {preview} </div> - {result.editor} + <PropsEditor + args={args} + initialArgs={storyData.initialArgs} + argTypes={storyData.argTypes} + onChange={handleChange} + onReset={handleReset} + /> + {storyData.otherStories.length > 0 && ( + <div className="mt-6 space-y-4"> + <div className="text-sm font-medium text-muted-foreground">Other examples</div> + {storyData.otherStories.map((story) => ( + <div key={story.name}> + <div className="mb-2 font-mono text-xs text-muted-foreground">{story.name}</div> + <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border py-4"> + {story.render(story.args)} + </div> + </div> + ))} + </div> + )} </> ); } @@ -227,7 +312,7 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview <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 overflow-hidden rounded-lg border"> + <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center py-4 overflow-hidden rounded-lg border"> <div className="flex items-center text-sm text-muted-foreground"> <Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> Loading... @@ -235,7 +320,7 @@ export function ComponentPreview({ name, className, ...props }: ComponentPreview </div> } > - <StoryRendererWrapper name={name} /> + <StoryRenderer name={name} /> </React.Suspense> </div> ); From 9cd650b52c149f30320af1b29f32c6322a015107 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:24:30 +0545 Subject: [PATCH 30/63] feat(component-preview): add full-content class and fix marquee reverse Replace storybook-fix with full-content class on animated-beam, bento grid eight, and marquee stories. Fix marquee reverse prop by using inline style instead of Tailwind arbitrary class that lost specificity against the raw CSS animation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/animated-beam.tsx | 2 +- animata/bento-grid/eight.tsx | 2 +- animata/container/marquee.stories.tsx | 6 +++--- animata/container/marquee.tsx | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/animata/background/animated-beam.tsx b/animata/background/animated-beam.tsx index dfb625f7..0dee3ca8 100644 --- a/animata/background/animated-beam.tsx +++ b/animata/background/animated-beam.tsx @@ -100,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/bento-grid/eight.tsx b/animata/bento-grid/eight.tsx index c40098df..64c2610f 100644 --- a/animata/bento-grid/eight.tsx +++ b/animata/bento-grid/eight.tsx @@ -179,7 +179,7 @@ function FeatureEight() { export default function Eight() { return ( - <div className="storybook-fix w-full"> + <div className="full-content w-full"> <div className="grid grid-cols-1 gap-3 sm:grid-cols-4 sm:grid-rows-3"> <FeatureOne /> <FeatureTwo /> diff --git a/animata/container/marquee.stories.tsx b/animata/container/marquee.stories.tsx index efcec2fe..a9ad6677 100644 --- a/animata/container/marquee.stories.tsx +++ b/animata/container/marquee.stories.tsx @@ -63,7 +63,7 @@ export const Primary: Story = { }, 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> @@ -74,7 +74,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> @@ -87,7 +87,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 f1e7cd61..bbc19ff7 100644 --- a/animata/container/marquee.tsx +++ b/animata/container/marquee.tsx @@ -75,10 +75,10 @@ export default function Marquee({ key={`item-${index}`} className={cn("flex shrink-0 [gap:var(--gap)]", { "group-hover:[animation-play-state:paused]": pauseOnHover, - "[animation-direction:reverse]": reverse, "marquee-horizontal flex-row": !vertical, "marquee-vertical flex-col": vertical, })} + style={reverse ? { animationDirection: "reverse" } : undefined} > {children} </div> From 61f163520380a7582127224b6b595e07b315ee2f Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:24:39 +0545 Subject: [PATCH 31/63] feat(stories): add select argTypes for union type props Add explicit options to argTypes for components with TypeScript union type props so the props editor renders select dropdowns instead of plain text inputs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/card/case-study-card.stories.tsx | 7 ++++++- animata/card/flip-card.stories.tsx | 4 +++- animata/container/animated-border-trail.stories.tsx | 4 ++++ animata/image/tilted-cover.stories.tsx | 7 ++++++- animata/image/zoom-image.stories.tsx | 7 ++++++- animata/list/avatar-list.stories.tsx | 7 ++++++- animata/overlay/modal.stories.tsx | 7 ++++++- animata/text/counter.stories.tsx | 7 ++++++- animata/text/jumping-text-instagram.stories.tsx | 7 ++++++- animata/text/mirror-text.stories.tsx | 7 ++++++- animata/text/staggered-letter.stories.tsx | 7 ++++++- animata/text/text-explode-imessage.stories.tsx | 7 ++++++- animata/text/wave-reveal.stories.tsx | 11 ++++++++++- 13 files changed, 77 insertions(+), 12 deletions(-) diff --git a/animata/card/case-study-card.stories.tsx b/animata/card/case-study-card.stories.tsx index f9e5eb0b..806b9261 100644 --- a/animata/card/case-study-card.stories.tsx +++ b/animata/card/case-study-card.stories.tsx @@ -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/flip-card.stories.tsx b/animata/card/flip-card.stories.tsx index 69de6b82..39757c61 100644 --- a/animata/card/flip-card.stories.tsx +++ b/animata/card/flip-card.stories.tsx @@ -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/container/animated-border-trail.stories.tsx b/animata/container/animated-border-trail.stories.tsx index 1073ba83..d87aa489 100644 --- a/animata/container/animated-border-trail.stories.tsx +++ b/animata/container/animated-border-trail.stories.tsx @@ -14,6 +14,10 @@ const meta = { disable: true, }, }, + trailSize: { + control: { type: "select" }, + options: ["sm", "md", "lg"], + }, }, } satisfies Meta<typeof AnimatedBorderTrail>; diff --git a/animata/image/tilted-cover.stories.tsx b/animata/image/tilted-cover.stories.tsx index 115fd90f..a37b5710 100644 --- a/animata/image/tilted-cover.stories.tsx +++ b/animata/image/tilted-cover.stories.tsx @@ -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; diff --git a/animata/image/zoom-image.stories.tsx b/animata/image/zoom-image.stories.tsx index c9b8d55c..ab20f069 100644 --- a/animata/image/zoom-image.stories.tsx +++ b/animata/image/zoom-image.stories.tsx @@ -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/list/avatar-list.stories.tsx b/animata/list/avatar-list.stories.tsx index b8717622..231a46af 100644 --- a/animata/list/avatar-list.stories.tsx +++ b/animata/list/avatar-list.stories.tsx @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + size: { + control: { type: "select" }, + options: ["sm", "md", "lg"], + }, + }, } satisfies Meta<typeof AvatarList>; export default meta; diff --git a/animata/overlay/modal.stories.tsx b/animata/overlay/modal.stories.tsx index 7683d024..63d4dcc8 100644 --- a/animata/overlay/modal.stories.tsx +++ b/animata/overlay/modal.stories.tsx @@ -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/text/counter.stories.tsx b/animata/text/counter.stories.tsx index 7649cf20..983b9ad2 100644 --- a/animata/text/counter.stories.tsx +++ b/animata/text/counter.stories.tsx @@ -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; diff --git a/animata/text/jumping-text-instagram.stories.tsx b/animata/text/jumping-text-instagram.stories.tsx index c5cc2558..54962a23 100644 --- a/animata/text/jumping-text-instagram.stories.tsx +++ b/animata/text/jumping-text-instagram.stories.tsx @@ -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; diff --git a/animata/text/mirror-text.stories.tsx b/animata/text/mirror-text.stories.tsx index e9e01fe6..27a132d0 100644 --- a/animata/text/mirror-text.stories.tsx +++ b/animata/text/mirror-text.stories.tsx @@ -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; diff --git a/animata/text/staggered-letter.stories.tsx b/animata/text/staggered-letter.stories.tsx index bd147db8..c44b60fd 100644 --- a/animata/text/staggered-letter.stories.tsx +++ b/animata/text/staggered-letter.stories.tsx @@ -8,7 +8,12 @@ const meta = { layout: "centered", }, tags: ["autodocs"], - argTypes: {}, + argTypes: { + direction: { + control: { type: "select" }, + options: ["up", "drop"], + }, + }, } satisfies Meta<typeof StaggeredLetter>; export default meta; diff --git a/animata/text/text-explode-imessage.stories.tsx b/animata/text/text-explode-imessage.stories.tsx index 123e05eb..1302d65d 100644 --- a/animata/text/text-explode-imessage.stories.tsx +++ b/animata/text/text-explode-imessage.stories.tsx @@ -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; diff --git a/animata/text/wave-reveal.stories.tsx b/animata/text/wave-reveal.stories.tsx index 375cad26..75162f72 100644 --- a/animata/text/wave-reveal.stories.tsx +++ b/animata/text/wave-reveal.stories.tsx @@ -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; From 1b05567d7d59d50f255704158d139894ed6770b5 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:24:48 +0545 Subject: [PATCH 32/63] feat(component-preview): add select control for options and update docs Add select dropdown rendering in PropsEditor for argTypes with options. Use 2-column grid on buttons overview page. Include stories/argTypes guidelines in contributing docs. Remove stories exclusion from tsconfig. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 40 +++++++++++++++++++----- content/docs/button/index.mdx | 2 +- content/docs/contributing/guidelines.mdx | 28 +++++++++++++++++ tsconfig.json | 2 +- 4 files changed, 63 insertions(+), 9 deletions(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 13ba9268..5d46ab48 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -52,6 +52,12 @@ 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, @@ -61,13 +67,15 @@ function PropsEditor({ }: { args: Record<string, unknown>; initialArgs: Record<string, unknown>; - argTypes: Record<string, { table?: { disable?: boolean }; control?: 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"; }); @@ -101,7 +109,20 @@ function PropsEditor({ > {key} </label> - {typeof value === "boolean" ? ( + {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" @@ -152,7 +173,7 @@ interface StoryData { render: ((args: Record<string, unknown>) => React.ReactNode) | null; Component: React.ComponentType<Record<string, unknown>> | null; initialArgs: Record<string, unknown>; - argTypes: Record<string, { table?: { disable?: boolean }; control?: unknown }>; + argTypes: Record<string, ArgType>; otherStories: OtherStory[]; } @@ -163,13 +184,13 @@ function formatStoryName(exportName: string): string { type StoryExport = { render?: (args: Record<string, unknown>) => React.ReactNode; args?: Record<string, unknown>; - argTypes?: Record<string, { table?: { disable?: boolean }; control?: unknown }>; + argTypes?: Record<string, ArgType>; }; type StoryMeta = { component?: React.ComponentType<Record<string, unknown>>; args?: Record<string, unknown>; - argTypes?: Record<string, { table?: { disable?: boolean }; control?: unknown }>; + argTypes?: Record<string, ArgType>; }; function loadStoryModule(mod: Record<string, unknown>, exportName: string): StoryData | string { @@ -272,6 +293,8 @@ function StoryRenderer({ name }: { name: string }) { ); } + const argsKey = JSON.stringify(args); + const preview = storyData.render ? storyData.render(args) : storyData.Component @@ -280,7 +303,10 @@ function StoryRenderer({ name }: { name: string }) { return ( <> - <div className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border py-4"> + <div + key={argsKey} + className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border p-4 has-[.full-content]:p-0" + > {preview} </div> <PropsEditor @@ -296,7 +322,7 @@ function StoryRenderer({ name }: { name: string }) { {storyData.otherStories.map((story) => ( <div key={story.name}> <div className="mb-2 font-mono text-xs text-muted-foreground">{story.name}</div> - <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border py-4"> + <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border p-4 has-[.full-content]:p-0"> {story.render(story.args)} </div> </div> 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/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/tsconfig.json b/tsconfig.json index 481db286..aa189eaa 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -32,5 +32,5 @@ ".velite", ".next/dev/types/**/*.ts" ], - "exclude": ["node_modules", "**/*.stories.tsx"] + "exclude": ["node_modules"] } From aba8abf036bad460e02b65f47f261e660d28ffc7 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:31:28 +0545 Subject: [PATCH 33/63] refactor(components): localize generic group classes with named modifiers Replace bare `group`/`group-hover:`/`group-active:` with namespaced variants (e.g. `group/card`, `group-hover/card:`) across ~48 components to prevent selector conflicts when components are nested. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/interactive-grid.tsx | 4 +-- animata/bento-grid/eight.tsx | 6 ++--- animata/bento-grid/gradient.tsx | 20 +++++++------- animata/button/ai-button.tsx | 4 +-- animata/button/external-link-button.tsx | 4 +-- animata/button/get-started-button.tsx | 12 ++++----- animata/button/shining-button.tsx | 6 ++--- animata/button/slide-arrow-button.tsx | 6 ++--- animata/button/status-button.tsx | 4 +-- animata/button/work-button.tsx | 4 +-- animata/card/blur-stack-card.tsx | 2 +- animata/card/card-comment.tsx | 6 ++--- animata/card/card-spread.tsx | 8 +++--- animata/card/case-study-card.tsx | 8 +++--- animata/card/email-feature-card.tsx | 8 +++--- animata/card/flip-card.tsx | 24 ++++++++--------- animata/card/github-card-shiny.tsx | 4 +-- animata/card/integration-pills.tsx | 26 +++++++++---------- animata/card/led-board.tsx | 4 +-- animata/card/reminder-scheduler.tsx | 9 ++++--- animata/card/subscribe-card.tsx | 4 +-- animata/card/swap-text-card.tsx | 6 ++--- animata/container/cursor-tracker.tsx | 4 +-- animata/container/marquee.tsx | 4 +-- animata/graphs/progress.tsx | 4 +-- animata/hero/hero-section-text-hover.tsx | 33 +++++++++++++----------- animata/hero/shape-shifter.tsx | 4 +-- animata/icon/hover-interaction.tsx | 4 +-- animata/image/photo-booth.tsx | 2 +- animata/image/tilted-cover.tsx | 12 ++++----- animata/list/avatar-list.tsx | 6 ++--- animata/list/flipping-cards.tsx | 4 +-- animata/list/menu-animation.tsx | 6 ++--- animata/list/orbiting-items.tsx | 6 ++--- animata/list/reveal-image.tsx | 8 +++--- animata/text/bold-copy.tsx | 6 ++--- animata/text/double-underline.tsx | 9 ++++--- animata/text/mirror-text.tsx | 10 +++---- animata/text/swap-text.tsx | 6 ++--- animata/widget/clock-with-photo.tsx | 8 +++--- animata/widget/cycling.tsx | 6 +++-- animata/widget/expense-tracker.tsx | 4 +-- animata/widget/live-score.tsx | 6 ++--- animata/widget/mobile-detail.tsx | 22 +++++++++++----- animata/widget/profile.tsx | 2 +- animata/widget/score-board.tsx | 2 +- animata/widget/storage-status.tsx | 2 +- animata/widget/vpn-widget.tsx | 8 +++--- 48 files changed, 193 insertions(+), 174 deletions(-) diff --git a/animata/background/interactive-grid.tsx b/animata/background/interactive-grid.tsx index 030cc959..bf9fff33 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 { @@ -125,7 +125,7 @@ function Grid() { "h-full w-full scale-90 rounded bg-gray-400/30 opacity-0 transition-all 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/bento-grid/eight.tsx b/animata/bento-grid/eight.tsx index 64c2610f..7cdadae7 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-all 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-all group-hover/bento:text-4xl md:text-3xl group-hover/bento:md:text-8xl", textClassName, )} > diff --git a/animata/bento-grid/gradient.tsx b/animata/bento-grid/gradient.tsx index 764e075d..127637e2 100644 --- a/animata/bento-grid/gradient.tsx +++ b/animata/bento-grid/gradient.tsx @@ -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-all duration-700 group-hover/grid:rotate-[360deg] 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-all duration-700 group-hover/grid:opacity-25" /> </div> </BentoCard> ); @@ -76,10 +76,10 @@ function LinearGradient() { icon={<GitBranch size={24} />} description="A linear gradient is a gradient that goes in a straight line." gradient="from-red-300 via-60% via-rose-300 to-red-200" - className="group sm:col-span-1" + className="group/grid sm:col-span-1" > - <div className="h-4 w-full rounded-sm bg-gray-100 group-hover:animate-pulse group-hover:bg-gray-300" /> - <div className="h-4 w-1/2 rounded-sm bg-gray-100 group-hover:animate-pulse group-hover:bg-gray-300" /> + <div className="h-4 w-full rounded-sm bg-gray-100 group-hover/grid:animate-pulse group-hover/grid:bg-gray-300" /> + <div className="h-4 w-1/2 rounded-sm bg-gray-100 group-hover/grid:animate-pulse group-hover/grid:bg-gray-300" /> </BentoCard> ); } @@ -91,20 +91,20 @@ function RadialGradient() { icon={<LineChart size={24} />} description="A radial gradient is a gradient that goes in a circular direction." gradient="from-lime-300 via-60% via-green-200 to-lime-200" - className="group sm:col-span-1" + className="group/grid sm:col-span-1" > <div className="flex w-full flex-row justify-end gap-2 rounded border-yellow-200 bg-yellow-100 p-2"> <HeartPulse size={16} - className="delay-150 duration-75 group-hover:animate-in group-hover:slide-in-from-right-full" + className="delay-150 duration-75 group-hover/grid:animate-in group-hover/grid:slide-in-from-right-full" /> <Sun size={16} - className="delay-75 duration-75 group-hover:animate-in group-hover:slide-in-from-right-full" + className="delay-75 duration-75 group-hover/grid:animate-in group-hover/grid:slide-in-from-right-full" /> <BookPlus size={16} - className="duration-75 group-hover:animate-in group-hover:slide-in-from-right-full" + className="duration-75 group-hover/grid:animate-in group-hover/grid:slide-in-from-right-full" /> </div> </BentoCard> diff --git a/animata/button/ai-button.tsx b/animata/button/ai-button.tsx index 15002cea..4a288af3 100644 --- a/animata/button/ai-button.tsx +++ b/animata/button/ai-button.tsx @@ -125,7 +125,7 @@ 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-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" onMouseEnter={() => setIsHovering(true)} onMouseLeave={() => setIsHovering(false)} > @@ -157,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/external-link-button.tsx b/animata/button/external-link-button.tsx index 0db414b9..8f4fa005 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-all 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.tsx b/animata/button/get-started-button.tsx index 2fe68ca2..f7f44377 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-all 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/shining-button.tsx b/animata/button/shining-button.tsx index d6f19c75..033d43be 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/0 bg-transparent p-1 transition-all duration-500 hover:border-violet-800/100"> + <button className="group/shine cursor-pointer rounded-xl border-4 border-violet-800/0 bg-transparent p-1 transition-all 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-all 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-all duration-700 group-hover/shine:left-[calc(100%+1rem)]", )} /> </div> diff --git a/animata/button/slide-arrow-button.tsx b/animata/button/slide-arrow-button.tsx index 5a63056f..6246077a 100644 --- a/animata/button/slide-arrow-button.tsx +++ b/animata/button/slide-arrow-button.tsx @@ -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-all 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"> <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-all 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.tsx b/animata/button/status-button.tsx index 362d6644..608ae737 100644 --- a/animata/button/status-button.tsx +++ b/animata/button/status-button.tsx @@ -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,7 +45,7 @@ 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> )} diff --git a/animata/button/work-button.tsx b/animata/button/work-button.tsx index def68b70..8b82a0eb 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-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/work:translate-y-14"></span> <span className="font-semibold text-purple-200">Work with us</span> </button> ); diff --git a/animata/card/blur-stack-card.tsx b/animata/card/blur-stack-card.tsx index 37350abc..28f2fcab 100644 --- a/animata/card/blur-stack-card.tsx +++ b/animata/card/blur-stack-card.tsx @@ -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.tsx b/animata/card/card-comment.tsx index fb630f94..b90e782b 100644 --- a/animata/card/card-comment.tsx +++ b/animata/card/card-comment.tsx @@ -5,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-all 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-all 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.tsx b/animata/card/card-spread.tsx index 4a04fda7..e157865a 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,7 +59,7 @@ 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-all duration-500 ease-in-out", { "origin-bottom transition-all duration-500 ease-in-out hover:-rotate-[15deg]": !isExpanded, diff --git a/animata/card/case-study-card.tsx b/animata/card/case-study-card.tsx index 391f6cc6..97c3a414 100644 --- a/animata/card/case-study-card.tsx +++ b/animata/card/case-study-card.tsx @@ -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/email-feature-card.tsx b/animata/card/email-feature-card.tsx index 19974552..30f227ff 100644 --- a/animata/card/email-feature-card.tsx +++ b/animata/card/email-feature-card.tsx @@ -2,9 +2,9 @@ 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> @@ -47,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.tsx b/animata/card/flip-card.tsx index bedec3cf..c143a90d 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-all 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.tsx b/animata/card/github-card-shiny.tsx index 78969efe..7c350f54 100644 --- a/animata/card/github-card-shiny.tsx +++ b/animata/card/github-card-shiny.tsx @@ -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-0 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))", }} diff --git a/animata/card/integration-pills.tsx b/animata/card/integration-pills.tsx index 34355875..ec1196b7 100644 --- a/animata/card/integration-pills.tsx +++ b/animata/card/integration-pills.tsx @@ -4,65 +4,65 @@ 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", }, ]; @@ -70,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-all 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.tsx b/animata/card/led-board.tsx index 3a1eca7a..bc4276a2 100644 --- a/animata/card/led-board.tsx +++ b/animata/card/led-board.tsx @@ -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-gradient-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)} > @@ -237,7 +237,7 @@ export default function LEDBoard({ animationDelay: `${delay}ms`, }} className={cn("fill-zinc-800 transition-all duration-200 ease-in-out", { - "group-hover:fill-purple-500": isLit, + "group-hover/led:fill-purple-500": isLit, "animate-led ease-in-out": shouldAnimate, })} /> diff --git a/animata/card/reminder-scheduler.tsx b/animata/card/reminder-scheduler.tsx index a5fe123d..81b6895b 100644 --- a/animata/card/reminder-scheduler.tsx +++ b/animata/card/reminder-scheduler.tsx @@ -117,14 +117,17 @@ function SwapText({ 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} @@ -133,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/subscribe-card.tsx b/animata/card/subscribe-card.tsx index d8bb5d35..5bdb68cc 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-all 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/swap-text-card.tsx b/animata/card/swap-text-card.tsx index 2b8d6a0e..7a0e88d5 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-all 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/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/marquee.tsx b/animata/container/marquee.tsx index bbc19ff7..58ef1ea5 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, @@ -74,7 +74,7 @@ export default function Marquee({ <div key={`item-${index}`} className={cn("flex shrink-0 [gap:var(--gap)]", { - "group-hover:[animation-play-state:paused]": pauseOnHover, + "group-hover/marquee:[animation-play-state:paused]": pauseOnHover, "marquee-horizontal flex-row": !vertical, "marquee-vertical flex-col": vertical, })} diff --git a/animata/graphs/progress.tsx b/animata/graphs/progress.tsx index d8e74252..95758d68 100644 --- a/animata/graphs/progress.tsx +++ b/animata/graphs/progress.tsx @@ -36,9 +36,9 @@ export default function Progress({ progress }: { progress: number }) { 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": + "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={{ diff --git a/animata/hero/hero-section-text-hover.tsx b/animata/hero/hero-section-text-hover.tsx index 2a972b38..40615b39 100644 --- a/animata/hero/hero-section-text-hover.tsx +++ b/animata/hero/hero-section-text-hover.tsx @@ -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/shape-shifter.tsx b/animata/hero/shape-shifter.tsx index 57f6ff31..951b1086 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-all 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-all 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/icon/hover-interaction.tsx b/animata/icon/hover-interaction.tsx index 9c8db1a2..ffcad2dd 100644 --- a/animata/icon/hover-interaction.tsx +++ b/animata/icon/hover-interaction.tsx @@ -100,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-black ${textSizeClass}`} > {formattedTitle} </span> diff --git a/animata/image/photo-booth.tsx b/animata/image/photo-booth.tsx index 92ec91ea..1476d662 100644 --- a/animata/image/photo-booth.tsx +++ b/animata/image/photo-booth.tsx @@ -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/tilted-cover.tsx b/animata/image/tilted-cover.tsx index f205bdff..f496f2da 100644 --- a/animata/image/tilted-cover.tsx +++ b/animata/image/tilted-cover.tsx @@ -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 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/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/list/avatar-list.tsx b/animata/list/avatar-list.tsx index 52e921dc..9c1b5a9c 100644 --- a/animata/list/avatar-list.tsx +++ b/animata/list/avatar-list.tsx @@ -57,10 +57,10 @@ export default function AvatarList({ {data.map((item) => ( <div key={item.name} - className="group relative z-0 -ml-4 flex scale-100 items-center transition-all duration-200 ease-in-out hover:z-10 hover:scale-110" + className="group/avatar relative z-0 -ml-4 flex scale-100 items-center transition-all duration-200 ease-in-out hover:z-10 hover:scale-110" > <div className="relative overflow-hidden rounded-full bg-white"> - <div className="bg-size pointer-events-none absolute h-full w-full animate-bg-position from-violet-500 from-30% via-cyan-400 via-50% to-pink-500 to-80% bg-[length:300%_auto] opacity-15 group-hover:bg-gradient-to-r" /> + <div className="bg-size pointer-events-none absolute h-full w-full animate-bg-position from-violet-500 from-30% via-cyan-400 via-50% to-pink-500 to-80% bg-[length:300%_auto] opacity-15 group-hover/avatar:bg-gradient-to-r" /> <div className="z-1 blur-lg" /> <img src={item.image} @@ -68,7 +68,7 @@ export default function AvatarList({ className={cn("rounded-full object-cover", sizes[size] ?? sizes.md)} /> </div> - <div className="absolute bottom-full left-1/2 -translate-x-1/2 translate-y-2 transform whitespace-nowrap rounded bg-slate-900 p-2 text-white opacity-0 transition-all duration-300 ease-in-out group-hover:-translate-y-2 group-hover:opacity-100 dark:bg-slate-100 dark:text-slate-900"> + <div className="absolute bottom-full left-1/2 -translate-x-1/2 translate-y-2 transform whitespace-nowrap rounded bg-slate-900 p-2 text-white opacity-0 transition-all 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.tsx b/animata/list/flipping-cards.tsx index a0be0de4..8d2d9bec 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-all delay-75 duration-500 ease-linear [transform-style:preserve-3d] group-hover/flip:[transform:rotateY(-180deg)]", )} > <div className={cn("bg-white", common)}>{show}</div> diff --git a/animata/list/menu-animation.tsx b/animata/list/menu-animation.tsx index 4e13ed7d..3efa1ca3 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-all 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.tsx b/animata/list/orbiting-items.tsx index 1eb9c020..718aba3f 100644 --- a/animata/list/orbiting-items.tsx +++ b/animata/list/orbiting-items.tsx @@ -77,14 +77,14 @@ export default function OrbitingItems({ const reverse = cn( "animate-[rotate-full_45s] 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", + "storybook-fix group/orbit flex items-center justify-center py-32", containerClassName, )} > @@ -98,7 +98,7 @@ export default function OrbitingItems({ className={cn( "relative flex h-64 w-64 animate-[rotate-full_45s] 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.tsx b/animata/list/reveal-image.tsx index 6e2226bd..6f8164d7 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-all 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-all 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-all 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/text/bold-copy.tsx b/animata/text/bold-copy.tsx index be27f8fa..b04989bb 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 group-hover/bold:text-4xl md:text-3xl group-hover/bold:md:text-8xl", textClassName, )} > diff --git a/animata/text/double-underline.tsx b/animata/text/double-underline.tsx index 633f3acf..1ead9fef 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-all 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/mirror-text.tsx b/animata/text/mirror-text.tsx index 68708e38..26a228de 100644 --- a/animata/text/mirror-text.tsx +++ b/animata/text/mirror-text.tsx @@ -17,10 +17,10 @@ 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", + "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/swap-text.tsx b/animata/text/swap-text.tsx index 404c7343..3d9c1ebd 100644 --- a/animata/text/swap-text.tsx +++ b/animata/text/swap-text.tsx @@ -59,14 +59,14 @@ export default function SwapText({ 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/widget/clock-with-photo.tsx b/animata/widget/clock-with-photo.tsx index bd441571..ae24ef15 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-all 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-all 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-all duration-500 group-hover/clock:right-1/4", )} > <div className="flex"> 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/expense-tracker.tsx b/animata/widget/expense-tracker.tsx index 475a6378..485b5e88 100644 --- a/animata/widget/expense-tracker.tsx +++ b/animata/widget/expense-tracker.tsx @@ -36,11 +36,11 @@ export default function ExpenseTracker({ {new Date().toLocaleString("default", { month: "long" }).toUpperCase()}{" "} {new Date().getFullYear()} </h4> - <div className="group flex flex-1 items-end justify-between"> + <div className="group/expense flex flex-1 items-end justify-between"> {spending.map((item) => ( <div key={item.day} - className="flex cursor-pointer flex-col items-center transition-opacity hover:!opacity-100 group-hover:opacity-50" + className="flex cursor-pointer flex-col items-center transition-opacity hover:!opacity-100 group-hover/expense:opacity-50" > <div className="mb-1 text-xs text-foreground">{item.day}</div> <div diff --git a/animata/widget/live-score.tsx b/animata/widget/live-score.tsx index 77d852d2..1245e887 100644 --- a/animata/widget/live-score.tsx +++ b/animata/widget/live-score.tsx @@ -118,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"> @@ -132,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-all group-hover/score:-translate-y-full"> <div className="flex items-center gap-1 tabular-nums"> <Triangle fill="white" size={6} /> <p> @@ -156,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-all group-hover/score:-translate-y-full"> Some other information. </div> </div> diff --git a/animata/widget/mobile-detail.tsx b/animata/widget/mobile-detail.tsx index f3753cf4..bb7876bf 100644 --- a/animata/widget/mobile-detail.tsx +++ b/animata/widget/mobile-detail.tsx @@ -16,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" /> ), }, @@ -25,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" + /> ), }, ]; @@ -53,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/profile.tsx b/animata/widget/profile.tsx index 68aa3d3d..78fa98a9 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-all 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/score-board.tsx b/animata/widget/score-board.tsx index 58b1265c..91879f4e 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-all 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/storage-status.tsx b/animata/widget/storage-status.tsx index fbf32c2a..51a113c0 100644 --- a/animata/widget/storage-status.tsx +++ b/animata/widget/storage-status.tsx @@ -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/vpn-widget.tsx b/animata/widget/vpn-widget.tsx index 25aa6841..fce96108 100644 --- a/animata/widget/vpn-widget.tsx +++ b/animata/widget/vpn-widget.tsx @@ -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", From 99cc0279350820daf091fb6fa8c8b1a703649400 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:36:51 +0545 Subject: [PATCH 34/63] fix(background): use theme tokens for placeholder text colors Replace hardcoded bg-white with bg-foreground text-background so placeholder labels remain visible in both light and dark themes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/diagonal-lines.tsx | 4 +++- animata/background/dot.tsx | 2 +- animata/background/grid.tsx | 4 +++- animata/background/zigzag.tsx | 4 +++- 4 files changed, 10 insertions(+), 4 deletions(-) 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.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.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/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> ); } From 9a6e46e8853e617d8cdcac61382a1f3646a55a9e Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:36:57 +0545 Subject: [PATCH 35/63] fix(bento-grid): fix gradient card text color and rotation value Change description text from text-white/80 to text-black/75 for readability. Fix rotate value syntax for Tailwind v4. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/bento-grid/gradient.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/animata/bento-grid/gradient.tsx b/animata/bento-grid/gradient.tsx index 127637e2..c163a9f4 100644 --- a/animata/bento-grid/gradient.tsx +++ b/animata/bento-grid/gradient.tsx @@ -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-white/80">{description}</div> + <div className="flex-1 text-sm font-medium text-black/75">{description}</div> {children} </section> </MovingGradient> @@ -60,7 +60,7 @@ function GetGradient() { <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/grid: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-all 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/grid:opacity-25" /> From 14717636a86af786b2ed2b4d8c5cb4cad6b7ace3 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:37:03 +0545 Subject: [PATCH 36/63] refactor(components): clean up image and text components Remove redundant JSDoc comments, use cn() for className composition in skew-image, remove stale eslint-disable comment, fix Tailwind v4 transition classes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/image/disclose-image.tsx | 5 ----- animata/image/skew-image.tsx | 15 +++++---------- animata/text/gibberish-text.tsx | 4 ---- 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/animata/image/disclose-image.tsx b/animata/image/disclose-image.tsx index 7c3e4bac..450101a2 100644 --- a/animata/image/disclose-image.tsx +++ b/animata/image/disclose-image.tsx @@ -2,11 +2,6 @@ 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, diff --git a/animata/image/skew-image.tsx b/animata/image/skew-image.tsx index 857f7ee4..a6b2016c 100644 --- a/animata/image/skew-image.tsx +++ b/animata/image/skew-image.tsx @@ -1,26 +1,21 @@ 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/text/gibberish-text.tsx b/animata/text/gibberish-text.tsx index 7de8d019..e168adb8 100644 --- a/animata/text/gibberish-text.tsx +++ b/animata/text/gibberish-text.tsx @@ -38,10 +38,6 @@ const Letter = ({ letter, className }: { letter: string; className?: string }) = ); }; -/** - * Animate each letter in the text using gibberish text effect. - * Renders a random letter first and then animates it to the correct letter. - */ export default function GibberishText({ text, className }: GibberishTextProps) { return ( <> From e63bf9199c14d9912360a7d929af57fd4c2cac34 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:39:41 +0545 Subject: [PATCH 37/63] fix(components): replace transition-all with transition for Tailwind v4 In Tailwind v4, transition-all now transitions ALL properties including display and visibility which causes visual glitches. Replace with transition which only covers common properties (color, background, transform, opacity, shadow). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/interactive-grid.tsx | 2 +- animata/bento-grid/eight.tsx | 4 ++-- animata/bento-grid/gradient.tsx | 4 ++-- animata/button/algolia-blue-button.tsx | 2 +- animata/button/algolia-white-button.tsx | 2 +- animata/button/arrow-button.tsx | 2 +- animata/button/duolingo.tsx | 2 +- animata/button/external-link-button.tsx | 2 +- animata/button/get-started-button.tsx | 2 +- animata/button/shining-button.tsx | 6 +++--- animata/button/slide-arrow-button.tsx | 6 +++--- animata/button/work-button.tsx | 4 ++-- animata/card/WebHooks-card.tsx | 2 +- animata/card/card-comment.tsx | 4 ++-- animata/card/card-spread.tsx | 7 +++---- animata/card/flip-card.tsx | 2 +- animata/card/integration-pills.tsx | 2 +- animata/card/led-board.tsx | 2 +- animata/card/reminder-scheduler.tsx | 4 ++-- animata/card/subscribe-card.tsx | 2 +- animata/card/survey-card.tsx | 2 +- animata/card/swap-text-card.tsx | 2 +- animata/card/tilted-card.tsx | 2 +- animata/carousel/expandable.tsx | 2 +- animata/container/nav-tabs.tsx | 2 +- animata/container/shift-tabs.tsx | 2 +- animata/fabs/speed-dial.tsx | 8 ++++---- animata/graphs/bar-chart.tsx | 2 +- animata/graphs/progress.tsx | 2 +- animata/hero/hero-section.tsx | 2 +- animata/hero/product-features.tsx | 2 +- animata/hero/shape-shifter.tsx | 4 ++-- animata/image/disclose-image.tsx | 2 +- animata/image/tilted-cover.tsx | 6 +++--- animata/image/zoom-image.tsx | 2 +- animata/list/avatar-list.tsx | 4 ++-- animata/list/flipping-cards.tsx | 14 ++++++++------ animata/list/flower-menu.tsx | 8 ++++---- animata/list/menu-animation.tsx | 2 +- animata/list/reveal-image.tsx | 6 +++--- animata/text/bold-copy.tsx | 4 ++-- animata/text/double-underline.tsx | 2 +- animata/text/mirror-text.tsx | 2 +- animata/text/scroll-reveal.stories.tsx | 6 +++--- animata/text/split-text.tsx | 2 +- animata/text/swap-text.tsx | 2 +- animata/text/underline-hover-text.tsx | 2 +- animata/text/wave-reveal.tsx | 2 +- animata/widget/calendar-event.tsx | 2 +- animata/widget/clock-with-photo.tsx | 6 +++--- animata/widget/delivery-card.tsx | 4 ++-- animata/widget/expense-tracker.tsx | 2 +- animata/widget/live-score.tsx | 4 ++-- animata/widget/music-stack-interaction.tsx | 2 +- animata/widget/music-widget.tsx | 6 +++--- animata/widget/profile.tsx | 2 +- animata/widget/score-board.tsx | 2 +- animata/widget/storage-status.tsx | 2 +- animata/widget/vpn-widget.tsx | 2 +- animata/widget/water-tracker.tsx | 2 +- 60 files changed, 99 insertions(+), 98 deletions(-) diff --git a/animata/background/interactive-grid.tsx b/animata/background/interactive-grid.tsx index bf9fff33..3691699e 100644 --- a/animata/background/interactive-grid.tsx +++ b/animata/background/interactive-grid.tsx @@ -122,7 +122,7 @@ 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/cell:scale-100 group-hover/cell:opacity-100": !shouldHighlight, diff --git a/animata/bento-grid/eight.tsx b/animata/bento-grid/eight.tsx index 7cdadae7..93f366c2 100644 --- a/animata/bento-grid/eight.tsx +++ b/animata/bento-grid/eight.tsx @@ -34,7 +34,7 @@ function BoldCopy({ > <div className={cn( - "text-4xl font-black uppercase text-foreground/15 transition-all group-hover/bento: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/bento:text-4xl md:text-3xl group-hover/bento: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, )} > diff --git a/animata/bento-grid/gradient.tsx b/animata/bento-grid/gradient.tsx index c163a9f4..5f81814b 100644 --- a/animata/bento-grid/gradient.tsx +++ b/animata/bento-grid/gradient.tsx @@ -60,10 +60,10 @@ function GetGradient() { <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/grid:rotate-[360] 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/grid: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> ); diff --git a/animata/button/algolia-blue-button.tsx b/animata/button/algolia-blue-button.tsx index c26ac63e..275cd388 100644 --- a/animata/button/algolia-blue-button.tsx +++ b/animata/button/algolia-blue-button.tsx @@ -1,6 +1,6 @@ export default function AlgoliaBlueButton() { return ( - <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-gradient-to-r from-sky-500 to-blue-600 px-4 font-mono leading-none text-white no-underline transition-all duration-150 ease-in-out hover:-translate-y-0.5 active:translate-y-0.5"> + <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-gradient-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; diff --git a/animata/button/algolia-white-button.tsx b/animata/button/algolia-white-button.tsx index 856988ff..f0c219d3 100644 --- a/animata/button/algolia-white-button.tsx +++ b/animata/button/algolia-white-button.tsx @@ -1,6 +1,6 @@ export default function AlgoliaWhiteButton() { return ( - <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-all duration-150 ease-in-out hover:-translate-y-0.5 active:translate-y-0.5"> + <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; diff --git a/animata/button/arrow-button.tsx b/animata/button/arrow-button.tsx index 89ad403d..7e7899ac 100644 --- a/animata/button/arrow-button.tsx +++ b/animata/button/arrow-button.tsx @@ -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.tsx b/animata/button/duolingo.tsx index 0328b275..d7c45b8e 100644 --- a/animata/button/duolingo.tsx +++ b/animata/button/duolingo.tsx @@ -1,6 +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"> + <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 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.tsx b/animata/button/external-link-button.tsx index 8f4fa005..c9a1ca63 100644 --- a/animata/button/external-link-button.tsx +++ b/animata/button/external-link-button.tsx @@ -14,7 +14,7 @@ export default function ExternalLinkButton({ text = "Open Link" }: ButtonTitlePr <ArrowTopRightIcon height={20} width={20} - className="opacity-75 transition-all 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" + 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.tsx b/animata/button/get-started-button.tsx index f7f44377..4898f056 100644 --- a/animata/button/get-started-button.tsx +++ b/animata/button/get-started-button.tsx @@ -32,7 +32,7 @@ export default function GetStartedButton({ "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/start: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( diff --git a/animata/button/shining-button.tsx b/animata/button/shining-button.tsx index 033d43be..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/shine cursor-pointer rounded-xl border-4 border-violet-800/0 bg-transparent p-1 transition-all duration-500 hover:border-violet-800/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/shine:translate-x-2 group-hover/shine: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/shine: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.tsx b/animata/button/slide-arrow-button.tsx index 6246077a..dca8cc7f 100644 --- a/animata/button/slide-arrow-button.tsx +++ b/animata/button/slide-arrow-button.tsx @@ -18,14 +18,14 @@ export default function SlideArrowButton({ {...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/slide: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/slide:-left-3 group-hover/slide: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/work-button.tsx b/animata/button/work-button.tsx index 8b82a0eb..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/work 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/work: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 cba1c57f..f0fc2e6b 100644 --- a/animata/card/WebHooks-card.tsx +++ b/animata/card/WebHooks-card.tsx @@ -28,7 +28,7 @@ export const WebHooks = ({ leftBoxElem, rightBoxElem }: webHooksCardCommentProps isHovered ? "border-solid border-lime-500 bg-lime-500" : "border-dotted border-gray-300 hover:border-solid" - } transition-all duration-500`} + } transition duration-500`} /> {/* Animated Ball */} diff --git a/animata/card/card-comment.tsx b/animata/card/card-comment.tsx index b90e782b..dd673a1a 100644 --- a/animata/card/card-comment.tsx +++ b/animata/card/card-comment.tsx @@ -7,13 +7,13 @@ export const CardComment = ({ commenter, replier }: CardCommentProps) => { return ( <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/comment:-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/comment:-translate-y-1/3 group-hover/comment: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.tsx b/animata/card/card-spread.tsx index e157865a..661f6e3e 100644 --- a/animata/card/card-spread.tsx +++ b/animata/card/card-spread.tsx @@ -59,10 +59,9 @@ export default function CardSpread() { return ( <div className={cn( - "group/spread 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/flip-card.tsx b/animata/card/flip-card.tsx index c143a90d..91e7c877 100644 --- a/animata/card/flip-card.tsx +++ b/animata/card/flip-card.tsx @@ -26,7 +26,7 @@ export default function FlipCard({ <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-3d", + "relative h-full rounded-2xl transition duration-500 transform-3d", rotationClass[rotate][0], )} > diff --git a/animata/card/integration-pills.tsx b/animata/card/integration-pills.tsx index ec1196b7..b02a800f 100644 --- a/animata/card/integration-pills.tsx +++ b/animata/card/integration-pills.tsx @@ -70,7 +70,7 @@ export default function IntegrationPills() { return ( <div className="flex justify-center py-10"> {/* Rectangular box around all cards */} - <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-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.tsx b/animata/card/led-board.tsx index bc4276a2..d3f616aa 100644 --- a/animata/card/led-board.tsx +++ b/animata/card/led-board.tsx @@ -236,7 +236,7 @@ export default function LEDBoard({ animationDuration: "2000ms", animationDelay: `${delay}ms`, }} - className={cn("fill-zinc-800 transition-all duration-200 ease-in-out", { + 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/reminder-scheduler.tsx b/animata/card/reminder-scheduler.tsx index 81b6895b..d4bc86fd 100644 --- a/animata/card/reminder-scheduler.tsx +++ b/animata/card/reminder-scheduler.tsx @@ -68,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> ); }; @@ -112,7 +112,7 @@ 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)}> diff --git a/animata/card/subscribe-card.tsx b/animata/card/subscribe-card.tsx index 5bdb68cc..1bceae46 100644 --- a/animata/card/subscribe-card.tsx +++ b/animata/card/subscribe-card.tsx @@ -20,7 +20,7 @@ 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/subscribe 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/subscribe:opacity-100" /> diff --git a/animata/card/survey-card.tsx b/animata/card/survey-card.tsx index 39952658..e1c7292d 100644 --- a/animata/card/survey-card.tsx +++ b/animata/card/survey-card.tsx @@ -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-text-card.tsx b/animata/card/swap-text-card.tsx index 7a0e88d5..60187360 100644 --- a/animata/card/swap-text-card.tsx +++ b/animata/card/swap-text-card.tsx @@ -20,7 +20,7 @@ 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/swap:mb-0 md:flex md:flex-col" + 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" /> diff --git a/animata/card/tilted-card.tsx b/animata/card/tilted-card.tsx index 721fab32..f7889610 100644 --- a/animata/card/tilted-card.tsx +++ b/animata/card/tilted-card.tsx @@ -7,7 +7,7 @@ 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-white hover:shadow-xl", className, )} > diff --git a/animata/carousel/expandable.tsx b/animata/carousel/expandable.tsx index 84eefd14..e2423e55 100644 --- a/animata/carousel/expandable.tsx +++ b/animata/carousel/expandable.tsx @@ -19,7 +19,7 @@ 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, }, diff --git a/animata/container/nav-tabs.tsx b/animata/container/nav-tabs.tsx index fa8deb6d..9680e95c 100644 --- a/animata/container/nav-tabs.tsx +++ b/animata/container/nav-tabs.tsx @@ -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", )} > diff --git a/animata/container/shift-tabs.tsx b/animata/container/shift-tabs.tsx index b4aa1d8b..a7e3595c 100644 --- a/animata/container/shift-tabs.tsx +++ b/animata/container/shift-tabs.tsx @@ -19,7 +19,7 @@ const Button = ({ item, index, activeIndex, onTabClick }: ButtonProps) => { > <div 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, diff --git a/animata/fabs/speed-dial.tsx b/animata/fabs/speed-dial.tsx index 90c5f699..d1dd75aa 100644 --- a/animata/fabs/speed-dial.tsx +++ b/animata/fabs/speed-dial.tsx @@ -66,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 @@ -80,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> @@ -89,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/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/progress.tsx b/animata/graphs/progress.tsx index 95758d68..0455c4a5 100644 --- a/animata/graphs/progress.tsx +++ b/animata/graphs/progress.tsx @@ -35,7 +35,7 @@ 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", { + 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/progress:scale-75 group-hover/progress:bg-zinc-900/15 group-active/progress:scale-75 group-active/progress:bg-zinc-900/15": diff --git a/animata/hero/hero-section.tsx b/animata/hero/hero-section.tsx index 4f045f00..bd15a5ae 100644 --- a/animata/hero/hero-section.tsx +++ b/animata/hero/hero-section.tsx @@ -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.tsx b/animata/hero/product-features.tsx index e3681ce8..7299fb61 100644 --- a/animata/hero/product-features.tsx +++ b/animata/hero/product-features.tsx @@ -108,7 +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"> + <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 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.tsx b/animata/hero/shape-shifter.tsx index 951b1086..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/shifter 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/shifter:[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/image/disclose-image.tsx b/animata/image/disclose-image.tsx index 450101a2..f23de2cf 100644 --- a/animata/image/disclose-image.tsx +++ b/animata/image/disclose-image.tsx @@ -20,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/tilted-cover.tsx b/animata/image/tilted-cover.tsx index f496f2da..e3d7691f 100644 --- a/animata/image/tilted-cover.tsx +++ b/animata/image/tilted-cover.tsx @@ -42,19 +42,19 @@ export default function TiltedCover({ <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/tilt:!transform-none dark:border-zinc-700" + className="border-box border-1 pointer-events-none relative h-full w-full overflow-hidden rounded-xl border bg-background transition 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/tilt:bg-transparent" /> + <div className="absolute inset-0 h-full w-full bg-gray-400/10 transition 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/tilt:!transform-none group-hover/tilt: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 delay-75 duration-500 ease-slow group-hover/tilt:!transform-none group-hover/tilt:opacity-0 dark:bg-gray-800", { "group-hover/tilt:left-[200%]": tiltLeft, "group-hover/tilt:-left-[200%]": !tiltLeft, diff --git a/animata/image/zoom-image.tsx b/animata/image/zoom-image.tsx index 72e72a49..f09e62d9 100644 --- a/animata/image/zoom-image.tsx +++ b/animata/image/zoom-image.tsx @@ -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.tsx b/animata/list/avatar-list.tsx index 9c1b5a9c..23617452 100644 --- a/animata/list/avatar-list.tsx +++ b/animata/list/avatar-list.tsx @@ -57,7 +57,7 @@ export default function AvatarList({ {data.map((item) => ( <div key={item.name} - className="group/avatar relative z-0 -ml-4 flex scale-100 items-center transition-all duration-200 ease-in-out hover:z-10 hover:scale-110" + className="group/avatar relative z-0 -ml-4 flex scale-100 items-center transition duration-200 ease-in-out hover:z-10 hover:scale-110" > <div className="relative overflow-hidden rounded-full bg-white"> <div className="bg-size pointer-events-none absolute h-full w-full animate-bg-position from-violet-500 from-30% via-cyan-400 via-50% to-pink-500 to-80% bg-[length:300%_auto] opacity-15 group-hover/avatar:bg-gradient-to-r" /> @@ -68,7 +68,7 @@ export default function AvatarList({ className={cn("rounded-full object-cover", sizes[size] ?? sizes.md)} /> </div> - <div className="absolute bottom-full left-1/2 -translate-x-1/2 translate-y-2 transform whitespace-nowrap rounded bg-slate-900 p-2 text-white opacity-0 transition-all duration-300 ease-in-out group-hover/avatar:-translate-y-2 group-hover/avatar: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.tsx b/animata/list/flipping-cards.tsx index 8d2d9bec..884f0f9f 100644 --- a/animata/list/flipping-cards.tsx +++ b/animata/list/flipping-cards.tsx @@ -25,7 +25,7 @@ const Card = ({ show, reveal }: CardProps) => { <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/flip:[transform:rotateY(-180deg)]", + "relative h-full transition delay-75 duration-500 ease-linear [transform-style:preserve-3d] group-hover/flip:[transform:rotateY(-180deg)]", )} > <div className={cn("bg-white", common)}>{show}</div> @@ -48,11 +48,13 @@ const CardDetails = ({ title, image, font, index }: CardDetailsProps) => { <Card show={ <div className="flex w-full flex-col border-[1px] border-black/15 px-3 py-4 text-sm"> - <span className="border-t-2 border-black pt-1">{font}</span> + <span className="border-t-2 border-black text-black pt-1">{font}</span> - <span className="mt-4 border-b-2 border-black px-1 font-serif text-8xl">{title}</span> + <span className="mt-4 border-b-2 border-black text-black px-1 font-serif text-8xl"> + {title} + </span> <div className="mt-12 flex items-center justify-between"> - <span>{index}</span> + <span>{(index ?? 0) + 1}</span> <PlusCircle size={18} /> </div> </div> @@ -64,8 +66,8 @@ const CardDetails = ({ title, image, font, index }: CardDetailsProps) => { {font.split(" ")[0]} </Marquee> <div className="flex items-center justify-between px-3"> - <span className="text-white">See more</span> - <PlusCircle size={18} color="white" /> + <span className="text-black">See more</span> + <PlusCircle size={18} color="black" /> </div> </div> } diff --git a/animata/list/flower-menu.tsx b/animata/list/flower-menu.tsx index 8c86f34e..dc51bd03 100644 --- a/animata/list/flower-menu.tsx +++ b/animata/list/flower-menu.tsx @@ -47,7 +47,7 @@ const MenuToggler = ({ /> <label htmlFor="menu-toggler" - className="absolute inset-0 z-20 m-auto flex cursor-pointer items-center justify-center rounded-full transition-all" + className="absolute inset-0 z-20 m-auto flex cursor-pointer items-center justify-center rounded-full transition" style={{ backgroundColor, color: iconColor, @@ -63,7 +63,7 @@ const MenuToggler = ({ {[0, 1, 2].map((i) => ( <span key={i} - className={`absolute bg-current transition-all ${ + className={`absolute bg-current transition ${ isOpen && i === 0 ? "opacity-0" : isOpen @@ -110,7 +110,7 @@ const MenuItem = ({ const Icon = item.icon; return ( <li - className={`absolute inset-0 m-auto transition-all ${isOpen ? "opacity-100" : "opacity-0"}`} + className={`absolute inset-0 m-auto transition ${isOpen ? "opacity-100" : "opacity-0"}`} style={{ width: itemSize, height: itemSize, @@ -124,7 +124,7 @@ const MenuItem = ({ href={item.href} target="_blank" rel="noopener noreferrer" - className={`flex h-full w-full items-center justify-center rounded-full opacity-60 transition-all duration-100 ${ + className={`flex h-full w-full items-center justify-center rounded-full opacity-60 transition duration-100 ${ isOpen ? "pointer-events-auto" : "pointer-events-none" } group hover:scale-125 hover:opacity-100`} style={{ diff --git a/animata/list/menu-animation.tsx b/animata/list/menu-animation.tsx index 3efa1ca3..7cc97695 100644 --- a/animata/list/menu-animation.tsx +++ b/animata/list/menu-animation.tsx @@ -9,7 +9,7 @@ export default function MenuAnimation({ menuItems }: MenuAnimationProps) { <div className="flex min-w-fit flex-col gap-2 overflow-hidden px-10"> {menuItems.map((item, index) => ( <div key={index} className="group/menu 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/menu:translate-x-0 group-hover/menu:text-blue-500 group-hover/menu:opacity-100 md:size-10" /> + <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/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} diff --git a/animata/list/reveal-image.tsx b/animata/list/reveal-image.tsx index 6f8164d7..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/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-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/reveal relative h-fit w-fit overflow-visible py-8"> - <h1 className="text-7xl font-black text-foreground transition-all duration-500 group-hover/reveal:opacity-40"> + <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/reveal:translate-x-6 group-hover/reveal:translate-y-6 group-hover/reveal: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/text/bold-copy.tsx b/animata/text/bold-copy.tsx index b04989bb..5f89b86a 100644 --- a/animata/text/bold-copy.tsx +++ b/animata/text/bold-copy.tsx @@ -31,7 +31,7 @@ export default function BoldCopy({ > <div className={cn( - "text-4xl font-bold uppercase text-foreground/15 transition-all group-hover/bold:opacity-50 md:text-8xl", + "text-4xl font-bold uppercase text-foreground/15 transition 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/bold:text-4xl md:text-3xl group-hover/bold:md:text-8xl", + "text-md absolute font-bold uppercase text-foreground transition group-hover/bold:text-4xl md:text-3xl group-hover/bold:md:text-8xl", textClassName, )} > diff --git a/animata/text/double-underline.tsx b/animata/text/double-underline.tsx index 1ead9fef..0a08bcaf 100644 --- a/animata/text/double-underline.tsx +++ b/animata/text/double-underline.tsx @@ -6,7 +6,7 @@ export default function DoubleUnderline({ ...props }: React.HTMLProps<HTMLSpanElement>) { const common = - "absolute h-px w-full bg-blue-500 transition-all duration-200 group-hover/underline: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} diff --git a/animata/text/mirror-text.tsx b/animata/text/mirror-text.tsx index 26a228de..9bdeba2c 100644 --- a/animata/text/mirror-text.tsx +++ b/animata/text/mirror-text.tsx @@ -16,7 +16,7 @@ export default function MirrorText({ containerClassName?: string; }) { - const animation = cn("transition-all duration-500 ease-slow", { + 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", diff --git a/animata/text/scroll-reveal.stories.tsx b/animata/text/scroll-reveal.stories.tsx index 861e394b..a70517cc 100644 --- a/animata/text/scroll-reveal.stories.tsx +++ b/animata/text/scroll-reveal.stories.tsx @@ -21,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/split-text.tsx b/animata/text/split-text.tsx index 0531ed41..d8707766 100644 --- a/animata/text/split-text.tsx +++ b/animata/text/split-text.tsx @@ -13,7 +13,7 @@ export default function SplitText({ 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/swap-text.tsx b/animata/text/swap-text.tsx index 3d9c1ebd..dd5decf9 100644 --- a/animata/text/swap-text.tsx +++ b/animata/text/swap-text.tsx @@ -52,7 +52,7 @@ 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; diff --git a/animata/text/underline-hover-text.tsx b/animata/text/underline-hover-text.tsx index 586aa28f..0c9822dd 100644 --- a/animata/text/underline-hover-text.tsx +++ b/animata/text/underline-hover-text.tsx @@ -30,7 +30,7 @@ const UnderlineHoverText: React.FC<UnderlineHoverTextProps> = ({ textColor, fontWeight, "after:absolute after:bottom-0 after:left-0 after:h-1 after:w-full after:bg-gray-400", - "after:transition-all after:duration-150", + "after:transition after:duration-150", hoverTextColor, "hover:after:h-full", hoverColor, diff --git a/animata/text/wave-reveal.tsx b/animata/text/wave-reveal.tsx index 6c7b7e6a..7997572c 100644 --- a/animata/text/wave-reveal.tsx +++ b/animata/text/wave-reveal.tsx @@ -119,7 +119,7 @@ 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, diff --git a/animata/widget/calendar-event.tsx b/animata/widget/calendar-event.tsx index 4bb63582..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, )} > diff --git a/animata/widget/clock-with-photo.tsx b/animata/widget/clock-with-photo.tsx index ae24ef15..3bd4fae8 100644 --- a/animata/widget/clock-with-photo.tsx +++ b/animata/widget/clock-with-photo.tsx @@ -41,17 +41,17 @@ export default function ClockWithPhoto() { <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/clock:scale-105 group-hover/clock: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/clock:translate-x-full group-hover/clock: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/clock: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/delivery-card.tsx b/animata/widget/delivery-card.tsx index 8505848b..f3b3f2e8 100644 --- a/animata/widget/delivery-card.tsx +++ b/animata/widget/delivery-card.tsx @@ -55,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/expense-tracker.tsx b/animata/widget/expense-tracker.tsx index 485b5e88..d5de25b2 100644 --- a/animata/widget/expense-tracker.tsx +++ b/animata/widget/expense-tracker.tsx @@ -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/live-score.tsx b/animata/widget/live-score.tsx index 1245e887..6e406a41 100644 --- a/animata/widget/live-score.tsx +++ b/animata/widget/live-score.tsx @@ -132,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/score:-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> @@ -156,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/score:-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/music-stack-interaction.tsx b/animata/widget/music-stack-interaction.tsx index 54478619..cfc6c081 100644 --- a/animata/widget/music-stack-interaction.tsx +++ b/animata/widget/music-stack-interaction.tsx @@ -102,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.tsx b/animata/widget/music-widget.tsx index 65d9656d..6bae7bce 100644 --- a/animata/widget/music-widget.tsx +++ b/animata/widget/music-widget.tsx @@ -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/profile.tsx b/animata/widget/profile.tsx index 78fa98a9..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/profile 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/score-board.tsx b/animata/widget/score-board.tsx index 91879f4e..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/board 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/storage-status.tsx b/animata/widget/storage-status.tsx index 51a113c0..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}%` }} diff --git a/animata/widget/vpn-widget.tsx b/animata/widget/vpn-widget.tsx index fce96108..9c558c6d 100644 --- a/animata/widget/vpn-widget.tsx +++ b/animata/widget/vpn-widget.tsx @@ -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, diff --git a/animata/widget/water-tracker.tsx b/animata/widget/water-tracker.tsx index 6395d1a8..8dd5a342 100644 --- a/animata/widget/water-tracker.tsx +++ b/animata/widget/water-tracker.tsx @@ -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-gradient-to-t from-blue-500 to-blue-700 transition duration-100 ease-out" } style={{ height: `${progress}%`, From 8edb70ceccca79f4ccf8020ead9495795904637d Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:47:13 +0545 Subject: [PATCH 38/63] docs: update installation steps from tailwind.config.js to v4 CSS Convert all tailwind.config.js code blocks in component MDX docs to Tailwind v4 CSS syntax: @keyframes for animations, @theme for custom values (--animate-*, --ease-*, --bg-*, --shadow-*). Remove color-only config steps (foreground/background already global). Update setup docs to note tailwindcss-animate is no longer needed in v4. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- content/docs/background/animated-beam.mdx | 28 ++++------ content/docs/background/blurry-blob.mdx | 34 ++++-------- content/docs/background/moving-gradient.mdx | 24 ++++----- content/docs/background/zigzag.mdx | 11 ---- content/docs/button/ai-button.mdx | 28 ++++------ content/docs/button/shining-button.mdx | 45 ++++++---------- content/docs/button/toggle-switch.mdx | 11 ---- content/docs/card/fluid-tabs.mdx | 13 ----- content/docs/card/glowing-card.mdx | 30 +++-------- content/docs/card/led-board.mdx | 30 ++++------- content/docs/carousel/image-carousel.mdx | 24 ++++----- .../docs/container/animated-border-trail.mdx | 28 ++++------ content/docs/container/marquee.mdx | 34 +++++------- .../docs/container/scrolling-testimonials.mdx | 11 ---- content/docs/feature-cards/content-scan.mdx | 20 +++---- .../docs/feature-cards/reminder-scheduler.mdx | 25 ++++----- content/docs/graphs/gauge-chart.mdx | 11 ---- content/docs/hero/hero-section.mdx | 24 ++++----- content/docs/hero/shape-shifter.mdx | 21 +++----- content/docs/image/disclose-image.mdx | 28 ++++------ content/docs/image/tilted-cover.mdx | 16 +++--- content/docs/list/avatar-list.mdx | 18 +++---- content/docs/list/orbiting-items-3-d.mdx | 28 ++++------ content/docs/list/orbiting-items.mdx | 22 +++----- content/docs/list/reveal-image.mdx | 11 ---- content/docs/setup.mdx | 12 ++--- content/docs/text/animated-gradient-text.mdx | 24 ++++----- content/docs/text/bold-copy.mdx | 12 ----- content/docs/text/counter.mdx | 11 ---- content/docs/text/gibberish-text.mdx | 11 ---- content/docs/text/glitch-text.mdx | 53 +++++-------------- content/docs/text/mask-text.mdx | 11 ---- content/docs/text/mirror-text.mdx | 11 ---- content/docs/text/swap-text.mdx | 19 +++---- content/docs/text/text-flip.mdx | 45 ++++++---------- content/docs/text/wave-reveal.mdx | 40 ++++++-------- content/docs/widget/alarm-clock.mdx | 11 ---- content/docs/widget/battery-level.mdx | 12 ----- 38 files changed, 241 insertions(+), 606 deletions(-) diff --git a/content/docs/background/animated-beam.mdx b/content/docs/background/animated-beam.mdx index b902f8c6..2e6da4a9 100644 --- a/content/docs/background/animated-beam.mdx +++ b/content/docs/background/animated-beam.mdx @@ -10,25 +10,15 @@ author: harimanok_ <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 be7ffec6..a16d3ef8 100644 --- a/content/docs/background/blurry-blob.mdx +++ b/content/docs/background/blurry-blob.mdx @@ -9,29 +9,17 @@ author: ll4xmii ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - keyframes: { - "pop-blob": { - "0%": { transform: "scale(1)" }, - "33%": { transform: "scale(1.2)" }, - "66%": { transform: "scale(0.8)" }, - "100%": { transform: "scale(1)" }, - }, - colors: { - filter: { - "blur-20": "blur(20px)", - "blur-25": "blur(25px)", - }, - }, - animation: { - "pop-blob": "pop-blob 5s infinite", - } - }, - }, -}, +<Step>Add to your CSS</Step> +```css +@keyframes pop-blob { + 0% { transform: scale(1); } + 33% { transform: scale(1.2); } + 66% { transform: scale(0.8); } + 100% { transform: scale(1); } +} +@theme { + --animate-pop-blob: pop-blob 5s infinite; +} ``` <Step>Run the following command</Step> diff --git a/content/docs/background/moving-gradient.mdx b/content/docs/background/moving-gradient.mdx index 2a90e753..eb6b3a9a 100644 --- a/content/docs/background/moving-gradient.mdx +++ b/content/docs/background/moving-gradient.mdx @@ -11,21 +11,15 @@ author: harimanok_ <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 4d4b2439..a3d9cbc3 100644 --- a/content/docs/background/zigzag.mdx +++ b/content/docs/background/zigzag.mdx @@ -8,17 +8,6 @@ author: harimanok_ ## Installation -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - } - }, - }, -``` - <Steps> <Step>Run the following command</Step> diff --git a/content/docs/button/ai-button.mdx b/content/docs/button/ai-button.mdx index e7c3a257..30f48420 100644 --- a/content/docs/button/ai-button.mdx +++ b/content/docs/button/ai-button.mdx @@ -16,25 +16,15 @@ labels: ["requires interaction", "hover"] npm install tsparticles @tsparticles/react @tsparticles/engine ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json {4-12} -module.exports = { - theme: { - extend: { - keyframes: { - sparkle: { - "0%, 100%": { opacity: "0.75", scale: "0.9" }, - "50%": { opacity: "1", scale: "1" }, - }, - }, - animation: { - sparkle: "sparkle 2s ease-in-out infinite", - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes sparkle { + 0%, 100% { opacity: 0.75; scale: 0.9; } + 50% { opacity: 1; scale: 1; } +} +@theme { + --animate-sparkle: sparkle 2s ease-in-out infinite; } ``` diff --git a/content/docs/button/shining-button.mdx b/content/docs/button/shining-button.mdx index 06f07bd7..1d21b0dc 100644 --- a/content/docs/button/shining-button.mdx +++ b/content/docs/button/shining-button.mdx @@ -16,34 +16,23 @@ author: sanjaya22780 npm install lucide-react ``` -<Step>Update `tailwind.config.js`</Step>Add the following to your tailwind.config.js file. - -```js -module.exports = { - theme: { - extend: { - backgroundImage: { - striped: - "repeating-linear-gradient(45deg, #3B3A3D, #3B3A3D 5px, transparent 5px, transparent 20px)", - }, - keyframes: { - "blink-red": { - "0%, 100%": { - backgroundColor: "rgba(239, 68, 68, 0.7)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 0.5)", - }, - "50%": { - backgroundColor: "rgba(239, 68, 68, 0.5)", - boxShadow: "0 0 30px 10px rgba(239, 68, 68, 1)", - }, - }, - }, - animation: { - "blink-red": "blink-red 2s infinite linear", - }, - }, - }, -}; +<Step>Add to your CSS</Step> + +```css +@theme { + --bg-striped: repeating-linear-gradient(45deg, #3B3A3D, #3B3A3D 5px, transparent 5px, transparent 20px); + --animate-blink-red: blink-red 2s infinite linear; +} +@keyframes blink-red { + 0%, 100% { + background-color: rgba(239, 68, 68, 0.7); + box-shadow: 0 0 30px 10px rgba(239, 68, 68, 0.5); + } + 50% { + background-color: rgba(239, 68, 68, 0.5); + box-shadow: 0 0 30px 10px rgba(239, 68, 68, 1); + } +} ``` <Step>Run the following command</Step> diff --git a/content/docs/button/toggle-switch.mdx b/content/docs/button/toggle-switch.mdx index 56a19298..aad1939d 100644 --- a/content/docs/button/toggle-switch.mdx +++ b/content/docs/button/toggle-switch.mdx @@ -11,17 +11,6 @@ author: Aadarsh Baral <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `toggle-switch.tsx` inside the `components/animata/button` directory. diff --git a/content/docs/card/fluid-tabs.mdx b/content/docs/card/fluid-tabs.mdx index d41995a6..b03e9750 100644 --- a/content/docs/card/fluid-tabs.mdx +++ b/content/docs/card/fluid-tabs.mdx @@ -15,19 +15,6 @@ author: RudraSankha npm install framer-motion lucide-react ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - } - } -} -``` - <Step>Run the following command</Step> It will create a new file `fluid-tabs.tsx` inside the `components/animata/card` directory. diff --git a/content/docs/card/glowing-card.mdx b/content/docs/card/glowing-card.mdx index d6bf422d..3915dd97 100644 --- a/content/docs/card/glowing-card.mdx +++ b/content/docs/card/glowing-card.mdx @@ -11,28 +11,14 @@ author: AashishKatila <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/led-board.mdx b/content/docs/card/led-board.mdx index dba7be60..ce3f6c80 100644 --- a/content/docs/card/led-board.mdx +++ b/content/docs/card/led-board.mdx @@ -10,26 +10,16 @@ labels: ["requires interaction", "hover"] ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json {5-9} {12} -module.exports = { - theme: { - extend: { - keyframes: { - led: { - "0%": { fill: "currentColor", brightness: "1" }, - "50%": { fill: "#a855f7", brightness: "500%" }, - "100%": { fill: "currentColor", brightness: "1" }, - }, - }, - animation: { - led: "led 100ms ease-in-out", - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes led { + 0% { fill: currentColor; brightness: 1; } + 50% { fill: #a855f7; brightness: 500%; } + 100% { fill: currentColor; brightness: 1; } +} +@theme { + --animate-led: led 100ms ease-in-out; } ``` diff --git a/content/docs/carousel/image-carousel.mdx b/content/docs/carousel/image-carousel.mdx index 45fc8ee9..a295f67f 100644 --- a/content/docs/carousel/image-carousel.mdx +++ b/content/docs/carousel/image-carousel.mdx @@ -12,21 +12,15 @@ published: false <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 977d0e73..9c15ce45 100644 --- a/content/docs/container/animated-border-trail.mdx +++ b/content/docs/container/animated-border-trail.mdx @@ -19,25 +19,15 @@ author: harimanok_ } ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - keyframes: { - "trail": { - "0%": { "--angle": "0deg" }, - "100%": { "--angle": "360deg" }, - }, - }, - animation: { - "trail": "trail var(--duration) linear infinite", - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes trail { + 0% { --angle: 0deg; } + 100% { --angle: 360deg; } +} +@theme { + --animate-trail: trail var(--duration) linear infinite; } ``` diff --git a/content/docs/container/marquee.mdx b/content/docs/container/marquee.mdx index dc359fcb..2737e00b 100644 --- a/content/docs/container/marquee.mdx +++ b/content/docs/container/marquee.mdx @@ -11,26 +11,20 @@ author: harimanok_ <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/scrolling-testimonials.mdx b/content/docs/container/scrolling-testimonials.mdx index a5ecf687..c4fdf910 100644 --- a/content/docs/container/scrolling-testimonials.mdx +++ b/content/docs/container/scrolling-testimonials.mdx @@ -10,17 +10,6 @@ author: morphhyy <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Install dependencies</Step> This uses [Marquee](/docs/container/marquee) for the text. Install it by following the instructions [here](/docs/container/marquee#installation). diff --git a/content/docs/feature-cards/content-scan.mdx b/content/docs/feature-cards/content-scan.mdx index b35d4910..6d470666 100644 --- a/content/docs/feature-cards/content-scan.mdx +++ b/content/docs/feature-cards/content-scan.mdx @@ -15,19 +15,13 @@ author: MEbandhan npm install framer-motion ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - backgroundImage: { - "custom-gradient": "linear-gradient(to left, rgba(136,127,242,0.7) 0%, transparent 100%)", - }, - }, - } +<Step>Add to your CSS</Step> + +Add the following to your CSS file. + +```css +@theme { + --bg-custom-gradient: linear-gradient(to left, rgba(136,127,242,0.7) 0%, transparent 100%); } ``` diff --git a/content/docs/feature-cards/reminder-scheduler.mdx b/content/docs/feature-cards/reminder-scheduler.mdx index 137ade82..505869a0 100644 --- a/content/docs/feature-cards/reminder-scheduler.mdx +++ b/content/docs/feature-cards/reminder-scheduler.mdx @@ -11,22 +11,15 @@ labels: ["requires interaction", "toggle switch"] <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/graphs/gauge-chart.mdx b/content/docs/graphs/gauge-chart.mdx index e106fee7..41fe2853 100644 --- a/content/docs/graphs/gauge-chart.mdx +++ b/content/docs/graphs/gauge-chart.mdx @@ -10,17 +10,6 @@ author: sanjaya22780 <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `gauge-chart.tsx` inside the `components/animata/graphs` directory. diff --git a/content/docs/hero/hero-section.mdx b/content/docs/hero/hero-section.mdx index 03d833e1..7f5847ca 100644 --- a/content/docs/hero/hero-section.mdx +++ b/content/docs/hero/hero-section.mdx @@ -12,21 +12,15 @@ published: false <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/shape-shifter.mdx b/content/docs/hero/shape-shifter.mdx index 9f8394ad..3ec3b16a 100644 --- a/content/docs/hero/shape-shifter.mdx +++ b/content/docs/hero/shape-shifter.mdx @@ -11,19 +11,14 @@ author: harimanok_ <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; + } +} ``` <Step>Run the following command</Step> diff --git a/content/docs/image/disclose-image.mdx b/content/docs/image/disclose-image.mdx index 814585cc..095b48c2 100644 --- a/content/docs/image/disclose-image.mdx +++ b/content/docs/image/disclose-image.mdx @@ -10,28 +10,20 @@ author: harimanok_ ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```js {4-9} title=tailwind.config.js -module.exports = { - theme: { - extend: { - transitionTimingFunction: { - slow: "cubic-bezier(.405, 0, .025, 1)", - }, - transitionDuration: { - mid: "3s", - }, - }, - }, -}; +<Step>Add to your CSS</Step> + +Add the following to your CSS file. + +```css +@theme { + --ease-slow: cubic-bezier(.405, 0, .025, 1); + --duration-mid: 3s; +} ``` <Callout> Alternatively, you can replace `ease-slow` with `ease-[cubic-bezier(.405,_0,_.025,_1)]` and - `duration-mid` with `duration-[3000ms]` instead of updating the `tailwind.config.js` file. + `duration-mid` with `duration-[3000ms]` instead of updating your CSS file. </Callout> <Step>Run the following command</Step> diff --git a/content/docs/image/tilted-cover.mdx b/content/docs/image/tilted-cover.mdx index f672b66c..2fe73724 100644 --- a/content/docs/image/tilted-cover.mdx +++ b/content/docs/image/tilted-cover.mdx @@ -11,16 +11,12 @@ author: harimanok_ <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/list/avatar-list.mdx b/content/docs/list/avatar-list.mdx index 89af64f0..3466ef86 100644 --- a/content/docs/list/avatar-list.mdx +++ b/content/docs/list/avatar-list.mdx @@ -10,18 +10,12 @@ author: sudha_shrestha <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/orbiting-items-3-d.mdx b/content/docs/list/orbiting-items-3-d.mdx index 7cd9e8d2..c1e5a7d1 100644 --- a/content/docs/list/orbiting-items-3-d.mdx +++ b/content/docs/list/orbiting-items-3-d.mdx @@ -15,25 +15,15 @@ author: Pikachu-345 npm install lucide-react ``` -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json -module.exports = { - theme: { - extend: { - keyframes: { - float: { - '0%, 100%': { transform: 'translateY(0)' }, - '50%': { transform: 'translateY(-40px)' }, - }, - }, - animation: { - float: 'float 3s ease-in-out infinite', - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes float { + 0%, 100% { transform: translateY(0); } + 50% { transform: translateY(-40px); } +} +@theme { + --animate-float: float 3s ease-in-out infinite; } ``` diff --git a/content/docs/list/orbiting-items.mdx b/content/docs/list/orbiting-items.mdx index 895827e3..15759c87 100644 --- a/content/docs/list/orbiting-items.mdx +++ b/content/docs/list/orbiting-items.mdx @@ -9,22 +9,12 @@ author: harimanok_ ## Installation <Steps> -<Step>Update `tailwind.config.js`</Step> - -Add the following to your tailwind.config.js file. - -```json {5-8} -module.exports = { - theme: { - extend: { - keyframes: { - "rotate-full": { - "0%": { transform: "rotate(0deg)" }, - "100%": { transform: "rotate(360deg)" }, - }, - }, - } - } +<Step>Add to your CSS</Step> + +```css +@keyframes rotate-full { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } } ``` diff --git a/content/docs/list/reveal-image.mdx b/content/docs/list/reveal-image.mdx index 4075b5b9..1f869141 100644 --- a/content/docs/list/reveal-image.mdx +++ b/content/docs/list/reveal-image.mdx @@ -11,17 +11,6 @@ author: harimanok_ <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `reveal-image.tsx` inside the `components/animata/list` directory. diff --git a/content/docs/setup.mdx b/content/docs/setup.mdx index a182151d..0f12bf2e 100644 --- a/content/docs/setup.mdx +++ b/content/docs/setup.mdx @@ -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 diff --git a/content/docs/text/animated-gradient-text.mdx b/content/docs/text/animated-gradient-text.mdx index 3f196aad..7f658c31 100644 --- a/content/docs/text/animated-gradient-text.mdx +++ b/content/docs/text/animated-gradient-text.mdx @@ -10,21 +10,15 @@ author: harimanok_ <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 c1d55428..988afb27 100644 --- a/content/docs/text/bold-copy.mdx +++ b/content/docs/text/bold-copy.mdx @@ -11,18 +11,6 @@ author: harimanok_ <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `bold-copy.tsx` inside the `components/animata/text` directory. diff --git a/content/docs/text/counter.mdx b/content/docs/text/counter.mdx index 8949f577..270f497f 100644 --- a/content/docs/text/counter.mdx +++ b/content/docs/text/counter.mdx @@ -10,17 +10,6 @@ author: harimanok_ <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - background: "hsl(var(--background))", - } - }, - }, -``` - <Step>Install `framer-motion`</Step> ```sh diff --git a/content/docs/text/gibberish-text.mdx b/content/docs/text/gibberish-text.mdx index c4302faf..e002923c 100644 --- a/content/docs/text/gibberish-text.mdx +++ b/content/docs/text/gibberish-text.mdx @@ -10,17 +10,6 @@ author: harimanok_ <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `gibberish-text.tsx` inside the `components/animata/text` directory. diff --git a/content/docs/text/glitch-text.mdx b/content/docs/text/glitch-text.mdx index 7943b82d..2653789a 100644 --- a/content/docs/text/glitch-text.mdx +++ b/content/docs/text/glitch-text.mdx @@ -10,45 +10,20 @@ author: harimanok_ <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/mask-text.mdx b/content/docs/text/mask-text.mdx index 3498fcd1..6578b21b 100644 --- a/content/docs/text/mask-text.mdx +++ b/content/docs/text/mask-text.mdx @@ -24,17 +24,6 @@ published: false ``` -<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 c8d36db3..bc79e0b1 100644 --- a/content/docs/text/mirror-text.mdx +++ b/content/docs/text/mirror-text.mdx @@ -11,17 +11,6 @@ author: harimanok_ <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `mirror-text.tsx` inside the `components/animata/text` directory. diff --git a/content/docs/text/swap-text.mdx b/content/docs/text/swap-text.mdx index e6d3865c..6066b4fb 100644 --- a/content/docs/text/swap-text.mdx +++ b/content/docs/text/swap-text.mdx @@ -11,19 +11,12 @@ author: harimanok_ <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-flip.mdx b/content/docs/text/text-flip.mdx index 17acb346..238755de 100644 --- a/content/docs/text/text-flip.mdx +++ b/content/docs/text/text-flip.mdx @@ -10,35 +10,22 @@ author: AashishKatila <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/wave-reveal.mdx b/content/docs/text/wave-reveal.mdx index 4fbde811..933fbb00 100644 --- a/content/docs/text/wave-reveal.mdx +++ b/content/docs/text/wave-reveal.mdx @@ -9,29 +9,23 @@ description: Reveal letter or word one by one with a wave effect & optional blur <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 f8de45eb..88226c14 100644 --- a/content/docs/widget/alarm-clock.mdx +++ b/content/docs/widget/alarm-clock.mdx @@ -11,17 +11,6 @@ author: Sumingurung9 <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - } - }, - }, -``` - <Step>Install dependencies</Step> ```bash diff --git a/content/docs/widget/battery-level.mdx b/content/docs/widget/battery-level.mdx index 3c3516a8..083fe49f 100644 --- a/content/docs/widget/battery-level.mdx +++ b/content/docs/widget/battery-level.mdx @@ -9,18 +9,6 @@ description: A widget that shows battery level of different devices <Steps> -<Step>Update `tailwind.config.js`</Step> -```js -theme: { - extend: { - colors: { - foreground: "hsl(var(--foreground))", - background: "hsl(var(--background))", - } - }, - }, -``` - <Step>Run the following command</Step> It will create a new file called `battery-level.tsx` inside the `components/animata/widget` directory. From a16b1344f20948481634ff78c5c4a9a98668ac1d Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:47:20 +0545 Subject: [PATCH 39/63] fix(components): update gradient syntax and theme colors for v4 Use bg-linear-to-bl (v4 syntax) in led-board, replace hardcoded text-white with text-background in tilted-card for theme support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/card/led-board.tsx | 2 +- animata/card/tilted-card.tsx | 4 ++-- animata/icon/hover-interaction.tsx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/animata/card/led-board.tsx b/animata/card/led-board.tsx index d3f616aa..a6de5b3d 100644 --- a/animata/card/led-board.tsx +++ b/animata/card/led-board.tsx @@ -207,7 +207,7 @@ export default function LEDBoard({ return ( <div - className="group/led 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)} > diff --git a/animata/card/tilted-card.tsx b/animata/card/tilted-card.tsx index f7889610..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 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/icon/hover-interaction.tsx b/animata/icon/hover-interaction.tsx index ffcad2dd..d6855896 100644 --- a/animata/icon/hover-interaction.tsx +++ b/animata/icon/hover-interaction.tsx @@ -105,7 +105,7 @@ export default function HoverInteraction({ onMouseLeave={() => setIsHovered(false)} > <span - className={`relative text-center font-medium text-muted-foreground transition-colors duration-200 group-hover/icon:text-black ${textSizeClass}`} + className={`relative text-center font-medium text-muted-foreground transition-colors duration-200 group-hover/icon:text-foreground ${textSizeClass}`} > {formattedTitle} </span> From 5abb609fbda7a9f417994fbab85b5d72966f6110 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:50:46 +0545 Subject: [PATCH 40/63] fix(components): migrate remaining Tailwind v3 utilities to v4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - bg-gradient-to-* → bg-linear-to-* (v4 gradient syntax) - flex-grow → grow, flex-shrink → shrink (v4 naming) - outline-none → outline-hidden (v4 accessibility change) - Remove transform-gpu (GPU acceleration is default in v4) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/animated-beam.tsx | 4 ++-- animata/background/moving-gradient.tsx | 2 +- animata/bento-grid/eight.tsx | 2 +- animata/button/ai-button.tsx | 4 ++-- animata/button/algolia-blue-button.tsx | 2 +- animata/button/duolingo.tsx | 2 +- animata/card/comment-reply-card.tsx | 2 +- animata/card/github-card-shiny.tsx | 8 +++----- animata/card/github-card-skew.tsx | 2 +- animata/card/glowing-card.tsx | 4 ++-- animata/card/notice-card.tsx | 2 +- animata/card/reminder-scheduler.tsx | 2 +- animata/carousel/expandable.tsx | 2 +- animata/container/marquee.tsx | 4 ++-- animata/container/nav-tabs.tsx | 2 +- animata/container/scrolling-testimonials.tsx | 2 +- animata/feature-cards/confirmation-message.tsx | 2 +- animata/hero/hero-section.tsx | 2 +- animata/hero/product-features.tsx | 4 ++-- animata/list/avatar-list.tsx | 2 +- animata/list/orbiting-items-3-d.tsx | 4 ++-- animata/overlay/modal.tsx | 2 +- animata/preloader/vertical-tiles.stories.tsx | 4 ++-- animata/progress/animatedtimeline.tsx | 2 +- animata/progress/spinner.stories.tsx | 2 +- animata/progress/spinner.tsx | 2 +- animata/skeleton/wide-card.tsx | 2 +- animata/text/animated-gradient-text.tsx | 2 +- animata/text/glitch-text.tsx | 2 +- animata/widget/battery.tsx | 2 +- animata/widget/calendar-widget.tsx | 2 +- animata/widget/flight-widget.tsx | 4 ++-- animata/widget/fund-widget.tsx | 2 +- animata/widget/music-stack-interaction.tsx | 2 +- animata/widget/music-widget.tsx | 2 +- animata/widget/team-clock.tsx | 4 ++-- animata/widget/water-tracker.tsx | 4 ++-- animata/widget/weather-card.tsx | 2 +- components/announcement.tsx | 2 +- components/code-block-wrapper.tsx | 2 +- components/command-menu.tsx | 2 +- components/component-card.tsx | 2 +- components/site-header.tsx | 2 +- components/ui/badge.tsx | 2 +- components/ui/button.tsx | 2 +- components/ui/command.tsx | 4 ++-- components/ui/dialog.tsx | 2 +- components/ui/dropdown-menu.tsx | 8 ++++---- components/ui/input.tsx | 2 +- components/ui/select.tsx | 4 ++-- components/ui/sheet.tsx | 2 +- components/ui/tabs.tsx | 4 ++-- 52 files changed, 70 insertions(+), 72 deletions(-) diff --git a/animata/background/animated-beam.tsx b/animata/background/animated-beam.tsx index 0dee3ca8..e5e538e6 100644 --- a/animata/background/animated-beam.tsx +++ b/animata/background/animated-beam.tsx @@ -28,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> ); @@ -68,7 +68,7 @@ function Background() { return ( <div ref={containerRef} - className="z-0 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 { diff --git a/animata/background/moving-gradient.tsx b/animata/background/moving-gradient.tsx index 0e31ea2c..3ba29d1e 100644 --- a/animata/background/moving-gradient.tsx +++ b/animata/background/moving-gradient.tsx @@ -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/bento-grid/eight.tsx b/animata/bento-grid/eight.tsx index 93f366c2..3c53db38 100644 --- a/animata/bento-grid/eight.tsx +++ b/animata/bento-grid/eight.tsx @@ -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> diff --git a/animata/button/ai-button.tsx b/animata/button/ai-button.tsx index 4a288af3..f36de886 100644 --- a/animata/button/ai-button.tsx +++ b/animata/button/ai-button.tsx @@ -125,11 +125,11 @@ export default function AiButton() { return ( <button - className="group/ai 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={{ diff --git a/animata/button/algolia-blue-button.tsx b/animata/button/algolia-blue-button.tsx index 275cd388..3c34d21c 100644 --- a/animata/button/algolia-blue-button.tsx +++ b/animata/button/algolia-blue-button.tsx @@ -1,6 +1,6 @@ export default function AlgoliaBlueButton() { return ( - <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-gradient-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"> + <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; diff --git a/animata/button/duolingo.tsx b/animata/button/duolingo.tsx index d7c45b8e..5bbc0cd0 100644 --- a/animata/button/duolingo.tsx +++ b/animata/button/duolingo.tsx @@ -1,6 +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 duration-200 hover:brightness-110 active:border-b-0 active:border-t-4 active:bg-none disabled:cursor-auto"> + <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/card/comment-reply-card.tsx b/animata/card/comment-reply-card.tsx index 447ff2a8..3dd59c4e 100644 --- a/animata/card/comment-reply-card.tsx +++ b/animata/card/comment-reply-card.tsx @@ -177,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/github-card-shiny.tsx b/animata/card/github-card-shiny.tsx index 7c350f54..a7ba8226 100644 --- a/animata/card/github-card-shiny.tsx +++ b/animata/card/github-card-shiny.tsx @@ -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.tsx b/animata/card/github-card-skew.tsx index 60feb3ea..600df3d1 100644 --- a/animata/card/github-card-skew.tsx +++ b/animata/card/github-card-skew.tsx @@ -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.tsx b/animata/card/glowing-card.tsx index a0cbf1a0..963e127a 100644 --- a/animata/card/glowing-card.tsx +++ b/animata/card/glowing-card.tsx @@ -22,14 +22,14 @@ 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"> diff --git a/animata/card/notice-card.tsx b/animata/card/notice-card.tsx index 1e5e95de..d8e5a3da 100644 --- a/animata/card/notice-card.tsx +++ b/animata/card/notice-card.tsx @@ -22,7 +22,7 @@ export default function NoticeCard({ const bgClass = isAccepted ? "bg-green-300" - : "bg-gradient-to-r from-slate-50 via-slate-50 to-green-100"; + : "bg-linear-to-r from-slate-50 via-slate-50 to-green-100"; return ( <div className="flex items-center justify-center"> diff --git a/animata/card/reminder-scheduler.tsx b/animata/card/reminder-scheduler.tsx index d4bc86fd..424158f1 100644 --- a/animata/card/reminder-scheduler.tsx +++ b/animata/card/reminder-scheduler.tsx @@ -36,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> diff --git a/animata/carousel/expandable.tsx b/animata/carousel/expandable.tsx index e2423e55..c6c861ae 100644 --- a/animata/carousel/expandable.tsx +++ b/animata/carousel/expandable.tsx @@ -21,7 +21,7 @@ const List = ({ item, className, index, activeItem, ...props }: ImageProps) => { className={cn( "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/container/marquee.tsx b/animata/container/marquee.tsx index 58ef1ea5..1f7338bb 100644 --- a/animata/container/marquee.tsx +++ b/animata/container/marquee.tsx @@ -88,8 +88,8 @@ export default function Marquee({ className={cn( "pointer-events-none absolute inset-0 z-10 h-full w-full from-white/50 from-5% via-transparent via-50% to-white/50 to-95% dark:from-gray-800/50 dark:via-transparent dark:to-gray-800/50", { - "bg-gradient-to-b": vertical, - "bg-gradient-to-r": !vertical, + "bg-linear-to-b": vertical, + "bg-linear-to-r": !vertical, }, )} /> diff --git a/animata/container/nav-tabs.tsx b/animata/container/nav-tabs.tsx index 9680e95c..be31d19d 100644 --- a/animata/container/nav-tabs.tsx +++ b/animata/container/nav-tabs.tsx @@ -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.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/feature-cards/confirmation-message.tsx b/animata/feature-cards/confirmation-message.tsx index a90aec05..6d71e256 100644 --- a/animata/feature-cards/confirmation-message.tsx +++ b/animata/feature-cards/confirmation-message.tsx @@ -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, )} /> diff --git a/animata/hero/hero-section.tsx b/animata/hero/hero-section.tsx index bd15a5ae..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> ); diff --git a/animata/hero/product-features.tsx b/animata/hero/product-features.tsx index 7299fb61..39250a70 100644 --- a/animata/hero/product-features.tsx +++ b/animata/hero/product-features.tsx @@ -24,7 +24,7 @@ function FeatureCard({ feature, className, zIndexOffset = 0, ...props }: Feature const content = ( <> <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-gradient-to-t from-zinc-800/40 from-15% to-transparent p-3"> + <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> @@ -108,7 +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 duration-200 hover:brightness-110 active:border-b-0 active:border-t-4 active:bg-none disabled:cursor-auto"> + <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/list/avatar-list.tsx b/animata/list/avatar-list.tsx index 23617452..d89b4f89 100644 --- a/animata/list/avatar-list.tsx +++ b/animata/list/avatar-list.tsx @@ -60,7 +60,7 @@ export default function AvatarList({ className="group/avatar relative z-0 -ml-4 flex scale-100 items-center transition duration-200 ease-in-out hover:z-10 hover:scale-110" > <div className="relative overflow-hidden rounded-full bg-white"> - <div className="bg-size pointer-events-none absolute h-full w-full animate-bg-position from-violet-500 from-30% via-cyan-400 via-50% to-pink-500 to-80% bg-[length:300%_auto] opacity-15 group-hover/avatar: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} diff --git a/animata/list/orbiting-items-3-d.tsx b/animata/list/orbiting-items-3-d.tsx index aaf77a23..4c5c9fd0 100644 --- a/animata/list/orbiting-items-3-d.tsx +++ b/animata/list/orbiting-items-3-d.tsx @@ -6,7 +6,7 @@ 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-br from-violet-500 via-purple-500 to-indigo-600 p-8 shadow-2xl" + className="center z-0 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 40px 15px rgba(139, 92, 246, 0.4), 0 0 80px 30px rgba(99, 102, 241, 0.2)", }} @@ -147,7 +147,7 @@ export default function OrbitingItems3D({ > <div className={cn( - "absolute inset-0 -z-10 h-full w-full items-center bg-gradient-to-br from-slate-950 via-purple-950 to-slate-900", + "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, )} /> diff --git a/animata/overlay/modal.tsx b/animata/overlay/modal.tsx index 51d80a43..46830c9c 100644 --- a/animata/overlay/modal.tsx +++ b/animata/overlay/modal.tsx @@ -36,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 1993aba2..08a2b9d0 100644 --- a/animata/preloader/vertical-tiles.stories.tsx +++ b/animata/preloader/vertical-tiles.stories.tsx @@ -22,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, @@ -37,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/progress/animatedtimeline.tsx b/animata/progress/animatedtimeline.tsx index 88b46f80..4c612d0e 100644 --- a/animata/progress/animatedtimeline.tsx +++ b/animata/progress/animatedtimeline.tsx @@ -88,7 +88,7 @@ const TimelineItem: React.FC<TimelineItemProps> = ({ transition={{ duration: fillDuration, delay: fillDelay }} /> </div> - <div className={cn("flex-grow leading-5", !isLast && "mb-3")}> + <div className={cn("grow leading-5", !isLast && "mb-3")}> {customRender ? ( customRender(event) ) : ( diff --git a/animata/progress/spinner.stories.tsx b/animata/progress/spinner.stories.tsx index 54e34770..360d1f12 100644 --- a/animata/progress/spinner.stories.tsx +++ b/animata/progress/spinner.stories.tsx @@ -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 0ab407c0..70ade738 100644 --- a/animata/progress/spinner.tsx +++ b/animata/progress/spinner.tsx @@ -9,7 +9,7 @@ export default function Spinner({ className, outerSize, childSize }: SpinnerProp 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/skeleton/wide-card.tsx b/animata/skeleton/wide-card.tsx index 30442363..fa222dd7 100644 --- a/animata/skeleton/wide-card.tsx +++ b/animata/skeleton/wide-card.tsx @@ -11,7 +11,7 @@ export default function WideCard() { <div className="h-2 w-3/4 rounded-md bg-muted" /> <div className="h-2 w-3/5 rounded-md bg-muted" /> </div> - <div className="w-fit flex-shrink-0"> + <div className="w-fit shrink-0"> <button className="w-8 rounded-sm bg-green-500 p-2"> <span className="block h-1.5 rounded-sm bg-muted" /> </button> diff --git a/animata/text/animated-gradient-text.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/glitch-text.tsx b/animata/text/glitch-text.tsx index edadbf1c..44acbc67 100644 --- a/animata/text/glitch-text.tsx +++ b/animata/text/glitch-text.tsx @@ -19,7 +19,7 @@ export default function GlitchText({ }) { 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="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/widget/battery.tsx b/animata/widget/battery.tsx index bdb2ac7a..fae1f70e 100644 --- a/animata/widget/battery.tsx +++ b/animata/widget/battery.tsx @@ -19,7 +19,7 @@ const Battery = () => { }, [gap]); return ( - <div className="relative size-52 rounded-3xl bg-gradient-to-br from-blue-500/25 to-blue-200/25 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-widget.tsx b/animata/widget/calendar-widget.tsx index ae5a3950..e5bfb235 100644 --- a/animata/widget/calendar-widget.tsx +++ b/animata/widget/calendar-widget.tsx @@ -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/flight-widget.tsx b/animata/widget/flight-widget.tsx index c0fe8b6d..426fb5ec 100644 --- a/animata/widget/flight-widget.tsx +++ b/animata/widget/flight-widget.tsx @@ -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.tsx b/animata/widget/fund-widget.tsx index 0a0001cd..e02e9840 100644 --- a/animata/widget/fund-widget.tsx +++ b/animata/widget/fund-widget.tsx @@ -114,7 +114,7 @@ export default function FundWidget({ > <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-r from-violet-200 to-pink-200", backgroundClassName, )} /> diff --git a/animata/widget/music-stack-interaction.tsx b/animata/widget/music-stack-interaction.tsx index cfc6c081..64e2c9ad 100644 --- a/animata/widget/music-stack-interaction.tsx +++ b/animata/widget/music-stack-interaction.tsx @@ -88,7 +88,7 @@ export default function MusicStackInteraction({ albums }: albumsProps) { /> <motion.div layout - className="absolute bottom-0 left-0 w-full bg-gradient-to-b from-transparent to-gray-800/50 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} diff --git a/animata/widget/music-widget.tsx b/animata/widget/music-widget.tsx index 6bae7bce..fd290dba 100644 --- a/animata/widget/music-widget.tsx +++ b/animata/widget/music-widget.tsx @@ -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"> diff --git a/animata/widget/team-clock.tsx b/animata/widget/team-clock.tsx index b1532764..e3b9b7ca 100644 --- a/animata/widget/team-clock.tsx +++ b/animata/widget/team-clock.tsx @@ -124,7 +124,7 @@ export default function TeamClock({ <ToggleButton onClick={handleToggle} accentColor={accentColor} textColor={textColor} /> )} </div> - <div className="flex flex-grow items-center justify-center"> + <div className="flex grow items-center justify-center"> <Clock angle={angle} pressed={isExpanded} @@ -379,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"> diff --git a/animata/widget/water-tracker.tsx b/animata/widget/water-tracker.tsx index 8dd5a342..025e7680 100644 --- a/animata/widget/water-tracker.tsx +++ b/animata/widget/water-tracker.tsx @@ -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 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.tsx b/animata/widget/weather-card.tsx index 6d84bd44..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-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"> 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 3d8b3b83..5f2efb46 100644 --- a/components/code-block-wrapper.tsx +++ b/components/code-block-wrapper.tsx @@ -33,7 +33,7 @@ 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", + "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", )} > diff --git a/components/command-menu.tsx b/components/command-menu.tsx index 8e53178b..aa92a723 100644 --- a/components/command-menu.tsx +++ b/components/command-menu.tsx @@ -60,7 +60,7 @@ export function CommandMenu({ ...props }: ComponentPropsWithoutRef<typeof Comman {...props} > <span className="inline-flex flex-1">Search...</span> - <kbd className="pointer-events-none hidden flex-shrink-0 select-none items-center gap-1 rounded border border-muted-foreground bg-zinc-700 px-2 font-mono text-[10px] font-medium dark:bg-slate-200 sm:flex"> + <kbd className="pointer-events-none hidden shrink-0 select-none items-center gap-1 rounded border border-muted-foreground bg-zinc-700 px-2 font-mono text-[10px] font-medium dark:bg-slate-200 sm:flex"> <span className="text-xs">⌘</span>K </kbd> </Button> diff --git a/components/component-card.tsx b/components/component-card.tsx index b1b219a4..63250c0d 100644 --- a/components/component-card.tsx +++ b/components/component-card.tsx @@ -28,7 +28,7 @@ export function ComponentCard({ > <header className={cn( - "flex flex-shrink-0 items-center gap-4 border-b bg-gray-100 p-4 dark:border-b-zinc-700 dark:bg-zinc-700", + "flex shrink-0 items-center gap-4 border-b bg-gray-100 p-4 dark:border-b-zinc-700 dark:bg-zinc-700", { "rounded-tl-xl rounded-tr-xl": rounded, "px-6": !rounded, diff --git a/components/site-header.tsx b/components/site-header.tsx index d9ba2e89..ee981d14 100644 --- a/components/site-header.tsx +++ b/components/site-header.tsx @@ -65,7 +65,7 @@ export function SiteHeader() { <Link href={siteConfig.links.github} target="_blank" - className="inline-block rounded-full bg-gradient-to-br from-gray-100 from-5% via-zinc-50 via-60% to-slate-200 px-4 py-2 text-xs font-medium text-foreground dark:from-gray-900 dark:via-zinc-700 dark:to-slate-700" + className="inline-block rounded-full bg-linear-to-br from-gray-100 from-5% via-zinc-50 via-60% to-slate-200 px-4 py-2 text-xs font-medium text-foreground dark:from-gray-900 dark:via-zinc-700 dark:to-slate-700" > Star us <span className="hidden sm:inline">on GitHub</span> </Link> diff --git a/components/ui/badge.tsx b/components/ui/badge.tsx index e87d62bf..e725b7aa 100644 --- a/components/ui/badge.tsx +++ b/components/ui/badge.tsx @@ -4,7 +4,7 @@ import { cva, type VariantProps } from "class-variance-authority" import { cn } from "@/lib/utils" const badgeVariants = cva( - "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2", { variants: { variant: { diff --git a/components/ui/button.tsx b/components/ui/button.tsx index 3c71e602..2cf74350 100644 --- a/components/ui/button.tsx +++ b/components/ui/button.tsx @@ -5,7 +5,7 @@ import * as React from "react" import { cn } from "@/lib/utils" const buttonVariants = cva( - "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", + "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", { variants: { variant: { diff --git a/components/ui/command.tsx b/components/ui/command.tsx index 91d8d197..67219064 100644 --- a/components/ui/command.tsx +++ b/components/ui/command.tsx @@ -46,7 +46,7 @@ const CommandInput = React.forwardRef< <CommandPrimitive.Input ref={ref} className={cn( - "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50", + "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50", className, )} {...props} @@ -113,7 +113,7 @@ const CommandItem = React.forwardRef< <CommandPrimitive.Item ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50", className, )} {...props} diff --git a/components/ui/dialog.tsx b/components/ui/dialog.tsx index bd3256c5..6df751f9 100644 --- a/components/ui/dialog.tsx +++ b/components/ui/dialog.tsx @@ -44,7 +44,7 @@ const DialogContent = React.forwardRef< {...props} > {children} - <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> + <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"> <Cross2Icon className="h-4 w-4" /> <span className="sr-only">Close</span> </DialogPrimitive.Close> diff --git a/components/ui/dropdown-menu.tsx b/components/ui/dropdown-menu.tsx index d286303d..e54d99b5 100644 --- a/components/ui/dropdown-menu.tsx +++ b/components/ui/dropdown-menu.tsx @@ -27,7 +27,7 @@ const DropdownMenuSubTrigger = React.forwardRef< <DropdownMenuPrimitive.SubTrigger ref={ref} className={cn( - "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent", + "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent", inset && "pl-8", className, )} @@ -82,7 +82,7 @@ const DropdownMenuItem = React.forwardRef< <DropdownMenuPrimitive.Item ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className, )} @@ -98,7 +98,7 @@ const DropdownMenuCheckboxItem = React.forwardRef< <DropdownMenuPrimitive.CheckboxItem ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className, )} checked={checked} @@ -121,7 +121,7 @@ const DropdownMenuRadioItem = React.forwardRef< <DropdownMenuPrimitive.RadioItem ref={ref} className={cn( - "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className, )} {...props} diff --git a/components/ui/input.tsx b/components/ui/input.tsx index a92b8e0e..b673a5cb 100644 --- a/components/ui/input.tsx +++ b/components/ui/input.tsx @@ -11,7 +11,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>( <input type={type} className={cn( - "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50", + "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50", className )} ref={ref} diff --git a/components/ui/select.tsx b/components/ui/select.tsx index ac2a8f2b..39114008 100644 --- a/components/ui/select.tsx +++ b/components/ui/select.tsx @@ -24,7 +24,7 @@ const SelectTrigger = React.forwardRef< <SelectPrimitive.Trigger ref={ref} className={cn( - "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", + "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", className )} {...props} @@ -123,7 +123,7 @@ const SelectItem = React.forwardRef< <SelectPrimitive.Item ref={ref} className={cn( - "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className )} {...props} diff --git a/components/ui/sheet.tsx b/components/ui/sheet.tsx index 419d409e..22c2539f 100644 --- a/components/ui/sheet.tsx +++ b/components/ui/sheet.tsx @@ -65,7 +65,7 @@ const SheetContent = React.forwardRef< {...props} > {children} - <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"> + <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary"> <Cross2Icon className="h-4 w-4" /> <span className="sr-only">Close</span> </SheetPrimitive.Close> diff --git a/components/ui/tabs.tsx b/components/ui/tabs.tsx index 0f4caebb..3dcda630 100644 --- a/components/ui/tabs.tsx +++ b/components/ui/tabs.tsx @@ -29,7 +29,7 @@ const TabsTrigger = React.forwardRef< <TabsPrimitive.Trigger ref={ref} className={cn( - "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow", + "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow", className )} {...props} @@ -44,7 +44,7 @@ const TabsContent = React.forwardRef< <TabsPrimitive.Content ref={ref} className={cn( - "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", + "mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", className )} {...props} From dd7303458b31e0c16af850d9a333567a4af4e127 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Mon, 9 Mar 2026 23:57:37 +0545 Subject: [PATCH 41/63] docs: fix audit issues in setup, PR template, and shape-shifter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Complete shape-shifter @keyframes (was missing 20%/40%/80%/100%) - Update PR template test command from npm run start to yarn dev - Update setup.mdx: Framer Motion → Motion package, remove tailwind.config.js reference in troubleshooting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- .github/PULL_REQUEST_TEMPLATE/new_component.md | 2 +- content/docs/hero/shape-shifter.mdx | 16 ++++++++++++++++ content/docs/setup.mdx | 4 ++-- 3 files changed, 19 insertions(+), 3 deletions(-) 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. <!-- Provide instructions on how to test your component locally. --> 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/content/docs/hero/shape-shifter.mdx b/content/docs/hero/shape-shifter.mdx index 3ec3b16a..469d7ca4 100644 --- a/content/docs/hero/shape-shifter.mdx +++ b/content/docs/hero/shape-shifter.mdx @@ -18,6 +18,22 @@ author: harimanok_ width: 40px; height: 20px; } + 20% { + width: 240px; + height: 128px; + } + 40% { + width: 80px; + height: 80px; + } + 80% { + width: 128px; + height: 240px; + } + 100% { + width: 40px; + height: 20px; + } } ``` diff --git a/content/docs/setup.mdx b/content/docs/setup.mdx index 0f12bf2e..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. @@ -79,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. From ccf083a11265ffd91a571e0c46e6ef69adcd2db2 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:07:32 +0545 Subject: [PATCH 42/63] feat(stories): expose primitive props in stories for PropsEditor Components like ring-chart, donut-chart, grid, dot, zigzag, subscribe-card, cycling, and shopping-list had empty or complex-only args, making them invisible in the inline PropsEditor. Added their primitive props (size, gap, width, color, title, etc.) to story args. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/dot.stories.tsx | 6 +++++- animata/background/grid.stories.tsx | 5 ++++- animata/background/zigzag.stories.tsx | 5 ++++- animata/card/subscribe-card.stories.tsx | 6 +++++- animata/graphs/donut-chart.stories.tsx | 3 +++ animata/graphs/ring-chart.stories.tsx | 3 +++ animata/widget/cycling.stories.tsx | 4 +++- animata/widget/shopping-list.stories.tsx | 4 +++- 8 files changed, 30 insertions(+), 6 deletions(-) diff --git a/animata/background/dot.stories.tsx b/animata/background/dot.stories.tsx index 481596d0..6b1b2fd8 100644 --- a/animata/background/dot.stories.tsx +++ b/animata/background/dot.stories.tsx @@ -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/grid.stories.tsx b/animata/background/grid.stories.tsx index 5edd168e..345cc419 100644 --- a/animata/background/grid.stories.tsx +++ b/animata/background/grid.stories.tsx @@ -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/zigzag.stories.tsx b/animata/background/zigzag.stories.tsx index 288a95a4..5ed72e21 100644 --- a/animata/background/zigzag.stories.tsx +++ b/animata/background/zigzag.stories.tsx @@ -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/card/subscribe-card.stories.tsx b/animata/card/subscribe-card.stories.tsx index 38809cb1..3d08e7ba 100644 --- a/animata/card/subscribe-card.stories.tsx +++ b/animata/card/subscribe-card.stories.tsx @@ -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/graphs/donut-chart.stories.tsx b/animata/graphs/donut-chart.stories.tsx index d92476f4..0dddcb77 100644 --- a/animata/graphs/donut-chart.stories.tsx +++ b/animata/graphs/donut-chart.stories.tsx @@ -18,5 +18,8 @@ export const Primary: Story = { args: { size: 200, progress: 30, + circleWidth: 16, + progressWidth: 16, + rounded: true, }, }; diff --git a/animata/graphs/ring-chart.stories.tsx b/animata/graphs/ring-chart.stories.tsx index 60f7db70..8f11c311 100644 --- a/animata/graphs/ring-chart.stories.tsx +++ b/animata/graphs/ring-chart.stories.tsx @@ -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/widget/cycling.stories.tsx b/animata/widget/cycling.stories.tsx index 5ab28e42..2231cc87 100644 --- a/animata/widget/cycling.stories.tsx +++ b/animata/widget/cycling.stories.tsx @@ -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/shopping-list.stories.tsx b/animata/widget/shopping-list.stories.tsx index f4f48bb3..2d3a8a05 100644 --- a/animata/widget/shopping-list.stories.tsx +++ b/animata/widget/shopping-list.stories.tsx @@ -15,5 +15,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + title: "Shopping list", + }, }; From 46eac313fce096df8309872b6d16c97252ed98af Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:12:54 +0545 Subject: [PATCH 43/63] feat(stories): add missing primitive props across all categories Audited all 21 component categories and added missing primitive props to story args so they appear in the inline PropsEditor. Changes span background, button, card, carousel, container, hero, image, list, text, and widget categories (28 story files total). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/background/diagonal-lines.stories.tsx | 5 ++++- animata/background/moving-gradient.stories.tsx | 1 + animata/button/animated-follow-button.stories.tsx | 1 + animata/button/toggle-switch.stories.tsx | 1 + animata/card/staggered-card.stories.tsx | 2 ++ animata/carousel/expandable.stories.tsx | 1 + animata/container/animated-border-trail.stories.tsx | 2 ++ animata/container/fibonacci-lines.stories.tsx | 1 + animata/container/marquee.stories.tsx | 4 ++++ animata/hero/slack-intro.stories.tsx | 4 +++- animata/image/disclose-image.stories.tsx | 1 + animata/image/tilted-cover.stories.tsx | 2 ++ animata/list/avatar-list.stories.tsx | 4 +++- animata/list/orbiting-items.stories.tsx | 1 + animata/text/circular-text.stories.tsx | 2 ++ animata/text/counter.stories.tsx | 2 ++ animata/text/jitter-text.stories.tsx | 1 + animata/text/jumping-text-instagram.stories.tsx | 1 + animata/text/mirror-text.stories.tsx | 1 + animata/text/staggered-letter.stories.tsx | 7 ++++++- animata/text/swap-text.stories.tsx | 1 + animata/text/text-explode-imessage.stories.tsx | 1 + animata/text/ticker.stories.tsx | 1 + animata/text/typing-text.stories.tsx | 6 ++++++ animata/text/underline-hover-text.stories.tsx | 5 +++++ animata/text/wave-reveal.stories.tsx | 5 +++++ animata/widget/direction-card.stories.tsx | 5 ++++- animata/widget/vpn-widget.stories.tsx | 1 + 28 files changed, 64 insertions(+), 5 deletions(-) diff --git a/animata/background/diagonal-lines.stories.tsx b/animata/background/diagonal-lines.stories.tsx index 917c89cd..d7480470 100644 --- a/animata/background/diagonal-lines.stories.tsx +++ b/animata/background/diagonal-lines.stories.tsx @@ -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/moving-gradient.stories.tsx b/animata/background/moving-gradient.stories.tsx index 3df78729..d190ad32 100644 --- a/animata/background/moving-gradient.stories.tsx +++ b/animata/background/moving-gradient.stories.tsx @@ -17,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/button/animated-follow-button.stories.tsx b/animata/button/animated-follow-button.stories.tsx index 0313e556..295b59e7 100644 --- a/animata/button/animated-follow-button.stories.tsx +++ b/animata/button/animated-follow-button.stories.tsx @@ -24,6 +24,7 @@ export const Primary: Story = { 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", + animationType: "up-to-down", }, render: (args) => ( <div className="flex h-40 items-center justify-center"> diff --git a/animata/button/toggle-switch.stories.tsx b/animata/button/toggle-switch.stories.tsx index d2ac911f..d102a180 100644 --- a/animata/button/toggle-switch.stories.tsx +++ b/animata/button/toggle-switch.stories.tsx @@ -16,6 +16,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { + defaultChecked: false, onChange: () => {}, }, }; diff --git a/animata/card/staggered-card.stories.tsx b/animata/card/staggered-card.stories.tsx index bb9b006a..0e431c68 100644 --- a/animata/card/staggered-card.stories.tsx +++ b/animata/card/staggered-card.stories.tsx @@ -30,5 +30,7 @@ export const Primary: Story = { { label: "Contact", href: "#" }, { label: "Careers", href: "#" }, ], + delay: 0.06, + openingDelay: 0.1, }, }; diff --git a/animata/carousel/expandable.stories.tsx b/animata/carousel/expandable.stories.tsx index 5d8b2da6..ba140995 100644 --- a/animata/carousel/expandable.stories.tsx +++ b/animata/carousel/expandable.stories.tsx @@ -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/container/animated-border-trail.stories.tsx b/animata/container/animated-border-trail.stories.tsx index d87aa489..5017274b 100644 --- a/animata/container/animated-border-trail.stories.tsx +++ b/animata/container/animated-border-trail.stories.tsx @@ -26,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/fibonacci-lines.stories.tsx b/animata/container/fibonacci-lines.stories.tsx index 50bfd56e..9533d332 100644 --- a/animata/container/fibonacci-lines.stories.tsx +++ b/animata/container/fibonacci-lines.stories.tsx @@ -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 a9ad6677..70006abe 100644 --- a/animata/container/marquee.stories.tsx +++ b/animata/container/marquee.stories.tsx @@ -59,7 +59,11 @@ const Content = () => { export const Primary: Story = { args: { + vertical: false, + repeat: 5, + reverse: false, pauseOnHover: true, + applyMask: true, }, render: (args) => ( diff --git a/animata/hero/slack-intro.stories.tsx b/animata/hero/slack-intro.stories.tsx index e171c29e..1a380695 100644 --- a/animata/hero/slack-intro.stories.tsx +++ b/animata/hero/slack-intro.stories.tsx @@ -15,5 +15,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + animateOut: false, + }, }; diff --git a/animata/image/disclose-image.stories.tsx b/animata/image/disclose-image.stories.tsx index 706afe8f..9c467cf4 100644 --- a/animata/image/disclose-image.stories.tsx +++ b/animata/image/disclose-image.stories.tsx @@ -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/tilted-cover.stories.tsx b/animata/image/tilted-cover.stories.tsx index a37b5710..95c05c28 100644 --- a/animata/image/tilted-cover.stories.tsx +++ b/animata/image/tilted-cover.stories.tsx @@ -21,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", diff --git a/animata/list/avatar-list.stories.tsx b/animata/list/avatar-list.stories.tsx index 231a46af..b0cc1be5 100644 --- a/animata/list/avatar-list.stories.tsx +++ b/animata/list/avatar-list.stories.tsx @@ -20,5 +20,7 @@ export default meta; type Story = StoryObj<typeof meta>; export const Primary: Story = { - args: {}, + args: { + size: "md", + }, }; diff --git a/animata/list/orbiting-items.stories.tsx b/animata/list/orbiting-items.stories.tsx index 4840862c..d454c1aa 100644 --- a/animata/list/orbiting-items.stories.tsx +++ b/animata/list/orbiting-items.stories.tsx @@ -18,5 +18,6 @@ export const Primary: Story = { args: { items: testOrbitingItems, radius: 50, + pauseOnHover: false, }, }; diff --git a/animata/text/circular-text.stories.tsx b/animata/text/circular-text.stories.tsx index 2f6eb3e4..9d92bf1c 100644 --- a/animata/text/circular-text.stories.tsx +++ b/animata/text/circular-text.stories.tsx @@ -17,5 +17,7 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "CIRCULAR•TEXT•COMPONENT•", + spinDuration: 30, + radius: 5, }, }; diff --git a/animata/text/counter.stories.tsx b/animata/text/counter.stories.tsx index 983b9ad2..b900bf7a 100644 --- a/animata/text/counter.stories.tsx +++ b/animata/text/counter.stories.tsx @@ -22,6 +22,8 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { targetValue: 1000, + direction: "up", + delay: 0, }, }; diff --git a/animata/text/jitter-text.stories.tsx b/animata/text/jitter-text.stories.tsx index ca20c747..c88e1e62 100644 --- a/animata/text/jitter-text.stories.tsx +++ b/animata/text/jitter-text.stories.tsx @@ -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/jumping-text-instagram.stories.tsx b/animata/text/jumping-text-instagram.stories.tsx index 54962a23..94e9fb32 100644 --- a/animata/text/jumping-text-instagram.stories.tsx +++ b/animata/text/jumping-text-instagram.stories.tsx @@ -22,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/mirror-text.stories.tsx b/animata/text/mirror-text.stories.tsx index 27a132d0..a6228f6f 100644 --- a/animata/text/mirror-text.stories.tsx +++ b/animata/text/mirror-text.stories.tsx @@ -22,5 +22,6 @@ type Story = StoryObj<typeof meta>; export const Primary: Story = { args: { text: "ANIMATA", + direction: "up", }, }; diff --git a/animata/text/staggered-letter.stories.tsx b/animata/text/staggered-letter.stories.tsx index c44b60fd..78ac8e49 100644 --- a/animata/text/staggered-letter.stories.tsx +++ b/animata/text/staggered-letter.stories.tsx @@ -20,5 +20,10 @@ 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/swap-text.stories.tsx b/animata/text/swap-text.stories.tsx index a8cc4252..1b1caf00 100644 --- a/animata/text/swap-text.stories.tsx +++ b/animata/text/swap-text.stories.tsx @@ -19,6 +19,7 @@ export const Primary: Story = { initialText: "Open", finalText: "Close", supportsHover: true, + disableClick: false, }, }; diff --git a/animata/text/text-explode-imessage.stories.tsx b/animata/text/text-explode-imessage.stories.tsx index 1302d65d..73b8a5f1 100644 --- a/animata/text/text-explode-imessage.stories.tsx +++ b/animata/text/text-explode-imessage.stories.tsx @@ -22,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/ticker.stories.tsx b/animata/text/ticker.stories.tsx index 8339398c..5ee4cf98 100644 --- a/animata/text/ticker.stories.tsx +++ b/animata/text/ticker.stories.tsx @@ -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/typing-text.stories.tsx b/animata/text/typing-text.stories.tsx index c62eb8a6..0a100f1c 100644 --- a/animata/text/typing-text.stories.tsx +++ b/animata/text/typing-text.stories.tsx @@ -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/underline-hover-text.stories.tsx b/animata/text/underline-hover-text.stories.tsx index 2ff84425..e1ac132a 100644 --- a/animata/text/underline-hover-text.stories.tsx +++ b/animata/text/underline-hover-text.stories.tsx @@ -23,4 +23,9 @@ const Template: StoryFn<UnderlineHoverTextProps> = (args) => <UnderlineHoverText 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/wave-reveal.stories.tsx b/animata/text/wave-reveal.stories.tsx index 75162f72..7fe71692 100644 --- a/animata/text/wave-reveal.stories.tsx +++ b/animata/text/wave-reveal.stories.tsx @@ -26,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/widget/direction-card.stories.tsx b/animata/widget/direction-card.stories.tsx index 6345a99d..6ac891c0 100644 --- a/animata/widget/direction-card.stories.tsx +++ b/animata/widget/direction-card.stories.tsx @@ -15,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/vpn-widget.stories.tsx b/animata/widget/vpn-widget.stories.tsx index 57f5e575..538065de 100644 --- a/animata/widget/vpn-widget.stories.tsx +++ b/animata/widget/vpn-widget.stories.tsx @@ -24,6 +24,7 @@ export const Primary: Story = { userName: "Animata", latency: "5ms", netSpeed: "10", + defaultConnected: false, }, }; From c6cdebf713a51c71863a0d229efd0d3783d247e6 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:22:02 +0545 Subject: [PATCH 44/63] chore(docs): unpublish survey-card component Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- content/docs/feature-cards/survey-card.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/content/docs/feature-cards/survey-card.mdx b/content/docs/feature-cards/survey-card.mdx index 9b9536a4..828e6036 100644 --- a/content/docs/feature-cards/survey-card.mdx +++ b/content/docs/feature-cards/survey-card.mdx @@ -3,6 +3,7 @@ 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--primary" /> From 9c00ab9738bf090df174ff222612d454ee6403f3 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:26:16 +0545 Subject: [PATCH 45/63] feat(preview): add dot background pattern to component previews Adds a subtle dot pattern background to preview containers so component content stands out visually against the preview area. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 4 ++-- styles/globals.css | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 5d46ab48..55541ef3 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -305,7 +305,7 @@ function StoryRenderer({ name }: { name: string }) { <> <div key={argsKey} - className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border p-4 has-[.full-content]:p-0" + className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:p-0" > {preview} </div> @@ -322,7 +322,7 @@ function StoryRenderer({ name }: { name: string }) { {storyData.otherStories.map((story) => ( <div key={story.name}> <div className="mb-2 font-mono text-xs text-muted-foreground">{story.name}</div> - <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border p-4 has-[.full-content]:p-0"> + <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:p-0"> {story.render(story.args)} </div> </div> diff --git a/styles/globals.css b/styles/globals.css index 32a8d361..ab21b937 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -480,6 +480,11 @@ } } +@utility bg-dot-pattern { + background-image: radial-gradient(hsl(var(--foreground) / 0.15) 1px, transparent 1px); + background-size: 12px 12px; +} + @utility chunk-container { @apply shadow-none; From 8c1d5f3b227dae64151406685d03d0c2c0ece036 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:28:27 +0545 Subject: [PATCH 46/63] refactor(container): improve shift-tabs semantic HTML and key stability Replace div/p elements with button/span for proper semantics, add explicit text-black for inactive tabs, and use item value as React key instead of array index. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/container/shift-tabs.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/animata/container/shift-tabs.tsx b/animata/container/shift-tabs.tsx index a7e3595c..1dd21ff6 100644 --- a/animata/container/shift-tabs.tsx +++ b/animata/container/shift-tabs.tsx @@ -11,24 +11,24 @@ interface ButtonProps { const Button = ({ item, index, activeIndex, onTabClick }: ButtonProps) => { return ( - <div + <button className={cn("rounded-lg bg-black", { "border-b-2 border-b-indigo-500": index === activeIndex, })} onClick={onTabClick} > - <div + <span className={cn( "flex h-10 cursor-pointer items-center justify-center rounded-md border-2 bg-white p-3 transition", { "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> From 0de6a5826b5b13f61badffdfb01be643d8c304c4 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:28:32 +0545 Subject: [PATCH 47/63] fix(graphs): reduce progress bar transition delay for snappier animation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/graphs/progress.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/animata/graphs/progress.tsx b/animata/graphs/progress.tsx index 0455c4a5..eb41d0d1 100644 --- a/animata/graphs/progress.tsx +++ b/animata/graphs/progress.tsx @@ -42,7 +42,7 @@ export default function Progress({ progress }: { progress: number }) { !highlight, })} style={{ - transitionDelay: highlight ? `${index * 24}ms` : "0ms", + transitionDelay: highlight ? `${index * 6}ms` : "0ms", }} key={`bar_${index}`} /> From 3f7e72a243481f477f1208125c85b6b07286a787 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:41:24 +0545 Subject: [PATCH 48/63] fix(image): fix tilted-cover Tailwind v4 syntax and invalid classes Remove invalid leading-2 class from stories, fix important modifier syntax to v4 (! suffix), and clean up border-1 class. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/image/tilted-cover.stories.tsx | 12 +++++------- animata/image/tilted-cover.tsx | 6 +++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/animata/image/tilted-cover.stories.tsx b/animata/image/tilted-cover.stories.tsx index 95c05c28..14d13399 100644 --- a/animata/image/tilted-cover.stories.tsx +++ b/animata/image/tilted-cover.stories.tsx @@ -30,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> @@ -49,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> @@ -70,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> @@ -91,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> @@ -106,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 e3d7691f..d085a147 100644 --- a/animata/image/tilted-cover.tsx +++ b/animata/image/tilted-cover.tsx @@ -42,19 +42,19 @@ export default function TiltedCover({ <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 duration-500 ease-slow group-hover/tilt:!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 group-hover/tilt: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 delay-75 duration-500 ease-slow group-hover/tilt:!transform-none group-hover/tilt: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/tilt:left-[200%]": tiltLeft, "group-hover/tilt:-left-[200%]": !tiltLeft, From ae8b2fc10a5384f9b408e48b11551352e89984c7 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:44:12 +0545 Subject: [PATCH 49/63] fix(list): extract OrbitingItem as proper component with valid hooks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CalculateItemStyle was a function using hooks (useState, useEffect) but called as a regular function inside render, violating Rules of Hooks. Extract it as a proper OrbitingItem component. Also fix storybook-fix → full-content class. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/list/orbiting-items-3-d.tsx | 143 ++++++++++++++-------------- 1 file changed, 69 insertions(+), 74 deletions(-) diff --git a/animata/list/orbiting-items-3-d.tsx b/animata/list/orbiting-items-3-d.tsx index 4c5c9fd0..d51388f7 100644 --- a/animata/list/orbiting-items-3-d.tsx +++ b/animata/list/orbiting-items-3-d.tsx @@ -73,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 ? -1 : 1; + const scale = angle < 180 ? 1.2 : 1.0; + + 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, @@ -83,65 +138,10 @@ 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, )} > @@ -158,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 border border-white/10 bg-white/5 shadow-2xl shadow-purple-500/20 backdrop-blur-xl 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> ); From 9e3dcb83fe1b8ba12c08b319d2be02bfaa2f0c2d Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:47:10 +0545 Subject: [PATCH 50/63] fix(list): tune orbiting-items-3d z-index and scale for depth Adjust center icon z-index to z-1, use 0/3 range for orbiting items instead of -1/1, and reduce back-scale to 0.9 for better 3D effect. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/list/orbiting-items-3-d.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/animata/list/orbiting-items-3-d.tsx b/animata/list/orbiting-items-3-d.tsx index d51388f7..09348289 100644 --- a/animata/list/orbiting-items-3-d.tsx +++ b/animata/list/orbiting-items-3-d.tsx @@ -6,7 +6,7 @@ import { cn } from "@/lib/utils"; export const CenterIcon = ( <Icons.logo - className="center z-0 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" + 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 40px 15px rgba(139, 92, 246, 0.4), 0 0 80px 30px rgba(99, 102, 241, 0.2)", }} @@ -107,8 +107,8 @@ function OrbitingItem({ 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; + const zIndex = angle > 180 ? 0 : 3; + const scale = angle < 180 ? 1.2 : 0.9; return ( <div From ed816d55b1ff901f8612002080ca8dc6be055f2d Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:51:58 +0545 Subject: [PATCH 51/63] fix(list): fix orbiting-items pause-on-hover and use full-content Fix double-colon typo in group-hover/orbit::paused that broke the pause-on-hover feature. Replace storybook-fix with full-content. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/list/orbiting-items.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/animata/list/orbiting-items.tsx b/animata/list/orbiting-items.tsx index 718aba3f..982f3b10 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 { @@ -77,14 +77,14 @@ export default function OrbitingItems({ const reverse = cn( "animate-[rotate-full_45s] transition-transform ease-linear direction-reverse repeat-infinite", { - "group-hover/orbit:[animation-play-state:paused]": pauseOnHover, + "group-hover/orbit:paused": pauseOnHover, }, ); return ( <div className={cn( - "storybook-fix group/orbit flex items-center justify-center py-32", + "full-content group/orbit flex items-center justify-center py-32", containerClassName, )} > @@ -98,7 +98,7 @@ export default function OrbitingItems({ className={cn( "relative flex h-64 w-64 animate-[rotate-full_45s] items-center justify-center ease-linear repeat-infinite", { - "group-hover/orbit:[animation-play-state:paused]": pauseOnHover, + "group-hover/orbit:paused": pauseOnHover, }, className, )} From e70bd2967c5b087e2a8c9c65de32c0f141afb9d7 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:54:06 +0545 Subject: [PATCH 52/63] fix(list): fix orbiting-items animation for Tailwind v4 Add --animate-rotate-full theme variable so the animate-rotate-full utility works. Replace arbitrary animate-[rotate-full_45s] with the proper utility. Fix pause-on-hover using arbitrary property syntax. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/list/orbiting-items.tsx | 8 ++++---- styles/globals.css | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/animata/list/orbiting-items.tsx b/animata/list/orbiting-items.tsx index 982f3b10..28a7f186 100644 --- a/animata/list/orbiting-items.tsx +++ b/animata/list/orbiting-items.tsx @@ -75,9 +75,9 @@ 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/orbit:paused": pauseOnHover, + "group-hover/orbit:[animation-play-state:paused]": pauseOnHover, }, ); @@ -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/orbit:paused": pauseOnHover, + "group-hover/orbit:[animation-play-state:paused]": pauseOnHover, }, className, )} diff --git a/styles/globals.css b/styles/globals.css index ab21b937..6b376ca6 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -94,6 +94,7 @@ --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% { From 798975f7ddae9bd6ef1f5e322dd7bb8ed724d92f Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:55:41 +0545 Subject: [PATCH 53/63] chore(docs): unpublish transaction-list and transition-list Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- content/docs/list/transaction-list.mdx | 1 + content/docs/list/transition-list.mdx | 1 + 2 files changed, 2 insertions(+) diff --git a/content/docs/list/transaction-list.mdx b/content/docs/list/transaction-list.mdx index 3c618eac..d34b6847 100644 --- a/content/docs/list/transaction-list.mdx +++ b/content/docs/list/transaction-list.mdx @@ -3,6 +3,7 @@ title: Transaction List description: A simple component to list all the recent transaction. author: m_jinprince labels: ["requires interaction", "Click any recent Transaction"] +published: false --- <ComponentPreview name="list-transaction-list--primary" /> diff --git a/content/docs/list/transition-list.mdx b/content/docs/list/transition-list.mdx index a6e36147..163c77f9 100644 --- a/content/docs/list/transition-list.mdx +++ b/content/docs/list/transition-list.mdx @@ -2,6 +2,7 @@ title: Transition List description: This is a list where items are removed with smooth transition. author: sanjaya22780 +published: false --- <ComponentPreview name="list-transition-list--primary" /> From 4e60bf23eb348c7932e23545324fbc70c2c348ee Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:58:02 +0545 Subject: [PATCH 54/63] fix(list): improve transaction-list with motion best practices Use spring transitions, popLayout mode, semantic button elements, consistent layoutId naming, and cleaner spacing/typography. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/list/transaction-list.tsx | 157 ++++++++++++++----------- content/docs/list/transaction-list.mdx | 1 - 2 files changed, 90 insertions(+), 68 deletions(-) diff --git a/animata/list/transaction-list.tsx b/animata/list/transaction-list.tsx index 1bca0185..df279b03 100644 --- a/animata/list/transaction-list.tsx +++ b/animata/list/transaction-list.tsx @@ -16,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> @@ -74,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 @@ -95,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/content/docs/list/transaction-list.mdx b/content/docs/list/transaction-list.mdx index d34b6847..3c618eac 100644 --- a/content/docs/list/transaction-list.mdx +++ b/content/docs/list/transaction-list.mdx @@ -3,7 +3,6 @@ title: Transaction List description: A simple component to list all the recent transaction. author: m_jinprince labels: ["requires interaction", "Click any recent Transaction"] -published: false --- <ComponentPreview name="list-transaction-list--primary" /> From c863d9ea29565e2610c4de657df0e53dde46a4a1 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:58:09 +0545 Subject: [PATCH 55/63] fix(text): restore bold-copy zoom font effect for Tailwind v4 Replace transition with transition-all so font-size changes animate on hover. Tailwind v4's transition utility no longer includes font-size by default. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/text/bold-copy.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/animata/text/bold-copy.tsx b/animata/text/bold-copy.tsx index 5f89b86a..d1edc633 100644 --- a/animata/text/bold-copy.tsx +++ b/animata/text/bold-copy.tsx @@ -31,7 +31,7 @@ export default function BoldCopy({ > <div className={cn( - "text-4xl font-bold uppercase text-foreground/15 transition group-hover/bold: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 group-hover/bold:text-4xl md:text-3xl group-hover/bold: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, )} > From d077d96af87e3d5bff0cc91f65b178ce3a6081d7 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 00:59:09 +0545 Subject: [PATCH 56/63] feat(text): add full-content class to glitch-text for edge-to-edge preview Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/text/glitch-text.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/animata/text/glitch-text.tsx b/animata/text/glitch-text.tsx index 44acbc67..f10e77ee 100644 --- a/animata/text/glitch-text.tsx +++ b/animata/text/glitch-text.tsx @@ -18,7 +18,7 @@ export default function GlitchText({ starCount?: number; }) { return ( - <div className="relative flex items-center justify-center overflow-hidden"> + <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 From ca57cc563f93456481bab31692eaace6588c64e5 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 01:00:29 +0545 Subject: [PATCH 57/63] fix(text): fix scroll-reveal by allowing overflow in full-content previews Replace storybook-fix with full-content. Add has-[.full-content]:overflow-auto to preview containers so scrollable components like scroll-reveal work instead of being clipped by overflow-hidden. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/text/scroll-reveal.tsx | 2 +- components/component-preview.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/animata/text/scroll-reveal.tsx b/animata/text/scroll-reveal.tsx index 80ec247e..58bd12c2 100644 --- a/animata/text/scroll-reveal.tsx +++ b/animata/text/scroll-reveal.tsx @@ -74,7 +74,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", + "full-content relative h-96 w-full overflow-y-scroll bg-foreground text-background dark:text-zinc-900", className, )} > diff --git a/components/component-preview.tsx b/components/component-preview.tsx index 55541ef3..ab35063e 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -305,7 +305,7 @@ function StoryRenderer({ name }: { name: string }) { <> <div key={argsKey} - className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:p-0" + className="preview relative flex min-h-[200px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:overflow-auto has-[.full-content]:p-0" > {preview} </div> @@ -322,7 +322,7 @@ function StoryRenderer({ name }: { name: string }) { {storyData.otherStories.map((story) => ( <div key={story.name}> <div className="mb-2 font-mono text-xs text-muted-foreground">{story.name}</div> - <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:p-0"> + <div className="preview relative flex min-h-[150px] w-full max-w-full items-center justify-center overflow-hidden rounded-lg border bg-dot-pattern p-4 has-[.full-content]:overflow-auto has-[.full-content]:p-0"> {story.render(story.args)} </div> </div> From c8efd7ef1255c0cc12325e725b9f3107b08e9701 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 01:01:10 +0545 Subject: [PATCH 58/63] fix(text): fix underline-hover-text animation for Tailwind v4 Use after:transition-all instead of after:transition so height and background-color changes animate on hover. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/text/underline-hover-text.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/animata/text/underline-hover-text.tsx b/animata/text/underline-hover-text.tsx index 0c9822dd..586aa28f 100644 --- a/animata/text/underline-hover-text.tsx +++ b/animata/text/underline-hover-text.tsx @@ -30,7 +30,7 @@ const UnderlineHoverText: React.FC<UnderlineHoverTextProps> = ({ textColor, fontWeight, "after:absolute after:bottom-0 after:left-0 after:h-1 after:w-full after:bg-gray-400", - "after:transition after:duration-150", + "after:transition-all after:duration-150", hoverTextColor, "hover:after:h-full", hoverColor, From 10ed372446a6ecf786a132b64ddbf88bbf79cfc3 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 01:02:13 +0545 Subject: [PATCH 59/63] chore(docs): unpublish pricing component Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- content/docs/section/pricing.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/content/docs/section/pricing.mdx b/content/docs/section/pricing.mdx index 2d6e6996..a8bc21f7 100644 --- a/content/docs/section/pricing.mdx +++ b/content/docs/section/pricing.mdx @@ -2,6 +2,7 @@ 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--primary" /> From 72dfa29dfea3c21b63a0bde2ff78112f69acc3a7 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 01:03:14 +0545 Subject: [PATCH 60/63] fix(text): fix scroll-reveal highlight selectors for icon children The opacity style is on the motion.span wrapper, not on the icon element itself. Change CSS selectors to target .scroll-baby and .scroll-file as children of the element with the opacity style. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- styles/globals.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/styles/globals.css b/styles/globals.css index 6b376ca6..af343ea7 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -495,10 +495,10 @@ } } -.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; } From 9b7572437f9f44453cc22359efeab4030bc51089 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 01:05:43 +0545 Subject: [PATCH 61/63] fix(text): remove full-content from scroll-reveal to fix scroll tracking The full-content class caused the preview wrapper to become scrollable (overflow-auto), stealing scroll events from the component's own scroll container. Without full-content, the preview stays overflow-hidden and useScroll correctly tracks the inner container. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/text/scroll-reveal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/animata/text/scroll-reveal.tsx b/animata/text/scroll-reveal.tsx index 58bd12c2..d2e59a1f 100644 --- a/animata/text/scroll-reveal.tsx +++ b/animata/text/scroll-reveal.tsx @@ -74,7 +74,7 @@ export default function ScrollReveal({ children, className, ...props }: ScrollRe ref={containerRef} className={cn( // Adjust the height and spacing according to the need - "full-content 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, )} > From b5ee9de2c0f3a36f50b04334fabe3fceab9d7ce8 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 01:08:32 +0545 Subject: [PATCH 62/63] fix(text): replace useScroll with native scroll listener in scroll-reveal Motion v12's useScroll with container ref wasn't triggering scroll progress updates. Replace with a native scroll event listener that manually updates a useMotionValue, which is more reliable across rendering contexts like dynamic imports in ComponentPreview. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- animata/text/scroll-reveal.tsx | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/animata/text/scroll-reveal.tsx b/animata/text/scroll-reveal.tsx index d2e59a1f..f07d5a57 100644 --- a/animata/text/scroll-reveal.tsx +++ b/animata/text/scroll-reveal.tsx @@ -1,5 +1,5 @@ -import { type MotionValue, motion, useScroll, useTransform } from "motion/react"; -import React, { useRef } from "react"; +import { type MotionValue, motion, useMotionValue, useTransform } from "motion/react"; +import React, { useCallback, useEffect, useRef } from "react"; import { cn } from "@/lib/utils"; @@ -63,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 From f83c24431516e701bbae3190ee1f7e27ff81bfc5 Mon Sep 17 00:00:00 2001 From: Hari Lamichhane <onwithhari@gmail.com> Date: Tue, 10 Mar 2026 01:13:32 +0545 Subject: [PATCH 63/63] fix(preview): fix optional chaining on argTypes options access Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --- components/component-preview.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/component-preview.tsx b/components/component-preview.tsx index ab35063e..4dcd5b76 100644 --- a/components/component-preview.tsx +++ b/components/component-preview.tsx @@ -116,7 +116,7 @@ function PropsEditor({ 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) => ( + {argTypes[key]?.options?.map((opt) => ( <option key={opt} value={opt}> {opt} </option>