{"id":15024021,"url":"https://github.com/sap/cloud-sdk-ios-fiori","last_synced_at":"2026-04-12T08:10:55.464Z","repository":{"id":37827959,"uuid":"244403367","full_name":"SAP/cloud-sdk-ios-fiori","owner":"SAP","description":"SwiftUI implementation of the SAP Fiori for iOS Design Language.","archived":false,"fork":false,"pushed_at":"2025-04-10T19:15:20.000Z","size":286017,"stargazers_count":118,"open_issues_count":12,"forks_count":61,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-04-12T23:37:53.381Z","etag":null,"topics":["fiori","open-source","sap","swift","swiftui"],"latest_commit_sha":null,"homepage":"https://sap.github.io/cloud-sdk-ios-fiori","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/SAP.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-02T15:18:54.000Z","updated_at":"2025-04-09T22:27:17.000Z","dependencies_parsed_at":"2024-04-01T01:40:53.928Z","dependency_job_id":"37ed9cbc-fddc-4b4a-aa91-3bffc9bf18f0","html_url":"https://github.com/SAP/cloud-sdk-ios-fiori","commit_stats":{"total_commits":703,"total_committers":28,"mean_commits":"25.107142857142858","dds":0.7396870554765291,"last_synced_commit":"28e9f2713f3aa8c9326c932d0fd50bc0b2b45f8c"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fcloud-sdk-ios-fiori","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fcloud-sdk-ios-fiori/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fcloud-sdk-ios-fiori/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fcloud-sdk-ios-fiori/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SAP","download_url":"https://codeload.github.com/SAP/cloud-sdk-ios-fiori/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647255,"owners_count":21139081,"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":["fiori","open-source","sap","swift","swiftui"],"created_at":"2024-09-24T19:59:42.910Z","updated_at":"2025-12-25T18:23:20.769Z","avatar_url":"https://github.com/SAP.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=50% src=\"https://github.com/SAP/cloud-sdk-ios-fiori/blob/images/Resources/Images/Team.png\" alt=\"Logo\" /\u003e\n  \u003c/br\u003e\n  \u003cspan\u003e\u003cb\u003eSwiftUI implementation of the SAP Fiori for iOS Design Language\u003c/b\u003e\u003c/span\u003e\n\u003c/p\u003e\n\n***\n\n\u003cdiv align=\"center\"\u003e\n\n[Installation](#download-and-installation)\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;[Examples](#examples)\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;[API Documentation](https://sap.github.io/cloud-sdk-ios-fiori)\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;[Changelog](https://github.com/SAP/cloud-sdk-ios-fiori/blob/main/CHANGELOG.md)\n\n***\n\n[![Build and Test Status Check](https://github.com/SAP/cloud-sdk-ios-fiori/workflows/CI/badge.svg)](https://github.com/SAP/cloud-sdk-ios-fiori/actions?query=workflow%3A%22CI%22)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=SAP_cloud-sdk-ios-fiori\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=SAP_cloud-sdk-ios-fiori)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3962/badge?latest)](https://bestpractices.coreinfrastructure.org/projects/3962)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![REUSE status](https://api.reuse.software/badge/github.com/SAP/cloud-sdk-ios-fiori)](https://api.reuse.software/info/github.com/SAP/cloud-sdk-ios-fiori)\n\n\u003c/div\u003e\n\n***\n\nThis project is the SwiftUI implementation of the [SAP Fiori for iOS Design Language](https://experience.sap.com/fiori-design-ios/), and is meant to augment and in some cases replace the UIKit-based implementation contained in the SAPFiori framework of the [SAP BTP SDK for iOS](https://developers.sap.com/topics/sap-btp-sdk-for-ios.html).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/4176826/85931303-3ac81980-b878-11ea-8e7f-9b10ed380f2d.gif\" alt=\"alt text\" width=\"300\" height=\"500\" align=\"center\"\u003e\n\u003c/p\u003e\n\nThis project currently contains three modules: `FioriThemeManager`, `FioriSwiftUICore`, and `FioriCharts`.\n\n## FioriThemeManager\n![FioriThemeManager platform support: iOS, visionOS, watchOS](https://img.shields.io/badge/platform-ios%20%7C%20visionos%20%7C%20watchos-lightgray)\n\nThis module provides a [color palette](https://experience.sap.com/fiori-design-ios/article/colors/) and a new font family [SAP 72](https://experience.sap.com/72/) that conform to [Fiori Design Language](https://experience.sap.com/fiori-design-ios/). It is adopted by all the Fiori components in both this package and SAPFiori.\n\nAll Fiori Colors are dynamic colors, which means they will adjust based on iOS Appearance settings (Light/Dark). Accessing Fiori Color using `Color.preferredFioriColor(forStyle:)`.\n\n72 is a SAP patent typeface that delivers great reading experience to our users. You can get these fonts using `Font.fiori(forTextStyle:)` or `Font.fioriCondensed(forTextStyle:)`. Note that these fonts support Dynamic Type out of the box. If you want the fonts with fixed size, use `Font.fiori(fixedSize:)` or `Font.fioriCondensed(fixedSize:)` instead.\n\n\u003e Custom fonts need to be loaded and registered during App's runtime. Make sure you call `Font.registerFioriFonts()` inside `application(_:didFinishLaunchingWithOptions:)` of your `AppDelegate`.\n\n## FioriSwiftUICore\n![FioriSwiftUICore platform support: iOS and visionOS](https://img.shields.io/badge/platform-ios%20%7C%20visionos-lightgray)\n\nThis module contains SwiftUI implementation for those UIKit-based components existing in [SAPFiori](https://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/Latest/en-US/Documents/Frameworks/SAPFiori/index.html). It provides you with an easy way to migrate your UIKit project to SwiftUI while delivering the same experience as before.\n\nWe plan to progressively bring more Fiori UI components into this module in the future releases. Check the table below for the components that are currently available and those in the roadmap.\n\n\u003e Refer to this [document](./GeneratedComponentConcepts.md) for different ways of initializing the component.\n\n| | FioriSwiftUICore |\n| - | - |\n| ObjectItem | :white_check_mark: | \n| ObjectHeader | :white_check_mark: | \n| KPIItem | :white_check_mark: | \n| FioriButton | :white_check_mark: |\n| ListPickerItem | :white_check_mark: |\n| DimensionSelector | :white_check_mark: |\n| SideBar | :white_check_mark: |\n| DataTable | :white_check_mark: |\n| WelcomeScreen | :white_check_mark: |\n| ActivationScreen | :white_check_mark: |\n| InfoView | :white_check_mark: |\n| User Consent Form | :white_check_mark: |\n| KPIProgressItem | :white_check_mark: | \n| EULAView | :white_check_mark: |\n| ContactItem | :white_check_mark: | \n| KPIHeader | :white_check_mark: |\n| Signature Capture | :white_check_mark: |\n| DurationPicker | :white_check_mark: |\n| StepProgressIndicator | :white_check_mark: |\n| Text Input | :white_check_mark: |\n| Validation View | :white_check_mark: |\n| Card | :white_check_mark: |\n| Toolbar | :white_check_mark: |\n| Search | :white_check_mark: |\n| Tab Bar | :white_check_mark: |\n| Navigation Bar | :white_check_mark: |\n| Stepper | :white_check_mark: |\n| Switch | :white_check_mark: |\n| Tag | :white_check_mark: |\n| Avatar | :white_check_mark: |\n| Toast Message | :white_check_mark: |\n| KeyValueItem | :white_check_mark: |\n| LinearProgressIndicator | :white_check_mark: |\n| Information View | :white_check_mark: |\n| TextFieldFormView | :white_check_mark: |\n| NoteFormView | :white_check_mark: |\n| KeyValueFormView | :white_check_mark: |\n| TitleFormView | :white_check_mark: |\n| Rating Control | :white_check_mark: |\n| RatingControlFormView | :white_check_mark: |\n| SortFilter | :white_check_mark: |\n| Menu Selection | :white_check_mark: |\n| ProfileHeader | :white_check_mark: |\n| TimelineItem | :white_check_mark: |\n| SegmentedControlPicker | :white_check_mark: |\n| TimelinePreviewItem | :white_check_mark: |\n| DateTimePicker | :white_check_mark: |\n| Illustration Message | :white_check_mark: |\n| Slider(single and range) | :white_check_mark: |\n| Attachment | :white_check_mark: |\n| FilterFeedbackBar | :white_check_mark: |\n| Switch FormCell | :white_check_mark: |\n| Onboarding Scan View | :white_check_mark: |\n| Section Header | :white_check_mark: |\n| ChartFloorplan | :x: |\n| CollectionItem | :x: |\n| BarcodeScanner | :white_check_mark: |\n| PasscodeView | :x: |\n| MultiUserPasscodeView | :x: |\n| TouchIDErrorView | :x: |\n| Skeleton Loading | :white_check_mark: |\n| Value Picker | :white_check_mark: |\n| Hierarchy View | :white_check_mark: |\n| Calendar | :white_check_mark: |\n| Search To Select | :x: |\n| Progress Indicator | :white_check_mark: |\n| Processing Indicator | :white_check_mark: |\n| Checkout Indicator | :white_check_mark: |\n| Loading Indicator | :white_check_mark: |\n| Feedback Screen | :x: |\n| Map | :x: |\n| Theming support for UI component individual fields | :x: |\n\n## FioriCharts\n![FioriCharts platform support: iOS and visionOS](https://img.shields.io/badge/platform-ios%20%7C%20visionos-lightgray)\n\nThe FioriCharts module replaces the *RoambiChartKit* charting library which was already embedded in SAPFiori. Migrating to SwiftUI gives the ability to easily add new chart components (donut, bullet, stocks, etc.) while modernizing the existing supported charts with pinch-to-zoom, pan, and new design features.\n\n| | SAPFiori 4.0.x, 5.0.x  | FioriCharts |\n| - | --------- | - |\n| Area | :white_check_mark: | :white_check_mark: |\n| Line | :white_check_mark: | :white_check_mark: |\n| Column | :white_check_mark: | :white_check_mark: |\n| Stacked Column | :white_check_mark: | :white_check_mark: |\n| Bar | :white_check_mark: | :white_check_mark: |\n| Stacked Bar | :x: | :white_check_mark: |\n| Bubble | :white_check_mark: | :white_check_mark: |\n| Scatter | :white_check_mark: | :white_check_mark: |\n| Waterfall | :white_check_mark: | :white_check_mark: |\n| Combo | :white_check_mark: | :white_check_mark: |\n| Donut | :x: | :white_check_mark: |\n| Bullet | :x: | :white_check_mark: |\n| Stacked Bullet | :x: | :soon: |\n| Harvey Ball | :x: | :white_check_mark: |\n| Radial | :x: | :white_check_mark: |\n| Stocks (line) | :x: | :white_check_mark: |\n\nThe API is designed for backwards compatibility to the existing SAPFiori charting APIs, but is optimized for SwiftUI.\n\n[API Reference](https://sap.github.io/cloud-sdk-ios-fiori/charts/index.html)\n\n## Requirements\n\n- iOS 18.0 or higher\n- Xcode 26.0 or higher\n- Swift Package Manager \n\n## Download and Installation\n\nThe package is intended for consumption via Swift Package Manager.  \n\n - To add to your application target, navigate to the `File \u003e Swift Packages \u003e Add Package Dependency...` tab, then add the repository URL.\n - To add to your framework target, add the repository URL to your **Package.swift** manifest.\n\nIn both cases, **xcodebuild** tooling will manage cloning and updating the repository to your app or framework project.\n\n## Configuration\n\nThree products are exposed by the `Package.swift` manifest.\n\n**FioriSwiftUI** as umbrella product will contain everything the package has to offer in the future.\n\nIf you are concerned about bundle size you can use either one of the individual products, e.g.  **FioriCharts** or **FioriThemeManager**\n\n## Limitations\n\nSeveral functional limitations exist at present, which are planned for resolution in future releases. Please check the [Issues tab](https://github.com/SAP/cloud-sdk-ios-fiori/issues) for an up-to-date view of the backlog and issue status.\n\nKey gaps which are present at time of open-source project launch:\n\n - **FioriCharts** requires design specifications to improve UI\n\n## Known Issues\n\nSee **Limitations**.\n\n## How to obtain support\n\nSupport for the modules is provided through this open-source repository.  Please file Github Issues for any issues experienced, or questions.  \n\nWhen **SAPFiori** integrates **FioriCharts** productively, customers should continue to report issues through OSS for SLA tracking.  However, developers may also report chart-related issues directly into the Github Issues; SAP will mirror **FioriCharts**-related issues reported through OSS into Github Issues.\n\n## Contributing\n\nIf you want to contribute, please check the [Contribution Guidelines](./CONTRIBUTING.md)\n\n## To-Do (upcoming changes)\n\nSee **Limitations**.\n\n## Examples\n\nFunctionality can be further explored with a demo app  which is already part of this package [(`Apps/Examples/Examples.xcodeproj`)](https://github.com/SAP/cloud-sdk-ios-fiori/tree/main/Apps/Examples/Examples.xcodeproj).\n\n\u003cp\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/4176826/88093416-d7fc3200-cb46-11ea-81a3-0fb12a6f9776.gif\" alt=\"Demo app with examples\" width=\"300\" height=\"500\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap%2Fcloud-sdk-ios-fiori","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsap%2Fcloud-sdk-ios-fiori","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap%2Fcloud-sdk-ios-fiori/lists"}