mod.theme = mod.themes.dark // An engineering blueprint: white ink on deep cyanotype blue paper. // Every control is a technical line drawing -- outlines of two device // pixels with small corner radii, hairline dimension and centre lines -- // and nothing is filled except where a state needs it: the chosen thing // takes a pale wash or a light hatch, a lamp its light. No glow, no relief: // a line is ink on paper, crisp at the device pixel. // Every state of a family is spelled out, because the base derived its // states once, from its own colours. // // The ladder, darkest first: well #0f3d6c, face #11416f, ground (paper) // #154577, grid line #1d4f80, hover face #1a4e84, chosen wash #2a679f, // disabled line #6f93bd, dimension ink #91c5f7, sky ink #9cd8fa, line // ink #e3f1ff, text #eef6ff, red pencil #f0645f. use mod.res.* use mod.text.* mod.theme.color_bg_app = #154577 mod.theme.color_fg_app = #134372 mod.theme.color_bg_container = #134372 mod.theme.color_surface_container_lowest = #0f3d6c mod.theme.color_bg_even = #154577 mod.theme.color_bg_odd = #17497c // Faces: buttons, handles, tabs. A shade of the paper under the ink line, // flat; held, a little darker; the chosen face is the pale wash. mod.theme.color_outset = #11416f mod.theme.color_outset_1 = #11416f mod.theme.color_outset_2 = #11416f mod.theme.color_outset_hover = #1a4e84 mod.theme.color_outset_1_hover = #1a4e84 mod.theme.color_outset_2_hover = #1a4e84 mod.theme.color_outset_down = #0d3a68 mod.theme.color_outset_1_down = #0d3a68 mod.theme.color_outset_2_down = #0d3a68 mod.theme.color_outset_focus = #11416f mod.theme.color_outset_1_focus = #11416f mod.theme.color_outset_2_focus = #11416f mod.theme.color_outset_active = #2a679f mod.theme.color_outset_1_active = #2a679f mod.theme.color_outset_2_active = #2a679f mod.theme.color_outset_drag = #1a4e84 mod.theme.color_outset_1_drag = #1a4e84 mod.theme.color_outset_2_drag = #1a4e84 mod.theme.color_outset_disabled = #134372 mod.theme.color_outset_1_disabled = #134372 mod.theme.color_outset_2_disabled = #134372 // Wells: fields, tracks, boxes. The paper a step deeper, no inner shadow. mod.theme.color_inset = #0f3d6c mod.theme.color_inset_1 = #0f3d6c mod.theme.color_inset_2 = #0f3d6c mod.theme.color_inset_hover = #13426f mod.theme.color_inset_1_hover = #13426f mod.theme.color_inset_2_hover = #13426f mod.theme.color_inset_focus = #13426f mod.theme.color_inset_1_focus = #13426f mod.theme.color_inset_2_focus = #13426f mod.theme.color_inset_active = #2a679f mod.theme.color_inset_1_active = #2a679f mod.theme.color_inset_2_active = #2a679f mod.theme.color_inset_down = #0d3a68 mod.theme.color_inset_1_down = #0d3a68 mod.theme.color_inset_2_down = #0d3a68 mod.theme.color_inset_drag = #13426f mod.theme.color_inset_1_drag = #13426f mod.theme.color_inset_2_drag = #13426f mod.theme.color_inset_empty = #0f3d6c mod.theme.color_inset_1_empty = #0f3d6c mod.theme.color_inset_2_empty = #0f3d6c mod.theme.color_inset_disabled = #134372 mod.theme.color_inset_1_disabled = #134372 mod.theme.color_inset_2_disabled = #134372 // The line every stock face still draws: the white ink, brighter under // the pointer, the sky ink on focus, the disabled line when off. mod.theme.color_bevel = #e3f1ff mod.theme.color_bevel_hover = #ffffff mod.theme.color_bevel_focus = #9cd8fa mod.theme.color_bevel_active = #9cd8fa mod.theme.color_bevel_empty = #c9def4 mod.theme.color_bevel_down = #ffffff mod.theme.color_bevel_drag = #9cd8fa mod.theme.color_bevel_disabled = #6f93bd mod.theme.color_bevel_inset_1 = #e3f1ff mod.theme.color_bevel_inset_2 = #e3f1ff mod.theme.color_bevel_outset_1 = #e3f1ff mod.theme.color_bevel_outset_2 = #e3f1ff mod.theme.color_bevel_inset_1_hover = #ffffff mod.theme.color_bevel_inset_2_hover = #ffffff mod.theme.color_bevel_outset_1_hover = #ffffff mod.theme.color_bevel_outset_2_hover = #ffffff mod.theme.color_bevel_inset_1_focus = #9cd8fa mod.theme.color_bevel_inset_2_focus = #9cd8fa mod.theme.color_bevel_outset_1_focus = #9cd8fa mod.theme.color_bevel_outset_2_focus = #9cd8fa mod.theme.color_bevel_inset_1_disabled = #6f93bd mod.theme.color_bevel_inset_2_disabled = #6f93bd mod.theme.color_bevel_outset_1_disabled = #6f93bd mod.theme.color_bevel_outset_2_disabled = #6f93bd // Two device pixels on a stock shader, which strokes twice what it is // given. mod.theme.beveling = 0.67 // Inks. White with a breath of blue for text, pure white under the // pointer; the pale sky for what is lit or chosen; a lighter blue for // placeholders, units and captions (above 5:1 on the paper). mod.theme.color_text = #eef6ff mod.theme.color_text_hover = #ffffff mod.theme.color_text_focus = #eef6ff mod.theme.color_text_active = #ffffff mod.theme.color_text_down = #ffffff mod.theme.color_text_disabled = #86a6cb mod.theme.color_text_placeholder = #b3d2f2 mod.theme.color_text_placeholder_hover = #c9e0f8 mod.theme.color_text_val = #b8e2fc mod.theme.color_text_hl = #ffffff mod.theme.color_text_meta = #b3d2f2 mod.theme.color_text_on_accent = #0d3a68 mod.theme.color_label = #eef6ff mod.theme.color_label_hover = #ffffff mod.theme.color_label_focus = #eef6ff mod.theme.color_label_active = #ffffff mod.theme.color_label_down = #ffffff mod.theme.color_label_disabled = #86a6cb mod.theme.color_label_inner = #eef6ff mod.theme.color_label_inner_hover = #ffffff mod.theme.color_label_inner_focus = #eef6ff mod.theme.color_label_inner_active = #ffffff mod.theme.color_label_inner_down = #ffffff mod.theme.color_label_inner_inactive = #b3d2f2 mod.theme.color_label_inner_disabled = #86a6cb mod.theme.color_label_outer = #eef6ff mod.theme.color_label_outer_off = #b3d2f2 mod.theme.color_label_outer_hover = #ffffff mod.theme.color_label_outer_focus = #eef6ff mod.theme.color_label_outer_active = #ffffff mod.theme.color_label_outer_down = #ffffff mod.theme.color_label_outer_drag = #ffffff mod.theme.color_label_outer_disabled = #86a6cb mod.theme.color_icon = #e3f1ff mod.theme.color_icon_hover = #ffffff mod.theme.color_icon_active = #9cd8fa mod.theme.color_icon_disabled = #86a6cb // Marks, values, handles: the sky ink, white when touched. mod.theme.color_mark = #9cd8fa mod.theme.color_mark_active = #9cd8fa mod.theme.color_mark_active_hover = #c4e9ff mod.theme.color_mark_hover = #9cd8fa mod.theme.color_mark_focus = #9cd8fa mod.theme.color_mark_down = #c4e9ff mod.theme.color_mark_disabled = #6f93bd mod.theme.color_val = #9cd8fa mod.theme.color_val_hover = #9cd8fa mod.theme.color_val_focus = #9cd8fa mod.theme.color_val_drag = #c4e9ff mod.theme.color_val_disabled = #6f93bd mod.theme.color_handle = #e3f1ff mod.theme.color_handle_hover = #ffffff mod.theme.color_handle_focus = #e3f1ff mod.theme.color_handle_drag = #ffffff mod.theme.color_handle_disabled = #6f93bd // Selection is the pale wash behind the text; the caret is the white ink. mod.theme.color_selection = #2f6aa3 mod.theme.color_selection_hover = #3471ab mod.theme.color_selection_down = #3878b3 mod.theme.color_selection_focus = #3878b3 mod.theme.color_bg_highlight = #24609a mod.theme.color_bg_highlight_inline = #24609a mod.theme.color_highlight = #24609a mod.theme.color_cursor = #ffffff mod.theme.color_cursor_focus = #ffffff mod.theme.color_cursor_empty = #ffffff mod.theme.color_cursor_border = #ffffff mod.theme.color_text_cursor = #ffffff // The accent seed: the primary, secondary and tertiary families are grown // from `color_ctrl_selected`. The sky ink; the red pencil only means // danger, the amber pencil only a warning. mod.theme.color_ctrl_selected = #9cd8fa mod.theme.color_focus = #9cd8fa mod.theme.color_ctrl_active = #9cd8fa mod.theme.color_success = #8ef0b8 mod.theme.color_warning = #ffd166 mod.theme.color_error = #ff6f69 mod.theme.color_info = #9cd8fa mod.theme.color_terminal_bg = #0f3d6c mod.theme.color_terminal_text = #eef6ff // A display window is the paper a shade deeper, its figures the white ink. mod.theme.color_screen = #0f3b69 mod.theme.color_screen_ink = #e6f4ff // The surface ladder in the paper's blue, so every widget built on the // roles stays on the drawing: grounds, containers, their ink and outlines. mod.theme.color_surface = #154577 mod.theme.color_surface_dim = #0f3d6c mod.theme.color_surface_bright = #2a679f mod.theme.color_surface_container_low = #134372 mod.theme.color_surface_container = #134372 mod.theme.color_surface_container_high = #174a7d mod.theme.color_surface_container_highest = #1a4e84 mod.theme.color_on_surface = #eef6ff mod.theme.color_on_surface_variant = #eef6ff mod.theme.color_outline = #e3f1ff mod.theme.color_outline_variant = #6f93bd mod.theme.color_inverse_surface = #eef6ff mod.theme.color_inverse_on_surface = #154577 // A drafting row: 26 points, 6 point gaps, corners of two points. mod.theme.space_factor = 6.0 mod.theme.space_1 = 3.0 mod.theme.space_2 = 6.0 mod.theme.space_3 = 9.0 mod.theme.mspace_1 = mod.turtle.Inset{top: 3.0 right: 3.0 bottom: 3.0 left: 3.0} mod.theme.mspace_h_1 = mod.turtle.Inset{top: 0.0 right: 3.0 bottom: 0.0 left: 3.0} mod.theme.mspace_v_1 = mod.turtle.Inset{top: 3.0 right: 0.0 bottom: 3.0 left: 0.0} mod.theme.mspace_2 = mod.turtle.Inset{top: 6.0 right: 6.0 bottom: 6.0 left: 6.0} mod.theme.mspace_h_2 = mod.turtle.Inset{top: 0.0 right: 6.0 bottom: 0.0 left: 6.0} mod.theme.mspace_v_2 = mod.turtle.Inset{top: 6.0 right: 0.0 bottom: 6.0 left: 0.0} mod.theme.mspace_3 = mod.turtle.Inset{top: 10.0 right: 10.0 bottom: 10.0 left: 10.0} mod.theme.mspace_h_3 = mod.turtle.Inset{top: 0.0 right: 10.0 bottom: 0.0 left: 10.0} mod.theme.mspace_v_3 = mod.turtle.Inset{top: 10.0 right: 0.0 bottom: 10.0 left: 0.0} // The rungs the base froze at its own spacing, restated for this row. mod.theme.tab_height = 26.0 mod.theme.tab_flat_height = 24.0 mod.theme.size_control_s = 22.0 mod.theme.size_control_m = 26.0 mod.theme.size_control_l = 32.0 mod.theme.data_item_height = 22.0 mod.theme.size_border = 0.67 mod.theme.size_divider = 0.67 mod.theme.size_focus_ring = 0.67 mod.theme.corner_radius = 2.0 mod.theme.container_corner_radius = 2.0 mod.theme.textselection_corner_radius = 0.0 mod.theme.radius_xs = 1.0 mod.theme.radius_s = 2.0 mod.theme.radius_m = 2.0 mod.theme.radius_l = 3.0 mod.theme.radius_xl = 4.0 // No cast shadows on a drawing: depth is drawn, as a hatched side. mod.theme.elevation_1_radius = 0.0 mod.theme.elevation_1_offset_y = 0.0 mod.theme.elevation_2_radius = 0.0 mod.theme.elevation_2_offset_y = 0.0 mod.theme.elevation_3_radius = 0.0 mod.theme.elevation_3_offset_y = 0.0 mod.theme.color_elevation_1 = #00000000 mod.theme.color_elevation_2 = #00000000 mod.theme.color_elevation_3 = #00000000 // Drafting lettering: Roboto Flex narrowed on its width axis to a // condensed technical hand, regular for labels and text, semibold for the // headings. A font size draws 1.333 layout points per unit, so 9.5 sets a // cap of about 9 points, a third of the 26 point row. mod.theme.font_size_base = 9.5 mod.theme.font_size_p = 9.5 mod.theme.font_size_code = 8.5 mod.theme.font_code = mod.theme.font_code{font_size: 8.5} mod.theme.font_regular = mod.theme.font_regular{font_size: 9.5 font_family: mod.theme.font_regular.font_family{ibm_plex_text := FontMember{res: crate_resource("makepad_widgets:resources/RobotoFlex.ttf") weight: 400.0 axes: "wdth 78" asc: 0.0 desc: 0.0}}} mod.theme.font_label = mod.theme.font_label{font_size: 9.5 font_family: mod.theme.font_label.font_family{ibm_plex_text := FontMember{res: crate_resource("makepad_widgets:resources/RobotoFlex.ttf") weight: 400.0 axes: "wdth 78" asc: 0.0 desc: 0.0}}} mod.theme.font_bold = mod.theme.font_bold{font_size: 10.5 font_family: mod.theme.font_bold.font_family{ibm_plex_semibold := FontMember{res: crate_resource("makepad_widgets:resources/RobotoFlex.ttf") weight: 640.0 axes: "wdth 78" asc: 0.0 desc: 0.0}}} mod.theme.font_italic = mod.theme.font_italic{font_size: 9.5} mod.theme.font_bold_italic = mod.theme.font_bold_italic{font_size: 9.5} // The body, label and title rungs the base froze from its own sizes. mod.theme.type_title_l_size = 13.0 mod.theme.type_title_m_size = 11.5 mod.theme.type_title_s_size = 10.0 // The heading ladder: a card title is a panel title, bold at the // heading size. mod.theme.font_size_1 = 18.0 mod.theme.font_size_2 = 15.0 mod.theme.font_size_3 = 12.0 mod.theme.font_size_4 = 10.0 mod.theme.font_size_5 = 9.5 mod.theme.font_size_6 = 8.5 mod.theme.font_title_l = mod.theme.font_bold{font_size: 13.0 line_spacing: 1.2} mod.theme.font_title_m = mod.theme.font_bold{font_size: 11.5 line_spacing: 1.2} mod.theme.font_title_s = mod.theme.font_bold{font_size: 10.0 line_spacing: 1.2} mod.theme.type_body_l_size = 10.0 mod.theme.type_body_m_size = 9.5 mod.theme.type_body_s_size = 8.5 mod.theme.type_label_l_size = 9.5 mod.theme.type_label_m_size = 8.5 mod.theme.type_label_s_size = 7.5 mod.theme.font_body_l = mod.theme.font_regular{font_size: 10.0 line_spacing: 1.35} mod.theme.font_body_m = mod.theme.font_regular{font_size: 9.5 line_spacing: 1.35} mod.theme.font_body_s = mod.theme.font_regular{font_size: 8.5 line_spacing: 1.35} mod.theme.font_label_l = mod.theme.font_bold{font_size: 9.5 line_spacing: 1.2} mod.theme.font_label_m = mod.theme.font_bold{font_size: 8.5 line_spacing: 1.2} mod.theme.font_label_s = mod.theme.font_bold{font_size: 7.5 line_spacing: 1.2} true