{"id":21225736,"url":"https://github.com/Mijick/Popups","last_synced_at":"2025-07-10T14:32:09.997Z","repository":{"id":104412641,"uuid":"600241429","full_name":"Mijick/Popups","owner":"Mijick","description":"Popups, popovers, sheets, alerts, toasts, banners, (...) presentation made simple. Written with and for SwiftUI.","archived":false,"fork":false,"pushed_at":"2024-11-15T13:43:28.000Z","size":463,"stargazers_count":1333,"open_issues_count":9,"forks_count":56,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-11-15T14:28:33.650Z","etag":null,"topics":["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"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mijick.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"mijick","custom":null}},"created_at":"2023-02-10T22:48:37.000Z","updated_at":"2024-11-14T12:05:37.000Z","dependencies_parsed_at":"2024-03-01T03:29:54.958Z","dependency_job_id":"deea3c3f-8df3-4d9b-8a11-a523e14613de","html_url":"https://github.com/Mijick/Popups","commit_stats":{"total_commits":11,"total_committers":2,"mean_commits":5.5,"dds":"0.18181818181818177","last_synced_commit":"bca974e626f43df891c82a8730ea319882a72bf9"},"previous_names":["mijick/popupview"],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FPopups","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FPopups/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FPopups/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FPopups/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mijick","download_url":"https://codeload.github.com/Mijick/Popups/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224797373,"owners_count":17371660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-11-20T23:00:54.246Z","updated_at":"2025-07-10T14:32:09.991Z","avatar_url":"https://github.com/Mijick.png","language":"Swift","funding_links":["https://buymeacoffee.com/mijick"],"categories":["Libs","UI","Toast-and-Popup"],"sub_categories":["UI","Popup","Content"],"readme":"\u003c!--Hero Image--\u003e\n\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e \n        \u003cimg alt=\"MijickPopups Hero\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/hero.png\" width=\"100%\"\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003c!--Text Header--\u003e\n\u003cp\u003e\n    \u003ch3 align=\"center\"\u003ePopups presentation made simple\u003c/h3\u003e\n    \u003cp align=\"center\"\u003eCreate any popup in no time. Keep your code clean.\u003c/p\u003e\n\u003c/p\u003e\n\n\u003c!--Links: Demo, Wiki, Roadmap--\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://link.mijick.com/popups-demo\" rel=\"nofollow\"\u003e\u003cb\u003eTry demo we prepared\u003c/b\u003e\u003c/a\u003e\n    |\n    \u003ca href=\"https://link.mijick.com/popups-wiki\" rel=\"nofollow\"\u003e\u003cb\u003eFramework documentation\u003c/b\u003e\u003c/a\u003e\n    |\n    \u003ca href=\"https://link.mijick.com/roadmap\" rel=\"nofollow\"\u003e\u003cb\u003eRoadmap\u003c/b\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003c!--Labels--\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Labels\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/labels.svg\"/\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003c!--GIFs--\u003e\n\u003ctable\u003e\n    \u003cthead\u003e\n        \u003ctr\u003e\n            \u003cth\u003ePopups\u003c/th\u003e\n            \u003cth\u003eAlerts\u003c/th\u003e\n            \u003cth\u003eResizable Sheets\u003c/th\u003e\n            \u003cth\u003eBanners\u003c/th\u003e\n        \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e\n                \u003cimg src=\"https://github.com/Mijick/Assets/blob/main/Popups/Gifs/Popups-1.gif\"/\u003e\n            \u003c/td\u003e\n            \u003ctd\u003e\n                \u003cimg src=\"https://github.com/Mijick/Assets/blob/main/Popups/Gifs/Popups-2.gif\"/\u003e\n            \u003c/td\u003e\n            \u003ctd\u003e\n                \u003cimg src=\"https://github.com/Mijick/Assets/blob/main/Popups/Gifs/Popups-3.gif\"/\u003e\n            \u003c/td\u003e\n            \u003ctd\u003e\n                \u003cimg src=\"https://github.com/Mijick/Assets/blob/main/Popups/Gifs/Popups-4.gif\"/\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003cbr\u003e\u003cbr\u003e\n\n\u003c!--Buttons--\u003e\n\u003cp\u003e\n    \u003c!--Website--\u003e\n    \u003ca href=\"https://link.mijick.com/app\"\u003e\n        \u003cimg alt=\"Visit our Website\" src=\"https://github.com/Mijick/Assets/blob/main/Common/Buttons/website.png\" height=\"40px\"\u003e\n    \u003c/a\u003e\n    \u003c!--Discord--\u003e\n    \u003ca href=\"https://link.mijick.com/discord\"\u003e\n        \u003cimg alt=\"Join us on Discord\" src=\"https://github.com/Mijick/Assets/blob/main/Common/Buttons/discord.png\" height=\"40px\"\u003e\n    \u003c/a\u003e\n    \u003c!--Linkedin--\u003e\n    \u003ca href=\"https://link.mijick.com/linkedin\"\u003e\n        \u003cimg alt=\"Follow us on LinkedIn\" src=\"https://github.com/Mijick/Assets/blob/main/Common/Buttons/linkedin.png\" height=\"40px\"\u003e\n    \u003c/a\u003e\n    \u003c!--GitHub--\u003e\n    \u003ca href=\"https://link.mijick.com/github\"\u003e\n        \u003cimg alt=\"See our other frameworks\" src=\"https://github.com/Mijick/Assets/blob/main/Common/Buttons/github.png\" height=\"40px\"\u003e\n    \u003c/a\u003e\n    \u003c!--Medium--\u003e\n    \u003ca href=\"https://link.mijick.com/medium\"\u003e\n        \u003cimg alt=\"Read us on Medium\" src=\"https://github.com/Mijick/Assets/blob/main/Common/Buttons/medium.png\" height=\"40px\"\u003e\n    \u003c/a\u003e\n    \u003c!--Buymeacoffee--\u003e\n    \u003ca href=\"https://link.mijick.com/buymeacoffee\"\u003e\n        \u003cimg alt=\"Buy us a coffee\" src=\"https://github.com/Mijick/Assets/blob/main/Common/Buttons/buymeacoffee.png\" height=\"40px\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!--Features--\u003e\n# ✨ Features\n\u003ctable\u003e\u003ctbody\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e📱\u003c/td\u003e\n        \u003ctd\u003eThree positions for the popups: Top, Center or Bottom\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🎁\u003c/td\u003e\n        \u003ctd\u003eStackable popups\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🐫\u003c/td\u003e\n        \u003ctd\u003eThree height modes: Automatic, Large or Fullscreen\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e⛹️\u003c/td\u003e\n        \u003ctd\u003eResizable popups\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🍃\u003c/td\u003e\n        \u003ctd\u003eAutomatic dismissal\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🖖\u003c/td\u003e\n        \u003ctd\u003eSuper easy to use from any place in the code\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🚧\u003c/td\u003e\n        \u003ctd\u003eFully customizable\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🕺\u003c/td\u003e\n        \u003ctd\u003eBeautiful animations\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🤏🏼\u003c/td\u003e\n        \u003ctd\u003eGestures support\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🍏\u003c/td\u003e\n        \u003ctd\u003eWorks with SwiftUI sheets\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🖥️\u003c/td\u003e\n        \u003ctd\u003eSupports iOS, macOS, tvOS, watchOS and visionOS\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e⚡️\u003c/td\u003e\n        \u003ctd\u003eSupports Swift 6\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e🚀\u003c/td\u003e\n        \u003ctd\u003e... and others\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\n\u003c!--Description--\u003e\n# ☀️ Why MijickPopups?\nMijickPopups 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:\n\n\u003cp\u003e\n    \u003ch3\u003eThe power of a single line of code\u003c/h3\u003e\n    \u003cp\u003eFor your convenience and to enhance code clarity, we have consolidated all the key actions into a single line of code.\u003c/p\u003e\n    \u003cimg alt=\"Code Example 1\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/Code/less-code.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n    \u003ch3\u003eTailored to your needs. Designed to suit your preferences\u003c/h3\u003e\n    \u003cp\u003eDevelopers 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.\u003c/p\u003e\n    \u003cimg alt=\"Code Example 2\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/Code/interact-anywhere.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n    \u003ch3\u003eEngineered for limitless creativity\u003c/h3\u003e\n    \u003cp\u003eThe framework was developed not to limit your creativity; we give you the freedom to experiment with the appearance of your popups.\u003c/p\u003e\n    \u003cimg alt=\"Code Example 3\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/Code/customization.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n    \u003ch3\u003eThree in one\u003c/h3\u003e\n    \u003cp\u003eYou 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.\u003c/p\u003e\n    \u003cimg alt=\"Code Example 4\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/Code/any-position.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n    \u003ch3\u003eMultiple popups? No problem!\u003c/h3\u003e\n    \u003cp\u003eWhether 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.\u003c/p\u003e\n    \u003cimg alt=\"Code Example 5\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/Code/stacking.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n    \u003ch3\u003ePast, present and future\u003c/h3\u003e\n    \u003cp\u003eWe 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.\u003c/p\u003e\n    \u003cimg alt=\"Code Example 6\" src=\"https://github.com/Mijick/Assets/blob/main/Popups/Code/native-with-framework.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\n### There is much more besides:\n- The height of the popup adapts to its content, or can be defined by you.\n- Popups can be automatically dismissed after a certain period of time.\n- Drag gesture can be used to resize the popup, according to the provided indentations.\n- Works with multiple windows.\n- Supports all Apple platforms: iOS 14.0+ / macOS 12.0+ / tvOS 15.0+ / watchOS 7.0+ / visionOS 1.0+.\n- Supports Swift 6.0.\n- ... and much more.\n\n\u003c!--Documentation--\u003e\n# 🚀 How to use it?\nVisit the framework's [documentation page](https://link.mijick.com/popups-wiki) to learn how to integrate your project with **MijickPopups**.\n\n\u003c!--Community--\u003e\n# 🍀 Community\nJoin the welcoming community of developers on [Discord](https://link.mijick.com/discord).\n\n\u003c!--Contribution--\u003e\n# 🌼 Contribute\nTo contribute a feature or idea to **MijickPopups**, create an [issue](https://github.com/Mijick/Popups/issues/new?assignees=FulcrumOne\u0026labels=state%3A+inactive%2C+type%3A+feature\u0026projects=\u0026template=🚀-feature-request.md\u0026title=%5BFREQ%5D) explaining your idea or bring it up on [Discord](https://discord.com/invite/dT5V7nm5SC). \u003cbr\u003e\nIf you find a bug, please create an [issue](https://github.com/Mijick/Popups/issues/new?assignees=FulcrumOne%2C+jay-jay-lama\u0026labels=state%3A+inactive%2C+type%3A+bug\u0026projects=\u0026template=🦟-bug-report.md\u0026title=%5BBUG%5D). \u003cbr\u003e\nIf you would like to contribute, please refer to the [Contribution Guidelines](https://github.com/Mijick/Popups/blob/main/.github/CONTRIBUTING.md).\n\n\u003c!--Sponsorship--\u003e\n# 💜 Sponsor our work\nSupport our work by [becoming a backer](https://link.mijick.com/buymeacoffee).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMijick%2FPopups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMijick%2FPopups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMijick%2FPopups/lists"}