//#region src/hooks/useResponsiveValue.d.ts type ResponsiveValue = { narrow?: TNarrow; regular?: TRegular; wide?: TWide; }; /** * Flattens all possible value types into single union type * For example, if `T` is `'none' | 'line' | Responsive<'none' | 'line' | 'filled'>`, * `FlattenResponsiveValue` will be `'none' | 'line' | 'filled'` */ type FlattenResponsiveValue = (T extends ResponsiveValue ? TRegular | TNarrow | TWide : never) | Exclude>; /** * Resolves responsive values based on the current viewport width. * For example, if the current viewport width is narrow (less than 768px), the value of `{regular: 'foo', narrow: 'bar'}` will resolve to `'bar'`. * * @deprecated Prefer responsive data attributes with `getResponsiveAttributes` and CSS media queries instead. * * @example * const value = useResponsiveValue({regular: 'foo', narrow: 'bar'}) * console.log(value) // 'bar' */ declare function useResponsiveValue(value: T, fallback: F): FlattenResponsiveValue | F; //#endregion export { FlattenResponsiveValue, ResponsiveValue, useResponsiveValue };