A Svelte component for creating resizable split-pane layouts with advanced features like min/max boundaries, snapping, and RTL support.
Svelte-Splitpanes is a Svelte component library for creating resizable split-pane interfaces. It enables developers to build flexible, multi-panel layouts with adjustable dividers, solving the need for dynamic view management in applications like code editors, dashboards, and data visualization tools. It provides a predictable, responsive solution with extensive customization and control.
Svelte developers building applications that require resizable panel layouts, such as IDEs, admin dashboards, data analysis tools, or any interface with multiple adjustable viewing areas. It is particularly suited for projects needing advanced features like programmatic control, touch support, or legacy browser compatibility.
Developers choose Svelte-Splitpanes for its comprehensive feature set, including programmatic pane management, size constraints, RTL support, and event-driven control, which are often missing in other Svelte split-pane solutions. Its origin as a port of vue-splitpanes ensures robustness, and it prioritizes predictability, developer experience, and broad browser compatibility.
Svelte-Splitpanes is a comprehensive Svelte component for building resizable split-pane interfaces, enabling developers to create flexible layouts with multiple adjustable panels. It provides a predictable and responsive solution for applications requiring dynamic view management, such as code editors, dashboards, and data visualization tools.
Svelte-Splitpanes aims to be a robust, feature-rich split-pane implementation for the Svelte ecosystem, prioritizing predictability and developer experience while maintaining broad compatibility and extensibility.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports dynamic orientation, size constraints, programmatic control, and events like resize and pane-add, as detailed in the README's features list, making it highly versatile for complex layouts.
Works on modern browsers and legacy environments including IE 11, explicitly shown in the browser support table, which is rare for Svelte components.
Emits lifecycle events such as ready, resize, and pane-click, allowing fine-grained interaction handling, as documented in the events section for custom logic.
Fully customizable via CSS classes and themes, with examples provided for custom dividers and overlays, enabling deep visual integration without framework limitations.
No built-in themes or pre-styled components; developers must write custom CSS from scratch, as indicated in the styling examples, which can increase initial development time.
With numerous features and configuration options, it can be overkill for basic split-pane needs, potentially adding unnecessary learning curve and bundle size.
Specifically designed for Svelte, making it unsuitable for projects using other frameworks, and its origin as a Vue port might introduce unfamiliar patterns for some developers.