{"id":18269821,"url":"https://github.com/VakhoKontridze/VComponents","last_synced_at":"2025-04-04T23:31:34.042Z","repository":{"id":37772513,"uuid":"322787049","full_name":"VakhoKontridze/VComponents","owner":"VakhoKontridze","description":"VComponents is a SwiftUI collection that contains reusable UI components","archived":false,"fork":false,"pushed_at":"2024-05-22T12:29:23.000Z","size":12368,"stargazers_count":654,"open_issues_count":1,"forks_count":32,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-05-22T13:29:43.608Z","etag":null,"topics":["bottomsheet","component","components","components-library","dialog","framework","ios","library","marquee","modal","modal-dialog","pageindicator","progress-bar","slider","swift","swift-package","swiftui","textfield","ui-components","uikit"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VakhoKontridze.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-19T06:56:03.000Z","updated_at":"2024-08-02T09:00:21.929Z","dependencies_parsed_at":"2023-09-23T18:48:29.418Z","dependency_job_id":"7104a280-bdbd-4047-a89d-01f9443360df","html_url":"https://github.com/VakhoKontridze/VComponents","commit_stats":null,"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VakhoKontridze%2FVComponents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VakhoKontridze%2FVComponents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VakhoKontridze%2FVComponents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VakhoKontridze%2FVComponents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VakhoKontridze","download_url":"https://codeload.github.com/VakhoKontridze/VComponents/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266476,"owners_count":20910831,"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":["bottomsheet","component","components","components-library","dialog","framework","ios","library","marquee","modal","modal-dialog","pageindicator","progress-bar","slider","swift","swift-package","swiftui","textfield","ui-components","uikit"],"created_at":"2024-11-05T11:37:23.051Z","updated_at":"2025-04-04T23:31:34.036Z","avatar_url":"https://github.com/VakhoKontridze.png","language":"Swift","funding_links":[],"categories":["swiftui"],"sub_categories":[],"readme":"# VComponents\n\n## Table of Contents\n\n- [Intro](#intro)\n- [Components](#components)\n- [Installation](#installation)\n- [Compatibility](#compatibility)\n- [Contact](#contact)\n\n## Intro\n\nVComponents is a `SwiftUI` collection that contains reusable UI components.\n\n\u003cimg src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/2471203b-8e67-4302-b634-d1a2682e923f\"\u003e\n\nFor additional info on component customization, refer to \"Customization\" documentation.\n\nFor additional info on animations, refer to \"Animations\" documentation.\n\nFor additional info on modal components, refer to \"Presentation Host\" documentation from [VCore](https://github.com/VakhoKontridze/VCore).\n\n## Components\n\n#### Buttons\n\n\u003cp\u003e\n    \u003cimg tag=\"VStretchedButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/485ee9ba-ddf9-44d7-8991-9b1c15254288\"\u003e\n    \u003cimg tag=\"VLoadingStretchedButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/2ff25abe-b512-48f7-87de-364fa459658f\"\u003e\n    \u003cimg tag=\"VWrappedButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/98137969-66da-409a-8d08-23391a09f6a8\"\u003e\n    \u003cimg tag=\"VRectangularButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/cd861619-9115-4f16-9274-e8d172eb8290\"\u003e\n    \u003cimg tag=\"VRectangularCaptionButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/96616eab-6d52-43ed-a94c-8f593890d3bb\"\u003e\n    \u003cimg tag=\"VPlainButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/6d34df2a-d555-4e1c-b1bd-f9cef8577d48\"\u003e\n\u003cp/\u003e\n\n#### State Pickers\n\n\u003cp\u003e\n    \u003cimg tag=\"VToggle\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/a6f2bf7f-62f9-4a96-8cd1-1b7b768c914b\"\u003e\n    \u003cimg tag=\"VCheckBox\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/2a8315b0-3d15-430d-a5ff-14efb49b035c\"\u003e\n    \u003cimg tag=\"VRadioButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/756c4c84-08c4-4a39-b66c-4d3b1bcf8658\"\u003e\n    \u003cimg tag=\"VStretchedToggleButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/8e63724b-afc0-4ae6-a0d2-8a0600c21a39\"\u003e\n    \u003cimg tag=\"VWrappedToggleButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/d074c130-d978-41e5-926a-ecfd54431636\"\u003e\n    \u003cimg tag=\"VRectangularToggleButton\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/a25cb00b-52ef-41f9-ae89-83305022af45\"\u003e\n\u003cp/\u003e\n\n#### Value Pickers\n\n\u003cp\u003e\n    \u003cimg tag=\"VSlider\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/c2a0b3d0-c758-4471-ba6e-d4ed2ebae143\"\u003e\n    \u003cimg tag=\"VRangeSlider\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/6941c0fa-1a16-4eca-a65f-12b4e53a8064\"\u003e\n\u003cp/\u003e\n\n#### Inputs\n\n\u003cp\u003e\n    \u003cimg tag=\"VTextField\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/be4fba23-a13d-45c7-856b-ec0ccd8208e6\"\u003e\n    \u003cimg tag=\"VTextView\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/da506937-2e22-4fb3-b63a-3ef50a6012bb\"\u003e\n    \u003cimg tag=\"VCodeEntryView\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/c79e5896-42ee-4bc5-9941-bca0acbc2111\"\u003e\n\u003cp/\u003e\n\n#### Containers\n\n\u003cp\u003e\n    \u003cimg tag=\"VGroupBox\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/403cad11-3d05-462a-8543-2b7389aaa715\"\u003e\n    \u003cimg tag=\"VDisclosureGroup\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/62c190c2-8a23-4d60-ad2e-02700fe1092d\"\u003e\n    \u003cimg tag=\"VStretchedIndicatorStaticPagerTabView\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/27db2a82-380e-493a-a44e-a63d166aad98\"\u003e\n    \u003cimg tag=\"VWrappedIndicatorStaticPagerTabView\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/4fc9cdb6-9611-4361-9db3-2a9a1f861d96\"\u003e\n    \u003cimg tag=\"VDynamicPagerTabView\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/dfd0ea83-9dad-4819-85c6-dd1894a32460\"\u003e\n    \u003cimg tag=\"VCarousel\" width=\"350\" align=\"top\" src=\"https://github.com/user-attachments/assets/0e2503b2-2461-4e5e-ac61-c1e4e9b86125\"\u003e\n\u003cp/\u003e\n\n#### Modals (Containers)\n\n\u003cp\u003e\n    \u003cimg tag=\"VModal\" width=\"400\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/c9c03311-db7f-4704-932b-41a78f2e3fc0\"\u003e\n    \u003cimg tag=\"VBottomSheet\" width=\"400\" align=\"top\" src=\"https://github.com/user-attachments/assets/f25b5e9e-fd1a-44d2-bb77-c08e480e7e61\"\u003e\n    \u003cimg tag=\"VSideBar\" width=\"400\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/8ea59a66-4742-49a5-8ca9-6a91501e8d3f\"\u003e\n\u003cp/\u003e\n\n#### Modals (Alerts)\n\n\u003cp\u003e\n    \u003cimg tag=\"VAlert\" width=\"400\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/34c39b5b-1d65-4b71-b620-ceb1973232ae\"\u003e\n\u003cp/\u003e\n\n#### Modals (Notifications)\n\n\u003cp\u003e\n    \u003cimg tag=\"VNotification\" width=\"400\" align=\"top\" src=\"https://github.com/user-attachments/assets/907aa427-a3d2-40d1-bed4-9b4dc0ee22a6\"\u003e\n    \u003cimg tag=\"VToast\" width=\"400\" align=\"top\" src=\"https://github.com/user-attachments/assets/a7cd6b6c-da98-4ea3-b78e-465d9b52e6b4\"\u003e\n\u003cp/\u003e\n\n#### Indicators (Definite)\n\n\u003cp\u003e\n    \u003cimg tag=\"VProgressBar\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/05fbb1c0-917f-4ffb-91f9-5e70c8825abd\"\u003e\n    \u003cimg tag=\"VPageIndicator\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/bfbede63-f400-40a5-b1fb-1044941eb41e\"\u003e\n    \u003cimg tag=\"VCompactPageIndicator\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/f3e6bfae-ee8a-4f59-b529-0b5994249485\"\u003e\n\u003cp/\u003e\n\n#### Indicators (Indefinite)\n\n\u003cp\u003e\n    \u003cimg tag=\"VContinuousSpinner\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/03021296-f5c4-449c-802c-07d52c1119af\"\u003e\n\u003cp/\u003e\n\n#### Misc\n\n\u003cp\u003e\n    \u003cimg tag=\"VFetchingAsyncImage\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/c4d94413-b5a4-49c4-9ff9-590b373fbb31\"\u003e\n    \u003cimg tag=\"VWrappingMarquee\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/cbca015c-a237-4569-96b9-8973e5cbf984\"\u003e\n    \u003cimg tag=\"VBouncingMarquee\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/10de26e3-4c8c-42ef-baa2-c939a1e7cfec\"\u003e\n    \u003cimg tag=\"VRollingCounter\" width=\"350\" align=\"top\" src=\"https://github.com/VakhoKontridze/VComponents/assets/57289621/83267731-3c11-4551-898c-9ba86e49558d\"\u003e\n\u003cp/\u003e\n\n## Installation\n\n#### Swift Package Manager\n\nAdd `https://github.com/VakhoKontridze/VComponents` as a Swift Package in Xcode and follow the instructions.\n\n## Compatibility\n\n#### Platform and Version Support\n\nPackage provides limited `macOS`, `tvOS`, `watchOS`, and `visionOS` support.\n\nVersions with different majors are not directly compatible. When a new major is released, deprecated symbols are removed.\n\n#### Versioning\n\n***Major***. Major changes, such as big overhauls\n\n***Minor***. Minor changes, such as new components and customization options\n\n***Patch***. Bug fixes and improvements\n\n#### History\n\n\u003ctable\u003e\n\n  \u003ctr\u003e\n    \u003cth align=\"left\"\u003eVer\u003c/th\u003e\n    \u003cth align=\"left\"\u003eRelease Date\u003c/th\u003e \n    \u003cth align=\"left\"\u003eSwift\u003c/th\u003e\n    \u003cth align=\"left\"\u003eSDK\u003c/th\u003e\n    \u003cth align=\"left\"\u003eVCore\u003c/th\u003e\n    \u003cth align=\"left\"\u003eComment\u003c/th\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e7.0\u003c/td\u003e\n    \u003ctd\u003e2024 09 20\u003c/td\u003e\n    \u003ctd\u003e6.0\u003c/td\u003e\n    \u003ctd\u003e\n        iOS 16.0\u003cbr\u003e\n        macOS 13.0\u003cbr\u003e\n        tvOS 16.0\u003cbr\u003e\n        watchOS 9.0\u003cbr\u003e\n        visionOS 1.0\n    \u003c/td\u003e\n    \u003ctd\u003e7.0.0 - 7.x.x\u003c/td\u003e\n    \u003ctd\u003e\n        New SDK.\u003cbr\u003e\n        API changes.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e6.0\u003c/td\u003e\n    \u003ctd\u003e2024 02 18\u003c/td\u003e\n    \u003ctd\u003e\n        5.10\u003cbr\u003e\u003ci\u003e\u003csup\u003e(6.0.1 - 6.x.x)\u003c/sup\u003e\u003c/i\u003e\u003cbr\u003e\n        5.9\u003cbr\u003e\u003ci\u003e\u003csup\u003e(6.0.0)\u003c/sup\u003e\u003c/i\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n        iOS 15.0\u003cbr\u003e\n        macOS 12.0\u003cbr\u003e\n        tvOS 15.0\u003cbr\u003e\n        watchOS 8.0\u003cbr\u003e\n        visionOS 1.0\n    \u003c/td\u003e\n    \u003ctd\u003e6.0.0 - 6.x.x\u003c/td\u003e\n    \u003ctd\u003e\n        visionOS support.\u003cbr\u003e\n        API changes.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e5.0\u003c/td\u003e\n    \u003ctd\u003e2023 10 08\u003c/td\u003e\n    \u003ctd\u003e5.9\u003c/td\u003e\n    \u003ctd\u003e\n        iOS 15.0\u003cbr\u003e\n        macOS 12.0\u003cbr\u003e\n        tvOS 15.0\u003cbr\u003e\n        watchOS 8.0\n    \u003c/td\u003e\n    \u003ctd\u003e5.0.0 - 5.x.x\u003c/td\u003e\n    \u003ctd\u003e\n        New SDK.\u003cbr\u003e\n        API changes.\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e4.0\u003c/td\u003e\n    \u003ctd\u003e2023 04 09\u003c/td\u003e\n    \u003ctd\u003e5.8\u003c/td\u003e\n    \u003ctd\u003e\n        iOS 13.0\u003cbr\u003e\n        macOS 10.15\u003cbr\u003e\n        tvOS 13.0\u003cbr\u003e\n        watchOS 6.0\n    \u003c/td\u003e\n    \u003ctd\u003e4.7.0 - 4.x.x\u003c/td\u003e\n    \u003ctd\u003e\n        iOS 13.0 support.\u003cbr\u003e\n        Multiplatform support.\u003cbr\u003e\n        RTL language support.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e3.0\u003c/td\u003e\n    \u003ctd\u003e2022 10 02\u003c/td\u003e\n    \u003ctd\u003e5.7\u003c/td\u003e\n    \u003ctd\u003eiOS 16.0\u003c/td\u003e\n    \u003ctd\u003e4.1.0 - 4.x.x\u003c/td\u003e\n    \u003ctd\u003e\n        New SDK.\u003cbr\u003e\n        API changes.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \n  \u003ctr\u003e\n    \u003ctd\u003e2.0\u003c/td\u003e\n    \u003ctd\u003e2022 05 26\u003c/td\u003e\n    \u003ctd\u003e5.6\u003c/td\u003e\n    \u003ctd\u003eiOS 15.0\u003c/td\u003e\n    \u003ctd\u003e3.2.0 - 3.x.x\u003c/td\u003e\n    \u003ctd\u003e\n        New SDK.\u003cbr\u003e\n        SPM support.\u003cbr\u003e\n        API changes.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \n  \u003ctr\u003e\n    \u003ctd\u003e1.0\u003c/td\u003e\n    \u003ctd\u003e2021 02 07\u003c/td\u003e\n    \u003ctd\u003e5.3\u003c/td\u003e\n    \u003ctd\u003eiOS 14.0\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n  \u003c/tr\u003e\n\n\u003c/table\u003e\n\nFor additional info, refer to the [CHANGELOG](https://github.com/VakhoKontridze/VComponents/blob/main/CHANGELOG.md).\n\n## Contact\n\ne-mail: vakhtang.kontridze@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVakhoKontridze%2FVComponents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVakhoKontridze%2FVComponents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVakhoKontridze%2FVComponents/lists"}