70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
<!--
|
|
* Copyright (C) 2023 WYATT GROUP
|
|
* Please see the AUTHORS file for details.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
-->
|
|
|
|
# Flutter - Wyatt Ui Kit
|
|
|
|
<p align="left">
|
|
<a href="https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_analysis"><img src="https://img.shields.io/badge/Style-Wyatt%20Analysis-blue.svg?style=flat-square" alt="Style: Wyatt Analysis" /></a>
|
|
<img src="https://img.shields.io/badge/SDK-Flutter-blue?style=flat-square" alt="SDK: Flutter" />
|
|
</p>
|
|
|
|
UIKit and Design System used in Wyatt Studio.
|
|
|
|
## Theme negotiation
|
|
|
|
When building a component, most of its attributes can be 'null'.
|
|
The `build()` method then starts to negotiate the theme in the tree to obtain the most consistent style possible.
|
|
|
|
Explanation:
|
|
|
|
When you build a component `Button({double? radius})`.
|
|
You have several possibilities:
|
|
1) Pass the "radius" into the constructor, `Button(radius: 12)`.
|
|
2) Set up a theme extension `ButtonThemeExtension(radius: 15)`.
|
|
3) Let `wyatt_ui_kit` "negotiate" and try to find a suitable style in the flutter theme.
|
|
|
|
If this negotiation phase fails, then:
|
|
- If the value is mandatory: a hardcoded value in "wyatt_ui_kit" is chosen.
|
|
- If not, the style is simply not applied.
|
|
|
|
If, for example, you don't use option 1, then the radius will be 15. If you use neither option 1 nor option 2 then the radius will be 4 as this is the [official Material Design value](https://m2.material.io/design/shape/about-shape.html#shape-customization-tool).
|
|
|
|
## Features
|
|
|
|
TODO: List what your package can do. Maybe include images, gifs, or videos.
|
|
|
|
## Getting started
|
|
|
|
TODO: List prerequisites and provide or point to information on how to
|
|
start using the package.
|
|
|
|
## Usage
|
|
|
|
TODO: Include short and useful examples for package users. Add longer examples
|
|
to `/example` folder.
|
|
|
|
```dart
|
|
const like = 'sample';
|
|
```
|
|
|
|
## Additional information
|
|
|
|
TODO: Tell users more about the package: where to find more information, how to
|
|
contribute to the package, how to file issues, what response they can expect
|
|
from the package authors, and more.
|