1. framework components
  2. floating panel

Floating Panel

A draggable, resizable floating panel with minimize/maximize controls.

Breaking convention in Skeleton, this component is provided “headless”. Meaning no default styles are applied out of the box. This ensures you retain full control of all styling for maximum flexibility.

Provider Pattern

Use the Provider Pattern to gain access to the inner component APIs.

Anatomy

Here’s an overview of how the Floating Panel component is structured in code:

svelte
<script lang="ts">
	import { FloatingPanel, Portal } from '@skeletonlabs/skeleton-svelte';
</script>

<FloatingPanel>
	<FloatingPanel.Trigger />
	<Portal>
		<FloatingPanel.Positioner>
			<FloatingPanel.Content>
				<FloatingPanel.Header>
					<FloatingPanel.DragTrigger>
						<FloatingPanel.Title />
					</FloatingPanel.DragTrigger>
					<FloatingPanel.Control>
						<FloatingPanel.StageTrigger stage="minimized" />
						<FloatingPanel.StageTrigger stage="maximized" />
						<FloatingPanel.CloseTrigger />
					</FloatingPanel.Control>
				</FloatingPanel.Header>
				<FloatingPanel.Body />
				<FloatingPanel.ResizeTrigger axis="se" />
			</FloatingPanel.Content>
		</FloatingPanel.Positioner>
	</Portal>
</FloatingPanel>

API Reference

Please refer to the Zag.js Floating Panel documentation for a full list of props.

View page on GitHub