diff --git a/src/components/internal-components/InternalShadowIconButton/InternalShadowIconButton.tsx b/src/components/internal-components/InternalShadowIconButton/InternalShadowIconButton.tsx index db832478c..32d0a4e5c 100644 --- a/src/components/internal-components/InternalShadowIconButton/InternalShadowIconButton.tsx +++ b/src/components/internal-components/InternalShadowIconButton/InternalShadowIconButton.tsx @@ -128,6 +128,10 @@ export const InternalShadowIconButton = ( ...rest } = props; + const defaultColorFilter = props.disabled + ? disabledIconColor + : defaultIconColor || null; + const icon = iconName && ( ( iconName={iconName} $width={"spacing-24"} $height={"spacing-24"} - $colorFilter={ - props.disabled - ? disabledIconColor - : defaultIconColor - ? defaultIconColor - : null - } + $colorFilter={defaultColorFilter} data-icon-for="button" alt="" /> diff --git a/src/components/layout-and-structure/OakGridArea/OakGridArea.tsx b/src/components/layout-and-structure/OakGridArea/OakGridArea.tsx index 4e02188e9..b1dceccf0 100644 --- a/src/components/layout-and-structure/OakGridArea/OakGridArea.tsx +++ b/src/components/layout-and-structure/OakGridArea/OakGridArea.tsx @@ -67,47 +67,48 @@ const parseSpanStart = (value?: string | null) => { return `span ${span}`; }; +const resolveResponsiveValue = ( + value: ResponsiveValues | undefined, + index: number, +): T | undefined => { + return Array.isArray(value) ? value[index] : value; +}; + const gridArea = css` flex-direction: column; ${responsiveStyle( "grid-column", (props) => { - return Array.isArray(props.$colSpan) - ? props.$colSpan.map((span, index) => - combineSpanStart( - Array.isArray(props.$colStart) - ? props.$colStart[index] - : props.$colStart, - span, - ), - ) - : combineSpanStart( - Array.isArray(props.$colStart) - ? props.$colStart[0] - : props.$colStart, - props.$colSpan, - ); + if (Array.isArray(props.$colSpan)) { + return props.$colSpan.map((span, index) => + combineSpanStart( + resolveResponsiveValue(props.$colStart, index), + span, + ), + ); + } + return combineSpanStart( + resolveResponsiveValue(props.$colStart, 0), + props.$colSpan, + ); }, (value) => parseSpanStart(value), )}; ${responsiveStyle( "grid-row", (props) => { - return Array.isArray(props.$rowSpan) - ? props.$rowSpan.map((span, index) => - combineSpanStart( - Array.isArray(props.$rowStart) - ? props.$rowStart[index] - : props.$rowStart, - span, - ), - ) - : combineSpanStart( - Array.isArray(props.$rowStart) - ? props.$rowStart[0] - : props.$rowStart, - props.$rowSpan, - ); + if (Array.isArray(props.$rowSpan)) { + return props.$rowSpan.map((span, index) => + combineSpanStart( + resolveResponsiveValue(props.$rowStart, index), + span, + ), + ); + } + return combineSpanStart( + resolveResponsiveValue(props.$rowStart, 0), + props.$rowSpan, + ); }, (value) => parseSpanStart(value), )}; diff --git a/src/components/owa/OakSaveCount/OakSaveCount.tsx b/src/components/owa/OakSaveCount/OakSaveCount.tsx index 89b50d594..31da9d187 100644 --- a/src/components/owa/OakSaveCount/OakSaveCount.tsx +++ b/src/components/owa/OakSaveCount/OakSaveCount.tsx @@ -49,8 +49,9 @@ export const OakSaveCount = ({ const iconName = hasCount && count > 0 ? "bookmark-filled" : "bookmark-outlined"; const showTruncatedCount = hasCount && count > 99; + const unitSuffix = hasCount && count === 1 ? "" : "s"; const ariaLabel = hasCount - ? `${label}: ${count} saved unit${count === 1 ? "" : "s"}` + ? `${label}: ${count} saved unit${unitSuffix}` : label; return ( diff --git a/src/components/owa/teacher/OakUnitListItem/OakUnitListItem.tsx b/src/components/owa/teacher/OakUnitListItem/OakUnitListItem.tsx index 368cef8eb..b785a5087 100644 --- a/src/components/owa/teacher/OakUnitListItem/OakUnitListItem.tsx +++ b/src/components/owa/teacher/OakUnitListItem/OakUnitListItem.tsx @@ -108,6 +108,15 @@ export const OakUnitListItem = ( ...rest } = props; + let indexBoxBackground: "bg-neutral-stronger" | "bg-decorative3-subdued" | "bg-decorative3-main"; + if (unavailable) { + indexBoxBackground = "bg-neutral-stronger"; + } else if (isLegacy) { + indexBoxBackground = "bg-decorative3-subdued"; + } else { + indexBoxBackground = "bg-decorative3-main"; + } + return ( {/* Desktop layout */} @@ -134,13 +143,7 @@ export const OakUnitListItem = ( onClick={unavailable ? undefined : onClick} > ( href={unavailable ? undefined : href} >