import type { Meta, StoryObj } from '@storybook/react' import { Typography } from '../../components' import { viewports } from '../../utils/viewports' import { useIsMobile } from './useIsMobile' import { useIsTablet } from './useIsTablet' import { useViewport } from './useViewport' const meta: Meta = { title: 'Hooks/MediaQueries', } export default meta const ViewportVisualTest = () => { const viewport = useViewport() return (
Current Viewport: {viewport} Resize the window or use Storybook viewport toolbar to change.
) } const IsMobileVisualTest = () => { const isMobile = useIsMobile() return (
Is Mobile: {isMobile ? 'TRUE (Mobile)' : 'FALSE (Tablet and Desktop)'} This should be TRUE only below 768px.
) } const IsTabletVisualTest = () => { const isTablet = useIsTablet() return (
Is Tablet: {isTablet ? 'TRUE (Tablet/Mobile)' : 'FALSE (Desktop)'} This should be TRUE below 996px (includes tablets and mobile).
) } export const UseViewport: StoryObj = { render: () => , parameters: { chromatic: { ...viewports.all }, }, } export const UseIsMobile: StoryObj = { render: () => , parameters: { chromatic: { viewports: [viewports.XS, viewports.M] }, }, } export const UseIsTablet: StoryObj = { render: () => , parameters: { chromatic: { viewports: [viewports.XS, viewports.M, viewports.XL] }, }, }