From 44530400dc27f2b48ead22de0941556e6954f2f7 Mon Sep 17 00:00:00 2001 From: Gabriel Dugny Date: Sat, 10 Jan 2026 13:15:26 +0100 Subject: [PATCH] chore: remove Responsive orientation Signed-off-by: Gabriel Dugny --- packages/ui/report.api.md | 10 +------- .../ToggleButtonGroup.stories.tsx | 25 ------------------- .../ToggleButtonGroup/ToggleButtonGroup.tsx | 11 +------- .../src/components/ToggleButtonGroup/types.ts | 6 +---- packages/ui/src/hooks/useStyles.ts | 25 ++++--------------- 5 files changed, 8 insertions(+), 69 deletions(-) diff --git a/packages/ui/report.api.md b/packages/ui/report.api.md index 56b716ea94..afd08072ee 100644 --- a/packages/ui/report.api.md +++ b/packages/ui/report.api.md @@ -1829,7 +1829,6 @@ export const ToggleButtonDefinition: { }; readonly dataAttributes: { readonly size: readonly ['small', 'medium']; - readonly variant: readonly ['primary', 'secondary']; }; }; @@ -1852,9 +1851,7 @@ export const ToggleButtonGroupDefinition: { export interface ToggleButtonGroupProps extends Omit { // (undocumented) - orientation?: Responsive< - NonNullable - >; + orientation?: NonNullable; } // @public @@ -1868,11 +1865,6 @@ export interface ToggleButtonProps extends ToggleButtonProps_2 { onSurface?: Responsive; // (undocumented) size?: 'small' | 'medium' | Partial>; - // (undocumented) - variant?: - | 'primary' - | 'secondary' - | Partial>; } // @public (undocumented) diff --git a/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.stories.tsx b/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.stories.tsx index 70f3810a49..30e53f0669 100644 --- a/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.stories.tsx +++ b/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.stories.tsx @@ -21,7 +21,6 @@ import { Flex } from '../Flex'; import { Text } from '../Text'; import { useState } from 'react'; import type { Selection } from 'react-aria-components'; -import { useBreakpoint } from '../../hooks/useBreakpoint'; import { RiCloudLine, RiStarLine, @@ -209,30 +208,6 @@ export const Orientation = meta.story({ ), }); -export const ResponsiveOrientation = meta.story({ - render: () => { - const { breakpoint } = useBreakpoint(); // For testing purposes only (display breakpoint) - - return ( - - - Breakpoint: {breakpoint} (orientation: vertical on initial/sm, - horizontal from md+) - - - Morning - Afternoon - Evening - - - ); - }, -}); - export const ControlledGroup = meta.story({ render: () => { const [selectedKeys, setSelectedKeys] = useState( diff --git a/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx b/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx index 908b5881dc..6934b42eb6 100644 --- a/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx +++ b/packages/ui/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx @@ -21,7 +21,6 @@ import type { ToggleButtonGroupProps } from './types'; import { useStyles } from '../../hooks/useStyles'; import { ToggleButtonGroupDefinition } from './definition'; import styles from './ToggleButtonGroup.module.css'; -import type { Breakpoint } from '../..'; /** @internal */ export interface ToggleButtonGroupContextValue {} @@ -44,18 +43,11 @@ export const ToggleButtonGroup = forwardRef( const { classNames, dataAttributes, cleanedProps } = useStyles( ToggleButtonGroupDefinition, { - orientation: 'horizontal' as const, ...props, }, ); - const { - className, - children, - orientation: _orientation, - ...rest - } = cleanedProps; - const resolvedOrientation = dataAttributes['data-orientation']; + const { className, children, ...rest } = cleanedProps; const contextValue: ToggleButtonGroupContextValue = {}; @@ -64,7 +56,6 @@ export const ToggleButtonGroup = forwardRef( diff --git a/packages/ui/src/components/ToggleButtonGroup/types.ts b/packages/ui/src/components/ToggleButtonGroup/types.ts index e01b9afda0..7a57708750 100644 --- a/packages/ui/src/components/ToggleButtonGroup/types.ts +++ b/packages/ui/src/components/ToggleButtonGroup/types.ts @@ -15,13 +15,9 @@ */ import type { ToggleButtonGroupProps as AriaToggleButtonGroupProps } from 'react-aria-components'; -import { Responsive } from '../../types'; -import type { Breakpoint } from '../..'; /** @public */ export interface ToggleButtonGroupProps extends Omit { - orientation?: Responsive< - NonNullable - >; + orientation?: NonNullable; } diff --git a/packages/ui/src/hooks/useStyles.ts b/packages/ui/src/hooks/useStyles.ts index c00623e579..cc05f5f362 100644 --- a/packages/ui/src/hooks/useStyles.ts +++ b/packages/ui/src/hooks/useStyles.ts @@ -17,29 +17,16 @@ import { useBreakpoint, breakpoints } from './useBreakpoint'; import type { ComponentDefinition } from '../types'; import { utilityClassMap } from '../utils/utilityClassMap'; -type DataAttributeValue = V extends string ? V : string; - -type DataAttributesOf = T extends { - dataAttributes: infer D extends Record; -} - ? { - [K in keyof D as `data-${K & string}`]?: DataAttributeValue; - } - : Record; - /** * Resolve a responsive value based on the current breakpoint * @param value - The responsive value (string or object with breakpoint keys) * @param breakpoint - The current breakpoint * @returns The resolved value for the current breakpoint */ -function resolveResponsiveValue( - value: T | Partial> | undefined, +function resolveResponsiveValue( + value: string | Record, breakpoint: string, -): T | undefined { - if (value === undefined) { - return undefined; - } +): string | undefined { if (typeof value === 'string') { return value; } @@ -79,7 +66,7 @@ export function useStyles< props: P = {} as P, ): { classNames: T['classNames']; - dataAttributes: DataAttributesOf & Record; + dataAttributes: Record; utilityClasses: string; style: React.CSSProperties; cleanedProps: P; @@ -101,7 +88,6 @@ export function useStyles< const incomingStyle = props.style || {}; // Generate data attributes from component definition - // Keep this writable without running into TS2862 ("generic and can only be indexed for reading") const dataAttributes: Record = {}; for (const key of dataAttributeNames) { const value = props[key]; @@ -208,8 +194,7 @@ export function useStyles< return { classNames, - dataAttributes: dataAttributes as DataAttributesOf & - Record, + dataAttributes, utilityClasses: utilityClassList.join(' '), style: mergedStyle, cleanedProps,