{"id":20936502,"url":"https://github.com/eneskaraosman/keyboardactions","last_synced_at":"2026-04-24T15:31:52.674Z","repository":{"id":237427167,"uuid":"780464758","full_name":"EnesKaraosman/KeyboardActions","owner":"EnesKaraosman","description":"KeyboardActions is a SwiftUI package that allows you to manage the focus of the keyboard in your app. Adds toolbar item above keyboard to easily switch focus between textfields or close keyboard","archived":false,"fork":false,"pushed_at":"2024-04-01T14:49:57.000Z","size":1003,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-28T02:50:03.237Z","etag":null,"topics":["focus-scope","keyboard-toolbar","swift-package-manager","swiftui"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EnesKaraosman.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-04-01T14:40:17.000Z","updated_at":"2024-09-03T09:09:10.000Z","dependencies_parsed_at":"2024-05-01T17:54:03.292Z","dependency_job_id":"6ab6a0b9-4eee-419b-8dd0-fed6edd7ab7c","html_url":"https://github.com/EnesKaraosman/KeyboardActions","commit_stats":null,"previous_names":["eneskaraosman/keyboardactions"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/EnesKaraosman/KeyboardActions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnesKaraosman%2FKeyboardActions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnesKaraosman%2FKeyboardActions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnesKaraosman%2FKeyboardActions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnesKaraosman%2FKeyboardActions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EnesKaraosman","download_url":"https://codeload.github.com/EnesKaraosman/KeyboardActions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EnesKaraosman%2FKeyboardActions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32228957,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["focus-scope","keyboard-toolbar","swift-package-manager","swiftui"],"created_at":"2024-11-18T22:20:02.421Z","updated_at":"2026-04-24T15:31:52.651Z","avatar_url":"https://github.com/EnesKaraosman.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KeyboardActions\n\nKeyboardActions is a SwiftUI package that allows you to manage the focus of the keyboard in your app. Adds toolbar item above keyboard to easily switch focus between textfields or close keyboard\n\nYou can create an enumeration that represents your fields in a form. Confirm `FieldContract` which is basically a `Hashable` protocol currently\n\nAnd add `.keyboardActions` modifier to your view to enable the toolbar above the keyboard\n\n```swift\nimport KeyboardActions\nimport SwiftUI\n\nstruct ContentView: View {\n    @State private var mail: String = \"\"\n    @State private var password: String = \"\"\n    @State private var confirmPassword: String = \"\"\n\n    enum Field: CaseIterable, FieldContract {\n    case mail\n    case password\n    case confirmPassword\n    }\n\n    @FocusState var focusedField: Field?\n\n    var body: some View {\n        VStack {\n            TextField(\"Mail\", text: $mail)\n                .focused($focusedField, equals: Field.mail)\n                .padding(4)\n                .border(.gray)\n\n            TextField(\"Password\", text: $password)\n                .focused($focusedField, equals: Field.password)\n                .padding(4)\n                .border(.gray)\n\n            TextField(\"Confirm Password\", text: $confirmPassword)\n                .focused($focusedField, equals: Field.confirmPassword)\n                .padding(4)\n                .border(.gray)\n        }\n        .padding()\n        .keyboardActions(focusedField: $focusedField, fields: Field.allCases)\n        .onAppear {\n            focusedField = Field.mail\n        }\n    }\n}\n```\n\n\u003cimg src=\"Sources/KeyboardActions/preview.gif\" width=\"320\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feneskaraosman%2Fkeyboardactions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feneskaraosman%2Fkeyboardactions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feneskaraosman%2Fkeyboardactions/lists"}