Resize Observer
<wa-resize-observer>
The Resize Observer component offers a thin, declarative interface to the ResizeObserver API.
The resize observer will report changes to the dimensions of the elements it wraps through the wa-resize event. When emitted, a collection of ResizeObserverEntry objects will be attached to event.detail that contains the target element and information about its dimensions.
<div class="resize-observer-overview"> <wa-resize-observer> <div>Resize this box and watch the console 👉</div> </wa-resize-observer> </div> <script> const container = document.querySelector('.resize-observer-overview'); const resizeObserver = container.querySelector('wa-resize-observer'); resizeObserver.addEventListener('wa-resize', event => { console.log(event.detail); }); </script> <style> .resize-observer-overview div { display: flex; border: solid 2px var(--wa-color-surface-border); align-items: center; justify-content: center; text-align: center; padding: 4rem 2rem; } </style>
Importing
Jump to heading
If you're using the autoloader or a hosted project, components load on demand — no manual import needed. To cherry-pick a component manually, use one of the following snippets.
Import this component directly from the CDN:
import 'https://ka-f.webawesome.com/webawesome@0.14.0/components/resize-observer/resize-observer.js';
After installing Web Awesome via npm, import this component:
import '@awesome.me/webawesome/dist/components/resize-observer/resize-observer.js';
If you're self-hosting Web Awesome, import this component from your server:
import './webawesome/dist/components/resize-observer/resize-observer.js';
To import this component for React 18 or below, use the following code:
import WaResizeObserver from '@awesome.me/webawesome/dist/react/resize-observer/index.js';
Slots
Jump to heading
Learn more about using slots.
| Name | Description |
|---|---|
| (default) | One or more elements to watch for resizing. |
Attributes & Properties
Jump to heading
Learn more about attributes and properties.
| Name | Description | Reflects | |
|---|---|---|---|
css |
One or more CSSResultGroup to include in the component's shadow root. Host styles are automatically prepended.
Type
CSSResultGroup | undefinedDefault
styles |
||
disableddisabled |
Disables the observer.
Type
booleanDefault
false |
|
Events
Jump to heading
Learn more about events.
| Name | Description |
|---|---|
wa-resize |
Emitted when the element is resized. |