Update NavigationRailM3E implementation; update FAB and navigation sections to adapt to changes.
This commit is contained in:
parent
1cb404b4df
commit
83f5a02943
49 changed files with 1651 additions and 661 deletions
|
|
@ -1,7 +1,7 @@
|
|||
library fab_m3e;
|
||||
|
||||
export 'src/enums.dart';
|
||||
export 'src/fab_theme_m3e.dart' show FabTokensAdapter;
|
||||
export 'src/fab_m3e.dart';
|
||||
export 'src/extended_fab_m3e.dart';
|
||||
export 'src/fab_m3e.dart';
|
||||
export 'src/fab_menu_m3e.dart';
|
||||
export 'src/fab_theme_m3e.dart' show FabTokensAdapter;
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class ExtendedFabM3E extends StatelessWidget {
|
|||
final m = tokens.metrics(density);
|
||||
final bg = tokens.bg(kind);
|
||||
final fg = tokens.fg(kind);
|
||||
final shape = tokens.shape(shapeFamily, size, extended: true);
|
||||
final shape = tokens.shape(shapeFamily, size);
|
||||
|
||||
final minH = m.extendedHeight;
|
||||
final child = DefaultTextStyle.merge(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:m3e_design/m3e_design.dart';
|
||||
|
||||
import 'enums.dart';
|
||||
|
||||
@immutable
|
||||
|
|
@ -28,7 +29,8 @@ class _FabMetrics {
|
|||
|
||||
_FabMetrics _metricsFor(BuildContext context, FabM3EDensity density) {
|
||||
final theme = Theme.of(context);
|
||||
final m3e = theme.extension<M3ETheme>() ?? M3ETheme.defaults(theme.colorScheme);
|
||||
final m3e =
|
||||
theme.extension<M3ETheme>() ?? M3ETheme.defaults(theme.colorScheme);
|
||||
final sp = m3e.spacing;
|
||||
|
||||
double small = 40;
|
||||
|
|
@ -38,7 +40,10 @@ _FabMetrics _metricsFor(BuildContext context, FabM3EDensity density) {
|
|||
double icon = 24;
|
||||
|
||||
if (density == FabM3EDensity.compact) {
|
||||
small -= 4; regular -= 4; large -= 4; extH -= 4;
|
||||
small -= 4;
|
||||
regular -= 4;
|
||||
large -= 4;
|
||||
extH -= 4;
|
||||
}
|
||||
|
||||
return _FabMetrics(
|
||||
|
|
@ -93,11 +98,16 @@ class FabTokensAdapter {
|
|||
}
|
||||
|
||||
// Shapes
|
||||
ShapeBorder shape(FabM3EShapeFamily family, FabM3ESize size, {bool extended = false}) {
|
||||
final set = family == FabM3EShapeFamily.round ? _m3e.shapes.round : _m3e.shapes.square;
|
||||
if (extended) return StadiumBorder(side: BorderSide.none);
|
||||
ShapeBorder shape(FabM3EShapeFamily family, FabM3ESize size) {
|
||||
final set = family == FabM3EShapeFamily.round
|
||||
? _m3e.shapes.round
|
||||
: _m3e.shapes.square;
|
||||
// circular-ish fab: use large radius to approach circle; actual size enforced by constraints
|
||||
final radius = switch (size) { FabM3ESize.small => set.lg, FabM3ESize.regular => set.xl, FabM3ESize.large => set.xl };
|
||||
final radius = switch (size) {
|
||||
FabM3ESize.small => set.lg,
|
||||
FabM3ESize.regular => set.xl,
|
||||
FabM3ESize.large => set.xl
|
||||
};
|
||||
return RoundedRectangleBorder(borderRadius: radius);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue