├── .github └── workflows │ └── dart.yml ├── .gitignore ├── .metadata ├── README.md ├── lib ├── assets │ ├── gif │ │ ├── Alerts.gif │ │ ├── Borders.gif │ │ ├── Checkbox.gif │ │ ├── Checkboxlist.gif │ │ ├── Progressbar.gif │ │ ├── Shimmer.gif │ │ ├── accordion.gif │ │ ├── appbar.gif │ │ ├── avatars.gif │ │ ├── bottomsheet.gif │ │ ├── cards.gif │ │ ├── carousel.gif │ │ ├── ezgif.com-resize.gif │ │ ├── floating.gif │ │ ├── icon-buttons.gif │ │ ├── images.gif │ │ ├── loader.gif │ │ ├── loader1.gif │ │ ├── loaders.gif │ │ ├── pills-button.gif │ │ ├── radio.gif │ │ ├── radiolist.gif │ │ ├── ratings.gif │ │ ├── searchbar.gif │ │ ├── social-buttons.gif │ │ ├── square-buttons.gif │ │ ├── standard-buttons.gif │ │ ├── tabs.gif │ │ ├── tiles.gif │ │ ├── toasts.gif │ │ ├── toggle.gif │ │ └── typography.gif │ ├── icons │ │ ├── avatar.png │ │ ├── back.png │ │ ├── badge.png │ │ ├── buttons.png │ │ ├── buttons.svg │ │ ├── card.png │ │ ├── chips.png │ │ ├── danger.svg │ │ ├── dark.svg │ │ ├── dribble.svg │ │ ├── fb.svg │ │ ├── google.svg │ │ ├── images.png │ │ ├── info.svg │ │ ├── items.png │ │ ├── light.svg │ │ ├── link.svg │ │ ├── linkedin.svg │ │ ├── lists.png │ │ ├── menu.png │ │ ├── next.png │ │ ├── pinterest.svg │ │ ├── playstore.svg │ │ ├── primary.svg │ │ ├── secondary.svg │ │ ├── slack.svg │ │ ├── slider.png │ │ ├── success.svg │ │ ├── tabs.png │ │ ├── toast.png │ │ ├── toggle.png │ │ ├── twitter.svg │ │ ├── typo.png │ │ ├── warning.svg │ │ ├── whatsapp.svg │ │ └── youtube.svg │ ├── images │ │ ├── Artboard1.png │ │ ├── Group-1170.png │ │ ├── a.png │ │ ├── avatar.png │ │ ├── avatar1.png │ │ ├── avatar2.png │ │ ├── avatar3.png │ │ ├── avatar4.png │ │ ├── c1.png │ │ ├── c2.png │ │ ├── c3.png │ │ ├── c4.png │ │ ├── c5.png │ │ ├── car.png │ │ ├── car1.png │ │ ├── car2.png │ │ ├── car3.png │ │ ├── car4.png │ │ ├── car5.png │ │ ├── card.png │ │ ├── card1.png │ │ ├── card2.png │ │ ├── card3.png │ │ ├── cir.png │ │ ├── frame.png │ │ ├── gflogo.png │ │ ├── green.png │ │ ├── green1.png │ │ ├── image.png │ │ ├── image1.png │ │ ├── image2.png │ │ ├── img.png │ │ ├── img1.png │ │ ├── img2.png │ │ ├── orange.png │ │ ├── pills button .gif │ │ ├── pink.png │ │ ├── playstore.svg │ │ ├── playstore3x.png │ │ ├── purple.png │ │ ├── red.png │ │ ├── standard-buttons.gif │ │ ├── three.png │ │ ├── three1.png │ │ ├── three2.png │ │ ├── three3.png │ │ ├── three4.png │ │ ├── three5.png │ │ ├── three6.png │ │ ├── three7.png │ │ └── two.png │ └── logo.png ├── fonts │ ├── icomoon.eot │ ├── icomoon.svg │ ├── icomoon.ttf │ └── icomoon.woff ├── main.dart ├── screens │ ├── accordion │ │ └── accordion.dart │ ├── alert │ │ └── alert.dart │ ├── appbar │ │ ├── appbar.dart │ │ ├── default_appbar.dart │ │ ├── searchbar.dart │ │ └── segmented.dart │ ├── avatar │ │ └── avatar.dart │ ├── badges │ │ └── badges.dart │ ├── border │ │ └── border.dart │ ├── bottomsheet │ │ └── bottomsheet.dart │ ├── buttons │ │ ├── icon-buttons.dart │ │ ├── pills-buttons.dart │ │ ├── shadow-buttons.dart │ │ ├── social-buttons.dart │ │ ├── square-buttons.dart │ │ └── standard-buttons.dart │ ├── cards │ │ └── cards.dart │ ├── carousel │ │ └── carousel.dart │ ├── checkbox-listtile │ │ └── checkbox_listtile.dart │ ├── checkbox │ │ └── checkbox.dart │ ├── floating-widget │ │ ├── fab_floating.dart │ │ ├── floatingwidget.dart │ │ └── messenger_floating.dart │ ├── images │ │ └── image.dart │ ├── layout │ │ ├── body.dart │ │ ├── header.dart │ │ ├── layout.dart │ │ ├── mobile-demo.dart │ │ ├── routes.dart │ │ └── sidebar.dart │ ├── loader │ │ └── loader.dart │ ├── pages │ │ └── home.dart │ ├── progressbar │ │ └── progressbar.dart │ ├── radio-listtile │ │ └── radio_listtile.dart │ ├── radio │ │ └── radio.dart │ ├── rating │ │ └── rating.dart │ ├── searchbar │ │ └── searchbar.dart │ ├── shimmer │ │ └── shimmer.dart │ ├── tabs │ │ ├── bottom-icon.dart │ │ ├── bottom-labeled.dart │ │ ├── icon-tabs.dart │ │ ├── labeled-tabs.dart │ │ ├── segmented-tabs.dart │ │ └── tabs.dart │ ├── tiles │ │ └── tiles.dart │ ├── toasts │ │ └── toasts.dart │ ├── toggles │ │ └── toggle.dart │ └── typography │ │ └── heading.dart └── styles │ └── styles.dart ├── pubspec.lock ├── pubspec.yaml ├── test └── widget_test.dart ├── web └── index.html └── wrangler.toml /.github/workflows/dart.yml: -------------------------------------------------------------------------------- 1 | name: Dart CI 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v1 15 | - uses: subosito/flutter-action@v1 16 | with: 17 | channel: beta 18 | - run: flutter config --enable-web 19 | - run: flutter pub get 20 | - run: flutter build web 21 | - uses: cloudflare/wrangler-action@1.2.0 22 | with: 23 | apiToken: ${{ secrets.CF_API_TOKEN }} 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | .dart_tool/ 26 | .flutter-plugins 27 | .flutter-plugins-dependencies 28 | .packages 29 | .pub-cache/ 30 | .pub/ 31 | /build/ 32 | 33 | # Web related 34 | lib/generated_plugin_registrant.dart 35 | 36 | # Exceptions to above rules. 37 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 38 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 18cd7a3601bcffb36fdf2f679f763b5e827c2e8e 8 | channel: beta 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![pub package](https://img.shields.io/pub/v/getwidget.svg)](https://pub.dartlang.org/packages/getwidget) [![Build Status](https://travis-ci.org/ionicfirebaseapp/getwidget.svg?branch=master)](https://travis-ci.com/ionicfirebaseapp/getwidget) [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://opensource.org/licenses/MIT) [![License](https://img.shields.io/badge/license-MIT-orange.svg)](https://github.com/ionicfirebaseapp/getwidget/blob/master/LICENSE) [![Twitter Follow](https://img.shields.io/twitter/follow/getwidgetdev.svg?style=social)](https://twitter.com/getwidgetdev) 2 | 3 | 4 |

5 | 6 | Get Widget 7 | 8 |

9 | 10 | [**GetWidget**](https://www.getwidget.dev) is a 100% free Flutter open-source UI library built with Flutter SDK to make Flutter development easier and more joyful than ever. GetWidget has 1000+ pre-build widgets that you can reuse to develop both Flutter mobile app and web app. Our motto is to provide the best Flutter UI library to the Flutter community to speed up their development process and build awesome apps with pre-build Flutter Library Components. 11 | 12 | ## Table of contents 13 | 14 | - [Screenshot](#screenshot) 15 | - [Quick start](#quick-start) 16 | - [Features](#features) 17 | - [Demo](#demo) 18 | - [Contributing](#contributing) 19 | - [Documentation](#documentation) 20 | - [Copyright and license](#copyright-and-license) 21 | 22 | 23 | ## Screenshot 24 |

25 | 26 | Get Flutter Screens 27 | 28 |

29 | 30 | 31 | ## Quick start 32 | 33 | Read the [Getting started page](https://docs.getwidget.dev) 34 | Forum [Support and discussion ](https://forum.getwidget.dev) 35 | 36 | ## Features 37 | we have launched the library with the following components : 38 | 39 | #### [Button](https://docs.getwidget.dev/gf-button) | [Badge](https://docs.getwidget.dev/gf-badge) | [Avatar](https://docs.getwidget.dev/gf-avatar) | [Image](https://docs.getwidget.dev/gf-image) | [Card](https://docs.getwidget.dev/gf-card) | [Carousel](https://docs.getwidget.dev/gf-carousel) | [Tile](https://docs.getwidget.dev/gf-tile) | [Tab](https://docs.getwidget.dev/gf-tab) | [Typography](https://docs.getwidget.dev/gf-typography) | [Toast](https://docs.getwidget.dev/gf-toast) | [Toggle](https://docs.getwidget.dev/gf-toggle) | [Drawer](https://docs.getwidget.dev/gf-drawer) | [Accordian](https://docs.getwidget.dev/gf-accordion) | [Alert](https://docs.getwidget.dev/gf-alert) | [Appbar](https://docs.getwidget.dev/gf-appbar) | [Searchbar](https://docs.getwidget.dev/gf-searchbar) 40 | 41 | 42 | ## Demo 43 | 44 | ### Play Store 45 |

46 | 47 | GetWidget playstore Demo 48 | 49 |

50 | 51 | ### IOS Store and Web Demo 52 | Coming Soon 53 | 54 | ### An Open-Source News App Built With GetWidget & Flutter 55 | Ionicfirebaseapp.com has been developed an open-source News Mobile App with GetWidget, So can start building app faster to get an overview and do customization. You can Download News App Souce Code here: https://www.ionicfirebaseapp.com/products/flutter-news-app 56 | ## Contributing 57 | 58 | GetWidget is **100% free** and **open source**. We encourage and support an active, healthy community that accepts contributions from the public – including you. There are a couple of ways in which you can contribute to the growing community of `getwidget`. 59 | 60 | * Pick up any issue marked with ["good first issue"](https://github.com/ionicfirebaseapp/getwidget/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) 61 | * Fix a bug 62 | * Write and improve some **documentation**. Documentation is very critical to us. We would appreciate help in adding multiple languages to our docs. 63 | * If you are a developer, feel free to check out the source and submit pull requests. 64 | * Dig into [**CONTRIBUTING.MD**](CONTRIBUTING.md), which covers submitting bugs, requesting new features, preparing your code for a pull request, etc. 65 | * Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://forum.getwidget.dev) to keep up to date with the latest GetWidget development. 66 | 67 | 68 | 69 | ## Documentation 70 | 71 | [**Installation Guide**](https://docs.getwidget.dev) 72 | 73 | 74 | ### Social Media 75 | 76 | Twitter: 77 | 78 | Facebook: 79 | 80 | Linkedin: 81 | 82 | Instagram: 83 | 84 | 85 | ## Copyright-and-license 86 | Code and documentation Copyright 2017-2020 the [GETWIDGET Authors](https://www.getwidget.dev) and [IONICFIREBASEAPP](https://ionicfirebaseapp.com) Code released under the [MIT License]. Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). 87 | 88 | ## Contributors 89 | 90 | ### Code Contributors 91 | 92 | This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. 93 | 94 | 95 | ### Financial Contributors 96 | 97 | Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/getwidget/contribute)] 98 | 99 | #### Individuals 100 | 101 | 102 | 103 | #### Organizations 104 | 105 | Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/getwidget/contribute)] 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /lib/assets/gif/Alerts.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/Alerts.gif -------------------------------------------------------------------------------- /lib/assets/gif/Borders.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/Borders.gif -------------------------------------------------------------------------------- /lib/assets/gif/Checkbox.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/Checkbox.gif -------------------------------------------------------------------------------- /lib/assets/gif/Checkboxlist.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/Checkboxlist.gif -------------------------------------------------------------------------------- /lib/assets/gif/Progressbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/Progressbar.gif -------------------------------------------------------------------------------- /lib/assets/gif/Shimmer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/Shimmer.gif -------------------------------------------------------------------------------- /lib/assets/gif/accordion.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/accordion.gif -------------------------------------------------------------------------------- /lib/assets/gif/appbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/appbar.gif -------------------------------------------------------------------------------- /lib/assets/gif/avatars.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/avatars.gif -------------------------------------------------------------------------------- /lib/assets/gif/bottomsheet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/bottomsheet.gif -------------------------------------------------------------------------------- /lib/assets/gif/cards.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/cards.gif -------------------------------------------------------------------------------- /lib/assets/gif/carousel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/carousel.gif -------------------------------------------------------------------------------- /lib/assets/gif/ezgif.com-resize.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/ezgif.com-resize.gif -------------------------------------------------------------------------------- /lib/assets/gif/floating.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/floating.gif -------------------------------------------------------------------------------- /lib/assets/gif/icon-buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/icon-buttons.gif -------------------------------------------------------------------------------- /lib/assets/gif/images.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/images.gif -------------------------------------------------------------------------------- /lib/assets/gif/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/loader.gif -------------------------------------------------------------------------------- /lib/assets/gif/loader1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/loader1.gif -------------------------------------------------------------------------------- /lib/assets/gif/loaders.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/loaders.gif -------------------------------------------------------------------------------- /lib/assets/gif/pills-button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/pills-button.gif -------------------------------------------------------------------------------- /lib/assets/gif/radio.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/radio.gif -------------------------------------------------------------------------------- /lib/assets/gif/radiolist.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/radiolist.gif -------------------------------------------------------------------------------- /lib/assets/gif/ratings.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/ratings.gif -------------------------------------------------------------------------------- /lib/assets/gif/searchbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/searchbar.gif -------------------------------------------------------------------------------- /lib/assets/gif/social-buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/social-buttons.gif -------------------------------------------------------------------------------- /lib/assets/gif/square-buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/square-buttons.gif -------------------------------------------------------------------------------- /lib/assets/gif/standard-buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/standard-buttons.gif -------------------------------------------------------------------------------- /lib/assets/gif/tabs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/tabs.gif -------------------------------------------------------------------------------- /lib/assets/gif/tiles.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/tiles.gif -------------------------------------------------------------------------------- /lib/assets/gif/toasts.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/toasts.gif -------------------------------------------------------------------------------- /lib/assets/gif/toggle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/toggle.gif -------------------------------------------------------------------------------- /lib/assets/gif/typography.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/gif/typography.gif -------------------------------------------------------------------------------- /lib/assets/icons/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/avatar.png -------------------------------------------------------------------------------- /lib/assets/icons/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/back.png -------------------------------------------------------------------------------- /lib/assets/icons/badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/badge.png -------------------------------------------------------------------------------- /lib/assets/icons/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/buttons.png -------------------------------------------------------------------------------- /lib/assets/icons/buttons.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/card.png -------------------------------------------------------------------------------- /lib/assets/icons/chips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/chips.png -------------------------------------------------------------------------------- /lib/assets/icons/danger.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/dribble.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/fb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/google.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/images.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/images.png -------------------------------------------------------------------------------- /lib/assets/icons/info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/items.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/items.png -------------------------------------------------------------------------------- /lib/assets/icons/light.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/linkedin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/lists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/lists.png -------------------------------------------------------------------------------- /lib/assets/icons/menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/menu.png -------------------------------------------------------------------------------- /lib/assets/icons/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/next.png -------------------------------------------------------------------------------- /lib/assets/icons/pinterest.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/primary.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/secondary.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/slack.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/slider.png -------------------------------------------------------------------------------- /lib/assets/icons/success.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/tabs.png -------------------------------------------------------------------------------- /lib/assets/icons/toast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/toast.png -------------------------------------------------------------------------------- /lib/assets/icons/toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/toggle.png -------------------------------------------------------------------------------- /lib/assets/icons/twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/typo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/icons/typo.png -------------------------------------------------------------------------------- /lib/assets/icons/warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/whatsapp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/icons/youtube.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/images/Artboard1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/Artboard1.png -------------------------------------------------------------------------------- /lib/assets/images/Group-1170.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/Group-1170.png -------------------------------------------------------------------------------- /lib/assets/images/a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/a.png -------------------------------------------------------------------------------- /lib/assets/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/avatar.png -------------------------------------------------------------------------------- /lib/assets/images/avatar1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/avatar1.png -------------------------------------------------------------------------------- /lib/assets/images/avatar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/avatar2.png -------------------------------------------------------------------------------- /lib/assets/images/avatar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/avatar3.png -------------------------------------------------------------------------------- /lib/assets/images/avatar4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/avatar4.png -------------------------------------------------------------------------------- /lib/assets/images/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/c1.png -------------------------------------------------------------------------------- /lib/assets/images/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/c2.png -------------------------------------------------------------------------------- /lib/assets/images/c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/c3.png -------------------------------------------------------------------------------- /lib/assets/images/c4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/c4.png -------------------------------------------------------------------------------- /lib/assets/images/c5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/c5.png -------------------------------------------------------------------------------- /lib/assets/images/car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/car.png -------------------------------------------------------------------------------- /lib/assets/images/car1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/car1.png -------------------------------------------------------------------------------- /lib/assets/images/car2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/car2.png -------------------------------------------------------------------------------- /lib/assets/images/car3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/car3.png -------------------------------------------------------------------------------- /lib/assets/images/car4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/car4.png -------------------------------------------------------------------------------- /lib/assets/images/car5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/car5.png -------------------------------------------------------------------------------- /lib/assets/images/card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/card.png -------------------------------------------------------------------------------- /lib/assets/images/card1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/card1.png -------------------------------------------------------------------------------- /lib/assets/images/card2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/card2.png -------------------------------------------------------------------------------- /lib/assets/images/card3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/card3.png -------------------------------------------------------------------------------- /lib/assets/images/cir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/cir.png -------------------------------------------------------------------------------- /lib/assets/images/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/frame.png -------------------------------------------------------------------------------- /lib/assets/images/gflogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/gflogo.png -------------------------------------------------------------------------------- /lib/assets/images/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/green.png -------------------------------------------------------------------------------- /lib/assets/images/green1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/green1.png -------------------------------------------------------------------------------- /lib/assets/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/image.png -------------------------------------------------------------------------------- /lib/assets/images/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/image1.png -------------------------------------------------------------------------------- /lib/assets/images/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/image2.png -------------------------------------------------------------------------------- /lib/assets/images/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/img.png -------------------------------------------------------------------------------- /lib/assets/images/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/img1.png -------------------------------------------------------------------------------- /lib/assets/images/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/img2.png -------------------------------------------------------------------------------- /lib/assets/images/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/orange.png -------------------------------------------------------------------------------- /lib/assets/images/pills button .gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/pills button .gif -------------------------------------------------------------------------------- /lib/assets/images/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/pink.png -------------------------------------------------------------------------------- /lib/assets/images/playstore3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/playstore3x.png -------------------------------------------------------------------------------- /lib/assets/images/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/purple.png -------------------------------------------------------------------------------- /lib/assets/images/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/red.png -------------------------------------------------------------------------------- /lib/assets/images/standard-buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/standard-buttons.gif -------------------------------------------------------------------------------- /lib/assets/images/three.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three.png -------------------------------------------------------------------------------- /lib/assets/images/three1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three1.png -------------------------------------------------------------------------------- /lib/assets/images/three2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three2.png -------------------------------------------------------------------------------- /lib/assets/images/three3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three3.png -------------------------------------------------------------------------------- /lib/assets/images/three4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three4.png -------------------------------------------------------------------------------- /lib/assets/images/three5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three5.png -------------------------------------------------------------------------------- /lib/assets/images/three6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three6.png -------------------------------------------------------------------------------- /lib/assets/images/three7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/three7.png -------------------------------------------------------------------------------- /lib/assets/images/two.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/images/two.png -------------------------------------------------------------------------------- /lib/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/assets/logo.png -------------------------------------------------------------------------------- /lib/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/fonts/icomoon.eot -------------------------------------------------------------------------------- /lib/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/fonts/icomoon.ttf -------------------------------------------------------------------------------- /lib/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ionicfirebaseapp/getwidget-web-kit/eaa5503c808d4dc467153e09ffe949870e0a3412/lib/fonts/icomoon.woff -------------------------------------------------------------------------------- /lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:gf_web/screens/pages/home.dart'; 3 | import 'screens/layout/routes.dart'; 4 | 5 | void main() => runApp(MyApp()); 6 | 7 | class MyApp extends StatelessWidget { 8 | @override 9 | Widget build(BuildContext context) { 10 | return MaterialApp( 11 | title: 12 | 'GetWidget - GetWidget is open source libraries that come with pre-build 1000+ UI components. It makes development faster & more enjoyable. You can customize the component as per your need.', 13 | debugShowCheckedModeBanner: false, 14 | theme: ThemeData( 15 | primarySwatch: Colors.blue, 16 | ), 17 | home: HomePage(), 18 | initialRoute: '/', 19 | routes: routes, 20 | ); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/screens/accordion/accordion.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class Accordion extends StatefulWidget { 7 | @override 8 | _AccordionState createState() => _AccordionState(); 9 | } 10 | 11 | class _AccordionState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/accordion.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Accordion', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | 'Tapping a GF Accordion expands or collapses the view of its children. GFAccordion is used to collapse and expand the content to view the messages or the description of the given title..', 28 | style: hintStyleTextblackdull(), 29 | ), 30 | SizedBox( 31 | height: 30, 32 | ), 33 | const Padding( 34 | padding: EdgeInsets.only(left: 15, top: 30), 35 | child: GFTypography( 36 | child: Text( 37 | 'Basic Accordion', 38 | style: TextStyle( 39 | fontSize: 20.0, 40 | color: Colors.black, 41 | fontWeight: FontWeight.w600, 42 | ), 43 | ), 44 | type: GFTypographyType.typo5, 45 | dividerWidth: 45, 46 | dividerColor: Color(0xFF19CA4B), 47 | ), 48 | ), 49 | SizedBox( 50 | height: 10, 51 | ), 52 | GFAccordion( 53 | titleBorder: Border( 54 | top: BorderSide( 55 | color: Colors.black.withOpacity(0.2), width: 0.5), 56 | left: BorderSide( 57 | color: Colors.black.withOpacity(0.2), width: 0.5), 58 | right: BorderSide( 59 | color: Colors.black.withOpacity(0.2), width: 0.5), 60 | bottom: BorderSide( 61 | color: Colors.black.withOpacity(0.2), width: 0.5), 62 | ), 63 | contentborder: Border( 64 | top: BorderSide( 65 | color: Colors.black.withOpacity(0.2), width: 0.5), 66 | bottom: BorderSide( 67 | color: Colors.black.withOpacity(0.2), width: 0.5), 68 | left: BorderSide( 69 | color: Colors.black.withOpacity(0.2), width: 0.5), 70 | right: BorderSide( 71 | color: Colors.black.withOpacity(0.2), width: 0.5), 72 | ), 73 | title: 'GF Accordion', 74 | content: 75 | 'GetWidget is an open source library that comes with pre-build 1000+ UI components.' 76 | ' The library is built to make flutter development faster and more enjoyable.'), 77 | const Padding( 78 | padding: EdgeInsets.only(left: 15, top: 30), 79 | child: GFTypography( 80 | child: Text( 81 | 'Accordion With Text ', 82 | style: TextStyle( 83 | fontSize: 20.0, 84 | color: Colors.black, 85 | fontWeight: FontWeight.w600, 86 | ), 87 | ), 88 | type: GFTypographyType.typo5, 89 | dividerWidth: 45, 90 | dividerColor: Color(0xFF19CA4B), 91 | ), 92 | ), 93 | SizedBox( 94 | height: 10, 95 | ), 96 | GFAccordion( 97 | titleBorder: Border( 98 | top: BorderSide( 99 | color: Colors.black.withOpacity(0.2), width: 0.5), 100 | left: BorderSide( 101 | color: Colors.black.withOpacity(0.2), width: 0.5), 102 | right: BorderSide( 103 | color: Colors.black.withOpacity(0.2), width: 0.5), 104 | bottom: BorderSide( 105 | color: Colors.black.withOpacity(0.2), width: 0.5), 106 | ), 107 | contentborder: Border( 108 | top: BorderSide( 109 | color: Colors.black.withOpacity(0.2), width: 0.5), 110 | bottom: BorderSide( 111 | color: Colors.black.withOpacity(0.2), width: 0.5), 112 | left: BorderSide( 113 | color: Colors.black.withOpacity(0.2), width: 0.5), 114 | right: BorderSide( 115 | color: Colors.black.withOpacity(0.2), width: 0.5), 116 | ), 117 | title: 'GF Accordion', 118 | content: 119 | 'GetWidget is an open source library that comes with pre-build 1000+ UI components.' 120 | ' The library is built to make flutter development faster and more enjoyable.', 121 | collapsedIcon: const Text('Show'), 122 | expandedIcon: Text( 123 | 'Hide', 124 | style: TextStyle(color: Colors.red), 125 | )), 126 | const Padding( 127 | padding: EdgeInsets.only(left: 15, top: 30), 128 | child: GFTypography( 129 | child: Text( 130 | 'Accordion With Icon ', 131 | style: TextStyle( 132 | fontSize: 20.0, 133 | color: Colors.black, 134 | fontWeight: FontWeight.w600, 135 | ), 136 | ), 137 | type: GFTypographyType.typo5, 138 | dividerWidth: 45, 139 | dividerColor: Color(0xFF19CA4B), 140 | ), 141 | ), 142 | SizedBox( 143 | height: 10, 144 | ), 145 | GFAccordion( 146 | titleBorder: Border( 147 | top: BorderSide( 148 | color: Colors.black.withOpacity(0.2), width: 0.5), 149 | left: BorderSide( 150 | color: Colors.black.withOpacity(0.2), width: 0.5), 151 | right: BorderSide( 152 | color: Colors.black.withOpacity(0.2), width: 0.5), 153 | bottom: BorderSide( 154 | color: Colors.black.withOpacity(0.2), width: 0.5), 155 | ), 156 | contentborder: Border( 157 | top: BorderSide( 158 | color: Colors.black.withOpacity(0.2), width: 0.5), 159 | bottom: BorderSide( 160 | color: Colors.black.withOpacity(0.2), width: 0.5), 161 | left: BorderSide( 162 | color: Colors.black.withOpacity(0.2), width: 0.5), 163 | right: BorderSide( 164 | color: Colors.black.withOpacity(0.2), width: 0.5), 165 | ), 166 | title: 'GF Accordion', 167 | content: 168 | 'GetWidget is an open source library that comes with pre-build 1000+ UI components.' 169 | ' The library is built to make flutter development faster and more enjoyable.', 170 | collapsedIcon: Icon(Icons.add_circle_outline), 171 | expandedIcon: Icon( 172 | Icons.remove_circle_outline, 173 | color: Colors.red, 174 | )), 175 | ], 176 | ), 177 | ), 178 | ); 179 | } 180 | } 181 | -------------------------------------------------------------------------------- /lib/screens/appbar/appbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/appbar/default_appbar.dart'; 4 | import 'package:gf_web/screens/appbar/searchbar.dart'; 5 | import 'package:gf_web/screens/appbar/segmented.dart'; 6 | import 'package:gf_web/screens/layout/layout.dart'; 7 | import 'package:gf_web/styles/styles.dart'; 8 | 9 | class AppBar extends StatefulWidget { 10 | @override 11 | _AppBarState createState() => _AppBarState(); 12 | } 13 | 14 | class _AppBarState extends State { 15 | @override 16 | Widget build(BuildContext context) { 17 | return Scaffold( 18 | body: Layout( 19 | demoImageUrl: 'lib/assets/gif/appbar.gif', 20 | body: ListView( 21 | children: [ 22 | Text( 23 | 'AppBar', 24 | style: hintStyleTextblackbolder(), 25 | ), 26 | SizedBox( 27 | height: 20, 28 | ), 29 | Text( 30 | 'GFAppbar is a top action bar, which provides a dedicated space with visual structure and interactive elements..', 31 | style: hintStyleTextblackdull(), 32 | ), 33 | SizedBox( 34 | height: 30, 35 | ), 36 | const Padding( 37 | padding: EdgeInsets.only(left: 15, bottom: 10), 38 | child: GFTypography( 39 | child: Text( 40 | 'Basic AppBar', 41 | style: TextStyle( 42 | fontSize: 20.0, 43 | color: Colors.black, 44 | fontWeight: FontWeight.w600, 45 | ), 46 | ), 47 | type: GFTypographyType.typo5, 48 | dividerWidth: 45, 49 | dividerColor: Color(0xFF19CA4B), 50 | ), 51 | ), 52 | SizedBox( 53 | height: 20, 54 | ), 55 | Container( 56 | height: 70, 57 | child: Appbar(), 58 | ), 59 | const Padding( 60 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 61 | child: GFTypography( 62 | child: Text( 63 | 'AppBar With SearchBox', 64 | style: TextStyle( 65 | fontSize: 20.0, 66 | color: Colors.black, 67 | fontWeight: FontWeight.w600, 68 | ), 69 | ), 70 | type: GFTypographyType.typo5, 71 | dividerWidth: 45, 72 | dividerColor: Color(0xFF19CA4B), 73 | ), 74 | ), 75 | SizedBox( 76 | height: 20, 77 | ), 78 | Container( 79 | height: 70, 80 | child: Searchbar(), 81 | ), 82 | const Padding( 83 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 84 | child: GFTypography( 85 | child: Text( 86 | 'SegmentedTabs Appbar', 87 | style: TextStyle( 88 | fontSize: 20.0, 89 | color: Colors.black, 90 | fontWeight: FontWeight.w600, 91 | ), 92 | ), 93 | type: GFTypographyType.typo5, 94 | dividerWidth: 45, 95 | dividerColor: Color(0xFF19CA4B), 96 | ), 97 | ), 98 | SizedBox( 99 | height: 20, 100 | ), 101 | Container( 102 | height: 200, 103 | child: SegmentedAppbar(), 104 | ) 105 | ], 106 | ), 107 | ), 108 | ); 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /lib/screens/appbar/default_appbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:getwidget/getwidget.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class Appbar extends StatefulWidget { 6 | @override 7 | _AppbarState createState() => _AppbarState(); 8 | } 9 | 10 | class _AppbarState extends State { 11 | List list = [ 12 | 'Flutter', 13 | 'React', 14 | 'Ionic', 15 | 'Xamarin', 16 | 'Flutter2', 17 | 'React2', 18 | 'Ionic2', 19 | 'Xamarin2', 20 | ]; 21 | @override 22 | Widget build(BuildContext context) => Scaffold( 23 | appBar: GFAppBar( 24 | leading: InkWell( 25 | onTap: () { 26 | Navigator.pop(context); 27 | }, 28 | child: Icon( 29 | CupertinoIcons.back, 30 | color: GFColors.WHITE, 31 | ), 32 | ), 33 | backgroundColor: GFColors.DARK, 34 | title: const Text('UI Kit'), 35 | actions: [ 36 | GFIconButton( 37 | icon: Icon( 38 | Icons.favorite, 39 | color: Colors.white, 40 | ), 41 | onPressed: () {}, 42 | type: GFButtonType.transparent, 43 | ), 44 | ], 45 | ), 46 | ); 47 | } 48 | -------------------------------------------------------------------------------- /lib/screens/appbar/searchbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class Searchbar extends StatefulWidget { 5 | @override 6 | _SearchbarState createState() => _SearchbarState(); 7 | } 8 | 9 | class _SearchbarState extends State { 10 | @override 11 | Widget build(BuildContext context) => Scaffold( 12 | appBar: GFAppBar( 13 | backgroundColor: GFColors.DARK, 14 | title: const Text('UI Kit'), 15 | searchBar: true, 16 | // searchBarColorTheme: Colors.deepOrange, 17 | actions: [ 18 | GFIconButton( 19 | icon: Icon( 20 | Icons.share, 21 | color: Colors.white, 22 | ), 23 | onPressed: () {}, 24 | type: GFButtonType.transparent, 25 | ), 26 | ], 27 | ), 28 | ); 29 | } 30 | -------------------------------------------------------------------------------- /lib/screens/appbar/segmented.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | class SegmentedAppbar extends StatefulWidget { 5 | @override 6 | _SegmentedAppbarState createState() => _SegmentedAppbarState(); 7 | } 8 | 9 | class _SegmentedAppbarState extends State 10 | with TickerProviderStateMixin { 11 | TabController tabController; 12 | @override 13 | void initState() { 14 | super.initState(); 15 | tabController = TabController(length: 3, vsync: this); 16 | } 17 | 18 | @override 19 | void dispose() { 20 | tabController.dispose(); 21 | super.dispose(); 22 | } 23 | 24 | @override 25 | Widget build(BuildContext context) => Scaffold( 26 | appBar: GFAppBar( 27 | backgroundColor: GFColors.DARK, 28 | title: Row( 29 | mainAxisAlignment: MainAxisAlignment.center, 30 | children: [ 31 | GFSegmentTabs( 32 | tabController: tabController, 33 | tabBarColor: GFColors.LIGHT, 34 | // indicatorSize: TabBarIndicatorSize.tab, 35 | labelColor: GFColors.WHITE, 36 | unselectedLabelColor: GFColors.DARK, 37 | indicator: BoxDecoration( 38 | color: GFColors.DARK, 39 | // border: Border( 40 | // bottom: BorderSide( 41 | // color: GFColors.SUCCESS, 42 | // width: 3.0, 43 | // ), 44 | // ), 45 | // borderRadius: BorderRadius.circular(2.0) 46 | ), 47 | indicatorPadding: const EdgeInsets.all(8), 48 | indicatorWeight: 2, 49 | border: Border.all(color: Colors.white, width: 1), 50 | length: 3, 51 | tabs: const [ 52 | Text( 53 | 'Tab1', 54 | ), 55 | Text( 56 | 'Tab2', 57 | ), 58 | Text( 59 | 'Tab3', 60 | ), 61 | ], 62 | ), 63 | ], 64 | ), 65 | ), 66 | body: GFTabBarView(controller: tabController, children: const [ 67 | Center( 68 | child: Text( 69 | 'Tab 1', 70 | style: TextStyle(fontSize: 30.0), 71 | ), 72 | ), 73 | Center( 74 | child: Text( 75 | 'Tab 2', 76 | style: TextStyle(fontSize: 30.0), 77 | ), 78 | ), 79 | Center( 80 | child: Text( 81 | 'Tab 3', 82 | style: TextStyle(fontSize: 30.0), 83 | ), 84 | ), 85 | // Container(child: Text('Tab 3'),), 86 | ]), 87 | ); 88 | } 89 | -------------------------------------------------------------------------------- /lib/screens/avatar/avatar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class Avatar extends StatefulWidget { 7 | @override 8 | _AvatarState createState() => _AvatarState(); 9 | } 10 | 11 | class _AvatarState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/avatars.gif', 17 | body: ListView( 18 | children: [ 19 | // Text( 20 | // 'Avatar', 21 | // style: hintStyleTextblackbolder(), 22 | // ), 23 | Padding( 24 | padding: EdgeInsets.only( 25 | // left: 15, 26 | ), 27 | child: GFTypography( 28 | type: GFTypographyType.typo5, 29 | dividerWidth: 50, 30 | dividerColor: Color(0xFF19CA4B), 31 | child: Text( 32 | 'Avatar', 33 | style: hintStyleTextblackbold(), 34 | ), 35 | ), 36 | ), 37 | SizedBox( 38 | height: 20, 39 | ), 40 | Text( 41 | 'Typically used with a users profile image, or, in the absence of such an image, the users initials.', 42 | style: hintStyleTextblackdull(), 43 | ), 44 | SizedBox( 45 | height: 30, 46 | ), 47 | // Text('With Buttons', style: hintStyleTextblackbold(),), 48 | GFCard( 49 | content: Column( 50 | children: [ 51 | SizedBox( 52 | height: 10, 53 | ), 54 | Row( 55 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 56 | children: [ 57 | GFAvatar( 58 | backgroundImage: 59 | AssetImage('lib/assets/images/three.png'), 60 | ), 61 | GFAvatar( 62 | backgroundImage: 63 | AssetImage('lib/assets/images/img.png'), 64 | ), 65 | GFAvatar( 66 | backgroundImage: 67 | AssetImage('lib/assets/images/img1.png'), 68 | ), 69 | GFAvatar( 70 | backgroundImage: 71 | AssetImage('lib/assets/images/img2.png'), 72 | ), 73 | GFAvatar( 74 | backgroundImage: 75 | AssetImage('lib/assets/images/three1.png'), 76 | shape: GFAvatarShape.standard, 77 | ), 78 | GFAvatar( 79 | backgroundImage: 80 | AssetImage('lib/assets/images/three6.png'), 81 | shape: GFAvatarShape.standard, 82 | ), 83 | ], 84 | ), 85 | SizedBox( 86 | height: 20, 87 | ), 88 | Row( 89 | mainAxisAlignment: MainAxisAlignment.spaceBetween, 90 | children: [ 91 | GFAvatar( 92 | backgroundImage: 93 | AssetImage('lib/assets/images/three4.png'), 94 | shape: GFAvatarShape.standard, 95 | ), 96 | GFAvatar( 97 | backgroundImage: 98 | AssetImage('lib/assets/images/three7.png'), 99 | shape: GFAvatarShape.standard, 100 | ), 101 | GFAvatar( 102 | backgroundImage: AssetImage( 103 | 'lib/assets/images/three5.png', 104 | ), 105 | shape: GFAvatarShape.square, 106 | ), 107 | GFAvatar( 108 | backgroundImage: 109 | AssetImage('lib/assets/images/three7.png'), 110 | shape: GFAvatarShape.square, 111 | ), 112 | GFAvatar( 113 | backgroundImage: 114 | AssetImage('lib/assets/images/three6.png'), 115 | shape: GFAvatarShape.square, 116 | ), 117 | GFAvatar( 118 | backgroundImage: 119 | AssetImage('lib/assets/images/three1.png'), 120 | shape: GFAvatarShape.square, 121 | ), 122 | ], 123 | ), 124 | SizedBox( 125 | height: 10, 126 | ), 127 | ], 128 | ), 129 | ) 130 | ], 131 | ), 132 | ), 133 | ); 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /lib/screens/border/border.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class Border extends StatefulWidget { 7 | @override 8 | _BorderState createState() => _BorderState(); 9 | } 10 | 11 | class _BorderState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/Borders.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Border', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | "The most basic way is to wrap your widget in a DecoratedBox.A border of a box, comprised of four sides: top, right, bottom, left.", 28 | style: hintStyleTextblackdull(), 29 | ), 30 | const Padding( 31 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 32 | child: GFTypography( 33 | child: Text( 34 | 'Solid Borders', 35 | style: TextStyle( 36 | fontSize: 20.0, 37 | color: Colors.black, 38 | fontWeight: FontWeight.w600, 39 | ), 40 | ), 41 | type: GFTypographyType.typo5, 42 | dividerWidth: 45, 43 | dividerColor: Color(0xFF19CA4B), 44 | ), 45 | ), 46 | Container( 47 | margin: EdgeInsets.symmetric(horizontal: 15, vertical: 15), 48 | child: GFBorder( 49 | radius: Radius.circular(30), 50 | color: Color(0xFF19CA4B), 51 | dashedLine: [2, 0], 52 | type: GFBorderType.Rect, 53 | child: Container( 54 | height: 100, 55 | color: Color(0xFFE9FFEF), 56 | ), 57 | ), 58 | ), 59 | const Padding( 60 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 61 | child: GFTypography( 62 | child: Text( 63 | 'Dashed Borders', 64 | style: TextStyle( 65 | fontSize: 20.0, 66 | color: Colors.black, 67 | fontWeight: FontWeight.w600, 68 | ), 69 | ), 70 | type: GFTypographyType.typo5, 71 | dividerWidth: 45, 72 | dividerColor: Color(0xFF19CA4B), 73 | ), 74 | ), 75 | Container( 76 | margin: EdgeInsets.symmetric(horizontal: 15, vertical: 15), 77 | child: GFBorder( 78 | type: GFBorderType.RRect, 79 | radius: Radius.circular(20), 80 | color: Color(0xFFAA66CC), 81 | child: Container( 82 | decoration: BoxDecoration( 83 | color: Color(0xFFFAF0FF), 84 | borderRadius: BorderRadius.circular(20)), 85 | height: 100, 86 | ), 87 | ), 88 | ), 89 | const Padding( 90 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 91 | child: GFTypography( 92 | child: Text( 93 | 'Dotted Borders', 94 | style: TextStyle( 95 | fontSize: 20.0, 96 | color: Colors.black, 97 | fontWeight: FontWeight.w600, 98 | ), 99 | ), 100 | type: GFTypographyType.typo5, 101 | dividerWidth: 45, 102 | dividerColor: Color(0xFF19CA4B), 103 | ), 104 | ), 105 | Container( 106 | margin: EdgeInsets.symmetric(horizontal: 15, vertical: 15), 107 | child: GFBorder( 108 | radius: Radius.circular(30), 109 | color: Color(0xFF19CA4B), 110 | dashedLine: [2, 1], 111 | type: GFBorderType.Rect, 112 | child: Container( 113 | height: 100, 114 | color: Color(0xFFE9FFEF), 115 | ), 116 | ), 117 | ), 118 | SizedBox( 119 | height: 20, 120 | ) 121 | ], 122 | ), 123 | ), 124 | ); 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /lib/screens/bottomsheet/bottomsheet.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class BottomSheet extends StatefulWidget { 7 | @override 8 | _BottomSheetState createState() => _BottomSheetState(); 9 | } 10 | 11 | class _BottomSheetState extends State { 12 | final GFBottomSheetController _controller = GFBottomSheetController(); 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return Scaffold( 17 | bottomSheet: GFBottomSheet( 18 | controller: _controller, 19 | //animationDuration: 800, 20 | // minContentHeight: 100, 21 | maxContentHeight: 200, 22 | // elevation: 10, 23 | enableExpandableContent: true, 24 | stickyHeaderHeight: 90, 25 | stickyHeader: Container( 26 | decoration: BoxDecoration(color: Colors.white, 27 | // borderRadius: BorderRadius.circular(10), 28 | boxShadow: [BoxShadow(color: Colors.black45, blurRadius: 0)]), 29 | // height: 100, 30 | child: const GFListTile( 31 | avatar: GFAvatar( 32 | backgroundImage: AssetImage('lib/assets/images/gflogo.png'), 33 | ), 34 | titleText: 'GetWidget', 35 | subtitleText: 'Open source UI library', 36 | ), 37 | ), 38 | contentBody: Container( 39 | margin: EdgeInsets.symmetric(horizontal: 15, vertical: 0), 40 | child: ListView( 41 | shrinkWrap: true, 42 | physics: const ScrollPhysics(), 43 | children: const [ 44 | Center( 45 | child: Text( 46 | 'Getwidget reduces your overall app development time to minimum 30% because of its pre-build clean UI widget that you can use in flutter app development. We have spent more than 1000+ hours to build this library to make flutter developer’s life easy.', 47 | style: TextStyle( 48 | fontSize: 15, wordSpacing: 0.3, letterSpacing: 0.2), 49 | )) 50 | ], 51 | ), 52 | ), 53 | stickyFooter: Container( 54 | color: GFColors.SUCCESS, 55 | height: 100, 56 | child: Row( 57 | mainAxisAlignment: MainAxisAlignment.spaceEvenly, 58 | children: [ 59 | Text( 60 | 'Get in touch', 61 | style: TextStyle( 62 | fontSize: 18, 63 | fontWeight: FontWeight.bold, 64 | color: Colors.white), 65 | ), 66 | Text( 67 | 'info@getwidget.dev', 68 | style: TextStyle(fontSize: 15, color: Colors.white), 69 | ), 70 | ], 71 | ), 72 | ), 73 | stickyFooterHeight: 50, 74 | ), 75 | floatingActionButton: FloatingActionButton( 76 | backgroundColor: GFColors.SUCCESS, 77 | child: const Icon(Icons.keyboard_arrow_down), 78 | onPressed: () { 79 | _controller.isBottomSheetOpened 80 | ? _controller.hideBottomSheet() 81 | : _controller.showBottomSheet(); 82 | }), 83 | body: Layout( 84 | demoImageUrl: 'lib/assets/gif/bottomsheet.gif', 85 | body: ListView( 86 | children: [ 87 | Text( 88 | 'BottomSheet', 89 | style: hintStyleTextblackbolder(), 90 | ), 91 | SizedBox( 92 | height: 20, 93 | ), 94 | Text( 95 | "The BottomSheet can be used to open panels to the bottom of the screen.", 96 | style: hintStyleTextblackdull(), 97 | ), 98 | SizedBox( 99 | height: 20, 100 | ) 101 | ], 102 | ), 103 | ), 104 | ); 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /lib/screens/checkbox-listtile/checkbox_listtile.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class CheckboxListtile extends StatefulWidget { 7 | @override 8 | _CheckboxListtileState createState() => _CheckboxListtileState(); 9 | } 10 | 11 | class _CheckboxListtileState extends State { 12 | bool check = true; 13 | bool check1 = false; 14 | @override 15 | Widget build(BuildContext context) { 16 | return Scaffold( 17 | body: Layout( 18 | demoImageUrl: 'lib/assets/gif/Checkboxlist.gif', 19 | body: ListView( 20 | children: [ 21 | Text( 22 | 'Checkbox ListTile', 23 | style: hintStyleTextblackbolder(), 24 | ), 25 | SizedBox( 26 | height: 20, 27 | ), 28 | Text( 29 | "A ListTile with a Checkbox. In other words, a checkbox with a label.The entire list tile is interactive tapping anywhere in the tile toggles the checkbox.", 30 | style: hintStyleTextblackdull(), 31 | ), 32 | SizedBox( 33 | height: 30, 34 | ), 35 | GFCheckboxListTile( 36 | titleText: 'hi', 37 | subtitleText: 'Happy Ugadi', 38 | avatar: GFAvatar( 39 | backgroundImage: AssetImage('lib/assets/images/img.png'), 40 | ), 41 | size: 25, 42 | activebgColor: Colors.green, 43 | activeIcon: Icon( 44 | Icons.check, 45 | size: 15, 46 | color: Colors.white, 47 | ), 48 | type: GFCheckboxType.circle, 49 | onChanged: (val) { 50 | setState(() { 51 | check = val; 52 | }); 53 | }, 54 | value: check, 55 | inactiveIcon: null, 56 | ), 57 | GFCheckboxListTile( 58 | titleText: 'hi', 59 | subtitleText: 'Happy Ugadi', 60 | avatar: GFAvatar( 61 | backgroundImage: AssetImage('lib/assets/images/img1.png'), 62 | ), 63 | size: 25, 64 | activebgColor: Colors.green, 65 | activeIcon: Icon( 66 | Icons.check, 67 | size: 15, 68 | color: Colors.white, 69 | ), 70 | type: GFCheckboxType.circle, 71 | onChanged: (val) { 72 | setState(() { 73 | check1 = val; 74 | }); 75 | }, 76 | value: check1, 77 | inactiveIcon: null, 78 | ), 79 | SizedBox( 80 | height: 20, 81 | ) 82 | ], 83 | ), 84 | ), 85 | ); 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /lib/screens/floating-widget/fab_floating.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class FabFloatingWidget extends StatefulWidget { 6 | @override 7 | _FabFloatingWidgetState createState() => _FabFloatingWidgetState(); 8 | } 9 | 10 | class _FabFloatingWidgetState extends State 11 | with TickerProviderStateMixin { 12 | TextEditingController controller1 = TextEditingController(); 13 | Animation animation; 14 | AnimationController animationController; 15 | 16 | @override 17 | void initState() { 18 | super.initState(); 19 | animationController = 20 | AnimationController(duration: const Duration(seconds: 2), vsync: this); 21 | controller = AnimationController( 22 | vsync: this, duration: const Duration(milliseconds: 300)); 23 | offset = 24 | Tween(begin: const Offset(0, -0.04), end: const Offset(0, 0.2)) 25 | .animate(controller); 26 | // offset = Tween(begin: Offset.zero, end: Offset(0.0, 1.0)) 27 | // .animate(controller); 28 | _controller = AnimationController( 29 | vsync: this, duration: const Duration(milliseconds: 300)); 30 | offset1 = Tween(begin: Offset.zero, end: const Offset(0, -0.05)) 31 | .animate(_controller); 32 | animation = Tween(begin: 1, end: 0).animate(CurvedAnimation( 33 | parent: animationController, curve: Curves.fastLinearToSlowEaseIn)); 34 | } 35 | 36 | AnimationController controller, _controller; 37 | Animation offset, offset1; 38 | 39 | bool showfabFloatingWidget = false; 40 | 41 | @override 42 | void dispose() { 43 | animationController.dispose(); 44 | controller.dispose(); 45 | super.dispose(); 46 | } 47 | 48 | @override 49 | Widget build(BuildContext context) => Scaffold( 50 | body: GFFloatingWidget( 51 | verticalPosition: MediaQuery.of(context).size.height * 0.4, 52 | horizontalPosition: MediaQuery.of(context).size.width * 0.8, 53 | child: Container( 54 | margin: const EdgeInsets.only(top: 20), 55 | child: GFIconButton( 56 | icon: 57 | showfabFloatingWidget ? Icon(Icons.close) : Icon(Icons.add), 58 | shape: GFIconButtonShape.circle, 59 | color: GFColors.PRIMARY, 60 | // iconSize: 80, 61 | size: 100, 62 | onPressed: () { 63 | setState(() { 64 | showfabFloatingWidget = !showfabFloatingWidget; 65 | }); 66 | switch (controller.status) { 67 | case AnimationStatus.completed: 68 | controller.forward(from: 1); 69 | break; 70 | 71 | case AnimationStatus.dismissed: 72 | controller.reverse(from: 1); 73 | break; 74 | default: 75 | } 76 | }), 77 | ), 78 | body: ListView( 79 | // mainAxisAlignment: MainAxisAlignment.center, 80 | children: [ 81 | const Padding( 82 | padding: EdgeInsets.only(left: 15, top: 20, bottom: 40), 83 | child: GFTypography( 84 | text: 'FAB Button as a Floating Widget', 85 | type: GFTypographyType.typo5, 86 | dividerWidth: 25, 87 | dividerColor: Color(0xFF19CA4B), 88 | ), 89 | ), 90 | showfabFloatingWidget 91 | ? SlideTransition( 92 | position: offset, 93 | child: Container( 94 | margin: const EdgeInsets.only(right: 35), 95 | alignment: Alignment.topRight, 96 | child: Column( 97 | children: [ 98 | GFButtonBar( 99 | alignment: WrapAlignment.end, 100 | direction: Axis.vertical, 101 | children: [ 102 | GFIconButton( 103 | icon: Icon(Icons.add), 104 | shape: GFIconButtonShape.circle, 105 | color: GFColors.INFO, 106 | onPressed: () {}), 107 | GFIconButton( 108 | icon: Icon(Icons.share), 109 | shape: GFIconButtonShape.circle, 110 | color: GFColors.SUCCESS, 111 | onPressed: () {}), 112 | GFIconButton( 113 | icon: Icon(Icons.message), 114 | shape: GFIconButtonShape.circle, 115 | color: GFColors.WARNING, 116 | onPressed: () {}), 117 | GFIconButton( 118 | icon: Icon(Icons.settings), 119 | shape: GFIconButtonShape.circle, 120 | color: GFColors.SECONDARY, 121 | onPressed: () {}), 122 | ], 123 | ) 124 | ], 125 | ), 126 | ), 127 | ) 128 | : Container(), 129 | ]))); 130 | } 131 | -------------------------------------------------------------------------------- /lib/screens/floating-widget/floatingwidget.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:gf_web/screens/floating-widget/messenger_floating.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class Floating extends StatefulWidget { 7 | @override 8 | _FloatingState createState() => _FloatingState(); 9 | } 10 | 11 | class _FloatingState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/floating.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Floating Widget', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | "Floating Widget's child can take any kind of components or widgets as its paramater. The GF Floating Widget is mostly and effectively used to show some popups, alerts or some error messages which floats over the main body.", 28 | style: hintStyleTextblackdull(), 29 | ), 30 | SizedBox( 31 | height: 20, 32 | ), 33 | Container( 34 | height: 200, 35 | child: MessengerFloatingWidget(), 36 | ), 37 | SizedBox( 38 | height: 20, 39 | ) 40 | ], 41 | ), 42 | ), 43 | ); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /lib/screens/floating-widget/messenger_floating.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:flutter/cupertino.dart'; 4 | 5 | class MessengerFloatingWidget extends StatefulWidget { 6 | @override 7 | _MessengerFloatingWidgetState createState() => 8 | _MessengerFloatingWidgetState(); 9 | } 10 | 11 | class _MessengerFloatingWidgetState extends State { 12 | bool showFloatingWidget = false; 13 | 14 | @override 15 | Widget build(BuildContext context) => Scaffold( 16 | body: GFFloatingWidget( 17 | verticalPosition: MediaQuery.of(context).size.height * 0.01, 18 | horizontalPosition: MediaQuery.of(context).size.width * 0.5, 19 | child: showFloatingWidget 20 | ? Column( 21 | children: const [ 22 | GFIconBadge( 23 | child: GFAvatar( 24 | size: GFSize.LARGE, 25 | backgroundImage: 26 | AssetImage('lib/assets/images/img1.png'), 27 | ), 28 | counterChild: GFBadge( 29 | text: '12', 30 | shape: GFBadgeShape.circle, 31 | )), 32 | ], 33 | ) 34 | : Container(), 35 | body: Container( 36 | height: MediaQuery.of(context).size.height, 37 | child: Column( 38 | children: [ 39 | const Padding( 40 | padding: EdgeInsets.only(left: 15, top: 20, bottom: 40), 41 | child: GFTypography( 42 | text: 'Avatar as a Floating Widget', 43 | type: GFTypographyType.typo5, 44 | dividerWidth: 25, 45 | dividerColor: Color(0xFF19CA4B), 46 | ), 47 | ), 48 | GFButton( 49 | onPressed: () { 50 | setState(() { 51 | showFloatingWidget = !showFloatingWidget; 52 | }); 53 | }, 54 | text: 'View Floating Widget', 55 | ), 56 | ], 57 | ), 58 | ), 59 | ), 60 | ); 61 | } 62 | -------------------------------------------------------------------------------- /lib/screens/layout/body.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class Body extends StatefulWidget { 4 | @override 5 | _BodyState createState() => _BodyState(); 6 | } 7 | 8 | class _BodyState extends State { 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | backgroundColor: Colors.white, 13 | body: Container( 14 | margin: EdgeInsets.only(left: 40, top: 20), 15 | child: ListView( 16 | children: [Text('dfcghyjunkmcghcc')], 17 | ), 18 | )); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lib/screens/layout/header.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:gf_web/styles/styles.dart'; 3 | import 'package:url_launcher/url_launcher.dart'; 4 | 5 | class Header extends StatefulWidget { 6 | @override 7 | _HeaderState createState() => _HeaderState(); 8 | } 9 | 10 | class _HeaderState extends State
{ 11 | launchURL(urlLink) async { 12 | // const url = urlLink; 13 | if (await canLaunch(urlLink)) { 14 | await launch(urlLink); 15 | } else { 16 | throw 'Could not launch $urlLink'; 17 | } 18 | } 19 | 20 | @override 21 | Widget build(BuildContext context) { 22 | return Scaffold( 23 | backgroundColor: Colors.white, 24 | body: Container( 25 | color: Colors.black, 26 | width: MediaQuery.of(context).size.width, 27 | height: 100, 28 | child: Row( 29 | children: [ 30 | Flexible( 31 | fit: FlexFit.tight, 32 | flex: 1, 33 | child: InkWell( 34 | onTap: () { 35 | Navigator.pushNamed(context, '/home'); 36 | }, 37 | // child: Image.network( 38 | // 'https://ik.imagekit.io/ionicfirebaseapp/get-flutter-logo_FAN-82xCG.png', 39 | // height: 40.0, 40 | // ), 41 | child: Image.asset( 42 | 'lib/assets/logo.png', 43 | height: 40, 44 | ))), 45 | Flexible( 46 | fit: FlexFit.tight, 47 | flex: 1, 48 | child: Row( 49 | mainAxisAlignment: MainAxisAlignment.spaceEvenly, 50 | // crossAxisAlignment: CrossAxisAlignment.center, 51 | children: [ 52 | Padding( 53 | padding: const EdgeInsets.only(), 54 | child: InkWell( 55 | onTap: () { 56 | launchURL('https://www.getwidget.dev/'); 57 | }, 58 | child: Text( 59 | 'Home', 60 | style: headerText(), 61 | )), 62 | ), 63 | InkWell( 64 | onTap: () { 65 | launchURL('https://www.getwidget.dev/features'); 66 | }, 67 | child: Text( 68 | 'Features', 69 | style: headerText(), 70 | )), 71 | InkWell( 72 | onTap: () { 73 | launchURL('https://docs.getwidget.dev/'); 74 | }, 75 | child: Text( 76 | 'Docs', 77 | style: headerText(), 78 | )), 79 | InkWell( 80 | onTap: () { 81 | launchURL('https://www.getwidget.dev/blog/'); 82 | }, 83 | child: Text( 84 | 'Blogs', 85 | style: headerText(), 86 | )), 87 | Padding( 88 | padding: const EdgeInsets.only(right: 370.0), 89 | child: InkWell( 90 | onTap: () { 91 | launchURL('https://forum.getwidget.dev/'); 92 | }, 93 | child: Text( 94 | 'Forum', 95 | style: headerText(), 96 | )), 97 | ), 98 | ], 99 | )) 100 | ], 101 | ), 102 | ), 103 | ); 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /lib/screens/layout/layout.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | 4 | import 'package:gf_web/screens/layout/mobile-demo.dart'; 5 | import 'sidebar.dart'; 6 | import 'header.dart'; 7 | import 'package:url_launcher/url_launcher.dart'; 8 | 9 | class Layout extends StatefulWidget { 10 | final Widget body; 11 | final String demoImageUrl; 12 | const Layout({ 13 | Key key, 14 | this.body, 15 | this.demoImageUrl, 16 | }) : super(key: key); 17 | 18 | @override 19 | _LayoutState createState() => _LayoutState(); 20 | } 21 | 22 | class _LayoutState extends State { 23 | launchURL(urlLink) async { 24 | if (await canLaunch(urlLink)) { 25 | await launch(urlLink); 26 | } else { 27 | throw 'Could not launch $urlLink'; 28 | } 29 | } 30 | 31 | @override 32 | Widget build(BuildContext context) { 33 | return Scaffold( 34 | backgroundColor: Colors.white, 35 | body: Column( 36 | children: [ 37 | Container( 38 | height: 70, 39 | child: Header(), 40 | ), 41 | Row( 42 | children: [ 43 | Container( 44 | height: MediaQuery.of(context).size.height - 70, 45 | width: 300, 46 | child: Sidebar(), 47 | ), 48 | Container( 49 | padding: EdgeInsets.only(left: 20, right: 20, top: 10), 50 | height: MediaQuery.of(context).size.height - 70, 51 | width: MediaQuery.of(context).size.width - 730, 52 | child: Column( 53 | children: [ 54 | Container( 55 | color: GFColors.LIGHT, 56 | // width: 1100, 57 | child: Column( 58 | children: [ 59 | Padding( 60 | padding: 61 | const EdgeInsets.only(top: 10.0, bottom: 10), 62 | child: Row( 63 | mainAxisAlignment: MainAxisAlignment.center, 64 | children: [ 65 | Text( 66 | "Flutter Web is still in Beta release so you might get some rendering issue. It will be fixed very soon.", 67 | style: TextStyle( 68 | fontSize: 13.0, color: GFColors.DANGER), 69 | ), 70 | ], 71 | ), 72 | ), 73 | // InkWell( 74 | // child: Padding( 75 | // padding: const EdgeInsets.only( 76 | // left: 8.0, 77 | // ), 78 | // child: Row( 79 | // mainAxisAlignment: MainAxisAlignment.center, 80 | // children: [ 81 | // Text( 82 | // 'Download & play with GetWIdget mobile app ', 83 | // style: TextStyle(color: Colors.red), 84 | // ), 85 | // // GFIconButton( 86 | // // icon: Icon( 87 | // // IconData( 88 | // // 0xe904, 89 | // // fontFamily: 'icomoon', 90 | // // ), 91 | // // color: GFColors.WHITE, 92 | // // ), 93 | // // onPressed: () {}), 94 | // ], 95 | // ), 96 | // ), 97 | // ), 98 | ], 99 | ), 100 | ), 101 | SizedBox( 102 | height: 20, 103 | ), 104 | Container( 105 | height: MediaQuery.of(context).size.height - 140, 106 | // height: 500, 107 | width: MediaQuery.of(context).size.width - 730, 108 | child: widget.body, 109 | ), 110 | ], 111 | )), 112 | Column( 113 | // mainAxisAlignment: MainAxisAlignment.start, 114 | // crossAxisAlignment: CrossAxisAlignment.center, 115 | children: [ 116 | Center( 117 | child: Text('Try our GetWidget mobile app'), 118 | ), 119 | SizedBox(height: 5), 120 | InkWell( 121 | onTap: () { 122 | launchURL( 123 | 'https://play.google.com/store/apps/details?id=dev.getflutter.appkit'); 124 | }, 125 | child: Container( 126 | width: 200, 127 | child: Padding( 128 | padding: const EdgeInsets.only(left: 30.0, right: 20), 129 | child: 130 | Image.asset('lib/assets/images/playstore3x.png'), 131 | )), 132 | ), 133 | Container( 134 | width: 430, 135 | // color: Colors.red, 136 | height: 500, 137 | child: MobileDemo(demoImageUrl: widget.demoImageUrl), 138 | ), 139 | ], 140 | ) 141 | ], 142 | ) 143 | ], 144 | ), 145 | ); 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /lib/screens/layout/mobile-demo.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | class MobileDemo extends StatefulWidget { 4 | final String demoImageUrl; 5 | const MobileDemo({ 6 | Key key, 7 | this.demoImageUrl, 8 | }) : super(key: key); 9 | @override 10 | _MobileDemoState createState() => _MobileDemoState(); 11 | } 12 | 13 | class _MobileDemoState extends State { 14 | String imageUrl; 15 | 16 | @override 17 | Widget build(BuildContext context) { 18 | // return Container( 19 | // height: 300, 20 | // child: Image.asset( 21 | // widget.demoImageUrl ?? "lib/assets/std-buttons-mockup.gif"), 22 | // ); 23 | return Stack( 24 | children: [ 25 | Padding( 26 | padding: EdgeInsets.only(left: 90), 27 | child: Image.asset( 28 | 'lib/assets/images/Group-1170.png', 29 | height: 500, 30 | ), 31 | ), 32 | Padding( 33 | padding: EdgeInsets.only( 34 | top: 49, 35 | left: 113, 36 | ), 37 | child: Image.asset( 38 | widget.demoImageUrl ?? 'lib/assets/images/Artboard1.png', 39 | height: 400, 40 | // width: 320, 41 | ), 42 | ), 43 | // Container( 44 | 45 | // decoration: BoxDecoration( 46 | // borderRadius: BorderRadius.only( 47 | // bottomLeft: Radius.circular(20), 48 | // bottomRight: Radius.circular(20), 49 | 50 | // ), 51 | 52 | // ), 53 | // child: Image.asset( 54 | // 'lib/assets/standard-buttons.gif', 55 | // height: 569, 56 | // ), 57 | // ) 58 | ], 59 | ); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /lib/screens/layout/routes.dart: -------------------------------------------------------------------------------- 1 | import 'package:gf_web/screens/accordion/accordion.dart'; 2 | import 'package:gf_web/screens/alert/alert.dart'; 3 | import 'package:gf_web/screens/appbar/appbar.dart'; 4 | import 'package:gf_web/screens/border/border.dart'; 5 | import 'package:gf_web/screens/bottomsheet/bottomsheet.dart'; 6 | import 'package:gf_web/screens/buttons/standard-buttons.dart'; 7 | import 'package:gf_web/screens/buttons/pills-buttons.dart'; 8 | import 'package:gf_web/screens/buttons/square-buttons.dart'; 9 | import 'package:gf_web/screens/buttons/shadow-buttons.dart'; 10 | import 'package:gf_web/screens/buttons/icon-buttons.dart'; 11 | import 'package:gf_web/screens/buttons/social-buttons.dart'; 12 | import 'package:gf_web/screens/badges/badges.dart'; 13 | import 'package:gf_web/screens/cards/cards.dart'; 14 | import 'package:gf_web/screens/checkbox-listtile/checkbox_listtile.dart'; 15 | import 'package:gf_web/screens/checkbox/checkbox.dart'; 16 | import 'package:gf_web/screens/floating-widget/floatingwidget.dart'; 17 | import 'package:gf_web/screens/loader/loader.dart'; 18 | import 'package:gf_web/screens/pages/home.dart'; 19 | import 'package:gf_web/screens/progressbar/progressbar.dart'; 20 | import 'package:gf_web/screens/radio-listtile/radio_listtile.dart'; 21 | import 'package:gf_web/screens/radio/radio.dart'; 22 | import 'package:gf_web/screens/rating/rating.dart'; 23 | import 'package:gf_web/screens/searchbar/searchbar.dart'; 24 | import 'package:gf_web/screens/shimmer/shimmer.dart'; 25 | import 'package:gf_web/screens/tabs/bottom-icon.dart'; 26 | import 'package:gf_web/screens/tabs/bottom-labeled.dart'; 27 | import 'package:gf_web/screens/tabs/icon-tabs.dart'; 28 | import 'package:gf_web/screens/tabs/labeled-tabs.dart'; 29 | import 'package:gf_web/screens/tabs/segmented-tabs.dart'; 30 | import 'package:gf_web/screens/toasts/toasts.dart'; 31 | import 'package:gf_web/screens/toggles/toggle.dart'; 32 | import 'package:gf_web/screens/typography/heading.dart'; 33 | import 'package:gf_web/screens/avatar/avatar.dart'; 34 | import 'package:gf_web/screens/images/image.dart'; 35 | import 'package:gf_web/screens/carousel/carousel.dart'; 36 | import 'package:gf_web/screens/tabs/tabs.dart'; 37 | import 'package:gf_web/screens/tiles/tiles.dart'; 38 | 39 | //Map route = Map(); 40 | 41 | final routes = { 42 | '/home': (context) => HomePage(), 43 | '/gf-buttons/standard-button': (context) => StandardButtons(), 44 | '/gf-buttons/pill-button': (context) => PillButtons(), 45 | '/gf-buttons/square-button': (context) => SquareButtons(), 46 | '/gf-buttons/shadow-button': (context) => ShadowButtons(), 47 | '/gf-buttons/icon-button': (context) => IconButtons(), 48 | '/gf-buttons/social-button': (context) => SocialButtons(), 49 | '/gf-badges/badges': (context) => Badges(), 50 | '/gf-cards/cards': (context) => Cards(), 51 | '/gf-typography/heading': (context) => Heading(), 52 | '/gf-avatar/avatar': (context) => Avatar(), 53 | '/gf-images/image': (context) => Images(), 54 | '/gf-carousel/carousel': (context) => Carousel(), 55 | '/gf-tabs/tabs': (context) => Tabs(), 56 | '/gf-tabs/segmented-tabs': (context) => SegmentTab(), 57 | '/gf-tabs/icon-tabs': (context) => IconTabs(), 58 | '/gf-tabs/labeled-tabs': (context) => LabeledTabs(), 59 | '/gf-tabs/bottomicon-tabs': (context) => BottomIconTabs(), 60 | '/gf-tabs/bottomlabeled-tabs': (context) => BottomLabeledTabs(), 61 | '/gf-tiles/tiles': (context) => Tiles(), 62 | '/gf-toasts/toasts': (context) => Toasts(), 63 | '/gf-toggle/toggle': (context) => Toggle(), 64 | '/gf-alert/alert': (context) => Alert(), 65 | '/gf-accordion/accordion': (context) => Accordion(), 66 | '/gf-appbar/appbar': (context) => AppBar(), 67 | '/gf-searchbar/searchbar': (context) => SearchBar(), 68 | '/gf-loader/loader': (context) => Loader(), 69 | '/gf-rating/rating': (context) => Rating(), 70 | '/gf-floating/floating': (context) => Floating(), 71 | '/gf-progressbar/progressbar': (context) => ProgressBar(), 72 | '/gf-shimmer/shimmer': (context) => Shimmer(), 73 | '/gf-checkbox/checkbox': (context) => CheckBox(), 74 | '/gf-checkboxlist/checkboxlist': (context) => CheckboxListtile(), 75 | '/gf-radio/radio': (context) => RadioButton(), 76 | '/gf-radiolisttile/radiolisttile': (context) => RadioListtile(), 77 | '/gf-border/border': (context) => Border(), 78 | '/gf-bottomsheet/bottomsheet': (context) => BottomSheet(), 79 | }; 80 | -------------------------------------------------------------------------------- /lib/screens/pages/home.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:gf_web/screens/layout/layout.dart'; 3 | 4 | class HomePage extends StatefulWidget { 5 | @override 6 | _HomePageState createState() => _HomePageState(); 7 | } 8 | 9 | class _HomePageState extends State { 10 | @override 11 | Widget build(BuildContext context) { 12 | return Scaffold( 13 | backgroundColor: Colors.white, 14 | body: Layout( 15 | // demoImageUrl: '', 16 | body: SingleChildScrollView( 17 | child: Column( 18 | children: [ 19 | // GFCard( 20 | // color: Colors.lightBlue[50], 21 | // content: Row( 22 | // mainAxisAlignment: MainAxisAlignment.start, 23 | // children: [Text('Info:')], 24 | // ), 25 | // ), 26 | // Text( 27 | // 'Introduction', 28 | // style: TextStyle(fontSize: 20), 29 | // ), 30 | SizedBox( 31 | height: 20, 32 | ), 33 | Text( 34 | 'Open source UI library for flutter app', 35 | style: TextStyle(fontSize: 20), 36 | ), 37 | SizedBox( 38 | height: 20, 39 | ), 40 | Image.network( 41 | 'https://ik.imagekit.io/ionicfirebaseapp/docs/tr:dpr-auto,tr:w-auto-1300/github-settings_2_6MxhZpdf5.png', 42 | height: 400, 43 | ) 44 | ], 45 | ), 46 | ))); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /lib/screens/progressbar/progressbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class ProgressBar extends StatefulWidget { 7 | @override 8 | _ProgressBarState createState() => _ProgressBarState(); 9 | } 10 | 11 | class _ProgressBarState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/Progressbar.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Progress Bar', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | "Progress bar can be of two types , a simple linear progress bar or a Circular Progress bar.", 28 | style: hintStyleTextblackdull(), 29 | ), 30 | const Padding( 31 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 32 | child: GFTypography( 33 | child: Text( 34 | 'Linear Progress Bar', 35 | style: TextStyle( 36 | fontSize: 20.0, 37 | color: Colors.black, 38 | fontWeight: FontWeight.w600, 39 | ), 40 | ), 41 | type: GFTypographyType.typo5, 42 | dividerWidth: 45, 43 | dividerColor: Color(0xFF19CA4B), 44 | ), 45 | ), 46 | Container( 47 | margin: const EdgeInsets.only(left: 10, right: 10, top: 20), 48 | child: GFProgressBar( 49 | padding: const EdgeInsets.only(left: 15, right: 15), 50 | percentage: 0.8, 51 | lineHeight: 20, 52 | alignment: MainAxisAlignment.spaceBetween, 53 | child: const Text( 54 | '80%', 55 | textAlign: TextAlign.end, 56 | style: TextStyle(fontSize: 16, color: Colors.white), 57 | ), 58 | leading: Icon( 59 | Icons.sentiment_dissatisfied, 60 | color: GFColors.DANGER, 61 | ), 62 | trailing: Icon( 63 | Icons.sentiment_satisfied, 64 | color: GFColors.SUCCESS, 65 | ), 66 | type: GFProgressType.linear, 67 | backgroundColor: Colors.black26, 68 | progressBarColor: GFColors.INFO, 69 | animation: true, 70 | animationDuration: 4000, 71 | 72 | // 73 | ), 74 | ), 75 | Container( 76 | margin: const EdgeInsets.only(top: 30), 77 | child: GFProgressBar( 78 | percentage: 0.5, 79 | lineHeight: 20, 80 | alignment: MainAxisAlignment.spaceBetween, 81 | 82 | child: const Padding( 83 | padding: EdgeInsets.only(right: 5), 84 | child: Text( 85 | '50%', 86 | textAlign: TextAlign.end, 87 | style: TextStyle(fontSize: 16, color: Colors.white), 88 | ), 89 | ), 90 | // 91 | progressHeadType: GFProgressHeadType.square, 92 | backgroundColor: Colors.black26, 93 | progressBarColor: GFColors.WARNING, 94 | animation: true, 95 | animationDuration: 3000, 96 | ), 97 | ), 98 | Container( 99 | margin: const EdgeInsets.only(top: 30, left: 10, right: 10), 100 | child: GFProgressBar( 101 | percentage: 0.3, 102 | lineHeight: 20, 103 | // progressHeadType: GFProgressHeadType.square, 104 | child: const Text( 105 | '30%', 106 | textAlign: TextAlign.end, 107 | style: TextStyle(fontSize: 16, color: Colors.white), 108 | ), 109 | backgroundColor: Colors.black26, 110 | progressBarColor: GFColors.DANGER, 111 | animation: true, 112 | animationDuration: 2000, 113 | ), 114 | ), 115 | const Padding( 116 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 117 | child: GFTypography( 118 | child: Text( 119 | 'Circular Progress Bars', 120 | style: TextStyle( 121 | fontSize: 20.0, 122 | color: Colors.black, 123 | fontWeight: FontWeight.w600, 124 | ), 125 | ), 126 | type: GFTypographyType.typo5, 127 | dividerWidth: 45, 128 | dividerColor: Color(0xFF19CA4B), 129 | ), 130 | ), 131 | Container( 132 | child: GFProgressBar( 133 | // width: 300, 134 | width: 300, 135 | alignment: MainAxisAlignment.spaceBetween, 136 | radius: 90, 137 | percentage: 0.4, 138 | lineHeight: 90, 139 | circleWidth: 10, 140 | child: const Text( 141 | '40%', 142 | textAlign: TextAlign.end, 143 | style: TextStyle( 144 | fontSize: 18, 145 | ), 146 | ), 147 | backgroundColor: Colors.black26, 148 | type: GFProgressType.circular, 149 | progressBarColor: GFColors.SECONDARY, 150 | animation: true, 151 | animationDuration: 2500, 152 | ), 153 | ), 154 | Container( 155 | margin: const EdgeInsets.only(top: 90), 156 | child: GFProgressBar( 157 | width: 300, 158 | circleStartAngle: 20, 159 | alignment: MainAxisAlignment.spaceEvenly, 160 | radius: 90, 161 | percentage: 0.9, 162 | lineHeight: 90, 163 | circleWidth: 10, 164 | child: Column( 165 | mainAxisAlignment: MainAxisAlignment.center, 166 | children: [ 167 | const Text( 168 | '90%', 169 | textAlign: TextAlign.end, 170 | style: TextStyle(fontSize: 15), 171 | ), 172 | Icon( 173 | Icons.sentiment_very_satisfied, 174 | color: GFColors.SUCCESS, 175 | ) 176 | ], 177 | ), 178 | backgroundColor: Colors.black26, 179 | type: GFProgressType.circular, 180 | progressBarColor: GFColors.SUCCESS, 181 | progressHeadType: GFProgressHeadType.circular, 182 | animation: true, 183 | animationDuration: 2800, 184 | ), 185 | ), 186 | SizedBox( 187 | height: 20, 188 | ) 189 | ], 190 | ), 191 | ), 192 | ); 193 | } 194 | } 195 | -------------------------------------------------------------------------------- /lib/screens/radio-listtile/radio_listtile.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class RadioListtile extends StatefulWidget { 7 | @override 8 | _RadioListtileState createState() => _RadioListtileState(); 9 | } 10 | 11 | class _RadioListtileState extends State { 12 | int groupValue = 0; 13 | 14 | @override 15 | Widget build(BuildContext context) { 16 | return Scaffold( 17 | body: Layout( 18 | demoImageUrl: 'lib/assets/gif/radiolist.gif', 19 | body: ListView( 20 | children: [ 21 | Text( 22 | 'Radio Listtile', 23 | style: hintStyleTextblackbolder(), 24 | ), 25 | SizedBox( 26 | height: 20, 27 | ), 28 | Text( 29 | "A ListTile with a Radio. In other words, a radio with a label.The entire list tile is interactive tapping anywhere in the tile toggles the radio.", 30 | style: hintStyleTextblackdull(), 31 | ), 32 | SizedBox( 33 | height: 30, 34 | ), 35 | GFRadioListTile( 36 | titleText: 'Hello', 37 | subtitleText: 'Happy New Year', 38 | avatar: GFAvatar( 39 | backgroundImage: AssetImage('lib/assets/images/img1.png'), 40 | ), 41 | size: 25, 42 | activeBorderColor: Colors.green, 43 | focusColor: Colors.green, 44 | type: GFRadioType.square, 45 | value: 0, 46 | groupValue: groupValue, 47 | onChanged: (val) { 48 | setState(() { 49 | groupValue = val; 50 | }); 51 | }, 52 | inactiveIcon: null, 53 | ), 54 | GFRadioListTile( 55 | titleText: 'Hello', 56 | subtitleText: 'Happy New Year', 57 | avatar: GFAvatar( 58 | backgroundImage: AssetImage('lib/assets/images/img2.png'), 59 | ), 60 | size: 25, 61 | activeBorderColor: Colors.green, 62 | focusColor: Colors.green, 63 | type: GFRadioType.square, 64 | value: 1, 65 | groupValue: groupValue, 66 | onChanged: (val) { 67 | setState(() { 68 | groupValue = val; 69 | }); 70 | }, 71 | inactiveIcon: null, 72 | ), 73 | SizedBox( 74 | height: 20, 75 | ) 76 | ], 77 | ), 78 | ), 79 | ); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /lib/screens/rating/rating.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class Rating extends StatefulWidget { 7 | @override 8 | _RatingState createState() => _RatingState(); 9 | } 10 | 11 | class _RatingState extends State { 12 | final _ratingController = TextEditingController(); 13 | final _customController = TextEditingController(); 14 | double _userRating = 4.5; 15 | double _rating = 3; 16 | double _customrating = 2; 17 | double _iconRating = 2; 18 | @override 19 | Widget build(BuildContext context) { 20 | return Scaffold( 21 | body: Layout( 22 | demoImageUrl: 'lib/assets/gif/ratings.gif', 23 | body: ListView( 24 | children: [ 25 | Text( 26 | 'Rating', 27 | style: hintStyleTextblackbolder(), 28 | ), 29 | SizedBox( 30 | height: 20, 31 | ), 32 | Text( 33 | "GFRating is a row of star icon, one can touch or drag the row of icons to set the rating.", 34 | style: hintStyleTextblackdull(), 35 | ), 36 | const Padding( 37 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 38 | child: GFTypography( 39 | child: Text( 40 | 'Basic Rating', 41 | style: TextStyle( 42 | fontSize: 20.0, 43 | color: Colors.black, 44 | fontWeight: FontWeight.w600, 45 | ), 46 | ), 47 | type: GFTypographyType.typo5, 48 | dividerWidth: 45, 49 | dividerColor: Color(0xFF19CA4B), 50 | ), 51 | ), 52 | GFRating( 53 | color: GFColors.SUCCESS, 54 | borderColor: GFColors.SUCCESS, 55 | value: _rating, 56 | onChanged: (value) { 57 | setState(() { 58 | _rating = value; 59 | }); 60 | }, 61 | ), 62 | SizedBox( 63 | height: 10, 64 | ), 65 | const Padding( 66 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 67 | child: GFTypography( 68 | child: Text( 69 | 'Rating with Icons', 70 | style: TextStyle( 71 | fontSize: 20.0, 72 | color: Colors.black, 73 | fontWeight: FontWeight.w600, 74 | ), 75 | ), 76 | type: GFTypographyType.typo5, 77 | dividerWidth: 45, 78 | dividerColor: Color(0xFF19CA4B), 79 | ), 80 | ), 81 | GFRating( 82 | color: GFColors.SUCCESS, 83 | borderColor: GFColors.SUCCESS, 84 | filledIcon: Icon( 85 | Icons.check, 86 | color: GFColors.DANGER, 87 | ), 88 | size: GFSize.SMALL, 89 | // halfFilledIcon:Icon(Icons.favorite_border, color: Colors.amber,), 90 | value: _iconRating, 91 | onChanged: (value) { 92 | setState(() { 93 | _iconRating = value; 94 | }); 95 | }, 96 | ), 97 | SizedBox( 98 | height: 10, 99 | ), 100 | const Padding( 101 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 102 | child: GFTypography( 103 | child: Text( 104 | 'Rating using Text Field', 105 | style: TextStyle( 106 | fontSize: 20.0, 107 | color: Colors.black, 108 | fontWeight: FontWeight.w600, 109 | ), 110 | ), 111 | type: GFTypographyType.typo5, 112 | dividerWidth: 45, 113 | dividerColor: Color(0xFF19CA4B), 114 | ), 115 | ), 116 | GFRating( 117 | color: GFColors.SUCCESS, 118 | borderColor: GFColors.SUCCESS, 119 | value: _userRating, 120 | showTextForm: true, 121 | filledIcon: Icon( 122 | Icons.favorite, 123 | color: GFColors.DANGER, 124 | ), 125 | defaultIcon: Icon(Icons.favorite_border, color: GFColors.DANGER), 126 | size: GFSize.SMALL, 127 | halfFilledIcon: Icon( 128 | Icons.favorite, 129 | color: Colors.amber, 130 | ), 131 | allowHalfRating: true, 132 | controller: _ratingController, 133 | suffixIcon: GFButton( 134 | type: GFButtonType.transparent, 135 | onPressed: () { 136 | setState(() { 137 | _userRating = double.parse(_ratingController.text ?? '0.0'); 138 | }); 139 | }, 140 | child: const Text('Rate'), 141 | ), 142 | ), 143 | SizedBox( 144 | height: 10, 145 | ), 146 | const Padding( 147 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 148 | child: GFTypography( 149 | child: Text( 150 | 'Custom Rating', 151 | style: TextStyle( 152 | fontSize: 20.0, 153 | color: Colors.black, 154 | fontWeight: FontWeight.w600, 155 | ), 156 | ), 157 | type: GFTypographyType.typo5, 158 | dividerWidth: 45, 159 | dividerColor: Color(0xFF19CA4B), 160 | ), 161 | ), 162 | GFRating( 163 | color: GFColors.DANGER, 164 | borderColor: GFColors.DANGER, 165 | value: _customrating, 166 | showTextForm: true, 167 | halfFilledIcon: Icon( 168 | Icons.star_half, 169 | ), 170 | allowHalfRating: true, 171 | filledIcon: Icon(Icons.insert_emoticon), 172 | itemCount: 6, 173 | size: GFSize.SMALL, 174 | controller: _customController, 175 | suffixIcon: GFButton( 176 | type: GFButtonType.transparent, 177 | onPressed: () { 178 | setState(() { 179 | _customrating = 180 | double.parse(_customController.text ?? '0.0'); 181 | }); 182 | }, 183 | child: Icon(Icons.insert_emoticon), 184 | ), 185 | ), 186 | SizedBox( 187 | height: 20, 188 | ) 189 | ], 190 | ), 191 | ), 192 | ); 193 | } 194 | } 195 | -------------------------------------------------------------------------------- /lib/screens/searchbar/searchbar.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class SearchBar extends StatefulWidget { 7 | @override 8 | _SearchBarState createState() => _SearchBarState(); 9 | } 10 | 11 | class _SearchBarState extends State { 12 | List list = [ 13 | 'Flutter', 14 | 'React', 15 | 'Ionic', 16 | 'Xamarin', 17 | 'Flutter2', 18 | 'React2', 19 | 'Ionic2', 20 | 'Xamarin2', 21 | ]; 22 | @override 23 | Widget build(BuildContext context) { 24 | return Scaffold( 25 | body: Layout( 26 | demoImageUrl: 'lib/assets/gif/searchbar.gif', 27 | body: ListView( 28 | physics: const ScrollPhysics(), 29 | children: [ 30 | Text( 31 | 'SearchBar', 32 | style: hintStyleTextblackbolder(), 33 | ), 34 | SizedBox( 35 | height: 20, 36 | ), 37 | Text( 38 | 'GF SearchBar represent a text field that can be used to search through a collection...', 39 | style: hintStyleTextblackdull(), 40 | ), 41 | SizedBox( 42 | height: 30, 43 | ), 44 | const Padding( 45 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 46 | child: GFTypography( 47 | child: Text( 48 | 'Basic SearchBar', 49 | style: TextStyle( 50 | fontSize: 20.0, 51 | color: Colors.black, 52 | fontWeight: FontWeight.w600, 53 | ), 54 | ), 55 | type: GFTypographyType.typo5, 56 | dividerWidth: 45, 57 | dividerColor: Color(0xFF19CA4B), 58 | ), 59 | ), 60 | SizedBox( 61 | height: 10, 62 | ), 63 | GFSearchBar( 64 | // searchBoxInputDecoration: InputDecoration( 65 | // enabledBorder: OutlineInputBorder( 66 | // borderSide: BorderSide( 67 | // color: Colors.teal, 68 | // ), 69 | // borderRadius: BorderRadius.circular(50)), 70 | // ), 71 | searchList: list, 72 | // hideSearchBoxWhenItemSelected: false, 73 | // overlaySearchListHeight: 100.0, 74 | searchQueryBuilder: (query, list) => list 75 | .where((item) => 76 | item.toLowerCase().contains(query.toLowerCase())) 77 | .toList(), 78 | overlaySearchListItemBuilder: (item) => Container( 79 | padding: const EdgeInsets.all(8), 80 | child: Text( 81 | item, 82 | style: const TextStyle(fontSize: 18), 83 | ), 84 | ), 85 | // noItemsFoundWidget: Container( 86 | // color: Colors.green, 87 | // child: Text("no items found..."), 88 | // ), 89 | onItemSelected: (item) { 90 | setState(() { 91 | print('$item'); 92 | }); 93 | }), 94 | const Padding( 95 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 96 | child: GFTypography( 97 | child: Text( 98 | ' Customized SearchBar', 99 | style: TextStyle( 100 | fontSize: 20.0, 101 | color: Colors.black, 102 | fontWeight: FontWeight.w600, 103 | ), 104 | ), 105 | type: GFTypographyType.typo5, 106 | dividerWidth: 45, 107 | dividerColor: Color(0xFF19CA4B), 108 | ), 109 | ), 110 | SizedBox( 111 | height: 10, 112 | ), 113 | GFSearchBar( 114 | searchBoxInputDecoration: InputDecoration( 115 | labelText: 'Type Here', 116 | labelStyle: TextStyle(color: Colors.black26), 117 | focusedBorder: OutlineInputBorder( 118 | borderSide: const BorderSide(color: Colors.greenAccent), 119 | borderRadius: BorderRadius.circular(25), 120 | ), 121 | prefixIcon: Icon( 122 | Icons.search, 123 | color: Colors.black26, 124 | ), 125 | enabledBorder: OutlineInputBorder( 126 | borderSide: BorderSide(color: Colors.black12), 127 | borderRadius: BorderRadius.circular(50)), 128 | ), 129 | searchList: list, 130 | // hideSearchBoxWhenItemSelected: false, 131 | // overlaySearchListHeight: 100.0, 132 | searchQueryBuilder: (query, list) => list 133 | .where((item) => 134 | item.toLowerCase().contains(query.toLowerCase())) 135 | .toList(), 136 | overlaySearchListItemBuilder: (item) => Container( 137 | padding: const EdgeInsets.all(8), 138 | child: Text( 139 | item, 140 | style: const TextStyle(fontSize: 18), 141 | ), 142 | ), 143 | // noItemsFoundWidget: Container( 144 | // color: Colors.green, 145 | // child: Text("no items found..."), 146 | // ), 147 | onItemSelected: (item) { 148 | setState(() { 149 | print('$item'); 150 | }); 151 | }), 152 | GFSearchBar( 153 | // searchBoxInputDecoration: InputDecoration( 154 | // enabledBorder: OutlineInputBorder( 155 | // borderSide: BorderSide( 156 | // color: Colors.teal, 157 | // ), 158 | // borderRadius: BorderRadius.circular(50) 159 | // ), 160 | // ), 161 | searchList: list, 162 | // hideSearchBoxWhenItemSelected: false, 163 | // overlaySearchListHeight: 100.0, 164 | searchQueryBuilder: (query, list) => list 165 | .where((item) => 166 | item.toLowerCase().contains(query.toLowerCase())) 167 | .toList(), 168 | overlaySearchListItemBuilder: (item) => Container( 169 | padding: const EdgeInsets.all(8), 170 | child: Text( 171 | item, 172 | style: const TextStyle(fontSize: 18), 173 | ), 174 | ), 175 | // noItemsFoundWidget: Container( 176 | // color: Colors.green, 177 | // child: Text("no items found..."), 178 | // ), 179 | onItemSelected: (item) { 180 | setState(() { 181 | print('selected item $item'); 182 | }); 183 | }), 184 | ], 185 | ), 186 | ), 187 | ); 188 | } 189 | } 190 | -------------------------------------------------------------------------------- /lib/screens/shimmer/shimmer.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import 'package:gf_web/styles/styles.dart'; 5 | 6 | class Shimmer extends StatefulWidget { 7 | @override 8 | _ShimmerState createState() => _ShimmerState(); 9 | } 10 | 11 | class _ShimmerState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/Shimmer.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Shimmer', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | "GFShimmer is a Flutter Shimmer Effect Widget that can be used by giving Linear Gradient for more visual shimmer effect or just by adding Main Color and Secondary Color for basic shimmer effect.", 28 | style: hintStyleTextblackdull(), 29 | ), 30 | const Padding( 31 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 32 | child: GFTypography( 33 | child: Text( 34 | 'Basic Shimmer Effect', 35 | style: TextStyle( 36 | fontSize: 20.0, 37 | color: Colors.black, 38 | fontWeight: FontWeight.w600, 39 | ), 40 | ), 41 | type: GFTypographyType.typo5, 42 | dividerWidth: 45, 43 | dividerColor: Color(0xFF19CA4B), 44 | ), 45 | ), 46 | GFShimmer( 47 | mainColor: GFColors.DARK.withOpacity(0.22), 48 | child: Padding( 49 | padding: const EdgeInsets.symmetric(horizontal: 16), 50 | child: Row( 51 | crossAxisAlignment: CrossAxisAlignment.start, 52 | children: [ 53 | Container( 54 | width: 80, 55 | height: 80, 56 | color: Colors.white, 57 | ), 58 | const Padding( 59 | padding: EdgeInsets.symmetric(horizontal: 6), 60 | ), 61 | Expanded( 62 | child: Column( 63 | crossAxisAlignment: CrossAxisAlignment.start, 64 | children: [ 65 | Container( 66 | width: double.infinity, 67 | height: 12, 68 | color: Colors.white, 69 | ), 70 | const Padding( 71 | padding: EdgeInsets.symmetric(vertical: 2), 72 | ), 73 | Container( 74 | width: MediaQuery.of(context).size.width * 0.5, 75 | height: 12, 76 | color: Colors.white, 77 | ), 78 | const Padding( 79 | padding: EdgeInsets.symmetric(vertical: 2), 80 | ), 81 | Container( 82 | width: MediaQuery.of(context).size.width * 0.25, 83 | height: 12, 84 | color: Colors.white, 85 | ), 86 | ], 87 | ), 88 | ) 89 | ], 90 | ), 91 | ), 92 | ), 93 | const Padding( 94 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 95 | child: GFTypography( 96 | child: Text( 97 | 'Shimmer Effect on Text', 98 | style: TextStyle( 99 | fontSize: 20.0, 100 | color: Colors.black, 101 | fontWeight: FontWeight.w600, 102 | ), 103 | ), 104 | type: GFTypographyType.typo5, 105 | dividerWidth: 45, 106 | dividerColor: Color(0xFF19CA4B), 107 | ), 108 | ), 109 | GFShimmer( 110 | child: 111 | Row(mainAxisAlignment: MainAxisAlignment.center, children: [ 112 | const Text( 113 | 'Hurray!! Order Placed', 114 | style: TextStyle(fontSize: 25, fontWeight: FontWeight.w700), 115 | ), 116 | const SizedBox(width: 5), 117 | Icon(Icons.sentiment_very_satisfied), 118 | ]), 119 | direction: GFShimmerDirection.rightToLeft, 120 | showGradient: true, 121 | gradient: LinearGradient( 122 | begin: Alignment.bottomRight, 123 | end: Alignment.centerLeft, 124 | stops: const [0, 0.3, 0.6, 0.9, 1], 125 | colors: const [ 126 | GFColors.DANGER, 127 | GFColors.PRIMARY, 128 | GFColors.WARNING, 129 | GFColors.SECONDARY, 130 | Colors.red, 131 | ], 132 | ), 133 | ), 134 | SizedBox( 135 | height: 20, 136 | ) 137 | ], 138 | ), 139 | ), 140 | ); 141 | } 142 | } 143 | -------------------------------------------------------------------------------- /lib/screens/tabs/bottom-icon.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class BottomIconTabs extends StatefulWidget { 7 | @override 8 | _BottomIconTabsState createState() => _BottomIconTabsState(); 9 | } 10 | 11 | class _BottomIconTabsState extends State 12 | with TickerProviderStateMixin { 13 | TabController tabController; 14 | 15 | @override 16 | void initState() { 17 | super.initState(); 18 | tabController = TabController(length: 4, vsync: this); 19 | } 20 | 21 | @override 22 | void dispose() { 23 | tabController.dispose(); 24 | super.dispose(); 25 | } 26 | 27 | @override 28 | Widget build(BuildContext context) { 29 | return Scaffold( 30 | body: Layout( 31 | demoImageUrl: 'lib/assets/gif/tabs.gif', 32 | body: ListView( 33 | children: [ 34 | Text( 35 | 'Bottom Icon Tabs', 36 | style: hintStyleTextblackbolder(), 37 | ), 38 | SizedBox( 39 | height: 20, 40 | ), 41 | Text( 42 | 'Working with tabs is a common pattern in apps that follow the Material Design guidelines. Flutter includes a convenient way to create tab layouts as part of the material library..', 43 | style: hintStyleTextblackdull(), 44 | ), 45 | SizedBox( 46 | height: 30, 47 | ), 48 | Container( 49 | height: MediaQuery.of(context).size.height - 400, 50 | child: GFTabBarView( 51 | controller: tabController, 52 | children: [ 53 | Center( 54 | child: Icon( 55 | Icons.home, 56 | size: 150, 57 | color: Colors.grey.withOpacity(0.44), 58 | ), 59 | ), 60 | Center( 61 | child: Icon( 62 | Icons.music_note, 63 | size: 150, 64 | color: Colors.grey.withOpacity(0.44), 65 | ), 66 | ), 67 | Center( 68 | child: Icon( 69 | Icons.games, 70 | size: 150, 71 | color: Colors.grey.withOpacity(0.44), 72 | ), 73 | ), 74 | Center( 75 | child: Icon( 76 | Icons.notifications, 77 | size: 150, 78 | color: Colors.grey.withOpacity(0.44), 79 | ), 80 | ) 81 | ], 82 | )), 83 | SizedBox( 84 | height: 30, 85 | ), 86 | Container( 87 | child: GFTabBar( 88 | length: 1, 89 | controller: tabController, 90 | tabs: [ 91 | Icon( 92 | Icons.home, 93 | ), 94 | Icon( 95 | Icons.music_note, 96 | ), 97 | Icon( 98 | Icons.games, 99 | ), 100 | Icon( 101 | Icons.notifications, 102 | ), 103 | ], 104 | indicatorColor: GFColors.SUCCESS, 105 | // indicatorSize: TabBarIndicatorSize.label, 106 | labelColor: GFColors.SUCCESS, 107 | labelPadding: const EdgeInsets.all(8), 108 | tabBarColor: GFColors.DARK, 109 | unselectedLabelColor: GFColors.WHITE, 110 | labelStyle: TextStyle( 111 | fontWeight: FontWeight.w500, 112 | fontSize: 13, 113 | color: Colors.white, 114 | fontFamily: 'OpenSansBold', 115 | ), 116 | unselectedLabelStyle: TextStyle( 117 | fontWeight: FontWeight.w500, 118 | fontSize: 13, 119 | color: Colors.black, 120 | fontFamily: 'OpenSansBold', 121 | ), 122 | ), 123 | ), 124 | ], 125 | ), 126 | ), 127 | ); 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /lib/screens/tabs/bottom-labeled.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class BottomLabeledTabs extends StatefulWidget { 7 | @override 8 | _BottomLabeledTabsState createState() => _BottomLabeledTabsState(); 9 | } 10 | 11 | class _BottomLabeledTabsState extends State 12 | with TickerProviderStateMixin { 13 | TabController tabController; 14 | 15 | @override 16 | void initState() { 17 | super.initState(); 18 | tabController = TabController(length: 4, vsync: this); 19 | } 20 | 21 | @override 22 | void dispose() { 23 | tabController.dispose(); 24 | super.dispose(); 25 | } 26 | 27 | @override 28 | Widget build(BuildContext context) { 29 | return Scaffold( 30 | body: Layout( 31 | demoImageUrl: 'lib/assets/gif/tabs.gif', 32 | body: ListView( 33 | children: [ 34 | Text( 35 | 'Bottom Labeled Tabs', 36 | style: hintStyleTextblackbolder(), 37 | ), 38 | SizedBox( 39 | height: 20, 40 | ), 41 | Text( 42 | 'Working with tabs is a common pattern in apps that follow the Material Design guidelines. Flutter includes a convenient way to create tab layouts as part of the material library..', 43 | style: hintStyleTextblackdull(), 44 | ), 45 | SizedBox( 46 | height: 30, 47 | ), 48 | Container( 49 | height: MediaQuery.of(context).size.height - 400, 50 | child: GFTabBarView( 51 | controller: tabController, 52 | children: [ 53 | Center( 54 | child: Icon( 55 | Icons.home, 56 | size: 150, 57 | color: Colors.grey.withOpacity(0.44), 58 | ), 59 | ), 60 | Center( 61 | child: Icon( 62 | Icons.music_note, 63 | size: 150, 64 | color: Colors.grey.withOpacity(0.44), 65 | ), 66 | ), 67 | Center( 68 | child: Icon( 69 | Icons.games, 70 | size: 150, 71 | color: Colors.grey.withOpacity(0.44), 72 | ), 73 | ), 74 | Center( 75 | child: Icon( 76 | Icons.notifications, 77 | size: 150, 78 | color: Colors.grey.withOpacity(0.44), 79 | ), 80 | ) 81 | ], 82 | )), 83 | Container( 84 | child: GFTabBar( 85 | length: 1, 86 | controller: tabController, 87 | tabs: [ 88 | Column( 89 | mainAxisAlignment: MainAxisAlignment.center, 90 | children: [ 91 | Icon( 92 | Icons.home, 93 | ), 94 | const Text( 95 | 'Home', 96 | style: TextStyle( 97 | fontSize: 10, 98 | ), 99 | ) 100 | ], 101 | ), 102 | Column( 103 | mainAxisAlignment: MainAxisAlignment.center, 104 | children: [ 105 | Icon( 106 | Icons.music_note, 107 | ), 108 | const Text( 109 | 'Music', 110 | style: TextStyle( 111 | fontSize: 10, 112 | ), 113 | ) 114 | ], 115 | ), 116 | Column( 117 | mainAxisAlignment: MainAxisAlignment.center, 118 | children: [ 119 | Icon( 120 | Icons.games, 121 | ), 122 | const Text( 123 | 'Games', 124 | style: TextStyle( 125 | fontSize: 10, 126 | ), 127 | ) 128 | ], 129 | ), 130 | Column( 131 | mainAxisAlignment: MainAxisAlignment.center, 132 | children: [ 133 | Icon( 134 | Icons.notifications, 135 | ), 136 | const Text( 137 | 'Notifications', 138 | style: TextStyle( 139 | fontSize: 10, 140 | ), 141 | ) 142 | ], 143 | ), 144 | ], 145 | indicatorColor: GFColors.SUCCESS, 146 | // indicatorSize: TabBarIndicatorSize.label, 147 | labelColor: GFColors.SUCCESS, 148 | labelPadding: const EdgeInsets.all(8), 149 | tabBarColor: GFColors.DARK, 150 | unselectedLabelColor: GFColors.WHITE, 151 | labelStyle: TextStyle( 152 | fontWeight: FontWeight.w500, 153 | fontSize: 13, 154 | color: Colors.white, 155 | fontFamily: 'OpenSansBold', 156 | ), 157 | unselectedLabelStyle: TextStyle( 158 | fontWeight: FontWeight.w500, 159 | fontSize: 13, 160 | color: Colors.black, 161 | fontFamily: 'OpenSansBold', 162 | ), 163 | ), 164 | ), 165 | ], 166 | ), 167 | ), 168 | ); 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /lib/screens/tabs/icon-tabs.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class IconTabs extends StatefulWidget { 7 | @override 8 | _IconTabsState createState() => _IconTabsState(); 9 | } 10 | 11 | class _IconTabsState extends State with TickerProviderStateMixin { 12 | TabController tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 4, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | @override 27 | Widget build(BuildContext context) { 28 | return Scaffold( 29 | body: Layout( 30 | demoImageUrl: 'lib/assets/gif/tabs.gif', 31 | body: ListView( 32 | children: [ 33 | Text( 34 | 'Icon Tabs', 35 | style: hintStyleTextblackbolder(), 36 | ), 37 | SizedBox( 38 | height: 20, 39 | ), 40 | Text( 41 | 'Working with tabs is a common pattern in apps that follow the Material Design guidelines. Flutter includes a convenient way to create tab layouts as part of the material library..', 42 | style: hintStyleTextblackdull(), 43 | ), 44 | SizedBox( 45 | height: 30, 46 | ), 47 | GFTabBar( 48 | length: 4, 49 | controller: tabController, 50 | tabs: [ 51 | Icon( 52 | Icons.home, 53 | ), 54 | Icon( 55 | Icons.music_note, 56 | ), 57 | Icon( 58 | Icons.games, 59 | ), 60 | Icon( 61 | Icons.notifications, 62 | ), 63 | ], 64 | indicatorColor: Colors.teal, 65 | 66 | // indicatorSize: TabBarIndicatorSize.label, 67 | labelColor: GFColors.SUCCESS, 68 | labelPadding: const EdgeInsets.all(8), 69 | tabBarColor: GFColors.WHITE, 70 | unselectedLabelColor: GFColors.LIGHT, 71 | labelStyle: TextStyle( 72 | fontWeight: FontWeight.w500, 73 | fontSize: 13, 74 | color: Colors.white, 75 | fontFamily: 'OpenSansBold', 76 | ), 77 | unselectedLabelStyle: TextStyle( 78 | fontWeight: FontWeight.w500, 79 | fontSize: 13, 80 | color: Colors.black, 81 | fontFamily: 'OpenSansBold', 82 | ), 83 | ), 84 | Container( 85 | height: MediaQuery.of(context).size.height - 159, 86 | child: GFTabBarView( 87 | controller: tabController, 88 | children: [ 89 | Center( 90 | child: Icon( 91 | Icons.home, 92 | size: 150, 93 | color: Colors.grey.withOpacity(0.44), 94 | ), 95 | ), 96 | Center( 97 | child: Icon( 98 | Icons.music_note, 99 | size: 150, 100 | color: Colors.grey.withOpacity(0.44), 101 | ), 102 | ), 103 | Center( 104 | child: Icon( 105 | Icons.games, 106 | size: 150, 107 | color: Colors.grey.withOpacity(0.44), 108 | ), 109 | ), 110 | Center( 111 | child: Icon( 112 | Icons.notifications, 113 | size: 150, 114 | color: Colors.grey.withOpacity(0.44), 115 | ), 116 | ) 117 | ], 118 | )), 119 | SizedBox( 120 | height: 30, 121 | ), 122 | ], 123 | ), 124 | ), 125 | ); 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /lib/screens/tabs/labeled-tabs.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class LabeledTabs extends StatefulWidget { 7 | @override 8 | _LabeledTabsState createState() => _LabeledTabsState(); 9 | } 10 | 11 | class _LabeledTabsState extends State 12 | with TickerProviderStateMixin { 13 | TabController tabController; 14 | 15 | @override 16 | void initState() { 17 | super.initState(); 18 | tabController = TabController(length: 4, vsync: this); 19 | } 20 | 21 | @override 22 | void dispose() { 23 | tabController.dispose(); 24 | super.dispose(); 25 | } 26 | 27 | @override 28 | Widget build(BuildContext context) { 29 | return Scaffold( 30 | body: Layout( 31 | demoImageUrl: 'lib/assets/gif/tabs.gif', 32 | body: ListView( 33 | children: [ 34 | Text( 35 | 'Labeled Tabs', 36 | style: hintStyleTextblackbolder(), 37 | ), 38 | SizedBox( 39 | height: 20, 40 | ), 41 | Text( 42 | 'Working with tabs is a common pattern in apps that follow the Material Design guidelines. Flutter includes a convenient way to create tab layouts as part of the material library..', 43 | style: hintStyleTextblackdull(), 44 | ), 45 | SizedBox( 46 | height: 30, 47 | ), 48 | GFTabBar( 49 | length: 4, 50 | controller: tabController, 51 | tabs: [ 52 | Column( 53 | mainAxisAlignment: MainAxisAlignment.center, 54 | children: [ 55 | Icon( 56 | Icons.home, 57 | ), 58 | const Text( 59 | 'Home', 60 | style: TextStyle( 61 | fontSize: 10, 62 | ), 63 | ) 64 | ], 65 | ), 66 | Column( 67 | mainAxisAlignment: MainAxisAlignment.center, 68 | children: [ 69 | Icon( 70 | Icons.music_note, 71 | ), 72 | const Text( 73 | 'Music', 74 | style: TextStyle( 75 | fontSize: 10, 76 | ), 77 | ) 78 | ], 79 | ), 80 | Column( 81 | mainAxisAlignment: MainAxisAlignment.center, 82 | children: [ 83 | Icon( 84 | Icons.games, 85 | ), 86 | const Text( 87 | 'Games', 88 | style: TextStyle( 89 | fontSize: 10, 90 | ), 91 | ) 92 | ], 93 | ), 94 | Column( 95 | mainAxisAlignment: MainAxisAlignment.center, 96 | children: [ 97 | Icon( 98 | Icons.notifications, 99 | ), 100 | const Text( 101 | 'Notifications', 102 | style: TextStyle( 103 | fontSize: 10, 104 | ), 105 | ) 106 | ], 107 | ), 108 | ], 109 | indicatorColor: Colors.teal, 110 | 111 | // indicatorSize: TabBarIndicatorSize.label, 112 | labelColor: GFColors.SUCCESS, 113 | labelPadding: const EdgeInsets.all(8), 114 | 115 | tabBarColor: GFColors.WHITE, 116 | unselectedLabelColor: GFColors.LIGHT, 117 | labelStyle: TextStyle( 118 | fontWeight: FontWeight.w500, 119 | fontSize: 13, 120 | color: Colors.white, 121 | fontFamily: 'OpenSansBold', 122 | ), 123 | 124 | unselectedLabelStyle: TextStyle( 125 | fontWeight: FontWeight.w500, 126 | fontSize: 13, 127 | color: Colors.black, 128 | fontFamily: 'OpenSansBold', 129 | ), 130 | ), 131 | Container( 132 | height: MediaQuery.of(context).size.height - 159, 133 | child: GFTabBarView( 134 | controller: tabController, 135 | children: [ 136 | Center( 137 | child: Icon( 138 | Icons.home, 139 | size: 150, 140 | color: Colors.grey.withOpacity(0.44), 141 | ), 142 | ), 143 | Center( 144 | child: Icon( 145 | Icons.music_note, 146 | size: 150, 147 | color: Colors.grey.withOpacity(0.44), 148 | ), 149 | ), 150 | Center( 151 | child: Icon( 152 | Icons.games, 153 | size: 150, 154 | color: Colors.grey.withOpacity(0.44), 155 | ), 156 | ), 157 | Center( 158 | child: Icon( 159 | Icons.notifications, 160 | size: 150, 161 | color: Colors.grey.withOpacity(0.44), 162 | ), 163 | ) 164 | ], 165 | )), 166 | SizedBox( 167 | height: 30, 168 | ), 169 | ], 170 | ), 171 | ), 172 | ); 173 | } 174 | } 175 | -------------------------------------------------------------------------------- /lib/screens/tabs/segmented-tabs.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class SegmentTab extends StatefulWidget { 7 | @override 8 | _SegmentTabState createState() => _SegmentTabState(); 9 | } 10 | 11 | class _SegmentTabState extends State with TickerProviderStateMixin { 12 | TabController tabController; 13 | 14 | @override 15 | void initState() { 16 | super.initState(); 17 | tabController = TabController(length: 3, vsync: this); 18 | } 19 | 20 | @override 21 | void dispose() { 22 | tabController.dispose(); 23 | super.dispose(); 24 | } 25 | 26 | @override 27 | Widget build(BuildContext context) { 28 | return Scaffold( 29 | body: Layout( 30 | demoImageUrl: 'lib/assets/gif/tabs.gif', 31 | body: ListView( 32 | children: [ 33 | Text( 34 | 'Segmented Tabs', 35 | style: hintStyleTextblackbolder(), 36 | ), 37 | SizedBox( 38 | height: 20, 39 | ), 40 | Text( 41 | 'Working with tabs is a common pattern in apps that follow the Material Design guidelines. Flutter includes a convenient way to create tab layouts as part of the material library..', 42 | style: hintStyleTextblackdull(), 43 | ), 44 | SizedBox( 45 | height: 30, 46 | ), 47 | Container( 48 | height: 40, 49 | margin: const EdgeInsets.only(top: 20, left: 25, right: 25), 50 | child: GFSegmentTabs( 51 | tabController: tabController, 52 | // height: 38.0, 53 | width: 280, 54 | length: 3, 55 | tabs: const [ 56 | Text( 57 | 'Tab 1', 58 | ), 59 | Tab( 60 | child: Text( 61 | 'Tab 2', 62 | ), 63 | ), 64 | Tab( 65 | child: Text( 66 | 'Tab 3', 67 | ), 68 | ), 69 | ], 70 | tabBarColor: GFColors.LIGHT, 71 | indicatorSize: TabBarIndicatorSize.tab, 72 | labelColor: GFColors.WHITE, 73 | unselectedLabelColor: GFColors.DARK, 74 | indicator: BoxDecoration( 75 | color: GFColors.DARK, 76 | border: Border( 77 | bottom: BorderSide( 78 | color: GFColors.SUCCESS, 79 | width: 3, 80 | ), 81 | ), 82 | // borderRadius: BorderRadius.circular(2.0) 83 | ), 84 | indicatorPadding: const EdgeInsets.all(8), 85 | indicatorWeight: 2, 86 | border: Border.all(color: Colors.white, width: 2), 87 | ), 88 | // 89 | // 90 | ), 91 | Container( 92 | height: MediaQuery.of(context).size.height - 140, 93 | child: GFTabBarView( 94 | controller: tabController, 95 | children: const [ 96 | Center( 97 | child: Text( 98 | 'Tab 1', 99 | style: TextStyle(fontSize: 30.0), 100 | ), 101 | ), 102 | Center( 103 | child: Text( 104 | 'Tab 2', 105 | style: TextStyle(fontSize: 30.0), 106 | ), 107 | ), 108 | Center( 109 | child: Text( 110 | 'Tab 3', 111 | style: TextStyle(fontSize: 30.0), 112 | ), 113 | ) 114 | ], 115 | )), 116 | SizedBox( 117 | height: 30, 118 | ), 119 | ], 120 | ), 121 | ), 122 | ); 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /lib/screens/tiles/tiles.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class Tiles extends StatefulWidget { 7 | @override 8 | _TilesState createState() => _TilesState(); 9 | } 10 | 11 | class _TilesState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/tiles.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Tiles', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | 'A single fixed-height row that typically contains some text as well as a leading or trailing icon. A list tile contains one to three lines of text optionally flanked by icons or other widgets, such as checkboxes', 28 | style: hintStyleTextblackdull(), 29 | ), 30 | SizedBox( 31 | height: 30, 32 | ), 33 | Padding( 34 | padding: EdgeInsets.only( 35 | left: 15, 36 | ), 37 | child: GFTypography( 38 | type: GFTypographyType.typo5, 39 | dividerWidth: 50, 40 | dividerColor: Color(0xFF19CA4B), 41 | child: Text( 42 | 'With Label', 43 | style: hintStyleTextblackbold(), 44 | ), 45 | ), 46 | ), 47 | SizedBox( 48 | height: 20, 49 | ), 50 | GFCard( 51 | // content: Text("fj"), 52 | title: GFListTile( 53 | title: Text( 54 | 'Title', 55 | style: TextStyle(fontSize: 19.0), 56 | ), 57 | subTitle: Text( 58 | 'Lorem ipsum dolor sit amet, consectetur adipiscing', 59 | style: TextStyle(fontSize: 16.0), 60 | ), 61 | description: Text(""), 62 | icon: Icon(Icons.favorite), 63 | // showDivider: false, 64 | ), 65 | ), 66 | GFCard( 67 | content: GFListTile( 68 | avatar: Icon(Icons.favorite), 69 | title: Text( 70 | 'Title', 71 | style: TextStyle(fontSize: 19.0), 72 | ), 73 | icon: Text( 74 | 'Caption', 75 | style: TextStyle(fontSize: 19.0), 76 | ), 77 | description: Container(), 78 | subTitle: Container(), 79 | // showDivider: false, 80 | ), 81 | ), 82 | SizedBox( 83 | height: 30, 84 | ), 85 | Padding( 86 | padding: EdgeInsets.only( 87 | left: 15, 88 | ), 89 | child: GFTypography( 90 | type: GFTypographyType.typo5, 91 | dividerWidth: 50, 92 | dividerColor: Color(0xFF19CA4B), 93 | child: Text( 94 | 'With Avatar', 95 | style: hintStyleTextblackbold(), 96 | ), 97 | ), 98 | ), 99 | SizedBox( 100 | height: 20, 101 | ), 102 | GFCard( 103 | content: GFListTile( 104 | avatar: GFAvatar( 105 | backgroundImage: AssetImage('lib/assets/images/three3.png'), 106 | ), 107 | title: Text( 108 | 'Title', 109 | style: TextStyle(fontSize: 19.0), 110 | ), 111 | description: Container(), 112 | subTitle: Text( 113 | 'Lorem ipsum dolor sit amet, consectetur adipiscing', 114 | style: TextStyle(fontSize: 16.0), 115 | ), 116 | // showDivider: false, 117 | ), 118 | ), 119 | GFCard( 120 | content: GFListTile( 121 | avatar: GFAvatar( 122 | shape: GFAvatarShape.standard, 123 | backgroundImage: AssetImage('lib/assets/images/three5.png'), 124 | ), 125 | title: Text( 126 | 'Title', 127 | style: TextStyle(fontSize: 19.0), 128 | ), 129 | subTitle: Container(), 130 | description: Container(), 131 | icon: Text( 132 | 'Caption', 133 | style: TextStyle(fontSize: 19.0), 134 | ), 135 | // showDivider: false, 136 | ), 137 | ), 138 | ], 139 | ), 140 | ), 141 | ); 142 | } 143 | } 144 | -------------------------------------------------------------------------------- /lib/screens/toasts/toasts.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class Toasts extends StatefulWidget { 7 | @override 8 | _ToastsState createState() => _ToastsState(); 9 | } 10 | 11 | class _ToastsState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/toasts.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Toasts', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | 'Toast has been used as a standard way to show flash message in Android. Moreover, some iOS apps also implement it..', 28 | style: hintStyleTextblackdull(), 29 | ), 30 | SizedBox( 31 | height: 30, 32 | ), 33 | const Padding( 34 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 35 | child: GFTypography( 36 | child: Text( 37 | 'Animated Toasts (Auto Dismissable)', 38 | style: TextStyle( 39 | fontSize: 20.0, 40 | color: Colors.black, 41 | fontWeight: FontWeight.w600, 42 | ), 43 | ), 44 | type: GFTypographyType.typo5, 45 | dividerWidth: 45, 46 | dividerColor: Color(0xFF19CA4B), 47 | ), 48 | ), 49 | SizedBox( 50 | height: 20, 51 | ), 52 | GFToast( 53 | text: 'Auto Dismissable after the given duration !', 54 | button: GFButton( 55 | onPressed: () {}, 56 | text: 'OK', 57 | type: GFButtonType.transparent, 58 | color: GFColors.SUCCESS, 59 | ), 60 | autoDismiss: true, 61 | ), 62 | const SizedBox( 63 | height: 20, 64 | ), 65 | const GFToast( 66 | text: 'Pass true to autoDismiss property to use this effect !', 67 | autoDismiss: true, 68 | ), 69 | const Padding( 70 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 71 | child: GFTypography( 72 | child: Text( 73 | 'Basic Toasts', 74 | style: TextStyle( 75 | fontSize: 20.0, 76 | color: Colors.black, 77 | fontWeight: FontWeight.w600, 78 | ), 79 | ), 80 | type: GFTypographyType.typo5, 81 | dividerWidth: 45, 82 | dividerColor: Color(0xFF19CA4B), 83 | ), 84 | ), 85 | SizedBox( 86 | height: 20, 87 | ), 88 | GFToast( 89 | text: 'Paired Succesfully !', 90 | button: GFButton( 91 | onPressed: () {}, 92 | text: 'OK', 93 | type: GFButtonType.transparent, 94 | color: GFColors.SUCCESS, 95 | ), 96 | autoDismiss: false, 97 | duration: const Duration(milliseconds: 300), 98 | alignment: Alignment.topLeft, 99 | ), 100 | const SizedBox( 101 | height: 15, 102 | ), 103 | GFToast( 104 | text: 105 | 'This item already has the label “travel”. You can add a new label. !', 106 | button: GFButton( 107 | onPressed: () {}, 108 | text: 'OK', 109 | type: GFButtonType.transparent, 110 | color: GFColors.SUCCESS, 111 | ), 112 | autoDismiss: false, 113 | ), 114 | SizedBox( 115 | height: 10, 116 | ), 117 | const Padding( 118 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 119 | child: GFTypography( 120 | child: Text( 121 | 'Rounded Toasts', 122 | style: TextStyle( 123 | fontSize: 20.0, 124 | color: Colors.black, 125 | fontWeight: FontWeight.w600, 126 | ), 127 | ), 128 | type: GFTypographyType.typo5, 129 | dividerWidth: 45, 130 | dividerColor: Color(0xFF19CA4B), 131 | ), 132 | ), 133 | SizedBox( 134 | height: 20, 135 | ), 136 | GFToast( 137 | text: 'Paired Succesfully !', 138 | button: GFButton( 139 | onPressed: () {}, 140 | text: 'OK', 141 | type: GFButtonType.transparent, 142 | color: GFColors.SUCCESS, 143 | ), 144 | type: GFToastType.rounded, 145 | autoDismiss: false, 146 | alignment: Alignment.topLeft, 147 | ), 148 | const SizedBox( 149 | height: 15, 150 | ), 151 | GFToast( 152 | text: 153 | 'This item already has the label “travel”. You can add a new label. !', 154 | button: GFButton( 155 | onPressed: () {}, 156 | text: 'OK', 157 | type: GFButtonType.transparent, 158 | color: GFColors.SUCCESS, 159 | ), 160 | autoDismiss: false, 161 | type: GFToastType.rounded, 162 | alignment: Alignment.topLeft, 163 | ), 164 | SizedBox( 165 | height: 20, 166 | ), 167 | const Padding( 168 | padding: EdgeInsets.only(left: 15, top: 30, bottom: 10), 169 | child: GFTypography( 170 | child: Text( 171 | 'Full Width Toasts', 172 | style: TextStyle( 173 | fontSize: 20.0, 174 | color: Colors.black, 175 | fontWeight: FontWeight.w600, 176 | ), 177 | ), 178 | type: GFTypographyType.typo5, 179 | dividerWidth: 45, 180 | dividerColor: Color(0xFF19CA4B), 181 | ), 182 | ), 183 | SizedBox( 184 | height: 20, 185 | ), 186 | GFToast( 187 | text: 'Paired Succesfully !', 188 | button: GFButton( 189 | onPressed: () {}, 190 | text: 'OK', 191 | type: GFButtonType.transparent, 192 | color: GFColors.SUCCESS, 193 | ), 194 | type: GFToastType.fullWidth, 195 | autoDismiss: false, 196 | ), 197 | const SizedBox( 198 | height: 15, 199 | ), 200 | GFToast( 201 | text: 202 | 'This item already has the label “travel”. You can add a new label. !', 203 | button: GFButton( 204 | onPressed: () {}, 205 | text: 'OK', 206 | type: GFButtonType.transparent, 207 | color: GFColors.SUCCESS, 208 | ), 209 | autoDismiss: false, 210 | type: GFToastType.fullWidth, 211 | ), 212 | const SizedBox( 213 | height: 20, 214 | ), 215 | ], 216 | ), 217 | ), 218 | ); 219 | } 220 | } 221 | -------------------------------------------------------------------------------- /lib/screens/typography/heading.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:getwidget/getwidget.dart'; 3 | import 'package:gf_web/screens/layout/layout.dart'; 4 | import '../../styles/styles.dart'; 5 | 6 | class Heading extends StatefulWidget { 7 | @override 8 | _TypographyState createState() => _TypographyState(); 9 | } 10 | 11 | class _TypographyState extends State { 12 | @override 13 | Widget build(BuildContext context) { 14 | return Scaffold( 15 | body: Layout( 16 | demoImageUrl: 'lib/assets/gif/typography.gif', 17 | body: ListView( 18 | children: [ 19 | Text( 20 | 'Typography', 21 | style: hintStyleTextblackbolder(), 22 | ), 23 | SizedBox( 24 | height: 20, 25 | ), 26 | Text( 27 | 'In order to share font sizes throughout our application, we need to take advantage of typography.', 28 | style: hintStyleTextblackdull(), 29 | ), 30 | SizedBox( 31 | height: 30, 32 | ), 33 | GFTypography( 34 | child: Text( 35 | 'Headings Regular', 36 | style: TextStyle( 37 | fontSize: 20.0, 38 | color: Colors.black, 39 | fontWeight: FontWeight.w600, 40 | ), 41 | ), 42 | type: GFTypographyType.typo5, 43 | dividerWidth: 45, 44 | dividerColor: Color(0xFF19CA4B), 45 | ), 46 | SizedBox( 47 | height: 20, 48 | ), 49 | GFCard( 50 | content: Column( 51 | children: [ 52 | SizedBox( 53 | height: 15, 54 | ), 55 | GFTypography( 56 | text: 'GF Header Typo1', 57 | type: GFTypographyType.typo1, 58 | showDivider: false, 59 | ), 60 | SizedBox( 61 | height: 15, 62 | ), 63 | GFTypography( 64 | text: 'GF Header Typo2', 65 | type: GFTypographyType.typo2, 66 | showDivider: false, 67 | ), 68 | SizedBox( 69 | height: 15, 70 | ), 71 | GFTypography( 72 | text: 'GF Header Typo3', 73 | type: GFTypographyType.typo3, 74 | showDivider: false, 75 | ), 76 | SizedBox( 77 | height: 15, 78 | ), 79 | GFTypography( 80 | text: 'GF Header Typo4', 81 | type: GFTypographyType.typo4, 82 | showDivider: false, 83 | ), 84 | SizedBox( 85 | height: 15, 86 | ), 87 | GFTypography( 88 | text: 'GF Header Typo5', 89 | type: GFTypographyType.typo5, 90 | showDivider: false, 91 | ), 92 | SizedBox( 93 | height: 15, 94 | ), 95 | GFTypography( 96 | text: 'GF Header Typo6', 97 | type: GFTypographyType.typo6, 98 | showDivider: false, 99 | ), 100 | SizedBox( 101 | height: 15, 102 | ), 103 | ], 104 | ), 105 | ), 106 | SizedBox( 107 | height: 30, 108 | ), 109 | GFTypography( 110 | child: Text( 111 | 'Opacity', 112 | style: TextStyle( 113 | fontSize: 20.0, 114 | color: Colors.black, 115 | fontWeight: FontWeight.w600, 116 | ), 117 | ), 118 | type: GFTypographyType.typo5, 119 | dividerWidth: 45, 120 | dividerColor: Color(0xFF19CA4B), 121 | ), 122 | SizedBox( 123 | height: 20, 124 | ), 125 | GFCard( 126 | content: Column( 127 | children: [ 128 | SizedBox( 129 | height: 15, 130 | ), 131 | GFTypography( 132 | text: 'GF Header Typo1', 133 | type: GFTypographyType.typo1, 134 | showDivider: false, 135 | textColor: Colors.black87), 136 | SizedBox( 137 | height: 15, 138 | ), 139 | GFTypography( 140 | text: 'GF Header Typo2', 141 | type: GFTypographyType.typo2, 142 | showDivider: false, 143 | textColor: Colors.black54), 144 | SizedBox( 145 | height: 15, 146 | ), 147 | GFTypography( 148 | text: 'GF Header Typo3', 149 | type: GFTypographyType.typo3, 150 | showDivider: false, 151 | textColor: Colors.black45), 152 | SizedBox( 153 | height: 15, 154 | ), 155 | GFTypography( 156 | text: 'GF Header Typo4', 157 | type: GFTypographyType.typo4, 158 | showDivider: false, 159 | textColor: Colors.black38), 160 | SizedBox( 161 | height: 15, 162 | ), 163 | GFTypography( 164 | text: 'GF Header Typo5', 165 | type: GFTypographyType.typo5, 166 | showDivider: false, 167 | textColor: Colors.black26), 168 | SizedBox( 169 | height: 15, 170 | ), 171 | GFTypography( 172 | text: 'GF Header Typo6', 173 | type: GFTypographyType.typo6, 174 | showDivider: false, 175 | textColor: Colors.black12), 176 | SizedBox( 177 | height: 15, 178 | ), 179 | ], 180 | ), 181 | ), 182 | ], 183 | ), 184 | ), 185 | ); 186 | } 187 | } 188 | -------------------------------------------------------------------------------- /lib/styles/styles.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | final primary = const Color(0xff19CA4B); 4 | final secondary = const Color(0xFFFF7644); 5 | final blacktext = const Color(0xFF0D0D0D); 6 | final blackdull = const Color(0xFFbababa); 7 | 8 | //.............................................RalewayRegular................................................................................... 9 | 10 | TextStyle hintStyleTextblackdull() { 11 | return TextStyle( 12 | fontWeight: FontWeight.w500, 13 | fontSize: 16.0, 14 | color: blacktext.withOpacity(0.60), 15 | ); 16 | } 17 | 18 | TextStyle sidebarText() { 19 | return TextStyle( 20 | fontWeight: FontWeight.w500, 21 | fontSize: 16.0, 22 | color: blacktext.withOpacity(0.40), 23 | ); 24 | } 25 | 26 | TextStyle headerText() { 27 | return TextStyle( 28 | fontSize: 17, color: Colors.white, fontWeight: FontWeight.w600); 29 | } 30 | 31 | TextStyle hintStyleTextblack() { 32 | return TextStyle( 33 | fontWeight: FontWeight.w500, 34 | fontSize: 17.0, 35 | color: blacktext, 36 | ); 37 | } 38 | 39 | TextStyle hintStyleTextblackbold() { 40 | return TextStyle( 41 | fontWeight: FontWeight.w600, 42 | fontSize: 23.0, 43 | color: blacktext, 44 | ); 45 | } 46 | 47 | TextStyle hintStyleTextblackbolder() { 48 | return TextStyle( 49 | fontWeight: FontWeight.w600, 50 | fontSize: 26.0, 51 | color: blacktext, 52 | ); 53 | } 54 | -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See https://dart.dev/tools/pub/glossary#lockfile 3 | packages: 4 | async: 5 | dependency: transitive 6 | description: 7 | name: async 8 | url: "https://pub.dartlang.org" 9 | source: hosted 10 | version: "2.5.0-nullsafety" 11 | boolean_selector: 12 | dependency: transitive 13 | description: 14 | name: boolean_selector 15 | url: "https://pub.dartlang.org" 16 | source: hosted 17 | version: "2.1.0-nullsafety" 18 | characters: 19 | dependency: transitive 20 | description: 21 | name: characters 22 | url: "https://pub.dartlang.org" 23 | source: hosted 24 | version: "1.1.0-nullsafety.2" 25 | charcode: 26 | dependency: transitive 27 | description: 28 | name: charcode 29 | url: "https://pub.dartlang.org" 30 | source: hosted 31 | version: "1.2.0-nullsafety" 32 | clock: 33 | dependency: transitive 34 | description: 35 | name: clock 36 | url: "https://pub.dartlang.org" 37 | source: hosted 38 | version: "1.1.0-nullsafety" 39 | collection: 40 | dependency: transitive 41 | description: 42 | name: collection 43 | url: "https://pub.dartlang.org" 44 | source: hosted 45 | version: "1.15.0-nullsafety.2" 46 | convert: 47 | dependency: transitive 48 | description: 49 | name: convert 50 | url: "https://pub.dartlang.org" 51 | source: hosted 52 | version: "2.1.1" 53 | cupertino_icons: 54 | dependency: "direct main" 55 | description: 56 | name: cupertino_icons 57 | url: "https://pub.dartlang.org" 58 | source: hosted 59 | version: "0.1.3" 60 | fake_async: 61 | dependency: transitive 62 | description: 63 | name: fake_async 64 | url: "https://pub.dartlang.org" 65 | source: hosted 66 | version: "1.1.0-nullsafety" 67 | flutter: 68 | dependency: "direct main" 69 | description: flutter 70 | source: sdk 71 | version: "0.0.0" 72 | flutter_svg: 73 | dependency: "direct main" 74 | description: 75 | name: flutter_svg 76 | url: "https://pub.dartlang.org" 77 | source: hosted 78 | version: "0.18.1" 79 | flutter_test: 80 | dependency: "direct dev" 81 | description: flutter 82 | source: sdk 83 | version: "0.0.0" 84 | flutter_web_plugins: 85 | dependency: transitive 86 | description: flutter 87 | source: sdk 88 | version: "0.0.0" 89 | getwidget: 90 | dependency: "direct main" 91 | description: 92 | name: getwidget 93 | url: "https://pub.dartlang.org" 94 | source: hosted 95 | version: "1.1.3" 96 | matcher: 97 | dependency: transitive 98 | description: 99 | name: matcher 100 | url: "https://pub.dartlang.org" 101 | source: hosted 102 | version: "0.12.10-nullsafety" 103 | meta: 104 | dependency: transitive 105 | description: 106 | name: meta 107 | url: "https://pub.dartlang.org" 108 | source: hosted 109 | version: "1.3.0-nullsafety.2" 110 | path: 111 | dependency: transitive 112 | description: 113 | name: path 114 | url: "https://pub.dartlang.org" 115 | source: hosted 116 | version: "1.8.0-nullsafety" 117 | path_drawing: 118 | dependency: transitive 119 | description: 120 | name: path_drawing 121 | url: "https://pub.dartlang.org" 122 | source: hosted 123 | version: "0.4.1+1" 124 | path_parsing: 125 | dependency: transitive 126 | description: 127 | name: path_parsing 128 | url: "https://pub.dartlang.org" 129 | source: hosted 130 | version: "0.1.4" 131 | petitparser: 132 | dependency: transitive 133 | description: 134 | name: petitparser 135 | url: "https://pub.dartlang.org" 136 | source: hosted 137 | version: "3.1.0" 138 | plugin_platform_interface: 139 | dependency: transitive 140 | description: 141 | name: plugin_platform_interface 142 | url: "https://pub.dartlang.org" 143 | source: hosted 144 | version: "1.0.1" 145 | sky_engine: 146 | dependency: transitive 147 | description: flutter 148 | source: sdk 149 | version: "0.0.99" 150 | source_span: 151 | dependency: transitive 152 | description: 153 | name: source_span 154 | url: "https://pub.dartlang.org" 155 | source: hosted 156 | version: "1.8.0-nullsafety" 157 | stack_trace: 158 | dependency: transitive 159 | description: 160 | name: stack_trace 161 | url: "https://pub.dartlang.org" 162 | source: hosted 163 | version: "1.10.0-nullsafety" 164 | stream_channel: 165 | dependency: transitive 166 | description: 167 | name: stream_channel 168 | url: "https://pub.dartlang.org" 169 | source: hosted 170 | version: "2.1.0-nullsafety" 171 | string_scanner: 172 | dependency: transitive 173 | description: 174 | name: string_scanner 175 | url: "https://pub.dartlang.org" 176 | source: hosted 177 | version: "1.1.0-nullsafety" 178 | term_glyph: 179 | dependency: transitive 180 | description: 181 | name: term_glyph 182 | url: "https://pub.dartlang.org" 183 | source: hosted 184 | version: "1.2.0-nullsafety" 185 | test_api: 186 | dependency: transitive 187 | description: 188 | name: test_api 189 | url: "https://pub.dartlang.org" 190 | source: hosted 191 | version: "0.2.19-nullsafety" 192 | typed_data: 193 | dependency: transitive 194 | description: 195 | name: typed_data 196 | url: "https://pub.dartlang.org" 197 | source: hosted 198 | version: "1.3.0-nullsafety.2" 199 | url_launcher: 200 | dependency: "direct main" 201 | description: 202 | name: url_launcher 203 | url: "https://pub.dartlang.org" 204 | source: hosted 205 | version: "5.4.1" 206 | url_launcher_macos: 207 | dependency: transitive 208 | description: 209 | name: url_launcher_macos 210 | url: "https://pub.dartlang.org" 211 | source: hosted 212 | version: "0.0.1+2" 213 | url_launcher_platform_interface: 214 | dependency: transitive 215 | description: 216 | name: url_launcher_platform_interface 217 | url: "https://pub.dartlang.org" 218 | source: hosted 219 | version: "1.0.5" 220 | url_launcher_web: 221 | dependency: transitive 222 | description: 223 | name: url_launcher_web 224 | url: "https://pub.dartlang.org" 225 | source: hosted 226 | version: "0.1.0+2" 227 | vector_math: 228 | dependency: transitive 229 | description: 230 | name: vector_math 231 | url: "https://pub.dartlang.org" 232 | source: hosted 233 | version: "2.1.0-nullsafety.2" 234 | xml: 235 | dependency: transitive 236 | description: 237 | name: xml 238 | url: "https://pub.dartlang.org" 239 | source: hosted 240 | version: "4.5.0" 241 | sdks: 242 | dart: ">=2.10.0-0.0.dev <2.10.0" 243 | flutter: ">=1.18.0-6.0.pre <2.0.0" 244 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: gf_web 2 | description: A new Flutter project. 3 | 4 | version: 1.0.0+1 5 | 6 | environment: 7 | sdk: ">=2.1.0 <3.0.0" 8 | 9 | dependencies: 10 | flutter: 11 | sdk: flutter 12 | cupertino_icons: ^0.1.2 13 | flutter_svg: ^0.18.0 14 | url_launcher: ^5.4.1 15 | getwidget: ^1.1.3 16 | 17 | dev_dependencies: 18 | flutter_test: 19 | sdk: flutter 20 | 21 | flutter: 22 | uses-material-design: true 23 | fonts: 24 | - family: icomoon 25 | fonts: 26 | - asset: lib/fonts/icomoon.ttf 27 | 28 | assets: 29 | - lib/assets/logo.png 30 | - lib/assets/icons/next.png 31 | - lib/assets/icons/buttons.png 32 | - lib/assets/icons/buttons.svg 33 | - lib/assets/icons/avatar.png 34 | - lib/assets/icons/badge.png 35 | - lib/assets/icons/card.png 36 | - lib/assets/icons/chips.png 37 | - lib/assets/icons/items.png 38 | - lib/assets/icons/lists.png 39 | - lib/assets/icons/menu.png 40 | - lib/assets/icons/slider.png 41 | - lib/assets/icons/tabs.png 42 | - lib/assets/icons/toast.png 43 | - lib/assets/icons/toggle.png 44 | - lib/assets/icons/typo.png 45 | - lib/assets/icons/images.png 46 | - lib/assets/icons/back.png 47 | - lib/assets/icons/next.png 48 | - lib/assets/icons/primary.svg 49 | - lib/assets/icons/secondary.svg 50 | - lib/assets/icons/success.svg 51 | - lib/assets/icons/warning.svg 52 | - lib/assets/icons/danger.svg 53 | - lib/assets/icons/info.svg 54 | - lib/assets/icons/dark.svg 55 | - lib/assets/icons/link.svg 56 | - lib/assets/icons/light.svg 57 | - lib/assets/icons/fb.svg 58 | - lib/assets/icons/twitter.svg 59 | - lib/assets/icons/whatsapp.svg 60 | - lib/assets/icons/google.svg 61 | - lib/assets/icons/dribble.svg 62 | - lib/assets/icons/youtube.svg 63 | - lib/assets/icons/slack.svg 64 | - lib/assets/icons/pinterest.svg 65 | - lib/assets/icons/linkedin.svg 66 | - lib/assets/images/image.png 67 | - lib/assets/images/image1.png 68 | - lib/assets/images/red.png 69 | - lib/assets/images/purple.png 70 | - lib/assets/images/pink.png 71 | - lib/assets/images/green.png 72 | - lib/assets/images/green1.png 73 | - lib/assets/images/orange.png 74 | - lib/assets/images/avatar1.png 75 | - lib/assets/images/avatar2.png 76 | - lib/assets/images/avatar3.png 77 | - lib/assets/images/avatar4.png 78 | - lib/assets/images/image2.png 79 | - lib/assets/images/img.png 80 | - lib/assets/images/img1.png 81 | - lib/assets/images/img2.png 82 | - lib/assets/images/card.png 83 | - lib/assets/images/card1.png 84 | - lib/assets/images/card2.png 85 | - lib/assets/images/card3.png 86 | - lib/assets/images/car.png 87 | - lib/assets/images/car1.png 88 | - lib/assets/images/car2.png 89 | - lib/assets/images/car3.png 90 | - lib/assets/images/car4.png 91 | - lib/assets/images/car5.png 92 | - lib/assets/images/a.png 93 | - lib/assets/images/three.png 94 | - lib/assets/images/two.png 95 | - lib/assets/images/three1.png 96 | - lib/assets/images/three2.png 97 | - lib/assets/images/three3.png 98 | - lib/assets/images/three4.png 99 | - lib/assets/images/three5.png 100 | - lib/assets/images/three6.png 101 | - lib/assets/images/three7.png 102 | - lib/assets/images/cir.png 103 | - lib/assets/gif/standard-buttons.gif 104 | - lib/assets/gif/pills-button.gif 105 | - lib/assets/gif/square-buttons.gif 106 | - lib/assets/gif/icon-buttons.gif 107 | - lib/assets/gif/social-buttons.gif 108 | - lib/assets/gif/cards.gif 109 | - lib/assets/gif/avatars.gif 110 | - lib/assets/gif/images.gif 111 | - lib/assets/gif/tiles.gif 112 | - lib/assets/images/Group-1170.png 113 | - lib/assets/gif/carousel.gif 114 | - lib/assets/gif/ezgif.com-resize.gif 115 | - lib/assets/gif/tabs.gif 116 | - lib/assets/gif/typography.gif 117 | - lib/assets/images/Artboard1.png 118 | - lib/assets/gif/toasts.gif 119 | - lib/assets/gif/toggle.gif 120 | - lib/assets/gif/Alerts.gif 121 | - lib/assets/gif/accordion.gif 122 | - lib/assets/gif/searchbar.gif 123 | - lib/assets/gif/appbar.gif 124 | - lib/assets/images/c1.png 125 | - lib/assets/images/c2.png 126 | - lib/assets/images/c3.png 127 | - lib/assets/images/c4.png 128 | - lib/assets/images/c5.png 129 | - lib/assets/images/playstore.svg 130 | - lib/assets/icons/playstore.svg 131 | - lib/assets/images/playstore3x.png 132 | - lib/assets/gif/loader.gif 133 | - lib/assets/gif/loader1.gif 134 | - lib/assets/gif/loaders.gif 135 | - lib/assets/gif/ratings.gif 136 | - lib/assets/gif/floating.gif 137 | - lib/assets/gif/Progressbar.gif 138 | - lib/assets/gif/Shimmer.gif 139 | - lib/assets/gif/radio.gif 140 | - lib/assets/gif/radiolist.gif 141 | - lib/assets/gif/Checkboxlist.gif 142 | - lib/assets/gif/Borders.gif 143 | - lib/assets/gif/Checkbox.gif 144 | - lib/assets/gif/bottomsheet.gif 145 | - lib/assets/images/gflogo.png 146 | -------------------------------------------------------------------------------- /test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter_test/flutter_test.dart'; 9 | 10 | void main() { 11 | testWidgets('No test cases', (WidgetTester tester) async { 12 | print('passed'); 13 | }); 14 | } 15 | -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | GetWidget - GetWidget is open source libraries that come with pre-build 1000+ UI components. It makes development faster & more enjoyable. You can customize the component as per your need. 6 | 7 | 8 | 9 | 10 | 11 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "getwidget-webdemo" 2 | type = "webpack" 3 | account_id = "82045a407889da9f637205842a49f6ce" 4 | workers_dev = true 5 | route = "" 6 | zone_id = "" 7 | [site] 8 | bucket = "dist" 9 | --------------------------------------------------------------------------------