{"id":30683289,"url":"https://github.com/visa/nova-flutter","last_synced_at":"2026-03-15T20:39:24.887Z","repository":{"id":287279722,"uuid":"958170165","full_name":"visa/nova-flutter","owner":"visa","description":"Visa Product Design System - Nova Flutter library","archived":false,"fork":false,"pushed_at":"2025-05-07T18:38:24.000Z","size":1747,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-07T19:43:02.331Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dart","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/visa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null}},"created_at":"2025-03-31T18:55:53.000Z","updated_at":"2025-05-07T18:38:28.000Z","dependencies_parsed_at":"2025-04-10T22:40:50.652Z","dependency_job_id":null,"html_url":"https://github.com/visa/nova-flutter","commit_stats":null,"previous_names":["visa/nova-flutter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/visa/nova-flutter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visa%2Fnova-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visa%2Fnova-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visa%2Fnova-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visa%2Fnova-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/visa","download_url":"https://codeload.github.com/visa/nova-flutter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/visa%2Fnova-flutter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273183158,"owners_count":25059812,"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","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-09-01T19:46:14.311Z","updated_at":"2026-03-15T20:39:19.866Z","avatar_url":"https://github.com/visa.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n *\n *              © 2025 Visa\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n *\n --\u003e\n\n# Visa Product Design System - Nova Flutter\n\n- [About](#about)\n- [Security](#security)\n- [Install](#install)\n- [Usage](#usage)\n- [Why Nova Flutter?](#why-nova-flutter)\n- [Testing](#testing)\n- [Maintainers](#maintainers)\n- [Thanks](#thanks)\n- [Contributing](#contributing)\n- [License](#license)\n\n## \u003ca name=\"about\"\u003e\u003c/a\u003eNova Flutter\n\n\u003e Accessible Visa Product Design System components built for Flutter\n\nNova Flutter is a comprehensive library of accessible components designed to align with the Visa Product Design System. It provides developers with a set of reusable UI elements that can be easily integrated into Flutter applications. With Nova Flutter, developers can quickly build visually consistent and user-friendly interfaces that adhere to accessibility best practices.\n\n### Key Features\n\n- **Wide range of components**: Includes buttons, content cards, navigation drawer, and more.\n- **Customizable**: Built on Flutter Material and ThemeExtension, allowing for extensive theming and customization.\n- **Accessibility**: Adheres to accessibility best practices to ensure inclusive user experiences.\n- **Flexible state management**: Supports bring-your-own state, enabling custom services and classes.\n\nWhether you are building a small project or a large-scale application, Nova Flutter offers a robust foundation for creating visually appealing and accessible user interfaces.\n\n## \u003ca name=\"security\"\u003e\u003c/a\u003eSecurity\n\nOur package follows security best practices and ensures the safety of user data. It relies on a minimal number of dependencies, minimizing potential vulnerabilities.\n\n## \u003ca name=\"install\"\u003e\u003c/a\u003eInstall\n\nNova Flutter and Nova Icons Flutter supports Dart 2.19 and up with null safety, and our current Flutter SDK version is 3.27.2. It is available through the [pub.dev](https://pub.dev/).\n\n**Dart:**\n\n```sh\nflutter pub add visa_nova_flutter\nflutter pub add visa_nova_icons_flutter\n```\n\nTo add the dependency manually to your project, import it in pubspec.yaml under _dependencies_ like this:\n\n```yaml\ndependencies:\n  visa_nova_flutter: ^8.1.2\n  visa_nova_icons_flutter: ^4.0.2\n```\n\n### Dependencies\n\nView our pubspec.yaml for the most up-to-date dependencies, including peer dependencies and dev dependencies.\n\n## \u003ca name=\"usage\"\u003e\u003c/a\u003eUsage\n\n### Import VPDS Component Library to Your Project\n\nImport the library into your Dart code.\n\n```Dart\nimport 'package:visa_nova_flutter/visa_nova_flutter.dart';\n```\n\n### Add icons (optional)\n\nWe’ve created a dedicated widget, VIcon, to seamlessly integrate the SVG icon library with the components library. To best use Nova icons, import the library along side our visa_nova_flutter library.\n\n```Dart\nimport 'package:visa_nova_icons_flutter/visa_nova_icons_flutter.dart';\nimport 'package:visa_nova_flutter/visa_nova_flutter.dart';\nimport 'package:flutter/material.dart';\n\nclass MyGenericIconWidget extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return Container(\n      child: VIcon(\n        svgIcon: VIconsGeneric.profileLow,\n      ),\n    );\n  }\n}\n\nclass MyVisaIconWidget extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return Container(\n      child: VIcon(\n        iconColor: VColors.positiveGraphics,\n        svgIcon: VIcons.successTiny,\n      ),\n    );\n  }\n}\n```\n\n### Use the components\n\nAfter adding Nova icons, you’re ready to use Flutter components by copying and pasting the example code into your application. Check out [Button](https://productdesignsystem.visa.com/components/button?code_library=flutter\u0026version=8.1.1) to give it a try.\n\n## \u003ca name=\"why-nova-flutter\"\u003e\u003c/a\u003eWhy Nova Flutter?\n\n### Light Weight\n\nWe've reduced our library to basic markup components and functional hooks for a lighter, simpler, and more flexible experience.\n\n### Building Blocks\n\nNo more waiting on feature requests. We provide the building blocks for you to easily create and customize your own components.\n\n### Built For Developers\n\nNova Flutter is sleek and unobtrusive. Our beautifully designed components allow any developer to create stunning apps with ease.\n\n## \u003ca name=\"testing\"\u003e\u003c/a\u003eTesting\n\n### Our Approach\n\nWe conduct rigorous testing using Flutter's built-in testing framework to ensure our components are accessible and meet our high standards. Our testing strategy includes unit tests, and widget tests(golden tests). Unit tests verify the correctness of individual functions, methods, or classes under various conditions. Golden tests ensure that the UI looks and interacts as expected and compare widgets with reference images to guarantee visual consistency, similar to snapshot testing in React/React Native.\n\nWhile we strive to achieve 100% test coverage for all components, we recognize that it is an ongoing process. Our pipeline safeguards against merging any code that fails our tests, ensuring that we capture as many issues as possible before they reach end users. We are continually working to enhance our testing suite and improve our coverage. By combining these testing strategies, we aim to deliver robust and reliable components that meet our high standards of quality and accessibility.\n\n## \u003ca name=\"maintainers\"\u003e\u003c/a\u003eMaintainers\n\nThis project is maintained by the Visa Product Design System engineering team. If you need to get in touch please reach out to us via any of our options on our support page.\n\n## \u003ca name=\"thanks\"\u003e\u003c/a\u003eThanks\n\nThanks to all those who have contributed and to the Visa Product Design team for all of the hours and thought that have gone into making the design system as easy to use as possible.\n\n## \u003ca name=\"contributing\"\u003e\u003c/a\u003eContributing\n\nSEE CONTRIBUTING.md\n\n## \u003ca name=\"license\"\u003e\u003c/a\u003eLicense\n\nSEE LICENSE IN LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvisa%2Fnova-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvisa%2Fnova-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvisa%2Fnova-flutter/lists"}