diff --git a/.changeset/dirty-mails-kick.md b/.changeset/dirty-mails-kick.md new file mode 100644 index 0000000000..5fe5bfaff7 --- /dev/null +++ b/.changeset/dirty-mails-kick.md @@ -0,0 +1,6 @@ +--- +"@twilio-paste/in-page-navigation": patch +"@twilio-paste/core": patch +--- + +[In Page Navigation]: Fix underline bug caused due to pixel rounding diff --git a/.changeset/lucky-fireants-complain.md b/.changeset/lucky-fireants-complain.md new file mode 100644 index 0000000000..273b45b1ef --- /dev/null +++ b/.changeset/lucky-fireants-complain.md @@ -0,0 +1,6 @@ +--- +"@twilio-paste/design-tokens": minor +"@twilio-paste/core": minor +--- + +[Tokens]: Add new tokens related to box shadow of Tabs component diff --git a/.changeset/tender-bugs-itch.md b/.changeset/tender-bugs-itch.md new file mode 100644 index 0000000000..3026c13b2e --- /dev/null +++ b/.changeset/tender-bugs-itch.md @@ -0,0 +1,6 @@ +--- +"@twilio-paste/code-block": patch +"@twilio-paste/core": patch +--- + +[Code Block]: Fix underline bug caused due to pixel rounding diff --git a/.changeset/tricky-jeans-collect.md b/.changeset/tricky-jeans-collect.md new file mode 100644 index 0000000000..374b81ca25 --- /dev/null +++ b/.changeset/tricky-jeans-collect.md @@ -0,0 +1,6 @@ +--- +"@twilio-paste/tabs": patch +"@twilio-paste/core": patch +--- + +[Tabs]: Fix underline bug caused due to pixel rounding diff --git a/packages/paste-core/components/code-block/src/OverflowButton.tsx b/packages/paste-core/components/code-block/src/OverflowButton.tsx index 099b298551..f49bb9961a 100644 --- a/packages/paste-core/components/code-block/src/OverflowButton.tsx +++ b/packages/paste-core/components/code-block/src/OverflowButton.tsx @@ -1,6 +1,7 @@ import { Box, BoxProps, BoxStyleProps } from "@twilio-paste/box"; import { ChevronLeftIcon } from "@twilio-paste/icons/esm/ChevronLeftIcon"; import { ChevronRightIcon } from "@twilio-paste/icons/esm/ChevronRightIcon"; +import { BoxShadow } from "@twilio-paste/style-props"; import { useTheme } from "@twilio-paste/theme"; import React from "react"; @@ -31,6 +32,14 @@ export const OverflowButton: React.FC = ({ const Chevron = position === "left" ? ChevronLeftIcon : ChevronRightIcon; if (!visible && position === "right") return null; + const determineShadow = (): BoxShadow | undefined => { + if (visible && showShadow) { + if (position === "left") return theme.shadows.shadowLeftInverse; + return theme.shadows.shadowRightInverse; + } + return undefined; + }; + return ( = ({ width="sizeIcon40" padding="space20" position="relative" - boxShadow={visible && showShadow ? theme.shadows.shadowScrollInverse : undefined} + boxShadow={determineShadow()} element={`${element}_OVERFLOW_BUTTON_${position.toUpperCase()}`} cursor={visible ? "pointer" : "none"} + zIndex="zIndex10" {...Styles} > {/* For left button to align with spacing of header we hide icon */} diff --git a/packages/paste-core/components/in-page-navigation/src/OverflowButton.tsx b/packages/paste-core/components/in-page-navigation/src/OverflowButton.tsx index f68cf5155b..f8be8a8909 100644 --- a/packages/paste-core/components/in-page-navigation/src/OverflowButton.tsx +++ b/packages/paste-core/components/in-page-navigation/src/OverflowButton.tsx @@ -46,7 +46,8 @@ export const OverflowButton: React.FC = ({ const determineShadow = (): BoxShadow | undefined => { if (showShadow) { - return isInverse ? theme.shadows.shadowScrollInverse : theme.shadows.shadowScroll; + if (position === "left") return isInverse ? theme.shadows.shadowLeftInverse : theme.shadows.shadowLeft; + return isInverse ? theme.shadows.shadowRightInverse : theme.shadows.shadowRight; } return undefined; }; @@ -62,6 +63,7 @@ export const OverflowButton: React.FC = ({ padding="space20" boxShadow={determineShadow()} element={`${element}_OVERFLOW_BUTTON_${position.toUpperCase()}`} + zIndex="zIndex10" {...(isInverse ? InverseStyles : Styles)} > diff --git a/packages/paste-core/components/tabs/src/OverflowButton.tsx b/packages/paste-core/components/tabs/src/OverflowButton.tsx index 8207818047..f9d27271f2 100644 --- a/packages/paste-core/components/tabs/src/OverflowButton.tsx +++ b/packages/paste-core/components/tabs/src/OverflowButton.tsx @@ -47,7 +47,8 @@ export const OverflowButton: React.FC = ({ const determineShadow = (): BoxShadow | undefined => { if (showShadow) { - return isInverse ? theme.shadows.shadowScrollInverse : theme.shadows.shadowScroll; + if (position === "left") return isInverse ? theme.shadows.shadowLeftInverse : theme.shadows.shadowLeft; + return isInverse ? theme.shadows.shadowRightInverse : theme.shadows.shadowRight; } return undefined; }; @@ -63,6 +64,7 @@ export const OverflowButton: React.FC = ({ padding="space20" boxShadow={determineShadow()} element={`${element}_OVERFLOW_BUTTON_${position.toUpperCase()}`} + zIndex="zIndex10" {...(isInverse ? InverseStyles : Styles)} > diff --git a/packages/paste-core/components/tabs/src/Tab.tsx b/packages/paste-core/components/tabs/src/Tab.tsx index d7d2fd40bf..cc7b022444 100644 --- a/packages/paste-core/components/tabs/src/Tab.tsx +++ b/packages/paste-core/components/tabs/src/Tab.tsx @@ -126,6 +126,7 @@ const getTabBoxStyles = (orientation: Orientation, variant: Variants): BoxStyleP borderBottomColor: isInverse ? "colorBorderInverseWeakest" : "colorBorderWeakest", color: isInverse ? "colorTextInverse" : "colorTextPrimary", boxShadow: isInverse ? "shadowBorderTopInverseStrongest" : "shadowBorderTopPrimary", + backgroundColor: isInverse ? "colorBackgroundInverse" : "colorBackgroundBody", }, /* Disabled state */ _disabled: { @@ -139,7 +140,7 @@ const getTabBoxStyles = (orientation: Orientation, variant: Variants): BoxStyleP }, _selected_hover: { color: isInverse ? "colorTextInverse" : "colorTextPrimaryStronger", - borderBottomColor: isInverse ? "colorBorderInverseWeakest" : "colorBorderWeakest", + borderBottomColor: "transparent", boxShadow: isInverse ? "shadowBorderTopPrimary" : "shadowBorderTopPrimaryStrongest", }, /* Focus states */ @@ -159,6 +160,7 @@ const getTabBoxStyles = (orientation: Orientation, variant: Variants): BoxStyleP borderColor: isInverse ? "colorBorderInverseWeaker" : "colorBorderWeak", boxShadow: "none", borderBottom: "none", + overflow: "clip", }, }; } diff --git a/packages/paste-core/components/tabs/src/TabList.tsx b/packages/paste-core/components/tabs/src/TabList.tsx index 3705c7bcee..1855c9568c 100644 --- a/packages/paste-core/components/tabs/src/TabList.tsx +++ b/packages/paste-core/components/tabs/src/TabList.tsx @@ -107,17 +107,25 @@ const HorizontalTabList: React.FC {children} +