diff --git a/packages/app-elements/src/styles/global.css b/packages/app-elements/src/styles/global.css index fbbefa9d..6db9fa76 100644 --- a/packages/app-elements/src/styles/global.css +++ b/packages/app-elements/src/styles/global.css @@ -9,9 +9,9 @@ --breakpoint-xl: 1280px; --radius-*: initial; - --radius: 0.313rem; - --radius-sm: 0.188rem; - --radius-md: 0.625rem; + --radius: 0.5rem; + --radius-sm: 0.375rem; + --radius-md: 1rem; --radius-full: 9999px; --color-*: initial; diff --git a/packages/app-elements/src/ui/atoms/A.test.tsx b/packages/app-elements/src/ui/atoms/A.test.tsx index 26ad50ca..8a083f41 100644 --- a/packages/app-elements/src/ui/atoms/A.test.tsx +++ b/packages/app-elements/src/ui/atoms/A.test.tsx @@ -54,7 +54,8 @@ describe("Anchor", () => { click me , ) - expect(getByRole("link").className).toContain("px-4 h-9") + expect(getByRole("link").className).toContain("h-9") + expect(getByRole("link").className).toContain("px-4") }) it("Should render as size regular (default)", () => { @@ -63,7 +64,8 @@ describe("Anchor", () => { click me , ) - expect(getByRole("link").className).toContain("px-4 h-10") + expect(getByRole("link").className).toContain("px-4") + expect(getByRole("link").className).toContain("h-10") }) it("Should render with flex alignment", () => { @@ -72,6 +74,6 @@ describe("Anchor", () => { click me , ) - expect(getByRole("link").className).toContain("flex gap-1 items-center") + expect(getByRole("link").className).toContain("inline") }) }) diff --git a/packages/app-elements/src/ui/atoms/Button.test.tsx b/packages/app-elements/src/ui/atoms/Button.test.tsx index 4c80d154..17d4c381 100644 --- a/packages/app-elements/src/ui/atoms/Button.test.tsx +++ b/packages/app-elements/src/ui/atoms/Button.test.tsx @@ -39,16 +39,20 @@ describe("Button", () => { it("Should render as size small", () => { const { getByRole } = render() - expect(getByRole("button").className).toContain("px-4 h-9") + expect(getByRole("button").className).toContain("px-4") + expect(getByRole("button").className).toContain("h-9") }) it("Should render as size regular (default)", () => { const { getByRole } = render() - expect(getByRole("button").className).toContain("px-4 h-10") + expect(getByRole("button").className).toContain("px-4") + expect(getByRole("button").className).toContain("h-10") }) it("Should render with flex alignment", () => { const { getByRole } = render() - expect(getByRole("button").className).toContain("flex gap-1 items-center") + expect(getByRole("button").className).toContain("inline-flex") + expect(getByRole("button").className).toContain("gap-1") + expect(getByRole("button").className).toContain("items-center") }) }) diff --git a/packages/app-elements/src/ui/atoms/Tag.tsx b/packages/app-elements/src/ui/atoms/Tag.tsx index f38dac87..ebba77ac 100644 --- a/packages/app-elements/src/ui/atoms/Tag.tsx +++ b/packages/app-elements/src/ui/atoms/Tag.tsx @@ -103,8 +103,8 @@ export const Tag: FC = ({ icon, children, className, ...rest }) => { className={cn([ className, "flex gap-2 items-center select-none", - "text-xs font-bold", - "py-[3px] px-2 rounded text-gray bg-gray-200", + "text-xs font-semibold", + "py-[3px] px-2 rounded-sm text-gray bg-gray-200", { "cursor-pointer hover:bg-gray-100 outline-primary-light": hasHover, }, diff --git a/packages/app-elements/src/ui/composite/Dropdown/Dropdown.test.tsx b/packages/app-elements/src/ui/composite/Dropdown/Dropdown.test.tsx index 9d83ada0..3218c04c 100644 --- a/packages/app-elements/src/ui/composite/Dropdown/Dropdown.test.tsx +++ b/packages/app-elements/src/ui/composite/Dropdown/Dropdown.test.tsx @@ -33,7 +33,7 @@ describe("Dropdown", () => { diff --git a/packages/app-elements/src/ui/composite/Dropdown/Dropdown.tsx b/packages/app-elements/src/ui/composite/Dropdown/Dropdown.tsx index ffea9cc2..22eb66fd 100644 --- a/packages/app-elements/src/ui/composite/Dropdown/Dropdown.tsx +++ b/packages/app-elements/src/ui/composite/Dropdown/Dropdown.tsx @@ -108,10 +108,10 @@ export const Dropdown: React.FC = ({ // biome-ignore lint/a11y/useKeyWithClickEvents: Using click handler to close the dropdown
diff --git a/packages/app-elements/src/ui/composite/Dropdown/DropdownDivider.tsx b/packages/app-elements/src/ui/composite/Dropdown/DropdownDivider.tsx index 0c354d6f..8f77d45d 100644 --- a/packages/app-elements/src/ui/composite/Dropdown/DropdownDivider.tsx +++ b/packages/app-elements/src/ui/composite/Dropdown/DropdownDivider.tsx @@ -11,7 +11,7 @@ export const DropdownDivider: FC = ({ }) => { return (
-
+
) } diff --git a/packages/app-elements/src/ui/composite/Dropdown/DropdownItem.tsx b/packages/app-elements/src/ui/composite/Dropdown/DropdownItem.tsx index fe6eb6d1..5c38818a 100644 --- a/packages/app-elements/src/ui/composite/Dropdown/DropdownItem.tsx +++ b/packages/app-elements/src/ui/composite/Dropdown/DropdownItem.tsx @@ -61,14 +61,14 @@ export const DropdownItem = withSkeletonTemplate( }} href={href} className={cn( - "w-full bg-black text-white! py-1.5 pl-4 text-sm font-medium flex items-center focus:outline-hidden!", + "w-[calc(100%-1rem)] bg-white text-black! py-1.5 pl-4 mx-2 text-sm font-regular flex items-center focus:outline-hidden!", { "pr-8": info == null, "min-w-[250px] pr-6": info != null, }, className, { - "hover:bg-gray-600 cursor-pointer focus:bg-gray-600 group": + "hover:bg-gray-100 hover:rounded cursor-pointer focus:bg-gray-100 group": onClick != null || href != null, "cursor-default": onClick == null && href == null, "opacity-50 pointer-events-none": isDisabled, diff --git a/packages/app-elements/src/ui/composite/Dropdown/DropdownMenu.tsx b/packages/app-elements/src/ui/composite/Dropdown/DropdownMenu.tsx index 5c6e3084..b496b6fa 100644 --- a/packages/app-elements/src/ui/composite/Dropdown/DropdownMenu.tsx +++ b/packages/app-elements/src/ui/composite/Dropdown/DropdownMenu.tsx @@ -1,11 +1,14 @@ import cn from "classnames" -import { type FC, useEffect, useState } from "react" +import type { FC } from "react" import { DropdownDivider } from "./DropdownDivider" export interface DropdownMenuProps extends React.HTMLAttributes { /** Menu content */ children?: React.ReactNode - /** Set to `none` to hide the top arrow */ + /** + * Set to `none` to hide the top arrow + * @deprecated We decided to remove the arrow from the dropdown menu + */ arrow?: "none" /** Optional header for the dropdown menu */ menuHeader?: string @@ -28,18 +31,12 @@ export interface DropdownMenuProps extends React.HTMLAttributes { export const DropdownMenu: FC = ({ children, - arrow, menuHeader, menuPosition = "bottom-right", parentElementRef, menuWidth, ...rest }) => { - const [centerToWidth, setCenterToWidth] = useState() - useEffect(() => { - setCenterToWidth(parentElementRef?.current?.clientWidth) - }, [parentElementRef]) - return (
= ({ "flex-col-reverse items-start": menuPosition === "top-left", })} > - {arrow === "none" ? null : ( - - )}
{menuHeader != null && ( <>
{menuHeader} @@ -80,64 +74,3 @@ export const DropdownMenu: FC = ({ } DropdownMenu.displayName = "DropdownMenu" - -const Arrow: FC<{ - menuPosition: DropdownMenuProps["menuPosition"] - centerToWidth?: number -}> = ({ menuPosition = "bottom-right", centerToWidth }) => { - const arrowHeight = 5 - const arrowWidth = 12 - - const centeringOffset = calculateArrowCenteringOffset({ - arrowWidth, - centerToWidth, - }) - - const alignProp = menuPosition.includes("right") ? "right" : "left" - const arrowDirection = - menuPosition === "bottom-right" || menuPosition === "bottom-left" - ? "top" - : "bottom" - const cssForPointingDirection = - arrowDirection === "top" - ? { - borderBottomWidth: arrowHeight, - borderTopColor: "transparent", - } - : { - borderTopWidth: arrowHeight, - borderBottomColor: "transparent", - } - - return ( - - ) -} - -// Calculate the offset for centering the arrow on the dropdown button when this does not excide 50px -// This means that for smaller buttons (up to 50px) the arrow will be centered on the button -// otherwise it will 10px from the left or right as design system -function calculateArrowCenteringOffset({ - arrowWidth, - centerToWidth, -}: { - arrowWidth: number - centerToWidth?: number -}): number { - if (centerToWidth == null || centerToWidth > 50) { - return 10 // default offset calculated on a base of 32px button width - } - - const centeringOffset = centerToWidth / 2 - arrowWidth / 2 - return centeringOffset -} diff --git a/packages/app-elements/src/ui/composite/Dropdown/DropdownSearch.tsx b/packages/app-elements/src/ui/composite/Dropdown/DropdownSearch.tsx index 1f61f3ee..d1b0c93e 100644 --- a/packages/app-elements/src/ui/composite/Dropdown/DropdownSearch.tsx +++ b/packages/app-elements/src/ui/composite/Dropdown/DropdownSearch.tsx @@ -50,7 +50,7 @@ export const DropdownSearch = forwardRef( ) return ( -
+
( /> Should be rendering bottom-left 1`] = `
-
@@ -53,7 +49,7 @@ exports[`Dropdown > Should be rendering top-left 1`] = `
-
@@ -98,7 +90,7 @@ exports[`Dropdown > Should be rendering top-right 1`] = `
-
@@ -143,7 +131,7 @@ exports[`Dropdown > Should be rendering with default bottom-right position 1`] =
-