{"id":20790612,"url":"https://github.com/ryanashcraft/expandable","last_synced_at":"2025-05-05T20:49:26.091Z","repository":{"id":258421588,"uuid":"873898481","full_name":"ryanashcraft/Expandable","owner":"ryanashcraft","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-17T18:58:54.000Z","size":114,"stargazers_count":20,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T05:56:20.781Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ryanashcraft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-10-16T23:04:52.000Z","updated_at":"2025-03-12T11:29:10.000Z","dependencies_parsed_at":"2024-10-19T23:59:35.492Z","dependency_job_id":"19fcf7af-4322-4d89-803f-69130de75188","html_url":"https://github.com/ryanashcraft/Expandable","commit_stats":null,"previous_names":["ryanashcraft/expandable"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanashcraft%2FExpandable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanashcraft%2FExpandable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanashcraft%2FExpandable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanashcraft%2FExpandable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanashcraft","download_url":"https://codeload.github.com/ryanashcraft/Expandable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252575735,"owners_count":21770610,"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":[],"created_at":"2024-11-17T15:36:08.711Z","updated_at":"2025-05-05T20:49:26.068Z","avatar_url":"https://github.com/ryanashcraft.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expandable\n\n## Overview\n\nThis package provides a customizable, cross-platform SwiftUI view that mimics the expandable app description UI found in the App Store.\n\n## Features\n\n- Cross platform: iOS 16, watchOS 9, macOS 13\n- No UIKit dependency\n- No external dependencies\n- Ergonomic, SwiftUI-y API\n- Customizable expand button\n- VoiceOver and Dynamic Type support\n- Right-to-left (RTL) layout support\n\n## Installation\n\nAdd this package to your project using Swift Package Manager:\n\n1. In Xcode, go to **File \u003e Add Packages...**\n2. Enter the repository URL or path for this package.\n3. Add the package to your project.\n\nAlternatively, add the following to your `Package.swift` dependencies:\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/ryanashcraft/Expandable.git\", from: \"1.0.0\")\n]\n```\n\n## Screenshots\n\n### iOS\n\u003cimg src=\"Screenshots/ios.png\" alt=\"iOS\" width=\"400\"\u003e\n\n### macOS\n\u003cimg src=\"Screenshots/macos.png\" alt=\"macOS\" width=\"600\"\u003e\n\n### watchOS\n\u003cimg src=\"Screenshots/watchos.png\" alt=\"watchOS\" width=\"400\"\u003e\n\n## Usage\n\nBelow is an example of how to use the Expandable view in SwiftUI.\n\n```swift\nimport Expandable\nimport SwiftUI\n\nstruct ContentView: View {\n    var body: some View {\n        ScrollView {\n            Expandable {\n                Text(\"Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.\")\n            } buttonLabel: {\n                Text(\"more\")\n            }\n            .lineLimit(3)\n        }\n    }\n}\n```\n\n## License\n\nThis package is released under the MIT License. See [LICENSE](/LICENSE) for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanashcraft%2Fexpandable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanashcraft%2Fexpandable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanashcraft%2Fexpandable/lists"}