Light Dark System

Resize Observer

<p-resize-observer> | PResizeObserver
Since 1.0 stable

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 p-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.

Resize this box and watch the console πŸ‘‰
<div class="resize-observer-overview">
  <p-resize-observer>
    <div>Resize this box and watch the console πŸ‘‰</div>
  </p-resize-observer>
</div>

<script>
  const container = document.querySelector('.resize-observer-overview');
  const resizeObserver = container.querySelector('p-resize-observer');

  resizeObserver.addEventListener('p-resize', event => {
    console.log(event.detail);
  });
</script>

<style>
  .resize-observer-overview div {
    display: flex;
    border: solid 2px var(--p-input-border-color);
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 4rem 2rem;
  }
</style>
import PResizeObserver from 'pure-uikit/dist/react/resize-observer';

const css = `
  .resize-observer-overview div {
    display: flex;
    border: solid 2px var(--p-input-border-color);
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 4rem 2rem;
  }
`;

const App = () => (
  <>
    <div className="resize-observer-overview">
      <PResizeObserver onPResize={event => console.log(event.detail)}>
        <div>Resize this box and watch the console πŸ‘‰</div>
      </PResizeObserver>
    </div>

    <style>{css}</style>
  </>
);

Importing

If you’re using the autoloader or the traditional loader, you can ignore this section. Otherwise, feel free to use any of the following snippets to cherry pick this component.

Script Import Bundler React

To import this component from the CDN using a script tag:

<script type="module" src="https://cdn.jsdelivr.net/npm/pure-uikit@1.3.13/cdn/components/resize-observer/resize-observer.js"></script>

To import this component from the CDN using a JavaScript import:

import 'https://cdn.jsdelivr.net/npm/pure-uikit@1.3.13/cdn/components/resize-observer/resize-observer.js';

To import this component using a bundler:

import 'pure-uikit/dist/components/resize-observer/resize-observer.js';

To import this component as a React component:

import PResizeObserver from 'pure-uikit/dist/react/resize-observer';

Slots

Name Description
(default) One or more elements to watch for resizing.

Learn more about using slots.

Properties

Name Description Reflects Type Default
disabled Disables the observer. boolean false
updateComplete A read-only promise that resolves when the component has finished updating.

Learn more about attributes and properties.

Events

Name React Event Description Event Detail
p-resize onPResize Emitted when the element is resized. { entries: ResizeObserverEntry[] }

Learn more about events.