Skip to content

Commit 249cced

Browse files
GroovinChipwhiplashoojonsawstMerlHinjtdLab
authored
release: Version 1.10.0 (#355)
* Sidebar top (#244) * chore: refactor dir structure * feat: Sidebar top & updated default control color * feat(example): search results in top * chore: bump version, changelog * chore: run flutter pub upgrade * Update CHANGELOG.md * Update lib/src/layout/sidebar/sidebar.dart Co-authored-by: Minas Giannekas <[email protected]> * chore: update issue templates * chore: update pr_prelaunch script * Flutter 3 upgrade & MacosColor update (#248) * chore: Update pubspec.yaml files to support Flutter 3 * chore: run dart fix --apply * chore: migrate Scrollbar to Flutter 3 * chore: update flutter_lints & subsequent fixes * feat: add missing functions to MacosColor the Color class has a number of functions that MacosColor had not implemented * chore: use super parameters * chore: update changelog * chore: tweak example app Uses the new PlatformMenuBar. Also update product name. * chore: small changelog tweak * chore: run flutter format . * chore: run dart fix --apply * chore: run flutter format . * chore: remove unused code in example * chore: remove unused import * chore: remove unused code * Starter app (#251) * chore: Update pubspec.yaml files to support Flutter 3 * chore: run dart fix --apply * chore: migrate Scrollbar to Flutter 3 * chore: update flutter_lints & subsequent fixes * feat: add missing functions to MacosColor the Color class has a number of functions that MacosColor had not implemented * chore: use super parameters * chore: update changelog * chore: tweak example app Uses the new PlatformMenuBar. Also update product name. * chore: small changelog tweak * chore: run flutter format . * chore: run dart fix --apply * chore: run flutter format . * chore: remove unused code in example * chore: remove unused import * feat: first pass at starter app brick * chore: improve starter app brick * chore: fix widget test in starter app * feat: conditional prompts & running pub get * chore: finalize brick * chore: run flutter format * chore: exclude starter app from analyzer * Full screen opaque toolbar issue (closes #249) (#252) * fix: don't show app window toolbar when in full screen * chore: update README * chore: update brick app window code * chore: update pubspec and changelog * chore: update actions Co-authored-by: Reuben Turner <[email protected]> * Version 1.4.1 (#255) * Sidebar top (#244) * chore: refactor dir structure * feat: Sidebar top & updated default control color * feat(example): search results in top * chore: bump version, changelog * chore: run flutter pub upgrade * Update CHANGELOG.md * Update lib/src/layout/sidebar/sidebar.dart Co-authored-by: Minas Giannekas <[email protected]> * chore: update issue templates * chore: update pr_prelaunch script * Flutter 3 upgrade & MacosColor update (#248) * chore: Update pubspec.yaml files to support Flutter 3 * chore: run dart fix --apply * chore: migrate Scrollbar to Flutter 3 * chore: update flutter_lints & subsequent fixes * feat: add missing functions to MacosColor the Color class has a number of functions that MacosColor had not implemented * chore: use super parameters * chore: update changelog * chore: tweak example app Uses the new PlatformMenuBar. Also update product name. * chore: small changelog tweak * chore: run flutter format . * chore: run dart fix --apply * chore: run flutter format . * chore: remove unused code in example * chore: remove unused import * chore: remove unused code * Starter app (#251) * chore: Update pubspec.yaml files to support Flutter 3 * chore: run dart fix --apply * chore: migrate Scrollbar to Flutter 3 * chore: update flutter_lints & subsequent fixes * feat: add missing functions to MacosColor the Color class has a number of functions that MacosColor had not implemented * chore: use super parameters * chore: update changelog * chore: tweak example app Uses the new PlatformMenuBar. Also update product name. * chore: small changelog tweak * chore: run flutter format . * chore: run dart fix --apply * chore: run flutter format . * chore: remove unused code in example * chore: remove unused import * feat: first pass at starter app brick * chore: improve starter app brick * chore: fix widget test in starter app * feat: conditional prompts & running pub get * chore: finalize brick * chore: run flutter format * chore: exclude starter app from analyzer * Full screen opaque toolbar issue (closes #249) (#252) * fix: don't show app window toolbar when in full screen * chore: update README * chore: update brick app window code * chore: update pubspec and changelog * chore: update actions Co-authored-by: Reuben Turner <[email protected]> Co-authored-by: Minas Giannekas <[email protected]> * chore: repository, homepage fields * chore: update readme * feat(starter_app): Version 1.1.0 * feat(starter_app): multi-window support * feat: starter_app 1.2.1 * chore: move brick to its own repo & go back to old pana action * Expand remaining part of row in MacosListTile (#265) * Expand remaining part of row #264 * Increment to version 1.4.2 * End sidebar (#267) * chore: add missing trailing comma * chore: improve MacosIconButton animation curve * chore: remove false_secrets from pubspec.yaml * feat: end sidebar Also fixes the tests portion of the pr_prelaunch_tasks script * feat: add "isEndSidebarShown" to MacosWindowScope * fix: Correct the placement of the leading widget in disclosure sidebar items (#272) * chore: Update changelog * test: fix issues with date_picker_test * Account for cases where the month and the day are the same * Fix offstage warnings by removing tester taps that disabled the caret controls * Update Actions (#279) * Update flutter_analysis.yml * Update dart_code_metrics.yaml * Update gh_pages.yml * Update pana_analysis.yml * Update codecov.yaml * fix syntax issue * Version 1.6.0 - `MacosTabView` & `MacosSegmentedControl` (#273) * feat: MacosTabView & MacosSegmentedControl * chore: fixup scripts * test: tests for segmented control & tab view * chore: remove unused code * chore: run flutter format . * chore: bump code metrics * docs: dartdoc updates * docs: fix a documentation error * chore: run flutter format . * refactor: make active property of MacosTab optional, since it is handled via MacosSegmentedControl * chore: fix import change * refactor: change colors to match default native app design * docs: update tab view screenshot in readme * chore: update README example for MacosTabView * chore: fix typo in MacosSegmentedControl * chore: fix typo in MacosSegmentedControl docstring * test: remove explicitly setting active property of MacosTabs Co-authored-by: Minas Giannekas <[email protected]> * Version 1.7.0: `MacosImageIcon` & sidebar updates (#274) * feat: MacosTabView & MacosSegmentedControl * chore: fixup scripts * test: tests for segmented control & tab view * chore: remove unused code * chore: run flutter format . * chore: bump code metrics * docs: dartdoc updates * docs: fix a documentation error * chore: run flutter format . * feat: MacosImageIcon & sidebar updates * test: fix issues with date_picker_test * Account for cases where the month and the day are the same * Fix offstage warnings by removing tester taps that disabled the caret controls * refactor: make active property of MacosTab optional, since it is handled via MacosSegmentedControl * chore: fix import change * refactor: change colors to match default native app design * docs: update tab view screenshot in readme * chore: fix README * test: fix date picker test Co-authored-by: Minas Giannekas <[email protected]> * chore: fix typo in pr template * feat: gh action to auto-generate releases on push to stable * chore: update release action with latest from stable * feat: add action to publish to pub * docs: update readme * Addresses #237 * Adds MacosColorWell to selectors section * Adds code snippets for date & time pickers * fix: 1.7.1 Fixes issue where end sidebar window breakpoint wasn’t being respected * Tab view padding (#285) * fix: use prepared title wrapped with a DefaultTextStyle instead of the raw title (#289) * chore: fix typo Closes #290 * feat: add `backgroundColor` to `MacosSheet` (#291) * chore: fix Flutter 3.3 warnings * fix: address ScrollController bug in MacosPopupButton (#300) * fix(tests): account for Jan -> Dec & Dec -> Jan date_picker_test.dart was failing due to not accounting for going from January to December and vice-versa. * fix(plugin): Ensure the native color panel releases when closed * Update flutter_analysis.yml Closes #334 * Various bug fixes & minor updates (#338) * Macos slider (#337) * chore: run flutter format . * chore: fix analysis * chore: Bump version and update CHANGELOG.md * chore: Update images to self taken ones as MacOS images are outdated * fix: fix position offset by a small value * fix: PR review feedback * Update lib/src/indicators/slider.dart --------- Co-authored-by: Reuben Turner <[email protected]> * Adds `intialDate` to `MacosDatePicker` (#329) * Adds `intialDate` to `MacosDatePicker` * Bumps `macos_ui` version to `1.7.7` * Apply suggestions from code review * spelling correction --------- Co-authored-by: Reuben Turner <[email protected]> * feat: implement `MacosDisclosureButton` (#326) * chore: update `.gitignore` Ignores FVM and DCM * docs(MacosApp): fix constructor docs error * make CapacityIndicator work with other values of splits, not only splits:10 (#305) * make CapacityIndicator work with other values of splits, not only with splits:10 * add unit test for CapacityIndicator with splits 20 * add bugfix line to CHANGELOG * update version to 1.7.7, move change in CHANGELOG.md to version 1.7.7 * add test to check the number of filled segments of discrete CapacityIndicator * fix warnings in copied sources mock_canvas.dart and recording_canvas.dart * format new and changed files * Update CHANGELOG.md Co-authored-by: Reuben Turner <[email protected]> * format indicators_page.dart, run flutter pub get to update lock files * set dart < 3.0.0 * revert change of spec checksums in Podfile.lock --------- Co-authored-by: Reuben Turner <[email protected]> * Scrollbar overhaul & more (#342) * feat: overhaul `MacosScrollBar` * feat: update theme api & docs * chore: more api cleanup * chore: update changelog * test: add initial test and todo's for new scrollbar * chore: address DCM warnings * chore: run pub upgrade * chore: update `flutter_analysis` badge * fix: incorrect calculation for hiding sidebar top * fix: sidebar bottom incorrect check * chore: update `.gitignore` Ignores FVM and DCM # Conflicts: # .gitignore * chore: move `scrollbar.dart` into /layout Didn't really make sense for it to be in /indicators * feat: implement `handleHover` & `handleHoverExit` This also removes the need for the `handleThumbPress` methods. I also did some minor renaming. * try to fix DCM action * trying again via pub upgrade * Revert "try to fix DCM action" This reverts commit 83c9fad. * use latest DCM & ignore 2 files * use latest DCM action --------- Co-authored-by: Minas Giannekas <[email protected]> Co-authored-by: Jon Saw <[email protected]> Co-authored-by: Minas Giannekas <[email protected]> Co-authored-by: st merlhin <[email protected]> Co-authored-by: jtdLab <[email protected]> Co-authored-by: Norbert Kozsir <[email protected]> Co-authored-by: Elijah Luckey <[email protected]> Co-authored-by: Umar Salim <[email protected]> Co-authored-by: Alfred Schilken <[email protected]>
1 parent 02cd183 commit 249cced

File tree

69 files changed

+3372
-787
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+3372
-787
lines changed

.github/workflows/dart_code_metrics.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
- uses: actions/checkout@v3
1010

1111
- name: Run Dart Code Metrics
12-
uses: dart-code-checker/dart-code-metrics-action@v2
12+
uses: dart-code-checker/dart-code-metrics-action@v3
1313
with:
1414
github_token: ${{ secrets.GITHUB_TOKEN }}
1515
pull_request_comment: true

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
.pub-cache/
3232
.pub/
3333
build/
34+
.fvm/
35+
metrics
3436

3537
# Android related
3638
**/android/**/gradle-wrapper.jar

CHANGELOG.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
## [1.10.0]
2+
🚨 Breaking Changes 🚨
3+
* `MacosScrollbar` has been completely overhauled and now resembles the native macOS scrollbar in appearance and
4+
behavior. Previously, it wrapped the material scrollbar, and now creates a custom scrollbar that extends
5+
`RawScrollbar`. This resulted in the removal of several material-based properties for the scrollbar, and
6+
`ContentArea.builder` is once again a `ScrollableWidgetBuilder`! 🎉
7+
* Removed material-based scrollbar properties from `MacosScrollbarThemeData`
8+
9+
Other changes:
10+
* Added implementation of `MacosDisclosureButton`
11+
* Fixed a bug where `CapacityIndicator` only worked correctly for splits = 10
12+
113
## [1.9.1]
214
* Adds optional `initialDate` to `MacosDatePicker`
315

@@ -7,14 +19,14 @@
719
## [1.8.0]
820
🚨 Breaking Changes 🚨
921
* `ContentArea.builder` has been changed from a `ScrollableWidgetBuilder` to a `WidgetBuilder` due to
10-
changes in Flutter 3.7. The `MacosScrollBar` widget needs to undergo radical changes in order to achieve the
22+
changes in Flutter 3.7. The `MacosScrollbar` widget needs to undergo radical changes in order to achieve the
1123
native macOS scrollbar look and feel in the future, so this will be revisited at that time.
1224

13-
Other changes
25+
Other changes:
1426
* Per Flutter 3.7.0: Replace deprecated `MacosTextField.toolbarOptions` with `MacosTextField.contextMenuBuilder`
1527
* Ensure the color panel releases when it is closed
1628
* Avoid render overflows in the `Sidebar` when the window height is resized below a certain threshold ([#325](https://github.com/GroovinChip/macos_ui/issues/325))
17-
* Update `MacosScrollBar.thumbVisibility` with the latest change introduced in Flutter 3.7
29+
* Update `MacosScrollbar.thumbVisibility` with the latest change introduced in Flutter 3.7
1830
* Update `README.md` to address issues [#325](https://github.com/GroovinChip/macos_ui/issues/325) & [#332](https://github.com/GroovinChip/macos_ui/issues/332)
1931

2032
## [1.7.6]
@@ -238,7 +250,7 @@ leading widget, and the font size of the item's label widget according to the gi
238250
* Added `==` and `hashCode` to various classes
239251

240252
## [0.7.1]
241-
* Add generics support to `MacosRadioButton` - Thank you [Sacha Arbonel](https://github.com/sachaarbonel)!
253+
* Add generics support to `MacosRadioButton` - Thank you, [Sacha Arbonel](https://github.com/sachaarbonel)!
242254

243255
## [0.7.0+2]
244256
* Add note in docs that a `Builder` is required for manual sidebar toggling to work.
@@ -295,7 +307,7 @@ leading widget, and the font size of the item's label widget according to the gi
295307
* `Switch` -> `MacosSwitch`
296308

297309
## [0.2.4]
298-
* Fix textfield prefix icon alignment
310+
* Fix text field prefix icon alignment
299311

300312
## [0.2.3]
301313
* Add `canvasColor` to `MacosThemeData`. `Scaffold` now uses this as its default background color.
@@ -327,7 +339,7 @@ leading widget, and the font size of the item's label widget according to the gi
327339
* Updated the theme api
328340
* Properties in `MacosThemeData` and in `Typography` can't be null
329341
* Renamed `DynamicColorX` to `MacosDynamicColor`
330-
* Added the method `lerp` on all theme datas.
342+
* Added the method `lerp` on all theme data classes.
331343

332344
## [0.1.1]
333345
* Implemented `Label` ([#61](https://github.com/GroovinChip/macos_ui/issues/61))

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Guides, codelabs, and other documentation can be found at https://macosui.dev
99
[![pub package](https://img.shields.io/pub/v/macos_ui.svg)](https://pub.dev/packages/macos_ui)
1010
[![pub package](https://img.shields.io/pub/publisher/macos_ui.svg)](https://pub.dev/packages/macos_ui)
1111

12-
[![Flutter Analysis](https://github.com/GroovinChip/macos_ui/actions/workflows/flutter_analysis.yml/badge.svg)](https://github.com/GroovinChip/macos_ui/actions/workflows/flutter_analysis.yml)
12+
[![Flutter Analysis](https://github.com/GroovinChip/macos_ui/actions/workflows/flutter_analysis.yml/badge.svg?branch=stable)](https://github.com/GroovinChip/macos_ui/actions/workflows/flutter_analysis.yml)
1313
[![Pana Analysis](https://github.com/GroovinChip/macos_ui/actions/workflows/pana_analysis.yml/badge.svg)](https://github.com/GroovinChip/macos_ui/actions/workflows/pana_analysis.yml)
1414
[![codecov](https://github.com/GroovinChip/macos_ui/actions/workflows/codecov.yaml/badge.svg)](https://github.com/GroovinChip/macos_ui/actions/workflows/codecov.yaml)
1515
[![codecov](https://codecov.io/gh/GroovinChip/macos_ui/branch/dev/graph/badge.svg?token=1SZGEVVMCH)](https://codecov.io/gh/GroovinChip/macos_ui)

analysis_options.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ analyzer:
88
plugins:
99
- dart_code_metrics
1010
exclude:
11-
- starter_app/**
11+
- test/mock_canvas.dart
12+
- test/recording_canvas.dart
1213

1314
dart_code_metrics:
1415
metrics:
@@ -25,3 +26,12 @@ dart_code_metrics:
2526
order:
2627
- constructors
2728
- public_fields
29+
- private-fields
30+
widgets-order:
31+
- const fields
32+
- init-state-method
33+
- did-change-dependencies-method
34+
- did-update-widget-method
35+
- private-methods
36+
- dispose-method
37+
- build-method

example/lib/main.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,11 +171,11 @@ class _WidgetGalleryState extends State<WidgetGallery> {
171171
],
172172
),
173173
minWidth: 200,
174-
builder: (context, _) {
174+
builder: (context, scrollController) {
175175
return SidebarItems(
176176
currentIndex: pageIndex,
177177
onChanged: (i) => setState(() => pageIndex = i),
178-
scrollController: ScrollController(),
178+
scrollController: scrollController,
179179
itemSize: SidebarItemSize.large,
180180
items: [
181181
const SidebarItem(

example/lib/pages/buttons_page.dart

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class _ButtonsPageState extends State<ButtonsPage> {
1616
String popupValue = 'One';
1717
String languagePopupValue = 'English';
1818
bool switchValue = false;
19+
bool isDisclosureButtonPressed = false;
1920
final _tabController = MacosTabController(initialIndex: 0, length: 3);
2021

2122
@override
@@ -70,9 +71,9 @@ class _ButtonsPageState extends State<ButtonsPage> {
7071
},
7172
),
7273
ContentArea(
73-
builder: (context) {
74+
builder: (context, scrollController) {
7475
return SingleChildScrollView(
75-
// controller: _,
76+
controller: scrollController,
7677
padding: const EdgeInsets.all(20),
7778
child: Column(
7879
children: [
@@ -92,6 +93,23 @@ class _ButtonsPageState extends State<ButtonsPage> {
9293
],
9394
),
9495
const SizedBox(height: 20),
96+
const Text('MacosDisclosureButton'),
97+
const SizedBox(height: 8),
98+
Row(
99+
mainAxisAlignment: MainAxisAlignment.center,
100+
children: [
101+
MacosDisclosureButton(
102+
isPressed: isDisclosureButtonPressed,
103+
onPressed: () {
104+
debugPrint('click');
105+
setState(() {
106+
isDisclosureButtonPressed =
107+
!isDisclosureButtonPressed;
108+
});
109+
}),
110+
],
111+
),
112+
const SizedBox(height: 20),
95113
const Text('MacosIconButton'),
96114
const SizedBox(height: 8),
97115
Row(
@@ -150,7 +168,7 @@ class _ButtonsPageState extends State<ButtonsPage> {
150168
),
151169
children: [
152170
ContentArea(
153-
builder: (context) {
171+
builder: (context, _) {
154172
return Center(
155173
child: PushButton(
156174
buttonSize: ButtonSize.large,

example/lib/pages/colors_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class _ColorsPageState extends State<ColorsPage> {
2828
),
2929
children: [
3030
ContentArea(
31-
builder: (context) {
31+
builder: (context, scrollController) {
3232
return SingleChildScrollView(
3333
padding: const EdgeInsets.all(20),
3434
child: Column(

example/lib/pages/dialogs_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class _DialogsPageState extends State<DialogsPage> {
2929
),
3030
children: [
3131
ContentArea(
32-
builder: (context) {
32+
builder: (context, scrollController) {
3333
return SingleChildScrollView(
3434
padding: const EdgeInsets.all(20),
3535
child: Center(

example/lib/pages/fields_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class _FieldsPageState extends State<FieldsPage> {
2828
),
2929
children: [
3030
ContentArea(
31-
builder: (context) {
31+
builder: (context, scrollController) {
3232
return SingleChildScrollView(
3333
padding: const EdgeInsets.all(20),
3434
child: Column(

0 commit comments

Comments
 (0)