From 96af5e034b02572a4f82e47e917815d1bb3ec0f0 Mon Sep 17 00:00:00 2001 From: Charles de Dreuille Date: Sun, 23 Mar 2025 16:11:53 +0000 Subject: [PATCH] Fix Menu styles Signed-off-by: Charles de Dreuille --- .../src/components/Menu/Menu.stories.tsx | 18 +++- .../canon/src/components/Menu/Menu.styles.css | 90 ++++--------------- 2 files changed, 35 insertions(+), 73 deletions(-) diff --git a/packages/canon/src/components/Menu/Menu.stories.tsx b/packages/canon/src/components/Menu/Menu.stories.tsx index c971483b16..58284052af 100644 --- a/packages/canon/src/components/Menu/Menu.stories.tsx +++ b/packages/canon/src/components/Menu/Menu.stories.tsx @@ -17,6 +17,7 @@ import React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { Menu } from './Menu'; +import { Button } from '../Button'; const meta = { title: 'Components/Menu', @@ -30,9 +31,15 @@ export const Default: Story = { args: { children: ( <> - Menu + ( + + )} + /> - + Item 1 Item 2 @@ -44,3 +51,10 @@ export const Default: Story = { ), }, }; + +export const Open: Story = { + args: { + ...Default.args, + open: true, + }, +}; diff --git a/packages/canon/src/components/Menu/Menu.styles.css b/packages/canon/src/components/Menu/Menu.styles.css index 4f76e5552f..403d34294e 100644 --- a/packages/canon/src/components/Menu/Menu.styles.css +++ b/packages/canon/src/components/Menu/Menu.styles.css @@ -1,54 +1,17 @@ -.canon-MenuTrigger { - box-sizing: border-box; - display: flex; - align-items: center; - justify-content: center; - gap: 0.375rem; - height: 2.5rem; - padding: 0 0.875rem; - margin: 0; - outline: 0; - border: 1px solid var(--color-gray-200); - border-radius: 0.375rem; - background-color: var(--color-gray-50); - font-family: inherit; - font-size: 1rem; - font-weight: 500; - line-height: 1.5rem; - color: var(--color-gray-900); - user-select: none; - - @media (hover: hover) { - &:hover { - background-color: var(--color-gray-100); - } - } - - &:active { - background-color: var(--color-gray-100); - } - - &[data-popup-open] { - background-color: var(--color-gray-100); - } - - &:focus-visible { - outline: 2px solid var(--color-blue); - outline-offset: -1px; - } -} - .canon-MenuPositioner { outline: 0; } .canon-MenuPopup { - box-sizing: border-box; - padding-block: 0.25rem; + padding: var(--canon-space-2); border-radius: 0.375rem; - background-color: var(--canon-bg-elevated); - color: var(--color-fg-primary); + background-color: var(--canon-bg-surface-1); + border: 1px solid var(--canon-border); + color: var(--canon-fg-primary); + outline: none; + overflow: hidden; transform-origin: var(--transform-origin); + max-width: 340px; transition: transform 150ms, opacity 150ms; &[data-starting-style], @@ -56,44 +19,29 @@ opacity: 0; transform: scale(0.9); } - - @media (prefers-color-scheme: light) { - outline: 1px solid var(--color-gray-200); - box-shadow: 0px 10px 15px -3px var(--color-gray-200), - 0px 4px 6px -4px var(--color-gray-200); - } - - @media (prefers-color-scheme: dark) { - outline: 1px solid var(--color-gray-300); - outline-offset: -1px; - } } .canon-MenuItem { outline: 0; cursor: default; user-select: none; - padding-block: 0.5rem; - padding-left: 1rem; - padding-right: 2rem; display: flex; - font-size: 0.875rem; - line-height: 1rem; + gap: var(--canon-space-2); + color: var(--canon-fg-primary); + text-decoration: none; + border-radius: var(--canon-radius-2); + padding: var(--canon-space-2) var(--canon-space-2); + padding-right: var(--canon-space-4); + cursor: pointer; + + &:last-child { + border-bottom: none; + } &[data-highlighted] { z-index: 0; position: relative; - color: var(--color-gray-50); - } - - &[data-highlighted]::before { - content: ''; - z-index: -1; - position: absolute; - inset-block: 0; - inset-inline: 0.25rem; - border-radius: 0.25rem; - background-color: var(--color-gray-900); + background-color: var(--canon-bg-tint-hover); } }