use super::*;
pub(super) const fn icon_role_size(role: crate::ZsIconRole) -> Dp {
use crate::ZsIconRole::*;
Dp::new(match role {
Small | Navigation | Toolbar | Status => 16.0,
Standard => 18.0,
Large => 32.0,
Disclosure => 12.0,
TreeDisclosure => 8.0,
})
}
pub(super) const fn profile() -> PlatformComponentProfile {
PlatformComponentProfile {
style: ZsPlatformStyle::Gtk,
style_tokens: PlatformStyleTokenProfile {
radius: ZsuiRadiusTokens {
small: Dp::new(6.0),
medium: Dp::new(12.0),
large: Dp::new(18.0),
pill: Dp::new(999.0),
},
spacing: ZsuiSpacingTokens {
xs: Dp::new(4.0),
sm: Dp::new(8.0),
md: Dp::new(12.0),
lg: Dp::new(16.0),
xl: Dp::new(24.0),
content_gap: Dp::new(12.0),
content_padding: Dp::new(16.0),
page_padding: Dp::new(24.0),
},
controls: ZsuiControlMetrics {
compact_height: Dp::new(30.0),
standard_height: Dp::new(34.0),
touch_target: Dp::new(40.0),
navigation_row_height: Dp::new(34.0),
small_icon: Dp::new(16.0),
standard_icon: Dp::new(18.0),
},
},
typography: PlatformTypographyProfile {
body: ZsTypographyMetrics::new(14.0, 20.0, TextWeight::Regular),
caption: ZsTypographyMetrics::new(11.5, 16.0, TextWeight::Regular),
body_large: ZsTypographyMetrics::new(16.5, 22.0, TextWeight::Bold),
subtitle: ZsTypographyMetrics::new(19.0, 24.0, TextWeight::Bold),
window_title: ZsTypographyMetrics::new(25.5, 32.0, TextWeight::Bold),
title: ZsTypographyMetrics::new(19.0, 24.0, TextWeight::Bold),
title_large: ZsTypographyMetrics::new(25.5, 32.0, TextWeight::Bold),
display: ZsTypographyMetrics::new(25.5, 32.0, TextWeight::Bold),
button: ZsTypographyMetrics::new(14.0, 20.0, TextWeight::Regular),
icon: ZsTypographyMetrics::new(16.0, 20.0, TextWeight::Regular),
monospace: ZsTypographyMetrics::new(14.0, 20.0, TextWeight::Regular),
fallback: PlatformTypographyFallbackProfile {
source: "gtk_semantic_fallback",
ui_font_family: "Adwaita Sans",
small_font_family: "Adwaita Sans",
display_font_family: "Adwaita Sans",
monospace_font_family: "Monospace",
icon_font_family: "Adwaita Sans",
rasterization: "pango_cairo",
},
},
focus_visuals: PlatformFocusVisualProfile {
text_input_indicator_height: None,
outline_inset: Dp::new(1.0),
outline_width: Dp::new(2.0),
},
#[cfg(feature = "badge")]
badge: PlatformBadgeProfile {
dot_diameter: Dp::new(6.0),
minimum_diameter: Dp::new(18.0),
horizontal_padding: Dp::new(6.0),
vertical_padding: Dp::new(1.0),
icon_size: Dp::new(12.0),
digit_width: Dp::new(6.5),
text_line_height: Dp::new(16.0),
text_role: TextRole::Caption,
text_weight: TextWeight::Bold,
},
#[cfg(feature = "split-view")]
split_view: PlatformSplitViewProfile {
preferred_pane_width: Dp::new(260.0),
minimum_content_width: Dp::new(360.0),
divider_width: Dp::new(1.0),
scrim_alpha: 96,
pane_color: ColorRole::SurfaceRaised,
divider_color: ColorRole::Border,
},
base_control: PlatformBaseControlProfile {
metrics: ZsBaseControlMetrics {
body_line_height: Dp::new(20.0),
average_character_width: Dp::new(7.2),
button_minimum_width: Dp::new(86.0),
button_height: Dp::new(34.0),
button_radius: Dp::new(6.0),
button_padding_left: Dp::new(14.0),
button_padding_top: Dp::new(6.0),
button_padding_right: Dp::new(14.0),
button_padding_bottom: Dp::new(6.0),
text_input_minimum_width: Dp::new(80.0),
text_input_height: Dp::new(34.0),
text_input_radius: Dp::new(6.0),
text_input_padding_left: Dp::new(10.0),
text_input_padding_top: Dp::new(6.0),
text_input_padding_right: Dp::new(10.0),
text_input_padding_bottom: Dp::new(6.0),
check_minimum_width: Dp::new(86.0),
check_height: Dp::new(34.0),
check_indicator_size: Dp::new(20.0),
toggle_width: Dp::new(52.0),
toggle_height: Dp::new(34.0),
toggle_track_width: Dp::new(44.0),
toggle_track_height: Dp::new(24.0),
toggle_knob_off_size: Dp::new(16.0),
toggle_knob_on_size: Dp::new(18.0),
slider_minimum_width: Dp::new(120.0),
slider_height: Dp::new(34.0),
slider_track_height: Dp::new(4.0),
slider_thumb_size: Dp::new(18.0),
radio_minimum_width: Dp::new(86.0),
radio_height: Dp::new(34.0),
radio_indicator_size: Dp::new(20.0),
radio_dot_size: Dp::new(8.0),
progress_slot_height: Dp::new(16.0),
progress_track_height: Dp::new(4.0),
progress_indicator_height: Dp::new(4.0),
progress_indeterminate: crate::ZsProgressBarIndeterminateMetrics {
cycle_ms: 1_600,
frame_interval_ms: 16,
primary: crate::ZsProgressBarSegmentMetrics {
width_fraction: 0.3,
start_offset_fraction: -0.3,
end_offset_fraction: 1.0,
delay_ms: 0,
duration_ms: 1_600,
},
secondary: None,
easing: None,
},
selection_minimum_width: Dp::new(120.0),
selection_height: Dp::new(34.0),
time_picker_minimum_width: Dp::new(140.0),
},
},
#[cfg(feature = "label")]
section: PlatformSectionProfile {
composition: PlatformSectionComposition::GtkBoxedList,
heading_color: ColorRole::PrimaryText,
},
#[cfg(feature = "label")]
navigation: PlatformNavigationProfile {
composition: PlatformNavigationComposition::GtkBoxedSidebar,
behavior: PlatformNavigationBehavior::GtkAdaptive,
title_role: TextRole::Body,
preferred_pane_width: Dp::new(280.0),
horizontal_inset: Dp::new(32.0),
pane_color: ColorRole::Surface,
scrim_alpha: 48,
toggle_icon_size: Dp::new(16.0),
},
#[cfg(feature = "button")]
button: PlatformButtonProfile {
fill: ColorRole::SurfaceRaised,
stroke: Some(ColorRole::Border),
navigation_item: PlatformNavigationItemProfile {
composition: PlatformNavigationItemComposition::GtkSidebarRow,
metrics: ZsNavigationItemMetrics {
open_pane_width: Dp::new(280.0),
item_height: Dp::new(34.0),
icon_size: Dp::new(16.0),
icon_box_width: Dp::new(32.0),
text_leading_margin: Dp::new(6.0),
trailing_padding: Dp::new(10.0),
indicator_width: Dp::new(3.0),
indicator_height: Dp::new(20.0),
indicator_radius: Dp::new(2.0),
radius: Dp::new(6.0),
},
},
},
#[cfg(feature = "button")]
command_bar: PlatformCommandBarProfile {
bar_height: Dp::new(34.0),
button_height: Dp::new(34.0),
icon_size: Dp::new(16.0),
content_gap: Dp::new(6.0),
item_gap: Dp::new(6.0),
label_role: TextRole::Button,
},
#[cfg(feature = "accordion")]
accordion: PlatformAccordionProfile {
header_height: Dp::new(34.0),
header_padding_left: Dp::new(12.0),
chevron_gap: Dp::new(8.0),
chevron_button_size: Dp::new(28.0),
chevron_glyph_size: Dp::new(12.0),
chevron_margin_right: Dp::new(3.0),
},
#[cfg(feature = "tabs")]
tabs: PlatformTabProfile {
composition: PlatformTabComposition::GtkTabBar,
metrics: ZsTabViewMetrics {
strip_height: Dp::new(42.0),
header_top_padding: Dp::new(4.0),
item_height: Dp::new(34.0),
content_padding: Dp::new(12.0),
outer_inset: Dp::new(6.0),
item_gap: Dp::new(0.0),
horizontal_padding: Dp::new(12.0),
icon_size: Dp::new(16.0),
icon_gap: Dp::new(8.0),
minimum_item_width: Dp::new(72.0),
maximum_item_width: Dp::new(220.0),
radius: Dp::new(8.0),
selection_indicator_height: Dp::new(0.0),
},
label_role: TextRole::Button,
arrow_selects: false,
supports_home_end_focus: true,
cycle_shortcut: PlatformTabCycleShortcut::ControlPage,
},
#[cfg(feature = "dialog")]
dialog: PlatformDialogProfile {
composition: PlatformDialogComposition::GtkTrailingActions,
metrics: ZsContentDialogMetrics {
minimum_width: Dp::new(340.0),
maximum_width: Dp::new(480.0),
minimum_height: None,
maximum_height: None,
viewport_margin: Dp::new(24.0),
content_padding: Dp::new(24.0),
title_gap: Dp::new(8.0),
action_gap: Dp::new(24.0),
button_gap: Dp::new(8.0),
button_height: Dp::new(34.0),
minimum_button_width: Dp::new(86.0),
separator_thickness: Dp::new(0.0),
surface_radius: Dp::new(12.0),
button_radius: Dp::new(6.0),
},
scrim_alpha: 104,
estimated_glyph_width: Dp::new(8.0),
estimated_label_padding: Dp::new(28.0),
},
#[cfg(feature = "flyout")]
flyout: PlatformFlyoutProfile {
composition: PlatformFlyoutComposition::GtkPopover,
viewport_margin: Dp::new(12.0),
content_padding: Dp::new(16.0),
surface_radius: Dp::new(12.0),
target_gap: Dp::new(4.0),
tail_size: Dp::new(10.0),
shadow_offset: Dp::new(2.0),
shadow_alpha: 34,
automatic_placement: crate::ZsFlyoutPlacement::Bottom,
},
#[cfg(feature = "menu-flyout")]
menu_flyout: PlatformMenuFlyoutProfile {
metrics: ZsMenuFlyoutMetrics {
minimum_width: Dp::new(184.0),
maximum_width: Dp::new(380.0),
viewport_margin: Dp::new(8.0),
target_gap: Dp::new(4.0),
surface_padding: Dp::new(6.0),
row_height: Dp::new(36.0),
separator_height: Dp::new(9.0),
horizontal_padding: Dp::new(10.0),
indicator_width: Dp::new(24.0),
accelerator_gap: Dp::new(20.0),
submenu_width: Dp::new(20.0),
icon_size: Dp::new(16.0),
surface_radius: Dp::new(12.0),
row_radius: Dp::new(7.0),
shadow_offset: Dp::new(3.0),
shadow_alpha: 34,
submenu_open_delay_ms: 225,
},
},
#[cfg(feature = "info-bar")]
info_bar: PlatformInfoBarProfile {
composition: PlatformInfoBarComposition::GtkBanner,
metrics: ZsInfoBarMetrics {
minimum_height: Dp::new(48.0),
horizontal_padding: Dp::new(12.0),
vertical_padding: Dp::new(6.0),
content_gap: Dp::new(10.0),
control_gap: Dp::new(8.0),
control_height: Dp::new(34.0),
icon_size: Dp::new(18.0),
accent_width: Dp::new(0.0),
surface_radius: Dp::new(0.0),
control_radius: Dp::new(17.0),
title_line_height: Dp::new(18.0),
message_line_height: Dp::new(16.0),
average_character_width: Dp::new(7.2),
},
surface_alpha: 28,
},
#[cfg(feature = "teaching-tip")]
teaching_tip: PlatformTeachingTipProfile {
composition: PlatformTeachingTipComposition::GtkPopover,
metrics: ZsTeachingTipMetrics {
minimum_width: Dp::new(240.0),
maximum_width: Dp::new(320.0),
viewport_margin: Dp::new(12.0),
horizontal_padding: Dp::new(16.0),
vertical_padding: Dp::new(12.0),
content_gap: Dp::new(6.0),
control_gap: Dp::new(10.0),
control_height: Dp::new(34.0),
title_line_height: Dp::new(20.0),
subtitle_height: Dp::new(38.0),
average_character_width: Dp::new(7.2),
surface_radius: Dp::new(12.0),
control_radius: Dp::new(8.0),
tail_size: Dp::new(10.0),
target_gap: Dp::new(4.0),
},
shadow_alpha: 34,
},
#[cfg(feature = "toast")]
toast: PlatformToastProfile {
composition: PlatformToastComposition::GtkToast,
metrics: ZsToastMetrics {
maximum_width: Dp::new(440.0),
viewport_margin: Dp::new(24.0),
bottom_margin: Dp::new(24.0),
horizontal_padding: Dp::new(16.0),
vertical_padding: Dp::new(10.0),
control_gap: Dp::new(8.0),
control_height: Dp::new(34.0),
surface_radius: Dp::new(12.0),
control_radius: Dp::new(17.0),
line_height: Dp::new(20.0),
average_character_width: Dp::new(7.2),
},
shadow_alpha: 34,
},
#[cfg(feature = "breadcrumb")]
breadcrumb: PlatformBreadcrumbProfile {
metrics: ZsBreadcrumbMetrics {
control_height: Dp::new(34.0),
horizontal_padding: Dp::new(10.0),
minimum_item_width: Dp::new(36.0),
separator_width: Dp::new(20.0),
icon_size: Dp::new(16.0),
radius: Dp::new(6.0),
character_width: Dp::new(7.0),
label_measurement_guard: Dp::new(8.0),
popup_row_height: Dp::new(34.0),
popup_padding: Dp::new(4.0),
},
collapse_behavior: PlatformBreadcrumbCollapseBehavior::CollapseLeadingAncestors,
},
#[cfg(feature = "toggle-button")]
toggle_button: PlatformToggleButtonProfile {
metrics: ZsToggleButtonMetrics {
minimum_height: Dp::new(34.0),
radius: Dp::new(5.0),
horizontal_padding: Dp::new(14.0),
selected_indicator_width: Dp::new(18.0),
selected_indicator_height: Dp::new(3.0),
checked_content_offset_y: Dp::new(1.0),
},
},
#[cfg(feature = "number-box")]
number_box: PlatformNumberBoxProfile {
metrics: ZsNumberBoxMetrics {
button_width: Dp::new(32.0),
button_gap: Dp::new(0.0),
text_inset: Dp::new(8.0),
radius: Dp::new(5.0),
horizontal_buttons: true,
},
button_icon_size: Dp::new(14.0),
stepper_presentation: PlatformNumberBoxStepperPresentation::TextSigns,
},
#[cfg(feature = "password-box")]
password_box: PlatformPasswordBoxProfile {
metrics: ZsPasswordBoxMetrics {
minimum_height: Dp::new(34.0),
radius: Dp::new(5.0),
text_inset: Dp::new(8.0),
reveal_width: Dp::new(34.0),
reveal_icon_size: Dp::new(16.0),
},
default_reveal_mode: ZsPasswordRevealMode::Hidden,
},
#[cfg(feature = "tooltip")]
tooltip: PlatformTooltipProfile {
metrics: ZsTooltipMetrics {
maximum_width: Dp::new(320.0),
horizontal_padding: Dp::new(8.0),
vertical_padding: Dp::new(6.0),
gap: Dp::new(8.0),
radius: Dp::new(6.0),
line_height: Dp::new(17.0),
average_character_width: Dp::new(6.7),
},
},
#[cfg(feature = "progress-ring")]
progress_ring: PlatformProgressRingProfile {
small: PlatformProgressRingSizeProfile {
diameter: Dp::new(16.0),
stroke_width: Dp::new(2.0),
},
medium: PlatformProgressRingSizeProfile {
diameter: Dp::new(24.0),
stroke_width: Dp::new(2.0),
},
large: PlatformProgressRingSizeProfile {
diameter: Dp::new(32.0),
stroke_width: Dp::new(3.0),
},
indeterminate_sweep_degrees: 80,
revolution_ms: 800,
indicator_role: ColorRole::PrimaryText,
track_role: ColorRole::Control,
},
#[cfg(feature = "auto-suggest")]
auto_suggest: PlatformAutoSuggestProfile {
metrics: ZsAutoSuggestMetrics {
control_height: Dp::new(34.0),
row_height: Dp::new(34.0),
text_padding: Dp::new(10.0),
icon_column_width: Dp::new(28.0),
icon_size: Dp::new(16.0),
popup_gap: Dp::new(6.0),
control_radius: Dp::new(8.0),
overlay_radius: Dp::new(12.0),
leading_search_icon: true,
},
},
#[cfg(feature = "grid-view")]
grid_view: PlatformGridViewProfile {
metrics: ZsGridViewMetrics {
minimum_item_width: Dp::new(136.0),
item_height: Dp::new(116.0),
item_gap: Dp::new(8.0),
item_padding: Dp::new(10.0),
media_height: Dp::new(60.0),
icon_size: Dp::new(32.0),
item_radius: Dp::new(6.0),
media_radius: Dp::new(5.0),
text_gap: Dp::new(2.0),
},
selection: PlatformCollectionSelectionProfile {
fill_role: ColorRole::Accent,
fill_alpha: Some(44),
foreground: ColorRole::PrimaryText,
},
},
#[cfg(feature = "tree")]
tree_view: PlatformTreeViewProfile {
metrics: ZsTreeViewMetrics {
row_height: Dp::new(34.0),
depth_indent: Dp::new(24.0),
disclosure_column: Dp::new(24.0),
disclosure_size: Dp::new(12.0),
icon_size: Dp::new(16.0),
leading_padding: Dp::new(6.0),
content_gap: Dp::new(6.0),
row_radius: Dp::new(6.0),
},
selection: PlatformCollectionSelectionProfile {
fill_role: ColorRole::Accent,
fill_alpha: Some(48),
foreground: ColorRole::PrimaryText,
},
},
#[cfg(feature = "table")]
table: PlatformTableProfile {
metrics: ZsTableMetrics {
header_height: Dp::new(36.0),
row_height: Dp::new(34.0),
horizontal_padding: Dp::new(12.0),
sort_icon_size: Dp::new(12.0),
radius: Dp::new(6.0),
separator_width: Dp::new(1.0),
},
selection: PlatformCollectionSelectionProfile {
fill_role: ColorRole::Accent,
fill_alpha: Some(48),
foreground: ColorRole::PrimaryText,
},
},
#[cfg(feature = "time-picker")]
time_picker: PlatformTimePickerProfile {
metrics: ZsTimePickerMetrics {
popup_width: Dp::new(240.0),
row_height: Dp::new(36.0),
visible_rows: 3,
text_padding: Dp::new(12.0),
icon_column_width: Dp::new(34.0),
popup_gap: Dp::new(6.0),
control_radius: Dp::new(6.0),
overlay_radius: Dp::new(12.0),
},
default_clock: ZsClockFormat::TwentyFourHour,
header_fill: ColorRole::Control,
selection: PlatformCollectionSelectionProfile {
fill_role: ColorRole::Control,
fill_alpha: None,
foreground: ColorRole::PrimaryText,
},
},
#[cfg(feature = "color-picker")]
color_picker: PlatformColorPickerProfile {
metrics: ZsColorPickerMetrics {
popup_width: Dp::new(288.0),
popup_padding: Dp::new(16.0),
preview_size: Dp::new(44.0),
preview_gap: Dp::new(12.0),
spectrum_height: Dp::new(96.0),
spectrum_gap: Dp::new(8.0),
hue_track_height: Dp::new(10.0),
row_height: Dp::new(36.0),
row_gap: Dp::new(4.0),
label_width: Dp::new(24.0),
value_width: Dp::new(40.0),
track_height: Dp::new(8.0),
thumb_width: Dp::new(12.0),
popup_gap: Dp::new(6.0),
control_radius: Dp::new(6.0),
overlay_radius: Dp::new(12.0),
},
swatch_size: Dp::new(20.0),
header_fill: ColorRole::Control,
active_channel_alpha: 20,
},
#[cfg(feature = "command-palette")]
command_palette: PlatformCommandPaletteProfile {
metrics: ZsCommandPaletteMetrics {
preferred_width: Dp::new(560.0),
viewport_margin: Dp::new(24.0),
top_offset: Dp::new(72.0),
search_height: Dp::new(46.0),
row_height: Dp::new(44.0),
horizontal_padding: Dp::new(12.0),
icon_size: Dp::new(18.0),
icon_column_width: Dp::new(34.0),
shortcut_width: Dp::new(96.0),
surface_radius: Dp::new(12.0),
search_radius: Dp::new(9.0),
row_radius: Dp::new(7.0),
},
scrim_alpha: 72,
},
#[cfg(feature = "document-shell")]
document_shell: PlatformDocumentShellProfile {
tab_strip_height: Dp::new(42.0),
command_bar_height: Dp::new(34.0),
status_bar_height: Dp::new(28.0),
surface_margin: Dp::new(16.0),
editor_inset: Dp::new(8.0),
editor_vertical_gap: Dp::new(6.0),
compact_threshold: Dp::new(760.0),
regular_tab_width: Dp::new(220.0),
compact_tab_width: Dp::new(180.0),
minimum_tab_width: Dp::new(72.0),
reserved_tab_action_width: Dp::new(34.0),
tab_top_inset: Dp::new(4.0),
tab_height: Dp::new(34.0),
tab_action_size: Dp::new(30.0),
tab_action_inset: Dp::new(2.0),
tab_action_gap: Dp::new(6.0),
tab_radius: Dp::new(8.0),
tab_icon_leading: Dp::new(12.0),
tab_icon_size: Dp::new(16.0),
tab_label_leading: Dp::new(36.0),
clean_title_reserve: Dp::new(42.0),
dirty_title_reserve: Dp::new(50.0),
dirty_indicator_size: Dp::new(6.0),
dirty_indicator_gap: Dp::new(10.0),
command_height: Dp::new(34.0),
command_gap: Dp::new(6.0),
command_group_gap: Dp::new(12.0),
command_radius: Dp::new(6.0),
command_icon_size: Dp::new(16.0),
command_icon_leading: Dp::new(10.0),
command_label_gap: Dp::new(8.0),
command_label_trailing: Dp::new(12.0),
separator_vertical_inset: Dp::new(7.0),
editor_radius: Dp::new(12.0),
status_horizontal_inset: Dp::new(16.0),
},
#[cfg(feature = "calculator")]
calculator_shell: PlatformCalculatorShellProfile {
header_height: Dp::new(48.0),
display_block_height: Dp::new(112.0),
memory_row_height: Dp::new(34.0),
surface_margin: Dp::new(12.0),
button_gap: Dp::new(6.0),
expression_top_gap: Dp::new(8.0),
expression_height: Dp::new(22.0),
display_bottom_gap: Dp::new(8.0),
memory_indicator_width: Dp::new(18.0),
header_action_size: Dp::new(34.0),
header_icon_leading: Dp::new(12.0),
header_icon_size: Dp::new(18.0),
header_title_leading: Dp::new(40.0),
header_title_trailing_reserve: Dp::new(82.0),
history_clear_width: Dp::new(86.0),
history_clear_height: Dp::new(34.0),
history_clear_top_inset: Dp::new(8.0),
history_clear_trailing_inset: Dp::new(8.0),
history_radius: Dp::new(12.0),
history_horizontal_inset: Dp::new(16.0),
history_title_top_inset: Dp::new(8.0),
history_title_height: Dp::new(30.0),
history_title_trailing_reserve: Dp::new(112.0),
history_empty_top_inset: Dp::new(62.0),
history_empty_height: Dp::new(24.0),
history_entries_top_inset: Dp::new(50.0),
history_expression_height: Dp::new(20.0),
history_result_height: Dp::new(26.0),
history_entry_gap: Dp::new(12.0),
button_radius: Dp::new(9.0),
button_icon_size: Dp::new(18.0),
number_fill: ColorRole::SurfaceRaised,
function_fill: ColorRole::Control,
operator_fill: ColorRole::Control,
draw_neutral_button_border: true,
title_weight: TextWeight::Bold,
display_weight: TextWeight::Bold,
accent_weight: TextWeight::Bold,
},
shell: PlatformShellProfile {
style: ZsPlatformStyle::Gtk,
navigation: PlatformShellNavigationComposition::GtkSidebar,
sections: PlatformShellSectionComposition::GtkBoxedLists,
preferred_navigation_width: Dp::new(280.0),
top_height: Dp::new(64.0),
navigation_start: Dp::new(52.0),
content_gap: Dp::new(32.0),
content_top_gap: Dp::new(16.0),
viewport_mask_height: Dp::new(8.0),
scrollbar_width: Dp::new(6.0),
active_scrollbar_width: Dp::new(8.0),
scrollbar_margin: Dp::new(6.0),
section_header_height: Dp::new(30.0),
section_row_height: Dp::new(40.0),
section_row_gap: Dp::new(1.0),
section_gap: Dp::new(18.0),
section_horizontal_padding: Dp::new(12.0),
section_height_extra: Dp::new(24.0),
section_body_bottom_inset: Dp::new(12.0),
navigation_item_height: Dp::new(36.0),
navigation_item_stride: Dp::new(40.0),
navigation_item_inset: Dp::new(12.0),
navigation_item_radius: Dp::new(6.0),
section_radius: Dp::new(12.0),
title_x: Dp::new(32.0),
title_y: Dp::new(18.0),
title_width: Dp::new(360.0),
title_height: Dp::new(28.0),
menu_icon_x: Dp::new(0.0),
menu_icon_y: Dp::new(0.0),
menu_icon_size: Dp::new(0.0),
show_menu_icon: false,
app_title_x: Dp::new(16.0),
app_title_y: Dp::new(16.0),
app_title_width: Dp::new(248.0),
app_title_height: Dp::new(24.0),
action_margin: Dp::new(18.0),
action_height: Dp::new(34.0),
primary_action_width: Dp::new(84.0),
secondary_action_width: Dp::new(76.0),
action_gap: Dp::new(8.0),
draw_row_separators: true,
},
}
}