Skip to content

Commit

Permalink
Initial pub release (#78)
Browse files Browse the repository at this point in the history
* Update CONTRIBUTING.md

* Theming and styles (#8)

* Start work on theme

Contains a super barebones theme.dart, shamelessly copied from https://github.com/bdlukaa/fluent_ui/blob/master/lib/src/styles/theme.dart

* More theme work (9:50 AM March 30)

* New macos_app.dart
* Placeholer Typography in theme.dart from material
* Add some todos/fixmes

* Start work on theme

Contains a super barebones theme.dart, shamelessly copied from https://github.com/bdlukaa/fluent_ui/blob/master/lib/src/styles/theme.dart

* More theme work (9:50 AM March 30)

* New macos_app.dart
* Placeholer Typography in theme.dart from material
* Add some todos/fixmes

* Add Apple SF Pro fonts

* Add typography.dart

* Add basic documentation to typography.dart

* Minor tweaks to macos_app.dart

* Use CupertinoColors.systemBlue for default color
* Rename color to primaryColor

* Improvements to theming, root app; first new (experimental) widget: Scaffold!

* Remove print

* Add not implemented comments

* Update README.md with Content section

This is very early and is mostly a placeholder

* Add animationCurve and mediumAnimationDuration to Style class (#10)

Also add repo url to pubspec.yaml

* Version 0.0.2 (#11)

* Major Updates for Scaffold

* Adds SplitView for expanded/shrinking the sidebar
* Removed rightSidebar
* Lots of customizable properties related to the sidebar
* Documentation

Additional changes:
* Update typography.dart so that the color is properly shown.
* Update version
* Update README.md
* Update CHANGELOG.md

* Update license (#12)

* MIT License

* Use null-safe split-view from git. Tweak Scaffold accordingly . (#13)

* Add dart_code_metrics package

* Improve code_metrics and address warnings (#17)

* Add metrics to configuration

* Sort scaffold.dart public members

* Sort macos_app.dart public members

* Sort theme.dart public members

* Sort typography.dart public members

* Update to latest code_metrics

* Rework on MacosApp (#18)

* Rework on MacosApp

Reworked MacosApp to use CupertinoApp as a backend. This has several improvements:

- Apple-styled scrolling
- Using the San Francisco font by default

I also added documentation for all the properties

* Fixed references

iOS -> macOS
color -> primaryColor

* Update to latest code_metrics and stop requiring alphabetically-sorted class members

* Add primaryColor to Style (#19)

Renames MacosApp's primaryColor to simply "color" as a result.

* Implemented Switch (#21)

* Implemented Switch

- MacosTheme.maybeOf now can return a nullable value
- Added Switch to Example app

* Bump version

* Implement Progress Indicators

* Sort constructors first, run optimize imports

* Update progress_indicators.dart docs

* Update readme (#23)

* Update README.md with Switch, ProgressCircle, and ProgressBar

* Reduce image sizes, update indeterminate ProgressCircle file extension

* Converted to gif

* Fix unreachable content

* Theme refactor (#29)

* Add primaryColor to Style

Renames MacosApp's primaryColor to simply "color" as a result.

* Major theme refactor that more closely resembles flutter/material and flutter/cupertino

* The `Style` class is now `MacosThemeData`
* `MacosTheme` is now a `StatelessWidget` that returns a private `_InheritedMacosTheme`. The static `MacosTheme.of(context)` is now defined here.
* `MacosApp` now takes a `theme` and `darkTheme` rather than `style` and `darkStyle`. Additionally, there are minor changes to the way `MacosApp` is built that more closely resemble how `MaterialApp` is built.

Inspired by:
* material/theme.dart
* material/theme_data.dart
* material/app.dart
* cupertino/theme.dart

* Stop setting explicit active colors since the theme will always have a color

* Update README.md and CONTRIBUTING.md (#33)

* README.md now mentions CONTRIBUTING.md
* CONTRIBUTING.md has been updated with branch structure and versioning information

* Add pull request template (#34)

* Add workflows/pana_analysis.yml (#35)

* Add workflows/pana_analysis.yml

* Use split_view from pub

Author merged my null-safety PR a while back and I forgot to update. This addresses an analyzer warning and also should allow the pana_analysis action to run.

* Run `dartfmt -w .` per pana report

* Push button (#40)

* Stub out buttons with corresponding Styles

* Stub out Fields and Labels with corresponding Styles

* Stub out Selectors

* Placeholder Indicators

* Remove stubs for RoundButton and BevelButton

Apple docs say not to use these

* Start working on PushButton

* Get PushButton color from style's primaryColor instead of PushButton's disabledColor

Also:
* Add button_states.dart
* Add PushButtonStyle stub to Style
* Add Diagnosticable mixin to PushButtonStyle

* Tweak PushButton's disabledColor

* Start work on PushButtonStyle

* Add color, disabledColor, padding, and borderRadius properties to class with contructor and corresponding debug properties
* Include PushButtonStyle when returning default style in theme.dart
* Get PushButton color from current style if possible, otherwise fall back to defaults
* Add todos for implementing other PushButtonStyle props in PushButton

* Use proper padding and border radius for small and large PushButtons

* Test PushButton in example app

* Export push_button_theme.dart, move todo

* Documentation updates

* Documentation for PushButtonTheme and PushButtonThemeData
* Tweak MacosThemeData documentation

* Revert stubs

* Update version and CHANGELOG.md

* Ensure text color is correct when PushButton is disabled

* Add PushButton section to README.md

* Try embedding PushButton images as an album

* Try embedding PushButton images as an album (2)

* Revert to individual images

* Improve Typography (#41)

* Add letter spacing to all TextStyles that require it

Also make headline's letter spacing negative, per spec

* Add fontWeights to TextStyles

* Update PushButton images in README.md

* Update version, CHANGELOG.md

* Add `brightnessOf` and `maybeBrightness of` to `MacosTheme` (#43)

* Add `brightnessOf` and `maybeBrightness of`

Also add documentation to `of`

* Update CHANGELOG.md

* Add extensions on CupertinoDynamicColor to try and solve what's blocking #30 (#45)

* Implemented Level indicator (#30)

* Implement capacity indicator

* Implemented rating indicator

* Implemented relevance indicator

* Implemented gesture detector for indicators

* Updated theme

* Fixed colors

I also made some changes to styles/colors.dart

* Update colors.dart

* Add workflow_dispatch to enable manual runs via gh cli (#46)

* Implement RadioButton and Checkbox (#47)

* Implemented checkbox

* Implemented RadioButton

* Updated the theme to match the latest dev

* Updated radio button

* Update CHANGELOG.md

* Fixed radio button in light theme and added shadows

* Fixed checkbox light theme

* Fixed pubspec

* Improved colors

* CHORE: bump version

* Fixed #49

The GestureDetector applied to capacity indicator should be added inside of the Container.

Fixes #49

Bumped version to 0.0.8

* Implemented Help Button (#51)

* Implemented Help Button

* Implemented Help Button

* Implemented Help Button

* Implemented Help Button

* Implemented Help Button

* Update CI with "Format scores json" step (#54)

* Update CI with "Format scores json" step

Useful for PR's across forks

* Docs for new step

* fix indentation issue

* Readme update (#55)

* Documentation about checkbox

* Documentation about radio button

* Documentation about push button

* Documentation about toggle switch

* Documentation about indicators

* Documentation about help buttons

* Squashed commit of the following:

commit 617ea07
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 20:55:11 2021 -0400

    spacing

commit 4e20615
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 20:28:51 2021 -0400

    Use correct branch name

commit e2a2b97
Merge: 80753df df70270
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 20:27:36 2021 -0400

    Merge branch 'dev' into gh_pages

commit 80753df
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 18:45:40 2021 -0400

    Add GH Pages action

* change base href

* Squashed commit of the following:

commit 81b9ac34100622c35cdac752e527a73f49197806
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 22:06:32 2021 -0400

    change base href

commit d633c3e
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:55:35 2021 -0400

    Fix env

commit 995f648
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:53:02 2021 -0400

    tweak token usage

commit 23552c6
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:43:50 2021 -0400

    Switch back to my email/username

commit 32dc277
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:38:11 2021 -0400

    Simplify deploy

commit b604090
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:32:04 2021 -0400

    Change git config

commit d18c134
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:26:49 2021 -0400

    Fix indentation

commit bcf5ec1
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:25:32 2021 -0400

    Remove unnecessary steps and use "working-directory"

commit f02cbd7
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:19:58 2021 -0400

    Fix paths

commit 7dc28be
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:17:17 2021 -0400

    Add cd into example

commit 3761559
Author: Reuben Turner <groovinchip@gmail.com>
Date:   Sat May 1 21:13:50 2021 -0400

    Try a different action deploying to gh pages

* Code Improvements (#58)

* Documentation about checkbox

* Documentation about radio button

* Documentation about push button

* Documentation about toggle switch

* Documentation about indicators

* Documentation about help buttons

* Code improvements

* Changes

* Introduce library.dart

Moving flutter exports from macos_ui.dart to library.dart allows documentation to be generated only for files belonging to macos_ui.

* Fix placement of package level documentation

* Address pana warning

Co-authored-by: Reuben Turner <groovinchip@gmail.com>

* update base href

* Update PR template

* Update issue templates

* Update package description

* Scaffold (#52)

* remove split_view package

* create title_bar

* create sidebar

* create content_area

* remove titlebar in MainFlutterWindow.swift

* Update pubspec.lock

* create resizable_pane

* create resizable_pane_notifier

* Update scaffold.dart

* Update macos_ui.dart

* Update main.dart

* [example] add resizable pane

* add dividerColor to MacosThemeData

* use BoxDecoration in Sidebar

* use SafeArea in ContentArea

* update ResizablePane

* update scaffold

* make `ResizablePane` `const`

* make `Sidebar` `const`

* make `TitleBar` `const`

* make `Scaffold` `const`

* Update CHANGELOG.md

* Update resizable_pane.dart

* add maybeOf to scaffold

* Update macos_ui.dart

* Update scaffold.dart

* add `scaffoldBreakpoint` to `sidebar`

* use sidebar breakpoint and toggling in `Scaffold`

* use `scaffoldBreakpoint` in `ResizablePane`

* update example

* Address some requested changes

Co-authored-by: Reuben Turner <groovinchip@gmail.com>

* Text field (#62)

* Implemented TextField

And fixed macos resolve color

* Formatted code

* Update README.md

* Border

* Fixed text field border to match the latest design

* Focused border animation

* Fix formatting error

* Update placeholder text in demo

* Update version, CHANGELOG.md

Co-authored-by: Reuben Turner <groovinchip@gmail.com>

* Implement mouse cursors (#67)

* Implemente mouse cursors

* Removed mouse cursor from checkbox and radio button

* Implemented mouse cursor for text field

* Bump version

* Implement Tooltip (#68)

* Implement tooltip

* Bump version and update readme

* Format files

* Fixed typo

* Update Scaffold images (#72)

* Update Scaffold images

* Address analyzer warnings

* Constructors first
* Remove unnecessary statement

* Adjust failing score (#75)

* Adjust failing score

* Address warning

* Run dartfmt

* Re-adjust scoring

* Re-adjust scoring again

* Re-adjust scoring again!

* Use correct score

* Adjust spacing between elements in demo (#76)

* Update documentation (#77)

* update `resizable_pane_notifier` documentation

* update `ScaffoldScope` documentation

* Update CHANGELOG.md

* Move to v 0.1.0

* Run optimize imports and dartfmt on all files

Co-authored-by: Bruno D'Luka <45696119+bdlukaa@users.noreply.github.com>
Co-authored-by: Harshvardhan Singh Bhadouria <66870883+harshvsb1105@users.noreply.github.com>
Co-authored-by: Leslie Arkorful <lesliearkorful@gmail.com>
  • Loading branch information
4 people committed May 13, 2021
1 parent 1424f61 commit 4ac60ac
Show file tree
Hide file tree
Showing 89 changed files with 6,672 additions and 25 deletions.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Description**
<!-- Write a clear and concise description of what the bug is. -->

**Steps To Reproduce**
<!-- Document the exact steps to reproduce the behavior in a numbered list, like so:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error -->

**Expected behavior**
<!-- Write a clear and concise description of what you expected to happen. -->

**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->

**Logs**
<!-- Post the full error log here -->
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Documentation Update
about: Request an update to the macos_ui documentation
title: ''
labels: documentation, enhancement, good first issue
assignees: ''

---


10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Documentation
about: Propose or request an update to the macos_ui documentation
title: ''
labels: documentation, enhancement, good first issue
assignees: ''

---


10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/new-widget.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: New Widget
about: Request a new widget
title: ''
labels: good first issue, new widget
assignees: ''

---


10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

## Pre-launch Checklist

- [ ] I have run `dartfmt` on all changed files
- [ ] I have run "optimize/organize imports" on all changed files
- [ ] I have addressed all analyzer warnings as best I could
- [ ] I have added/updated relevant documentation
- [ ] I have incremented the package version as appropriate and updated `CHANGELOG.md` with my changes
- [ ] I have run `flutter pub publish --dry-run` and addressed any warnings
34 changes: 34 additions & 0 deletions .github/workflows/gh_pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: GH-Pages
on:
push:
branches: [ dev, stable, gh-pages ]
pull_request:
branches: [ dev, stable ]

jobs:
build:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ github.token }}
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v1
with:
channel: stable
- name: Install Dependencies
run: flutter pub get
working-directory: ./example
- name: Build Web
run: flutter build web
working-directory: ./example
- name: Deploy
run: |
cd example/build/web
git init
git config user.name "GroovinChip"
git config user.email "groovinchip@github.com"
git remote add secure-origin https://username:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
git checkout -b gh-pages
git add .
git commit -m "update"
git push --force secure-origin gh-pages
39 changes: 39 additions & 0 deletions .github/workflows/pana_analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Pana Analysis
on: [pull_request, workflow_dispatch]

jobs:

package-analysis:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- uses: axel-op/dart-package-analyzer@v3
# set an id for the current step
id: analysis
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}

# You can then use this id to retrieve the outputs in the next steps.
# The following step shows how to exit the workflow with an error if the total score in percentage is below 50:
- name: Check scores
env:
# NB: "analysis" is the id set above. Replace it with the one you used if different.
TOTAL: ${{ steps.analysis.outputs.total }}
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
run: |
PERCENTAGE=$(( $TOTAL * 100 / $TOTAL_MAX ))
if (( $PERCENTAGE < 100 ))
then
echo Score too low!
exit 1
fi
# This step is useful for PR's coming from forks. It takes the raw JSON and formats a report from it.
- name: Format scores json
env:
JSON_OUTPUT: ${{ steps.analysis.outputs.json_output }}
run: |
TOTAL_SCORE=$(jq -r '.scores.grantedPoints' <<< "$JSON_OUTPUT")
65 changes: 63 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,64 @@
## [0.0.1] - TODO: Add release date.
## [0.1.0]
* pub.dev release

* TODO: Describe initial release.
## [0.0.13]
* Documentation for `ScaffoldScope`

## [0.0.12]
* Implement `Tooltip`
* Add mouse cursors to help button, push button and `TextField`

## [0.0.11]
* Implement `TextField`

## [0.0.10]
* Revamp `Scaffold` [#26] (https://github.com/GroovinChip/macos_ui/issues/26)

## [0.0.9+1]
* `CapacityIndicator` colors can now be set on its constructor
* Accessibility support for most of the widgets
* Diagnostics Properties (dev tools) for most of the widgets

## [0.0.9]
* Implemented `HelpButton`
* Fixed [#49](https://github.com/GroovinChip/macos_ui/issues/49)

## [0.0.7]
* Implemented `Checkbox`
* Implemented `RadioButton`

## [0.0.6]
* Update `Typography` with correct letter spacing and font weights
* Add `brightnessOf` and `maybeBrightnessOf` functions to `MacosTheme`

## [0.0.5]
* Adds the `PushButton` widget along with `PushButtonTheme` and `PushButtonThemeData`
* Removes the `height` property from `Typography`'s `TextStyle`s
* Updates `Typography.headline`'s weight and letter spacing

## [0.0.4]
* Major theme refactor that more closely resembles flutter/material and flutter/cupertino
* The `Style` class is now `MacosThemeData`
* `MacosTheme` is now a `StatelessWidget` that returns a private `_InheritedMacosTheme`.
The static `MacosTheme.of(context)` is now defined here.
* `MacosApp` now takes a `theme` and `darkTheme` rather than `style` and `darkStyle`.
Additionally, there are minor changes to the way `MacosApp` is built that more closely
resemble how `MaterialApp` is built.

## [0.0.3]

* Implemented `Checkbox`
* Implemented `ProgressCircle` and `ProgressBar`
* Implemented the `Switch` widget

## [0.0.2]

* `Scaffold` widget
* Fix `Typography` so that text color is shown appropriately based on Brightness

## [0.0.1]

* Project creation
* `MacosApp` widget
* Basic `Typography`
* Basic theming via `MacosTheme` and `Style`
16 changes: 16 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Contributing to macos_ui

Thanks for checking out `macos_ui`! We appreciate your interest in contributing! Here are some
basic things you'll need to know to get started.

### Branch structure

The default branch for this project is `dev`. Your work should take place in a branch checked out
from here. `stable` is reserved for releases to pub.dev. All pull requests should therefore
target `dev`.

### Versioning

`macos_ui` uses semantic versioning. However, at this time (Apr 17, 2021), `macos_ui` is still a
very early project. As such, we are only incrementing the `revision` placement (0.0.X). Once `macos_ui`
is stable or robust enough for pub releases, we will start incrementing the minor and major revisions.
22 changes: 21 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1 +1,21 @@
TODO: Add your license here.
MIT License

Copyright (c) [2021] [Reuben Turner]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading

0 comments on commit 4ac60ac

Please sign in to comment.