# louisdh/panelkit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/louisdh-panelkit).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

3,746 stars · 154 forks · Swift · MIT · archived

## Links

- GitHub: https://github.com/louisdh/panelkit
- awesome-repositories: https://awesome-repositories.com/repository/louisdh-panelkit.md

## Topics

`ios` `ipad` `panels` `pro` `swift` `ui` `uikit` `ux`

## Description

Panelkit is an iOS panel UI framework and multi-panel layout engine designed to create and manage floating, pinned, and modal content panels within applications. It functions as a floating window manager and interface orchestrator, handling the positioning, dragging, and resizing of independent user interface windows on mobile screens.

The framework supports dynamic UI composition, allowing content to be rendered in multiple presentation styles such as popovers or pinned sidebars. It includes a state-persistence layout engine that saves and restores window coordinates and dimensions to maintain specific interface arrangements across different application sessions.

The system covers broader capabilities for multi-panel layout management, including the ability to pin multiple panels simultaneously and provide a dedicated overview to visualize all active panels. It also manages screen real estate through adaptive keyboard avoidance and constraint-based window resizing.

## Tags

### Operating Systems & Systems Programming

- [Mobile Window Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/display-windowing/tiling-window-managers/floating-window-management/mobile-window-managers.md) — Functions as a mobile-specific window manager handling positioning, dragging, and resizing of independent UI windows.

### User Interface & Experience

- [Interface Panel Lifecycle Management](https://awesome-repositories.com/f/user-interface-experience/interface-panel-lifecycle-management.md) — Provides a comprehensive system for controlling the visibility, activation, and lifecycle of interface panels. ([source](https://github.com/louisdh/panelkit/blob/master/.tailor.yml))
- [Polymorphic Presentation Styles](https://awesome-repositories.com/f/user-interface-experience/content-dividers/content-sectioning/layout-modes/polymorphic-presentation-styles.md) — Allows content components to be rendered in multiple presentation styles including floating, pinned, and modal views.
- [Layout State Persistence](https://awesome-repositories.com/f/user-interface-experience/interface-layout-managers/layout-state-persistence.md) — Saves and restores the spatial configuration and dimensions of UI panels across application sessions.
- [Mobile Windowing Systems](https://awesome-repositories.com/f/user-interface-experience/mobile-windowing-systems.md) — Provides resizable and draggable UI components that emulate desktop windowing behavior within an iOS application.
- [Panel Layout Frameworks](https://awesome-repositories.com/f/user-interface-experience/panel-groups/panel-layout-frameworks.md) — Enables the construction of organized panel systems to manage content and interactions through a consistent layout structure. ([source](https://github.com/louisdh/panelkit/blob/master/.editorconfig))
- [Gesture Coordinate Mapping](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-handlers/touch-event-processors/gesture-coordinate-mapping.md) — Translates real-time touch input coordinates into movements for floating panels.
- [UI Composition](https://awesome-repositories.com/f/user-interface-experience/ui-composition.md) — Implements an architecture for assembling interfaces that can dynamically switch between modal, popover, and pinned layouts.
- [Panel Coordination Systems](https://awesome-repositories.com/f/user-interface-experience/window-management/z-index-management/panel-coordination-systems.md) — Provides a centralized coordinator to manage the stacking order and visibility state of all active panels.
- [Multi-Panel Pinning](https://awesome-repositories.com/f/user-interface-experience/admin-panel-extensions/custom-content-panels/data-view-side-panels/side-panel-layout-management/multi-panel-pinning.md) — Allows multiple panels to be displayed simultaneously on one side of the screen. ([source](https://github.com/louisdh/panelkit/blob/master/CHANGELOG.md))
- [Resizable Panel Systems](https://awesome-repositories.com/f/user-interface-experience/resizable-panel-systems.md) — Implements a system for manually adjusting the dimensions of floating panels. ([source](https://github.com/louisdh/panelkit/blob/master/docs/Resizing.md))
- [Resizing Constraints](https://awesome-repositories.com/f/user-interface-experience/resizable-panes/element-resizers/resizing-constraints.md) — Enforces minimum and maximum size boundaries to constrain manual panel resizing.

### Development Tools & Productivity

- [Adaptive Layout Engines](https://awesome-repositories.com/f/development-tools-productivity/plugin-panel-managers/adaptive-layout-engines.md) — Ships a layout engine that manages screen real estate through adaptive keyboard avoidance and popover rendering.
- [Multi-Panel Layout Managers](https://awesome-repositories.com/f/development-tools-productivity/plugin-panel-managers/multi-panel-layout-managers.md) — Coordinates the visibility and layout of several floating containers, including automatic dragging and resizing logic. ([source](https://github.com/louisdh/panelkit#readme))
- [Panel Positioning Logic](https://awesome-repositories.com/f/development-tools-productivity/plugin-panel-managers/multi-panel-layout-managers/panel-positioning-logic.md) — Provides the ability to set panels to either float freely over content or pin to a specific interface side. ([source](https://github.com/louisdh/panelkit/blob/master/CHANGELOG.md))
- [Panel Overview Views](https://awesome-repositories.com/f/development-tools-productivity/plugin-panel-managers/multi-panel-layout-managers/panel-overview-views.md) — Provides a dedicated overview display to visualize and switch between all active floating and pinned panels. ([source](https://github.com/louisdh/panelkit/blob/master/docs/Expose.md))
- [Layout State Persistence](https://awesome-repositories.com/f/development-tools-productivity/session-state-restorations/layout-state-persistence.md) — Restore saved positions of floating and pinned panels to recreate a specific interface arrangement across different sessions. ([source](https://github.com/louisdh/panelkit/blob/master/docs/States.md))

### Mobile Development

- [iOS Interaction Design](https://awesome-repositories.com/f/mobile-development/ios-interaction-design.md) — Implements native iOS interaction patterns specifically for floating and pinned panels to organize complex application content.
- [iOS UI Frameworks](https://awesome-repositories.com/f/mobile-development/ios-ui-frameworks.md) — Provides a comprehensive framework for building and managing modular panel-based user interfaces on iOS.
- [iOS UI Layouts](https://awesome-repositories.com/f/mobile-development/ios-ui-layouts.md) — Implements custom structural arrangements and positioning logic for content panels on iOS screens.

### Part of an Awesome List

- [Keyboard Occlusion Prevention](https://awesome-repositories.com/f/awesome-lists/devtools/keyboard-input/keyboard-occlusion-prevention.md) — Prevents keyboard occlusion by automatically adjusting the view frame when an input keyboard appears.
