From 63deb688bec4c5bae28b8f27d5aa709c97121336 Mon Sep 17 00:00:00 2001 From: Piotr Monwid-Olechnowicz Date: Tue, 7 Oct 2025 23:32:41 +0200 Subject: [PATCH 1/5] Make the submenu tranistion-out faster --- .storybook/main.ts | 4 ++-- .../src/components/hive-navigation/navigation-menu.tsx | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.storybook/main.ts b/.storybook/main.ts index 859359951..30da4185f 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,6 +1,6 @@ import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'; -import { Configuration } from 'webpack'; -import { StorybookConfig } from '@storybook/nextjs'; +import type { Configuration } from 'webpack'; +import type { StorybookConfig } from '@storybook/nextjs'; export default { stories: ['../packages/*/src/**/*.stories.@(js|jsx|ts|tsx|mdx)'], diff --git a/packages/components/src/components/hive-navigation/navigation-menu.tsx b/packages/components/src/components/hive-navigation/navigation-menu.tsx index 7fe7fe2ab..11c4080c8 100644 --- a/packages/components/src/components/hive-navigation/navigation-menu.tsx +++ b/packages/components/src/components/hive-navigation/navigation-menu.tsx @@ -92,14 +92,10 @@ export const NavigationMenuContent = forwardRef< :first-child]:p-6', + 'absolute left-0 top-0 w-auto bg-white data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=to-]:![animation-duration:250ms] data-[motion^=from-]:![animation-duration:450ms] dark:bg-neutral-900 [&>:first-child]:p-6', className, )} {...rest} - style={{ - animationDuration: '0.4s', - ...rest.style, - }} /> )); NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName; From c42ac9b3592dbc9308d7a6c8ff7c9830e8f0c827 Mon Sep 17 00:00:00 2001 From: Piotr Monwid-Olechnowicz Date: Wed, 8 Oct 2025 00:03:57 +0200 Subject: [PATCH 2/5] Create blue-singers-yawn.md --- .changeset/blue-singers-yawn.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/blue-singers-yawn.md diff --git a/.changeset/blue-singers-yawn.md b/.changeset/blue-singers-yawn.md new file mode 100644 index 000000000..be87315c2 --- /dev/null +++ b/.changeset/blue-singers-yawn.md @@ -0,0 +1,6 @@ +--- +"@theguild/components": patch +--- + +Improve HiveNavigation submenu navigation (slower in, faster out). + From 02bce52ee9348fb4d2c69beb78388931bd33807f Mon Sep 17 00:00:00 2001 From: Piotr Monwid-Olechnowicz Date: Wed, 8 Oct 2025 15:18:28 +0200 Subject: [PATCH 3/5] Work around uncommon linting preference --- .eslintrc.cjs | 9 +++++++++ .storybook/main.ts | 4 ++-- .../components/src/components/hive-navigation/index.tsx | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 867f43eb1..7189b5a95 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -42,6 +42,15 @@ module.exports = { }, }, overrides: [ + { + files: ['*.cjs'], + rules: { + '@typescript-eslint/consistent-type-imports': [ + 'warn', + // back to the default settings. we need type imports in .storybook/main.ts because it's stripped, not compiled + ], + }, + }, { files: ['**/*.stories.{ts,tsx}'], rules: { diff --git a/.storybook/main.ts b/.storybook/main.ts index 30da4185f..859359951 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,6 +1,6 @@ import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'; -import type { Configuration } from 'webpack'; -import type { StorybookConfig } from '@storybook/nextjs'; +import { Configuration } from 'webpack'; +import { StorybookConfig } from '@storybook/nextjs'; export default { stories: ['../packages/*/src/**/*.stories.@(js|jsx|ts|tsx|mdx)'], diff --git a/packages/components/src/components/hive-navigation/index.tsx b/packages/components/src/components/hive-navigation/index.tsx index 6550c18d9..c0c9b4857 100644 --- a/packages/components/src/components/hive-navigation/index.tsx +++ b/packages/components/src/components/hive-navigation/index.tsx @@ -567,7 +567,7 @@ function HamburgerButton() {