Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mijick/popups

Popups, popovers, sheets, alerts, toasts, banners, (...) presentation made simple. Written with and for SwiftUI.
https://github.com/mijick/popups

alert cocoapods ios ios-sdk ios-swift mobile popover popup popup-window popupview popupwindow swift swift-library swift-package swift-package-manager swift6 swiftui swiftui-components swiftui-framework toast

Last synced: 5 days ago
JSON representation

Popups, popovers, sheets, alerts, toasts, banners, (...) presentation made simple. Written with and for SwiftUI.

Awesome Lists containing this project

README

        



MijickPopups Hero


Popups presentation made simple


Create any popup in no time. Keep your code clean.


Try demo we prepared
|
Framework documentation
|
Roadmap



Labels




Popups
Alerts
Resizable Sheets
Banners






















Join us on Discord



Follow us on LinkedIn



See our other frameworks



Read us on Medium



Buy us a coffee

# ✨ Features


📱
Three positions for the popups: Top, Center or Bottom


🎁
Stackable popups


đŸĢ
Three height modes: Automatic, Large or Fullscreen


⛹ī¸
Resizable popups


🍃
Automatic dismissal


🖖
Super easy to use from any place in the code


🚧
Fully customizable


đŸ•ē
Beautiful animations


🤏đŸŧ
Gestures support


🍏
Works with SwiftUI sheets


đŸ–Ĩī¸
Supports iOS, macOS, tvOS, watchOS and visionOS


⚡ī¸
Supports Swift 6


🚀
... and others

# ☀ī¸ Why MijickPopups?
MijickPopups library solves two seemingly contradictory problems - to allow developers to create fully customizable popup views, and to make the process as simple as possible. Here is why we think we have successfully met these objectives:


The power of a single line of code


For your convenience and to enhance code clarity, we have consolidated all the key actions into a single line of code.


Code Example 1


Tailored to your needs. Designed to suit your preferences


Developers have various programming styles, and we understand and respect that. Therefore, our framework is engineered in such a way that you can open or close a popup view from anywhere in your code.


Code Example 2


Engineered for limitless creativity


The framework was developed not to limit your creativity; we give you the freedom to experiment with the appearance of your popups.


Code Example 3


Three in one


You can display popups created with our framework in one of three positions on the screen: at the bottom, in the center, or at the top. This allows you to create the most common objects, including popups, popovers, alerts, notifications, and more.


Code Example 4


Multiple popups? No problem!


Whether you want to present multiple notifications to the user, or show terms and conditions before they log in, the framework makes it possible - it allows you to keep as many popups on the screen as you want. Inactive popups are stacked in a visually appealing way.


Code Example 5


Past, present and future


We decided to reach out to developers who, for various reasons, want to use native sheets and alerts alongside our framework. From now on, this is possible, and in the near future, we will also add the ability to call sheets in a native SwiftUI style, allowing you to integrate our framework into your existing projects as well.


Code Example 6

### There is much more besides:
- The height of the popup adapts to its content, or can be defined by you.
- Popups can be automatically dismissed after a certain period of time.
- Drag gesture can be used to resize the popup, according to the provided indentations.
- Works with multiple windows.
- Supports all Apple platforms: iOS 14.0+ / macOS 12.0+ / tvOS 15.0+ / watchOS 7.0+ / visionOS 1.0+.
- Supports Swift 6.0.
- ... and much more.

# 🚀 How to use it?
Visit the framework's [documentation page](https://link.mijick.com/popups-wiki) to learn how to integrate your project with **MijickPopups**.

# 🍀 Community
Join the welcoming community of developers on [Discord](https://link.mijick.com/discord).

# đŸŒŧ Contribute
To contribute a feature or idea to **MijickPopups**, create an [issue](https://github.com/Mijick/Popups/issues/new?assignees=FulcrumOne&labels=state%3A+inactive%2C+type%3A+feature&projects=&template=🚀-feature-request.md&title=%5BFREQ%5D) explaining your idea or bring it up on [Discord](https://discord.com/invite/dT5V7nm5SC).

If you find a bug, please create an [issue](https://github.com/Mijick/Popups/issues/new?assignees=FulcrumOne%2C+jay-jay-lama&labels=state%3A+inactive%2C+type%3A+bug&projects=&template=đŸĻŸ-bug-report.md&title=%5BBUG%5D).

If you would like to contribute, please refer to the [Contribution Guidelines](https://github.com/Mijick/Popups/blob/main/.github/CONTRIBUTING.md).

# 💜 Sponsor our work
Support our work by [becoming a backer](https://link.mijick.com/buymeacoffee).