Skip to main content

ViewportProvider

Library
UDS Base
Repository
github.com/telus/universal-design-system
Package
npmjs.com/package/@telus-uds/components-base
Package version
1.6.1
<ViewportProvider>{/* content requiring viewport size */}</ViewportProvider>

Introduction

import { ViewportProvider } from '@telus-uds/components-base'

Guidance

info

ViewportProvider is automatically included in BaseProvider. You don't need to include ViewportProvider in your app separately if you are already using BaseProvider.

ViewportProvider provides a react, cross platform API onto user viewport size. This can be accessed with the useViewport hook. The viewport returned will be one of xs, sm, md, lg, xl corresponding to the system viewports.

import { useViewport } from '@telus-uds/components-base'
// ...
const viewport = useViewport()

useResponsiveProp

You can use useResponsiveProp hook to create values that change depending on the current viewport. This hook takes any value and, if that value is a responsive prop (an object with one or more keys matching system viewport names), returns the value corresponding to the largest viewport key smaller than the current screen's viewport.

For example, if passed { sm: 4, lg: 8 }, it will return 8 on xl and lg viewports, 4 on md and sm viewports, and undefined (or a provided defaultValue) on xs viewports.

import { useViewport } from '@telus-uds/components-base'
// ...
const viewport = useViewport({ sm: 4, lg: 8 })

Props

NameTypeDefaultDescription
children*node
```