Skip to main content

LayoutContainersProvider

The LayoutContainersProvider component is used at the top-level of your design experience to give child components access to the LayoutContainers context.

import { LayoutContainersProvider } from '@design-stack-ct/ida-framework';

export function CustomDesignExperience() {
return (
<LayoutContainersProvider>
{/* Your components here */}
</LayoutContainersProvider>;
);
}

The LayoutContainersProvider is meant to be used in conjuction with the useLayoutContainers hook to register and access the viewport and pan containers provided by the LayoutContainers context.

import { LayoutContainersProvider, useLayoutContainers, PanArea, Viewport } from '@design-stack-ct/ida-framework';

export function CustomPanArea() {
const { setPanContainer } = useLayoutContainers();

return (
<PanArea registerPanContainer={setPanContainer} />
);
}

export function CustomViewport()) {
const { setViewportContainer } = useLayoutContainers();

return (
<Viewport registerViewport={setViewportContainer} />
);
}

export function useExampleHook() {
const { panContainer, viewportContainer } = useLayoutContainers();

console.log('Pan container bounds: ', panContainer.getBoundingClientRect());
console.log('Viewport container bounds: ', viewportContainer.getBoundingClientRect());
}

export function CustomDesignExperience() {
return (
<LayoutContainersProvider>
<CustomPanArea />
<CustomViewport />
</LayoutContainersProvider>
);
}