The developer's choice of 7 Nov 2026 (the mockup's variant E): a tap on another destination sends a radial glow in the app's colour over the bar from that destination's centre, solid to 35 % of its radius and gone at 70 %, growing to cover the bar (cubic(.2, .7, .2, 1)) while it fades from half its strength in dark mode and a third in light, over 1.2 s, behind the destinations and clipped to the bar. None for the destination already chosen, none with animations off, and none for a tab changed without a tap (a link, back): the wave answers the finger. The destination chosen takes the app's colour, its indicator tinted 22 % with it, without Material's ripple or the indicator growing; the bar's top corners are rounded, 20 dp, the screen showing through them. Each app gives the frame its colour (NavigationFrame's accent, from PaletteColor): Learn's purple, its icon's last colour, Todo's strawberry, Train's carrot and Meditate's fern, their screens' wash. For trying it on a phone, a debug build's Settings has a section Navigation bar (debug), halkyon_ui's NavigationBarDebugSection, switching live, in memory alone: the variant (A Material only, C the wave with Material's fill, E without it, F without the indicator too), the wave's time (0.7 to 2 s) and the corners (0 to 28 dp). Release builds never read it and show shippingNavigationBarStyle, the debug section's start: to remove it, delete the section from the four Settings screens and debugNavigationBarStyle, and let effectiveNavigationBarStyle return the shipping style. Whats-New: Tapping a tab sends a soft wave in the app's colour across the navigation bar, now with rounded corners. Whats-New-De: Ein Tipp auf einen Tab schickt eine sanfte Welle in der Farbe der App über die Navigationsleiste, jetzt mit abgerundeten Ecken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
51 lines
2.1 KiB
Dart
51 lines
2.1 KiB
Dart
/// Halkyon's look, shared by its apps: the theme around cobalt and copper
|
|
/// (`appTheme`), the bundled Noto Sans (`appFontFamily`), Material 3's
|
|
/// window sizes (`WindowSize`), and the widgets every app's screens are
|
|
/// built of, with their texts in English and German
|
|
/// (`HalkyonUiLocalizations`, whose delegate an app adds to its own).
|
|
library;
|
|
|
|
export 'l10n/halkyon_ui_localizations.dart';
|
|
export 'src/layout/readable_width.dart';
|
|
export 'src/layout/window_size.dart';
|
|
export 'src/theme/app_fonts.dart';
|
|
export 'src/theme/app_theme.dart';
|
|
export 'src/theme/brand.dart';
|
|
export 'src/theme/palette_color.dart';
|
|
export 'src/theme/theme_extras.dart';
|
|
export 'src/widget/adaptive_sheet.dart';
|
|
export 'src/widget/app_loading_indicator.dart';
|
|
export 'src/widget/brand_wordmark.dart';
|
|
export 'src/widget/chevron_field.dart';
|
|
export 'src/widget/collapsing_row.dart';
|
|
export 'src/widget/confirm_dialog.dart';
|
|
export 'src/widget/count_badge.dart';
|
|
export 'src/widget/count_stepper.dart';
|
|
export 'src/widget/day_calendar_icon.dart';
|
|
export 'src/widget/empty_list_message.dart';
|
|
export 'src/widget/explained_title.dart';
|
|
export 'src/widget/field_label.dart';
|
|
export 'src/widget/flush_navigation_bar.dart';
|
|
export 'src/widget/folding_tabs.dart';
|
|
export 'src/widget/found_by_id.dart';
|
|
export 'src/widget/help_button.dart';
|
|
export 'src/widget/keyboard_back_on_resume.dart';
|
|
export 'src/widget/launch_screen.dart';
|
|
export 'src/widget/lift_while_dragged.dart';
|
|
export 'src/widget/more_info_sheet.dart';
|
|
export 'src/widget/navigation_bar_style.dart';
|
|
export 'src/widget/navigation_frame.dart';
|
|
export 'src/widget/palette_color_picker.dart';
|
|
export 'src/widget/reorder_grip.dart';
|
|
export 'src/widget/reorder_toggle.dart';
|
|
export 'src/widget/screen_tint.dart';
|
|
export 'src/widget/scroll_hiding_fab.dart';
|
|
export 'src/widget/section_card.dart';
|
|
export 'src/widget/skeleton.dart';
|
|
export 'src/widget/sliver_centered.dart';
|
|
export 'src/widget/tab_visibility.dart';
|
|
export 'src/widget/text_limits.dart';
|
|
export 'src/widget/tinted_frame.dart';
|
|
export 'src/widget/title_with_kicker.dart';
|
|
export 'src/widget/top_gradient.dart';
|
|
export 'src/widget/undo_snack_bar.dart';
|